{"version":3,"sources":["../node_modules/react/index.js","../node_modules/prop-types/index.js","../node_modules/@emotion/sheet/dist/sheet.browser.esm.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/cache/dist/cache.browser.esm.js","../node_modules/@emotion/utils/dist/utils.browser.esm.js","../node_modules/@emotion/core/dist/emotion-element-57a3a7a3.browser.esm.js","../node_modules/@emotion/core/dist/core.browser.esm.js","../node_modules/react/jsx-runtime.js","../node_modules/@babel/runtime-corejs3/helpers/esm/objectSpread2.js","../../../../../src/theming/docusign-themes/olive/colors.ts","../node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js","../../../../../src/theming/docusign-themes/ink/colors.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/objectSpread2.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js","../node_modules/framer-motion/node_modules/tslib/tslib.es6.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","../node_modules/@babel/runtime-corejs3/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime-corejs3/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime-corejs3/regenerator/index.js","../../../../src/telemetry/telemetry.ts","../node_modules/@babel/runtime-corejs3/helpers/esm/createClass.js","../node_modules/@babel/runtime-corejs3/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime-corejs3/helpers/esm/objectWithoutPropertiesLoose.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/createClass.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/extends.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","../node_modules/@babel/runtime-corejs3/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArrayLimit.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/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/objectWithoutProperties.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.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/createSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.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/asyncToGenerator.js","../node_modules/core-js-pure/internals/export.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/export.js","../node_modules/react-bootstrap/node_modules/classnames/index.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/global.js","../node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","../node_modules/lodash/isEmpty.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/createClass.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/regenerator/index.js","../node_modules/@babel/runtime-corejs3/core-js-stable/set.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js","../node_modules/framesync/dist/es/on-next-frame.js","../node_modules/framesync/dist/es/index.js","../node_modules/framesync/dist/es/create-render-step.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/fails.js","../node_modules/@babel/runtime-corejs3/helpers/esm/assertThisInitialized.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/hex-to-rgba/build/index.js","../node_modules/core-js-pure/internals/an-object.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/function-uncurry-this.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/an-object.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","../node_modules/lodash/isFunction.js","../node_modules/blockly/core-browser.js","../node_modules/core-js-pure/internals/is-pure.js","../node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js","../node_modules/core-js-pure/internals/fails.js","../node_modules/@babel/runtime-corejs3/core-js-stable/json/stringify.js","../node_modules/core-js-pure/internals/path.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/function-call.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/path.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/well-known-symbol.js","../node_modules/@babel/runtime-corejs3/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js","../node_modules/core-js-pure/internals/well-known-symbol.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/is-callable.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/slicedToArray.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithHoles.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArrayLimit.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableRest.js","../node_modules/@popperjs/core/lib/utils/math.js","../../../../../src/support/WebAPI/DOMTokenListMock.js","../../../../../src/support/WebAPI/ElementMock.js","../../../../../src/support/WebAPI/documentMock.js","../../../../../src/support/WebAPI/MutationObserverMock.js","../../../../../src/support/WebAPI/index.js","../../../../../src/ink/foundations/colors.ts","../../../../../src/ink/foundations/typography.ts","../../../../src/ink/font.ts","../../../../src/ink/borders.ts","../../../../../src/Widget/Footer/styles.ts","../node_modules/core-js-pure/internals/define-well-known-symbol.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/a-callable.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/define-well-known-symbol.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/set.js","../node_modules/framer-motion/dist/es/utils/noop.js","../node_modules/framer-motion/dist/es/utils/geometry/index.js","../node_modules/core-js-pure/internals/iterate.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/is-object.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/iterate.js","../node_modules/@babel/runtime-corejs3/helpers/esm/inherits.js","../node_modules/@babel/runtime-corejs3/core-js-stable/promise.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime-corejs3/helpers/esm/createSuper.js","../node_modules/core-js-pure/internals/global.js","../node_modules/core-js-pure/internals/a-function.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-is-prototype-of.js","../node_modules/micromark/dist/character/markdown-line-ending.js","../node_modules/core-js-pure/internals/is-object.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/descriptors.js","../node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/has-own-property.js","../node_modules/micromark/dist/tokenize/factory-space.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/core-js-pure/internals/entry-virtual.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/get-built-in.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/function-bind-context.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/react-bootstrap/esm/SelectableContext.js","../node_modules/core-js-pure/internals/descriptors.js","../node_modules/core-js-pure/internals/function-bind-context.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/entry-virtual.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/assertThisInitialized.js","../node_modules/webpack/buildin/global.js","../node_modules/core-js-pure/internals/get-built-in.js","../node_modules/mdast-util-to-hast/lib/all.js","../node_modules/react-dom/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-define-property.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","../node_modules/core-js-pure/internals/has.js","../node_modules/unist-builder/index.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/find.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","../node_modules/@babel/runtime-corejs3/core-js/symbol.js","../node_modules/framer-motion/dist/es/render/dom/projection/utils.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/batcher.js","../node_modules/framer-motion/dist/es/context/SharedLayoutContext.js","../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../node_modules/core-js-pure/internals/object-define-property.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/framer-motion/dist/es/context/PresenceContext.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../../src/i18nLayer/currencyFormat.ts","../../../../src/i18nLayer/dateTimeFormat.data.ts","../../../../src/i18nLayer/dateTimeFormat.ts","../../../../src/i18nLayer/metaData.ts","../../../../../src/Widget/Footer/localeDisplay.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/symbol.js","../../../../src/RestClient/types.ts","../../../../src/Common/colors.ts","../node_modules/core-js-pure/internals/to-object.js","../node_modules/core-js-pure/internals/get-map-iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/to-indexed-object.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/to-object.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/to-string.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/get-map-iterator.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/sort.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../../../src/theming/docusign-themes/olive/tokens/avatar.ts","../../../../../src/theming/docusign-themes/olive/tokens/avatarBadge.ts","../../../../../src/theming/docusign-themes/olive/tokens/avatarGroup.ts","../../../../../src/theming/docusign-themes/olive/tokens/bar.ts","../../../../../src/theming/docusign-themes/olive/tokens/border.ts","../../../../../src/theming/docusign-themes/olive/tokens/button.ts","../../../../../src/theming/docusign-themes/olive/tokens/elevation.ts","../../../../../src/theming/docusign-themes/olive/tokens/focus.ts","../../../../../src/theming/docusign-themes/olive/tokens/font.ts","../../../../../src/theming/docusign-themes/olive/tokens/form.ts","../../../../../src/theming/docusign-themes/olive/tokens/icon.ts","../../../../../src/theming/docusign-themes/olive/tokens/indexedColor.ts","../../../../../src/theming/docusign-themes/olive/tokens/index.ts","../../../../../src/theming/docusign-themes/olive/tokens/link.ts","../../../../../src/theming/docusign-themes/olive/tokens/menuItem.ts","../../../../../src/theming/docusign-themes/olive/tokens/modal.ts","../../../../../src/theming/docusign-themes/olive/tokens/popover.ts","../../../../../src/theming/docusign-themes/olive/tokens/selectionControl.ts","../../../../../src/theming/docusign-themes/olive/tokens/scrim.ts","../../../../../src/theming/docusign-themes/olive/tokens/scrollShadow.ts","../../../../../src/theming/docusign-themes/olive/tokens/tabs.ts","../../../../../src/theming/docusign-themes/olive/tokens/text.ts","../../../../../src/theming/docusign-themes/olive/tokens/toolbar.ts","../../../../../src/theming/docusign-themes/olive/tokens/tooltip.ts","../../../../../src/theming/docusign-themes/olive/tokens/typography.ts","../node_modules/core-js-pure/internals/to-indexed-object.js","../node_modules/core-js-pure/internals/to-length.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/create-non-enumerable-property.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/is-pure.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/web.dom-collections.iterator.js","../node_modules/micromark/dist/character/markdown-space.js","../node_modules/@emotion/css/dist/css.browser.esm.js","../node_modules/framer-motion/dist/es/utils/use-constant.js","../node_modules/lodash/memoize.js","../../../../src/logging/consoleWarn.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/define-property.js","../../../../../src/theming/docusign-themes/olive/fontFamilies.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/inherits.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/createSuper.js","../node_modules/@babel/runtime-corejs3/helpers/esm/taggedTemplateLiteral.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/toConsumableArray.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithoutHoles.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArray.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableSpread.js","../node_modules/mixpanel-browser/dist/mixpanel.cjs.js","../node_modules/core-js-pure/internals/require-object-coercible.js","../node_modules/lodash/_root.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/create-property-descriptor.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-create.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/length-of-array-like.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/classof.js","../node_modules/micromark/dist/util/chunked-splice.js","../node_modules/micromark/dist/character/markdown-line-ending-or-space.js","../node_modules/micromark/dist/util/regex-check.js","../node_modules/@olive/images/lib/esm/index.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/json/stringify.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/promise.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime-corejs3/core-js/reflect/construct.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/reflect/construct.js","../../../src/polyfills.ts","../../../../src/utils/easing.ts","../../../../src/components/ComponentWithoutMotion.tsx","../../../../../src/utils/test-utils/filterMotionProps.ts","../../../../src/components/Motion.tsx","../../../../src/components/MotionPresence.tsx","../node_modules/@emotion/hash/dist/hash.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/serialize/dist/serialize.browser.esm.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/framer-motion/dist/es/render/dom/utils/batch-layout.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../../../../src/i18nLink/i18nlink.ts","../../../../../src/Widget/Footer/footerConfiguration.ts","../node_modules/react-overlays/node_modules/dom-helpers/esm/matches.js","../node_modules/react-overlays/node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/react-overlays/node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/react-overlays/node_modules/dom-helpers/esm/addEventListener.js","../node_modules/@restart/hooks/esm/useGlobalListener.js","../node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/react-overlays/esm/DropdownContext.js","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/react-overlays/esm/popper.js","../node_modules/react-overlays/esm/usePopper.js","../node_modules/react-overlays/node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/react-overlays/node_modules/dom-helpers/esm/listen.js","../node_modules/react-overlays/esm/ownerDocument.js","../node_modules/react-overlays/node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/react-overlays/esm/safeFindDOMNode.js","../node_modules/react-overlays/esm/useRootClose.js","../node_modules/react-overlays/node_modules/dom-helpers/esm/contains.js","../node_modules/react-overlays/esm/mergeOptionsWithPopperConfig.js","../node_modules/react-overlays/esm/DropdownMenu.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/react-overlays/esm/DropdownToggle.js","../node_modules/react-overlays/esm/Dropdown.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-bootstrap/esm/usePopperMarginModifiers.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/react-bootstrap/esm/NavDropdown.js","../node_modules/core-js-pure/internals/internal-state.js","../node_modules/core-js-pure/internals/create-property-descriptor.js","../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../node_modules/core-js-pure/internals/object-create.js","../node_modules/core-js-pure/internals/set-to-string-tag.js","../node_modules/core-js-pure/modules/web.dom-collections.iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/classof-raw.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/require-object-coercible.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/internal-state.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-user-agent.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/redefine.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/set-to-string-tag.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/types.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/starts-with.js","../../../../../src/theming/docusign-themes/olive/icons.ts","../node_modules/@olive/icons/lib/esm/olive16.js","../node_modules/@olive/icons/lib/esm/olive16supplemental.js","../../../../../src/theming/docusign-themes/olive/index.ts","../../../../../src/theming/docusign-themes/olive/styles/index.ts","../../../../../src/theming/docusign-themes/olive/styles/EmptyState.ts","../../../../../src/theming/docusign-themes/olive/styles/AboveInputContainer.ts","../../../../../src/theming/docusign-themes/olive/styles/GlobalMessage.ts","../../../../../src/theming/docusign-themes/olive/styles/Heading.ts","../../../../../src/theming/docusign-themes/olive/styles/InlineMessage.ts","../../../../../src/theming/docusign-themes/olive/styles/Menu.ts","../../../../../src/theming/docusign-themes/olive/styles/MenuContainer.ts","../../../../../src/theming/docusign-themes/olive/styles/ProgressBar.ts","../../../../../src/theming/docusign-themes/olive/styles/SelectionControlGroup.ts","../../../../../src/theming/docusign-themes/olive/styles/TableRow.ts","../../../../../src/theming/docusign-themes/olive/tokens/breadcrumb.ts","../../../../../src/theming/docusign-themes/ink/tokens/avatar.ts","../../../../../src/theming/docusign-themes/ink/tokens/avatarBadge.ts","../../../../../src/theming/docusign-themes/ink/tokens/avatarGroup.ts","../../../../../src/theming/docusign-themes/ink/tokens/bar.ts","../../../../../src/theming/docusign-themes/ink/tokens/border.ts","../../../../../src/theming/docusign-themes/ink/tokens/breadcrumb.ts","../../../../../src/theming/docusign-themes/ink/tokens/button.ts","../../../../../src/theming/docusign-themes/ink/tokens/elevation.ts","../../../../../src/theming/docusign-themes/ink/tokens/focus.ts","../../../../../src/theming/docusign-themes/ink/tokens/font.ts","../../../../../src/theming/docusign-themes/ink/tokens/form.ts","../../../../../src/theming/docusign-themes/ink/tokens/icon.ts","../../../../../src/theming/docusign-themes/ink/tokens/indexedColor.ts","../../../../../src/theming/docusign-themes/ink/tokens/link.ts","../../../../../src/theming/docusign-themes/ink/tokens/menuItem.ts","../../../../../src/theming/docusign-themes/ink/tokens/modal.ts","../../../../../src/theming/docusign-themes/ink/tokens/popover.ts","../../../../../src/theming/docusign-themes/ink/tokens/selectionControl.ts","../../../../../src/theming/docusign-themes/ink/tokens/scrim.ts","../../../../../src/theming/docusign-themes/ink/tokens/scrollShadow.ts","../../../../../src/theming/docusign-themes/ink/tokens/text.ts","../../../../../src/theming/docusign-themes/ink/tokens/index.ts","../../../../../src/theming/docusign-themes/ink/tokens/tabs.ts","../../../../../src/theming/docusign-themes/ink/tokens/toolbar.ts","../../../../../src/theming/docusign-themes/ink/tokens/tooltip.ts","../../../../../src/theming/docusign-themes/ink/tokens/typography.ts","../node_modules/core-js-pure/modules/es.string.iterator.js","../node_modules/core-js-pure/internals/engine-user-agent.js","../node_modules/core-js-pure/internals/classof.js","../node_modules/core-js-pure/internals/iterators.js","../node_modules/core-js-pure/internals/redefine.js","../node_modules/core-js-pure/internals/array-iteration.js","../node_modules/lodash/_getNative.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/iterators.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/function-apply.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-iteration.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.string.iterator.js","../node_modules/micromark/dist/util/shallow.js","../node_modules/property-information/lib/util/create.js","../node_modules/warning/warning.js","../node_modules/@babel/runtime-corejs3/core-js/object/define-property.js","../node_modules/lodash/invert.js","../node_modules/@babel/runtime-corejs3/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","../node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","../node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime-corejs3/core-js/instance/index-of.js","../node_modules/framer-motion/dist/es/utils/use-unmount-effect.js","../node_modules/framer-motion/dist/es/render/utils/compare-by-depth.js","../../../../../src/theming/utilities/useTheme.ts","../node_modules/@olive/fonts/lib/esm/fontGroups.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/instance/index-of.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/sort.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/setPrototypeOf.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/react-markdown/src/react-markdown.js","../node_modules/react-bootstrap/esm/NavContext.js","../node_modules/react-bootstrap/esm/SafeAnchor.js","../../../../src/logging/template.ts","../../../src/version.js","../node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-symbols.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-symbols.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@babel/runtime-corejs3/helpers/esm/construct.js","../node_modules/@babel/runtime-corejs3/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime-corejs3/helpers/esm/isNativeFunction.js","../node_modules/prism-react-renderer/prism/index.js","../node_modules/prism-react-renderer/themes/duotoneDark/index.js","../node_modules/prism-react-renderer/dist/index.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/react-bootstrap/esm/CardContext.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/react-bootstrap/esm/TabContext.js","../node_modules/react-bootstrap/esm/AbstractNav.js","../node_modules/react-bootstrap/esm/NavItem.js","../node_modules/react-bootstrap/esm/Nav.js","../../../../src/variables/keyboardEventKeys.ts","../../../../src/Utility/useEscapeListener.ts","../../../../src/Utility/keyboardUtils.ts","../../../../../src/components/Shroud/styles.ts","../../../../../src/components/Shroud/Shroud.js","../../../../src/variables/eventNames.ts","../../../../../src/components/Modal/styles.ts","../../../../../src/components/Modal/ModalBase.js","../../../../../src/internal/components/PopoverClose/styles.ts","../../../../../src/internal/components/PopoverClose/PopoverClose.js","../../../../../src/components/Modal/ModalClose.js","../../../../../src/components/TextEllipsis/styles.ts","../../../../../src/components/TextEllipsis/TextEllipsis.tsx","../../../../../src/internal/components/BaseHeading/styles.ts","../../../../../src/internal/components/BaseHeading/BaseHeading.js","../../../../../src/components/Heading/Heading.js","../../../../../src/components/Modal/ModalHeader.js","../../../../../src/components/Modal/ModalBody.js","../../../../../src/internal/components/PopoverFooter/styles.ts","../../../../../src/internal/components/PopoverFooter/PopoverFooter.js","../../../../../src/components/Modal/ModalFooter/styles.ts","../../../../../src/components/Modal/ModalFooter/ModalFooter.js","../../../../../src/components/Modal/ModalPortal.js","../../../../../src/components/Modal/Modal.js","../../../../../src/components/Table/TableBody/TableBody.tsx","../../../../../src/components/Table/TableContext.ts","../../../../../src/components/Table/TableCell/styles.ts","../../../../../src/components/Table/TableCell/TableCell.tsx","../../../../../src/components/Table/TableHeaderCell/styles.ts","../../../../../src/components/Table/TableHeaderCell/TableHeaderCell.tsx","../../../../src/Utility/useInitializer.ts","../../../../src/Ponyfills/index.ts","../../../../../src/Utility/useDelegatedClick/utils.ts","../../../../../src/Utility/useDelegatedClick/DelegatedClick.ts","../../../../../src/components/Table/TableRow/styles.ts","../../../../../src/components/Table/TableRow/TableRow.tsx","../../../../../src/Utility/useDelegatedClick/useDelegatedClick.ts","../../../../../src/components/Table/TableHeader/styles.ts","../../../../../src/components/Table/TableHeader/TableHeader.tsx","../../../../../src/components/Table/styles.ts","../../../../../src/components/Table/Table.js","../node_modules/core-js-pure/internals/hidden-keys.js","../node_modules/core-js-pure/internals/classof-raw.js","../node_modules/core-js-pure/internals/engine-v8-version.js","../node_modules/core-js-pure/internals/get-iterator-method.js","../node_modules/core-js-pure/internals/is-array.js","../node_modules/lodash/_baseGetTag.js","../node_modules/core-js-pure/internals/species-constructor.js","../node_modules/core-js-pure/internals/new-promise-capability.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/function-bind-native.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-v8-version.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/hidden-keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/create-property.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/get-iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/get-iterator-method.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/is-array.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-slice.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/species-constructor.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/new-promise-capability.js","../node_modules/micromark/dist/constant/assign.js","../node_modules/mdast-util-to-hast/lib/wrap.js","../node_modules/invariant/browser.js","../node_modules/@babel/runtime-corejs3/core-js-stable/object/assign.js","../node_modules/@babel/runtime-corejs3/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js","../../../../src/Config/componentsConfig.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/getPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../src/theming/docusign-themes/olive/fonts.ts","../node_modules/@olive/fonts/lib/esm/fonts/HelveticaNeue/index.js","../node_modules/@olive/fonts/lib/esm/fonts/MavenPro/index.js","../node_modules/@ds/icons/lib/esm/oliveSystem.js","../../../../src/Utility/isBrowser.ts","../node_modules/framer-motion/dist/es/motion/utils/valid-prop.js","../../../../src/Translation/Translation.ts","../../../../src/i18nLayer/localePolicy.ts","../node_modules/core-js-pure/internals/to-integer.js","../node_modules/core-js-pure/internals/to-primitive.js","../node_modules/core-js-pure/internals/shared-key.js","../node_modules/core-js-pure/internals/uid.js","../node_modules/core-js-pure/internals/object-get-prototype-of.js","../node_modules/core-js-pure/internals/object-keys.js","../node_modules/core-js-pure/internals/object-set-prototype-of.js","../node_modules/core-js-pure/internals/create-property.js","../node_modules/core-js-pure/internals/array-method-has-species-support.js","../node_modules/core-js-pure/internals/an-instance.js","../node_modules/lodash/isObjectLike.js","../node_modules/shortid/lib/alphabet.js","../node_modules/core-js-pure/internals/perform.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_getMapData.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/to-property-key.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/try-to-string.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/uid.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/shared-key.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/to-integer-or-infinity.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-get-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-set-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-get-own-property-names.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/an-instance.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/is-constructor.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-method-has-species-support.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/perform.js","../node_modules/micromark/dist/constant/from-char-code.js","../node_modules/micromark/dist/tokenize/partial-blank-line.js","../node_modules/micromark/dist/util/prefix-size.js","../node_modules/micromark/dist/character/ascii-alphanumeric.js","../node_modules/mdurl/encode.js","../node_modules/property-information/lib/util/types.js","../node_modules/prop-types-extra/lib/all.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@babel/runtime-corejs3/core-js/object/keys.js","../node_modules/@babel/runtime-corejs3/core-js/object/define-properties.js","../node_modules/@babel/runtime-corejs3/core-js/object/create.js","../node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js","../node_modules/@babel/runtime-corejs3/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime-corejs3/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","../node_modules/@babel/runtime-corejs3/core-js/array/from.js","../node_modules/@babel/runtime-corejs3/core-js-stable/url-search-params.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/keys.js","../../../../src/Utility/Lazy.ts","../../../../../src/theming/docusign-themes/olive/styles/GlobalBaseCss.ts","../node_modules/deepmerge/dist/cjs.js","../node_modules/@babel/runtime-corejs3/core-js-stable/map.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/repeat.js","../node_modules/react-svg-inline/lib/index.js","../../../../../src/theming/docusign-themes/docuSignThemeName.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/keys.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/define-properties.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/array/from.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","../node_modules/@olive/images/lib/esm/OliveImages.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/taggedTemplateLiteral.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/create.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/isNativeReflectConstruct.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js","../../../../../src/Widget/Footer/FooterLanguageSelectorPhoneMenu.tsx","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/find.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../../../../../src/theming/docusign-themes/ink/styles/Avatar.ts","../../../../../src/theming/docusign-themes/ink/styles/Button.ts","../../../../../src/theming/docusign-themes/ink/styles/Checkbox.ts","../../../../../src/theming/docusign-themes/ink/styles/FileDrop.ts","../../../../../src/theming/docusign-themes/ink/styles/Select.ts","../../../../../src/theming/docusign-themes/ink/styles/ToastMessage.ts","../../../../../src/theming/docusign-themes/ink/styles/Tree.ts","../../../../../src/theming/docusign-themes/ink/styles/index.ts","../../../../../src/theming/docusign-themes/ink/styles/AvatarGroup.ts","../../../../../src/theming/docusign-themes/ink/styles/BaseCallout.ts","../../../../../src/theming/docusign-themes/ink/styles/BaseStepperItem.ts","../../../../../src/theming/docusign-themes/ink/styles/Callout.ts","../../../../../src/theming/docusign-themes/ink/styles/DotBadge.ts","../../../../../src/theming/docusign-themes/ink/styles/EmptyState.ts","../../../../../src/theming/docusign-themes/ink/styles/GlobalBaseCss.ts","../../../../../src/theming/docusign-themes/ink/styles/GlobalMessage.ts","../../../../../src/theming/docusign-themes/ink/styles/Header.ts","../../../../../src/theming/docusign-themes/ink/styles/HeaderActionItem.ts","../../../../../src/theming/docusign-themes/ink/styles/HeaderLogo.ts","../../../../../src/theming/docusign-themes/ink/styles/InlineMessage.ts","../../../../../src/theming/docusign-themes/ink/styles/InputRangeSlider.ts","../../../../../src/theming/docusign-themes/ink/styles/InputRequiredAsterisk.ts","../../../../../src/theming/docusign-themes/ink/styles/InputTextArea.ts","../../../../../src/theming/docusign-themes/ink/styles/InputTextBox.ts","../../../../../src/theming/docusign-themes/ink/styles/Link.ts","../../../../../src/theming/docusign-themes/ink/styles/Menu.ts","../../../../../src/theming/docusign-themes/ink/styles/MenuContainer.ts","../../../../../src/theming/docusign-themes/ink/styles/MenuGroup.ts","../../../../../src/theming/docusign-themes/ink/styles/MenuItem.ts","../../../../../src/theming/docusign-themes/ink/styles/Meter.ts","../../../../../src/theming/docusign-themes/ink/styles/Modal.ts","../../../../../src/theming/docusign-themes/ink/styles/Overlay.ts","../../../../../src/theming/docusign-themes/ink/styles/OverlayAction.ts","../../../../../src/theming/docusign-themes/ink/styles/PopoverFooter.ts","../../../../../src/theming/docusign-themes/ink/styles/ProgressBar.ts","../../../../../src/theming/docusign-themes/ink/styles/ProgressCircle.ts","../../../../../src/theming/docusign-themes/ink/styles/ProgressCircleIndeterminate.ts","../../../../../src/theming/docusign-themes/ink/styles/RadioButton.ts","../../../../../src/theming/docusign-themes/ink/styles/RangeSlider.ts","../../../../../src/theming/docusign-themes/ink/styles/SelectMenuBox.ts","../../../../../src/theming/docusign-themes/ink/styles/SelectMenuCustomOption.ts","../../../../../src/theming/docusign-themes/ink/styles/Slider.ts","../../../../../src/theming/docusign-themes/ink/styles/StatusLight.ts","../../../../../src/theming/docusign-themes/ink/styles/Switch.ts","../../../../../src/theming/docusign-themes/ink/styles/Table.ts","../../../../../src/theming/docusign-themes/ink/styles/Tabs.ts","../../../../../src/theming/docusign-themes/ink/styles/Tag.ts","../../../../../src/theming/docusign-themes/ink/styles/TextBox.ts","../../../../../src/theming/docusign-themes/ink/styles/Timeline.ts","../../../../../src/theming/docusign-themes/ink/styles/ToastMessageAction.ts","../../../../../src/theming/docusign-themes/ink/styles/ToolbarDropdownInput.ts","../../../../../src/theming/docusign-themes/ink/styles/Tooltip.ts","../../../../../src/theming/docusign-themes/ink/styles/WorkflowStepperItem.ts","../../../../src/utilities/scrollShadow.ts","../../../../../src/theming/docusign-themes/olive/styles/Tree.ts","../../../../../src/theming/docusign-themes/olive/styles/BaseStepperItem.ts","../../../../../src/theming/docusign-themes/olive/styles/Breadcrumb.ts","../../../../../src/theming/docusign-themes/olive/styles/Callout.ts","../../../../../src/theming/docusign-themes/olive/styles/FileDrop.ts","../../../../../src/theming/docusign-themes/olive/styles/InputTextBox.ts","../../../../../src/theming/docusign-themes/olive/styles/Modal.ts","../../../../../src/theming/docusign-themes/olive/styles/Timeline.ts","../../../../../src/theming/docusign-themes/olive/styles/WorkflowStepperItem.ts","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/react-bootstrap/esm/AbstractNavItem.js","../node_modules/react-bootstrap/esm/NavLink.js","../../src/index.ts","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../../../dist/react-responsive.js","../../../src/themes.ts","../node_modules/flexbox-react/dist/index.js","../node_modules/is-plain-object/index.js","../node_modules/pascal-case/node_modules/tslib/tslib.es6.js","../../../../src/i18nLayer/plurals.ts","../node_modules/object-assign/index.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/core-js-pure/internals/shared-store.js","../node_modules/core-js-pure/internals/document-create-element.js","../node_modules/core-js-pure/internals/shared.js","../node_modules/core-js-pure/internals/define-iterator.js","../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../node_modules/core-js-pure/internals/indexed-object.js","../node_modules/core-js-pure/internals/native-symbol.js","../node_modules/core-js-pure/internals/array-includes.js","../node_modules/core-js-pure/internals/enum-bug-keys.js","../node_modules/core-js-pure/internals/to-string-tag-support.js","../node_modules/core-js-pure/internals/object-get-own-property-symbols.js","../node_modules/core-js-pure/internals/internal-metadata.js","../node_modules/core-js-pure/internals/redefine-all.js","../node_modules/core-js-pure/modules/es.array.iterator.js","../node_modules/core-js-pure/internals/add-to-unscopables.js","../node_modules/core-js-pure/internals/object-get-own-property-names.js","../node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","../node_modules/core-js-pure/internals/array-method-is-strict.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/isArray.js","../node_modules/core-js-pure/internals/not-a-regexp.js","../node_modules/core-js-pure/internals/correct-is-regexp-logic.js","../node_modules/core-js-pure/internals/engine-is-node.js","../node_modules/whatwg-fetch/fetch.js","../node_modules/abortcontroller-polyfill/dist/umd-polyfill.js","../node_modules/classnames/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/indexed-object.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/add-to-unscopables.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/inspect-source.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/shared-store.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/document-create-element.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/is-symbol.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/native-symbol.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/get-method.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/shared.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/define-iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-property-is-enumerable.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-define-properties.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-includes.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/to-absolute-index.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/enum-bug-keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/to-string-tag-support.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/internal-metadata.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/redefine-all.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-get-own-property-symbols.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-method-is-strict.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/a-constructor.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-is-node.js","../node_modules/blockly/blockly_compressed.js","../node_modules/micromark/dist/util/normalize-identifier.js","../node_modules/micromark/dist/util/miniflat.js","../node_modules/micromark/dist/util/chunked-push.js","../node_modules/micromark/dist/util/resolve-all.js","../node_modules/micromark/dist/character/ascii-alpha.js","../node_modules/micromark/dist/tokenize/label-end.js","../node_modules/unist-util-visit/index.js","../node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptor.js","../node_modules/@babel/runtime-corejs3/core-js/instance/for-each.js","../node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptors.js","../node_modules/@babel/runtime-corejs3/core-js/object/get-prototype-of.js","../../../../src/Utility/generateGuid.ts","../node_modules/body-scroll-lock/lib/bodyScrollLock.min.js","../node_modules/@babel/runtime-corejs3/core-js/promise.js","../node_modules/@babel/runtime-corejs3/core-js/map.js","../../../../../src/components/ThemeProvider/context.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptor.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/instance/for-each.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptors.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/freeze.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/get-prototype-of.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/promise.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/map.js","../node_modules/@babel/runtime-corejs3/core-js/object/freeze.js","../node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/hyphenate.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/isTransform.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/css.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/addEventListener.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/listen.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/react-bootstrap/node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/Collapse.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/react-bootstrap/esm/Navbar.js","../../../../src/Kazmon/TelemetryTypes.ts","../../../../src/Kazmon/Event.ts","../../../../src/Kazmon/EventSource.ts","../../../../src/Kazmon/CounterData.ts","../../../../src/Kazmon/Counter.ts","../../../../src/Kazmon/CounterSource.ts","../../../../src/Kazmon/SendBuffer.ts","../../../../src/Kazmon/Sender.ts","../../../../src/Kazmon/TelemetryContext.ts","../../../../src/Kazmon/Initialization.ts","../../../../src/Kazmon/DefaultSources.ts","../../../../src/Kazmon/KazMonEventOptions.ts","../../../../src/Kazmon/PageView.ts","../../../../src/Kazmon/xhrHttpSender.ts","../../../../src/Kazmon/KazMon.ts","../../../../src/Logger/ErrorLogger.ts","../../../../src/PrivateLogging/componentsLogger.ts","../node_modules/core-js-pure/es/array/from.js","../node_modules/core-js-pure/internals/inspect-source.js","../node_modules/core-js-pure/internals/ie8-dom-define.js","../node_modules/core-js-pure/internals/is-forced.js","../node_modules/core-js-pure/internals/create-iterator-constructor.js","../node_modules/core-js-pure/internals/iterators-core.js","../node_modules/core-js-pure/internals/correct-prototype-getter.js","../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../node_modules/core-js-pure/internals/object-define-properties.js","../node_modules/core-js-pure/internals/object-keys-internal.js","../node_modules/core-js-pure/internals/to-absolute-index.js","../node_modules/core-js-pure/internals/html.js","../node_modules/core-js-pure/internals/iterator-close.js","../node_modules/core-js-pure/internals/is-array-iterator-method.js","../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../node_modules/core-js-pure/es/object/assign.js","../node_modules/core-js-pure/internals/whitespaces.js","../node_modules/core-js-pure/modules/es.array.concat.js","../node_modules/core-js-pure/internals/array-species-create.js","../node_modules/core-js-pure/internals/collection.js","../node_modules/core-js-pure/internals/freezing.js","../node_modules/core-js-pure/internals/collection-strong.js","../node_modules/core-js-pure/internals/set-species.js","../node_modules/core-js-pure/es/object/keys.js","../node_modules/core-js-pure/modules/es.symbol.js","../node_modules/core-js-pure/es/instance/filter.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isBuffer.js","../node_modules/webpack/buildin/module.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/isLength.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/isArrayLike.js","../node_modules/core-js-pure/modules/es.symbol.iterator.js","../node_modules/core-js-pure/es/instance/slice.js","../node_modules/core-js-pure/internals/function-bind.js","../node_modules/core-js-pure/es/array/is-array.js","../node_modules/core-js-pure/internals/get-iterator.js","../node_modules/core-js-pure/es/map/index.js","../node_modules/core-js-pure/es/promise/index.js","../node_modules/core-js-pure/modules/es.aggregate-error.js","../node_modules/core-js-pure/internals/native-promise-constructor.js","../node_modules/core-js-pure/internals/task.js","../node_modules/core-js-pure/internals/engine-is-ios.js","../node_modules/core-js-pure/internals/promise-resolve.js","../node_modules/core-js-pure/modules/es.promise.all-settled.js","../node_modules/core-js-pure/modules/es.promise.any.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_Map.js","../node_modules/core-js-pure/internals/map-upsert.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/ie8-dom-define.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/use-symbol-as-uid.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/is-forced.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/function-name.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/create-iterator-constructor.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/iterators-core.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-keys-internal.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/to-length.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/html.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/correct-prototype-getter.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/collection.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-get-own-property-names-external.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-slice-simple.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/freezing.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/is-array-iterator-method.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/iterator-close.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-species-create.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/collection-strong.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/set-species.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.concat.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/filter.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/own-keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/assign.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/array/from.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/slice.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-sort.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/function-bind.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/validate-arguments-length.js","../node_modules/@olive/images/lib/esm/version.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/whitespaces.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/not-a-regexp.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/correct-is-regexp-logic.js","../node_modules/lodash/_hasUnicode.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/map/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/promise/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.aggregate-error.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/native-promise-constructor.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/task.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-is-ios.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/promise-resolve.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.promise.all-settled.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.promise.any.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/map-upsert.js","../node_modules/vfile/index.js","../node_modules/unist-util-stringify-position/index.js","../node_modules/is-buffer/index.js","../node_modules/micromark/dist/constant/has-own-property.js","../node_modules/micromark/dist/util/size-chunks.js","../node_modules/micromark/dist/util/subtokenize.js","../node_modules/micromark/dist/initialize/text.js","../node_modules/micromark/dist/character/ascii-control.js","../node_modules/parse-entities/decode-entity.browser.js","../node_modules/micromark/dist/character/ascii-digit.js","../node_modules/micromark/dist/tokenize/factory-destination.js","../node_modules/micromark/dist/tokenize/factory-label.js","../node_modules/micromark/dist/tokenize/factory-whitespace.js","../node_modules/micromark/dist/tokenize/factory-title.js","../node_modules/micromark/dist/tokenize/thematic-break.js","../node_modules/unist-util-position/index.js","../node_modules/mdast-util-to-hast/lib/one.js","../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","../node_modules/mdast-util-to-hast/lib/handlers/list.js","../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","../node_modules/mdast-util-to-hast/lib/revert.js","../node_modules/property-information/lib/util/merge.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/xlink.js","../node_modules/property-information/normalize.js","../node_modules/property-information/lib/util/defined-info.js","../node_modules/property-information/lib/util/info.js","../node_modules/property-information/lib/xml.js","../node_modules/property-information/lib/xmlns.js","../node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/property-information/lib/aria.js","../../../../src/Utility/useEventListener.ts","../node_modules/@babel/runtime-corejs3/core-js/instance/filter.js","../node_modules/@babel/runtime-corejs3/helpers/typeof.js","../node_modules/@babel/runtime-corejs3/core-js/object/assign.js","../node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableRest.js","../node_modules/shortid/index.js","../node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js","../node_modules/@babel/runtime-corejs3/core-js/instance/bind.js","../../../../src/Translations/useHtmlLang.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/instance/filter.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/object/assign.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/object/assign.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/url-search-params.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/keys.js","../../../../../src/internal/components/ConditionalTag/ConditionalTag.tsx","../../../../src/utilities/keyboardNavigableElements.ts","../node_modules/nanoid/index.browser.js","../node_modules/scrollparent/scrollparent.js","../node_modules/react-fast-compare/index.js","../node_modules/@babel/runtime-corejs3/core-js-stable/instance/ends-with.js","../node_modules/lodash/upperFirst.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/map.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/repeat.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js-stable/instance/starts-with.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/core-js/instance/bind.js","../../../../src/logging/consoleError.ts","../node_modules/stylis/stylis.js","../node_modules/hoist-non-react-statics/index.js","../node_modules/blockly/msg/en.js","../node_modules/pluralize/pluralize.js","../node_modules/jszip/dist/jszip.min.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/FormFileInput.js","../node_modules/react-bootstrap/esm/FormFileLabel.js","../node_modules/react-bootstrap/esm/FormFile.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/Form.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../../src/utilities/capitalize.ts","../../../../src/utilities/variant.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../../src/RestClient/HTTPHandlers/BrowserFetchRestHandler.ts","../../../../../src/RestClient/HTTPHandlers/FetchRestHandler.ts","../../../../src/utilities/breakpoints.ts","../../../../src/support/CustomPropTypes.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/createForOfIteratorHelper.js","../../../../src/logging/requiredPropMessage.js","../../../../src/modules/oliveImages.ts","../../../../../src/components/Image/styles.ts","../../../../../src/components/Image/Image.js","../../../../../src/components/IconOrImage/IconOrImage.js","../../../../../src/components/Button/styles.ts","../../../../../src/components/Button/Button.js","../../../../../src/components/Button/ButtonWithHOC.js","../../../src/analytics.ts","../../../../../src/Widget/Footer/FooterMenuTriggerButton.tsx","../../../../../src/Widget/Footer/FooterLanguageSelectorDesktop.tsx","../../../../../src/Widget/Footer/LanguageSelectorReveal.tsx","../../../../../src/Widget/Footer/FooterLanguageSelectorPhone.tsx","../../../../../src/Widget/Interpolate/Interpolate.tsx","../../../../../src/Widget/Footer/Footer.tsx","../../../../../src/components/Select/SelectOption.js","../../../../../src/components/Select/styles.ts","../../../../../src/components/Select/Select.js","../../../../../src/components/Icon/styles.ts","../../../../../src/components/Icon/Icon.tsx","../../../../../src/components/Icon/IconWithHOC.ts","../../../../../src/components/ProgressCircle/styles.ts","../../../../../src/components/ProgressCircle/ProgressCircle.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/node_modules/scheduler/index.js","../node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/core-js-pure/stable/array/from.js","../node_modules/core-js-pure/internals/string-multibyte.js","../node_modules/core-js-pure/internals/native-weak-map.js","../node_modules/core-js-pure/internals/set-global.js","../node_modules/core-js-pure/internals/object-to-string.js","../node_modules/core-js-pure/internals/a-possible-prototype.js","../node_modules/core-js-pure/modules/es.array.from.js","../node_modules/core-js-pure/internals/array-from.js","../node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","../node_modules/core-js-pure/stable/object/assign.js","../node_modules/core-js-pure/modules/es.object.assign.js","../node_modules/core-js-pure/internals/object-assign.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/@babel/runtime/helpers/inheritsLoose.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/core-js-pure/stable/instance/trim.js","../node_modules/core-js-pure/es/instance/trim.js","../node_modules/core-js-pure/es/string/virtual/trim.js","../node_modules/core-js-pure/modules/es.string.trim.js","../node_modules/core-js-pure/internals/string-trim.js","../node_modules/core-js-pure/internals/string-trim-forced.js","../node_modules/core-js-pure/stable/instance/concat.js","../node_modules/core-js-pure/es/instance/concat.js","../node_modules/core-js-pure/es/array/virtual/concat.js","../node_modules/core-js-pure/stable/set/index.js","../node_modules/core-js-pure/es/set/index.js","../node_modules/core-js-pure/modules/es.set.js","../node_modules/core-js-pure/internals/dom-iterables.js","../node_modules/core-js-pure/stable/object/keys.js","../node_modules/core-js-pure/modules/es.object.keys.js","../node_modules/core-js-pure/stable/instance/map.js","../node_modules/core-js-pure/es/instance/map.js","../node_modules/core-js-pure/es/array/virtual/map.js","../node_modules/core-js-pure/modules/es.array.map.js","../node_modules/core-js-pure/features/object/keys.js","../node_modules/core-js-pure/features/object/get-own-property-symbols.js","../node_modules/core-js-pure/es/object/get-own-property-symbols.js","../node_modules/core-js-pure/internals/object-get-own-property-names-external.js","../node_modules/core-js-pure/features/instance/filter.js","../node_modules/core-js-pure/es/array/virtual/filter.js","../node_modules/core-js-pure/modules/es.array.filter.js","../node_modules/core-js-pure/features/object/get-own-property-descriptor.js","../node_modules/core-js-pure/es/object/get-own-property-descriptor.js","../node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","../node_modules/core-js-pure/features/instance/for-each.js","../node_modules/core-js-pure/stable/instance/for-each.js","../node_modules/core-js-pure/stable/array/virtual/for-each.js","../node_modules/core-js-pure/es/array/virtual/for-each.js","../node_modules/core-js-pure/modules/es.array.for-each.js","../node_modules/core-js-pure/internals/array-for-each.js","../node_modules/core-js-pure/features/object/get-own-property-descriptors.js","../node_modules/core-js-pure/es/object/get-own-property-descriptors.js","../node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","../node_modules/core-js-pure/internals/own-keys.js","../node_modules/core-js-pure/features/object/define-properties.js","../node_modules/core-js-pure/es/object/define-properties.js","../node_modules/core-js-pure/modules/es.object.define-properties.js","../node_modules/core-js-pure/features/object/define-property.js","../node_modules/core-js-pure/es/object/define-property.js","../node_modules/core-js-pure/modules/es.object.define-property.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/constant.js","../node_modules/lodash/_createInverter.js","../node_modules/lodash/_baseInverter.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/keys.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/identity.js","../node_modules/core-js-pure/features/symbol/index.js","../node_modules/core-js-pure/es/symbol/index.js","../node_modules/core-js-pure/modules/es.symbol.async-iterator.js","../node_modules/core-js-pure/modules/es.symbol.has-instance.js","../node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","../node_modules/core-js-pure/modules/es.symbol.match.js","../node_modules/core-js-pure/modules/es.symbol.match-all.js","../node_modules/core-js-pure/modules/es.symbol.replace.js","../node_modules/core-js-pure/modules/es.symbol.search.js","../node_modules/core-js-pure/modules/es.symbol.species.js","../node_modules/core-js-pure/modules/es.symbol.split.js","../node_modules/core-js-pure/modules/es.symbol.to-primitive.js","../node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","../node_modules/core-js-pure/modules/es.symbol.unscopables.js","../node_modules/core-js-pure/modules/es.json.to-string-tag.js","../node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","../node_modules/core-js-pure/modules/esnext.symbol.dispose.js","../node_modules/core-js-pure/modules/esnext.symbol.matcher.js","../node_modules/core-js-pure/modules/esnext.symbol.metadata.js","../node_modules/core-js-pure/modules/esnext.symbol.observable.js","../node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","../node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","../node_modules/core-js-pure/features/symbol/iterator.js","../node_modules/core-js-pure/es/symbol/iterator.js","../node_modules/core-js-pure/stable/json/stringify.js","../node_modules/core-js-pure/es/json/stringify.js","../node_modules/core-js-pure/modules/es.json.stringify.js","../node_modules/core-js-pure/stable/instance/slice.js","../node_modules/core-js-pure/es/array/virtual/slice.js","../node_modules/core-js-pure/modules/es.array.slice.js","../node_modules/core-js-pure/features/object/create.js","../node_modules/core-js-pure/es/object/create.js","../node_modules/core-js-pure/modules/es.object.create.js","../node_modules/core-js-pure/features/object/set-prototype-of.js","../node_modules/core-js-pure/es/object/set-prototype-of.js","../node_modules/core-js-pure/modules/es.object.set-prototype-of.js","../node_modules/core-js-pure/features/reflect/construct.js","../node_modules/core-js-pure/es/reflect/construct.js","../node_modules/core-js-pure/modules/es.reflect.construct.js","../node_modules/core-js-pure/features/object/get-prototype-of.js","../node_modules/core-js-pure/es/object/get-prototype-of.js","../node_modules/core-js-pure/modules/es.object.get-prototype-of.js","../node_modules/core-js-pure/features/get-iterator-method.js","../node_modules/core-js-pure/features/array/is-array.js","../node_modules/core-js-pure/modules/es.array.is-array.js","../node_modules/core-js-pure/features/instance/slice.js","../node_modules/core-js-pure/features/array/from.js","../node_modules/core-js-pure/stable/url-search-params/index.js","../node_modules/core-js-pure/web/url-search-params.js","../node_modules/core-js-pure/modules/web.url-search-params.js","../node_modules/core-js-pure/internals/native-url.js","../node_modules/core-js-pure/stable/instance/keys.js","../node_modules/core-js-pure/stable/array/virtual/keys.js","../node_modules/core-js-pure/es/array/virtual/keys.js","../node_modules/core-js-pure/features/object/assign.js","../node_modules/core-js-pure/features/instance/index-of.js","../node_modules/core-js-pure/es/instance/index-of.js","../node_modules/core-js-pure/es/array/virtual/index-of.js","../node_modules/core-js-pure/modules/es.array.index-of.js","../node_modules/shortid/lib/index.js","../node_modules/shortid/lib/random/random-from-seed.js","../node_modules/shortid/lib/build.js","../node_modules/shortid/lib/generate.js","../node_modules/shortid/lib/random/random-byte-browser.js","../node_modules/nanoid/format.browser.js","../node_modules/shortid/lib/is-valid.js","../node_modules/shortid/lib/util/cluster-worker-id-browser.js","../node_modules/core-js-pure/stable/instance/includes.js","../node_modules/core-js-pure/es/instance/includes.js","../node_modules/core-js-pure/es/array/virtual/includes.js","../node_modules/core-js-pure/modules/es.array.includes.js","../node_modules/core-js-pure/es/string/virtual/includes.js","../node_modules/core-js-pure/modules/es.string.includes.js","../node_modules/core-js-pure/internals/is-regexp.js","../node_modules/core-js-pure/stable/instance/filter.js","../node_modules/core-js-pure/stable/array/is-array.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/core-js-pure/stable/instance/find.js","../node_modules/core-js-pure/es/instance/find.js","../node_modules/core-js-pure/es/array/virtual/find.js","../node_modules/core-js-pure/modules/es.array.find.js","../node_modules/core-js-pure/stable/map/index.js","../node_modules/core-js-pure/modules/es.map.js","../node_modules/core-js-pure/features/promise/index.js","../node_modules/core-js-pure/modules/es.promise.js","../node_modules/core-js-pure/internals/microtask.js","../node_modules/core-js-pure/internals/engine-is-webos-webkit.js","../node_modules/core-js-pure/internals/host-report-errors.js","../node_modules/core-js-pure/internals/engine-is-browser.js","../node_modules/core-js-pure/modules/es.promise.finally.js","../node_modules/core-js-pure/modules/esnext.aggregate-error.js","../node_modules/core-js-pure/modules/esnext.promise.all-settled.js","../node_modules/core-js-pure/modules/esnext.promise.try.js","../node_modules/core-js-pure/modules/esnext.promise.any.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/eq.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/core-js-pure/stable/promise/index.js","../node_modules/core-js-pure/stable/instance/sort.js","../node_modules/core-js-pure/es/instance/sort.js","../node_modules/core-js-pure/es/array/virtual/sort.js","../node_modules/core-js-pure/modules/es.array.sort.js","../node_modules/core-js-pure/internals/array-sort.js","../node_modules/core-js-pure/internals/engine-ff-version.js","../node_modules/core-js-pure/internals/engine-is-ie-or-edge.js","../node_modules/core-js-pure/internals/engine-webkit-version.js","../node_modules/core-js-pure/stable/instance/repeat.js","../node_modules/core-js-pure/es/instance/repeat.js","../node_modules/core-js-pure/es/string/virtual/repeat.js","../node_modules/core-js-pure/modules/es.string.repeat.js","../node_modules/core-js-pure/internals/string-repeat.js","../node_modules/core-js-pure/stable/instance/starts-with.js","../node_modules/core-js-pure/es/instance/starts-with.js","../node_modules/core-js-pure/es/string/virtual/starts-with.js","../node_modules/core-js-pure/modules/es.string.starts-with.js","../node_modules/core-js-pure/features/map/index.js","../node_modules/core-js-pure/modules/esnext.map.from.js","../node_modules/core-js-pure/internals/collection-from.js","../node_modules/core-js-pure/modules/esnext.map.of.js","../node_modules/core-js-pure/internals/collection-of.js","../node_modules/core-js-pure/modules/esnext.map.delete-all.js","../node_modules/core-js-pure/internals/collection-delete-all.js","../node_modules/core-js-pure/modules/esnext.map.emplace.js","../node_modules/core-js-pure/internals/map-emplace.js","../node_modules/core-js-pure/modules/esnext.map.every.js","../node_modules/core-js-pure/modules/esnext.map.filter.js","../node_modules/core-js-pure/modules/esnext.map.find.js","../node_modules/core-js-pure/modules/esnext.map.find-key.js","../node_modules/core-js-pure/modules/esnext.map.group-by.js","../node_modules/core-js-pure/modules/esnext.map.includes.js","../node_modules/core-js-pure/internals/same-value-zero.js","../node_modules/core-js-pure/modules/esnext.map.key-by.js","../node_modules/core-js-pure/modules/esnext.map.key-of.js","../node_modules/core-js-pure/modules/esnext.map.map-keys.js","../node_modules/core-js-pure/modules/esnext.map.map-values.js","../node_modules/core-js-pure/modules/esnext.map.merge.js","../node_modules/core-js-pure/modules/esnext.map.reduce.js","../node_modules/core-js-pure/modules/esnext.map.some.js","../node_modules/core-js-pure/modules/esnext.map.update.js","../node_modules/core-js-pure/modules/esnext.map.upsert.js","../node_modules/core-js-pure/modules/esnext.map.update-or-insert.js","../node_modules/core-js-pure/features/instance/bind.js","../node_modules/core-js-pure/es/instance/bind.js","../node_modules/core-js-pure/es/function/virtual/bind.js","../node_modules/core-js-pure/modules/es.function.bind.js","../node_modules/intersection-observer/intersection-observer.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/set/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/set/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/native-weak-map.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/set-global.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/to-primitive.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/ordinary-to-primitive.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-to-string.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/a-possible-prototype.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.set.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-is-extensible.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-buffer-non-extensible.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-species-constructor.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/string-multibyte.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/dom-iterables.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/concat.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/concat.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/concat.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/get-own-property-symbols.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/get-own-property-symbols.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/get-own-property-symbols.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/get-own-property-symbols.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/instance/filter.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/instance/filter.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/filter.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/filter.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.filter.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/get-own-property-descriptor.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/get-own-property-descriptor.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/get-own-property-descriptor.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/instance/for-each.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/instance/for-each.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/for-each.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/array/virtual/for-each.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/for-each.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.for-each.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-for-each.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/get-own-property-descriptors.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/get-own-property-descriptors.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/get-own-property-descriptors.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/get-own-property-descriptors.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/define-properties.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/define-properties.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/define-properties.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/define-properties.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.define-properties.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/define-property.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/define-property.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/define-property.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/define-property.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.define-property.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/assign.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.assign.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/object-assign.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/assign.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/assign.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/instance/index-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/instance/index-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/index-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/index-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/index-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.index-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/array/is-array.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/array/is-array.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/array/is-array.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/is-array.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.is-array.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/symbol/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/symbol/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/symbol/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/symbol/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.async-iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.has-instance.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.match.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.match-all.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.replace.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.search.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.species.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.split.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.to-primitive.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.symbol.unscopables.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.json.to-string-tag.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.symbol.dispose.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.symbol.matcher.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.symbol.metadata.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.symbol.observable.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/get-iterator-method.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/get-iterator-method.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/get-iterator-method.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/get-iterator-method.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/array/from.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/array/from.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/from.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.from.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/array-from.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/instance/slice.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/instance/slice.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/slice.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/slice.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.slice.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/sort.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/sort.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/sort.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.sort.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-ff-version.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-is-ie-or-edge.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-webkit-version.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/map.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/map.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/map.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.map.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/freeze.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/freeze.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/freeze.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/freeze.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.freeze.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/symbol/iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/symbol/iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/symbol/iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/symbol/iterator.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/json/stringify.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/json/stringify.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.json.stringify.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/create.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/create.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/create.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/create.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.create.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/set-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/set-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/set-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/set-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.set-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/reflect/construct.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/reflect/construct.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/reflect/construct.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/reflect/construct.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.reflect.construct.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/object/get-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/object/get-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/object/get-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/object/get-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.object.get-prototype-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/url-search-params/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/web/url-search-params.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/web.url-search-params.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/native-url.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/array/virtual/keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/trim.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/trim.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/string/virtual/trim.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.string.trim.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/string-trim.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/string-trim-forced.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/includes.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/includes.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/includes.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.includes.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/string/virtual/includes.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.string.includes.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/is-regexp.js","../node_modules/core-js-pure/stable/instance/ends-with.js","../node_modules/core-js-pure/es/instance/ends-with.js","../node_modules/core-js-pure/es/string/virtual/ends-with.js","../node_modules/core-js-pure/modules/es.string.ends-with.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/toString.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/isSymbol.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/find.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/find.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/array/virtual/find.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.array.find.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/map/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.map.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/promise/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/promise/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/promise/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/copy-constructor-properties.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/clear-error-stack.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/install-error-cause.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/normalize-string-argument.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/error-stack-installable.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.promise.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/microtask.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-is-ios-pebble.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-is-webos-webkit.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/host-report-errors.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/queue.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/engine-is-browser.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.promise.finally.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.aggregate-error.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.promise.all-settled.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.promise.try.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.promise.any.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/repeat.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/repeat.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/string/virtual/repeat.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.string.repeat.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/string-repeat.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/starts-with.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/starts-with.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/string/virtual/starts-with.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.string.starts-with.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/map/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/map/index.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.from.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/collection-from.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.of.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/collection-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.delete-all.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/collection-delete-all.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.emplace.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/map-emplace.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.every.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.filter.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.find.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.find-key.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.group-by.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.includes.js","../node_modules/@ds/ui/node_modules/core-js-pure/internals/same-value-zero.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.key-by.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.key-of.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.map-keys.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.map-values.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.merge.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.reduce.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.some.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.update.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.upsert.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/esnext.map.update-or-insert.js","../node_modules/@ds/ui/node_modules/core-js-pure/features/instance/bind.js","../node_modules/@ds/ui/node_modules/core-js-pure/actual/instance/bind.js","../node_modules/@ds/ui/node_modules/core-js-pure/stable/instance/bind.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/instance/bind.js","../node_modules/@ds/ui/node_modules/core-js-pure/es/function/virtual/bind.js","../node_modules/@ds/ui/node_modules/core-js-pure/modules/es.function.bind.js","../node_modules/core-js-pure/features/object/freeze.js","../node_modules/core-js-pure/es/object/freeze.js","../node_modules/core-js-pure/modules/es.object.freeze.js","../node_modules/flexbox-react/dist/Flexbox.js","../node_modules/styled-components/dist/styled-components.es.js","../node_modules/webpack/buildin/harmony-module.js","../node_modules/isobject/index.js","../node_modules/blockly/blockly.js","../node_modules/blockly/javascript.js","../generators/javascript.js","../generators/javascript/variables.js","../generators/javascript/variables_dynamic.js","../generators/javascript/text.js","../generators/javascript/procedures.js","../generators/javascript/math.js","../generators/javascript/loops.js","../generators/javascript/logic.js","../generators/javascript/lists.js","../generators/javascript/colour.js","../node_modules/blockly/blocks.js","../blocks/variables_dynamic.js","../blocks/variables.js","../blocks/text.js","../blocks/procedures.js","../blocks/math.js","../blocks/loops.js","../blocks/logic.js","../blocks/lists.js","../blocks/colour.js","../node_modules/vfile/lib/index.js","../node_modules/vfile-message/index.js","../node_modules/vfile/lib/core.js","../node_modules/vfile/lib/minpath.browser.js","../node_modules/vfile/lib/minproc.browser.js","../node_modules/unified/index.js","../node_modules/bail/index.js","../node_modules/extend/index.js","../node_modules/is-plain-obj/index.js","../node_modules/trough/index.js","../node_modules/trough/wrap.js","../node_modules/remark-parse/index.js","../node_modules/mdast-util-from-markdown/index.js","../node_modules/mdast-util-from-markdown/dist/index.js","../node_modules/mdast-util-to-string/index.js","../node_modules/micromark/dist/util/safe-from-int.js","../node_modules/micromark/dist/parse.js","../node_modules/micromark/dist/initialize/content.js","../node_modules/micromark/dist/initialize/document.js","../node_modules/micromark/dist/initialize/flow.js","../node_modules/micromark/dist/tokenize/content.js","../node_modules/micromark/dist/constant/splice.js","../node_modules/micromark/dist/util/combine-extensions.js","../node_modules/micromark/dist/util/create-tokenizer.js","../node_modules/micromark/dist/util/serialize-chunks.js","../node_modules/micromark/dist/util/slice-chunks.js","../node_modules/micromark/dist/constructs.js","../node_modules/micromark/dist/tokenize/attention.js","../node_modules/micromark/dist/util/classify-character.js","../node_modules/micromark/dist/character/unicode-punctuation.js","../node_modules/micromark/dist/constant/unicode-punctuation-regex.js","../node_modules/micromark/dist/character/unicode-whitespace.js","../node_modules/micromark/dist/util/move-point.js","../node_modules/micromark/dist/tokenize/autolink.js","../node_modules/micromark/dist/character/ascii-atext.js","../node_modules/micromark/dist/tokenize/block-quote.js","../node_modules/micromark/dist/tokenize/character-escape.js","../node_modules/micromark/dist/character/ascii-punctuation.js","../node_modules/micromark/dist/tokenize/character-reference.js","../node_modules/micromark/dist/character/ascii-hex-digit.js","../node_modules/micromark/dist/tokenize/code-fenced.js","../node_modules/micromark/dist/tokenize/code-indented.js","../node_modules/micromark/dist/tokenize/code-text.js","../node_modules/micromark/dist/tokenize/definition.js","../node_modules/micromark/dist/tokenize/hard-break-escape.js","../node_modules/micromark/dist/tokenize/heading-atx.js","../node_modules/micromark/dist/tokenize/html-flow.js","../node_modules/micromark/dist/constant/html-block-names.js","../node_modules/micromark/dist/constant/html-raw-names.js","../node_modules/micromark/dist/tokenize/html-text.js","../node_modules/micromark/dist/tokenize/label-start-image.js","../node_modules/micromark/dist/tokenize/label-start-link.js","../node_modules/micromark/dist/tokenize/line-ending.js","../node_modules/micromark/dist/tokenize/list.js","../node_modules/micromark/dist/tokenize/setext-underline.js","../node_modules/micromark/dist/preprocess.js","../node_modules/micromark/dist/postprocess.js","../node_modules/remark-rehype/index.js","../node_modules/mdast-util-to-hast/index.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/unist-util-visit-parents/index.js","../node_modules/unist-util-is/convert.js","../node_modules/unist-util-visit-parents/color.browser.js","../node_modules/unist-util-generated/index.js","../node_modules/mdast-util-definitions/index.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/mdast-util-to-hast/lib/handlers/index.js","../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/delete.js","../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","../node_modules/mdast-util-to-hast/lib/handlers/footnote.js","../node_modules/mdast-util-to-hast/lib/handlers/heading.js","../node_modules/mdast-util-to-hast/lib/handlers/html.js","../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/image.js","../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/link.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","../node_modules/mdast-util-to-hast/lib/handlers/root.js","../node_modules/mdast-util-to-hast/lib/handlers/strong.js","../node_modules/mdast-util-to-hast/lib/handlers/table.js","../node_modules/mdast-util-to-hast/lib/handlers/text.js","../node_modules/property-information/html.js","../node_modules/xtend/immutable.js","../node_modules/property-information/lib/html.js","../node_modules/react-markdown/src/rehype-filter.js","../node_modules/react-markdown/src/uri-transformer.js","../node_modules/react-markdown/src/ast-to-react.js","../node_modules/react-markdown/node_modules/react-is/index.js","../node_modules/react-markdown/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/property-information/svg.js","../node_modules/property-information/lib/svg.js","../node_modules/property-information/find.js","../node_modules/space-separated-tokens/index.js","../node_modules/comma-separated-tokens/index.js","../node_modules/style-to-object/index.js","../node_modules/inline-style-parser/index.js","../node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","../node_modules/prop-types-extra/lib/isRequiredForA11y.js","../node_modules/node-libs-browser/node_modules/buffer/index.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/timers-browserify/main.js","../node_modules/setimmediate/setImmediate.js","../node_modules/process/browser.js","../node_modules/@olive/icons/lib/esm/allValues.js","../../../../src/Logger/consoleLogging.ts","../../../../src/logging/deprecatedPropMessage.ts","../node_modules/@ds/icons/lib/esm/systemIcon.js","../../../../../src/components/FileInput/FileInput.js","../../../../../src/components/ThemeProvider/ThemeProvider.tsx","../node_modules/@olive/fonts/lib/esm/fonts/OLIVE_CDN.js","../node_modules/@olive/fonts/lib/esm/version.js","../../../../../src/theming/components/FontFaceDeclarations/FontFaceDeclarations.tsx","../../../../../src/theming/components/FontFaceDeclarations/useFontFace.ts","../../../../../src/theming/components/NormalizeCss/NormalizeCss.tsx","../../../../../src/theming/components/NormalizeCss/styles.ts","../../../../../src/theming/components/Theme/ConditionalCobranding.tsx","../../../../../src/theming/components/Theme/Theme.tsx","../../../../src/Translations/useWarehouseTranslate.tsx","../../../../src/Translations/useLocaleLoaded.ts","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/construct.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/wrapNativeSuper.js","../node_modules/@ds/ui/node_modules/@babel/runtime-corejs3/helpers/esm/isNativeFunction.js","../../../../src/RestClient/RequestSender.ts","../../../../src/RestClient/notification.ts","../../../../src/RestClient/ObjectToStringCanonicalizer.ts","../../../../src/RestClient/RequestRetrier.ts","../../../../../src/RestClient/HTTPHandlers/ResponseHeaders.ts","../../../../src/RestClient/responseStorageCache.ts","../../../../src/RestClient/RestClient.ts","../../../../src/RestClient/utils.ts","../../../../src/Translation/TranslationsWarehouse.ts","../../../../src/Utility/defer.ts","../../../../src/Translation/enTranslations.ts","../../../../src/Translation/locales.ts","../../../../src/Translation/translationsVersion.ts","../../../../src/Translation/translationURLs.ts","../../../../src/Translation/translationsWarehouse.ts","../../../../src/Translation/useTranslate.ts","../../../../src/variables/globalIds.ts","../../../../../src/internal/components/SkipNav/styles.ts","../../../../../src/internal/components/SkipNav/SkipNav.tsx","../../../../src/utilities/isChildTypeEqualToComponentType.ts","../../../../../src/components/Header/HeaderActionItem/styles.ts","../../../../../src/components/Header/HeaderActionItem/HeaderActionItem.tsx","../../../../../src/components/Header/HeaderActionItem/HeaderActionItemWithHOC.tsx","../../../../../src/components/Header/styles.ts","../../../../../src/components/Header/HeaderTitle.tsx","../../../../../src/components/Header/HeaderLeft.tsx","../../../../../src/components/Header/HeaderCenter.tsx","../../../../../src/components/Header/HeaderRight.tsx","../../../../../src/components/Header/HeaderActionItemIcon/HeaderActionItemIcon.js","../node_modules/@olive/svg/lib/esm/components/InkAvatarPlaceholder.js","../node_modules/@olive/svg/lib/esm/components/OliveAvatarPlaceholder.js","../../../../../src/components/Avatar/styles.ts","../../../../../src/components/Avatar/AvatarBadge/styles.ts","../../../../../src/components/Avatar/AvatarBadge/AvatarBadge.tsx","../../../../../src/components/Avatar/Avatar.tsx","../../../../../src/components/Avatar/AvatarWithHOC.ts","../../../../../src/components/Header/HeaderAvatar/HeaderAvatar.js","../../../../../src/components/Header/HeaderAvatar/HeaderAvatarWithHOC.js","../../../../../src/components/Header/HeaderLogo/styles.ts","../../../../../src/components/Header/HeaderLogo/HeaderLogo.js","../../../../../src/components/Header/HeaderNav.js","../../../../../src/components/Header/Header.js","../../../../../src/Widget/Carousel/styles.ts","../../../../../src/Widget/Carousel/Carousel.tsx","../../../../../src/Widget/Header/styles.ts","../../../../../src/Widget/Header/HeaderBar.tsx","../../../../src/Utility/useWindowWidth.ts","../../../../../src/components/FlyoutNavItem/FlyoutNavItemDisclosure/FlyoutNavItemDisclosure.tsx","../../../../../src/components/FlyoutNavItem/styles.ts","../../../../../src/components/FlyoutNavItem/FlyoutNavItem.tsx","../../../../src/i18nLayer/i18nlayer.ts","../../../../../src/Widget/Header/utils.ts","../../../../../src/components/DotBadge/styles.ts","../../../../../src/components/DotBadge/DotBadge.tsx","../../../../../src/components/DotBadge/DotBadgeWithHOC.ts","../../../../../src/Widget/Header/Phone/HeaderPhoneItemRow.tsx","../../../../../src/Widget/Header/Phone/HeaderHorizontalSeparator.tsx","../../../../src/Common/styles.ts","../../../../../src/Widget/Header/Phone/HeaderPhoneMainMenu.tsx","../../../../../src/Widget/Header/Phone/HeaderPhoneMenuHeading.tsx","../../../../src/Utility/useTimer.ts","../../../../../src/Widget/Header/Common/HeaderAppSwitchList.tsx","../../../../../src/Widget/Header/Phone/HeaderPhoneAppSwitchMenu.tsx","../../../../../src/Widget/Header/Phone/HeaderPhoneTabItemMenu.tsx","../../../../../src/Widget/Header/Common/HeaderProfileUserContent.tsx","../../../../../src/Widget/Header/Phone/HeaderPhoneProfileMenuChoices.tsx","../../../../../src/Widget/Header/Phone/HeaderPhoneProfileMenu.tsx","../../../../../src/Widget/Header/Common/HeaderDocuSignLogo.tsx","../../../../../src/Widget/Header/Common/HeaderAppDescription.tsx","../../../../../src/Widget/Header/Common/HeaderPrimaryMenuButton.tsx","../../../../../src/Widget/Header/Phone/createFooterItem.tsx","../../../../../src/Widget/Header/Phone/HeaderPhone.tsx","../../../../../src/Widget/Header/Desktop/HeaderProfileMenuButton.tsx","../../../../../src/Widget/Header/Desktop/HeaderHelpMenuButton.tsx","../../../../src/Utility/OutsideClickListener.tsx","../../../../../src/Widget/Header/Desktop/HeaderAppSwitchMenu.tsx","../../../../../src/Widget/Header/Common/HeaderMarketingButton.tsx","../../../../../src/Widget/Header/Desktop/HeaderTab.tsx","../../../../../src/Widget/Header/Desktop/HeaderTabMenu.tsx","../../../../../src/Widget/Header/Desktop/HeaderTabs.tsx","../../../../../src/Widget/Header/Desktop/HeaderStandard.tsx","../../../../../src/Widget/Header/propValidator.ts","../../../../src/RestClient/StorageCache.ts","../../../../../src/Widget/Header/HeaderAPIClient.ts","../../../../../src/Widget/Header/Header.tsx","../../../../src/Utility/useMountStatus.ts","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/fontGroups.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/utilities/normalizedBaseUrl.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/utilities/fontFace.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/utilities/fontGroupDeclarations.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/fonts/OLIVE_CDN.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/version.js","../../../../../src/theming/components/FontFaceDeclarations/styles.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/fonts/DSIndigo/index.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/fonts/Signatures/index.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/fonts/HelveticaNeue/index.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/fonts/MavenPro/index.js","../node_modules/@olive/react/node_modules/@olive/fonts/lib/esm/fonts/NeueHaasGrotesk/index.js","../../../../../src/components/ToastMessage/ToastMessageContainer/styles.ts","../../../../../src/components/ToastMessage/ToastMessageContainer/ToastMessageContainer.js","../../../../../src/components/MouseFocusCss/MouseFocusCss.js","../../../../../src/components/Olive/Olive.js","../../../../src/variables/times.ts","../../../../../src/components/Overlay/OverlayHeader/styles.ts","../../../../../src/components/Overlay/OverlayHeader/OverlayHeader.js","../../../../../src/components/Overlay/OverlayBody/styles.ts","../../../../../src/components/Overlay/OverlayBody/OverlayBody.js","../../../../../src/components/Overlay/OverlayFooter/styles.ts","../../../../../src/components/Overlay/OverlayFooter/OverlayFooter.js","../../../../../src/components/OverlayAction/styles.ts","../../../../../src/components/OverlayAction/OverlayAction.js","../../../../../src/components/Overlay/OverlayClose/OverlayClose.js","../../../../../src/components/Overlay/OverlayPortal/OverlayPortal.js","../../../../../src/components/Overlay/styles.ts","../../../../../src/components/Overlay/OverlayBase.js","../../../../../src/components/Overlay/Overlay.js","../../../../../src/internal/components/Popover/utils/placements.ts","../../../../../src/internal/components/Popover/Popover.js","../../../../../src/internal/components/Popover/utils/presets.ts","../../../../../src/components/TooltipUI/styles.ts","../../../../../src/components/TooltipUI/Tooltip.js","../../../../../src/components/Tooltip/TooltipWithState.js","../../../../../src/components/Tooltip/TooltipWithHOC.js","../../../../src/logging/warnInvalidThemeProp.ts","../../../../../src/components/InputTextBox/styles.ts","../../../../../src/components/InputTextBox/InputTextBox.js","../../../../../src/components/InputTextBox/InputTextBoxWithHOC.js","../../../../../src/components/TextBox/styles.ts","../../../../../src/components/TextBox/TextBox.js","../../../../../src/components/TextBox/TextBoxWithHOC.js","../../../../../src/theming/docusign-themes/ink/fonts.ts","../node_modules/@olive/fonts/lib/esm/fonts/DSIndigo/index.js","../../../../../src/theming/docusign-themes/ink/icons.ts","../node_modules/@ds/icons/lib/esm/inkSystemSmall.js","../node_modules/@ds/icons/lib/esm/inkSystem.js","../../../../../src/theming/docusign-themes/ink/index.ts","../node_modules/snake-case/node_modules/tslib/tslib.es6.js","../node_modules/dot-case/node_modules/tslib/tslib.es6.js","../../../../../src/internal/components/InputTextArea/styles.ts","../../../../../src/internal/components/InputTextArea/InputTextArea.js","../../../../../src/components/TextArea/TextArea.js","../node_modules/@olive/icons/lib/esm/mapping.js","../../../../../src/theming/utilities/useThemeIcons.ts","../../../../../src/theming/utilities/useThemeIcon.ts","../../../../src/utilities/svgFocusableFalse.ts","../../../../../src/internal/components/BaseIcon/styles.ts","../../../../../src/internal/components/BaseIcon/BaseIcon.tsx","../../../../../src/components/Image/Image.tsx","../node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js","../node_modules/framer-motion/dist/es/utils/use-force-update.js","../../../../../src/components/FormUnit/styles.ts","../../../../../src/components/FormUnit/FormUnit.tsx","../../../../../src/internal/components/InputDescription/styles.ts","../../../../../src/internal/components/InputDescription/InputDescription.js","../../../../src/Utility/useUniqueId.ts","../../../../src/Utility/createId.ts","../../../../src/logging/warnDeprecated.ts","../../../../src/styles/CreateButtonCss.ts","../../../../src/styles/CreateFocusCss.ts","../../../../src/Utility/useMemoizedDeepmerge.ts","../../../../src/variables/zIndexes.ts","../../../../src/styles/mediaQueries.ts","../../../../src/utilities/bodyScroll.js","../../../../src/Utility/propFilters.ts","../../../../src/Utility/mergeRefs.ts","../../../../src/utilities/styles.ts","../../../../src/utilities/conditionalTag.js","../../../../src/Utility/useIntersectionObserver.tsx","../node_modules/@olive/fonts/lib/esm/utilities/normalizedBaseUrl.js","../../../../src/HOC/withRef.tsx","../../../../../src/internal/components/IconOrImage/IconOrImage.tsx","../../../../src/variables/anchorAttributes.ts","../../../../../src/utils/test-utils/disableMotion.ts","../../../../src/utilities/trapTabNavigation.js","../../../../../src/internal/components/IconSmall/IconSmall.tsx","../../../../../src/internal/components/InputCount/InputCount.js","../node_modules/framer-motion/dist/es/motion/features/definitions.js","../node_modules/framer-motion/dist/es/context/LazyContext.js","../node_modules/framer-motion/dist/es/motion/features/use-features.js","../node_modules/framer-motion/dist/es/context/MotionConfigContext.js","../node_modules/framer-motion/dist/es/context/MotionContext/index.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js","../node_modules/framer-motion/dist/es/context/LayoutGroupContext.js","../node_modules/framer-motion/dist/es/utils/is-browser.js","../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js","../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js","../node_modules/framer-motion/dist/es/utils/is-ref-object.js","../node_modules/framer-motion/dist/es/render/utils/variants.js","../node_modules/framer-motion/dist/es/context/MotionContext/create.js","../node_modules/framer-motion/dist/es/context/MotionContext/utils.js","../node_modules/framer-motion/dist/es/motion/index.js","../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js","../node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js","../node_modules/framer-motion/dist/es/render/dom/projection/scale-correction.js","../node_modules/framer-motion/dist/es/render/html/utils/transform.js","../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.js","../node_modules/framer-motion/dist/es/value/utils/is-motion-value.js","../node_modules/framer-motion/dist/es/render/html/utils/build-transform.js","../node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.js","../node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.js","../node_modules/style-value-types/node_modules/tslib/tslib.es6.js","../node_modules/style-value-types/dist/es/utils.js","../node_modules/style-value-types/dist/es/numbers/units.js","../node_modules/style-value-types/dist/es/numbers/index.js","../node_modules/framer-motion/dist/es/render/dom/value-types/type-int.js","../node_modules/framer-motion/dist/es/render/dom/value-types/number.js","../node_modules/framer-motion/dist/es/render/html/utils/build-styles.js","../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js","../node_modules/framer-motion/dist/es/render/html/use-props.js","../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js","../node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.js","../node_modules/framer-motion/dist/es/render/svg/utils/path.js","../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.js","../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js","../node_modules/framer-motion/dist/es/render/svg/use-props.js","../node_modules/framer-motion/dist/es/render/dom/use-render.js","../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.js","../node_modules/framer-motion/dist/es/render/html/utils/render.js","../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.js","../node_modules/framer-motion/dist/es/render/svg/utils/render.js","../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.js","../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.js","../node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.js","../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.js","../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.js","../node_modules/framer-motion/dist/es/utils/resolve-value.js","../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js","../node_modules/framer-motion/dist/es/render/svg/config-motion.js","../node_modules/framer-motion/dist/es/render/html/config-motion.js","../node_modules/framer-motion/dist/es/render/utils/types.js","../node_modules/framer-motion/dist/es/render/dom/utils/create-config.js","../node_modules/framer-motion/dist/es/events/use-dom-event.js","../node_modules/framer-motion/dist/es/gestures/utils/event-type.js","../node_modules/framer-motion/dist/es/events/event-info.js","../node_modules/framer-motion/dist/es/events/use-pointer-event.js","../node_modules/framer-motion/dist/es/events/utils.js","../node_modules/framer-motion/dist/es/gestures/drag/utils/lock.js","../node_modules/framer-motion/dist/es/gestures/use-hover-gesture.js","../node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.js","../node_modules/popmotion/dist/es/utils/pipe.js","../node_modules/framer-motion/dist/es/motion/utils/make-renderless-component.js","../node_modules/framer-motion/dist/es/motion/features/gestures.js","../node_modules/framer-motion/dist/es/gestures/use-tap-gesture.js","../node_modules/framer-motion/dist/es/gestures/use-focus-gesture.js","../node_modules/framer-motion/dist/es/utils/shallow-compare.js","../node_modules/popmotion/node_modules/tslib/tslib.es6.js","../node_modules/popmotion/dist/es/utils/clamp.js","../node_modules/popmotion/dist/es/animations/utils/find-spring.js","../node_modules/popmotion/dist/es/animations/generators/spring.js","../node_modules/popmotion/dist/es/utils/progress.js","../node_modules/popmotion/dist/es/utils/mix.js","../node_modules/style-value-types/dist/es/color/utils.js","../node_modules/style-value-types/dist/es/color/rgba.js","../node_modules/style-value-types/dist/es/color/hex.js","../node_modules/style-value-types/dist/es/color/hsla.js","../node_modules/popmotion/dist/es/utils/mix-color.js","../node_modules/style-value-types/dist/es/color/index.js","../node_modules/style-value-types/dist/es/complex/index.js","../node_modules/popmotion/dist/es/utils/inc.js","../node_modules/popmotion/dist/es/utils/mix-complex.js","../node_modules/popmotion/dist/es/utils/interpolate.js","../node_modules/popmotion/dist/es/easing/utils.js","../node_modules/popmotion/dist/es/easing/index.js","../node_modules/popmotion/dist/es/animations/generators/keyframes.js","../node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.js","../node_modules/popmotion/dist/es/animations/generators/decay.js","../node_modules/popmotion/dist/es/animations/utils/elapsed.js","../node_modules/popmotion/dist/es/animations/index.js","../node_modules/popmotion/dist/es/utils/velocity-per-second.js","../node_modules/framer-motion/dist/es/utils/time-conversion.js","../node_modules/popmotion/dist/es/easing/cubic-bezier.js","../node_modules/framer-motion/dist/es/animation/utils/easing.js","../node_modules/framer-motion/dist/es/animation/utils/is-animatable.js","../node_modules/framer-motion/dist/es/animation/utils/default-transitions.js","../node_modules/style-value-types/dist/es/complex/filter.js","../node_modules/framer-motion/dist/es/render/dom/value-types/defaults.js","../node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.js","../node_modules/framer-motion/dist/es/animation/utils/transitions.js","../node_modules/popmotion/dist/es/animations/inertia.js","../node_modules/framer-motion/dist/es/utils/array.js","../node_modules/framer-motion/dist/es/utils/subscription-manager.js","../node_modules/framer-motion/dist/es/value/index.js","../node_modules/framer-motion/dist/es/render/dom/value-types/test.js","../node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.js","../node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.js","../node_modules/framer-motion/dist/es/render/dom/value-types/find.js","../node_modules/framer-motion/dist/es/render/utils/setters.js","../node_modules/framer-motion/dist/es/render/utils/animation.js","../node_modules/framer-motion/dist/es/render/utils/animation-state.js","../node_modules/framer-motion/dist/es/motion/features/animations.js","../node_modules/popmotion/dist/es/utils/is-point.js","../node_modules/popmotion/dist/es/utils/is-point-3d.js","../node_modules/popmotion/dist/es/utils/distance.js","../node_modules/framer-motion/dist/es/gestures/PanSession.js","../node_modules/framer-motion/dist/es/utils/each-axis.js","../node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js","../node_modules/framer-motion/dist/es/render/dom/projection/measure.js","../node_modules/framer-motion/dist/es/utils/geometry/delta-calc.js","../node_modules/framer-motion/dist/es/motion/features/layout/utils.js","../node_modules/framer-motion/dist/es/render/utils/is-draggable.js","../node_modules/framer-motion/dist/es/utils/geometry/delta-apply.js","../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js","../node_modules/framer-motion/dist/es/render/dom/projection/convert-to-relative.js","../node_modules/framer-motion/dist/es/motion/features/drag.js","../node_modules/framer-motion/dist/es/gestures/use-pan-gesture.js","../node_modules/framer-motion/dist/es/gestures/drag/use-drag.js","../node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.js","../node_modules/framer-motion/dist/es/render/dom/projection/default-scale-correctors.js","../node_modules/framer-motion/dist/es/motion/features/layout/Animate.js","../node_modules/framer-motion/dist/es/motion/features/layout/Measure.js","../node_modules/framer-motion/dist/es/motion/features/layout/index.js","../node_modules/framer-motion/dist/es/render/utils/state.js","../node_modules/framer-motion/dist/es/render/html/utils/build-projection-transform.js","../node_modules/framer-motion/dist/es/render/utils/lifecycles.js","../node_modules/framer-motion/dist/es/render/utils/projection.js","../node_modules/framer-motion/dist/es/render/utils/flat-tree.js","../node_modules/framer-motion/dist/es/render/index.js","../node_modules/framer-motion/dist/es/render/utils/motion-values.js","../node_modules/framer-motion/dist/es/render/dom/projection/relative-set.js","../node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.js","../node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.js","../node_modules/framer-motion/dist/es/render/html/visual-element.js","../node_modules/framer-motion/dist/es/utils/is-numerical-string.js","../node_modules/framer-motion/dist/es/render/svg/visual-element.js","../node_modules/framer-motion/dist/es/render/dom/create-visual-element.js","../node_modules/framer-motion/dist/es/render/dom/motion.js","../../../../src/utilities/EscapeToClose.tsx","../../../../../src/components/Menu/MenuButton/MenuButton.tsx","../../../../../src/components/Menu/MenuCustomItem/MenuCustomItem.tsx","../../../../../src/components/Menu/MenuGroup/styles.ts","../../../../../src/components/Menu/MenuGroup/MenuGroup.tsx","../../../../../src/internal/components/BaseMenuItem/styles.ts","../../../../../src/internal/components/BaseMenuItem/BaseMenuItem.tsx","../../../../../src/Utility/useUniqueId/UniqueIdProvider.tsx","../../../../../src/Utility/useUniqueId/useUniqueId.ts","../../../../../src/components/Menu/MenuItemFileInput/MenuItemFileInput.js","../../../../../src/components/Menu/MenuItem/MenuItem.js","../../../../../src/components/Menu/MenuItemDisclosure/MenuItemDisclosure.tsx","../../../../../src/components/Menu/MenuItemWithSubmenu/MenuItemWithSubmenu.js","../../../../src/logging/consoleInfo.ts","../../../../src/logging/logAlphaProp.ts","../../../../../src/components/Popper/utils/placements.ts","../../../../../src/components/Popper/styles.ts","../../../../../src/components/Popper/Popper.tsx","../../../../../src/components/Popper/utils/presets.ts","../../../../../src/components/Menu/MenuContainer/styles.ts","../../../../../src/components/Menu/MenuContainer/MenuContainer.tsx","../../../../../src/components/Menu/Menu.tsx","../../../../../src/components/Menu/styles.ts","../../../../../src/components/Menu/MenuAnimation.js","../../../../../src/components/Menu/MenuWithState.js","../../../../src/logging/noAnchorWarning.ts","../../../../src/utilities/calculateScrollContainerHeight.ts","../../../../../src/components/Menu/MenuWithHOC.js","../../../../../src/components/Menu/index.js","../../../../../src/theming/cobranding/isHexTriplet.ts","../../../../../src/theming/cobranding/applyBrightness.ts","../../../../../src/theming/cobranding/hasLowPerceivedBrightness.ts","../../../../../src/theming/cobranding/contrastingGrayscaleFillColor.ts","../../../../../src/theming/cobranding/contrastingGrayscaleTextColor.ts","../../../../../src/theming/cobranding/styles/index.ts","../../../../../src/theming/cobranding/styles/Button.ts","../../../../../src/theming/cobranding/styles/Header.ts","../../../../../src/theming/cobranding/styles/HeaderActionItem.ts","../../../../../src/theming/cobranding/styles/HeaderLogo.ts","../../../../../src/theming/cobranding/styles/InvertedButton.ts","../../../../../src/theming/cobranding/styles/QuickActionsItem.ts","../../../../../src/theming/components/Cobranding/Cobranding.tsx","../../../../../src/theming/cobranding/calculateTokens.ts","../../../../src/Utility/useLockBodyScroll.ts","../../../../src/components/MotionVariant.tsx","../../../../../src/components/Shroud/Shroud.tsx","../../../../../src/Widget/Reveal/styles.ts","../../../../../src/Widget/Reveal/Reveal.tsx","../../../../../src/internal/components/Caret/styles.ts","../../../../../src/internal/components/Caret/Caret.tsx","../../../../../src/components/Button/Button.tsx","../../../../../src/components/Button/ButtonWithHOC.ts","../../../../../src/internal/components/InputRequiredAsterisk/styles.ts","../../../../../src/internal/components/InputRequiredAsterisk/InputRequiredAsterisk.js","../../../../../src/internal/components/InputLabel/styles.ts","../../../../../src/internal/components/InputLabel/InputLabel.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/CSSTransition.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/react-popper/lib/esm/usePopper.js","../../../../src/utilities/keyboardNavigableElements.js","../node_modules/@olive/svg/lib/esm/components/DocusignAppLogo.js","../../../../../src/components/DocuSignLogo/styles.ts","../../../../../src/components/DocuSignLogo/DocuSignLogo.tsx","../../../../../src/theming/utilities/useThemeName.ts","../../../../../src/theming/utilities/useIsInk.ts","../node_modules/camel-case/node_modules/tslib/tslib.es6.js","../../../../../src/theming/utilities/useCobrandingStyles.ts","../../../../../src/theming/utilities/useThemeStyles.ts","../../../../../src/internal/components/Caret/Caret.js","../../../../../src/components/AboveInputContainer/styles.ts","../../../../../src/components/AboveInputContainer/AboveInputContainer.js","../../../../../src/components/BelowInputContainer/styles.ts","../../../../../src/components/BelowInputContainer/BelowInputContainer.js","../../../../src/logging/requiredPropMessage.ts","../../../../../src/internal/components/IconSmall/styles.ts","../node_modules/@olive/fonts/lib/esm/utilities/fontFace.js","../node_modules/@olive/fonts/lib/esm/utilities/fontGroupDeclarations.js"],"names":["module","exports","require","StyleSheet","options","this","isSpeedy","undefined","speedy","tags","ctr","nonce","key","container","before","_proto","prototype","insert","rule","_tag","tag","document","createElement","setAttribute","appendChild","createTextNode","createStyleElement","length","nextSibling","insertBefore","push","sheet","i","styleSheets","ownerNode","sheetForTag","isImportRule","charCodeAt","insertRule","cssRules","e","process","flush","forEach","parentNode","removeChild","stylis_min","W","M","d","c","h","a","q","g","k","y","C","m","b","v","n","x","K","u","l","r","I","t","B","J","f","p","F","G","replace","N","trim","charAt","substring","ca","O","A","H","X","D","z","join","da","ea","fa","w","L","P","Y","E","ha","Q","split","ia","Z","indexOf","ja","ka","test","aa","ba","la","ma","R","na","oa","S","call","U","prefix","use","T","set","delimiter","toSheet","block","Sheet","current","ruleSheet","context","content","selectors","parents","line","column","ns","depth","at","createCache","stylisOptions","stylis","Stylis","inserted","head","_insert","nodes","querySelectorAll","Array","node","getAttribute","id","stylisPlugins","selector","serialized","shouldCache","name","styles","cache","registered","getRegisteredStyles","registeredStyles","classNames","rawClassName","className","insertStyles","isStringTag","next","hasOwnProperty","Object","EmotionCacheContext","createContext","HTMLElement","ThemeContext","withEmotionCache","Provider","func","render","props","ref","Consumer","forwardRef","typePropName","createEmotionProps","type","newProps","theme","cssProp","css","serializeStyles","Emotion","jsx","args","arguments","apply","argsLength","createElementArgArray","Global","InnerGlobal","_React$Component","updater","_inheritsLoose","componentDidMount","querySelector","componentDidUpdate","prevProps","element","nextElementSibling","componentWillUnmount","Component","keyframes","insertable","anim","toString","classnames","len","cls","arg","toAdd","isArray","merge","ClassNames","_len","_key","cx","_len2","_key2","ele","children","ownKeys","object","enumerableOnly","keys","symbols","sym","enumerable","_objectSpread2","target","_context","source","_context2","brandColors","white","gray1","gray2","gray3","gray4","gray5","gray6","gray7","gray8","gray9","gray10","black","badgeOrange","badgeTurquoise","DocuSignBluePale2","DocuSignBluePale","DocuSignBlueDisabled","DocuSignBlueLight","DocuSignBlue","DocuSignBlueDark","DocuSignBlueDark2","funBluePale2","funBluePale","funBlueLight","funBlue","funBlueDark","funBlueDark2","mantisGreenPale2","mantisGreenPale","mantisGreenLight","mantisGreen","mantisGreenDark","mantisGreenDark2","orange","orangeDark","periwinklePale2","periwinklePale","periwinkleLight","periwinkle","periwinkleDark","periwinkleDark2","persianRedPale2","persianRedPale","persianRedLight","persianRed","persianRedDark","persianRedDark2","progressIndicatorInverted","sunglowYellowPale2","sunglowYellowPale","sunglowYellowLight","sunglowYellow","sunglowYellowDark","sunglowYellowDark2","turquoisePale2","turquoisePale","turquoiseLight","turquoise","turquoiseDark","turquoiseDark2","recipientColorPalette","recipient0","Normal","Dark","Dark2","recipient1","recipient2","recipient3","recipient4","recipient5","recipient6","recipient7","recipient8","recipient9","recipientColors","colorsWithAlpha","black_alpha50","hexToRgba","gray9_alpha90","white_alpha75","funBlue_alpha27","mantisGreen_alpha27","persianRed_alpha27","sunglowYellowDark_alpha43","_defineProperty","obj","value","configurable","writable","semanticBlack","100","semanticBlue","10","20","30","40","50","60","70","80","90","semanticCoolRed","semanticGreen","semanticNeutral","fade","5","15","25","35","45","75","semanticPaperwhite","semanticWhite","55","85","semanticWarmGray","extendedAqua","extendedFuchsia","extendedIndigo","extendedMagenta","extendedOrchid","extendedTeal","extendedWarmRed","extendedYellow","RecipientColorPalette","extendStatics","setPrototypeOf","__proto__","__extends","TypeError","String","__","constructor","create","__assign","assign","s","__rest","getOwnPropertySymbols","propertyIsEnumerable","__read","o","Symbol","iterator","ar","done","error","__spreadArray","to","from","pack","slice","concat","_classCallCheck","instance","Constructor","_extends","_assertThisInitialized","self","ReferenceError","isCalled","telemetryEnabled","emitTelemetry","errorData","message","option","logComponentError","eventData","measure","getPerformance","logComponentEvent","ex","logError","setTelemetry","functionName","reportException","window","_defineProperties","descriptor","_createClass","protoProps","staticProps","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","defineProperty","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","modifierPhases","_slicedToArray","arr","arrayWithHoles","_i","_s","_e","_arr","_n","_d","err","unsupportedIterableToArray","nonIterableRest","filter","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","_objectWithoutPropertiesLoose","_getPrototypeOf","getPrototypeOf","_typeof","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","result","Super","NewTarget","_setPrototypeOf","_inherits","subClass","superClass","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","Promise","then","_asyncToGenerator","fn","global","isForced","path","bind","createNonEnumerableProperty","has","wrapConstructor","NativeConstructor","Wrapper","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","TARGET","GLOBAL","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","forced","noTargetGet","wrap","Function","real","uncurryThis","isCallable","hasOwn","classes","argType","inner","default","React","useBootstrapPrefix","defaultPrefix","prefixes","useContext","check","it","Math","globalThis","baseKeys","getTag","isArguments","isArrayLike","isBuffer","isPrototype","isTypedArray","splice","size","defaultTimestep","getCurrentTime","performance","now","onNextFrame","callback","requestAnimationFrame","setTimeout","useDefaultElapsed","runNextFrame","isProcessing","frame","delta","timestamp","stepsOrder","steps","toRun","toRunNextFrame","numToRun","toKeepAlive","WeakSet","step","schedule","keepAlive","immediate","addToCurrentFrame","buffer","add","cancel","index","delete","frameData","_a","createRenderStep","sync","startLoop","cancelSync","flushSync","processStep","stepId","processFrame","max","min","getFrameData","exec","isElement","getWindow","Element","isHTMLElement","isShadowRoot","ShadowRoot","hexToDecimal","hex","parseInt","formatRgb","decimalObject","parameterA","parsedA","isNaN","parseFloat","isFinite","_ref","toFixed","hexesToDecimals","nakedHex","isShort","parseHex","removeHash","isObject","NATIVE_BIND","FunctionPrototype","argument","baseGetTag","define","Blockly","setLocale","locale","Msg","shared","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","_toConsumableArray","arrayLikeToArray","iterableToArray","round","DOMTokenListMock","ElementMock","addEventListener","classList","removeEventListener","style","activeElement","body","documentElement","getElementById","hasFocus","lang","disconnect","observe","inBrowser","inTestEnv","__TEST__","globalWindow","MutationObserver","warmGray","fontSize","110","120","fontWeight","200","400","500","600","700","lineHeight","small","large","fontFamily","fontColorTokens","fontColorDefault","inkColors","fontColorInverse","fontColorSubtle","fontColorSubtleInverse","fontColorDisabled","fontColorLink","fontColorLinkSubtle","fontColorLinkHover","fontColorLinkActive","fontColorLinkVisited","fontColorLinkVisitedSubtle","fontColorSuccess","fontColorError","fontColorActive","fontTypeTokens","fontDetailXS","inkTypography","fontDetailS","fontBodyM","fontBodyL","fontBodyXL","fontHeadingXXS","fontHeadingXS","fontHeadingS","fontHeadingM","fontDisplayXS","fontDisplayS","fontDisplayM","fontDisplayL","fontButton","fontTab","fontLink","textDecoration","fontBadge","fontSectionHeadline","fontTimestamp","fontElementLabel","borderColorSubtle","borderColorSubtleInverse","borderColorDefault","borderColorEmphasis","footerBackgroundColor","colors","textColor","linkHoverColor","linkSeparatorBarColor","footerBorderColor","langTriggerButtonColor","visitedColor","focusOutlineColor","footerMainCSS","alignItems","display","footerMainRowExtendedCSS","label","justifyContent","margin","footerMainRowWCenteredCSS","footerTopBottomRowCSS","footerTopRowCSS","footerBottomRowCSS","footerSeperatorCSS","borderLeft","paddingLeft","marginLeft","whiteSpace","footerMenuTriggerButtonCSS","border","background","color","cursor","marginRight","padding","outlineOffset","outline","footerPhoneLanguageSelectorRowCSS","borderBottom","font","width","height","backgroundColor","boxShadow","footerContainerCSS","isInk","borderTop","paddingRight","overflow","inkTypographyTokens","footerLinkListCSS","flexWrap","inkBorderTokens","footerLinkListMobileCSS","footerLogoCSS","footerLogoSvgCSS","marginTop","maxHeight","footerLinkCSS","footerPhoneLanguageSelectorContainerCSS","listStyle","footerMenuTriggerInkButtonCSS","minHeight","phoneFooterRowHeight","wrappedWellKnownSymbolModule","NAME","tryToString","noop","any","convertBoundingBoxToAxisBox","convertAxisBoxToBoundingBox","transformBoundingBox","transformPoint","topLeft","bottomRight","axisBox","copyAxisBox","box","zeroDelta","translate","scale","origin","originPoint","anObject","isArrayIteratorMethod","toLength","getIteratorMethod","iteratorClose","Result","stopped","iterable","unboundFunction","iterFn","that","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","lengthOfArrayLike","isPrototypeOf","getIterator","ResultPrototype","ownerDocument","defaultView","isNativeReflectConstruct","code","fails","get","getBasePlacement","toObject","markdownSpace","effects","ok","limit","Infinity","enter","consume","exit","getNodeName","nodeName","toLowerCase","useCommittedRef","useRef","useEffect","useEventCallback","useCallback","CONSTRUCTOR","aFunction","variable","namespace","method","aCallable","getDocumentElement","SelectableContext","makeEventKey","eventKey","href","getComputedStyle","parent","values","one","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","isProjecting","visualElement","projection","isEnabled","shouldResetTransform","collectProjectingAncestors","ancestors","collectProjectingChildren","addChild","child","sort","compareByDepth","updateLayoutMeasurement","layoutState","getLayoutState","notifyBeforeLayoutMeasure","layout","isHydrated","measureViewportBox","layoutCorrected","notifyLayoutMeasure","prevViewportBox","update","rebaseProjectionTarget","snapshotViewportBox","defaultHandler","layoutReady","notifyLayoutReady","createBatcher","queue","Set","_b","batchLayout","read","write","order","resetTransform","restoreTransform","isPresent","presence","Presence","Present","preRender","postRender","assignProjectionToSnapshot","clear","flushLayout","SharedLayoutContext","FramerTreeLayoutContext","isSharedLayout","forceUpdate","definePropertyModule","createPropertyDescriptor","toPrimitive","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","win","html","visualViewport","clientWidth","clientHeight","navigator","userAgent","offsetLeft","offsetTop","getWindowScrollBarX","getViewportRect","getBoundingClientRect","clientTop","clientLeft","getInnerBoundingClientRect","_element$ownerDocumen","winScroll","getWindowScroll","scrollWidth","scrollHeight","scrollLeft","scrollTop","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","listScrollParents","getParentNode","clipperElement","position","getOffsetParent","contains","getClippingParents","firstClippingParent","clippingRect","accRect","detectOverflow","state","_options","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","paddingObject","mergePaddingObject","expandToHashMap","altContext","referenceElement","elements","popperRect","rects","clippingClientRect","contextElement","referenceClientRect","popperOffsets","computeOffsets","strategy","popperClientRect","elementClientRect","overflowOffsets","offsetData","modifiersData","offset","multiply","axis","PresenceContext","currencyISOtoSymbol","aed","afn","all","amd","ang","aoa","ars","aud","awg","azn","bam","bbd","bdt","bgn","bhd","bif","bmd","bnd","bob","bov","brl","bsd","btn","bwp","byn","byr","bzd","cad","cdf","che","chf","chw","clf","clp","cny","cop","cou","crc","cuc","cup","cve","czk","djf","dkk","dop","dzd","egp","ern","etb","eur","fjd","fkp","gbp","gel","ghs","gip","gmd","gnf","gtq","gyd","hkd","hnl","hrk","htg","huf","idr","ils","inr","iqd","irr","isk","jmd","jod","jpy","kes","kgs","khr","kmf","kpw","krw","kwd","kyd","kzt","lak","lbp","lkr","lrd","lsl","lyd","mad","mdl","mga","mkd","mmk","mnt","mop","mro","mur","mvr","mwk","mxn","mxv","myr","mzn","nad","ngn","nio","nok","npr","nzd","omr","pab","pen","pgk","php","pkr","pln","pyg","qar","ron","rsd","rub","rwf","sar","sbd","scr","sdg","sek","sgd","shp","sll","sos","srd","ssp","std","svc","syp","szl","thb","tjs","tmt","tnd","try","ttd","twd","tzs","uah","ugx","usd","usn","uyi","uyu","uzs","vef","vnd","vuv","wst","xaf","xag","xau","xba","xbb","xbc","xbd","xcd","xdr","xof","xpd","xpf","xpt","xsu","xts","xua","xxx","yer","zar","zmw","zwl","currencyNumberFormatInfo","positivePattern","negativePattern","decimalSeparator","groupSeparator","groupDigits","decimalDigits","csym_1_comma_234_comma_567_period_89","csym_space_1_period_234_period_567_comma_89","leading_1_period_234_period_567_comma_89_space_csym","leading_1_space_234_space_567_comma_89_space_csym","csym_space_1_quote_234_quote_567_period_89","csym_1_comma_234_comma_567","csym_space_12_comma_34_comma_567_period_89","csym_space_minus_12_comma_34_comma_567_period_89","csym_space_1234_comma_567_period_89","leading_1_space_234_space_567_period_89_space_csym","csym_space_1_space_234_space_567_comma_89","csym_space_1_space_234_space_567_period_89","leading_1_space_234_space_567_comma_89_csym","leading_1_comma_234_comma_567_period_89_space_csym","csym_1_period_234_period_567","csym_12_comma_34_comma_567_period_89","csym_space_1_comma_234_comma_567_period_89","csym_1_period_234_period_567_comma_89","leading_1_quote_234_quote_567_period_89_space_csym","csym_1234_comma_567_period_89","leading_1_period_234_period_567_space_csym","csym_1_space_234_space_567_comma_89","opar_csym_1_comma_234_comma_567_period_89_cpar","minus_csym_1_comma_234_comma_567_period_89","minus_csym_space_1_period_234_period_567_comma_89","csym_space_minus_1_period_234_period_567_comma_89","minus_1_period_234_period_567_comma_89_space_csym","opar_1_space_234_space_567_comma_89_space_csym_cpar","minus_1_space_234_space_567_comma_89_space_csym","minus_1_comma_234_comma_567_period_89_space_csym","csym_minus_1_quote_234_quote_567_period_89","minus_csym_1_period_234_period_567_comma_89","minus_csym_1_comma_234_comma_567","opar_csym_space_1234_comma_567_period_89_cpar","csym_minus_12_comma_34_comma_567_period_89","csym_space_minus_1_space_234_space_567_comma_89","csym_space_minus_1_space_234_space_567_period_89","minus_csym_space_1_space_234_space_567_comma_89","minus_1_space_234_space_567_comma_89_csym","minus_1_space_234_space_567_period_89_space_csym","opar_csym_1_period_234_period_567_cpar","opar_csym_1_comma_234_comma_567_cpar","csym_minus_1_comma_234_comma_567_period_89","minus_csym_12_comma_34_comma_567_period_89","minus_csym_space_1_comma_234_comma_567_period_89","opar_csym_space_1_period_234_period_567_comma_89_cpar","opar_csym_space_1_quote_234_quote_567_period_89_cpar","opar_csym_space_1_space_234_space_567_comma_89_cpar","opar_csym_space_1_space_234_space_567_period_89_cpar","opar_csym_12_comma_34_comma_567_period_89_cpar","opar_csym_space_12_comma_34_comma_567_period_89_cpar","opar_1_comma_234_comma_567_period_89_space_csym_cpar","opar_1_period_234_period_567_comma_89_space_csym_cpar","opar_1_space_234_space_567_comma_89_csym_cpar","opar_1_space_234_space_567_period_89_space_csym_cpar","opar_csym_space_1_comma_234_comma_567_period_89_cpar","minus_csym_1_period_234_period_567","minus_csym_space_1_quote_234_quote_567_period_89","minus_csym_space_1_space_234_space_567_period_89","csym_minus_1_comma_234_comma_567","csym_minus_1_period_234_period_567","csym_space_minus_1_quote_234_quote_567_period_89","csym_space_minus_1_comma_234_comma_567_period_89","minus_csym_space_12_comma_34_comma_567_period_89","minus_1_period_234_period_567_space_csym","csym_minus_1_space_234_space_567_comma_89","minus_1_quote_234_quote_567_period_89_space_csym","csym_1_comma_234_comma_567_period_89_minus","csym_minus_1_period_234_period_567_comma_89","opar_csym_1_period_234_period_567_comma_89_cpar","minus_csym_1234_comma_567_period_89","minus_csym_1_space_234_space_567_comma_89","currencyNoDecimalDigitsIsoCode","currency3DecimalDigitsIsoCode","_getNumberFormatInfo","effectiveCurrencyFormat","isPositive","localePolicy","formatDigit","decPlaces","Number","ii","j","decSeparator","formatDigit2","formatDigit0","_formatCurrency","isoCode","formatted","currencySymbol","digit","numberInfo","_getCurrencyDecimalDigits","digitstr","__formatCurrency","digitsFromLocale","formatCurrency","t0","timeZones","IANA","utcOffset","abbrev","abbrevDT","timeFormats","none","hhmm","hmm","hhmmss","hmmss","hhmmtt","hmmtt","hhmmsstt","hmmsstt","custom","_hhmmsstt","dateFormats","_","de","es","ru","fr","nl","pl","pt_br","pt","zh_cn","zh_tw","ko","mm_dd_yyyy","mmddyyyy","mmddyy","mdyyyy","mmm_dd_yyyy","mmmd_yyyy","mmmmd_yyyy","dmyyyy","d_m_yyyy","dd_mm_yy","dd_mm_yyyy","dd_mmm_yy","dd_mmm_yyyy","ddmmmmyyyy","yyyy_mm_dd","yyyy_mmm_dd","ddmmyyyy_de","ddmmyyyy","yyyymmdd","yyyymd","yyyy_mmmm_d","longformat","en","JapaneseEraInfo","yyyy","jaYyyy","year","startDate","dateFormatAllLocalesInfo","cultureNameToLanguage","cultureName","_getDateFormat","dateFormat","isSigning","dateformatlist","format","_getTimeFormat","timeFormat","_getJapaneseEraYear","era","datestr","to2Digit","getJapaneseEra","month","eraYear","yStr","addEscape","regxBK","RegExp","replaceDigit","getDateFormat","getTimeFormat","getJapaneseEraYear","dateTimeFormatToString","culture","getSupportedCultureName","dateFormatLocalesInfo","_languageToLocale","isGenitive","_dateTimeFormatToString","metaData","uiLanguage","regionName","calendarType","currencyPositiveFormat","currencyNegativeFormat","currencyCode","nameFormat","initialFormat","addressFormat","datetimeFormat","customTime","getMetaData","meta","policy","effectiveDateFormat","effectiveTimeFormat","effectiveCalendarType","effectiveCurrencyCode","effectiveCurrencyPositiveFormat","effectiveCurrencyNegativeFormat","prop","isJapanese","_getMetaData","withunset","getDisplayName","localeDisplayNames","names","getRegionLocalePolicy","valueDisplayList","valueDisplay","sortedLocaleAndDisplayName","localeAndNameList","locales","displayName","localeAndNameA","localeAndNameB","nameA","nameB","EMPTY_HTTP_HEADERS","HttpError","DS_CORRELATION_TOKEN_HDR_NAME","currentColor","inherit","initial","transparent","unset","whiteTranslucent","avatarBackground","avatarPlaceholderBackground","commentsDotBlueActive","commentsDotBlueInActive","commentJustPosted","sunglowYellow_alpha43","blue60","requireObjectCoercible","IS_PURE","Map","entries","IndexedObject","classof","isTableElement","getTrueOffsetParent","offsetParent","isFirefox","currentNode","transform","perspective","contain","willChange","getContainingBlock","defaultBackgroundColor","placeholderBackgroundColor","placeholderFillColor","withColorIndexTextColor","largeSize","largeFontSize","mediumSize","mediumFontSize","smallSize","smallFontSize","xlargeSize","xlargeFontSize","xxlargeSize","xxlargeFontSize","borderColor","medium","xlarge","xxlarge","defaultShadowColor","defaultHoverShadowColor","defaultActiveShadowColor","defaultTrackColor","defaultFillColor","subtleFillColor","highFillColor","mediumFillColor","lowFillColor","borderRadius","defaultColor","emphasisColor","subtleColor","main","defaultTextColor","hoverBackgroundColor","activeBackgroundColor","disabledBackgroundColor","disabledTextColor","iconColor","primary","secondary","defaultBorderColor","disabledBorderColor","tertiary","hoverTextColor","activeTextColor","iconHoverColor","danger","defaultSize","mobileSize","low","highest","outer","heading","hoverBorderColor","activeBorderColor","disabledOpacity","errorBorderColor","focusOutline","focusOutlineOffset","readOnlyBackgroundColor","readOnlyBorderColor","readOnlyTextColor","disabledColor","errorColor","warningColor","successColor","hoverColor","NUM_RECIPIENT_COLORS","tokens","avatar","avatarBadge","avatarGroup","bar","button","elevation","focus","form","icon","indexedColor","normalizedIndex","solid","link","defaultHoverColor","defaultActiveColor","defaultVisitedColor","subtleHoverColor","subtleActiveColor","subtleVisitedColor","lightColor","lightHoverColor","menuItem","selectedBackgroundColor","modal","smallWidth","mediumWidth","largeWidth","extraLargeWidth","marginTopSmallScreen","popover","selectionControl","selectedFillColor","selectedHoverFillColor","selectedActiveFillColor","scrim","opacityLevel","scrollShadow","tabs","hoverActiveBackgroundColor","indicatorColor","indicatorWidth","selectedTextColor","text","toolbar","buttonTokens","selectedHoverBackgroundColor","defaultHeight","mobileHeight","tooltip","tipSize","typography","detailExtraSmall","detailSmall","bodyMedium","bodyLarge","bodyExtraLarge","headingXXS","headingExtraSmall","headingSmall","headingMedium","headingLarge","headingExtraLarge","displayExtraSmall","displaySmall","displayMedium","displayLarge","sectionHeadline","textTransform","tab","inputLabel","toInteger","DOMIterables","Iterators","TO_STRING_TAG","wellKnownSymbol","COLLECTION_NAME","Collection","CollectionPrototype","useConstant","init","MapCache","memoize","resolver","memoized","Cache","consoleWarnMsgSet","msg","template","HelveticaNeue","MavenPro","getVariation","toFnRef","useMergedRefs","refA","refB","useMemo","mergeRefs","_taggedTemplateLiteral","strings","raw","iter","window$1","Config","DEBUG","LIB_VERSION","loc","hostname","location","referrer","screen","ArrayProto","FuncProto","ObjProto","windowConsole","navigator$1","document$1","windowOpera","opera","nativeBind","nativeForEach","nativeIndexOf","nativeMap","map","nativeIsArray","breaker","str","console$1","log","isUndefined","each","toArray","critical","log_func_with_prefix","console_with_prefix","bound","isFunction","ctor","bind_instance_methods","escapeHTML","escaped","isString","extend","results","item","identity","include","found","includes","needle","subclass","superclass","isEmptyObject","isDate","isNumber","nodeType","encodeDates","formatDate","pad","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","safewrap","safewrap_class","klass","functions","safewrap_instance_methods","strip_empty_properties","ret","truncate","val","JSONEncode","mixed_val","quote","string","escapable","lastIndex","holder","gap","mind","partial","toJSON","JSONDecode","ch","escapee","SyntaxError","number","uffff","fromCharCode","array","word","base64Encode","data","h1","h2","h3","h4","bits","b64","ac","enc","tmp_arr","utf8Encode","stringl","utftext","c1","UUID","se","random","ua","xor","byte_array","tmp","unshift","UA","isBlockedUA","HTTPBuildQuery","formdata","arg_separator","use_val","use_key","encodeURIComponent","getQueryParam","url","param","decodeURIComponent","getHashParam","hash","matches","match","cookie","nameEQ","parse","set_seconds","seconds","is_cross_subdomain","is_secure","is_cross_site","domain_override","cdomain","expires","secure","domain","extract_domain","date","setTime","getTime","toGMTString","days","new_cookie_val","remove","_localStorageSupported","localStorageSupported","storage","forceCheck","supported","localStorage","cheap_guid","setItem","getItem","removeItem","is_supported","force_check","register_event","fixEvent","event","preventDefault","stopPropagation","returnValue","cancelBubble","handler","oldSchool","useCapture","ontype","old_handler","new_handler","old_handlers","old_result","new_result","makeHandler","TOKEN_MATCH_REGEX","dom_query","getAllChildren","getElementsByTagName","bad_whitespace","hasClass","elem","getElementsBySelector","token","tagName","foundCount","currentContextIndex","currentContext","token_match","checkFunction","attrName","attrOperator","attrValue","lastIndexOf","query","campaignParams","campaign_keywords","kw","params","kwkey","URL","searchEngine","search","searchInfo","keyword","browser","user_agent","vendor","browserVersion","regex","os","device","referringDomain","properties","people_properties","pageviewInfo","page","maxlen","guid","determine_eligibility","feature","percent_allowed","SIMPLE_DOMAIN_MATCH_REGEX","DOMAIN_MATCH_REGEX","domain_regex","parts","tld","JSONStringify","JSONParse","getClassName","el","baseVal","isElementNode","isTag","isTextNode","shouldTrackElement","curEl","shouldTrackValue","JSON","stringify","autotrack","_initializedTokens","_previousElementSibling","previousElementSibling","previousSibling","_loadScript","scriptUrlToLoad","scriptTag","src","onload","scripts","_getPropertiesFromElement","attributes","attr","nthChild","nthOfType","currentElem","_getDefaultProperties","eventType","host","pathname","_extractCustomPropertyValue","customProperty","propValues","matchedElem","_getCustomProperties","targetElementList","_customProperties","eventSelector","eventElements","eventElement","_getEventTarget","srcElement","_trackEvent","shouldTrackDomEvent","elementText","elementsJson","explicitNoTrack","shouldTrackEl","safeElementText","elText","childNodes","textContent","getSafeText","track","_navigate","_addDomEventHandlers","get_config","_maybeLoadEditor","parseDecideResponse","response","title","_send_request","transport","_prepare_callback","_editorParamsFromHash","editorParams","expiresInSeconds","sessionStorage","history","replaceState","parseFromUrl","parseFromStorage","_loadEditor","editorUrl","enabledForProject","numBuckets","numEnabledBuckets","charCodeSum","isBrowserSupported","DomTracker","create_properties","event_handler","after_track_handler","mixpanel_instance","mp","event_name","user_callback","override_event","timeout","track_callback","timeout_occured","callback_fired","LinkTracker","evt","new_tab","which","metaKey","ctrlKey","FormTracker","submit","logger$2","SharedLock","storageKey","pollIntervalMS","timeoutMS","withLock","lockedCB","errorCB","pid","startTime","keyX","keyY","keyZ","reportError","delay","cb","loop","waitFor","predicate","getSetY","valY","Error","criticalSection","logger$1","RequestQueue","lock","memQueue","enqueue","flushInterval","queueEntry","succeeded","storedQueue","readFromStorage","saveToStorage","fillBatch","batchSize","batch","idsInBatch","orphaned","filterOutIDsAndInvalid","items","idSet","filteredItems","removeItemsByID","ids","updatePayloads","existingItems","itemsToUpdate","newItems","newPayload","storageEntry","logger","RequestBatcher","libConfig","sendRequest","sendRequestFunc","beforeSendHook","timeoutID","clearTimeout","resetBatchSize","resetFlush","scheduleFlush","flushMS","requestInProgress","currentBatchSize","dataForRequest","transformedItems","payload","batchSendCallback","res","removeItemsFromQueue","unloading","xhr_req","retryMS","headers","retryAfter","halvedBatchSize","floor","requestOptions","verbose","ignore_json_errors","timeout_ms","optIn","_optInOut","optOut","hasOptedIn","_getStorageValue","hasOptedOut","ignoreDnt","nav","hasDntOn","dntValue","_hasDoNotTrackFlagOn","addOptOutCheckMixpanelLib","_addOptOutCheck","addOptOutCheckMixpanelPeople","_get_config","addOptOutCheckMixpanelGroup","clearOptInOut","_getStorage","_getStorageKey","crossSubdomainCookie","cookieDomain","persistenceType","persistencePrefix","optValue","cookieExpiration","secureCookie","crossSiteCookie","trackEventName","trackProperties","getConfigValue","optedOut","SET_ACTION","SET_ONCE_ACTION","UNSET_ACTION","ADD_ACTION","APPEND_ACTION","UNION_ACTION","REMOVE_ACTION","apiActions","set_action","$set","_is_reserved_property","unset_action","$unset","set_once_action","$set_once","union_action","list_name","$union","append_action","$append","remove_action","$remove","delete_action","MixpanelGroup","_init","group_key","group_id","_mixpanel","_group_key","_group_id","set_once","union","date_encoded_data","_track_or_batch","endpoint","batcher","request_batchers","groups","conf","SET_QUEUE_KEY","SET_ONCE_QUEUE_KEY","UNSET_QUEUE_KEY","ADD_QUEUE_KEY","APPEND_QUEUE_KEY","REMOVE_QUEUE_KEY","UNION_QUEUE_KEY","PEOPLE_DISTINCT_ID_KEY","ALIAS_ID_KEY","CAMPAIGN_IDS_KEY","EVENT_TIMERS_KEY","RESERVED_PROPERTIES","MixpanelPersistence","config","campaign_params_saved","storage_type","load","update_config","upgrade","save","disabled","entry","old_cookie_name","old_cookie","upgrade_from_old_lib","register_once","_expire_notification_campaigns","expire_days","cross_subdomain","cross_site","cookie_domain","default_value","default_expiry","register","unregister","campaigns_shown","EXPIRY_TIME","campaign_id","update_campaign_params","update_search_keyword","update_referrer_info","get_referrer_info","safe_merge","set_disabled","set_cookie_domain","set_cross_site","set_cross_subdomain","set_secure","get_cross_subdomain","_add_to_people_queue","q_key","_get_queue_key","q_data","set_q","_get_or_create_queue","set_once_q","unset_q","add_q","union_q","remove_q","append_q","_pop_from_people_queue","enqueued_obj","append_obj","_get_queue","queued_action","default_val","set_event_timer","timers","remove_event_timer","IN_OPERATOR","NOT_IN_OPERATOR","MINUS_OPERATOR","MUL_OPERATOR","DIV_OPERATOR","MOD_OPERATOR","EQUALS_OPERATOR","NOT_EQUALS_OPERATOR","GREATER_OPERATOR","LESS_OPERATOR","GREATER_EQUAL_OPERATOR","LESS_EQUAL_OPERATOR","BOOLEAN_OPERATOR","DATETIME_OPERATOR","LIST_OPERATOR","NUMBER_OPERATOR","STRING_OPERATOR","DEFINED_OPERATOR","NOT_DEFINED_OPERATOR","toNumber","toBoolean","evaluateEquality","op","_isArrayEqual","_isEqual","evaluateSelector","evaluateOperator","evaluateAnd","evaluateOr","leftValue","rightValue","evaluateIn","evaluatePlus","evaluateArithmetic","compare","localeCompare","evaluateComparison","evaluateBoolean","evaluateDateTime","evaluateList","evaluateNumber","evaluateString","evaluateDefined","evaluateNot","evaluateOperand","out","evaluateWindow","filters","MixpanelNotification","notif_data","mixpanel","persistence","resource_protocol","cdn_host","message_id","cta","notif_type","video_width","VIDEO_WIDTH","video_height","VIDEO_HEIGHT","display_triggers","dest_url","image_url","thumb_image_url","video_url","clickthrough","mini","notif_width","NOTIF_WIDTH_MINI","NOTIF_WIDTH","_set_client_config","imgs_to_preload","_init_image_html","_init_video","ANIM_TIME","MARKUP_PREFIX","BG_OPACITY","NOTIF_TOP","NOTIF_START_TOP","NOTIF_HEIGHT_MINI","THUMB_BORDER_SIZE","THUMB_IMG_SIZE","THUMB_OFFSET","show","body_el","_init_styles","_init_notification_el","_preload_images","_attach_and_animate","dismiss","marked_as_shown","_mark_delivery","notif_attr","notif_start","notif_goal","exiting_el","showing_video","_get_el","_get_notification_display_el","use_transitions","_remove_class","_add_class","_remove_notification_el","_animate_els","goal","class_name","anims","mss","done_cb","start_time","ai","time_diff","in_progress","cur_time","anim_diff","anim_dir","suffix","shown","_get_shown_campaigns","notification_el","notif_el","_mark_as_shown","click_el","show_video","_track_event","_switch_to_video","tracking_cb","open","_matches_event_data","event_data","display_trigger","_browser_lte","version","browser_versions","img_html","thumb_img_html","notification_html","video_src","video_html","cancel_html","close_html","play_html","youtube_video","yt_custom","vimeo_video","video_iframe","flip_animate","main_html","innerHTML","style_vals","bg","bg_actions","bg_hover","bg_light","border_gray","cancel_opacity","mini_hover","text_title","text_main","text_tagline","text_hover","shadow","video_shadow","mini_shadow","thumb_total_size","anim_seconds","notif_media_queries","notif_styles","doc_width","doc_height","VENDOR_STYLES","VENDOR_PREFIXES","si","pi","media_queries","create_style_text","style_defs","st","style_text","mq_defs","mqt","mq","create_media_query_text","head_el","style_el","styleSheet","cssText","inject_styles","youtube_match","vimeo_match","_yt_video_ready","firstScriptTag","get_style","style_name","currentStyle","extra_props","all_loaded_cb","preloaded_imgs","img_objs","img","Image","complete","imgs_loaded","clearInterval","_video_progress_checker","visibility","get_browser_version","browser_ex","ActiveXObject","offsetWidth","offsetHeight","ie_ver","sample_styles","is_css_compatible","toUpperCase","overlay","video_ready","video_inited","progress_bar","progress_time","progress_el","ytplayer","video_duration","update_video_time","current_time","secs","mins","hours","setInterval","clickx","pageX","init_type","mixpanel_master","MixpanelPeople","increment","by","$add","append","track_charge","amount","clear_charges","delete_user","_identify_called","get_distinct_id","device_id","get_property","user_id","had_persisted_distinct_id","people","_enqueue","status","conf_var","_flags","identify_called","_flush_one_queue","action","action_method","queue_to_params_fn","_this","queued_data","action_params","_flush","_set_callback","_add_callback","_append_callback","_set_once_callback","_union_callback","_unset_callback","_remove_callback","$append_queue","$remove_queue","$append_item","append_callback","pop","$remove_item","remove_callback","IDENTITY_FUNC","NOOP_FUNC","PRIMARY_INSTANCE_NAME","USE_XHR","XMLHttpRequest","ENQUEUE_REQUESTS","sendBeacon","DEFAULT_CONFIG","DOM_LOADED","MixpanelLib","create_mplib","_cached_groups","_user_decide_check_complete","_events_tracked_before_user_decide_check_complete","_execute_array","encode_data_for_request","json_data","_loaded","variable_features","api_host","is_custom_api","set_config","__dom_loaded_queue","__request_queue","__disabled_events","_batch_requests","init_batchers","events","unpersisted_superprops","_gdpr_init","uuid","_set_default_superprops","_dom_loaded","_track_dom","has_opted_out_tracking","DomClass","dt","jsc","randomized_cb","callback_string","DEFAULT_OPTIONS","body_data","use_post","use_sendBeacon","verbose_mode","req","headerValue","headerName","setRequestHeader","withCredentials","onreadystatechange","readyState","responseText","statusText","send","script","async","defer","fn_name","alias_calls","other_calls","tracking_calls","execute","calls","caller","are_batchers_initialized","batcher_for","attrs","queue_suffix","_run_hook","start_batch_senders","stop_batch_senders","disable","disable_all_events","truncated_data","should_send_immediately","send_request_options","request_enqueued_or_initiated","send_request_immediately","skip_hooks","_event_is_disabled","start_timestamp","duration_in_ms","property_blacklist","blacklisted_prop","_check_and_handle_triggered_notifications","set_group","group_ids","add_group","old_values","remove_group","old_value","idx","track_with_groups","tracking_props","_create_map_key","_remove_group_from_cache","get_group","map_key","group","track_pageview","track_links","track_forms","time_event","REGISTER_DEFAULTS","options_for_register","days_or_options","property","_register_single","identify","new_distinct_id","previous_distinct_id","_check_and_handle_notifications","reset","alias","original","name_tag","prop_name","hook_name","property_name","_show_notification","distinct_id","notifications","notif","_handle_user_decide_check_complete","shift","has_opted_in_tracking","opt_in_tracking","opt_out_tracking","clear_opt_in_out_tracking","_gdpr_update_persistence","_gdpr_call_func","instances","override_mp_init_func","dom_loaded_handler","inst","attachEvent","toplevel","frameElement","doScroll","do_scroll_check","add_dom_loaded_handler","freeGlobal","freeSelf","root","toIndexedObject","addToUnscopables","InternalStateModule","defineIterator","ARRAY_ITERATOR","setInternalState","getInternalState","getterFor","iterated","kind","Arguments","bitmap","activeXDocument","definePropertiesModule","enumBugKeys","hiddenKeys","documentCreateElement","sharedKey","IE_PROTO","EmptyConstructor","LT","NullProtoObjectViaActiveX","close","temp","parentWindow","NullProtoObject","iframeDocument","iframe","contentWindow","NullProtoObjectViaIFrame","Properties","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","list","parameters","chunkStart","OliveImages","assignedSlot","defaultKey","substr","_toPropertyKey","input","hint","prim","_toPrimitive","useUncontrolledProp","propValue","defaultValue","wasPropRef","_useState","useState","stateValue","setState","isProp","wasProp","useUncontrolled","fieldName","_extends2","Utils","propsValue","rest","handlerName","_useUncontrolledProp","componentWillMount","getDerivedStateFromProps","componentWillReceiveProps","nextProps","prevState","componentWillUpdate","nextState","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","__suppressDeprecationWarning","easingLookup","harmonize","linear","opacity","snap","spring","getEasingValue","ease","getDefaultTransition","transition","isTransitionMap","firstValue","getEasingTransition","easedTransitions","ComponentWithoutMotion","onAnimationStart","onAnimationEnd","filteredProps","isValidMotionProp","animate","variants","filterMotionProps","Motion","as","whileHover","onHoverStart","onHoverEnd","whileTap","onTapStart","onTapEnd","onTapCancel","restProps","transitionWithEase","createDomMotionComponent","isMotionDisabled","component","onTap","onAnimationComplete","MotionPresence","exitBeforeEnter","onExit","onExitComplete","murmur2","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","unitless","handleInterpolation","mergedProps","interpolation","couldBeSelectorInterpolation","__emotion_styles","interpolated","createStringFromObject","previousCursor","cached","labelPattern","stringMode","identifierName","hashString","rHyphen","_excluded","pascalCase","chr","createWithBsPrefix","_temp","_ref$displayName","defaultProps","BsComponent","_ref2","bsPrefix","_ref2$as","Tag","resolvedPrefix","unresolvedJobs","pushJob","stack","job","pointer","reads","writes","setRead","setWrite","numStacks","executeJob","createChainedFunction","funcs","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","initialStatus","appear","isMounting","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","_this2","appearing","nodeRef","ReactDOM","findDOMNode","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExiting","onExited","setNextCallback","_this4","active","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","_this$props","childProps","TransitionGroupContext","cloneElement","Children","only","contextType","propTypes","i18nLinks","url_paths","term","es_mx","fr_ca","en_au","en_gb","en_ca","iterm","privacy","iprivacy","ip","iip","support","ariadnext_aes","ariadnext_qes","idv_eu_adv","radmin_new_doc_to_guide_map","comments","replace_language_to","dses","idnow","defrjp","to_be_localized_pages","base_url","replacement","languages","equal","localized_license_pages","IP","countryToLanguage","au","br","cn","cz","dk","gb","gr","us","ee","ir","fi","il","hr","hu","jp","kr","lt","lv","my","mx","no","ro","sk","th","tr","tw","vn","baseURL_keys","baseURLs","supportToHelpCenterUrls","releasenotes","localizeURL","language","radminNewDocUrl","helpUrl","langCode","convertSupportToHelp","languageTo","getLink","topic","paths","_getLink","standardFooterLinks","CONTACT_US","textId","TERMS","PRIVACY","INTELLECTUAL_PROPERTY","XDTM","TRUST","defaultFooterLinks","defaultLinkRel","defaultLinkTarget","matchesImpl","qsa","optionsSupported","onceSupported","canUseDOM","eventName","once","capture","wrappedHandler","__once","onceHandler","useGlobalListener","eventTarget","listener","useEventListener","DropdownContext","useSafeState","isMounted","mounted","useMounted","createPopper","popperGenerator","defaultModifiers","hide","computeStyles","eventListeners","flip","preventOverflow","arrow","initialPopperStyles","pointerEvents","disabledApplyStylesModifier","enabled","ariaDescribedByModifier","phase","effect","_state$elements","removeAttribute","_popper$getAttribute","_state$elements2","role","EMPTY_MODIFIERS","usePopper","popperElement","_ref3$enabled","_ref3$placement","_ref3$strategy","_ref3$modifiers","modifiers","popperInstanceRef","_popperInstanceRef$cu","_popperInstanceRef$cu2","_useSafeState","popperState","updateModifier","requires","_ref4","setOptions","destroy","listen","componentOrElement","safeFindDOMNode","getRefTarget","useRootClose","onRootClose","_ref$clickTrigger","clickTrigger","preventMouseRootCloseRef","onClose","handleMouseCapture","currentTarget","warning","altKey","shiftKey","isLeftClickEvent","compareDocumentPosition","handleMouse","handleKeyUp","keyCode","currentEvent","doc","removeMouseCaptureListener","removeMouseListener","removeKeyupListener","mobileSafariHackListeners","mergeOptionsWithPopperConfig","_modifiers$preventOve","_modifiers$preventOve2","_modifiers$offset","_modifiers$arrow","enableEvents","fixed","containerPadding","arrowElement","_ref$popperConfig","popperConfig","toModifierMap","useDropdownMenu","_useCallbackRef","attachArrowRef","hasShownRef","rootCloseEvent","_options$fixed","_options$popperConfig","_options$usePopper","shouldUsePopper","alignEnd","drop","setMenu","menuElement","toggleElement","menuProps","metadata","hasShown","toggle","arrowProps","PropTypes","isRequired","bool","oneOf","DropdownMenu","_useDropdownMenu","Fragment","useDropdownToggle","_ref$show","_ref$toggle","setToggle","handleClick","onClick","DropdownToggle","_useDropdownToggle","focusFirstItemOnShow","itemSelector","defaultShow","onToggle","useRefWithUpdate","useForceUpdate","attachRef","Dropdown","rawShow","rawOnToggle","_ref$itemSelector","_useRefWithUpdate","menuRef","_useRefWithUpdate2","toggleRef","lastShow","usePrevious","lastSourceEvent","focusInDropdown","nextShow","focusToggle","maybeFocusFirst","focusType","nativeMatch","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","first","getNextFocusedChild","_menuRef$current","_toggleRef$current","fromMenu","fromToggle","Menu","Toggle","SafeAnchor","DropdownItem","onSelect","propActive","onSelectCtx","activeKey","NavContext","useWrappedRefWithWarning","componentName","getMargins","marginBottom","alignDirection","oneOfType","shape","sm","md","lg","xl","align","alignRight","showProps","renderOnMount","_ref$as","isNavbar","NavbarContext","_usePopperMarginModif","overlayRef","margins","arrowMargins","popoverClass","dropdownMenuClass","_margins$current","_arrowMargins$current","requiresIfExists","_getMargins","usePopperMarginModifiers","popperRef","marginModifiers","alignClasses","brkPoint","_useDropdownMenu$","childBsPrefix","Button","toggleProps","DropdownHeader","DropdownDivider","DropdownItemText","pProps","_useUncontrolled","_useUncontrolled$as","navbar","handleToggle","handleSelect","BaseDropdown","Divider","Header","Item","ItemText","NavDropdown","menuRole","renderMenuOnMount","navItemPrefix","NavLink","NATIVE_WEAK_MAP","objectHas","OBJECT_ALREADY_INITIALIZED","WeakMap","store","wmget","wmhas","wmset","facade","STATE","enforce","TYPE","propertyIsEnumerableModule","TAG","SET_METHOD","stringSlice","getBuiltIn","VisibilityAction","allOliveIcons","OliveDocuSignTheme","icons","EmptyState","maxWidth","header","footer","AboveInputContainer","GlobalBaseCss","GlobalMessage","innerWrap","closeButton","outerWrap","information","neutral","promo","success","iconKind","Heading","breakpoints","InlineMessage","compact","menuWidthHelper","MenuContainer","minWidth","ProgressBar","svg","indicator","SelectionControlGroup","legend","fieldset","TableRow","row","borderLeftColor","withAction","striped","indeterminateTrackColor","indeterminateFillColor","buttonGroupSeparatorColor","separatorColor","focusBorderColor","breadcrumb","selectedDarkBackgroundColor","selectedDarkHoverBackgroundColor","selectedDarkTextColor","breadcrumbActive","DS_INDIGO_FONT_FAMILY","indexedColorPalette","NUM_COLORS","letterSpacing","STRING_ITERATOR","point","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","$this","callbackfn","specificCreate","boundFunction","some","every","find","findIndex","filterOut","baseIsNative","getValue","IS_FILTER_REJECT","filterReject","normalize","Schema","DefinedInfo","definition","space","mustUseProperty","normal","attribute","constant","createInverter","nativeObjectToString","invert","_unsupportedIterableToArray","minLen","useUnmountEffect","useTheme","useThemeContext","themeName","consoleWarn","docuSignThemeName","fontGroups","ds_indigo","file","family","weight","extensions","helvetica_neue","HelveticaNeueW01_55Roma","HelveticaNeueW01_75Bold","maven_pro","maven_pro_regular","maven_pro_bold","salesforce_sans","SalesforceSans_Regular","signature","Docusign_1","Docusign_2","Docusign_3","Docusign_4","Docusign_5","Docusign_6","Docusign_7","Docusign_8","Mistral","Rage","TA_akiko","TA_asako","TA_sourin_fude_02","TA_yubi_hyojun_kaisyo","neue_haas_grotesk","neue_haas_grotesk_lite","neue_haas_grotesk_regular","neue_haas_grotesk_bold","getMainAxisFromPlacement","pageXOffset","pageYOffset","isScrollParent","_getComputedStyle","overflowX","overflowY","getLayoutRect","clientRect","abs","vfile","unified","remarkRehype","uriTransformer","childrenToReact","hastChildrenToReact","ReactMarkdown","own","deprecated","renderers","astPlugins","allowDangerousHtml","escapeHtml","allowNode","allowedTypes","disallowedTypes","includeNodeIndex","deprecation","warn","processor","remarkPlugins","plugins","rehypePlugins","hastNode","runSync","schema","listDepth","transformLinkUri","allowElement","allowedElements","arrayOf","disallowedElements","unwrapDisallowed","sourcePos","rawSourcePos","skipHtml","includeElementIndex","linkTarget","transformImageUri","components","isTrivialHref","onKeyDown","tabIndex","within","mathMax","mathMin","Parent","Class","_cache","Prism","uniqueId","util","encode","Token","objId","clone","visited","redef","inside","grammar","newToken","DFS","highlight","env","hooks","run","tokenize","matchGrammar","strarr","startPos","oneshot","patterns","pattern","lookbehind","greedy","lookbehindLength","flags","pos","delNum","after","wrapped","matchedStr","aliases","markup","includedCdataInside","def","mathml","xml","ssml","atom","rss","envVars","commandAfterHeredoc","insideString","bash","toBeCopied","shell","clike","cpp","addInlined","selectorInside","unit","javascript","js","stringifyToken","walkTokens","openedTags","notTagNorBrace","openedBraces","plainText","withId","maybeClassNameTokens","comment","coffeescript","coffee","diff","PREFIXES","git","go","graphql","markdown","getPlaceholder","buildPlaceholders","placeholderPattern","replaceFilter","tokenStack","placeholder","tokenizePlaceholders","middle","handlebars","punctuation","json","webmanifest","less","makefile","createInline","tableCell","tableRow","tableLine","yaml","codeLang","codeBlock","autoloader","valueOf","loadLanguages","objectivec","objc","ocaml","python","py","reason","function","sass","atrule","operator","important","scss","sql","stylus","typescript","typeInside","ts","tsx","wasm","anchorOrAlias","plainKey","createValuePattern","yml","plain","types","textDecorationLine","fontStyle","newlineRe","normalizeEmptyLines","empty","appendTypes","typesSize","themeToDict","base","themeDict","themeEntry","accStyle","objectWithoutProperties","exclude","Highlight","this$1","prevTheme","prevLanguage","output","getThemeDict","baseStyle","typeStyles","getStyleForToken","typeArrStack","tokenArrStack","tokenArrIndexStack","tokenArrSizeStack","stackIndex","currentLine","splitByNewlines","newlineCount","i$1","normalizeTokens","getLineProps","getTokenProps","getScrollParent","scrollParent","isBody","updatedList","TabContext","AbstractNav","getControlledId","getControllerId","needsRefocusRef","parentOnSelect","tabContext","listNode","getNextActiveChild","currentListNode","activeChild","nextIndex","mergedRef","nextActiveChild","dataset","rbEventKey","NavItem","Nav","uncontrolledProps","_classNames","navbarBsPrefix","cardHeaderBsPrefix","initialBsPrefix","variant","fill","justify","navbarScroll","navbarContext","cardContext","CardContext","Link","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Enter","End","Escape","Home","Shift","Space","Tab","IE","isEscape","Shroud","light","motionVariants","duration","defaultIgnoreEvents","ignoreEvent","visible","ignoreEventTypes","useIsInk","shroudRef","useThemeStyles","shroudStyles","shroudElement","dataProps","flexDirection","initialFocus","modalBase","noPadding","heightContent","heightFixed","heightWindow","widthXlarge","widthLarge","widthMedium","widthSmall","enterScale","enterOpacity","exitScale","exitOpacity","ModalBase","accessibilityTitle","forwardedRef","modalContainerStyles","modalBaseStyles","closeButtonStyles","CloseButtonNode","ariaText","headerText","getAriaTextFromHeader","aria-modal","aria-label","CustomPropTypes","transitionDuration","transitionProperty","transitionTimingFunction","CreateFocusCss","visuallyHidden","dark","PopoverClose","useTranslate","onProps","ModalClose","TextEllipsis","textOverflow","WebkitBoxOrient","breakAll","wordBreak","lines","textEllipsisStyles","textAlign","linkCursor","DisplayLevel","displayLevel","level","BaseHeading","maxLines","rel","baseHeadingStyles","BaseHeadingTag","conditionalTag","TagName","TagAttributes","TextEllipsisNode","linkStyles","ariaProps","ModalHeader","ModalBody","targetElement","setTargetElement","useIntersectionObserver","bodyStyles","buttons","PopoverFooter","primaryButton","secondaryButton","InkFooter","legacy","ModalFooter","removeAriaHiddenAttributes","isNotAriaHidden","modalsContainerClass","modalsContainerStyles","ModalPortal","targetId","modalsContainer","setModalsContainer","ariaHiddenSiblings","EXISTING_MODALS_CONTAINER","portalTarget","portalTargetObserver","testNode","modalsContainerNode","mutations","siblings","addAriaHiddenAttributes","childList","subtree","ModalPortalChild","globalIds","OliveReactModals","Modal","shrouded","setModal","initialFocusId","useUniqueId","lastFocusedElement","modalExited","bodyScroll","trapTabNavigation","handleKeydown","useEscapeListener","ModalWithShroud","ModalContainer","TableBody","ReactRef","TableContext","useTableContext","cell","borderRight","withBorder","paddingBottom","paddingTop","TableCell","colSpan","rowSpan","tableContext","cellStyles","hideText","tableHeaderCellAlignments","tableHeaderCellSortDirections","ICON_KINDS","ascending","descending","sortable","TableHeaderCell","columnAlign","columnWidth","sortDirection","scope","textStyles","iconStyles","SortDirectionNode","InnerNode","cellInlineStyles","aria-sort","useInitializer","valueRef","initializer","nativeMatches","closest","useFuseDependencies","deps","previousDeps","setPreviousDeps","changeNumber","setChangeNumber","dep","DelegatedClick","actionKey","ignoreKey","handleContainerClick","actionElement","labeledId","shouldClick","actionElements","containerElement","logWarnOnce","hasActionElement","selected","tableRowKinds","_style","TableRowRef","isWithAction","dependencies","setHasActionElement","delegatedClick","externalDeps","dataDelegateValue","containerRef","useDelegatedClick","tableRowStyles","sticky","zIndexes","TableHeader","hidden","mappedChildren","hasRowChildren","hasNonRowChildren","childIsRow","enhanceCells","consoleError","tableHeaderStyles","childIsHeaderCell","table","borderCollapse","borderSpacing","Table","TableRef","TableHeaderRow","TableBodyRows","tableHeader","columnStyles","colStyle","versions","v8","ITERATOR","getRawTag","objectToString","symToStringTag","toStringTag","SPECIES","defaultConstructor","PromiseCapability","promise","$$resolve","$$reject","Deno","propertyKey","usingIterator","iteratorMethod","getMethod","aConstructor","loose","argIndex","framesToPop","_arrayLikeToArray","arr2","STANDARD_LOG_URLS","PROD","DEMO","STAGE","TEST","initialState","appDescription","simulateAnalytics","suppressDeprecations","STATE_WINDOW_VAR_NAME","componentsConfig","isBrowser","urlOrName","loggingUrl","getAppDescription","baseUrl","normalizedBaseUrl","fontGroupDeclarations","oliveSystem","fonts","validMotionProps","translateText","dictionary","dictionaries","dict","translatedPhrase","interpolateTranslation","translatedPlural","getPluralPhrase","interpolatedString","substitutionParameter","pluralPhrases","count","pluralOtherTranslation","translation","calculatePluralCategory","toLowerCaseLocale","num","getPluralCategory","langListeners","getLang","addLangListener","mutationObserver","attributeFilter","removeLangListener","remover","cs","et","he","hi","hy","ms","nb","sl","sv","uk","vi","predefinedPolicy","effectiveTimeZone","effectiveNameFormat","effectiveInitialFormat","effectiveAddressFormat","baseLocalePolicy","predefinedPolicyV2","baseLocalePolicyV2","_getBaseLocalePolicy","baseLocalePolicies","predefined","predefinedPolicies","_getSupportedCultureName","region","languageOrRegion","regionOnly","fallback","_getLocalePolicy","_getRegionLocalePolicy","getLocalePolicy","ceil","PREFERRED_STRING","postfix","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","internalObjectKeys","aPossiblePrototype","setter","CORRECT_SETTER","V8_VERSION","METHOD_NAME","foo","Boolean","alphabet","previousSeed","shuffled","randomFromSeed","ORIGINAL","setCharacters","_alphabet_","unique","ind","getShuffled","characterIndex","sourceArray","targetArray","nextValue","shuffle","characters","seed","lookup","nativeCreate","getNative","eq","isKeyable","__data__","isSymbol","getOwnPropertyNames","Prototype","inspectSource","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","markdownLineEnding","factorySpace","partialBlankLine","sizeChunks","tail","sliceStream","asciiAlphanumeric","regexCheck","encodeCache","keepEscaped","nextCode","defaultChars","getEncodeCache","componentChars","powers","pow","boolean","booleanish","overloadedBoolean","spaceSeparated","commaSeparated","commaOrSpaceSeparated","validators","allPropTypes","validator","_createChainableTypeChecker2","_createChainableTypeChecker","__esModule","_isNativeReflectConstruct","_createForOfIteratorHelper","allowArrayLike","normalCompletion","didErr","_e2","Lazy","lazyDocument","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getKeys","symbol","getEnumerableOwnPropertySymbols","propertyIsOnObject","mergeObject","destination","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","prev","deepmerge_1","_react","_react2","_interopRequireDefault","_propTypes2","_classnames2","cleanups","desc","defs","sketchMSShapeGroup","sketchMSPage","sketchMSLayerGroup","SVGInline","_Component","_props","accessibilityLabel","accessibilityDesc","classSuffix","cleanupExceptions","componentProps","_props2","cleanup","svgClasses","svgStr","cleanupSvg","_pos","idCount","dangerouslySetInnerHTML","__html","olive","ink","normalizedPath","logoDsWhite","navArrow","accountsBlue","accounts","adminTiles","appliancePoolsBlue","appliancePools","auditLogsBlue","auditLogs","bulkActionsBlue","bulkActions","connectedAppsBlue","connectedApps","dataFeedsBlue","dataFeeds","directoryRoutingBlue","directoryRouting","displayBlue","domainsBlue","domains","envelopeTransferBlue","envelopeTransfer","groupsBlue","orgAdminsBlue","orgAdmins","organizationDetailsBlue","organizationDetails","permissionSetsBlue","permissionSets","profileBlue","profile","providersBlue","providers","securityBlue","security","usersBlue","users","avatarPlaceholderWhite","avatarPlaceholder","badgeBriefcase","badgeCalendar","badgeCrown","badgeDocument","badgeDocumentAdd","badgeDraft","badgeDraftHover","badgeHouse","badgeOffice","badgePhone","badgeSign","badgeSignHover","badgeSupport","badgeTemplate","badgeTemplateHover","badgeUpgrade","badgeUpgradeHover","badgeUpload","badgeUploadHover","badgeUser","badgeUserPlaceholder","badgeUsers","planbadgeBusinesspro","planbadgeDeveloper","planbadgeEnterprisepro","planbadgeFree","planbadgePersonal","planbadgeRealestate","planbadgeStandard","bgHeroMyAccount","bgHero","docusignAppLogoAdmin","docusignAppLogoClm","docusignAppLogoDtr","docusignAppLogoEsign","logoAndNameAdmin","logoAndNameAdmin2","logoAndNameClm","logoAndNameDtr","logoAndNameESign","logoAndNameInsight","logoAndNameInsightBlack","logoAndNameNonProduct","logoAndNameSeal","easySignAddUserIcon","easySignAdminAvatar","easySignAmexLogo","easySignCheckmark","easySignCustomAvatar","easySignDirectDebitLogo","easySignMastercardLogo","easySignPaypalLogo","easySignSenderAvatar","easySignSepaLogo","easySignViewerAvatar","easySignVisaLogo","agreementsEmptyState","emptyStateManageBgd","androidChrome_192x192","androidChrome_512x512","appleTouchIcon","favicon_16x16","favicon_32x32","favicon","mstile_144x144","mstile_150x150","mstile_310x150","mstile_310x310","mstile_70x70","safariPinnedTab","branding","bulksend","correct","powerforms","templates","documentCsv_2x","documentDoc_2x","documentDocx_2x","documentGif_2x","documentJpeg_2x","documentJpg_2x","documentNone_2x","documentPdf_2x","documentPng_2x","documentPpt_2x","documentPptx_2x","documentRtf_2x","documentTif_2x","documentTiff_2x","documentTxt_2x","documentUnknown_2x","documentXls_2x","documentXlsx_2x","folder","image","pdf","presentation","spreadsheet","unknown","unsupported","flagAd","flagAe","flagAf","flagAg","flagAi","flagAl","flagAm","flagAo","flagAq","flagAr","flagAs","flagAt","flagAu","flagAw","flagAx","flagAz","flagBa","flagBb","flagBd","flagBe","flagBf","flagBg","flagBh","flagBi","flagBj","flagBl","flagBm","flagBn","flagBo","flagBq","flagBr","flagBs","flagBt","flagBv","flagBw","flagBy","flagBz","flagCa","flagCc","flagCd","flagCf","flagCg","flagCh","flagCi","flagCk","flagCl","flagCm","flagCn","flagCo","flagCr","flagCu","flagCv","flagCw","flagCx","flagCy","flagCz","flagDe","flagDj","flagDk","flagDm","flagDo","flagDz","flagEc","flagEe","flagEg","flagEh","flagEr","flagEsCa","flagEsGa","flagEs","flagEt","flagEu","flagFi","flagFj","flagFk","flagFm","flagFo","flagFr","flagGa","flagGbEng","flagGbNir","flagGbSct","flagGbWls","flagGb","flagGd","flagGe","flagGf","flagGg","flagGh","flagGi","flagGl","flagGm","flagGn","flagGp","flagGq","flagGr","flagGs","flagGt","flagGu","flagGw","flagGy","flagHk","flagHm","flagHn","flagHr","flagHt","flagHu","flagId","flagIe","flagIl","flagIm","flagIn","flagIo","flagIq","flagIr","flagIs","flagIt","flagJe","flagJm","flagJo","flagJp","flagKe","flagKg","flagKh","flagKi","flagKm","flagKn","flagKp","flagKr","flagKw","flagKy","flagKz","flagLa","flagLb","flagLc","flagLi","flagLk","flagLr","flagLs","flagLt","flagLu","flagLv","flagLy","flagMa","flagMc","flagMd","flagMe","flagMf","flagMg","flagMh","flagMk","flagMl","flagMm","flagMn","flagMo","flagMp","flagMq","flagMr","flagMs","flagMt","flagMu","flagMv","flagMw","flagMx","flagMy","flagMz","flagNa","flagNc","flagNe","flagNf","flagNg","flagNi","flagNl","flagNo","flagNp","flagNr","flagNu","flagNz","flagOm","flagPa","flagPe","flagPf","flagPg","flagPh","flagPk","flagPl","flagPm","flagPn","flagPr","flagPs","flagPt","flagPw","flagPy","flagQa","flagRe","flagRo","flagRs","flagRu","flagRw","flagSa","flagSb","flagSc","flagSd","flagSe","flagSg","flagSh","flagSi","flagSj","flagSk","flagSl","flagSm","flagSn","flagSo","flagSr","flagSs","flagSt","flagSv","flagSx","flagSy","flagSz","flagTc","flagTd","flagTf","flagTg","flagTh","flagTj","flagTk","flagTl","flagTm","flagTn","flagTo","flagTr","flagTt","flagTv","flagTw","flagTz","flagUa","flagUg","flagUm","flagUn","flagUs","flagUy","flagUz","flagVa","flagVc","flagVe","flagVg","flagVi","flagVn","flagVu","flagWf","flagWs","flagXk","flagYe","flagYt","flagZa","flagZm","flagZw","carbonCloud","greenScoreLogo","pineTree","trashBin","waterDrop","barcodeGhostLandscape","barcodeGhostPortrait","idcardDesktopBack","idcardDesktopFront","idcardGhostLandscape","idcardGhostPortrait","idcardLaptopBack","idcardLaptopFront","idcardMobileBack","idcardMobileFront","idcardPhoneBack","idcardPhoneFront","idvLogoAuthentify","idvLogoDigitalId","idvLogoFranceConnect","idvPhotoidDesktopPassport","idvPhotoidDesktopPhotoidBack","idvPhotoidDesktopPhotoidFront","idvPhotoidHowtoDeskTopPassport","idvPhotoidHowtoDeskTopPhotoidBack","idvPhotoidHowtoDeskTopPhotoidFront","idvPhotoidHowtoMobilePassport","idvPhotoidHowtoMobilePhotoidBack","idvPhotoidHowtoMobilePhotoidFront","idvPhotoidMobilePassport","idvPhotoidMobilePhotoidBack","idvPhotoidMobilePhotoidFront","idvPhotoidValidationNameMatching","idvPhotoidValidationUpload","idvPhotoidValidationVerification","idvPhotoidValidationVerified","idvSignerheldInstructions","idvUserConsent","passportDesktop","passportGhostLandscape","passportGhostPortrait","passportLaptop","passportMobile","passportPhone","smartcard","verifyPhoneCall","verifySms","idvIconCamera","idvIconFlip","idvIconImageUpload","idvIconPassport","idvIconPhotoId","idvIconPhotoIdBack","idvIconSmartCardEId","idvInstructionsPassportFrame","idvKbaSuccess","idvLogoBankIdMobNo","idvLogoBankIdNo","idvLogoBankIdNoIconOnly","idvLogoBankIdSe","idvLogoFinnishBank","idvLogoFtn","idvLogoFtnIconOnly","idvLogoIdIn","idvLogoItsMe","idvLogoKba","idvLogoNemId","idvLogoOneId","idvLogoOtherCountry","idvManualReviewAccepted","idvManualReviewRejected","idvManuelReviewPending","idvNoIdentification","idvVerifiedMe","anotherIcon","brandingIcon","checklistBanner_320","checklistBanner_544","checklistBanner_768","clickwrap","deviceMobileFrameDisabled","deviceMobileFrame","deviceMonitorFrame","deviceTabletFrame","emptyStateBulkRooms","fileAdd","fileDrop","getTheApp_150px","meerkatWelcome","ndseFunctionalEmptyState","ndseFunctionalTemplates","ndseGoToMobileApp","ndseManage","ndseMe","ndseOthers","ndseOutOfSends","ndsePaidConversion","ndsePaidTrial","ndseSelected","ndseSendAnother","ndseSendDocuments","ndseTemplates","ndseTryTemplates","ndseUpgrade","ndseUseTemplates","ndseWelcome_2","ndseWelcome","ndseNoTemplates","onTheGo","onboardingModalBg_320","onboardingModalBg_544","onboardingModalBg_768","postSendingAddUser","postSendingBranding","postSendingCelebration","postSendingCloudIntegrations","postSendingEmpty","postSendingExceed","postSendingFavoriteTemplate","postSendingFirstsent","postSendingFlying","postSendingForest","postSendingScale","postSendingSend","postSendingTemplate","postSendingThumbnail","postSendingTrack","postSendingUpgrade","postSendingUrgent","promoAddUser_100px","promoAddUser_320px","promoAddUser_544px","promoAnother_100px","promoAnother_320px","promoAnother_544px","promoApp_100px","promoApp_320px","promoApp_544px","promoBanner","promoBanner_320px","promoBanner_544px","promoBanner_980px","promoBulkRooms_100px","promoBulkRooms_320px","promoBulkRooms_544px","promoBulkSend_100px","promoBulkSend_320px","promoBulkSend_544px","promoLivechat_100px","promoLivechat_320px","promoLivechat_544px","promoManage_100px","promoManage_320px","promoManage_544px","promoPaidConversion_100px","promoPaidConversion_320px","promoPaidConversion_544px","promoReferral_100px","promoReferral_320px","promoReferral_544px","promoSandbox_100px","promoSandbox_320px","promoSandbox_544px","promoTemplate_100px","promoTemplate_320px","promoTemplate_544px","promoUpgradeAlt_100px","promoUpgradeAlt_320px","promoUpgradeAlt_544px","promoUpgrade_100px","promoUpgrade_320px","promoUpgrade_544px","promoZipform_100px","promoZipform_320px","promoZipform_544px","reTrialChecklistForSale","reTrialChecklistRealtorLogo","reTrialModalFiles","reTrialModalSigs","reTrialModalStrikethrough","reTrialPostSendNarSig","reTrialPostSendTemplates","sampleDoc","searchResultsSummary","searchWelcome","switchToDesktop","systemDownMaintenance","templateIcon","trackIcon","upgradeMonthlyAnnual","upgradeTrialPaid","ie","fbwpChatBubbleSign","fbwpCommentReceived","fbwpCompleted","fbwpDeclined","fbwpNeedsToView","fbwpRecipientCompleted","fbwpReview","fbwpVoided","ndiSignatureArea","ndiSignatureArea_2x","ndiSingpassIcon","ndiSingpassIcon_2x","ndiSingpassLogo","ndiSingpassLogo_2x","ndiSingpassQrFrame","ndiSingpassQrFrame_2x","ndiTranssped","ndiTranssped_2x","ndiWatermark","ndiWatermark_2x","tspLogoGeneric","tspLogoSingPass","tspLogoTransSped","selectTypeAuthenticatorAppActive","selectTypeAuthenticatorAppDisabled","selectTypeEmailActive","selectTypeEmailDsiabled","selectTypePhoneNumberActive","selectTypePhoneNumberDisabled","selectTypeSecurityKeyActive","selectTypeSecurityKeyDisabled","twoStepVerificationAuthenticatorApp","twoStepVerificationEmail","twoStepVerificationPhoneNumberPhoneCall","twoStepVerificationPhoneNumberSms","twoStepVerificationPhoneNumberSelectDeliveryMethod","twoStepVerificationSecurityKey","logoDocusignBlack","logoDocusignBlueBlack","logoDocusignBlue","logoDocusignGray","logoDocusignSansBlack","logoDocusignSansWhite","logoDocusignSans","logoDocusignWhite","logoDocusign","logoDsSansWhite","boxDefault","boxGray","boxWhite","dropboxDefault","dropboxGray","dropboxWhite","dropbox","dtrDefault","dtrGray","dtrWhite","dtr","eoriginalDefault","eoriginalGray","eoriginalWhite","eoriginal","facebookDefault","facebookGray","facebookWhite","facebook","googleDriveDefault","googleDriveGray","googleDriveWhite","googleDrive","googlePlusDefault","googlePlusGray","googlePlusWhite","googlePlus","linkedInDefault","linkedInGray","linkedInWhite","linkedIn","microsoftDefault","microsoftGray","microsoftWhite","microsoft","office365Default","office365Gray","office365White","office365","oneDriveDefault","oneDriveGray","oneDriveWhite","oneDrive","roomsDefault","roomsGray","roomsWhite","rooms","salesforceDefault","salesforceGray","salesforceWhite","salesforce","twitterDefault","twitterGray","twitterWhite","twitter","yahooDefault","yahooGray","yahooWhite","yahoo","appStoreBadge","docusignClmBlack","docusignClmWhite","docusignClMspringBlack","docusignClMspringWhite","googleChrome","googleGmail","googlePlayBadge","logoSpringcm","microsoftOutlook","mobileWeb","mwComments_24x24","mwPlus_24x24","addMarkup","addingFields","autoTagging","deletePdfFormFields","diagramOutlines","firstEnvelope","flattenPdfFormFields","homeBulkRooms","homeBulkSend","homeHeroBg_768px","homeHeroBg","homeOptIn","iconBranding","iconHeadset","iconMobilephone","iconOfficehours","iconReferafriend","iconUploadprofilepic","inAppChatAgent","inAppChatBot","mergePdfFormFields","onboardingBrandYourAccount","onboardingCreateTemplate","onboardingProfilePhoto","onboardingSend","onboardingSignDoc","onboardingSignUp","onboardingSignYourDoc","paymentDescriptionHint","reLogoCar","reLogoGar","reLogoNar","reLogoNwmls","responsiveSigning","sigPlaceholder","strikethrough","successBgShapes","welcomeAddDocument","welcomeArrow","welcomeGetSignatures","welcomeShareAndManage","newFavicon","paymentAmex","paymentAth","paymentBccard","paymentCartesBancaires","paymentChinaUnionPay","paymentDinacard","paymentDinersClub","paymentDiscover","paymentInterac","paymentJcb","paymentMaestro","paymentMastercard","paymentVisa","personaAmyTempleton","personaArnoldMasterson","personaBarbaraAgassi","personaBrianMashiyama","personaCarlosSalvadores","personaCodyDwight","personaEricAlpert","personaFranzDeutsch","personaIanConner","personaIshaanUmed","personaJoeColeman","personaKarenVincent","personaLawrenceConway","personaMartinYang","personaPaulaAdams","personaRachelSimbell","personaRonAndreas","personaSanjayIyer","personaSherylCeilmann","personaSophiaVilla","personaTamaraMargen","personaUmarAzad","stepCompleteBlack","stepCompleteBluedis","stepCompleteBluefun","stepCompleteGray6","stepCompleteTurquoise","stepCompleteWhite","stepComplete","stepIncompleteBlack","stepIncompleteBluedis","stepIncompleteBluefun","stepIncompleteGray6","stepIncompleteTurquoise","stepIncompleteWhite","stepIncomplete","previewAllExpandedSection","previewOneExpandedSection","sigName","tagApplied","tagAttachment","tagInitials","tagSignature","tagStampJp","tagStamp","taggerIcons","deTagInitialsNew","deTagInitials","deTagSignatureNew","deTagSignature","enTagInitialsNew","enTagInitials","enTagSignatureNew","enTagSignature","esTagInitialsNew","esTagInitials","esTagSignatureNew","esTagSignature","frTagInitialsNew","frTagInitials","frTagSignatureNew","frTagSignature","itTagInitialsNew","itTagInitials","itTagSignatureNew","itTagSignature","jaTagInitialsNew","jaTagInitials","jaTagSignatureNew","jaTagSignature","koTagInitialsNew","koTagInitials","koTagSignatureNew","koTagSignature","nlTagInitialsNew","nlTagInitials","nlTagSignatureNew","nlTagSignature","plTagInitialsNew","plTagInitials","plTagSignatureNew","plTagSignature","ptTagInitialsNew","ptTagInitials","ptTagSignatureNew","ptTagSignature","ptBrTagInitialsNew","ptBrTagInitials","ptBrTagSignatureNew","ptBrTagSignature","ruTagInitialsNew","ruTagInitials","ruTagSignatureNew","ruTagSignature","tagHanko","zhCnTagInitialsNew","zhCnTagInitials","zhCnTagSignatureNew","zhCnTagSignature","zhTwTagInitialsNew","zhTwTagInitials","zhTwTagSignatureNew","zhTwTagSignature","applePay","paypal","stripe","brandingFwGrey","brandingFwHover","bulksendFwGrey","bulksendFwHover","powerformFwGrey","powerformFwHover","sendHowToBulksend","templateFwGrey","templateFwHover","FooterLanguageSelectorPhoneMenu","buttonsContainer","currentFocusOrdinalRef","buttonsRef","isUpArrow","handleUpDownPress","isDownArrow","localeDescription","isSelected","localeDesc","ordinal","currentOrdinal","LocaleDescriptionRow","data-ordinal","data-qa","passive","_options$scroll","scroll","_options$resize","resize","scrollParents","offsets","basePlacement","variation","commonX","commonY","mainAxis","unsetSides","mapToStyles","_Object$assign2","gpuAcceleration","adaptive","roundOffsets","dpr","devicePixelRatio","roundOffsetsByDPR","_ref3$x","_ref3$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","getFreshSideObject","hashMap","rootNode","getRootNode","isSameNode","_state$modifiersData$","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","referenceRect","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","useReducer","ieMediaQueryVerticalFix","verticalAlign","sharedInkCheckboxRadioFocusStyles","getBorderImage","triggerWidth","TOAST_WRAP","TreeDisclosure","Avatar","AvatarGroup","hiddenAvatars","span","BaseCallout","preventOverflowArrow","BaseStepperItem","borderRightColor","ButtonSize","sizeSmall","sizeMedium","sizeLarge","sizeXlarge","menuTrigger","caret","Icon","beforeText","afterText","iconButton","pill","Callout","Checkbox","borderWidth","borderBottomColor","invalid","DotBadge","colorRed","FileDrop","borderStyle","borderImage","imageWrap","optionalText","dragging","backdrop","Title","leftVerticalSeparator","HeaderActionItem","badge","isIconOnly","underlineOnHover","HeaderLogo","InputRangeSlider","slider","InputRequiredAsterisk","asterisk","InputTextArea","textarea","InputTextBox","wrapper","discrete","MenuGroup","MenuItem","startElement","endElement","contentWithEndElement","textWithoutIcon","selectedOption","iconWrap","Meter","textWrap","Overlay","OverlayAction","ProgressCircle","circleFill","stroke","centerPointX","centerPointY","radius","ProgressCircleIndeterminate","circle","circleMask","RadioButton","radioButtonHover","radioButtonBorder","radioButtonFill","labelText","hoverWhenChecked","hoverWhenUnchecked","tapWhenChecked","tapWhenUnchecked","RangeSlider","Select","select","MozPaddingStart","SelectMenuBox","SelectMenuCustomOption","customButton","Slider","sliderTrack","sliderTrackFill","sliderThumb","StatusLight","dot","Switch","toggleBorder","toggleButton","sizeDefault","on","repeat","repeatType","off","hoverWhenOn","hoverWhenOff","tapWhenOn","tapWhenOff","stickyActive","freezeColumn","Tabs","tabList","TabsPanel","panel","TabsTab","tabAction","dismissIcon","textDismissible","clickable","TextBox","textBoxLeftElement","textBoxRightElement","help","Timeline","indicatorWrap","collapsibleDisclosure","labelWrap","incomplete","currentContent","solidBorder","dashedBorder","ToastMessage","loading","toastWrap","toastHeight","when","toastInner","ToastMessageAction","ToolbarDropdownInput","Tooltip","Tree","TreeActionButton","TreeRow","userSelect","TreeHeader","TreeHeaderTitle","TreeHeaderTitleButton","TreeItem","TreeItemSelected","TreeItemElement","TreeItemIcon","TreeHeaderDisclosure","TreeItemDisclosure","TreeDisclosureWrap","TreeHeaderActionButton","TreeItemActionButton","TreeChildren","TreeButton","TreeDisclosureButton","WorkflowStepperItem","backgroundAttachment","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","TreeRowFullWidth","directionColumn","borderRightWidth","borderRightStyle","innerContent","Breadcrumb","fontFamilies","directionRow","optionalTextItem","borderLeftWidth","currentActive","errorActive","TreeItemChildren","getOppositePlacement","matched","getOppositeVariationPlacement","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","computeAutoPlacement","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","_loop","fittingPlacement","AbstractNavItem","navKey","navContext","isActive","contextControllerId","contextControlledId","handleOnclick","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","mainSide","altSide","additive","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_mainSide","_altSide","_offset","_min","_max","_preventedOffset","factory","__WEBPACK_EXTERNAL_MODULE_1__","modules","__webpack_require__","moduleId","installedModules","getter","__webpack_exports__","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_matchmediaquery__","__WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default","__WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__","__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__","__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default","__WEBPACK_IMPORTED_MODULE_4__toQuery__","__WEBPACK_IMPORTED_MODULE_5__Context__","makeQuery","settings","hyphenateKeys","useIsUpdate","useDevice","deviceFromProps","deviceFromContext","getDevice","_React$useState2","setDevice","newDevice","useQuery","getQuery","_React$useState4","setQuery","newQuery","useMatchMedia","getMatchMedia","_React$useState6","setMq","isUpdate","dispose","useMatches","mediaQuery","_React$useState8","setMatches","updateMatches","addListener","removeListener","useMediaQuery","onChange","deviceSettings","toHyphenLower","hyphenateStyleName","hName","uppercasePattern","msPattern","__WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__","__WEBPACK_IMPORTED_MODULE_1__mediaQuery__","negate","cond","keyVal","realKey","conds","toQuery","rules","Context","__WEBPACK_IMPORTED_MODULE_0__useMediaQuery__","__WEBPACK_IMPORTED_MODULE_1__Component__","__WEBPACK_IMPORTED_MODULE_2__toQuery__","__WEBPACK_IMPORTED_MODULE_3__Context__","Mql","forceStatic","mql","media","dynamicMatch","staticMatch","matchMedia","matchQuery","parseQuery","inverse","typeMatch","expressionsMatch","expressions","expression","modifier","expValue","toPx","toDpi","toDecimal","captures","RE_MEDIA_QUERY","parsed","RE_MQ_EXPRESSION","RE_MQ_FEATURE","ratio","numbers","decimal","resolution","RE_RESOLUTION_UNIT","RE_LENGTH_UNIT","shallowEqualObjects","objA","objB","aKeys","bKeys","_objectSpread","__WEBPACK_IMPORTED_MODULE_0_prop_types__","__WEBPACK_IMPORTED_MODULE_0_prop_types___default","stringOrNumber","matchers","orientation","scan","aspectRatio","deviceAspectRatio","deviceHeight","deviceWidth","colorIndex","monochrome","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minDeviceHeight","maxDeviceHeight","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","grid","aural","braille","handheld","print","tty","tv","embossed","ReactIs","isValidElementType","REACT_FRAGMENT_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_LAZY_TYPE","REACT_MEMO_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","REACT_BLOCK_TYPE","typeOf","REACT_ASYNC_MODE_TYPE","$$typeofType","REACT_PORTAL_TYPE","isAsyncMode","hasWarnedAboutDeprecatedIsAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","hasSymbol","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","ForwardRef","Memo","Portal","Profiler","StrictMode","Suspense","emptyFunctionThatReturnsNull","ReactPropTypesSecret","checkPropTypes","printWarning","isValidElement","throwOnDirectAccess","getIteratorFn","maybeIterable","iteratorFn","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","is","PropTypeError","createChainableTypeChecker","validate","checkType","propName","propFullName","secret","ANONYMOUS","cacheKey","manualPropTypeCallCache","manualPropTypeWarningCount","chainedCheckType","createPrimitiveTypeChecker","expectedType","getPropType","getPreciseType","createArrayOfTypeChecker","typeChecker","createInstanceTypeChecker","expectedClass","expectedClassName","createEnumTypeChecker","expectedValues","valuesString","createObjectOfTypeChecker","propType","createUnionTypeChecker","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","createShapeTypeChecker","shapeTypes","createStrictShapeTypeChecker","allKeys","isNode","ReactPropTypes","elementType","instanceOf","objectOf","exact","resetWarningCache","propIsEnumerable","test1","test2","test3","letter","typeSpecs","getStack","typeSpecName","loggedTypeFailures","MediaQuery","_Flexbox","_Flexbox2","isObjectObject","prot","PLURAL_DEFAULT_CATEGORY","exactCat","availableCategories","categoryFromCLDR","Intl","logComponentErrorOnce","shouldUseNative","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","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","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","genFun","mark","awrap","reverse","skipTempReset","rootRecord","rval","exception","handle","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","setGlobal","SHARED","EXISTS","mode","copyright","$","createIteratorConstructor","setToStringTag","redefine","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","$propertyIsEnumerable","NASHORN_BUG","1","V","toAbsoluteIndex","IS_INCLUDES","fromIndex","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","REQUIRED","fastKey","getWeakData","onFreeze","unsafe","isRegExp","MATCH","regexp","error1","error2","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","normalizeValue","iteratorFor","Headers","consumed","bodyUsed","fileReaderReady","reader","onerror","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","arrayBuffer","isConsumed","byteOffset","readAsText","readBlobAsText","chars","readArrayBufferAsText","formData","decode","oldValue","thisArg","Request","credentials","signal","upcased","normalizeMethod","reParamSearch","bytes","parseHeaders","rawHeaders","Response","bodyInit","redirectStatuses","redirect","RangeError","DOMException","fetch","request","aborted","xhr","abortXhr","abort","getAllResponseHeaders","responseURL","ontimeout","onabort","fixUrl","responseType","polyfill","_superPropBase","_get","receiver","Emitter","listeners","stackToCall","defaultPrevented","AbortSignal","_Emitter","_super","AbortController","Event","createEvent","initEvent","createEventObject","bubbles","cancelable","dispatchEvent","polyfillNeeded","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","abortableFetchDecorator","patchTargets","_patchTargets","_patchTargets$Request","NativeRequest","NativeAbortController","_patchTargets$__FORCE","realFetch","abortError","cancellation","race","_abortableFetch","functionToString","license","FunctionName","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","objectKeys","toIntegerOrInfinity","integer","getOwnPropertyNamesModule","getOwnPropertyNamesExternalModule","enable","isConstructor","$jscomp","createTemplateTagFirstArg","createTemplateTagFirstArgWithRaw","arrayIteratorImpl","arrayIterator","makeIterator","arrayFromIterator","arrayFromIterable","owns","ASSUME_ES5","ASSUME_NO_NATIVE_MAP","ASSUME_NO_NATIVE_SET","SIMPLE_FROUND_POLYFILL","ISOLATE_POLYFILLS","FORCE_POLYFILL_PROMISE","FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION","getGlobal","IS_SYMBOL_NATIVE","TRUST_ES6_POLYFILLS","polyfills","propertyToPolyfillSymbol","POLYFILL_PREFIX","polyfillIsolated","polyfillUnisolated","objectCreate","getConstructImplementation","underscoreProtoCanBeSet","inherits","superClass_","checkStringArgs","initSymbol","$jscomp$symbol$id_","iteratorPrototype","iteratorFromArray","typedArrayFill","goog","DISALLOW_TEST_ONLY_CODE","provide","declareLegacyNamespace","setTestOnly","requireType","module$contents$Blockly$utils$string_wrapLine","module$contents$Blockly$utils$string_wrapScore","module$contents$Blockly$utils$string_wrapMutate","module$contents$Blockly$utils$string_wrapToText","module$exports$Blockly$utils$deprecation","module$exports$Blockly$Css","module$contents$Blockly$Css_injected","inject","firstChild","module$exports$Blockly$utils$string","startsWith","shortestStringLength","commonWordPrefix","commonWordSuffix","module$exports$Blockly$ConnectionType","ConnectionType","INPUT_VALUE","OUTPUT_VALUE","NEXT_STATEMENT","PREVIOUS_STATEMENT","module$exports$Blockly$internalConstants","LINE_MODE_MULTIPLIER","PAGE_MODE_MULTIPLIER","DRAG_RADIUS","FLYOUT_DRAG_RADIUS","SNAP_RADIUS","CONNECTING_SNAP_RADIUS","CURRENT_CONNECTION_PREFERENCE","BUMP_DELAY","BUMP_RANDOMNESS","COLLAPSE_CHARS","LONGPRESS","SOUND_LIMIT","DRAG_STACK","SPRITE","DRAG_NONE","DRAG_STICKY","DRAG_BEGIN","DRAG_FREE","OPPOSITE_TYPE","RENAME_VARIABLE_ID","DELETE_VARIABLE_ID","module$exports$Blockly$utils$global","module$exports$Blockly$Touch","TOUCH_ENABLED","maxTouchPoints","msMaxTouchPoints","module$contents$Blockly$Touch_touchIdentifier_","TOUCH_MAP","PointerEvent","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","touchend","touchcancel","module$contents$Blockly$Touch_longPid_","longStart","longStop","changedTouches","clientX","clientY","handleRightClick","clearTouchIdentifier","shouldHandleEvent","isMouseOrTouchEvent","checkTouchIdentifier","getTouchIdentifierFromEvent","pointerId","identifier","setClientFromTouch","isTouchEvent","splitEventByTouches","module$exports$Blockly$utils$userAgent","EDGE","JavaFx","CHROME","WEBKIT","GECKO","ANDROID","IPAD","IPOD","IPHONE","MAC","TABLET","MOBILE","module$contents$Blockly$common_mainWorkspace","module$exports$Blockly$browserEvents","conditionalBind","unbind","isTargetInput","isContentEditable","isTextInput","isRightButton","mouseToSvg","createSVGPoint","getScreenCTM","matrixTransform","getScrollDeltaPixels","deltaMode","deltaX","deltaY","module$exports$Blockly$blocks","Blocks","module$exports$Blockly$common","getMainWorkspace","setMainWorkspace","module$contents$Blockly$common_parentContainer","module$contents$Blockly$common_selected","getSelected","setSelected","getParentContainer","setParentContainer","svgResize","parentWorkspace","getParentSvg","getCachedParentSvgSize","setCachedParentSvgSize","draggingConnections","getBlockTypeCounts","getDescendants","getNextBlock","module$contents$Blockly$common_jsonInitFactory","jsonInit","defineBlocksWithJsonArray","module$exports$Blockly$Tooltip","module$contents$Blockly$Tooltip_visible","isVisible","module$contents$Blockly$Tooltip_blocked","LIMIT","module$contents$Blockly$Tooltip_mouseOutPid","module$contents$Blockly$Tooltip_showPid","module$contents$Blockly$Tooltip_lastX","module$contents$Blockly$Tooltip_lastY","module$contents$Blockly$Tooltip_element","module$contents$Blockly$Tooltip_poisonedElement","OFFSET_X","OFFSET_Y","RADIUS_OK","HOVER_MS","MARGINS","module$contents$Blockly$Tooltip_DIV","getDiv","DIV","getTooltipOfObject","module$contents$Blockly$Tooltip_getTargetObject","createDom","bindMouseEvents","mouseOverWrapper_","module$contents$Blockly$Tooltip_onMouseOver","mouseOutWrapper_","module$contents$Blockly$Tooltip_onMouseOut","module$contents$Blockly$Tooltip_onMouseMove","unbindMouseEvents","pageY","sqrt","module$contents$Blockly$Tooltip_show","unblock","RTL","scrollY","scrollX","module$exports$Blockly$utils$dom","SVG_NS","HTML_NS","XLINK_NS","NodeType","ELEMENT_NODE","TEXT_NODE","COMMENT_NODE","DOCUMENT_POSITION_CONTAINED_BY","module$contents$Blockly$utils$dom_cacheWidths","module$contents$Blockly$utils$dom_cacheReference","module$contents$Blockly$utils$dom_canvasContext","createSvgElement","createElementNS","runtimeStyle","addClass","removeClasses","removeClass","removeNode","insertAfter","containsNode","setCssTransform","startTextWidthCache","stopTextWidthCache","getTextWidth","getBBox","getComputedTextLength","getFastTextWidth","getFastTextWidthWithSizeString","getContext","measureText","measureFontMetrics","baseline","module$contents$Blockly$WidgetDiv_DIV","module$exports$Blockly$WidgetDiv","module$contents$Blockly$WidgetDiv_owner","module$contents$Blockly$WidgetDiv_dispose","module$contents$Blockly$WidgetDiv_rendererClassName","module$contents$Blockly$WidgetDiv_themeClassName","testOnly_setDiv","getRenderer","getTheme","markFocused","hideIfOwner","module$contents$Blockly$WidgetDiv_positionInternal","positionWithAnchor","module$contents$Blockly$WidgetDiv_calculateY","module$contents$Blockly$WidgetDiv_calculateX","module$exports$Blockly$utils$aria","GRID","GRIDCELL","GROUP","LISTBOX","MENU","MENUITEM","MENUITEMCHECKBOX","OPTION","PRESENTATION","ROW","TREE","TREEITEM","ACTIVEDESCENDANT","COLCOUNT","DISABLED","EXPANDED","INVALID","LABEL","LABELLEDBY","LEVEL","ORIENTATION","POSINSET","ROWCOUNT","SELECTED","SETSIZE","VALUEMAX","VALUEMIN","module$exports$Blockly$utils$idGenerator","TEST_ONLY","module$contents$Blockly$utils$idGenerator_nextId","getNextUniqueId","module$contents$Blockly$utils$idGenerator_soup","genUid","module$exports$Blockly$registry","module$contents$Blockly$registry_typeMap","typeMap","module$contents$Blockly$registry_nameMap","Type","name_","CONNECTION_CHECKER","CURSOR","EVENT","FIELD","RENDERER","TOOLBOX","THEME","TOOLBOX_ITEM","FLYOUTS_VERTICAL_TOOLBOX","FLYOUTS_HORIZONTAL_TOOLBOX","METRICS_MANAGER","BLOCK_DRAGGER","SERIALIZER","module$contents$Blockly$registry_validate","fromJson","module$contents$Blockly$registry_getItem","hasItem","getClass","getObject","getAllItems","getClassFromOptions","module$exports$Blockly$Events$utils","module$contents$Blockly$Events$utils_group","module$contents$Blockly$Events$utils_recordUndo","setRecordUndo","getRecordUndo","module$contents$Blockly$Events$utils_disabled","CREATE","BLOCK_CREATE","DELETE","BLOCK_DELETE","CHANGE","BLOCK_CHANGE","MOVE","BLOCK_MOVE","VAR_CREATE","VAR_DELETE","VAR_RENAME","UI","BLOCK_DRAG","CLICK","MARKER_MOVE","BUBBLE_OPEN","TRASHCAN_OPEN","TOOLBOX_ITEM_SELECT","THEME_CHANGE","VIEWPORT_CHANGE","COMMENT_CREATE","COMMENT_DELETE","COMMENT_CHANGE","COMMENT_MOVE","FINISHED_LOADING","BUMP_EVENTS","module$contents$Blockly$Events$utils_FIRE_QUEUE","fire","module$contents$Blockly$Events$utils_fireNow","workspaceId","module$exports$Blockly$Workspace","Workspace","getById","fireChangeListener","isNull","isUiEvent","blockId","newParentId","newInputName","newCoordinate","newValue","viewTop","viewLeft","oldScale","clearPendingUndo","recordUndo","getGroup","setGroup","getDescendantIds","disableOrphans","getBlockById","getParent","setEnabled","outputConnection","previousConnection","isDragging","FIRE_QUEUE","fireNow","module$exports$Blockly$utils$math","toRadians","PI","toDegrees","clamp","module$exports$Blockly$bumpObjects","bumpIntoBounds","getBoundingRectangle","moveBy","bumpIntoBoundsHandler","getMetricsManager","hasFixedEdges","getScrollMetrics","module$contents$Blockly$bumpObjects_extractObjectFromEvent","bumpTopObjectsIntoBounds","getRootBlock","getCommentById","commentId","getTopBoundedElements","module$exports$Blockly$utils$Coordinate","Coordinate","equals","magnitude","difference","sum","module$exports$Blockly$utils$Size","Size","module$exports$Blockly$utils$style","getSize","module$contents$Blockly$utils$style_getStyle","module$contents$Blockly$utils$style_getSizeWithDisplay","getCascadedStyle","getPropertyValue","getPageOffset","getViewportPageOffset","setElementShown","isRightToLeft","getBorderBox","scrollIntoContainerView","getContainerOffsetToScrollInto","module$exports$Blockly$utils$Rect","Rect","intersects","module$exports$Blockly$utils$svgMath","module$contents$Blockly$utils$svgMath_XY_REGEX","module$contents$Blockly$utils$svgMath_XY_STYLE_REGEX","getRelativeXY","getInjectionDivXY","is3dSupported","cached_","webkitTransform","OTransform","msTransform","MozTransform","getViewportBBox","getDocumentScroll","screenToWsCoordinates","getInjectionDiv","getOriginOffsetInPixels","svgSize","cachedWidth_","cachedHeight_","XY_REGEX","XY_STYLE_REGEX","module$exports$Blockly$utils$Svg","Svg","tagName_","ANIMATE","CIRCLE","CLIPPATH","DEFS","FECOMPOSITE","FECOMPONENTTRANSFER","FEFLOOD","FEFUNCA","FEGAUSSIANBLUR","FEPOINTLIGHT","FESPECULARLIGHTING","FILTER","FOREIGNOBJECT","IMAGE","LINE","PATH","PATTERN","POLYGON","RECT","SVG","TEXT","TSPAN","module$exports$Blockly$BlockDragSurfaceSvg","BlockDragSurfaceSvg","container_","SVG_","dragGroup_","scale_","surfaceXY_","childSurfaceXY_","xmlns","setBlocksAndShow","translateAndScaleGroup","translateSurfaceInternal_","translateBy","translateSurface","getSurfaceTranslation","getSvgRoot","getCurrentBlock","getWsTranslation","clearAndHide","module$exports$Blockly$DropDownDiv","DropDownDiv","ARROW_SIZE","BORDER_SIZE","ARROW_HORIZONTAL_PADDING","PADDING_Y","ANIMATION_TIME","animateOutTimer_","onHide_","rendererClassName_","themeClassName_","boundsElement_","owner_","positionToField_","DIV_","content_","arrow_","setBoundsElement","getContentDiv","clearContent","setColour","showPositionedByBlock","module$contents$Blockly$DropDownDiv_showPositionedByRect","module$contents$Blockly$DropDownDiv_getScaledBboxOfBlock","showPositionedByField","module$contents$Blockly$DropDownDiv_getScaledBboxOfField","module$contents$Blockly$DropDownDiv_internal","workspace","getScaledBBox","getSourceBlock","module$contents$Blockly$DropDownDiv_positionInternal","getBoundsInfo","getPositionMetrics","module$contents$Blockly$DropDownDiv_getPositionBelowMetrics","module$contents$Blockly$DropDownDiv_getPositionAboveMetrics","module$contents$Blockly$DropDownDiv_getPositionTopOfPageMetrics","initialX","getPositionX","divX","initialY","finalX","finalY","arrowX","arrowY","arrowAtTop","arrowVisible","hideWithoutAnimation","repositionForWindowResize","module$contents$Blockly$utils$xml_xmlDocument","module$contents$Blockly$Xml_fieldToDom","module$contents$Blockly$Xml_allFieldsToDom","module$exports$Blockly$Grid","Grid","gridPattern_","spacing_","spacing","length_","line2_","line1_","snapToGrid_","shouldSnap","getSpacing","getPatternId","setLineAttributes_","moveTo","patternUnits","colour","module$exports$Blockly$Msg","module$exports$Blockly$utils$xml","NAME_SPACE","getDocument","setDocument","textToDomDocument","DOMParser","parseFromString","domToText","XMLSerializer","serializeToString","module$exports$Blockly$inputTypes","inputTypes","VALUE","STATEMENT","DUMMY","module$exports$Blockly$Xml","workspaceToDom","variablesToDom","module$exports$Blockly$Variables","allUsedVarModels","hasChildNodes","getTopComments","toXmlWithXY","getTopBlocks","blockToDomWithXY","getId","isInsertionMarker","getChildren","DocumentFragment","getWidth","blockToDom","getRelativeToSurfaceXY","isSerializable","toXml","inputList","fieldRow","isShadow","mutationToDom","hasAttributes","getCommentText","commentModel","pinned","connection","targetBlock","getShadowDom","module$contents$Blockly$Xml_cloneShadow","inputsInline","inputsInlineDefault","isCollapsed","isDeletable","isMovable","isEditable","nextConnection","cloneNode","domToPrettyText","textToDom","clearWorkspaceAndLoadFromXml","setResizesEnabled","domToWorkspace","domToBlock","hasAttribute","rendered","module$exports$Blockly$WorkspaceCommentSvg","WorkspaceCommentSvg","fromXml","module$exports$Blockly$WorkspaceComment","WorkspaceComment","domToVariables","appendDomToWorkspace","getBlocksBoundingBox","getAllVariables","module$contents$Blockly$Xml_domToBlockHeadless","setConnectionTracking","initSvg","disposed","updateDisabled","resizeContents","initModel","getAddedVariables","createVariable","module$contents$Blockly$Xml_findChildBlocks","childBlockElement","childShadowElement","module$contents$Blockly$Xml_applyInputTagNodes","getInput","setShadowDom","module$contents$Blockly$Xml_applyNextTagNodes","isConnected","outerHTML","newBlock","mutation","field","module$exports$Blockly$Comment","module$contents$Blockly$Xml_mapSupportedXmlTags","domToMutation","module$contents$Blockly$Xml_applyMutationTagNodes","setCommentText","getCommentIcon","isInFlyout","setVisible","module$contents$Blockly$Xml_applyCommentTagNodes","module$contents$Blockly$Xml_applyDataTagNodes","connect","module$contents$Blockly$Xml_domToField","module$contents$Blockly$Xml_applyFieldTagNodes","setInputsInline","setDeletable","setMovable","setEditable","setCollapsed","getVarModels","setShadow","getField","deleteNext","module$exports$Blockly$utils$toolbox","module$contents$Blockly$utils$toolbox_CATEGORY_TOOLBOX_KIND","module$contents$Blockly$utils$toolbox_FLYOUT_TOOLBOX_KIND","Position","TOP","BOTTOM","LEFT","RIGHT","convertToolboxDefToJson","parseToolboxTree","module$contents$Blockly$utils$toolbox_convertToToolboxJson","module$contents$Blockly$utils$toolbox_validateToolbox","contents","convertFlyoutDefToJsonArray","module$contents$Blockly$utils$toolbox_xmlToJsonArray","hasCategories","isCategoryCollapsible","Node","module$contents$Blockly$utils$toolbox_addAttributes","blockxml","cssconfig","module$exports$Blockly$utils$object","mixin","deepMerge","module$exports$Blockly$Theme","Theme","blockStyles","categoryStyles","componentStyles","startHats","setBlockStyle","setCategoryStyle","getComponentStyle","setComponentStyle","setFontStyle","setStartHats","defineTheme","module$exports$Blockly$Themes$Classic","Classic","colour_blocks","colourPrimary","list_blocks","logic_blocks","loop_blocks","math_blocks","procedure_blocks","text_blocks","variable_blocks","variable_dynamic_blocks","hat_blocks","hat","colour_category","list_category","logic_category","loop_category","math_category","procedure_category","text_category","variable_category","variable_dynamic_category","module$exports$Blockly$Options","Options","readOnly","toolbox","trashcan","collapse","sounds","maxTrashcanContents","rtl","horizontalLayout","toolboxPosition","oneBasedIndex","renderer","maxBlocks","maxInstances","pathToMedia","moveOptions","parseMoveOptions_","hasScrollbars","scrollbars","hasTrashcan","hasSounds","hasCss","languageTree","gridOptions","parseGridOptions_","zoomOptions","parseZoomOptions_","parseThemeOptions_","rendererOverrides","gridPattern","move","horizontal","vertical","wheel","drag","controls","startScale","maxScale","minScale","scaleSpeed","pinch","module$exports$Blockly$Scrollbar","Scrollbar","workspace_","pair_","horizontal_","margin_","DEFAULT_SCROLLBAR_MARGIN","oldHostMetrics_","createDom_","scrollbarThickness","svgBackground_","outerSvg_","svgHandle_","lengthAttribute_","positionAttribute_","onMouseDownBarWrapper_","onMouseDownBar_","onMouseDownHandleWrapper_","onMouseDownHandle_","origin_","startDragMouse_","scrollbarLength_","handleLength_","handlePosition_","isVisible_","containerVisible_","metricsAreEquivalent_","viewWidth","viewHeight","absoluteTop","absoluteLeft","cleanUp_","svgGroup_","getThemeManager","unsubscribe","constrainHandleLength_","setHandleLength_","constrainHandlePosition_","setHandlePosition","setScrollbarLength_","setPosition","getMetrics","resizeHorizontal_","resizeVertical_","updateMetrics_","requiresViewResize_","resizeViewHorizontal","resizeContentHorizontal","resizeViewVertical","resizeContentVertical","rx","ry","subscribe","setContainerVisible","updateDisplay_","getInverseScreenCTM","startDragHandle","setupDragSurface","onMouseUpWrapper_","onMouseUpHandle_","onMouseMoveWrapper_","onMouseMoveHandle_","resetDragSurface","hideChaff","getRatio_","setMetrics","setOrigin","module$exports$Blockly$ScrollbarPair","ScrollbarPair","hScroll","vScroll","corner_","getBubbleCanvas","maybeFireViewportChangeEvent","canScrollHorizontally","canScrollVertically","setX","setY","resizeContent","resizeView","module$exports$Blockly$utils$KeyCodes","WIN_KEY_FF_LINUX","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","UP","DOWN","PLUS_SIGN","PRINT_SCREEN","INSERT","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","FF_SEMICOLON","FF_EQUALS","FF_DASH","FF_HASH","QUESTION_MARK","AT_SIGN","META","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SCROLL_LOCK","FIRST_MEDIA_KEY","LAST_MEDIA_KEY","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","TILDE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","MAC_WK_CMD_LEFT","MAC_WK_CMD_RIGHT","WIN_IME","VK_NONAME","PHANTOM","module$exports$Blockly$ShortcutRegistry","ShortcutRegistry","registry","registry_","keyMap_","modifierKeys","Control","Alt","Meta","removeAllKeyMappings","addKeyMapping","removeKeyMapping","setKeyMap","getKeyMap","getRegistry","serializeKeyEvent_","getShortcutNamesByKeyCode","preconditionFn","getKeyCodesByShortcutName","getModifierState","checkModifiers_","createSerializedKey","module$exports$Blockly$WorkspaceDragSurfaceSvg","WorkspaceDragSurfaceSvg","previousSibling_","setContentsAndShow","module$exports$Blockly$clipboard","module$contents$Blockly$clipboard_copyData","copy","toCopyData","paste","isFlyout","targetWorkspace","typeCounts","isCapacityAvailable","saveInfo","duplicate","module$exports$Blockly$MenuItem","value_","enabled_","element_","rightToLeft_","roleName_","highlight_","checked_","checkable_","actionHandler_","setRole","State","getElement","setRightToLeft","setCheckable","setChecked","setHighlighted","performAction","onAction","module$exports$Blockly$Menu","menuItems_","onKeyDownHandler_","mouseLeaveHandler_","mouseEnterHandler_","clickHandler_","mouseOverHandler_","highlightedItem_","openingCoords","handleMouseOver_","handleClick_","handleMouseEnter_","handleMouseLeave_","handleKeyEvent_","preventScroll","blur_","blur","getMenuItem_","parentElement","highlightNext","highlightHelper_","highlightPrevious","highlightFirst_","highlightLast_","module$exports$Blockly$serialization$priorities","VARIABLES","BLOCKS","module$exports$Blockly$serialization$registry","module$exports$Blockly$serialization$exceptions","DeserializationError","MissingBlockType","MissingConnection","toDevString","BadConnectionCheck","childBlock","childState","RealChildOfShadow","module$exports$Blockly$serialization$ISerializer","ISerializer","module$exports$Blockly$serialization$blocks","addCoordinates","addInputBlocks","addNextBlocks","doFullSerialization","module$contents$Blockly$serialization$blocks_saveCoords","module$contents$Blockly$serialization$blocks_saveAttributes","module$contents$Blockly$serialization$blocks_saveExtraState","module$contents$Blockly$serialization$blocks_saveIcons","module$contents$Blockly$serialization$blocks_saveFields","module$contents$Blockly$serialization$blocks_saveInputBlocks","module$contents$Blockly$serialization$blocks_saveNextBlocks","collapsed","inline","saveExtraState","extraState","saveState","fields","module$contents$Blockly$serialization$blocks_saveConnection","inputs","getShadowState","appendInternal","parentConnection","module$contents$Blockly$serialization$blocks_appendPrivate","module$contents$Blockly$serialization$blocks_loadCoords","module$contents$Blockly$serialization$blocks_loadAttributes","module$contents$Blockly$serialization$blocks_loadExtraState","module$contents$Blockly$serialization$blocks_tryToConnectParent","module$contents$Blockly$serialization$blocks_loadIcons","module$contents$Blockly$serialization$blocks_loadFields","module$contents$Blockly$serialization$blocks_loadInputBlocks","module$contents$Blockly$serialization$blocks_loadNextBlocks","module$contents$Blockly$serialization$blocks_initBlock","loadExtraState","connectionChecker","getErrorMessage","canConnectWithReason","loadState","module$contents$Blockly$serialization$blocks_loadConnection","setShadowState","module$contents$Blockly$serialization$blocks_saveBlock","module$contents$Blockly$serialization$blocks_BlockSerializer","priority","languageVersion","blocks","module$exports$Blockly$Events$Abstract","isBlank","toJson","getEventWorkspace_","module$exports$Blockly$Events$BlockBase","BlockBase","module$contents$Blockly$ContextMenu_currentBlock","module$exports$Blockly$Events$BlockCreate","BlockCreate","module$exports$Blockly$ContextMenu","setCurrentBlock","currentBlock","module$contents$Blockly$ContextMenu_menu_","module$contents$Blockly$ContextMenu_populate_","module$contents$Blockly$ContextMenu_position_","Role","module$contents$Blockly$ContextMenu_createWidget_","module$contents$Blockly$ContextMenu_haltPropagation","callbackFactory","commentDeleteOption","REMOVE_COMMENT","commentDuplicateOption","DUPLICATE_COMMENT","workspaceCommentOption","ADD_COMMENT","WORKSPACE_COMMENT_DEFAULT_TEXT","DEFAULT_SIZE","module$exports$Blockly$utils$array","module$exports$Blockly$blockRendering$debug","module$contents$Blockly$blockRendering$debug_useDebugger","isDebuggerEnabled","startDebugger","stopDebugger","module$exports$Blockly$blockRendering$Types","Types","NONE","HAT","ICON","SPACER","BETWEEN_ROW_SPACER","IN_ROW_SPACER","EXTERNAL_VALUE_INPUT","INPUT","INLINE_INPUT","STATEMENT_INPUT","CONNECTION","PREVIOUS_CONNECTION","NEXT_CONNECTION","OUTPUT_CONNECTION","CORNER","LEFT_SQUARE_CORNER","LEFT_ROUND_CORNER","RIGHT_SQUARE_CORNER","RIGHT_ROUND_CORNER","JAGGED_EDGE","TOP_ROW","BOTTOM_ROW","INPUT_ROW","LEFT_CORNER","RIGHT_CORNER","nextTypeValue_","getType","isField","isHat","isIcon","isSpacer","isInRowSpacer","isInput","isExternalInput","isInlineInput","isStatementInput","isPreviousConnection","isNextConnection","isPreviousOrNextConnection","isLeftRoundedCorner","isRightRoundedCorner","isLeftSquareCorner","isRightSquareCorner","isCorner","isJaggedEdge","isRow","isBetweenRowSpacer","isTopRow","isBottomRow","isTopOrBottomRow","isInputRow","module$exports$Blockly$blockRendering$Row","Row","xPos","yPos","widthWithConnectedBlocks","hasJaggedEdge","hasDummyInput","hasInlineInput","hasStatement","hasExternalInput","constants_","notchOffset","NOTCH_OFFSET_LEFT","getLastInput","startsWithElemSpacer","endsWithElemSpacer","getFirstSpacer","getLastSpacer","module$exports$Blockly$blockRendering$BottomRow","BottomRow","hasNextConnection","descenderHeight","hasLeftSquareCorner","hasRightSquareCorner","module$exports$Blockly$blockRendering$Measurable","centerline","module$exports$Blockly$blockRendering$Connection","Connection","connectionModel","shapeFor","isDynamicShape","isDynamic","module$exports$Blockly$utils$colour","module$contents$Blockly$utils$colour_hsvSaturation","getHsvSaturation","setHsvSaturation","module$contents$Blockly$utils$colour_hsvValue","getHsvValue","setHsvValue","rgbToHex","hexToRgb","hsvToHex","blend","aqua","blue","fuchsia","gray","green","lime","maroon","navy","purple","red","silver","teal","yellow","hueToHex","module$exports$Blockly$utils$svgPaths","curve","lineTo","lineOnAxis","arc","module$exports$Blockly$utils$parsing","module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal","tokenizeInterpolation","replaceMessageReferences","checkMessageReferences","parseBlockColour","hue","module$exports$Blockly$blockRendering$ConstantProvider","ConstantProvider","NO_PADDING","SMALL_PADDING","MEDIUM_PADDING","MEDIUM_LARGE_PADDING","LARGE_PADDING","TALL_INPUT_FIELD_OFFSET_Y","TAB_HEIGHT","TAB_OFFSET_FROM_TOP","TAB_VERTICAL_OVERLAP","TAB_WIDTH","NOTCH_WIDTH","NOTCH_HEIGHT","MIN_BLOCK_WIDTH","EMPTY_BLOCK_SPACER_HEIGHT","DUMMY_INPUT_SHADOW_MIN_HEIGHT","DUMMY_INPUT_MIN_HEIGHT","CORNER_RADIUS","STATEMENT_INPUT_NOTCH_OFFSET","STATEMENT_BOTTOM_SPACER","STATEMENT_INPUT_PADDING_LEFT","BETWEEN_STATEMENT_PADDING_Y","TOP_ROW_MIN_HEIGHT","TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT","BOTTOM_ROW_MIN_HEIGHT","BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT","ADD_START_HATS","START_HAT_HEIGHT","START_HAT_WIDTH","SPACER_DEFAULT_HEIGHT","MIN_BLOCK_HEIGHT","EMPTY_INLINE_INPUT_PADDING","EMPTY_INLINE_INPUT_HEIGHT","EXTERNAL_VALUE_INPUT_PADDING","EMPTY_STATEMENT_INPUT_HEIGHT","START_POINT","JAGGED_TEETH_HEIGHT","JAGGED_TEETH_WIDTH","FIELD_TEXT_FONTSIZE","FIELD_TEXT_FONTWEIGHT","FIELD_TEXT_FONTFAMILY","FIELD_TEXT_BASELINE","FIELD_TEXT_HEIGHT","FIELD_BORDER_RECT_RADIUS","FIELD_BORDER_RECT_HEIGHT","FIELD_BORDER_RECT_X_PADDING","FIELD_BORDER_RECT_Y_PADDING","FIELD_BORDER_RECT_COLOUR","FIELD_TEXT_BASELINE_CENTER","FIELD_DROPDOWN_BORDER_RECT_HEIGHT","FIELD_DROPDOWN_SVG_ARROW","FIELD_DROPDOWN_COLOURED_DIV","FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW","FIELD_DROPDOWN_SVG_ARROW_PADDING","FIELD_DROPDOWN_SVG_ARROW_SIZE","FIELD_DROPDOWN_SVG_ARROW_DATAURI","FIELD_COLOUR_FULL_BLOCK","FIELD_TEXTINPUT_BOX_SHADOW","FIELD_COLOUR_DEFAULT_WIDTH","FIELD_COLOUR_DEFAULT_HEIGHT","FIELD_CHECKBOX_X_OFFSET","randomIdentifier","defs_","embossFilterId","embossFilter_","disabledPatternId","disabledPattern_","debugFilterId","cssNode_","debugFilter_","CURSOR_COLOUR","MARKER_COLOUR","CURSOR_WS_WIDTH","WS_CURSOR_HEIGHT","CURSOR_STACK_PADDING","CURSOR_BLOCK_PADDING","CURSOR_STROKE_WIDTH","FULL_BLOCK_FIELDS","INSERTION_MARKER_COLOUR","INSERTION_MARKER_OPACITY","SHAPES","PUZZLE","NOTCH","JAGGED_TEETH","makeJaggedTeeth","makeNotch","START_HAT","makeStartHat","PUZZLE_TAB","makePuzzleTab","INSIDE_CORNERS","makeInsideCorners","OUTSIDE_CORNERS","makeOutsideCorners","setTheme","validatedBlockStyle_","setDynamicProperties_","setFontConstants_","setComponentConstants_","getBlockStyleForColour","createBlockStyle_","getBlockStyle","colourSecondary","generateSecondaryColour_","colourTertiary","generateTertiaryColour_","pathDown","pathUp","pathLeft","pathRight","pathTop","pathBottom","topRight","bottomLeft","rightHeight","injectCSS_","stdDeviation","surfaceScale","specularConstant","specularExponent","in2","k1","k2","k3","k4","createDebugFilter","tableValues","getCSS_","module$exports$Blockly$fieldRegistry","module$exports$Blockly$MarkerManager","MarkerManager","cursorSvg_","cursor_","markers_","LOCAL_MARKER","registerMarker","unregisterMarker","setDrawer","makeMarkerDrawer","setMarkerSvg","getDrawer","getCursor","getMarker","setCursor","setCursorSvg","getBlockCanvas","markerSvg_","updateMarkers","keyboardAccessibilityMode","draw","module$exports$Blockly$Events$BlockChange","BlockChange","mutator","setValue","getExtraBlockState_","module$exports$Blockly$blockAnimations","module$contents$Blockly$blockAnimations_disconnectPid","module$contents$Blockly$blockAnimations_disconnectGroup","disposeUiEffect","getAudioManager","play","getSvgXY","translateX_","translateY_","bBox_","module$contents$Blockly$blockAnimations_disposeUiStep","connectionUiEffect","cy","module$contents$Blockly$blockAnimations_connectionUiStep","disconnectUiEffect","getHeightWidth","atan","module$contents$Blockly$blockAnimations_disconnectUiStep","skew_","sin","translate_","disconnectUiStop","module$exports$Blockly$ComponentManager","ComponentManager","componentData_","capabilityToComponentIds_","addComponent","capabilities","removeComponent","addCapability","getComponent","hasCapability","removeCapability","getComponents","Capability","POSITIONABLE","DRAG_TARGET","DELETE_AREA","AUTOHIDEABLE","module$exports$Blockly$dialog","module$contents$Blockly$dialog_alertImplementation","alert","module$contents$Blockly$dialog_confirmImplementation","confirm","module$contents$Blockly$dialog_promptImplementation","prompt","setAlert","setConfirm","setPrompt","module$exports$Blockly$Events$VarBase","VarBase","varId","module$exports$Blockly$Events$VarCreate","VarCreate","varType","varName","deleteVariableById","module$contents$Blockly$Variables_ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE","module$exports$Blockly$VariableModel","VariableModel","id_","compareByName","sensitivity","CATEGORY_NAME","getAllBlocks","allDeveloperVariables","getDeveloperVariables","getDeveloperVars","flyoutCategory","registerButtonCallback","createVariableButtonHandler","getTargetWorkspace","flyoutCategoryBlocks","getVariablesOfType","variables_set","math_change","generateVariableFieldDom","variables_get","VAR_LETTER_OPTIONS","generateUniqueName","generateUniqueNameFromOptions","getAllVariableNames","promptName","NEW_VARIABLE_TITLE","nameUsedWithAnyType","VARIABLE_ALREADY_EXISTS","VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE","renameVariable","RENAME_VARIABLE_TITLE","module$contents$Blockly$Variables_nameUsedWithOtherType","renameVariableById","RENAME_VARIABLE","NEW_VARIABLE","getVariableMap","getOrCreateVariablePackage","getVariable","module$contents$Blockly$Variables_createVariable","getPotentialVariableMap","getVariableById","module$exports$Blockly$Names","Names","variablePrefix_","reservedDict_","NameType","DEVELOPER_VARIABLE","VARIABLE","PROCEDURE","DEVELOPER_VARIABLE_TYPE","db_","dbReverse_","variableMap_","setVariableMap","getNameForUserVariable_","populateVariables","getName","populateProcedures","module$exports$Blockly$Procedures","allProcedures","getDistinctName","getUserNames","safeName_","encodeURI","UNNAMED_KEY","module$exports$Blockly$Events$VarDelete","VarDelete","module$exports$Blockly$Events$VarRename","VarRename","oldName","newName","module$exports$Blockly$VariableMap","VariableMap","renameVariableWithConflict_","renameVariableAndUses_","updateVarName","renameVarById","deleteVariable","getVariableUsesById","getFieldValue","CANNOT_DELETE_VARIABLE_PROCEDURE","DELETE_VARIABLE_CONFIRMATION","deleteVariableInternal","getVariableTypes","module$exports$Blockly$Events$BlockMove","BlockMove","currentLocation_","oldParentId","parentId","oldInputName","inputName","oldCoordinate","coordinate","recordNew","getInputWithBlock","unplug","module$exports$Blockly$constants","COLLAPSED_INPUT_NAME","COLLAPSED_FIELD_NAME","module$exports$Blockly$Connection","sourceBlock_","CAN_CONNECT","REASON_SELF_CONNECTION","REASON_WRONG_TYPE","REASON_TARGET_NULL","REASON_CHECKS_FAILED","REASON_DIFFERENT_WORKSPACES","REASON_SHADOW_PARENT","REASON_DRAG_CHECKS_FAILED","REASON_PREVIOUS_AND_OUTPUT","targetConnection","check_","shadowDom_","connect_","stashShadowState_","applyShadowState_","module$contents$Blockly$Connection_connectReciprocally","setParent","getConnectionForOrphanedConnection","onFailedConnect","setShadowStateInternal_","isSuperior","getConnectionChecker","canConnect","module$contents$Blockly$Connection_getSingleConnection","module$contents$Blockly$Connection_getConnectionForOrphanedOutput","lastConnectionInStack","disconnectInternal_","respawnShadow_","createShadowBlock_","onCheckChanged_","setCheck","getCheck","shadowDom","shadowState","shadowState_","neighbours","getParentInput","serializeShadow_","module$exports$Blockly$ConnectionChecker","ConnectionChecker","doSafetyChecks","doTypeChecks","doDragChecks","distanceFrom","canConnectToPrevious_","getPreviousBlock","module$contents$Blockly$Workspace_WorkspaceDB_","topBlocks_","topComments_","commentDB_","listeners_","undoStack_","redoStack_","blockDB_","typedBlocksDB_","potentialVariableMap_","isClearing","MAX_UNDO","connectionDBList","SCAN_ANGLE","sortObjects_","addTopBlock","removeTopBlock","addTypedBlock","removeTypedBlock","getBlocksByType","addTopComment","removeTopComment","module$exports$Blockly$Block","Block","remainingCapacity","remainingCapacityOfType","hasBlockLimits","getUndoStack","getRedoStack","undo","clearUndo","addChangeListener","removeChangeListener","setBlockById","removeBlockById","allInputsFilled","createPotentialVariableMap","getAll","module$exports$Blockly$Bubble","Bubble","shape_","onMouseDownResizeWrapper_","onMouseDownBubbleWrapper_","moveCallback_","resizeCallback_","ARROW_ANGLE","arrow_radians_","setAnchorLocation","BORDER_WIDTH","setBubbleSize","positionBubble_","renderArrow_","rendered_","ARROW_THICKNESS","ARROW_BEND","ANCHOR_RADIUS","unbindDragEvents_","bubbleMouseUp_","anchorXY_","relativeLeft_","relativeTop_","width_","height_","autoLayout_","bubbleGroup_","getConstants","JAVA_FX","bubbleArrow_","bubbleBack_","resizeGroup_","points","x1","y1","x2","y2","bubbleMouseDown_","resizeMouseDown_","setSvgId","getGesture","handleBubbleStart","showContextMenu","setDeleteStyle","promote","startDrag","resizeMouseMove_","moveDrag","registerResizeEvent","registerMoveEvent","lastChild","layoutBubble_","getViewMetrics","getOptimalRelativeLeft_","getOptimalRelativeTop_","getOverlap_","setDragging","getBubbleSize","acos","cos","moveDuringDrag","setAutoLayout","dy","createNonEditableBubble","pathObject","svgPath","module$exports$Blockly$Events$CommentBase","CommentBase","CommentCreateDeleteHelper","module$exports$Blockly$Events$CommentMove","CommentMove","comment_","oldCoordinate_","getXY","newCoordinate_","setOldCoordinate","module$exports$Blockly$BubbleDragger","BubbleDragger","draggingBubble_","dragTarget_","wouldDeleteBubble_","startXY_","dragSurface_","getBlockDragSurface","startBubbleDrag","moveToDragSurface_","dragBubble","pixelsToWorkspaceUnits_","getDragTarget","shouldDelete_","updateCursorDuringBubbleDrag_","onDragExit","onDragEnter","onDragOver","getComponentManager","wouldDelete","endBubbleDrag","shouldPreventMove","onDrop","fireMoveEvent_","isComment","isMutator","module$exports$Blockly$WorkspaceDragger","WorkspaceDragger","horizontalScrollEnabled_","isMovableHorizontally","verticalScrollEnabled_","isMovableVertically","startScrollXY_","unselect","endDrag","module$exports$Blockly$InsertionMarkerManager","InsertionMarkerManager","topBlock_","lastMarker_","lastOnStack_","firstMarker_","createMarkerBlock_","localConnection_","closestConnection_","wouldDeleteBlock_","fadedBlock_","highlightedBlock_","markerConnection_","availableConnections_","initAvailableConnections_","PREVIEW_TYPE","INSERTION_MARKER","INPUT_OUTLINE","REPLACEMENT_FADE","DUPLICATE_BLOCK_ERROR","updateAvailableConnections","wouldDeleteBlock","wouldConnectBlock","applyConnections","hidePreview_","bringToFront","getCandidate_","shouldUpdatePreviews_","maybeHidePreview_","maybeShowPreview_","setInsertionMarker","getInputsInline","getConnections_","local","getStartRadius_","showPreview_","getConnectionPreviewMethod","showInsertionInputOutline_","showInsertionMarker_","showReplacementFade_","shouldHighlightConnection","unhighlight","hideReplacementFade_","hideInsertionInputOutline_","hideInsertionMarker_","getMatchingConnection","positionNearConnection","highlightShapeForInput","fadeForReplacement","getInsertionMarkers","module$exports$Blockly$Events$UiBase","UiBase","module$exports$Blockly$Events$BlockDrag","BlockDrag","isStart","module$exports$Blockly$BlockDragger","BlockDragger","draggingBlock_","draggedConnectionManager_","dragIconData_","module$contents$Blockly$BlockDragger_initIconData","getIcons","getIconLocation","fireDragStartEvent_","shouldDisconnect_","disconnectBlock_","moveToDragSurface","dragIcons_","updateCursorDuringBlockDrag_","fireDragEndEvent_","getNewLocationAfterDrag_","newLocation","moveOffDragSurface","maybeDeleteBlock_","updateBlockAfterMove_","moveConnections","scheduleSnapAndBump","updateToolboxStyle_","getToolbox","removeStyle","addStyle","setIconLocation","module$exports$Blockly$Events$Click","Click","targetType","module$exports$Blockly$Gesture","Gesture","mouseDownXY_","currentDragDeltaXY_","startWorkspace_","targetBlock_","startBlock_","startField_","startBubble_","creatorWorkspace_","isDraggingBubble_","isDraggingBlock_","isDraggingWorkspace_","hasExceededDragRadius_","mostRecentEvent_","flyout_","workspaceDragger_","blockDragger_","bubbleDragger_","onUpWrapper_","onMoveWrapper_","isEnding_","hasStarted_","calledUpdateIsDragging_","healStack_","clearGesture","updateFromEvent_","updateDragDelta_","updateIsDragging_","updateIsDraggingFromFlyout_","isBlockCreatable_","isScrollable","isDragTowardWorkspace","updateScreenCalculationsIfScrolled","createBlock","updateIsDraggingBubble_","startDraggingBubble_","updateIsDraggingBlock_","startDraggingBlock_","updateIsDraggingWorkspace_","isDraggable","doStart","pointerType","handleMove","handleUp","isBubbleClick_","doBubbleClick_","isFieldClick_","doFieldClick_","isBlockClick_","doBlockClick_","isWorkspaceClick_","doWorkspaceClick_","bringBlockToFront_","handleWsStart","setStartWorkspace_","fireWorkspaceClick_","handleFlyoutStart","setStartFlyout_","getWorkspace","handleBlockStart","setStartBlock","setStartBubble","setFocus","showEditor","autoClose","setStartField","setTargetBlock_","isClickable","hasStarted","getCurrentDragger","inProgress","currentGesture_","module$exports$Blockly$Field","Field","DEFAULT_VALUE","tooltip_","validator_","size_","mouseDownWrapper_","textContent_","textElement_","borderRect_","fieldGroup_","configure_","setValidator","maxDisplayLength","isDirty_","visible_","clickTarget_","NBSP","EDITABLE","SERIALIZABLE","setTooltip","setSourceBlock","initView","updateEditable","bindEvents_","createBorderRect_","createTextElement_","getClickTarget_","onMouseDown_","saveLegacyState","loadLegacyState","showEditor_","isCurrentlyEditable","getValidator","applyColour","render_","nodeValue","getDisplayText_","updateSize_","positionTextElement_","positionBorderRect_","getAbsoluteXY_","getText","getText_","markDirty","forceRerender","bumpNeighbours","updateMarkers_","doClassValidation_","processValidation_","doValueUpdate_","doValueInvalid_","getTooltip","referencesVariables","getFlipRtl","isTabNavigable","onShortcut","module$exports$Blockly$FieldLabel","FieldLabel","class_","setClass","module$exports$Blockly$blockRendering$Debug","Debug","debugElements_","svgRoot_","rowSpacers","elemSpacers","rows","elems","connections","blockBounds","connectedBlockBounds","clearElems","drawSpacerRow","drawSpacerElem","drawRenderedElem","drawConnection","offsetInBlock_","drawRenderedRow","randomColour_","drawRowWithElements","drawBoundingBox","widthWithChildren","drawDebug","rightSide","drawRender","module$exports$Blockly$blockRendering$Drawer","Drawer","block_","info_","topLeft_","inlinePath_","outlinePath_","hideHiddenIcons_","drawOutline_","drawInternals_","setPath","flipRTL","renderingDebugger","recordSizeOnBlock_","hiddenIcons","iconGroup_","drawTop_","drawJaggedEdge_","drawStatementInput_","drawValueInput_","drawRightSideRow_","drawBottom_","drawLeft_","topRow","positionPreviousConnection_","startY","positionExternalValueConnection_","connectionHeight","positionStatementInputConnection_","bottomRow","positionNextConnection_","positionOutputConnection_","connectionOffsetY","drawInlineInput_","layoutField_","flipRtl","computeIconLocation","connectionWidth","positionInlineInputConnection_","connectionOffsetX","setOffsetInBlock","statementEdge","startX","module$exports$Blockly$blockRendering$InputConnection","InputConnection","connectedBlock","connectedBlockWidth","connectedBlockHeight","module$exports$Blockly$blockRendering$ExternalValueInput","ExternalValueInput","module$exports$Blockly$blockRendering$Field","parentInput","module$exports$Blockly$blockRendering$Hat","Hat","ascenderHeight","module$exports$Blockly$blockRendering$Icon","getCorrectedSize","module$exports$Blockly$blockRendering$InRowSpacer","InRowSpacer","module$exports$Blockly$blockRendering$InlineInput","InlineInput","module$exports$Blockly$blockRendering$InputRow","InputRow","connectedBlockWidths","module$exports$Blockly$blockRendering$JaggedEdge","JaggedEdge","module$exports$Blockly$ASTNode","ASTNode","type_","isConnection_","isConnectionType_","location_","wsCoordinate_","processParams_","BLOCK","OUTPUT","NEXT","PREVIOUS","STACK","WORKSPACE","NAVIGATE_ALL_FIELDS","DEFAULT_OFFSET_Y","createFieldNode","createConnectionNode","createInputNode","createBlockNode","createStackNode","createWorkspaceNode","wsCoordinate","module$contents$Blockly$ASTNode_getParentConnection","createTopNode","getLocation","getWsCoordinate","isConnection","findNextForInput_","findNextForField_","findPrevForInput_","findPrevForField_","navigateBetweenStacks_","findTopASTNodeForBlock_","getOutAstNodeForBlock_","getTopStackBlock","findFirstFieldOrInput_","module$exports$Blockly$Events$MarkerMove","MarkerMove","oldNode","newNode","isCursor","module$exports$Blockly$blockRendering$MarkerSvg","marker_","parent_","currentMarkerSvg","colour_","MarkerSvg","createDomInternal_","setParent_","applyColour_","showAtLocation_","fireMarkerEvent_","beginElement","showWithBlock_","showWithOutput_","showWithInput_","showWithNext_","showWithPrevious_","showWithField_","showWithCoordinates_","showWithStack_","showWithBlockPrevOutput_","positionPrevious_","positionOutput_","positionBlock_","showCurrent_","positionLine_","positionRect_","positionInput_","getOffsetInBlock","markerBlock_","flipRtl_","markerInput_","markerSvgLine_","markerSvgRect_","getBlinkProperties_","attributeType","attributeName","dur","repeatCount","module$exports$Blockly$blockRendering$NextConnection","NextConnection","module$exports$Blockly$blockRendering$OutputConnection","OutputConnection","module$exports$Blockly$blockRendering$PathObject","PathObject","constants","svgRoot","markerSvg","cursorSvg","updateShadow_","updateDisabled_","getInheritedDisabled","setStyle","setClass_","updateHighlighted","updateSelected","updateDraggingDelete","updateInsertionMarker","updateMovable","updateReplacementFade","updateShapeForInputHighlight","module$exports$Blockly$blockRendering$PreviousConnection","PreviousConnection","module$exports$Blockly$Input","Align","CENTRE","Input","appendField","insertFieldAt","prefixField","suffixField","removeField","startTrackingAll","stopTrackingAll","setAlign","module$exports$Blockly$blockRendering$RoundCorner","RoundCorner","module$exports$Blockly$blockRendering$SpacerRow","SpacerRow","followsStatement","module$exports$Blockly$blockRendering$SquareCorner","SquareCorner","module$exports$Blockly$blockRendering$StatementInput","StatementInput","module$exports$Blockly$blockRendering$TopRow","TopRow","capline","hasPreviousConnection","module$exports$Blockly$blockRendering$RenderInfo","RenderInfo","renderer_","isInline","inputRows","createRows_","addElemSpacing_","addRowSpacing_","computeBounds_","alignRowElements_","finalize_","populateTopRow_","collapseHidden","shouldStartNewRow_","addInput_","populateBottomRow_","getInRowSpacing_","alignStatementRow_","getDesiredRowWidth_","addAlignmentPadding_","makeSpacerRow_","getSpacerRowHeight_","getSpacerRowWidth_","precedesStatement","getElemCenterline_","recordElemPositions_","module$exports$Blockly$blockRendering$Renderer","Renderer","overrides","makeConstants_","refreshDom","makeRenderInfo_","makeDrawer_","makeDebugger_","makePathObject","orphanCanConnectAtEnd","module$contents$Blockly$Extensions_allExtensions","module$exports$Blockly$blockRendering","IPathObject","Measurable","debug","module$exports$Blockly$Extensions","allExtensions","registerMixin","registerMutator","module$contents$Blockly$Extensions_checkHasMutatorProperties","module$contents$Blockly$Extensions_checkMutatorDialog","module$exports$Blockly$Mutator","Mutator","setMutator","isRegistered","module$contents$Blockly$Extensions_checkNoMutatorProperties","module$contents$Blockly$Extensions_getMutatorProperties","module$contents$Blockly$Extensions_mutatorPropertiesMatch","module$contents$Blockly$Extensions_checkHasFunctionPair","compose","decompose","module$contents$Blockly$Extensions_checkXmlHooks","module$contents$Blockly$Extensions_checkJsonHooks","runAfterPageLoad","buildTooltipForDropdown","module$contents$Blockly$Extensions_checkDropdownOptionsInTable","isOptionListDynamic","getOptions","buildTooltipWithFieldText","tooltipWhenNotConnected","module$exports$Blockly$utils","aria","dom","idGenerator","KeyCodes","math","Metrics","parsing","svgPaths","svgMath","noEvent","getInjectionDivXY_","arrayRemove","module$exports$Blockly$Events$BlockDelete","BlockDelete","oldXml","wasShadow","oldJson","module$exports$Blockly$Generator","contextMenu","parentBlock_","childBlocks_","editable_","movable_","deletable_","collapsed_","isShadow_","outputShape_","xy_","isInMutator","isInsertionMarker_","statementInputCount","onchange","setOnChange","hue_","styleName_","onchangeWrapper_","unplugFromRow_","unplugFromStack_","getOnlyValueConnection_","getSurroundParent","getFirstStatementConnection","isDuplicatable","isDisposed","setHelpUrl","getColour","getStyleName","getHue","getVars","refreshVariableName","setFieldValue","setPreviousStatement","makeConnection_","setNextStatement","setOutput","setOutputShape","getOutputShape","appendValueInput","appendInput_","appendStatementInput","appendDummyInput","previousStatement","jsonInitStyle_","jsonInitColour_","interpolate_","outputShape","nextStatement","enableContextMenu","suppressPrefixSuffix","validateTokens_","interpolateArguments_","isInputKeyword_","inputFromJson_","fieldFromJson_","stringToFieldJson_","alt","CENTER","moveInputBefore","moveNumberedInputBefore","removeInput","getInputTargetBlock","setWarningText","module$exports$Blockly$ContextMenuRegistry","ContextMenuRegistry","ScopeType","getContextMenuOptions","scopeType","displayText","module$exports$Blockly$RenderedConnection","RenderedConnection","dbOpposite_","trackedState_","TrackedState","WILL_TRACK","UNTRACKED","TRACKED","removeConnection","bumpAwayFrom","addSelect","removeSelect","addConnection","moveToOffset","tighten","searchForClosest","highlightedPath_","setTracking","getNeighbours","module$exports$Blockly$Marker","Marker","drawer_","curNode_","getCurNode","setCurNode","module$exports$Blockly$Cursor","Cursor","module$exports$Blockly$BasicCursor","BasicCursor","registrationName","getNextNode_","validNode_","getPreviousNode_","findSiblingOrParent_","getRightMostChild_","module$exports$Blockly$TabNavigateCursor","TabNavigateCursor","module$exports$Blockly$Events$Selected","Selected","oldElementId","newElementId","module$exports$Blockly$BlockSvg","BlockSvg","renderIsInProgress_","useDragSurface_","warningTextDb_","INLINE","COLLAPSED_WARNING_ID","createIcon","eventsInit_","getCanvas","getColourSecondary","getColourTertiary","commentIcon_","clearTransformAttributes_","snapToGrid","getGrid","updateCollapsed_","showHelp","generateContextMenu","customContextMenu","cancelCurrentGesture","checkAndDelete","Comment","updateText","module$exports$Blockly$Warning","Warning","COLLAPSED_WARNINGS_WARNING","setText","setBlock","updateConnectionLocations_","module$exports$Blockly$ConnectionDB","ConnectionDB","connections_","connectionChecker_","calculateIndexForYPos_","findIndexOfConnection_","isInYRange_","module$exports$Blockly$ThemeManager","ThemeManager","theme_","subscribedWorkspaces_","componentDB_","refreshTheme","propertyName","subscribeWorkspace","unsubscribeWorkspace","module$exports$Blockly$TouchGesture","TouchGesture","isMultiTouch_","cachedPoints_","startDistance_","previousScale_","isPinchZoomEnabled_","onStartWrapper_","ZOOM_IN_MULTIPLIER","ZOOM_OUT_MULTIPLIER","handleTouchStart","handleStart","isMultiTouch","handleTouchMove","handleTouchEnd","getTouchPoint","handlePinch_","module$exports$Blockly$WorkspaceAudio","WorkspaceAudio","parentWorkspace_","SOUNDS_","lastSound_","Audio","canPlayType","preload","volume","pause","catch","module$exports$Blockly$Events$ThemeChange","ThemeChange","module$exports$Blockly$Events$ViewportChange","ViewportChange","module$exports$Blockly$MetricsManager","MetricsManager","getDimensionsPx_","getHeight","getFlyoutMetrics","getFlyout","getToolboxMetrics","getSvgMetrics","getAbsoluteMetrics","getContentMetrics","getComputedFixedEdges_","getPaddedContent_","getUiMetrics","viewMetrics","absoluteMetrics","toolboxMetrics","contentHeight","contentWidth","contentTop","contentLeft","svgHeight","svgWidth","toolboxWidth","toolboxHeight","flyoutWidth","flyoutHeight","module$exports$Blockly$WorkspaceSvg","WorkspaceSvg","metricsManager_","setTopLevelWorkspaceMetrics_","componentManager_","blockDragSurface_","workspaceDragSurface_","useWorkspaceDragSurface_","highlightedBlocks_","audioManager_","grid_","markerManager_","toolboxCategoryCallbacks_","flyoutButtonCallbacks_","registerToolboxCategoryCallback","module$exports$Blockly$VariablesDynamic","mutatorOpenListener","themeManager_","cachedParentSvg_","topBoundedElements_","dragTargetAreas_","cachedParentSvgSize_","resizeHandlerWrapper_","resizesEnabled_","startScrollX","startScrollY","dragDeltaXY_","oldScale_","oldTop_","oldLeft_","scrollbar","toolbox_","isDragSurfaceActive_","injectionDiv_","lastRecordedPageScroll_","inverseScreenCTM_","inverseScreenCTMDirty_","getMarkerManager","setMetricsManager","updateBlockStyles_","refreshToolboxSelection","updateBlockStyle","updateInverseScreenCTM","svgBlockCanvas_","setResizeHandlerWrapper","svgBubbleCanvas_","onMouseWheel_","recordDragTargets","zoomControls_","addTrashcan","module$exports$Blockly$Trashcan","Trashcan","addZoomControls","module$exports$Blockly$ZoomControls","ZoomControls","addFlyout","updateScreenCalculations_","highlightBlock","pasteBlock_","pasteWorkspaceComment_","fireCreateEvent","refreshSelection","recordDeleteAreas","getClientRect","cleanUp","configureContextMenu","updateToolbox","setBrowserFocus","setActive","getCTM","setScale","zoomCenter","zoomToFit","scrollCenter","beginCanvasTransition","endCanvasTransition","centerOnBlock","reflow","getScale","addTopBoundedElement","removeTopBoundedElement","getButtonCallback","removeButtonCallback","getToolboxCategoryCallback","removeToolboxCategoryCallback","autoHide","resizeSvgContents","module$exports$Blockly$inject","WORKSPACE_ARIA_LABEL","module$contents$Blockly$inject_createDom","module$contents$Blockly$inject_createMainWorkspace","module$contents$Blockly$inject_init","tabindex","module$contents$Blockly$inject_bindDocumentEvents","scrollToStart","module$contents$Blockly$inject_loadSounds","module$contents$Blockly$inject_onKeyDown","module$contents$Blockly$inject_documentEventsBound","module$exports$Blockly$DragTarget","DragTarget","module$exports$Blockly$DeleteArea","DeleteArea","wouldDelete_","updateWouldDelete_","module$exports$Blockly$FlyoutMetricsManager","FlyoutMetricsManager","getBoundingBox_","MARGIN","module$exports$Blockly$Flyout","Flyout","setMetrics_","toolboxPosition_","eventWrappers_","mats_","buttons_","permanentlyDisabled_","tabWidth_","recycledBlocks_","GAP_X","GAP_Y","SCROLLBAR_MARGIN","dragAngleRange_","wheel_","filterWrapper_","filterForCapacity_","getFlyoutScale","positionAt_","reflowWrapper_","clearOldBlocks_","getDynamicCategoryContents_","createFlyoutInfo_","layout_","gaps","emptyRecycledBlocks_","createFlyoutBlock_","addBlockGap_","addSeparatorGap_","createButton_","module$exports$Blockly$FlyoutButton","FlyoutButton","getRecycledBlock_","blockIsRecyclable_","recycleBlock_","addBlockListeners_","blockMouseDown_","placeNewBlock_","initFlyoutButton_","createRect_","flyoutRect_","moveRectToBlock_","reflowInternal_","positionNewBlock_","module$exports$Blockly$VerticalFlyout","VerticalFlyout","registryName","getX","getY","setBackgroundPath_","atan2","getPosition","module$exports$Blockly$ToolboxItem","ToolboxItem","toolboxitemid","level_","getLevel","toolboxItemDef_","parentToolbox_","isSelectable","isCollapsible","module$exports$Blockly$ToolboxCategory","ToolboxCategory","getColour_","labelDom_","iconDom_","rowContents_","rowDiv_","htmlDiv_","cssConfig_","makeDefaultCssConfig_","cssConfig","isDisabled_","isHidden_","flyoutItems_","parseContents_","nestedPadding","defaultBackgroundColour","rowcontentcontainer","openicon","closedicon","createContainer_","createRowContainer_","createRowContentsContainer_","createIconDom_","createLabelDom_","addColourBorder_","isHorizontal","categorystyle","categoryStyle","getColourfromStyle_","parseColour_","getClickTarget","openIcon_","closeIcon_","setVisible_","getSelectedItem","clearSelection","allAncestorsExpanded_","isExpanded","setDisabled","getContents","updateFlyoutContents","module$exports$Blockly$ToolboxSeparator","ToolboxSeparator","module$exports$Blockly$CollapsibleToolboxCategory","CollapsibleToolboxCategory","subcategoriesDiv_","expanded_","toolboxItems_","createToolboxItem_","setExpanded","expanded","getChildToolboxItems","createSubCategoriesDom_","handleToolboxItemResize","toggleExpanded","module$exports$Blockly$Events$ToolboxItemSelect","ToolboxItemSelect","oldItem","newItem","module$exports$Blockly$Toolbox","Toolbox","toolboxDef_","horizontalLayout_","contentsDiv_","HtmlDiv","contents_","contentMap_","previouslySelectedItem_","selectedItem_","boundEvents_","createFlyout_","createContentsContainer_","attachEvents_","onClick_","onKeyDown_","getToolboxItemById","setSelectedItem","selectNext_","selectPrevious_","selectParent_","selectChild_","renderContents_","createDocumentFragment","addToolboxItem_","getToolboxItems","updateCursorDeleteStyle_","getPreviouslySelectedItem","shouldDeselectItem_","deselectItem_","shouldSelectItem_","selectItem_","updateFlyout_","fireSelectEvent_","selectItemByPosition","module$exports$Blockly$HorizontalFlyout","HorizontalFlyout","FUNCTION_NAME_PLACEHOLDER_REGEXP_","FUNCTION_NAME_PLACEHOLDER_","INFINITE_LOOP_TRAP","STATEMENT_PREFIX","STATEMENT_SUFFIX","INDENT","COMMENT_WRAP","ORDER_OVERRIDES","isInitialized","workspaceToCode","blockToCode","scrubNakedValue","injectId","prefixLines","allNestedComments","scrub_","valueToCode","statementToCode","addLoopTrap","RESERVED_WORDS_","addReservedWords","variableDB_","nameDB_","provideFunction_","definitions_","functionNames_","module$exports$Blockly$FieldDropdown","FieldDropdown","module$contents$Blockly$FieldDropdown_validateOptions","menuGenerator_","generatedOptions_","trimOptions_","selectedOption_","svgArrow_","imageElement_","menu_","selectedMenuItem_","CHECKMARK_OVERHANG","MAX_MENU_HEIGHT_VH","ARROW_CHAR","shouldAddBorderRect_","createSVGArrow_","createTextArrow_","setAttributeNS","dropdownCreate_","dropdownDispose_","handleMenuActionEvent_","onItemSelected_","applyTrim_","renderSelectedImage_","renderSelectedText_","positionSVGArrow_","module$exports$Blockly$FieldVariable","FieldVariable","dropdownCreate","defaultVariableName","setTypes_","variableTypes","defaultType","variable_","defaultType_","typeIsAllowed_","getVariableTypes_","DELETE_VARIABLE","module$exports$Blockly$FieldTextInput","FieldTextInput","spellcheck_","onKeyInputWrapper_","onKeyDownWrapper_","htmlInput_","fullBlockClickTarget_","BORDERRADIUS","spellcheck","isBeingEdited_","isTextValid_","untypedDefaultValue_","resizeEditor_","setSpellcheck","showPromptEditor_","showInlineEditor_","CHANGE_VALUE_TITLE","getValueFromEditorText_","widgetDispose_","widgetCreate_","getEditorText_","oldValue_","bindInputEvents_","onFinishEditing_","unbindInputEvents_","onHtmlInputKeyDown_","onHtmlInputChange_","setEditorValue_","module$exports$Blockly$FieldNumber","FieldNumber","min_","max_","precision_","decimalPlaces_","setConstraints","setMinInternal_","setMaxInternal_","setPrecisionInternal_","precision","setMin","getMin","setMax","getMax","setPrecision","toLocaleString","maximumFractionDigits","getPrecision","module$exports$Blockly$FieldMultilineInput","FieldMultilineInput","textGroup_","maxLines_","isOverflowedY_","setMaxLines","getMaxLines","module$exports$Blockly$FieldLabelSerializable","FieldLabelSerializable","module$exports$Blockly$FieldColour","FieldColour","onMouseLeaveWrapper_","onMouseEnterWrapper_","onClickWrapper_","highlightedIndex_","picker_","colours_","titles_","columns_","colourOptions","colourTitles","COLOURS","TITLES","COLUMNS","setColours","setColumns","moveHighlightBy_","getHighlighted_","setHighlightedCell_","onMouseMove_","onMouseEnter_","onMouseLeave_","dir","module$exports$Blockly$FieldCheckbox","FieldCheckbox","checkChar_","checked","CHECK_CHAR","checkCharacter","getValueBoolean","setCheckCharacter","convertValueToBool_","module$exports$Blockly$FieldAngle","FieldAngle","clockwise_","CLOCKWISE","offset_","OFFSET","wrap_","WRAP","round_","ROUND","moveSurfaceWrapper_","clickSurfaceWrapper_","clickWrapper_","line_","gauge_","editor_","angle","HALF","RADIUS","clockwise","symbol_","updateGraph_","hide_","ownerSVGElement","displayMouseOrKeyboardValue_","wrapValue_","module$exports$Blockly$zelos$TopRow","module$exports$Blockly$zelos$StatementInput","connectedBottomNextConnection","module$exports$Blockly$zelos$RightConnectionShape","RightConnectionShape","module$exports$Blockly$zelos$MarkerSvg","showWithInputOutput_","positionCircle_","markerCircle_","CURSOR_RADIUS","module$exports$Blockly$zelos$ConstantProvider","GRID_UNIT","STATEMENT_INPUT_SPACER_MIN_WIDTH","HEXAGONAL","SQUARE","SHAPE_IN_SHAPE_PADDING","0","2","3","MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH","SELECTED_GLOW_COLOUR","SELECTED_GLOW_SIZE","REPLACEMENT_GLOW_COLOUR","REPLACEMENT_GLOW_SIZE","selectedGlowFilterId","selectedGlowFilter_","replacementGlowFilterId","replacementGlowFilter_","makeHexagonal","ROUNDED","makeRounded","SQUARED","makeSquared","rightWidth","pathRightDown","pathRightUp","pathTopRight","pathBottomRight","module$exports$Blockly$zelos$Drawer","beginDrawing","outputShapeType","endDrawing","hasStatementInput","drawFlatTop_","drawRightDynamicConnection_","drawFlatBottom_","drawLeftDynamicConnection_","setOutlinePath","module$exports$Blockly$zelos$PathObject","svgPathSelected_","outlines_","remainingOutlines_","getOutlinePath_","removeOutlinePath_","module$exports$Blockly$zelos$BottomRow","module$exports$Blockly$FieldImage","FieldImage","altText_","Y_PADDING","imageHeight_","setAlt","setOnClickHandler","module$exports$Blockly$zelos$RenderInfo","isMultiRow","adjustXPosition_","rightAlignedDummyInput","finalizeOutputConnection_","finalizeHorizontalAlignment_","getNegativeSpacing_","finalizeVerticalAlignment_","module$exports$Blockly$zelos$Renderer","module$exports$Blockly$zelos","module$exports$Blockly$thrasos$RenderInfo","module$exports$Blockly$thrasos$Renderer","module$exports$Blockly$thrasos","module$exports$Blockly$serialization$workspaces","module$contents$Blockly$serialization$variables_VariableSerializer","module$exports$Blockly$minimalist$ConstantProvider","module$exports$Blockly$minimalist$Drawer","module$exports$Blockly$minimalist$RenderInfo","module$exports$Blockly$minimalist$Renderer","module$exports$Blockly$minimalist","module$exports$Blockly$geras$StatementInput","DARK_PATH_OFFSET","module$exports$Blockly$geras$PathObject","svgPathDark","svgPathLight","colourDark","setHighlightPath","module$exports$Blockly$geras$ConstantProvider","MAX_BOTTOM_WIDTH","module$exports$Blockly$geras$Highlighter","Highlighter","inlineSteps_","steps_","RTL_","highlightConstants_","getHighlightConstants","highlightOffset_","outsideCornerPaths_","OUTSIDE_CORNER","insideCornerPaths_","INSIDE_CORNER","puzzleTabPaths_","notchPaths_","startPaths_","jaggedTeethPaths_","getPath","drawTopCorner","drawValueInput","drawStatementInput","drawRightSideRow","drawBottomRow","drawLeft","drawInlineInput","module$exports$Blockly$geras$Drawer","highlighter_","module$exports$Blockly$geras$HighlightConstantProvider","HighlightConstantProvider","constantProvider","makeInsideCorner","makeOutsideCorner","SQRT1_2","module$exports$Blockly$geras$InlineInput","module$exports$Blockly$geras$RenderInfo","nextRightEdge","module$exports$Blockly$geras$Renderer","makeHighlightConstants_","module$exports$Blockly$geras","module$exports$Blockly$Themes$Zelos","Zelos","module$exports$Blockly$Themes","module$exports$Blockly$ShortcutItems","ESCAPE","COPY","CUT","PASTE","UNDO","REDO","registerEscape","registerDelete","registerCopy","registerCut","registerPaste","registerUndo","registerRedo","registerDefaultShortcuts","module$exports$Blockly$Events$FinishedLoading","FinishedLoading","module$exports$Blockly$Events$Ui","Ui","module$exports$Blockly$Events$BubbleOpen","BubbleOpen","isOpen","bubbleType","module$exports$Blockly$Events$CommentChange","CommentChange","oldContents_","newContents_","oldContents","newContents","setContent","module$exports$Blockly$Events$CommentCreate","CommentCreate","module$exports$Blockly$Events$CommentDelete","CommentDelete","module$exports$Blockly$Events$TrashcanOpen","TrashcanOpen","module$exports$Blockly$Events","Abstract","BumpEvent","module$exports$Blockly$ContextMenuItems","registerCleanup","CLEAN_UP","module$contents$Blockly$ContextMenuItems_toggleOption_","registerCollapse","COLLAPSE_ALL","registerExpand","EXPAND_ALL","module$contents$Blockly$ContextMenuItems_addDeletableBlocks_","module$contents$Blockly$ContextMenuItems_getDeletableBlocks_","module$contents$Blockly$ContextMenuItems_deleteNext_","registerDeleteAll","DELETE_BLOCK","DELETE_X_BLOCKS","DELETE_ALL_BLOCKS","registerDuplicate","DUPLICATE_BLOCK","registerComment","registerInline","EXTERNAL_INPUTS","INLINE_INPUTS","registerCollapseExpandBlock","EXPAND_BLOCK","COLLAPSE_BLOCK","registerDisable","DISABLE_BLOCK","ENABLE_BLOCK","registerHelp","HELP","registerDefaultOptions","module$exports$Blockly$Icon","SIZE","bubble_","iconXY_","drawIcon_","iconClick_","text_","createBubble_","disposeBubble_","paragraphElement_","model_","cachedText_","onInputWrapper_","onChangeWrapper_","onWheelWrapper_","createEditor_","foreignObject_","textarea_","resizeTextarea_","startEdit_","onBubbleResize_","createNonEditableBubble_","createEditableBubble_","module$exports$Blockly$uiPosition","verticalPosition","horizontalPosition","bumpDirection","getStartPositionRect","getCornerOppositeToolbox","bumpPositionRect","zoomResetGroup_","zoomOutGroup_","zoomInGroup_","onZoomOutWrapper_","onZoomInWrapper_","onZoomResetWrapper_","WIDTH_","HEIGHT_","SMALL_SPACING_","LARGE_SPACING_","MARGIN_VERTICAL_","MARGIN_HORIZONTAL_","left_","top_","initialized_","createZoomOutSvg_","createZoomInSvg_","createZoomResetSvg_","zoom_","fireZoomEvent_","resetZoom_","disposed_","setHeight","setWidth","getContent","parseAttributes","svgRect_","TOP_OFFSET","disposeInternal_","svgRectTarget_","pathMouseDown_","svgHandleTarget_","blurFocus","addFocus","removeFocus","addResizeDom_","addDeleteDom_","setSize_","deleteGroup_","deleteMouseDown_","deleteMouseOut_","deleteMouseUp_","module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE","deleteIconBorder_","resizeMouseUp_","resizeComment_","focused_","flyout","onDelete_","module$contents$Blockly$Trashcan_WIDTH","module$contents$Blockly$Trashcan_LID_HEIGHT","isLidOpen","minOpenness_","svgLid_","lidTask_","lidOpen_","blockMouseDownWhenOpenable_","click","mouseOver_","mouseOut_","animateLid_","setLidOpen","hasContents_","contentsIsOpen","openFlyout","fireUiEvent_","closeFlyout","emptyContents","setMinOpenness_","module$contents$Blockly$Trashcan_BODY_HEIGHT","setLidAngle_","module$contents$Blockly$Trashcan_ANIMATION_LENGTH","closeLid","cleanBlockJson_","targetWorkspace_","position_","isLabel_","callbackKey_","callbackKey","callbackkey","cssClass_","MARGIN_X","MARGIN_Y","svgText_","updateTransform_","onMouseUp_","isLabel","getButtonText","module$contents$Blockly$Procedures_procTupleComparator","onCreateVariableButtonClick_String","onCreateVariableButtonClick_Number","onCreateVariableButtonClick_Colour","NEW_STRING_VARIABLE","NEW_NUMBER_VARIABLE","NEW_COLOUR_VARIABLE","variables_set_dynamic","variables_get_dynamic","DEFAULT_ARG","getProcedureDef","findLegalName","module$contents$Blockly$Procedures_isLegalName","isNameUsed","rename","renameProcedure","procedures_defnoreturn","PROCEDURES_DEFNORETURN_PROCEDURE","procedures_defreturn","PROCEDURES_DEFRETURN_PROCEDURE","procedures_ifreturn","module$contents$Blockly$Procedures_updateMutatorFlyout","module$contents$Blockly$Procedures_mutatorChangeListener","getCallers","getProcedureCall","mutateCallers","getDefinition","quarkNames_","workspaceWidth_","workspaceHeight_","svgDialog_","resizeBubble_","onBubbleMove_","rootBlock_","saveConnections","sourceListener_","workspaceChanged_","updateWorkspace_","reconnect","findParentWs","VERSION","ALIGN_LEFT","ALIGN_CENTRE","ALIGN_RIGHT","DUMMY_INPUT","TOOLBOX_AT_TOP","TOOLBOX_AT_BOTTOM","TOOLBOX_AT_LEFT","TOOLBOX_AT_RIGHT","mainWorkspace","HSV_SATURATION","HSV_VALUE","bindEvent_","unbindEvent_","bindEventWithChecks_","VARIABLE_CATEGORY_NAME","VARIABLE_DYNAMIC_CATEGORY_NAME","PROCEDURE_CATEGORY_NAME","BlocklyOptions","ContextMenu","ContextMenuItems","Css","Events","Extensions","IASTNodeLocation","IASTNodeLocationSvg","IASTNodeLocationWithBlock","IAutoHideable","IBlockDragger","IBoundedElement","IBubble","ICollapsibleToolboxItem","IComponent","IConnectionChecker","IContextMenu","ICopyable","IDeletable","IDeleteArea","IDragTarget","IDraggable","IFlyout","IKeyboardAccessible","IMetricsManager","IMovable","IPositionable","IRegistrable","IRegistrableField","ISelectable","ISelectableToolboxItem","IStyleable","IToolbox","IToolboxItem","Procedures","ShortcutItems","Themes","Touch","Variables","VariablesDynamic","WidgetDiv","Xml","blockAnimations","blockRendering","browserEvents","bumpObjects","clipboard","common","connectionTypes","dialog","fieldRegistry","geras","minimalist","serialization","exceptions","priorities","variables","workspaces","thrasos","uiPosition","utils","zelos","internal_","chunkedSplice","constructs","resolveAll","asciiAlpha","markdownLineEndingOrSpace","chunkedPush","normalizeIdentifier","shallow","factoryDestination","factoryLabel","factoryTitle","factoryWhitespace","labelEnd","labelStart","defined","_balanced","_inactive","balanced","parser","sliceSerialize","afterLabelEnd","attempt","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","resolveTo","insideSpan","null","_used","destinationAfter","between","afterLabel","visit","visitParents","CONTINUE","SKIP","EXIT","tree","visitor","getCompositeRect","elementOrVirtualElement","isFixed","isOffsetParentAnElement","getNodeScroll","depModifier","debounce","pending","areValidElements","generatorOptions","_generatorOptions","_generatorOptions$def","_generatorOptions$def2","defaultOptions","orderedModifiers","effectCleanupFns","isDestroyed","cleanupModifierEffects","orderModifiers","merged","existing","mergeByName","_ref3$options","cleanupFn","noopFn","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","generateGuid","allowTouchMove","touches","platform","disableBodyScroll","ontouchstart","targetTouches","ontouchmove","reserveScrollBarGap","innerWidth","clearAllBodyScrollLocks","enableBodyScroll","fallbackTheme","NavbarBrand","ownerWindow","rUpper","hyphenate","supportedTransforms","transforms","psuedoElement","isTransform","removeProperty","emulateTransitionEnd","triggerEvent","transitionEnd","mult","parseDuration","removeEmulate","transitionEndListener","_collapseStyles","getDefaultDimensionValue","dimension","collapseStyles","getDimensionValue","Collapse","_ref$dimension","_ref$getDimensionValu","computedDimension","handleEnter","handleEntering","handleEntered","handleExit","handleExiting","innerProps","NavbarCollapse","NavbarToggle","NavbarText","Navbar","expand","_onToggle","collapseOnSelect","controlledProps","handleCollapse","expandClass","Brand","Text","getClientVariables","cvars","Host","Path","UserAgent","Platform","Dimension","permittedPropNames","rawProps","scrubbedProps","permittedHashValues","hashValue","ClientVariables","clientVariables","application","clientContext","environment","partition","site","eventSource","CounterData","Counter","metric","counterData","counterSource","ArraySendBuffer","payloads","emitLineDelimitedJson","Sender","bufferPayload","batchPayloads","timerValue","Authorization","onComplete","TelemetryContext","telemetry","telemetryType","telemetryData","Initialization","DefaultSources","eventCategory","counterCategory","counterName","ranges","displayUnit","showVolume","hideCountChart","hasInstance","hasMeasure","hasErrorCount","KazMonEventOptions","PerformanceTimingInfo","PerformanceNavigationInfo","PageViewData","PageView","pvData","kazmonInstance","timing","PerformanceNavigation","ptSummary","getDuration","xhrHttpSender","KazMon","configGetters","endpointUrl","instrumentationKey","disableTelemetry","maxBatchSizeBytes","maxBatchIntervalMs","telemetryContext","pageView","total","ttfb","domContentLoaded","PerformanceTiming","counterInstanceName","eventOptions","defaultSources","normalizeErrorInfo","counter","kazMonInstance","errorInfo","isEmpty","errorMessage","errorStack","errorMeta","ErrorLogger","appMetaData","withAppMeta","errorKey","componentVersion","previousErrors","createErrorLoggerWithKazmon","DEFAULT_APP_ID","errorLogger","logConsoleError","logComponentHttpError","httpError","logComponentDeprecation","componentQualifier","initializeKazmonErrorLogger","preConfiguredKazMon","kazmonConfig","MAX_SEND_WAIT_SECONDS","kazmon","createErrorLogger","kazmonEndpointUrl","appId","appVersion","detection","POLYFILL","NATIVE","PrototypeOfArrayIteratorPrototype","NEW_ITERATOR_PROTOTYPE","returnMethod","ArrayPrototype","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","originalArray","InternalMetadataModule","iterate","anInstance","internalStateGetterFor","CONSTRUCTOR_NAME","IS_WEAK","ADDER","NativePrototype","exported","collection","IS_ADDER","getConstructor","setStrong","preventExtensions","redefineAll","setSpecies","last","previous","getEntry","removed","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","nativeObjectCreate","getOwnPropertyNamesExternal","getOwnPropertySymbolsModule","getOwnPropertyDescriptorModule","defineWellKnownSymbol","$forEach","HIDDEN","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","$getOwnPropertySymbols","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","useSetter","useSimple","replacer","$replacer","baseIsArguments","isObjectLike","objectProto","stubFalse","freeExports","freeModule","Buffer","webpackPolyfill","deprecate","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","nativeKeys","Ctor","isLength","factories","partArgs","$AggregateError","errors","errorsArray","AggregateError","channel","port","IS_IOS","IS_NODE","setImmediate","clearImmediate","MessageChannel","Dispatch","ONREADYSTATECHANGE","runner","post","postMessage","protocol","nextTick","port2","port1","onmessage","importScripts","newPromiseCapability","promiseCapability","newPromiseCapabilityModule","perform","allSettled","capability","promiseResolve","remaining","alreadyCalled","PROMISE_ANY_ERROR","alreadyResolved","alreadyRejected","funcToString","updateFn","insertFn","getDescriptor","ENUMERABLE_NEXT","arraySlice","windowNames","getWindowNames","fin","innerResult","innerError","arraySpeciesConstructor","$toString","SymbolPrototype","insertionSort","comparefn","llength","rlength","lindex","rindex","mergeSort","passed","required","reHasUnicode","copyConstructorProperties","clearErrorStack","installErrorCause","normalizeStringArgument","ERROR_STACK_INSTALLABLE","isInstance","AggregateErrorPrototype","validateArgumentsLength","chunks","subcontent","eventIndex","stream","entered","adjust","startPosition","startPositions","tokenizer","_tokenizer","contentType","childEvents","jumps","defineSkip","isInFirstContentOfListItem","_gfmTasklistFirstContentOfListItem","lineIndex","otherIndex","otherEvent","subevents","more","_container","_movePreviousLineEndings","initializeFactory","createResolver","notText","atBreak","resolveAllLineSuffixes","extraResolver","chunk","bufferIndex","_index","_bufferIndex","char","entity","asciiDigit","asciiControl","literalType","literalMarkerType","rawType","stringType","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","markerType","labelEscape","seen","marker","atFirstTitleBreak","atTitleBreak","titleEscape","thematicBreak","sequence","handlers","passThrough","returnNode","unknownHandler","augment","ordered","footnoteOrder","subtype","referenceType","xtend","definitions","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","Info","checksLength","mask","xmlLang","xmlBase","xmlSpace","caseInsensitiveTransform","xmlnsxlink","xmlnsXLink","caseSensitiveTransform","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","handlerRef","listenerTarget","eventListener","_Symbol","_Symbol$iterator","_iterableToArray","useHtmlLang","currentLocale","setCurrentLocale","langListener","isValidLocale","ConditionalTag","forceSpan","forceButton","keyboardNavigableElementSelectors","keyboardNavigableElements","crypto","msCrypto","getRandomValues","ps","SVGElement","scrollingElement","hasElementType","hasMap","hasSet","hasArrayBuffer","upperFirst","createCaseFirst","nullptn","formatptn","colonptn","cursorptn","transformptn","animationptn","propertiesptn","elementptn","selectorptn","andptn","escapeptn","invalidptn","keyframeptn","plcholdrptn","readonlyptn","beforeptn","afterptn","tailptn","whiteptn","pseudoptn","writingptn","supportsptn","propertyptn","selfptn","pseudofmt","dimensionptn","imgsrcptn","webkit","moz","CLOSEBRACES","OPENBRACES","OPENPARENTHESES","CLOSEPARENTHESES","OPENBRACKET","CLOSEBRACKET","NEWLINE","CARRIAGE","AT","AND","UNDERSCORE","STAR","COLON","SINGLEQUOTE","DOUBLEQUOTE","FOWARDSLASH","GREATERTHAN","PLUS","NULL","FORMFEED","VERTICALTAB","KEYFRAME","MEDIA","SUPPORTS","PLACEHOLDER","READONLY","IMPORT","CHARSET","DOCUMENT","PAGE","cascade","escape","compress","semicolon","preserve","plugged","should","POSTS","PREPS","UNKWN","PROPS","BLCKS","ATRUL","unkwn","keyed","nscopealt","nscope","compile","bracket","parentheses","second","trail","peak","pseudo","eof","eol","flat","delimited","proxy","supports","isolate","third","animation","declare","minify","plugin","REACT_STATICS","childContextTypes","contextTypes","getDefaultProps","mixins","KNOWN_STATICS","arity","isGetOwnPropertySymbolsAvailable","targetComponent","sourceComponent","customStatics","pluralRules","singularRules","uncountables","irregularPlurals","irregularSingles","sanitizeRule","restoreCase","interpolate","sanitizeWord","replaceWord","replaceMap","keepMap","checkWord","pluralize","inclusive","singular","plural","isPlural","isSingular","addPluralRule","addSingularRule","addUncountableRule","addIrregularRule","single","getTypeOf","uint8array","compressedSize","uncompressedSize","crc32","compression","compressedContent","getContentWorker","pipe","uncompressWorker","streamInfo","data_length","getCompressedWorker","withStreamInfo","createWorkerFrom","compressWorker","STORE","magic","DEFLATE","4","base64","binary","createFolders","compressionOptions","unixPermissions","dosPermissions","6","lie","7","Uint16Array","Uint32Array","_pako","_pakoAction","_pakoOptions","processChunk","_createPako","transformTo","onData","pako","8","utf8encode","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","bytesWritten","zipComment","zipPlatform","encodeFileName","streamFiles","accumulate","contentBuffer","dirRecords","currentSourceOffset","entriesCount","currentFile","_sources","percent","openedSource","closedSource","DATA_DESCRIPTOR","CENTRAL_DIRECTORY_END","prepareNextSource","isPaused","resume","registerPrevious","generatedError","9","generateWorker","_compressWorker","files","loadAsync","defaults","external","11","decompressed","checkCRC32","optimizedBinaryString","decodeFileName","utf8decode","isStream","prepareContent","fileNameStr","fileCommentStr","12","_upstreamEnded","_bindStream","_stream","13","Readable","_helper","emit","_read","14","newBufferFrom","allocBuffer","alloc","generate","generateInternalStream","mimeType","checkSupport","generateAsync","generateNodeStream","toNodejsStream","16","17","byteAt","zero","lastIndexOfSignature","readAndCheckSignature","readData","checkOffset","18","checkIndex","setIndex","skip","readInt","readString","readDate","UTC","19","21","subarray","22","23","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","24","destType","26","27","dataIsReady","_tickScheduled","_tickAndRepeat","isFinished","_tick","28","extraStreamInfo","isLocked","_listeners","mergeStreamInfo","29","nodestream","_internalType","_outputType","_mimeType","newBlob","_worker","objectMode","arraybuffer","nodebuffer","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","getBlob","31","leftOver","applyFromCharCode","Utf8DecodeWorker","Utf8EncodeWorker","32","stringifyByChunk","stringifyByChar","applyCanBeUsed","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","33","loadOptions","checkSignature","isSignature","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","zip64ExtensibleData","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","processAttributes","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","34","isEncrypted","bitFlag","useUTF8","fileNameLength","fileName","compressionMethod","versionMadeBy","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","fileComment","extraFields","findExtraFieldUnicodePath","findExtraFieldUnicodeComment","_data","_dataBinary","internalStream","_decompressWorker","nodeStream","36","WebKitMutationObserver","characterData","37","outcome","onFulfilled","callFulfilled","otherCallFulfilled","onRejected","callRejected","otherCallRejected","finally","38","39","chunkSize","windowBits","memLevel","gzip","ended","strm","avail_out","deflateInit2","deflateSetHeader","string2buf","deflateSetDictionary","_dict_set","next_in","avail_in","Buf8","next_out","deflate","onEnd","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","Deflate","deflateRaw","inflateInit2","Z_OK","inflateGetHeader","Z_FINISH","Z_NO_FLUSH","binstring2buf","inflate","Z_NEED_DICT","inflateSetDictionary","Z_BUF_ERROR","Z_STREAM_END","Z_SYNC_FLUSH","utf8border","buf2string","arraySet","inflateEnd","Inflate","inflateRaw","ungzip","41","Int32Array","setTyped","Buf16","Buf32","42","43","44","Z_PARTIAL_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","46","pending_buf","pending_out","total_out","_tr_flush_block","block_start","strstart","max_chain_length","prev_length","nice_match","w_size","w_mask","good_match","lookahead","match_start","window_size","hash_size","adler","total_in","ins_h","hash_shift","hash_mask","match_length","_tr_tally","max_lazy_match","last_lit","prev_match","match_available","good_length","max_lazy","nice_length","max_chain","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","data_type","_tr_init","deflateInit","deflateReset","deflateResetKeep","hcrc","extra","time","_tr_align","_tr_stored_block","deflateInfo","47","xflags","extra_len","48","dmax","wsize","whave","wnext","hold","lencode","distcode","lenbits","distbits","sane","49","havedict","wbits","ncode","nlen","ndist","have","lens","work","lendyn","distdyn","back","was","inflateReset","inflateReset2","inflateResetKeep","inflateInit","inflateInfo","51","52","static_tree","extra_bits","extra_base","max_length","has_stree","dyn_tree","max_code","stat_desc","53","54","Feedback","_ref$type","_ref$tooltip","FormContext","controlId","FormCheckInput","bsCustomPrefix","_ref$isValid","isValid","_ref$isInvalid","isInvalid","isStatic","_useContext","FormCheckLabel","htmlFor","FormCheck","_ref$inline","_ref$disabled","_ref$feedbackTooltip","feedbackTooltip","feedback","_ref$title","propCustom","innerFormContext","hasLabel","Label","FormFileInput","FormFileLabel","FormFile","dataBrowse","_ref$inputAs","inputAs","FormControl","_classes","htmlSize","plaintext","_classes2","_classes3","_classes4","_classes5","FormGroup","DEVICE_SIZES","Col","spans","_propValue$span","infix","FormLabel","srOnly","columnClass","FormText","muted","FormRow","FormImpl","validated","Group","Check","File","variantOf","capitalize","BrowserFetchRestHandler","controller","abortSignal","createRequestBody","fetchResponse","httpResponse","createResponse","responseReader","is2XX","isOK","elapsedMilliseconds","Sizes","ExtraSmall","Small","Medium","Large","ExtraLarge","lessThan","greaterThan","inBetween","upperBound","ElementPropType","ReactRefObjectPropType","ReactRefObject","prop1","prop2","imgSrc","displayImage","showImage","hideImage","hidePlaceholder","objectFit","cover","objectPosition","requiredPropMessage","imageRef","setImageRef","isImageLoaded","setIsImageLoaded","imageStyles","placeholderStyles","PlaceholderNode","onError","logErrorOnce","oliveImages","OliveImagesVersion","imageSourceUrls","IconKinds","ImageKinds","IMAGE_ICON_PREFIX","PrefixedImageKinds","GetImageSource","IconWithImageKinds","IconOrImage","IsImageKind","spin","groupLeft","groupMiddle","groupRight","groupNotFirst","CreateButtonCss","inverted","outlineColor","fullWidth","fileInput","loadingSpinner","borderTopColor","ButtonIcons","ButtonIconPositions","ButtonKinds","ButtonSizes","ButtonTargets","ButtonTypes","accessibilityText","hideTrigger","iconPosition","warnDeprecated","story","sizeVariant","activeStyles","groupLeftStyles","groupMiddleStyles","groupRightStyles","invertedStyles","pillStyles","roundStyles","triggerStyles","iconButtonStyles","buttonStyles","IconNode","iconBefore","iconAfter","textHiddenStyles","textSpan","accessibilityTextClass","accessibilityTextSpan","buttonText","fullWidthStyle","spinner","buttonAriaProps","additionalAttributes","buttonHelperClasses","accept","multiple","labelStyles","withRef","preInitCompletionEvents","isAnalyticsInitialized","isMixPanelInitialized","initializeAnalytics","isProd","isSimulating","useProd","secure_cookie","persistence_name","loaded","sendEventTomixpanel","addAppMeta","FooterMenuTriggerButton","aria-haspopup","FooterLanguageSelectorDesktop","localeDescriptions","buttonRef","alignment","anchor","locationFixed","onVisible","menuOnVisible","langAndName","menuItemEventHandler","closeMenu","LanguageSelectorReveal","localeCount","revealHeight","onCancel","onLocaleSelected","FooterLanguageSelectorPhone","isShowingMenu","setIsShowingMenu","Interpolate","Footer","pageLocale","includeLanguageSelector","mediaQueryOverrideValues","data-qa-mediawidth","renderPoweredBy","centered","renderLinks","renderCopyright","hidePoweredBy","isMobileWidth","renderLanguageSelector","validateLink","dataQA","translatedSegmentText","translatedLinkURL","linkName","fromLocale","toLocale","isPhone","selectorProps","onMenuOpened","menuButtonDataQa","DOCUSIGN_LOGO","LogoImage","leftMargin","translatedText","CURRENT_YEAR","getFullYear","segment","MainRowContainer","ActiveFooterLink","data-link","PassiveFooterLink","SelectOption","appearance","textShadow","hideLabel","inputHelp","selectId","descriptionId","errorId","wrapStyles","selectStyles","InputLabelNode","forId","DescriptionNode","ErrorNode","InputHelpNode","errorIdValue","descriptionIdValue","ariaDescribedByValue","DEPRECATED_COLOR_VALUES","svgString","useThemeIcon","IconWithRef","expandCollapseSmall","expandCollapseMedium","expandCollapseLarge","transformOrigin","circleTrack","subtle","indeterminate","circumference","setCircumference","circumferenceEquation","hasValue","circleFillStyles","ProgressCircleKinds","ProgressCircleSizes","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","isReactComponent","isPureReactComponent","__self","__source","_owner","_status","_result","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","IsSomeRendererActing","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","createFactory","createRef","lazy","_payload","memo","useDebugValue","useImperativeHandle","useLayoutEffect","acceptsBooleans","attributeNamespace","sanitizeURL","removeEmptyString","pa","qa","xlinkHref","ra","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","_render","Ra","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","eb","db","fb","defaultSelected","hb","ib","jb","kb","lb","mb","ob","namespaceURI","MSApp","execUnsafeLocalFunction","pb","qb","gridArea","lineClamp","rb","sb","tb","setProperty","ub","menuitem","area","col","embed","keygen","wbr","vb","wb","xb","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","cc","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","tc","vc","wc","lanePriority","unstable_runWithPriority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","isPropagationStopped","persist","isPersistent","wd","xd","yd","sd","eventPhase","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","zd","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","clipboardData","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Apps","Scroll","MozPrintableKey","Nd","112","113","114","115","116","117","118","119","121","122","123","144","145","224","Od","Pd","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","Xd","Zd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","$d","ae","be","documentMode","ce","fe","ge","le","datetime","email","password","range","tel","week","me","ne","oe","pe","qe","re","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","Ne","HTMLIFrameElement","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","$e","af","bf","cf","df","Nb","ef","ff","gf","hf","je","ke","jf","kf","lf","mf","autoFocus","nf","of","pf","qf","rf","sf","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","cg","dg","eg","fg","gg","hg","ig","jg","kg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","yg","zg","eventTime","lane","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","Ng","UNSAFE_componentWillReceiveProps","Og","UNSAFE_componentWillMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","dh","eh","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","gi","ji","ki","li","mi","baseLanes","ni","oi","UNSAFE_componentWillUpdate","qi","getDerivedStateFromError","ri","pendingContext","Bi","Di","Ei","retryLane","ti","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tailMode","Ai","Fi","Gi","wasMultiple","onclick","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","ck","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","rangeCount","focusedElem","selectionRange","ek","createRange","setStart","removeAllRanges","addRange","setEnd","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hk","unstable_observedBits","unmount","Vj","vk","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","isDisabled","supportsFiber","createPortal","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","unstable_forceFrameRate","cancelAnimationFrame","sortIndex","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","jsxs","CONVERT_TO_STRING","codeAt","checkCorrectnessOfIteration","callWithSafeIterationClosing","arrayLike","argumentsLength","mapfn","mapping","$assign","emptyFunction","emptyFunctionWithReset","shim","getShim","StringPrototype","entryVirtual","$trim","forcedStringTrimMethod","whitespace","ltrim","rtrim","whitespaces","collectionStrong","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","$map","$filter","FAILS_ON_PRIMITIVES","STRICT_METHOD","arrayMethodIsStrict","isOwn","unmasked","baseInverter","toIteratee","iteratee","baseForOwn","accumulator","baseFor","createBaseFor","fromRight","keysFunc","arrayLikeKeys","baseTimes","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","reIsUint","typedArrayTags","freeProcess","binding","overArg","WrappedWellKnownSymbolModule","core","fix","HAS_SPECIES_SUPPORT","nativeSlice","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","nativeGetPrototypeOf","USE_NATIVE_URL","$fetch","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","plus","sequences","percentSequence","percentDecode","deserialize","serialize","parseSearchParams","updateSearchParams","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","updateURL","URLSearchParamsPrototype","entriesIndex","sliceIndex","getState","searchParams","username","$indexOf","NEGATIVE_ZERO","searchElement","build","clusterWorkerId","seedValue","worker","workerId","newCharacters","_seed_","previousSeconds","loopCounter","randomByte","arrayIncludes","stringIncludes","$includes","notARegExp","correctIsRegExpLogic","searchString","reactPropsRegex","$find","FIND","SKIPS_HOLES","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","speciesConstructor","task","microtask","hostReportErrors","IS_BROWSER","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromiseConstructorPrototype","newGenericPromiseCapability","DISPATCH_EVENT","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","SUBCLASSING","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","INCORRECT_ITERATION","isThenable","notify","isReject","notified","chain","reactions","exited","reaction","fail","rejection","onHandleUnhandled","onUnhandled","isUnhandled","unwrap","internalReject","internalResolve","executor","$promiseResolve","macrotask","IS_WEBOS_WEBKIT","queueMicrotaskDescriptor","queueMicrotask","onFinally","toSource","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","isMasked","reIsHostCtor","funcProto","reIsNative","coreJsData","maskSrcKey","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","Hash","ListCache","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","assocIndexOf","other","getMapData","internalSort","FF","IE_OR_EDGE","V8","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","itemsLength","arrayLength","getSortCompare","firefox","$startsWith","CORRECT_IS_REGEXP_LOGIC","mapFn","nextItem","collectionDeleteAll","deleteAll","wasDeleted","allDeleted","emplace","getMapIterator","newMap","findKey","groupBy","keyDerivative","derivedKey","sameValueZero","keyBy","keyOf","mapKeys","mapValues","noInitial","isPresentInMap","upsert","updateOrInsert","IntersectionObserverEntry","intersectionRatio","startDoc","getFrameElement","crossOriginUpdater","crossOriginRect","IntersectionObserver","THROTTLE_TIMEOUT","POLL_INTERVAL","USE_MUTATION_OBSERVER","_setupCrossOriginUpdater","boundingClientRect","intersectionRect","convertFromParentRect","observer","_checkForIntersections","_resetCrossOriginUpdater","_observationTargets","_registerInstance","_monitorIntersections","unobserve","_unmonitorIntersections","_unregisterInstance","_unmonitorAllIntersections","takeRecords","records","_queuedEntries","_initThresholds","opt_threshold","threshold","_parseRootMargin","opt_rootMargin","_monitoringDocuments","monitoringInterval","domObserver","addEvent","_monitoringUnsubscribes","removeEvent","rootDoc","itemDoc","unsubscribes","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","targetRect","rootContainsTarget","_rootContainsTarget","oldEntry","_computeTargetAndRootIntersection","rootBounds","newEntry","_hasCrossedThreshold","isIntersecting","_callback","atRoot","parentRect","parentComputedStyle","frameRect","frameIntersect","computeRectIntersection","isDoc","_expandRectByRootMargin","_rootMarginValues","newRect","oldRatio","newRatio","thresholds","containsDeep","ensureDOMRect","targetArea","intersectionArea","opt_options","timer","throttle","rootMargin","opt_useCapture","detatchEvent","rect1","rect2","parentBoundingRect","parentIntersectionRect","ordinaryToPrimitive","pref","exoticToPrim","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","$IndexOf","un$IndexOf","IS_CONSTRUCTOR","un$Slice","un$Sort","freeze","$freeze","numberToString","tester","arraySort","n$Fetch","N$Request","RequestPrototype","HeadersPrototype","replacements","URLSearchParamsState","parseObject","bindURL","headersHas","headersSet","wrapRequestOptions","RequestConstructor","arrayMethod","stringMethod","stringIndexOf","endsWith","$endsWith","endPosition","castSlice","hasUnicode","stringToArray","methodName","strSymbols","trailing","baseSlice","asciiToArray","unicodeToArray","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","baseToString","arrayMap","symbolProto","symbolToString","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","cause","$default","Queue","PromisePrototype","callReaction","IS_IOS_PEBBLE","Pebble","un$StartsWith","_templateObject","Flexbox","alignContent","alignSelf","flexBasis","_uppercasePattern","_StyleSheetManager$ch","hyphenateStyleName_1","objToCss","prevKey","isPlainObject","flatten","executionContext","ruleSet","styledComponentId","keyframe","stringifyRules","flatCSS","charsLength","generateAlphabeticName","interleave","interpolations","interp","SC_COMPONENT_ID","extractCompsFromCSS","maybeCSS","existingComponents","componentId","matchIndex","nextComp","cssFromDOM","getNonce","__webpack_nonce__","classCallCheck","createClass","possibleConstructorReturn","BrowserTag","isLocal","existingSource","ready","extractedComps","isFull","replaceElement","comp","textNode","appendData","existingNames","SC_ATTR","toHTML","toReactElement","newEl","replaceChild","BrowserStyleSheet","nodesLength","LOCAL_ATTR","CONTEXT_KEY","clones","tagConstructor","hashes","deferredInjections","stylesCacheable","constructComponentTagMap","componentTags","alreadyInjected","hasInjectedComponent","deferredInject","getOrCreateTag","deferredInjection","toReactElements","existingTag","lastTag","componentTag","createNewTag","newTag","isServer","ServerStyleSheet","oldSheet","newSheet","StyleSheetManager","ServerTag","concatenateCSS","_attrs","collectStyles","closed","getStyleTags","getStyleElement","ATTRIBUTE_REGEX","isCustomAttribute","isStyledComponent","getComponentName","determineTheme","isDefaultTheme","escapeRegex","dashesAtEnds","_ThemeProvider$childC","_ThemeProvider$contex","CHANNEL","CHANNEL_NEXT","CONTEXT_CHANNEL_SHAPE","ThemeProvider","unsubscribeToOuterId","outerContext","outerTheme","broadcast","publish","currentId","unsubID","createBroadcast","_babelHelpers$extends","subscriber","unsubscribeId","passedTheme","STATIC_EXECUTION_CONTEXT","doHash","currentIndex","UInt32","Umul32","UInt16","isStaticRules","isHRMEnabled","hot","domElements","replaceWhitespace","wrapWithTheme","Component$$1","_WithTheme$contextTyp","shouldSetInnerRef","WithTheme","styledContext","themeProp","nextTheme","oldState","innerRef","hoistStatics","ComponentStyle","nameGenerator","generateAndInjectStyles","lastClassName","existingName","generateName","_ComponentStyle","constructWithOptions","componentConstructor","templateFunction","withConfig","_constructWithOptions","StyledComponent","identifiers","BaseStyledComponent","generatedClassName","unsubscribeFromContext","buildExecutionContext","_constructor","componentStyle","warnTooManyClasses","_generatedClassName","_constructor2","isTargetTag","baseProps","propsForElement","createStyledComponent","_StyledComponent$cont","_options$displayName","_options$componentId","_displayName","parentComponentId","nr","generateId","_options$ParentCompon","ParentComponent","extendingRules","_ParentComponent","withComponent","previousComponentId","optionsToCopy","newComponentId","newOptions","rulesFromOptions","newRules","_StyledComponent","generatedCSS","_keyframes","injectGlobal","_injectGlobal","styled","styledComponent","domElement","_styled","originalModule","BlocklyJavaScript","JavaScript","JavaScript.init","defvars","devVarList","JavaScript.finish","JavaScript.scrubNakedValue","JavaScript.quote_","JavaScript.multiline_quote_","JavaScript.scrub_","commentCode","nextBlock","opt_thisOnly","JavaScript.getAdjusted","opt_delta","opt_order","ORDER_NONE","defaultAtIndex","outerOrder","innerOrder","opt_negate","argument0","strRegExp","forceString","getSubstringIndex","stringName","ORDER_ATOMIC","codeAndOrder","element0","element1","where","textOrder","ORDER_MEMBER","where1","where2","requiresLengthCall","at1","at2","wherePascalCase","OPERATORS","sub","funcName","xfix1","loopTrap","branch","xfix2","tuple","argument1","CONSTANTS","number_to_check","dropdown_property","divisor","argument2","loopVar","endVar","repeats","until","variable0","up","startVar","incVar","listVar","indexVar","xfix","conditionCode","branchCode","defaultArgument","ORDER_LOGICAL_NOT","value_if","value_then","value_else","listOrder","cacheList","xVar","listName","c2","BlocklyBlocks","CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN","renameOption","renameOptionCallbackFactory","deleteOption","deleteOptionCallbackFactory","oppositeType","contextMenuMsg","xmlField","xmlBlock","variableModel","isAt1","isAt2","xmlElement","updateAt_","isAt","menu","newAt","TEXT_PROMPT_COMMON","updateType_","TYPES","thisBlock","dropdown","QUOTE_IMAGE_MIXIN","QUOTE_IMAGE_LEFT_DATAURI","QUOTE_IMAGE_RIGHT_DATAURI","QUOTE_IMAGE_WIDTH","QUOTE_IMAGE_HEIGHT","quoteField_","newQuote_","isLeft","TEXT_QUOTES_EXTENSION","TEXT_JOIN_MUTATOR_MIXIN","containerBlock","itemBlock","updateShape_","TEXT_JOIN_EXTENSION","TEXT_INDEXOF_TOOLTIP_EXTENSION","TEXT_CHARAT_MUTATOR_MIXIN","TEXT_CHARAT_EXTENSION","PROCEDURE_DEF_COMMON","setStatements_","hasStatements","updateParams_","paramString","arguments_","opt_paramIds","argumentVarModels_","parameter","argModel","childNode","containerBlockNode","statementNode","argBlockNode","fieldNode","argumentName","nextNode","paramIds_","paramBlock","stackConnection","statementConnection_","stackBlock","oldVariable","newVar","change","displayRenamedVar_","xmlMutation","xmlArg","argOption","argVar","argXmlField","argXmlBlock","callType_","initName","nameField","newShowEditorFn","deleteIntermediateVars_","sourceBlock","outerWs","caselessName","otherVar","model","createdVariables_","PROCEDURE_CALL_COMMON","setProcedureParameters_","defBlock","mutatorOpen","quarkConnections_","paramNames","paramIds","savedRendered","quarkIds_","quarkId","argField","newField","xy","internalConstants","callName","oldGroup","previousEnabledState_","option.callback","defType_","hasReturnValue_","legal","FUNCTION_TYPES","TOOLTIPS_BY_OP","IS_DIVISIBLEBY_MUTATOR_MIXIN","divisorInput","inputExists","IS_DIVISIBLE_MUTATOR_EXTENSION","LIST_MODES_MUTATOR_MIXIN","LIST_MODES_MUTATOR_EXTENSION","WHILE_UNTIL_TOOLTIPS","BREAK_CONTINUE_TOOLTIPS","CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN","loopTypes","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","CONTROLS_IF_MUTATOR_MIXIN","elseifCount_","elseCount_","elseifBlock","elseBlock","clauseBlock","valueConnections","statementConnections","elseStatementConnection","inputIf","inputDo","rebuildShape_","reconnectChildBlocks_","CONTROLS_IF_TOOLTIP_EXTENSION","LOGIC_COMPARE_ONCHANGE_MIXIN","blockA","blockB","prevA","prevB","LOGIC_COMPARE_EXTENSION","LOGIC_TERNARY_ONCHANGE_MIXIN","prevParentConnection_","MODE","modeMenu","isStatement","updateStatement_","newStatement","inputConnection","inputBlock","VMessage","VFile","fatal","messages","VMessagePrototype","parseOrigin","ruleId","proc","cwd","assertPart","part","sep","assertNonEmpty","assertPath","encoding","dirname","basename","extname","stem","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","dots","normalizeString","ext","firstNonSlashEnd","seenNonSlash","extIndex","unmatchedSlash","startDot","startPart","preDotState","joined","bail","trough","frozen","attachers","transformers","freezeIndex","assertUnfrozen","addPlugin","addList","addPreset","Parser","assertParser","newable","Compiler","assertCompiler","assertNode","assertDone","processSync","transformer","pipeline","ctx","asyncName","toStr","gOPD","hasOwnConstructor","hasIsPrototypeOf","getProperty","copyIsArray","deep","fns","middleware","invoked","fromMarkdown","mdastExtensions","extension","configure","canContainEols","autolink","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","blockQuote","characterEscape","characterReference","codeFenced","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeIndented","codeText","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","emphasis","hardBreakEscape","hardBreak","hardBreakTrailing","htmlFlow","htmlFlowData","htmlText","htmlTextData","listItem","listItemValue","onenterlistitemvalue","listOrdered","onenterlistordered","listUnordered","paragraph","onenterreference","referenceString","resourceDestinationString","resourceTitleString","setextHeading","strong","closer","atxHeadingSequence","onexitatxheadingsequence","onexitautolinkemail","onexitautolinkprotocol","characterEscapeValue","onexitdata","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","onexitcharacterreferencevalue","onexitcodefenced","codeFencedFence","onexitcodefencedfence","onexitcodefencedfenceinfo","onexitcodefencedfencemeta","onexitcodeindented","onexitcodetext","onexitdefinitiondestinationstring","onexitdefinitionlabelstring","onexitdefinitiontitlestring","onexithardbreak","onexithtmlflow","onexithtmltext","onexitimage","onexitlabel","onexitlabeltext","lineEnding","onexitlineending","onexitlink","onexitreferencestring","onexitresourcedestinationstring","onexitresourcetitlestring","resource","onexitresource","onexitsetextheading","setextHeadingLineSequence","onexitsetextheadinglinesequence","setextHeadingText","onexitsetextheadingtext","listStack","setData","getData","prepareList","stringifyPosition","tailIndex","tailEvent","firstBlankLineIndex","atMarker","containerBalance","listSpread","_spread","and","fragment","safeFromInt","spread","compiler","postprocess","preprocessor","flow","combineExtensions","createTokenizer","miniflat","contentStart","contentInitial","lineStart","inspectResult","childFlow","childToken","continued","inspectConstruct","subcontinued","inspectStart","containerState","continuation","inspectContinue","inspectLess","currentConstruct","concrete","flowContinue","inspectDone","interrupt","interruptible","containerConstruct","inspectFlowEnd","_closeFlow","lazyFlowConstruct","inspectLazy","flowEnd","documentContinue","documentContinued","flowStart","containerContinue","exitContainers","continueFlow","documentAfterPeek","flowInitial","afterConstruct","prefixSize","subtokenize","contentEnd","continuationConstruct","contentContinue","prefixed","hook","serializeChunks","sliceChunks","initialize","columnStart","resolveAllConstructs","accountForPotentialSkip","constructFactory","addResult","onsuccessfulcheck","chunkIndex","restore","onreturn","returnState","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","atTab","startIndex","startBufferIndex","endIndex","endBufferIndex","text$1","attention","headingAtx","labelStartImage","labelStartLink","setextUnderline","56","57","62","91","61","95","96","126","92","93","classifyCharacter","movePoint","_open","_close","openingSequence","closingSequence","nextEvents","unicodePunctuation","unicodeWhitespace","unicodePunctuationRegex","asciiAtext","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","asciiPunctuation","decodeEntity","asciiHexDigit","_interopDefaultLegacy","decodeEntity__default","numeric","closingFenceConstruct","closingSequenceStart","sizeOpen","closingSequenceEnd","initialPrefix","sequenceOpen","infoOpen","openAfter","infoAfter","indentedContentConstruct","afterPrefix","tailExitIndex","headEnterIndex","labelAfter","titleConstruct","fenceOpenInside","headingBreak","htmlBlockNames","htmlRawNames","startTag","declarationStart","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","continuationRawEndTag","declarationOpen","instruction","tagOpen","commentOpen","cdataOpen","declaration","commentStart","commentStartDash","commentClose","atLineEnding","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","initialSize","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","furtherBlankLines","notInCurrentItem","indentConstruct","atCarriageReturn","mdast2hast","bridge","mutate","allowDangerousHTML","deprecationWarningIssued","dangerous","footnoteById","onfootnotedefinition","hProperties","hChildren","generated","foot","convert","subresult","grandparents","toResult","typeFactory","tests","anyFactory","allFactory","normalise","getterFactory","ondefinition","gather","backReference","listItems","ignore","blockquote","break","footnoteReference","footnote","imageReference","inlineCode","linkReference","toml","footnoteDefinition","revert","listItemLoose","listLoose","alignLength","xlink","acceptcharset","classname","htmlfor","httpequiv","abbr","acceptCharset","accessKey","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","autoCapitalize","autoComplete","autoPlay","charSet","cite","cols","controlsList","coords","crossOrigin","dateTime","decoding","dirName","download","draggable","encType","enterKeyHint","formAction","formEncType","formMethod","formNoValidate","formTarget","high","hrefLang","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","isMap","itemId","itemProp","itemRef","itemScope","itemType","manifest","maxLength","minLength","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforePrint","onBeforeUnload","onBlur","onCanPlay","onCanPlayThrough","onContextMenu","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragLeave","onDragStart","onDurationChange","onEmptied","onEnded","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onSecurityPolicyViolation","onSeeked","onSeeking","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","optimum","ping","playsInline","poster","referrerPolicy","reversed","sandbox","scoped","seamless","sizes","slot","spellCheck","srcDoc","srcLang","srcSet","typeMustMatch","useMap","aLink","archive","bgColor","bottomMargin","cellPadding","cellSpacing","charOff","classId","codeBase","codeType","face","frameBorder","hSpace","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","unselectable","onelement","protocols","uri","colon","hastToReact","spaces","commas","toReact","tableElements","childIndex","parentSchema","addProperty","basic","getInputElement","getElementsBeforeCount","isHeader","sourcePosition","siblingCount","styleReplacer","parseStyle","$1","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillRule","floodColor","fontSizeAdjust","fontStretch","fontVariant","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","renderingIntent","shapeRendering","stopColor","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","textAnchor","textRendering","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","alphabetic","amplitude","ascent","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","defaultAction","descent","diffuseConstant","dx","edgeMode","editable","exponent","externalResourcesRequired","filterRes","filterUnits","focusable","focusHighlight","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","intercept","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","orient","pathLength","patternContentUnits","patternTransform","pitch","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","refX","refY","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","restart","rotate","slope","snapshotTime","spreadMethod","startOffset","stemh","stemv","stitchTiles","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","targetX","targetY","textLength","transformBehavior","u1","u2","unicode","viewBox","viewTarget","widths","xChannelSelector","yChannelSelector","zoomAndPan","valid","dash","camelcase","datasetToProperty","cap","kebab","datasetToAttribute","$0","padLeft","padRight","declarations","hasIterator","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","lineno","updatePosition","errorsList","filename","silent","decl","decls","componentNameSafe","propFullNameSafe","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayLike","fromArrayBuffer","isEncoding","actual","fromString","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","INSPECT_MAX_BYTES","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","toHex","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","dst","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","maxChunkLength","len2","encodeChunk","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","Timeout","clearFn","_id","_clearFn","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","installMessageChannelImplementation","installReadyStateChangeImplementation","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","runClearTimeout","argv","removeAllListeners","prependListener","prependOnceListener","chdir","umask","allValues","previousWarnings","previousInfos","logWarn","resetWarn","resetInfo","newProp","systemIconValues","systemIconMap","fileInputIconPositions","fileInputKinds","fileInputSizes","fileInputIconKinds","FileInput","inputId","docuSignTheme","fontFacePath","FontFaceDeclarations","accountBranding","buttonMainBackgroundColor","buttonMainTextColor","buttonPrimaryBackgroundColor","buttonPrimaryTextColor","headerBackgroundColor","headerTextColor","logoUrl","showLogoOnWhite","imageBackgroundWhite","enableFontFaceDeclarations","enableGlobalCss","enableNormalizeCss","globalBaseStyles","ConditionalCobranding","useWarehouseTranslate","isMountedRef","setLastLoadedLocale","translationsWarehouse","useLocaleLoaded","warehouse","RequestSender","delayMs","put","timeoutMs","HttpTimeout","HttpCancel","notifyRequest","scrubRequest","notifyResponse","scrubResponse","notifyError","scrubbedError","scrubError","scrubbedRequest","bearerToken","throwErrorWhen","allProps","visitedObjects","toCanonicalString","visitedReference","getVisitedReference","childObj","RequestRetrier","retry","attemptCount","delayBeforeSend","activeRequest","beginTime","ResponseHeaders","xhrResponseHeaderString","responseHeadersToJson","putStorageCachedRequest","cacheItem","expireSeconds","cacheName","getStorageCachedRequest","cachedItem","responseHeadersFromJson","httpResponseFromStorageCacheData","responsePromise","RestClient","httpRequest","fillRequest","calculateRequestHash","cachedRequest","getCachedRequest","storageCache","cachedGetRequests","sender","shouldthrowError","notifyCancel","requestId","csrfToken","cookieName","getCookieValue","overwriteExisting","requestCanonicalizer","qualifer","cacheHashQualifier","requestToRemove","TranslationsWarehouse","restClient","normalizedLocale","normalizeLocale","memoizedCreateTranslate","cachedDict","urlOrFetcher","dictionaryURL","localeWithoutCountryCode","translationErrorsLogged","translationWarningsLogged","cdnURL","cacheProps","isDictionaryForCurrentLocale","Privacy","previousMenu","logo","selectedNavItem","updatedItem","OK","CTY_AB","CTY_AC","CTY_AD","CTY_AE","CTY_AF","CTY_AG","CTY_AI","CTY_AL","CTY_AM","CTY_AO","CTY_AQ","CTY_AR","CTY_AS","CTY_AT","CTY_AU","CTY_AW","CTY_AX","CTY_AZ","CTY_BA","CTY_BB","CTY_BD","CTY_BE","CTY_BF","CTY_BG","CTY_BH","CTY_BI","CTY_BJ","CTY_BL","CTY_BM","CTY_BN","CTY_BO","CTY_BQ","CTY_BR","CTY_BS","CTY_BT","CTY_BV","CTY_BW","CTY_BY","CTY_BZ","CTY_CA","CTY_CC","CTY_CD","CTY_CF","CTY_CG","CTY_CH","CTY_CI","CTY_CK","CTY_CL","CTY_CM","CTY_CN","CTY_CO","CTY_CR","CTY_CU","CTY_CV","CTY_CW","CTY_CX","CTY_CY","CTY_CZ","CTY_DE","CTY_DJ","CTY_DK","CTY_DM","CTY_DO","CTY_DZ","CTY_EC","CTY_EE","CTY_EG","CTY_EH","CTY_ER","CTY_ES","CTY_ET","CTY_FI","CTY_FJ","CTY_FK","CTY_FM","CTY_FO","CTY_FR","CTY_GA","CTY_GB","CTY_GD","CTY_GE","CTY_GF","CTY_GG","CTY_GH","CTY_GI","CTY_GL","CTY_GM","CTY_GN","CTY_GP","CTY_GQ","CTY_GR","CTY_GS","CTY_GT","CTY_GU","CTY_GW","CTY_GY","CTY_HK","CTY_HM","CTY_HN","CTY_HR","CTY_HT","CTY_HU","CTY_ID","CTY_IE","CTY_IL","CTY_IM","CTY_IN","CTY_IO","CTY_IQ","CTY_IR","CTY_IS","CTY_IT","CTY_JE","CTY_JM","CTY_JO","CTY_JP","CTY_KE","CTY_KG","CTY_KH","CTY_KI","CTY_KM","CTY_KN","CTY_KP","CTY_KR","CTY_KW","CTY_KY","CTY_KZ","CTY_LA","CTY_LB","CTY_LC","CTY_LI","CTY_LK","CTY_LR","CTY_LS","CTY_LT","CTY_LU","CTY_LV","CTY_LY","CTY_MA","CTY_MC","CTY_MD","CTY_ME","CTY_MF","CTY_MG","CTY_MH","CTY_MK","CTY_ML","CTY_MM","CTY_MN","CTY_MO","CTY_MP","CTY_MQ","CTY_MR","CTY_MS","CTY_MT","CTY_MU","CTY_MV","CTY_MW","CTY_MX","CTY_MY","CTY_MZ","CTY_NA","CTY_NC","CTY_NE","CTY_NF","CTY_NG","CTY_NI","CTY_NL","CTY_NO","CTY_NP","CTY_NR","CTY_NU","CTY_NZ","CTY_OM","CTY_OS","CTY_PA","CTY_PE","CTY_PF","CTY_PG","CTY_PH","CTY_PK","CTY_PL","CTY_PM","CTY_PN","CTY_PR","CTY_PS","CTY_PT","CTY_PW","CTY_PY","CTY_QA","CTY_RE","CTY_RO","CTY_RS","CTY_RU","CTY_RW","CTY_SA","CTY_SB","CTY_SC","CTY_SD","CTY_SE","CTY_SG","CTY_SH","CTY_SI","CTY_SJ","CTY_SK","CTY_SL","CTY_SM","CTY_SN","CTY_SO","CTY_SR","CTY_SS","CTY_ST","CTY_SV","CTY_SX","CTY_SY","CTY_SZ","CTY_TA","CTY_TC","CTY_TD","CTY_TF","CTY_TG","CTY_TH","CTY_TJ","CTY_TK","CTY_TL","CTY_TM","CTY_TN","CTY_TO","CTY_TR","CTY_TT","CTY_TV","CTY_TW","CTY_TZ","CTY_UA","CTY_UG","CTY_UM","CTY_US","CTY_UY","CTY_UZ","CTY_VA","CTY_VC","CTY_VE","CTY_VG","CTY_VI","CTY_VN","CTY_VU","CTY_WF","CTY_WS","CTY_XK","CTY_YE","CTY_YT","CTY_ZA","CTY_ZM","CTY_ZW","translationsVersion","cdnURLsPROD","cdnURLsTEST","SkipNav","times","SkipNavBase","skipNavContainer","setSkipNavContainer","skipNavTarget","isChildTypeEqualToComponentType","hasIconBeforeText","hasIconAfterText","hasMarginLeft","hasMarginRight","hasMenuTrigger","headerActionItemIcons","headerActionItemIconPositions","headerActionItemSelectedAriaCurrentTokens","iconElement","selectedAriaCurrentToken","badgeStyles","BadgeNode","IconBeforeTextNode","IconAfterTextNode","TextNode","HeaderActionItemWithRef","aboveBaseLevel","HeaderLeft","HeaderCenter","HeaderRight","HeaderTitle","headerTitleStyles","decoratedChildren","previousChild","precededByHeaderAction","HeaderActionItemIcons","IconSmall","HeaderActionItemIcon","SvgInkAvatarPlaceholder","SvgOliveAvatarPlaceholder","withColorIndex","sizeXxlarge","boxSizing","AvatarBadge","badgeText","avatarSizes","groupIndex","hideAriaLabel","initials","IndexedColor","inlineStyles","displayInitials","hasColorIndex","hasGroupIndex","colorIndexStyles","groupIndexStyles","calculateMarginLeftCssValue","avatarStyles","badgeElement","AvatarWithRef","HeaderAvatar","hasCustomLogo","DocuSignLogoNode","HeaderNav","HeaderNavItems","DEFAULT_SKIP_NAV_TEXT","skipNavText","headerWrapStyles","skipNavTextTranslated","skipNavTargetId","skipNav","containerCSS","paneWidth","paneCSS","paneFlexCSS","lastAnimation","Carousel","newPaneRef","oldPaneRef","paneHeight","configureTabNavigation","toggleOldPaneVisible","renderAnimatedPane","renderNewPane","renderAnimated","fromTransform","toTransform","focusElement","barVerticalSeparatorColor","headerFocusCSS","headerCSS","headerBarCSS","headerBarMeasuringCSS","headerBarMiddleCSS","headerBarMiddleMeasuringCSS","appDescriptionCSS","appDescriptionNonProductCSS","appSwitcherMenuContainerCSS","menuHeadingCSS","menuHeadingCenteredCSS","appSwitchHeadingCSS","headerHeight","menuCloseButtonCSS","phoneMenuTitleCSS","menuSeparatorCSS","menuProfileUserCSS","phoneProfileUserCSS","tabsSeparatorCSS","customLogoSeparatorCSS","verticalAlignCSS","headerBarHorizontalPadding","headerBarLeftCSS","headerBarRightCSS","headerBarTabsCSS","listStyleType","headerLocalNavSeparatorCSS","appDescriptionCSSForApp","appSwitcherListCSS","marginBlockStart","appSwitchLogoWrapper","menuProfileChoiceList","menuCloseFullHeaderButtonCSS","phoneMenuScrollableRowsCSS","phoneMainMenuScrollableRowsCSS","phoneMainMenuItemListCSS","phoneMainMenuProfileUserNameCSS","customLogoCSS","phoneCustomLogoCSS","phoneProfileRowTextCSS","phoneCustomContentCSS","phoneProfileUserNameCSS","phoneProfileUserDetailCSS","phoneProfileButtonCSS","mainButtonCSS","marketingButtonTextCSS","marketingButtonSectionCSS","headerStandardIconSize","HeaderBar","measuringBarRef","measuringBarLeftRef","measuringBarMiddleRef","measuringBarRightRef","renderingBarRef","renderingBarLeftRef","renderingBarMiddleRef","renderingBarRightRef","preferredWidthRef","availableWidthRef","contentFitsRef","shouldTrackWidth","debounceMilliseconds","windowWidth","setWindowWidth","getWindowWidth","handleResize","useWindowWidth","clonedMeasuringBarDiv","leftDiv","cloneRenderingtoMeasuring","middleDiv","rightDiv","computedStyle","xMax","measurePreferredWidth","fitPreviously","fitsNow","fits","notifyFitness","data-header-kind","fromDiv","toDiv","clonedFromDiv","clonedToDiv","FlyoutNavItemDisclosure","InkColors","graphic","disclosure","flyoutAriaCurrentTokens","FlyoutNavItem","flyoutNavItemStyles","accessibilityTextElement","graphicElement","disclosureElement","contentElement","initialFormatters","first2","firstN","lastN","cjk_validate","last2","first1last1","last2_cjk","nameFormatters","full","numN","separator","lastfirst","first_middle_last","last_first","lastfirst_cjk","last_first_cjk","isCJKChar","isLetter","isSurrogate","substring0","getNameFormatter","formatter","fomatters","isCJKString","getNchar","getAllInitials","alphaInitials","allInitials","_getInitials","firstName","lastName","getFullName","fullName","_getFullName","getInitials","getUserInitials","user","getUserFullName","launchUrl","targetApp","accountGuid","DATA_INITIAL_FOCUS","initialFocusSelector","initialFocusDataProp","inFocus","isActionElement","isActiveTab","headerItem","subItem","isCustomContent","helpActions","colorNeutral","colorGreen","colorBlue","colorYellow","colorTurquoise","colorOrange","colorTransparent","colorVariant","dotBadgeStyles","dotBadgeText","DotBadgeWithRef","HeaderPhoneItemRow","HeaderHorizontalSeparator","HeaderPhoneMainMenu","aria-expanded","switchableOtherApps","topTabs","tabItem","isInitialFocus","hasSubChoices","rowId","handleHeaderItemClick","activeItemAccessabilityText","showBadge","renderAppLocalRows","helpRootItem","rootItem","customContent","helpAction","createHelpHeaderRootItem","renderHelpRow","currentLocaleDescription","getLocaleDisplayName","renderLanguageRow","renderCustomMobileItems","userName","renderProfileRow","navigateToTabItem","apps","app","HeaderMenuHeading","useTimer","timerId","everScheduled","scheduled","running","runLater","appSwitchIdPrefix","HeaderAppSwitchList","appA","appB","sortApps","isCurrentApp","isCurrent","handleAppSwitchClick","waitingForCallack","loadApp","doesAppApproveSwitch","logCallbackError","targetUrl","isError","AppSwitchLink","linkRef","HeaderPhoneAppSwitchMenu","switchableApps","onBackRequest","onLoggingEvent","onAppSwitch","onShowAppSwitch","menuTitle","HeaderPhoneTabItemMenu","onActionClick","renderCustomContent","subItems","hasSubItems","fromMenuState","toMenuState","navigateToSubItem","handleSubItemClick","renderItemRows","CustomContentActionListener","contentComponentEl","setContentComponentEl","HeaderProfileUserContent","aria-hidden","email_address","accountId","renderProfileExtraInfo","handleProfileSiteNavigation","HeaderProfileMenuChoices","customChoices","renderChoice","choice","choiceKey","HeaderPhoneProfileMenu","profileImage","showManageProfile","onCloseRequest","onOpenProfileSite","profileExtraInfo","manageProfileOnKeyDown","customProfileChoices","onAccountSwitch","onLogoff","titleText","aria-labelledby","HeaderAppDescription","linkDomId","imageName","getAppLogoAndNameImageName","altText","APP_NAME","appName","loadHomePage","doesAppAppoveLoad","HeaderPrimaryMenuButton","createFooterItem","linkItems","linkText","createLinkItems","mobileFooter","appInfoItem","passiveItemTexts","createAppInfoItem","AppInfo","initialMenuState","HeaderPhone","menuButtonRef","menuShowing","setMenuShowing","navHistory","setNavHistory","currentMenuState","setCurrentMenuState","previousMenuState","setPreviousMenuState","currentNavDirection","setCurrentNavDirection","showLangSelector","setShowLangSelector","homeUrl","appLogoUrl","onHomeClick","onHideComplete","focusSelector","oldPane","renderMenu","newPane","slideDirection","renderMenuContents","menuState","renderMainMenu","handleCloseRequest","handleBackRequest","activeTabId","onNavigate","handleNavigate","fromState","renderTabItemMenu","customItems","customMobileItems","backMenu","HeaderProfileMenuButton","menuTriggerButtonRef","buttonOnClick","data-header-id","notifyProfileMenuOpen","customChoiceHeaderId","renderUserContent","choices","renderChoices","menuItemOnKeyDown","choiceId","HeaderHelpMenuButton","actions","data-header-help-trigger","menuVisible","renderAction","renderActions","eventTypes","OutsideClickListener","addClickOutsideHandler","renderChild","insideRef","isOutside","callBack","menuWidth","HeaderAppSwitchMenu","onCloseComplete","animationDuration","firstAppElement","MenuContent","onClickOutside","HeaderMarketingButton","HeaderTab","handleItemClick","HeaderTabMenu","SUBJECT","renderSubItem","renderSubItems","HeaderTabs","tabItems","renderTab","iconSize","HeaderStandard","showingAppSwitcher","setShowingAppSwitcher","setCustomLogoLoaded","appSwitchButtonRef","displayAppSwitcher","onContentFits","onContentClipped","asListItems","showSupplementalText","renderHelpHeaderButton","validateProps","marketingAction","throwIfEmpty","throwIfNotFunctionOrUndefined","throwIfInvalidActions","throwIfNotFunction","throwIfInvalidHeaderItems","throwIfInvalidLabeledActions","throwIfInvalidMarketingButton","propNames","StorageCache","maxSize","createKeyPrefix","storeKey","storageItem","addedTime","lastAccess","cleanForPut","getStoredItem","isStale","itemKey","keyPrefix","itemAsString","freshnessSeconds","cleanupExpired","sizeBuffer","remainingItems","used","oldestToNewest","cacheItems","isCacheKey","storedItem","error0","isStorageExceeded","defaultErrorLogger","PROFILE_CACHE_NAME","APPS_CACHE_NAME","HeaderAPIClient","logHandler","initializeErrorHandler","createCacheExpireTimes","createStorageCache","onRequest","onResponse","scrubbedJson","httpHandler","fullUrl","cacheSeconds","cacheOptions","kv","storageAvailable","NO_ME_TOKEN_PROP_VALUE","STALE_CACHE_APPS","STALE_CACHE_IMAGE","STALE_CACHE_IDS","STALE_CACHE_TIMESTAMP_PROP","apiClientRef","userProfile","setUserProfile","availableApps","setAvailableApps","setProfileImage","renderForPhone","setRenderForPhone","cachedClient","mountStatus","useMountStatus","fetchUserProfile","setCachedAPIResponse","cachedApps","getCachedAPIResponse","fetchAvailableApps","cachedImage","fetchProfileImage","InkDocuSignTheme","defaultOnLoggingEvent","cacheId","cachedResponse","parsedCachedResponse","STALE_CACHE_EXPIRE_MINUTES","isJsonResponse","isTextResponse","FORMATS","eot","otf","ttf","fontFace","_context6","_context7","_context8","_mapInstanceProperty","_context3","_context4","_context5","extMod","getExtMod","_concatInstanceProperty","_Object$keys","fontKey","DSIndigo","Signatures","NeueHaasGrotesk","ToastMessageContainer","aria-live","aria-relevant","MOUSE_ACTIVE_CLASSNAME","Olive","baseCss","customBranding","mouseFocusCss","normalizeCss","fontFaceDeclarations","SkipNavContainer","OverlayContainer","toastMessageContainers","modalMessageContainers","overlayContainers","OliveGlobal","buttonMainBackground","buttonMainText","buttonPrimaryBackground","buttonPrimaryText","headerBackground","OverlayHeader","OverlayCloseButtonNode","OverlayBody","OverlayFooter","OverlayClose","OverlayPortal","overlaysContainer","setOverlaysContainer","EXISTING_OVERLAYS_CONTAINER","overlaysContainerNode","hasOverlayPortalParent","OliveReactOverlays","ANIMATION","enterActive","enterDone","exitActive","exitDone","OverlayBase","setOverlayElement","initialFocusRef","animationRef","overlayCloseButton","boundOpacityNumber","OverlayStyles","OverlayWithAnimation","locations","locationLookup","alignments","formatPlacement","placementLocation","above","below","placementAlignment","Popover","anchorElement","containerStyles","customModifiers","flipModifier","offsetModifier","onUpdate","preventOverflowModifier","isSpanContainer","setPopperElement","Container","data-popover","popperLocation","popperAlignment","PopperModifierPropType","tooltipXoffsetKeyword","tooltipYoffsetKeyword","backgroundClip","locationAbove","locationBelow","locationBefore","locationAfter","alignmentStart","alignmentCenter","alignmentCenterArrowEnd","alignmentCenterArrowStart","alignmentEnd","anchorLength","alignmentDirection","tooltipStyles","alignmentToDimension","TooltipWithState","centerArrow","anchorRef","setAnchorLength","popoverAlignment","setPopoverAlignment","popoverLocation","setPopoverLocation","trackCurrentPosition","currLocation","currAlignment","invalidThemePropTemplate","hideNumberPickerSpinner","TextBoxLeft","TextBoxRight","ariaDescribedById","leftElement","rightElement","inputTextBoxBaseStyles","autoCapitalizeValue","autoCompleteValue","aria-describedby","aria-invalid","TextBoxElement","textBox","hideError","hideErrorText","characterCount","dataQa","textBoxId","shouldHideError","warnInvalidThemeProp","textBoxPlaceholder","textBoxLeftElementStyles","textBoxRightElementStyles","InputCountNode","currentLength","ErrorNodeWithMessage","ErrorNodeWithoutMessage","inputModes","spellCheckValues","resizeHorizontal","resizeNone","resizeVertical","resizeVariant","textareaStyles","TextArea","autoExpand","textAreaRef","textAreaId","textArea","textAreaPlaceholder","TextAreaResizeValues","useMemoizedDeepmerge","themeIcons","useThemeIcons","camelCaseKind","camelCase","speak","legacyFill","legacySize","IconRef","svgFocusableFalse","BaseIcon","iconSizing","oliveImage","presenceId","getPresenceId","PresenceChild","presenceAffectsLayout","presenceChildren","newChildrenMap","childId","allComplete","isComplete","getChildKey","AnimatePresence","_c","forceRender","unloadingRef","forcedRenderCount","setForcedRenderCount","layoutContext","isInitialRender","filteredChildren","filtered","onlyElements","presentChildren","allChildren","exiting","updateChildLookup","childrenToRender","presentKeys","targetKeys","numPresent","insertionIndex","removeIndex","presentChild","IconWithHOC","FormUnit","helper","InputDescription","shortid","createId","storybookUrl","OliveReactToastMessages","disabledStyles","DefaultSelector","pseudoClass","mergeTo","mergeFrom","belowBaseLevel","baseLevel","PopoverArrow","isPhoneInLandscape","isIE11","filterProps","ellipsis","touchScreenFormFieldFontSize","userSelectNone","breakWord","wordWrap","overflowWrap","fallbackToSpan","tagAttributes","setIntersecting","ComponentWithRef","deprecatedPropMessage","iconKinds","imageKinds","prefixedImageKinds","getImageSource","iconWithImageKinds","isImageKind","anchorTargets","globalNamespace","keyboardNavigable","firstNavigableElement","lastNavigableElement","allContainerNodes","firstNavigableElementIndex","lastNavigableElementIndex","initialFocusIndex","isInitialFocusBeforeFirstNavigable","isInitialFocusAfterLastNavigable","isInitialFocusWithoutKeyboardNavigable","neitherInitialFocusNorKeyboardNavigable","keyboardEventKeys","TableFreezeColumn","Collapsible","SelectMenu","TagHover","InputCount","charactersOverLimit","inputDescriptionType","inputCountLabel","inputCountValue","inputCountText","createDefinition","featureDefinitions","measureLayout","hover","tap","pan","layoutAnimation","LazyContext","strict","featureNames","numFeatures","MotionConfigContext","transformPagePoint","MotionContext","usePresence","incrementId","LayoutGroupContext","useIsomorphicLayoutEffect","useVisualElement","visualState","createVisualElement","lazyContext","presenceContext","layoutId","layoutGroupId","useLayoutId","visualElementRef","blockInitialAnimation","setProps","isPresenceRoot","syncRender","animationState","animateChanges","notifyUnmount","isRefObject","isVariantLabels","isVariantLabel","resolveVariantFromProps","currentValues","currentVelocity","resolveVariant","getProps","forEachValue","getCurrent","velocity","getVelocity","checkIfControllingVariants","whileDrag","whileFocus","checkIfVariantNode","useCreateMotionContext","getCurrentTreeVariants","variantLabelsAsDependency","createMotionComponent","preloadedFeatures","useRender","useVisualState","loadFeatures","externalRef","name_1","useFeatures","mount","useMotionRef","lowercaseSVGElements","isSVGComponent","valueScaleCorrection","transformAxes","transformProps","sortTransformProps","operationKey","axesKey","transformPropSet","isTransformProp","transformOriginProps","isTransformOriginProp","isForcedMotionValue","isMotionValue","translateAlias","transformPerspective","isCSSVariable","getValueAsType","sanitize","floatRegex","colorRegex","singleColorRegex","createUnitType","degrees","px","vw","progressPercentage","alpha","int","numberValueTypes","borderTopWidth","borderBottomWidth","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","translateX","translateY","translateZ","originX","originY","originZ","buildHTMLStyles","latestValues","transformTemplate","buildProjectionTransform","buildProjectionTransformOrigin","vars","transformKeys","hasTransform","hasTransformOrigin","transformIsNone","valueAsType","correctedValue","applyTo","deltaFinal","treeScale","transformIsDefault","enableHardwareAcceleration","allowTransformNone","transformString","transformHasZ","numTransformKeys","buildTransform","buildTransformOrigin","createHtmlRenderState","copyRawValuesOnly","useStyle","useInitialMotionValues","transformValues","useHTMLProps","htmlProps","WebkitUserSelect","WebkitTouchCallout","touchAction","shouldForward","emotionIsPropValid_1","calcOrigin","progressToPixels","progress","dashKeys","camelKeys","buildSVGAttrs","attrX","attrY","pathSpacing","pathOffset","dimensions","totalPathLength","calcSVGTransformOrigin","totalLength","useDashCase","buildSVGPath","createSvgRenderState","useSVGProps","visualProps","rawStyles","createUseRender","forwardMotionProps","isDom","elementProps","CAMEL_CASE_PATTERN","camelToDash","renderHTML","camelCaseAttributes","renderSVG","renderState","scrapeMotionValuesFromProps","newValues","scrapeMotionValuesFromProps$1","isAnimationControls","isKeyframesTarget","resolveMotionValue","unwrappedValue","mix","toValue","makeState","createRenderState","onMount","makeLatestValues","makeUseVisualState","scrapeMotionValues","motionValues","isControllingVariants","isVariantNode","variantToSet","resolved","svgMotionConfig","getTotalLength","AnimationType","htmlMotionConfig","createDomMotionConfig","baseConfig","addDomEvent","useDomEvent","isMouseEvent","MouseEvent","defaultPagePoint","pointFromTouch","pointType","pointFromMouse","extractEventInfo","wrapHandler","shouldFilterPrimaryPointer","eventHandler","mouseEventNames","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","touchEventNames","getPointerEventName","onpointerdown","onmousedown","addPointerEvent","usePointerEvent","createLock","globalHorizontalLock","globalVerticalLock","getGlobalLock","openHorizontal_1","openVertical_1","isDragActive","openGestureLock","createHoverEvent","Hover","isNodeOrChild","combineFunctions","makeRenderlessComponent","gestureAnimations","hasPressListeners","isPressing","cancelPointerEndListeners","removePointerEndListener","checkPointerEnd","Tap","onPointerUp","getInstance","onPointerCancel","Focus","shallowCompare","prevLength","safeMin","findSpring","envelope","derivative","bounce","mass","dampingRatio","undampedFreq","exponentialDecay","calcAngularFreq","exp","initialGuess","approximateRoot","stiffness","damping","durationKeys","physicsKeys","isSpringType","restSpeed","restDelta","springOptions","isResolvedFromDuration","derived","getSpringOptions","resolveSpring","resolveVelocity","createSpring","initialVelocity","initialDelta","undampedAngularFreq","angularFreq_1","dampedAngularFreq_1","freqForT","sinh","cosh","isBelowVelocityThreshold","isBelowDisplacementThreshold","flipTarget","needsInterpolation","_t","toFromDifference","isColorString","testProp","splitColor","aName","bName","cName","clampRgbUnit","rgbUnit","rgba","alpha$1","hsla","saturation","lightness","mixLinearColor","fromExpo","toExpo","colorTypes","getColorType","notAnimatable","mixColor","fromColorType","toColorType","fromColor","toColor","blended","mixFunc","colorToken","numberToken","analyse","numColors","tokenised","createTransformer","numValues","convertNumbersToZero","complex","getAnimatableNone","isNum","getMixer","mixComplex","mixArray","blendValue","fromThis","mixObject","numNumbers","numRGB","numHSL","originStats","targetStats","mixNumber","createMixers","customMixer","mixers","mixerFactory","numMixers","mixer","easingFunction","isClamp","inputLength","interpolator","fastInterpolate","lastInputIndex","mixerIndex","foundMixerIndex","progressInRange","slowInterpolate","power","reverseEasing","easing","mirrorEasing","createBackIn","easeIn","easeOut","easeInOut","circIn","circOut","circInOut","backIn","backOut","backInOut","anticipate","backEasing","createAnticipate","bounceOut","bounceIn","defaultEasing","convertOffsetToTimes","_value","defaultOffset","createInterpolator","decay","timeConstant","_f","modifyTarget","ideal","loopElapsed","elapsed","framesync","passTimestamp","driverControls","latest","interpolateFromNumber","autoplay","driver","_g","repeatMax","_h","_j","repeatDelay","onStop","computedDuration","isForwardPlayback","animator","detectAnimationFromOptions","reverseElapsed","hasRepeatDelayElapsed","velocityPerSecond","frameDuration","secondsToMilliseconds","a1","a2","calcBezier","getSlope","kSampleStepSize","cubicBezier","mX1","mY1","mX2","mY2","sampleValues","Float32Array","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","bounceInOut","easingDefinitionToFunction","isAnimatable","underDampedSpring","criticallyDampedSpring","linearTween","defaultTransitions","maxDefaults","applyDefaultFilter","functionRegex","defaultValueTypes","WebkitFilter","getDefaultValueType","defaultValueType","convertTransitionToAnimationOptions","yoyo","isEasingArray","getPopmotionAnimationOptions","hydrateKeyframes","delayChildren","staggerChildren","staggerDirection","isTransitionDefined","valueKey","transitionFactory","getAnimation","valueTransition","getValueTransition","isTargetAnimatable","isZero","getZeroUnit","isOriginAnimatable","currentAnimation","bounceStiffness","bounceDamping","isOutOfBounds","boundaryNearest","startAnimation","startSpring","prev_1","current_1","boundary_1","heading_1","inertia","potentialUnitType","delayTimer","getDelayFromTransition","addUniqueItem","SubscriptionManager","subscriptions","numSubscriptions","MotionValue","timeDelta","lastUpdated","updateSubscribers","velocityUpdateSubscribers","renderSubscribers","canTrackVelocity","updateAndNotify","scheduleVelocityCheck","velocityCheck","hasAnimated","subscription","clearListeners","onRenderRequest","attach","passiveEffect","getPrevious","stopAnimation","clearAnimation","isAnimating","motionValue","testValueType","dimensionValueTypes","findDimensionValueType","valueTypes","findValueType","setMotionValue","addValue","setTarget","makeTargetAnimatable","getOriginFromTransition","animateVariant","transitionOverride","animateTarget","getChildAnimations","variantChildren","forwardDelay","animations","maxStaggerDuration","generateStaggerDuration","sortByTreeOrder","notifyAnimationComplete","animateChildren","animationTypeState","valueTarget","shouldBlockAnimation","sortNodePosition","protectedKeys","needsAnimating","shouldBlock","variantPriorityOrder","Animate","Drag","Exit","reversePriorityOrder","numAnimationTypes","animateList","notifyAnimationStart","resolvedDefinition","animateVisualElement","createAnimationState","createTypeState","createState","allAnimatedKeys","buildResolvedTypeValues","changedActiveType","getVariantContext","removedKeys","encounteredKeys","removedVariantIndex","_loop_1","typeState","propIsVariant","activeDelta","isInherited","manuallyAnimateOnMount","prevProp","shouldAnimateType","variantsHaveChanged","definitionList","resolvedValues","prevResolvedValues","markToAnimate","fallbackAnimation_1","fallbackTarget","getBaseTarget","shouldAnimate","isAnimated","setAnimateFunction","makeAnimator","isPoint","isPoint3D","distance1D","xDelta","yDelta","zDelta","PanSession","startEvent","lastMoveEvent","lastMoveEventInfo","updatePoint","getPanInfo","isPanStarted","isDistancePastThreshold","onStart","onMove","handlePointerMove","handlePointerUp","onSessionEnd","panInfo","initialInfo","onSessionStart","removeListeners","updateHandlers","subtractPoint","lastDevicePoint","startDevicePoint","timestampedPoint","lastPoint","eachAxis","applyConstraints","elastic","calcRelativeAxisConstraints","calcViewportAxisConstraints","layoutAxis","constraintsAxis","resolveAxisElastic","dragElastic","minLabel","maxLabel","resolvePointElastic","getBoundingBox","isNear","maxDistance","calcLength","sourceLength","targetLength","updateAxisDelta","updateBoxDelta","defaultOrigin","calcRelativeAxis","relative","calcRelativeOffsetAxis","calcRelativeOffset","checkIfParentHasChanged","prevId","getLayoutId","nextId","_dragX","resetAxis","originAxis","scalePoint","applyPointDelta","boxScale","applyAxisDelta","applyBoxDelta","applyAxisTransforms","final","scaleKey","originKey","axisOrigin","xKeys","yKeys","applyBoxTransforms","finalBox","removePointDelta","removeAxisTransforms","removeAxisDelta","removeBoxTransforms","lastPointerEvent","elementDragControls","VisualElementDragControls","currentDirection","constraints","hasMutatedConstraints","cursorProgress","openGlobalLock","panSession","enableLayoutProjection","originEvent","snapToCursor","stopMotion","initialPoint","getViewportPointFromEvent","cancelLayout","hasManuallySetCursorOrigin","isLayoutDrag","lockProjectionTarget","getAxisMotionValue","isExternalDrag","scheduleUpdateLayoutProjection","axisValue","resolveDragConstraints","dragPropagation","dragDirectionLock","lockThreshold","getCurrentDirection","onDirectionLock","updateAxis","dragConstraints","resolveRefConstraints","layoutBox","calcRelativeConstraints","resolveDragElastic","relativeConstraints","rebaseAxisConstraints","onMeasureDragConstraints","constraintsElement","constraintsBox","measuredConstraints","calcViewportConstraints","userConstraints","cancelDrag","unlockProjectionTarget","animateDragEnd","shouldDrag","length_1","updateAxisMotionValue","updateVisualElementAxis","axisLayout","axisLength","axisProgress","calcConstrainedMinPoint","setProjectionTargetAxis","dragMomentum","remainingProps","dragKey","_dragY","dragTransition","isRelative","projectionParent","getProjectionParent","getLatestValues","convertToRelativeProjection","relativeConstraints_1","targetFinal","momentumAnimations","startAxisValueAnimation","startLayoutAnimation","onDragTransitionEnd","stopLayoutAnimation","currentValue","boxProgress","updateConstraints","calcPositionFromProgress","onReady","stopPointerListener","dragListener","stopResizeListener","stopLayoutUpdateListener","onLayoutUpdate","prevDragCursor","onPan","onPanStart","onPanEnd","onPanSessionStart","hasPanEvents","groupDragControls","dragControls","cssVariableRegex","getVariableValue","parseCSSVariable","pixelsToPercent","pixels","varToken","borderCorrectionDefinition","_layoutState","defaultScaleCorrectors","containsCSSVariables","cssVariables","xScale","yScale","averageScale","i_1","cssVariable","frameTarget","currentAnimationTarget","stopAxisAnimation","isAnimatingTree","originBox","targetBox","visibilityAction","shouldStackAnimate","prevParent","safeToRemove","prevParentViewportBox","parentLayout","isProvidedCorrectDataForRelativeSharedLayout","boxHasMoved","hasMoved","isTargetLocked","animateAxis","setVisibility","Show","notifyLayoutAnimationComplete","animateMotionValue","unsubLayoutReady","layoutSafeToRemove","correctors","addScaleCorrection","axisIsEqual","layoutProgress","getProjectionAnimationProgress","tweenAxis","unsubscribeProgress","layoutTransition","defaultLayoutTransition","isZeroBox","zeroAxis","Measure","syncLayout","framerSyncLayout","onUnmount","syncUpdate","React__default","layoutAnimations","createLayoutState","deltaTransform","zeroLayout","buildLayoutProjectionTransform","latestTransform","identityProjection","buildLayoutProjectionTransformOrigin","updateLayoutDeltas","treePath","treeLength","applyTreeDeltas","FlatTree","isDirty","treeType","renderInstance","readValueFromInstance","removeValueFromRenderState","unsubscribeFromLeadVisualElement","crossfader","projectionTargetProgress","removeFromVariantTree","lifecycles","managers","propSubscriptions","clearAllListeners","manager","updatePropListeners","propListener","createLifecycles","leadProjection","leadLatestValues","hasViewportBoxUpdated","valueSubscriptions","prevMotionValues","baseTarget","isProjectionReady","triggerBuild","valuesToRender","crossfadedValues","getCrossfadeState","notifyUpdate","updateTreeLayoutProjection","layoutTree","fireUpdateLayoutProjection","initialMotionValues","newInstance","pointTo","addVariantChild","updateLayoutProjection","closestVariantNode","getClosestVariantNode","getStaticValue","setStaticValue","scheduleRender","canMutate","removeValue","removeOnChange","latestValue","removeOnRenderRequest","bindToMotionValue","readValue","setBaseTarget","prevValue","existingValue","updateMotionValuesFromProps","getVariant","startAtParent","context_1","numVariantProps","variantProps","setCrossfader","newCrossfader","relativeTarget","withTransform","viewportBox","notifySetAxisTarget","force","shouldRebase","relativeOffset","setCurrentViewportBox","notifyLayoutUpdate","prevTreeScaleX","prevTreeScaleY","prevDeltaTransform","notifyViewportBoxUpdate","fireResolveRelativeTargetBox","foundParent","ancestor","resolveRelativeTargetBox","relativeParent","parentProjection","calcRelativeBox","_layoutResetTransform","newLead","onSetAxisTarget","onLayoutAnimationComplete","Entering","BoundingBoxDimension","positionalKeys","isPositionalKey","setAndResetVelocity","isNumOrPxType","getPosFromMatrix","matrix","getTranslateFromMatrix","pos2","pos3","_bbox","matrix3d","nonTranslationalTransformKeys","positionalValues","checkAndConvertChangedValueTypes","targetPositionalKeys","removedTransformValues","hasAttemptedToRemoveTransformValues","changedValueTypeKeys","toType","fromType","numKeyframes","removedTransforms","removeNonTranslationalTransform","convertedTarget","changedKeys","originBbox","elementComputedStyle","originComputedStyle","targetBbox","convertChangedValueTypes","unitConversion","hasPositionalKey","parseDomVariant","resolveCSSVariables","htmlConfig","mutableState","getOrigin","newValueKeys","numNewValues","targetValue","checkTargetForNewValues","isProjectionTranform","htmlVisualElement","svgVisualElement","_element","createDomVisualElement","featureBundle","EscapeToClose","reallyIsEnabled","descendantCountRef","contextValue","FIRST_MENU_ITEM","LAST_MENU_ITEM","MenuButton","focusSelectedOnVisible","keyboardDirection","activeMenuItem","setActiveMenuItem","setMenuVisible","menuInitialFocus","menuAnchor","focusMenuItem","keyboardNavigableEls","firstItem","lastItem","menuInitialFocusRef","closeOnEscape","arrowDownIndex","arrowUpIndex","selectedItem","MenuCustomItem","childHasStartElementIcons","hasStartElementIcon","renderChildren","selectedOptions","BaseMenuItem","startElementStyles","startElementNode","endElementStyles","endElementNode","selectMenuIconStyles","selectMenuNode","descriptionStyles","descriptionNode","childrenNode","contentStyles","UniqueIdContext","nanoid","MenuItemFileInput","secondaryText","getIdFromContext","data-selected-item","MenuItemDisclosure","callSerial","MenuItemWithSubmenu","menuGroupAccessibilityTitle","menuMaxHeight","submenuRef","triggerIsActive","buttonOnKeyDown","consoleInfoMsgSet","consoleInfo","alphaPropTemplate","arrowStyles","Popper","arrowMod","data-popper-arrow","float","overscrollBehavior","preserveWidth","setMinWidth","positionHelper","MenuAnimation","appearActive","appearDone","menuWithStateLocations","menuWithStateAlignments","MenuWithState","maxHeightAuto","positionStatic","noAnchorWarning","logAlphaProp","anchorYcoordinate","anchorHeight","Scrollparent","parentYcoordinate","menuHeightAbove","menuHeightBelow","parentHeight","calculateScrollContainerHeight","MenuWithHOC","hexColor","brightness","isHexTriplet","HEX","padHighNibble","calculatedRed","calculatedGreen","calculatedBlue","hexTriplet","hexColorGrayScale","backgroundRed","backgroundHexColor","hasLowPerceivedBrightness","buttonMainBackgroundActiveColor","buttonPrimaryBackgroundActiveColor","isLegacyNavItem","hasCustomBackgroundColor","hasCustomImage","headerFillColor","backgroundOrigin","InvertedButton","invertedButtonTextColor","invertedButtonBackgroundColor","QuickActionsItem","quickActionsTextColor","CobrandingContext","Cobranding","cobrandingConfig","contrastingGrayscaleTextColor","quickActionsText","headerBackgroundHoverColor","applyBrightness","headerBackgroundActiveColor","contrastingGrayscaleFillColor","buttonMainBackgroundHoverColor","buttonPrimaryBackgroundHoverColor","calculateTokens","cobrandingTheme","useLockBodyScroll","locked","originalOverflowRef","setBodyOverflow","isTargetResolver","MotionVariant","variantsWithEase","easingVariants","getEasingVariants","revealBackgroundColor","revealedBorder","pinnedBottom","pinnedLeft","pinnedRight","noShroudStyles","noShroud","pins","Reveal","onShowComplete","previousFocusRef","animateDoneRef","distanceStyle","animateFrom","animateEnter","animateLeave","trapFocus","Caret","caretStyles","buttonIcons","buttonIconPositions","buttonKinds","buttonSizes","buttonTypes","ButtonWithRef","InputLabel","RequiredAsteriskNode","replaceClassName","origClass","classToRemove","CSSTransition","appliedClasses","_this$resolveArgument","resolveArguments","_this$resolveArgument2","_this$resolveArgument3","getClassNames","isStringClassNames","baseClassName","activeClassName","doneClassName","_addClass","_this$appliedClasses$","initialStyles","applyStyles","fromEntries","prevOptions","optionsWithDefaults","_React$useState","updateStateModifier","popperOptions","isEqual","popperInstance","defaultCreatePopper","SvgDocusignAppLogo","DocuSignLogo","logoColor","fillColor","iconRef","baseStyles","useThemeName","themeFromContext","themeToUse","camelCaseTransform","themeStyles","themeTokens","baseStylesWithTokens","isStyleResolver","themeStylesWithTokens","componentThemeStyles","merge1","cobrandingStyles","useCobrandingStyles","merge2","BelowInputContainer","isThemedComponent","inkStyles","oliveStyles","themeSizeIcons"],"mappings":"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","file":"static/js/2.69c29b3a.chunk.js","sourcesContent":["'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","/**\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","/*\n\nBased off glamor's StyleSheet, thanks Sunil â¤ï¸\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\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\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// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n\n var before;\n\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule, // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","import { StyleSheet } from '@emotion/sheet';\nimport Stylis from '@emotion/stylis';\nimport '@emotion/weak-memoize';\n\n// https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet\n// inlined to avoid umd wrapper and peerDep warnings/installing stylis\n// since we use stylis after closure compiler\nvar delimiter = '/*|*/';\nvar needle = delimiter + '}';\n\nfunction toSheet(block) {\n if (block) {\n Sheet.current.insert(block + '}');\n }\n}\n\nvar Sheet = {\n current: null\n};\nvar ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n {\n switch (content.charCodeAt(0)) {\n case 64:\n {\n // @import\n Sheet.current.insert(content + ';');\n return '';\n }\n // charcode for l\n\n case 108:\n {\n // charcode for b\n // this ignores label\n if (content.charCodeAt(2) === 98) {\n return '';\n }\n }\n }\n\n break;\n }\n // selector\n\n case 2:\n {\n if (ns === 0) return content + delimiter;\n break;\n }\n // at-rule\n\n case 3:\n {\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n {\n Sheet.current.insert(selectors[0] + content);\n return '';\n }\n\n default:\n {\n return content + (at === 0 ? delimiter : '');\n }\n }\n }\n\n case -2:\n {\n content.split(needle).forEach(toSheet);\n }\n }\n};\n\nvar createCache = function createCache(options) {\n if (options === undefined) options = {};\n var key = options.key || 'css';\n var stylisOptions;\n\n if (options.prefix !== undefined) {\n stylisOptions = {\n prefix: options.prefix\n };\n }\n\n var stylis = new Stylis(stylisOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n\n {\n container = options.container || document.head;\n var nodes = document.querySelectorAll(\"style[data-emotion-\" + key + \"]\");\n Array.prototype.forEach.call(nodes, function (node) {\n var attrib = node.getAttribute(\"data-emotion-\" + key); // $FlowFixMe\n\n attrib.split(' ').forEach(function (id) {\n inserted[id] = true;\n });\n\n if (node.parentNode !== container) {\n container.appendChild(node);\n }\n });\n }\n\n var _insert;\n\n {\n stylis.use(options.stylisPlugins)(ruleSheet);\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n Sheet.current = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n var map = serialized.map;\n Sheet.current = {\n insert: function insert(rule) {\n sheet.insert(rule + map);\n }\n };\n }\n\n stylis(selector, serialized.styles);\n\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n };\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // https://esbench.com/bench/5bf7371a4cd7e6009ef61d0a\n var commentStart = /\\/\\*/g;\n var commentEnd = /\\*\\//g;\n stylis.use(function (context, content) {\n switch (context) {\n case -1:\n {\n while (commentStart.test(content)) {\n commentEnd.lastIndex = commentStart.lastIndex;\n\n if (commentEnd.test(content)) {\n commentStart.lastIndex = commentEnd.lastIndex;\n continue;\n }\n\n throw new Error('Your styles have an unterminated comment (\"/*\" without corresponding \"*/\").');\n }\n\n commentStart.lastIndex = 0;\n break;\n }\n }\n });\n stylis.use(function (context, content, selectors) {\n switch (context) {\n case -1:\n {\n var flag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n var unsafePseudoClasses = content.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n var ignoreRegExp = new RegExp(unsafePseudoClass + \".*\\\\/\\\\* \" + flag + \" \\\\*\\\\/\");\n var ignore = ignoreRegExp.test(content);\n\n if (unsafePseudoClass && !ignore) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n }\n });\n }\n\n break;\n }\n }\n });\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n return cache;\n};\n\nexport default createCache;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className]);\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(\".\" + className, current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","import '@babel/runtime/helpers/inheritsLoose';\nimport { createContext, forwardRef, createElement } from 'react';\nimport createCache from '@emotion/cache';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar EmotionCacheContext = /*#__PURE__*/createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? createCache() : null);\nvar ThemeContext = /*#__PURE__*/createContext({});\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n var render = function render(props, ref) {\n return /*#__PURE__*/createElement(EmotionCacheContext.Consumer, null, function (cache) {\n return func(props, cache, ref);\n });\n }; // $FlowFixMe\n\n\n return /*#__PURE__*/forwardRef(render);\n};\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/css' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // TODO: check if this still works with all of those different JSX functions\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n return newProps;\n};\n\nvar render = function render(cache, props, theme, ref) {\n var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles);\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n\n return ele;\n}; // eslint-disable-next-line no-undef\n\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n if (typeof props.css === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n return render(cache, props, theme, ref);\n });\n }\n\n return render(cache, props, null, ref);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, createEmotionProps as c, hasOwnProperty as h, withEmotionCache as w };\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { createElement, Component } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-57a3a7a3.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, w as withEmotionCache } from './emotion-element-57a3a7a3.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\nimport css from '@emotion/css';\nexport { default as css } from '@emotion/css';\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false;\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n\n if (typeof styles === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var serialized = serializeStyles([styles(theme)]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n });\n }\n\n var serialized = serializeStyles([styles]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n});\n\n// maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\nvar InnerGlobal = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InnerGlobal, _React$Component);\n\n function InnerGlobal(props, context, updater) {\n return _React$Component.call(this, props, context, updater) || this;\n }\n\n var _proto = InnerGlobal.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.sheet = new StyleSheet({\n key: this.props.cache.key + \"-global\",\n nonce: this.props.cache.sheet.nonce,\n container: this.props.cache.sheet.container\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion-\" + this.props.cache.key + \"=\\\"\" + this.props.serialized.name + \"\\\"]\");\n\n if (node !== null) {\n this.sheet.tags.push(node);\n }\n\n if (this.props.cache.sheet.tags.length) {\n this.sheet.before = this.props.cache.sheet.tags[0];\n }\n\n this.insertStyles();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.serialized.name !== this.props.serialized.name) {\n this.insertStyles();\n }\n };\n\n _proto.insertStyles = function insertStyles$1() {\n if (this.props.serialized.next !== undefined) {\n // insert keyframes\n insertStyles(this.props.cache, this.props.serialized.next, true);\n }\n\n if (this.sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling;\n this.sheet.before = element;\n this.sheet.flush();\n }\n\n this.props.cache.insert(\"\", this.props.serialized, this.sheet, false);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.sheet.flush();\n };\n\n _proto.render = function render() {\n\n return null;\n };\n\n return InnerGlobal;\n}(Component);\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar ClassNames = withEmotionCache(function (props, context) {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, context.registered);\n\n {\n insertStyles(context, serialized, false);\n }\n\n return context.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(context.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: theme\n };\n var ele = props.children(content);\n hasRendered = true;\n\n return ele;\n });\n});\n\nexport { ClassNames, Global, jsx as createElement, jsx, keyframes };\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import _Object$keys from \"@babel/runtime-corejs3/core-js/object/keys\";\nimport _Object$getOwnPropertySymbols from \"@babel/runtime-corejs3/core-js/object/get-own-property-symbols\";\nimport _filterInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/filter\";\nimport _Object$getOwnPropertyDescriptor from \"@babel/runtime-corejs3/core-js/object/get-own-property-descriptor\";\nimport _forEachInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/for-each\";\nimport _Object$getOwnPropertyDescriptors from \"@babel/runtime-corejs3/core-js/object/get-own-property-descriptors\";\nimport _Object$defineProperties from \"@babel/runtime-corejs3/core-js/object/define-properties\";\nimport _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\nimport defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = _Object$keys(object);\n\n if (_Object$getOwnPropertySymbols) {\n var symbols = _Object$getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) {\n return _Object$getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\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 var _context;\n\n _forEachInstanceProperty(_context = ownKeys(Object(source), true)).call(_context, function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (_Object$getOwnPropertyDescriptors) {\n _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source));\n } else {\n var _context2;\n\n _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) {\n _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","import hexToRgba from 'hex-to-rgba'\n\nconst brandColors = {\n white: '#ffffff',\n gray1: '#f9f9f9',\n gray2: '#f4f4f4',\n gray3: '#e9e9e9',\n gray4: '#d9d9d9',\n gray5: '#cccccc',\n gray6: '#a9a9a9',\n gray7: '#999999',\n gray8: '#868686',\n gray9: '#666666',\n gray10: '#3d3d3d',\n black: '#1e1e1e',\n\n badgeOrange: '#cc4c15',\n badgeTurquoise: '#3d7e8f',\n\n DocuSignBluePale2: '#e3edf7',\n DocuSignBluePale: '#c9dcf0',\n DocuSignBlueDisabled: '#4f8dce',\n DocuSignBlueLight: '#2875c4',\n DocuSignBlue: '#005cb9',\n DocuSignBlueDark: '#004185',\n DocuSignBlueDark2: '#003368',\n\n funBluePale2: '#ebf5fc',\n funBluePale: '#d8edfa',\n funBlueLight: '#4186ec',\n funBlue: '#2463d1',\n funBlueDark: '#1951b8',\n funBlueDark2: '#164295',\n\n mantisGreenPale2: '#e3f2e9',\n mantisGreenPale: '#c6e5d3',\n mantisGreenLight: '#39a364',\n mantisGreen: '#008938',\n mantisGreenDark: '#007831',\n mantisGreenDark2: '#00672a',\n\n orange: '#ff9980',\n orangeDark: '#ff8567',\n\n periwinklePale2: '#f6f7fa',\n periwinklePale: '#f0f2f6',\n periwinkleLight: '#e8edf7',\n periwinkle: '#d9e1f1',\n periwinkleDark: '#c7d1e2',\n periwinkleDark2: '#b8bfcc',\n\n persianRedPale2: '#ffeee9',\n persianRedPale: '#ffe3e1',\n persianRedLight: '#fb3449',\n persianRed: '#d13239',\n persianRedDark: '#b22b31',\n persianRedDark2: '#98252b',\n\n progressIndicatorInverted: '#85d8eb',\n\n sunglowYellowPale2: '#fffae5',\n sunglowYellowPale: '#ffefc0',\n sunglowYellowLight: '#ffd72e',\n sunglowYellow: '#ffce00',\n sunglowYellowDark: '#f6b610',\n sunglowYellowDark2: '#e5a305',\n\n turquoisePale2: '#edf8fb',\n turquoisePale: '#e1f4f8',\n turquoiseLight: '#9ce2f2',\n turquoise: '#6ac6dc',\n turquoiseDark: '#52b4cd',\n turquoiseDark2: '#4b9aaf',\n}\n\nconst RecipientColorPalette: { [key: string]: { [key: string]: string } } = {\n recipient0: {\n Normal: '#ffd65b',\n Dark: '#f5c431',\n Dark2: '#b8860b',\n },\n recipient1: {\n Normal: '#acdce6',\n Dark: '#81afb8',\n Dark2: '#205d86',\n },\n recipient2: {\n Normal: '#c0a5cf',\n Dark: '#91789e',\n Dark2: '#886288',\n },\n recipient3: {\n Normal: '#97c9bf',\n Dark: '#70948d',\n Dark2: '#708080',\n },\n recipient4: {\n Normal: '#f7b994',\n Dark: '#e69d73',\n Dark2: '#e76e3c',\n },\n recipient5: {\n Normal: '#c3d5e6',\n Dark: '#6c89a6',\n Dark2: '#67809f',\n },\n recipient6: {\n Normal: '#cfdb7f',\n Dark: '#aeb86e',\n Dark2: '#5d995d',\n },\n recipient7: {\n Normal: '#ff9980',\n Dark: '#db765c',\n Dark2: '#e26a6a',\n },\n recipient8: {\n Normal: '#e6c6e6',\n Dark: '#b38fb3',\n Dark2: '#ae59b6',\n },\n recipient9: {\n Normal: '#ffb3c6',\n Dark: '#d98298',\n Dark2: '#d25299',\n },\n}\n\nconst recipientColors = {\n recipient0: RecipientColorPalette.recipient0.Normal,\n recipient1: RecipientColorPalette.recipient1.Normal,\n recipient2: RecipientColorPalette.recipient2.Normal,\n recipient3: RecipientColorPalette.recipient3.Normal,\n recipient4: RecipientColorPalette.recipient4.Normal,\n recipient5: RecipientColorPalette.recipient5.Normal,\n recipient6: RecipientColorPalette.recipient6.Normal,\n recipient7: RecipientColorPalette.recipient7.Normal,\n recipient8: RecipientColorPalette.recipient8.Normal,\n recipient9: RecipientColorPalette.recipient9.Normal,\n}\n\nconst colorsWithAlpha = {\n black_alpha50: hexToRgba(brandColors.black, 0.5),\n gray9_alpha90: hexToRgba(brandColors.gray9, 0.9),\n white_alpha75: hexToRgba(brandColors.white, 0.75),\n\n funBlue_alpha27: hexToRgba(brandColors.funBlue, 0.27),\n mantisGreen_alpha27: hexToRgba(brandColors.mantisGreen, 0.27),\n persianRed_alpha27: hexToRgba(brandColors.persianRed, 0.27),\n sunglowYellowDark_alpha43: hexToRgba(brandColors.sunglowYellowDark, 0.43),\n}\n\nexport { RecipientColorPalette }\n\nexport default {\n ...brandColors,\n ...recipientColors,\n ...colorsWithAlpha,\n}\n","import _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\nexport 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}","const colors = {\n semanticBlack: {\n 100: '#000000',\n },\n semanticBlue: {\n 10: '#f0f4ff',\n 20: '#d0d9ff',\n 30: '#a7b9ff',\n 40: '#81a0ff',\n 50: '#5b8bff',\n 60: '#0069ec',\n 70: '#005cd3',\n 80: '#01439c',\n 90: '#002965',\n 100: '#00163f',\n },\n semanticCoolRed: {\n 10: '#fff0fc',\n 20: '#f9d0e6',\n 30: '#ffa9ce',\n 40: '#f580a9',\n 50: '#f45a85',\n 60: '#d42953',\n 70: '#bd2349',\n 80: '#8c1634',\n 90: '#5a0a1e',\n 100: '#380410',\n },\n semanticGreen: {\n 10: '#d2ffdf',\n 20: '#5cf999',\n 30: '#13e280',\n 40: '#11bc69',\n 50: '#0ba65c',\n 60: '#068146',\n 70: '#04723e',\n 80: '#02542c',\n 90: '#023419',\n 100: '#001f0c',\n },\n semanticNeutral: {\n 10: '#f4f4f6',\n 20: '#d9d9e0',\n 30: '#bcbbc8',\n 40: '#a4a2b4',\n 50: '#908da4',\n 60: '#706d88',\n 70: '#63607c',\n 80: '#48455e',\n 90: '#2c2a3b',\n 100: '#191823',\n fade: {\n 5: 'rgba(25, 24, 35, 0.05)',\n 10: 'rgba(25, 24, 35, 0.10)',\n 15: 'rgba(25, 24, 35, 0.15)',\n 20: 'rgba(25, 24, 35, 0.20)',\n 25: 'rgba(25, 24, 35, 0.25)',\n 35: 'rgba(25, 24, 35, 0.35)',\n 45: 'rgba(25, 24, 35, 0.45)',\n 60: 'rgba(25, 24, 35, 0.60)',\n 75: 'rgba(25, 24, 35, 0.75)',\n 90: 'rgba(25, 24, 35, 0.90)',\n },\n },\n semanticPaperwhite: {\n 10: '#f7f6f7',\n },\n semanticWhite: {\n 100: '#ffffff',\n fade: {\n 5: 'rgba(255, 255, 255, 0.05)',\n 10: 'rgba(255, 255, 255, 0.1)',\n 15: 'rgba(255, 255, 255, 0.15)',\n 25: 'rgba(255, 255, 255, 0.25)',\n 35: 'rgba(255, 255, 255, 0.35)',\n 45: 'rgba(255, 255, 255, 0.45)',\n 55: 'rgba(255, 255, 255, 0.55)',\n 70: 'rgba(255, 255, 255, 0.7)',\n 85: 'rgba(255, 255, 255, 0.85)',\n 90: 'rgba(255, 255, 255, 0.90)',\n },\n },\n semanticWarmGray: {\n 10: '#f7f6f7',\n 20: '#efeded',\n },\n extendedAqua: {\n 10: '#e5f9ff',\n 20: '#81e9ff',\n 30: '#00cfe9',\n 40: '#00b4cc',\n 50: '#009eb3',\n 60: '#008295',\n 70: '#006f83',\n 80: '#00505c',\n 90: '#003139',\n 100: '#001d22',\n },\n extendedFuchsia: {\n 10: '#fff0f5',\n 20: '#ffcddf',\n 30: '#ff9fc6',\n 40: '#ff74b2',\n 50: '#ff42a3',\n 60: '#e3008a',\n 70: '#c50076',\n 80: '#8f0054',\n 90: '#5c0034',\n 100: '#39001f',\n },\n extendedIndigo: {\n 10: '#f4f3ff',\n 20: '#dbd6fd',\n 30: '#bdb4fc',\n 40: '#a596fb',\n 50: '#917efa',\n 60: '#795bf8',\n 70: '#683ef7',\n 80: '#4b12ce',\n 90: '#2e0987',\n 100: '#1a0356',\n },\n extendedMagenta: {\n 10: '#fcf0fe',\n 20: '#f5cdfd',\n 30: '#eca1fc',\n 40: '#e777fa',\n 50: '#e349f9',\n 60: '#c523da',\n 70: '#ab19bf',\n 80: '#7c1089',\n 90: '#4f0758',\n 100: '#310237',\n },\n extendedOrchid: {\n 10: '#f6f2ff',\n 20: '#e0d4ff',\n 30: '#c9afff',\n 40: '#b78fff',\n 50: '#a972ff',\n 60: '#9845ff',\n 70: '#8e06ff',\n 80: '#6600bb',\n 90: '#400079',\n 100: '#27004d',\n },\n extendedTeal: {\n 10: '#d2fffd',\n 20: '#5eede7',\n 30: '#19d7cf',\n 40: '#0bb7b0',\n 50: '#04a29a',\n 60: '#01857f',\n 70: '#02726e',\n 80: '#02504d',\n 90: '#003330',\n 100: '#001d1c',\n },\n extendedWarmRed: {\n 10: '#fff0f1',\n 20: '#ffc9c7',\n 30: '#fea4a1',\n 40: '#ff7c76',\n 50: '#ff5348',\n 60: '#e72501',\n 70: '#c81d01',\n 80: '#911300',\n 90: '#5d0900',\n 100: '#3a0300',\n },\n extendedYellow: {\n 10: '#fff7c4',\n 20: '#ffd651',\n 30: '#f0b300',\n 40: '#df9b01',\n 50: '#c98400',\n 60: '#ac6600',\n 70: '#96530e',\n 80: '#6f3b0d',\n 90: '#4a2004',\n 100: '#300f02',\n },\n} as const\n\nexport default colors\n","import _Object$keys from \"@babel/runtime-corejs3/core-js/object/keys\";\nimport _Object$getOwnPropertySymbols from \"@babel/runtime-corejs3/core-js/object/get-own-property-symbols\";\nimport _filterInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/filter\";\nimport _Object$getOwnPropertyDescriptor from \"@babel/runtime-corejs3/core-js/object/get-own-property-descriptor\";\nimport _forEachInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/for-each\";\nimport _Object$getOwnPropertyDescriptors from \"@babel/runtime-corejs3/core-js/object/get-own-property-descriptors\";\nimport _Object$defineProperties from \"@babel/runtime-corejs3/core-js/object/define-properties\";\nimport _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\nimport defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = _Object$keys(object);\n\n if (_Object$getOwnPropertySymbols) {\n var symbols = _Object$getOwnPropertySymbols(object);\n\n enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) {\n return _Object$getOwnPropertyDescriptor(object, sym).enumerable;\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 _context, _context2;\n\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) {\n defineProperty(target, key, source[key]);\n }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) {\n _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\nexport 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}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","module.exports = require(\"core-js-pure/stable/instance/concat\");","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","module.exports = require(\"regenerator-runtime\");\n","import _Object$assign from \"@babel/runtime-corejs3/core-js/object/assign\";\nexport 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 _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 _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}","module.exports = require(\"regenerator-runtime\");\n","import {\n logComponentError,\n logComponentEvent,\n ErrorData,\n logError,\n} from '@ds/logging'\n\ntype EventData = {\n [key: string]: string | number | EventData\n}\nconst isCalled = {}\nlet telemetryEnabled = false\n\nfunction emitTelemetry(\n functionName: string,\n isError: boolean,\n option: number | Error | null\n): boolean {\n try {\n if (!telemetryEnabled || isCalled[functionName]) {\n return true\n }\n isCalled[functionName] = true\n if (isError) {\n const errorData: ErrorData = {\n message: `${functionName}: `,\n }\n if (option instanceof Error) {\n errorData.error = option\n }\n logComponentError(errorData)\n } else {\n const eventData: EventData = {\n measure: getPerformance() - (option as number),\n instance: `${functionName}`,\n }\n logComponentEvent(eventData, 'I18nLayer')\n }\n } catch (ex) {\n logError('Error attempting to log component', ex)\n return false\n }\n return true\n}\n\nfunction setTelemetry(functionName: string, measure: number): boolean {\n return emitTelemetry(functionName, false, measure)\n}\n\nfunction reportException(functionName: string, error: Error): boolean {\n return emitTelemetry(`Exception at ${functionName}`, true, error)\n}\n\nfunction enableTelemetry(onoff: boolean): boolean {\n telemetryEnabled = onoff\n return true\n}\n\nfunction getPerformance(): number {\n if (!telemetryEnabled) return 0\n if (window && window.performance && window.performance.now)\n return window.performance.now()\n return 0\n}\n\nexport { enableTelemetry, setTelemetry, reportException, getPerformance }\n","import _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\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\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 _Object$getOwnPropertySymbols from \"@babel/runtime-corejs3/core-js/object/get-own-property-symbols\";\nimport _indexOfInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/index-of\";\nimport objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\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 (_indexOfInstanceProperty(excluded).call(excluded, key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _Object$keys from \"@babel/runtime-corejs3/core-js/object/keys\";\nimport _indexOfInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/index-of\";\nexport default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n\n var sourceKeys = _Object$keys(source);\n\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (_indexOfInstanceProperty(excluded).call(excluded, key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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}","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}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import _Object$assign from \"@babel/runtime-corejs3/core-js/object/assign\";\nexport 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}","module.exports = require(\"core-js-pure/stable/instance/concat\");","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _getIteratorMethod from \"@babel/runtime-corejs3/core-js/get-iterator-method\";\nexport default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof _Symbol !== \"undefined\" && _getIteratorMethod(arr) || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_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 _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 \"@babel/runtime/helpers/esm/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}","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 _Object$getOwnPropertySymbols from \"@babel/runtime-corejs3/core-js/object/get-own-property-symbols\";\nimport _indexOfInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/index-of\";\nimport objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\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 (_indexOfInstanceProperty(excluded).call(excluded, key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _Object$keys from \"@babel/runtime-corejs3/core-js/object/keys\";\nimport _indexOfInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/index-of\";\nexport default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n\n var sourceKeys = _Object$keys(source);\n\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (_indexOfInstanceProperty(excluded).call(excluded, key) >= 0) continue;\n target[key] = source[key];\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}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/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}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _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}","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 \"@babel/runtime/helpers/esm/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 asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof NativeConstructor) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return NativeConstructor.apply(this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || (path[TARGET] = {});\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && has(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty === typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && typeof sourceProperty == 'function') resultProperty = bind(Function.call, sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n target[key] = resultProperty;\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!has(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n path[VIRTUAL_PROTOTYPE][key] = sourceProperty;\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","/*!\n Copyright (c) 2018 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)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\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","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _Promise from \"@babel/runtime-corejs3/core-js/promise\";\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n _Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new _Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React, { useContext, useMemo } from 'react';\nvar ThemeContext = /*#__PURE__*/React.createContext({});\nvar Consumer = ThemeContext.Consumer,\n Provider = ThemeContext.Provider;\n\nfunction ThemeProvider(_ref) {\n var prefixes = _ref.prefixes,\n children = _ref.children;\n var copiedPrefixes = useMemo(function () {\n return _extends({}, prefixes);\n }, [prefixes]);\n return /*#__PURE__*/React.createElement(Provider, {\n value: copiedPrefixes\n }, children);\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n var prefixes = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n var isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n var _opts = opts,\n prefix = _opts.prefix,\n _opts$forwardRefAs = _opts.forwardRefAs,\n forwardRefAs = _opts$forwardRefAs === void 0 ? isClassy ? 'ref' : 'innerRef' : _opts$forwardRefAs;\n var Wrapped = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {\n var props = _extends({}, _ref2);\n\n props[forwardRefAs] = ref;\n var bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n bsPrefix: bsPrefix\n }));\n });\n Wrapped.displayName = \"Bootstrap(\" + (Component.displayName || Component.name) + \")\";\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = require(\"core-js-pure/stable/object/keys\");","module.exports = require(\"core-js-pure/stable/instance/map\");","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","import _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\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\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\n _Object$defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n\n return Constructor;\n}","module.exports = require(\"regenerator-runtime\");\n","module.exports = require(\"core-js-pure/stable/set\");","module.exports = require(\"core-js-pure/stable/instance/filter\");","var defaultTimestep = (1 / 60) * 1000;\nvar getCurrentTime = typeof performance !== \"undefined\"\n ? function () { return performance.now(); }\n : function () { return Date.now(); };\nvar onNextFrame = typeof window !== \"undefined\"\n ? function (callback) {\n return window.requestAnimationFrame(callback);\n }\n : function (callback) {\n return setTimeout(function () { return callback(getCurrentTime()); }, defaultTimestep);\n };\n\nexport { defaultTimestep, onNextFrame };\n","import { onNextFrame, defaultTimestep } from './on-next-frame.js';\nimport { createRenderStep } from './create-render-step.js';\n\nvar maxElapsed = 40;\nvar useDefaultElapsed = true;\nvar runNextFrame = false;\nvar isProcessing = false;\nvar frame = {\n delta: 0,\n timestamp: 0\n};\nvar stepsOrder = [\"read\", \"update\", \"preRender\", \"render\", \"postRender\"];\nvar steps = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = createRenderStep(function () {\n return runNextFrame = true;\n });\n return acc;\n}, {});\nvar sync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n var step = steps[key];\n acc[key] = function (process, keepAlive, immediate) {\n if (keepAlive === void 0) {\n keepAlive = false;\n }\n if (immediate === void 0) {\n immediate = false;\n }\n if (!runNextFrame) startLoop();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n}, {});\nvar cancelSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = steps[key].cancel;\n return acc;\n}, {});\nvar flushSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = function () {\n return steps[key].process(frame);\n };\n return acc;\n}, {});\nvar processStep = function (stepId) {\n return steps[stepId].process(frame);\n};\nvar processFrame = function (timestamp) {\n runNextFrame = false;\n frame.delta = useDefaultElapsed ? defaultTimestep : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1);\n frame.timestamp = timestamp;\n isProcessing = true;\n stepsOrder.forEach(processStep);\n isProcessing = false;\n if (runNextFrame) {\n useDefaultElapsed = false;\n onNextFrame(processFrame);\n }\n};\nvar startLoop = function () {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!isProcessing) onNextFrame(processFrame);\n};\nvar getFrameData = function () {\n return frame;\n};\n\nexport default sync;\nexport { cancelSync, flushSync, getFrameData };\n","function createRenderStep(runNextFrame) {\n var toRun = [];\n var toRunNextFrame = [];\n var numToRun = 0;\n var isProcessing = false;\n var toKeepAlive = new WeakSet();\n var step = {\n schedule: function (callback, keepAlive, immediate) {\n if (keepAlive === void 0) { keepAlive = false; }\n if (immediate === void 0) { immediate = false; }\n var addToCurrentFrame = immediate && isProcessing;\n var buffer = addToCurrentFrame ? toRun : toRunNextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (buffer.indexOf(callback) === -1) {\n buffer.push(callback);\n if (addToCurrentFrame && isProcessing)\n numToRun = toRun.length;\n }\n return callback;\n },\n cancel: function (callback) {\n var index = toRunNextFrame.indexOf(callback);\n if (index !== -1)\n toRunNextFrame.splice(index, 1);\n toKeepAlive.delete(callback);\n },\n process: function (frameData) {\n var _a;\n isProcessing = true;\n _a = [toRunNextFrame, toRun], toRun = _a[0], toRunNextFrame = _a[1];\n toRunNextFrame.length = 0;\n numToRun = toRun.length;\n if (numToRun) {\n for (var i = 0; i < numToRun; i++) {\n var callback = toRun[i];\n callback(frameData);\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n }\n }\n isProcessing = false;\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\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}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","\"use strict\";\n\nvar removeHash = function removeHash(hex) {\n return hex.charAt(0) === '#' ? hex.slice(1) : hex;\n};\n\nvar parseHex = function parseHex(nakedHex) {\n var isShort = nakedHex.length === 3 || nakedHex.length === 4;\n var twoDigitHexR = isShort ? \"\".concat(nakedHex.slice(0, 1)).concat(nakedHex.slice(0, 1)) : nakedHex.slice(0, 2);\n var twoDigitHexG = isShort ? \"\".concat(nakedHex.slice(1, 2)).concat(nakedHex.slice(1, 2)) : nakedHex.slice(2, 4);\n var twoDigitHexB = isShort ? \"\".concat(nakedHex.slice(2, 3)).concat(nakedHex.slice(2, 3)) : nakedHex.slice(4, 6);\n var twoDigitHexA = (isShort ? \"\".concat(nakedHex.slice(3, 4)).concat(nakedHex.slice(3, 4)) : nakedHex.slice(6, 8)) || 'ff'; // const numericA = +((parseInt(a, 16) / 255).toFixed(2));\n\n return {\n r: twoDigitHexR,\n g: twoDigitHexG,\n b: twoDigitHexB,\n a: twoDigitHexA\n };\n};\n\nvar hexToDecimal = function hexToDecimal(hex) {\n return parseInt(hex, 16);\n};\n\nvar hexesToDecimals = function hexesToDecimals(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b,\n a = _ref.a;\n return {\n r: hexToDecimal(r),\n g: hexToDecimal(g),\n b: hexToDecimal(b),\n a: +(hexToDecimal(a) / 255).toFixed(2)\n };\n};\n\nvar isNumeric = function isNumeric(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}; // eslint-disable-line no-restricted-globals, max-len\n\n\nvar formatRgb = function formatRgb(decimalObject, parameterA) {\n var r = decimalObject.r,\n g = decimalObject.g,\n b = decimalObject.b,\n parsedA = decimalObject.a;\n var a = isNumeric(parameterA) ? parameterA : parsedA;\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(a, \")\");\n};\n/**\n * Turns an old-fashioned css hex color value into a rgb color value.\n *\n * If you specify an alpha value, you'll get a rgba() value instead.\n *\n * @param The hex value to convert. ('123456'. '#123456', ''123', '#123')\n * @param An alpha value to apply. (optional) ('0.5', '0.25')\n * @return An rgb or rgba value. ('rgb(11, 22, 33)'. 'rgba(11, 22, 33, 0.5)')\n */\n\n\nvar hexToRgba = function hexToRgba(hex, a) {\n var hashlessHex = removeHash(hex);\n var hexObject = parseHex(hashlessHex);\n var decimalObject = hexesToDecimals(hexObject);\n return formatRgb(decimalObject, a);\n};\n\nmodule.exports = hexToRgba;","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","module.exports = require(\"core-js-pure/stable/object/keys\");","module.exports = require(\"core-js-pure/stable/instance/includes\");","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/* eslint-disable */\n;(function(root, factory) {\n if (typeof define === 'function' && define.amd) { // AMD\n define(['./blockly'], factory);\n } else if (typeof exports === 'object') { // Node.js\n module.exports = factory(require('./blockly'));\n } else { // Browser\n root.Blockly = factory(root.Blockly);\n }\n}(this, function(Blockly) {\n/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Blockly core module for the browser. It includes blockly.js\n * and adds a helper method for setting the locale.\n */\n\n/* eslint-disable */\n'use strict';\n\n// Add a helper method to set the Blockly locale.\nBlockly.setLocale = function (locale) {\n Object.keys(locale).forEach(function (k) {\n Blockly.Msg[k] = locale[k];\n });\n};\n\nreturn Blockly;\n})); \n","module.exports = true;\n","module.exports = require(\"core-js-pure/stable/array/from\");","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","module.exports = require(\"core-js-pure/stable/json/stringify\");","module.exports = {};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import _Array$isArray from \"@babel/runtime-corejs3/core-js/array/is-array\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (_Array$isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","module.exports = require(\"core-js-pure/stable/instance/trim\");","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import _Array$isArray from \"@babel/runtime-corejs3/core-js/array/is-array\";\nexport default function _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _getIteratorMethod from \"@babel/runtime-corejs3/core-js/get-iterator-method\";\nexport default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof _Symbol !== \"undefined\" && _getIteratorMethod(arr) || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_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.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","const DOMTokenListMock = () => []\n\nDOMTokenListMock.remove = () => {}\nDOMTokenListMock.value = ''\n\nexport default DOMTokenListMock\n","import DOMTokenListMock from './DOMTokenListMock'\n\nconst ElementMock = () => ({\n addEventListener: () => {},\n appendChild: () => new ElementMock(),\n classList: DOMTokenListMock,\n querySelector: () => null,\n querySelectorAll: () => [],\n removeChild: () => new ElementMock(),\n removeEventListener: () => {},\n setAttribute: () => {},\n style: {},\n})\n\nexport default ElementMock\n","import ElementMock from './ElementMock'\n\nconst documentMock = {\n activeElement: null,\n body: new ElementMock(),\n createElement: () => new ElementMock(),\n documentElement: new ElementMock(),\n getElementById: () => null,\n hasFocus: () => false,\n lang: '',\n removeEventListener: () => {},\n}\n\nexport default documentMock\n","function MutationObserverMock() {\n return {\n disconnect: () => {},\n observe: () => {},\n }\n}\n\nexport default MutationObserverMock\n","import documentMock from './documentMock'\nimport DOMTokenListMock from './DOMTokenListMock'\nimport ElementMock from './ElementMock'\nimport MutationObserverMock from './MutationObserverMock'\n\n/**\n * The Web API is not available for those consumers that render React on the server.\n *\n * Using these exports in place of a reference to the respective browser globals\n * preserves the ability for consumers to render OliveReact on the server, substituting\n * alternatives in environments where those globals are not available.\n *\n * We make it our practice to import from this module all Web API globals that we use\n * in our components. Doing so also provides us the ability to subsitute mocks for browser\n * globals when we are in a test environment.\n */\n\nconst inBrowser = typeof window !== 'undefined' // eslint-disable-line no-undef\nconst inTestEnv = typeof __TEST__ !== 'undefined' && __TEST__ === true\n\nconst globalWindow =\n inBrowser || inTestEnv\n ? window // eslint-disable-line no-undef\n : null\n\nconst DOMTokenList =\n globalWindow && typeof globalWindow.DOMTokenList !== 'undefined'\n ? globalWindow.DOMTokenList\n : DOMTokenListMock\n\nconst Element =\n globalWindow && typeof globalWindow.Element !== 'undefined'\n ? globalWindow.Element\n : ElementMock\n\nconst document =\n globalWindow && typeof globalWindow.document !== 'undefined'\n ? globalWindow.document\n : documentMock\n\nconst MutationObserver =\n globalWindow && typeof globalWindow.MutationObserver !== 'undefined'\n ? globalWindow.MutationObserver\n : MutationObserverMock\n\nexport { DOMTokenList, Element, document, MutationObserver }\n","const colors = {\n semanticBlack: {\n 100: '#000000',\n },\n semanticBlue: {\n 10: '#f0f4ff',\n 20: '#d0d9ff',\n 30: '#a7b9ff',\n 40: '#81a0ff',\n 50: '#5b8bff',\n 60: '#0069ec',\n 70: '#005cd3',\n 80: '#01439c',\n 90: '#002965',\n 100: '#00163f',\n },\n semanticCoolRed: {\n 10: '#fff0fc',\n 20: '#f9d0e6',\n 30: '#ffa9ce',\n 40: '#f580a9',\n 50: '#f45a85',\n 60: '#d42953',\n 70: '#bd2349',\n 80: '#8c1634',\n 90: '#5a0a1e',\n 100: '#380410',\n },\n semanticGreen: {\n 10: '#d2ffdf',\n 20: '#5cf999',\n 30: '#13e280',\n 40: '#11bc69',\n 50: '#0ba65c',\n 60: '#068146',\n 70: '#04723e',\n 80: '#02542c',\n 90: '#023419',\n 100: '#001f0c',\n },\n semanticNeutral: {\n 10: '#f4f4f6',\n 20: '#d9d9e0',\n 30: '#bcbbc8',\n 40: '#a4a2b4',\n 50: '#908da4',\n 60: '#706d88',\n 70: '#63607c',\n 80: '#48455e',\n 90: '#2c2a3b',\n 100: '#191823',\n fade: {\n 5: 'rgba(25, 24, 35, 0.05)',\n 10: 'rgba(25, 24, 35, 0.10)',\n 15: 'rgba(25, 24, 35, 0.15)',\n 20: 'rgba(25, 24, 35, 0.20)',\n 25: 'rgba(25, 24, 35, 0.25)',\n 35: 'rgba(25, 24, 35, 0.35)',\n 45: 'rgba(25, 24, 35, 0.45)',\n 60: 'rgba(25, 24, 35, 0.60)',\n 75: 'rgba(25, 24, 35, 0.75)',\n 90: 'rgba(25, 24, 35, 0.90)',\n },\n },\n warmGray: {\n 10: '#f7f6f7',\n },\n semanticWhite: {\n 100: '#ffffff',\n fade: {\n 5: 'rgba(255, 255, 255, 0.05)',\n 10: 'rgba(255, 255, 255, 0.1)',\n 15: 'rgba(255, 255, 255, 0.15)',\n 25: 'rgba(255, 255, 255, 0.25)',\n 35: 'rgba(255, 255, 255, 0.35)',\n 45: 'rgba(255, 255, 255, 0.45)',\n 55: 'rgba(255, 255, 255, 0.55)',\n 70: 'rgba(255, 255, 255, 0.7)',\n 85: 'rgba(255, 255, 255, 0.85)',\n 90: 'rgba(255, 255, 255, 0.90)',\n },\n },\n extendedAqua: {\n 10: '#e5f9ff',\n 20: '#81e9ff',\n 30: '#00cfe9',\n 40: '#00b4cc',\n 50: '#009eb3',\n 60: '#008295',\n 70: '#006f83',\n 80: '#00505c',\n 90: '#003139',\n 100: '#001d22',\n },\n extendedFuchsia: {\n 10: '#fff0f5',\n 20: '#ffcddf',\n 30: '#ff9fc6',\n 40: '#ff74b2',\n 50: '#ff42a3',\n 60: '#e3008a',\n 70: '#c50076',\n 80: '#8f0054',\n 90: '#5c0034',\n 100: '#39001f',\n },\n extendedIndigo: {\n 10: '#f4f3ff',\n 20: '#dbd6fd',\n 30: '#bdb4fc',\n 40: '#a596fb',\n 50: '#917efa',\n 60: '#795bf8',\n 70: '#683ef7',\n 80: '#4b12ce',\n 90: '#2e0987',\n 100: '#1a0356',\n },\n extendedMagenta: {\n 10: '#fcf0fe',\n 20: '#f5cdfd',\n 30: '#eca1fc',\n 40: '#e777fa',\n 50: '#e349f9',\n 60: '#c523da',\n 70: '#ab19bf',\n 80: '#7c1089',\n 90: '#4f0758',\n 100: '#310237',\n },\n extendedOrchid: {\n 10: '#f6f2ff',\n 20: '#e0d4ff',\n 30: '#c9afff',\n 40: '#b78fff',\n 50: '#a972ff',\n 60: '#9845ff',\n 70: '#8e06ff',\n 80: '#6600bb',\n 90: '#400079',\n 100: '#27004d',\n },\n extendedTeal: {\n 10: '#d2fffd',\n 20: '#5eede7',\n 30: '#19d7cf',\n 40: '#0bb7b0',\n 50: '#04a29a',\n 60: '#01857f',\n 70: '#02726e',\n 80: '#02504d',\n 90: '#003330',\n 100: '#001d1c',\n },\n extendedWarmRed: {\n 10: '#fff0f1',\n 20: '#ffc9c7',\n 30: '#fea4a1',\n 40: '#ff7c76',\n 50: '#ff5348',\n 60: '#e72501',\n 70: '#c81d01',\n 80: '#911300',\n 90: '#5d0900',\n 100: '#3a0300',\n },\n extendedYellow: {\n 10: '#fff7c4',\n 20: '#ffd651',\n 30: '#f0b300',\n 40: '#df9b01',\n 50: '#c98400',\n 60: '#ac6600',\n 70: '#96530e',\n 80: '#6f3b0d',\n 90: '#4a2004',\n 100: '#300f02',\n },\n} as const\n\nexport default colors\n","const font = {\n fontSize: {\n 5: '10px',\n 10: '12px',\n 20: '14px',\n 30: '16px',\n 40: '18px',\n 50: '20px',\n 60: '24px',\n 70: '28px',\n 80: '32px',\n 90: '40px',\n 100: '48px',\n 110: '56px',\n 120: '64px',\n },\n fontWeight: {\n 200: 200,\n 400: 400,\n 500: 500,\n 600: 600,\n 700: 700,\n },\n lineHeight: {\n small: '1.25',\n large: '1.5',\n },\n fontFamily:\n '\"DS Indigo\", DSIndigo, \"Neue Haas Grotesk\", NeueHaasGrotesk, Helvetica, Arial, sans-serif',\n} as const\n\nexport default font\n","import { inkColors, inkTypography } from './foundations'\n\nconst fontColorTokens = {\n fontColorDefault: inkColors.semanticNeutral.fade[90],\n fontColorInverse: inkColors.semanticWhite[100],\n fontColorSubtle: inkColors.semanticNeutral.fade[60],\n fontColorSubtleInverse: inkColors.semanticWhite.fade[70],\n fontColorDisabled: inkColors.semanticNeutral.fade[25],\n fontColorLink: inkColors.semanticBlue[60],\n fontColorLinkSubtle: inkColors.semanticNeutral.fade[90],\n fontColorLinkHover: inkColors.semanticBlue[70],\n fontColorLinkActive: inkColors.semanticBlue[80],\n fontColorLinkVisited: inkColors.semanticBlue[100],\n fontColorLinkVisitedSubtle: inkColors.semanticNeutral.fade[60],\n fontColorSuccess: inkColors.semanticGreen[60],\n fontColorError: inkColors.semanticCoolRed[60],\n fontColorActive: inkColors.semanticBlue[60],\n}\n\nconst fontTypeTokens = {\n fontDetailXS: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[5],\n fontWeight: inkTypography.fontWeight[400],\n lineHeight: inkTypography.lineHeight.large,\n },\n fontDetailS: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[10],\n fontWeight: inkTypography.fontWeight[400],\n lineHeight: inkTypography.lineHeight.large,\n },\n fontBodyM: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[30],\n fontWeight: inkTypography.fontWeight[400],\n lineHeight: inkTypography.lineHeight.large,\n },\n fontBodyL: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[50],\n fontWeight: inkTypography.fontWeight[400],\n lineHeight: inkTypography.lineHeight.large,\n },\n fontBodyXL: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[60],\n fontWeight: inkTypography.fontWeight[400],\n lineHeight: inkTypography.lineHeight.small,\n },\n fontHeadingXXS: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[30],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.small,\n },\n fontHeadingXS: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[50],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.small,\n },\n fontHeadingS: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[60],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.small,\n },\n fontHeadingM: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[80],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.small,\n },\n fontDisplayXS: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[90],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.small,\n },\n fontDisplayS: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[100],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.small,\n },\n fontDisplayM: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[110],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.small,\n },\n fontDisplayL: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[120],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.small,\n },\n fontButton: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[30],\n fontWeight: inkTypography.fontWeight[500],\n lineHeight: inkTypography.lineHeight.large,\n },\n fontTab: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[30],\n fontWeight: inkTypography.fontWeight[500],\n lineHeight: inkTypography.lineHeight.large,\n },\n fontLink: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[30],\n fontWeight: inkTypography.fontWeight[400],\n lineHeight: inkTypography.lineHeight.large,\n textDecoration: 'underline',\n },\n fontBadge: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[10],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.large,\n },\n fontSectionHeadline: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[10],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.large,\n },\n fontTimestamp: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[10],\n fontWeight: inkTypography.fontWeight[600],\n lineHeight: inkTypography.lineHeight.large,\n },\n fontElementLabel: {\n fontFamily: inkTypography.fontFamily,\n fontSize: inkTypography.fontSize[30],\n fontWeight: inkTypography.fontWeight[500],\n lineHeight: inkTypography.lineHeight.large,\n },\n}\n\nexport default {\n ...fontColorTokens,\n ...fontTypeTokens,\n}\n","import { inkColors } from './foundations'\n\nconst borders = {\n borderColorSubtle: inkColors.semanticNeutral.fade[15],\n borderColorSubtleInverse: inkColors.semanticWhite.fade[15],\n borderColorDefault: inkColors.semanticNeutral.fade[60],\n borderColorEmphasis: inkColors.semanticNeutral.fade[90],\n}\n\nexport default borders\n","import colors from '../../Common/colors'\nimport { CSSObject } from '@emotion/core'\nimport { inkTypographyTokens, inkBorderTokens } from '@ds/tokens'\n\nconst footerBackgroundColor = colors.white\nconst textColor = colors.gray9\nconst linkHoverColor = colors.black\nconst linkSeparatorBarColor = colors.gray5\nconst footerBorderColor = linkSeparatorBarColor\nconst langTriggerButtonColor = colors.gray9\nconst visitedColor = colors.DocuSignBlue\nconst focusOutlineColor = visitedColor\nconst phoneFooterRowHeight = 44\n\nconst footerContainerCSS: (isInk: boolean) => CSSObject = (isInk) => {\n return {\n label: 'FOOTER_CONTAINER',\n backgroundColor: footerBackgroundColor,\n borderTop: `1px solid ${footerBorderColor}`,\n lineHeight: '12px',\n paddingLeft: 24,\n paddingRight: 24,\n fontSize: 10,\n color: textColor,\n overflow: 'hidden',\n ...(isInk && {\n fontFamily: inkTypographyTokens.fontBodyM.fontFamily,\n color: inkTypographyTokens.fontColorDefault,\n }),\n }\n}\n\nconst footerMainCSS: CSSObject = {\n alignItems: 'center',\n display: 'flex',\n}\n\nconst footerMainRowExtendedCSS: CSSObject = {\n ...footerMainCSS,\n label: 'FOOTER_MAIN_ROW',\n justifyContent: 'space-between',\n margin: '10px 0',\n}\n\nconst footerMainRowWCenteredCSS: CSSObject = {\n ...footerMainCSS,\n label: 'FOOTER_MAIN_ROW_NO_LOGO',\n margin: '8px 0',\n}\n\nconst footerTopBottomRowCSS: CSSObject = {\n display: 'flex',\n}\n\nconst footerTopRowCSS: CSSObject = {\n label: 'FOOTER_TOP_ROW',\n ...footerTopBottomRowCSS,\n margin: '10px 0',\n}\n\nconst footerBottomRowCSS: CSSObject = {\n label: 'FOOTER_BOTTOM_ROW',\n ...footerTopBottomRowCSS,\n margin: '10px 0',\n}\n\nconst footerLinkListCSS: (isInk: boolean) => CSSObject = (isInk) => {\n return {\n label: 'FOOTER_LINK_LIST',\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n\n /* seperator bar */\n '& [data-link] + [data-link]': {\n marginLeft: '8px',\n },\n\n '& [data-link]:after': {\n content: '\"|\"',\n marginLeft: '8px',\n ...(isInk && {\n color: inkBorderTokens.borderColorSubtle,\n }),\n },\n\n '& [data-link]:last-child:after': {\n content: 'none',\n },\n }\n}\n\nconst footerLinkListMobileCSS: CSSObject = {\n label: 'FOOTER_MOBILE_LINKS',\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n\n /* seperator bar */\n '& [data-link]': {\n marginRight: '8px',\n },\n}\n\nconst footerSeperatorCSS: CSSObject = {\n borderLeft: `1px solid ${linkSeparatorBarColor}`,\n paddingLeft: '8px',\n marginLeft: '8px',\n whiteSpace: 'nowrap',\n}\n\nconst footerLogoCSS: CSSObject = {\n label: 'FOOTER_LOGO',\n display: 'flex',\n whiteSpace: 'nowrap',\n\n '& span': {\n display: 'block',\n },\n}\n\nconst footerLogoSvgCSS: (isInk: boolean) => CSSObject = (isInk) => {\n return {\n label: 'FOOTER_LOGO_SVG',\n marginTop: isInk ? '-1.5px' : '-1px',\n marginLeft: '3px',\n\n '& svg': {\n maxHeight: '16px',\n width: '50px',\n },\n }\n}\n\nconst footerMenuTriggerButtonCSS: CSSObject = {\n label: 'FOOTER_LANG_SELECT_BUTTON',\n border: 'none',\n background: 'none',\n fontSize: '10px',\n color: langTriggerButtonColor,\n cursor: 'pointer',\n marginRight: '10px',\n padding: 0,\n '&:focus': {\n outlineOffset: 2,\n outline: `${focusOutlineColor} solid 2px`,\n },\n '& div': {\n display: 'flex',\n },\n}\n\nconst footerMenuTriggerInkButtonCSS: CSSObject = {\n label: 'FOOTER_LANG_SELECT_INK_BUTTON',\n '& button': {\n display: 'flex',\n fontSize: '10px',\n lineHeight: '12px',\n marginRight: '10px',\n minHeight: 'inherit',\n padding: '0 0 0 6px',\n '& span:nth-of-type(2)': {\n marginTop: '-2px',\n marginLeft: '2px',\n },\n },\n}\n\nconst footerLinkCSS: (isInk: boolean) => CSSObject = (isInk) => {\n return {\n label: 'FOOTER_LINK',\n color: isInk ? inkTypographyTokens.fontColorDefault : textColor,\n textDecoration: 'none',\n '&:visited': {\n color: isInk ? 'inherit' : visitedColor,\n },\n '&:hover': {\n color: isInk ? inkTypographyTokens.fontColorLinkHover : linkHoverColor,\n textDecoration: isInk ? 'none' : 'underline',\n },\n '&:focus': {\n outlineOffset: 2,\n outline: `${focusOutlineColor} solid 2px`,\n },\n ...(isInk && {\n '&:active': {\n color: inkTypographyTokens.fontColorLinkActive,\n },\n }),\n }\n}\n\nconst footerPhoneLanguageSelectorContainerCSS: CSSObject = {\n label: 'FOOTER_LANG_SELECT_PHONE_CONTAINER',\n color: 'white',\n margin: 0,\n listStyle: 'none',\n paddingLeft: 0,\n paddingRight: 0,\n}\n\nconst footerPhoneLanguageSelectorRowCSS: CSSObject = {\n label: 'FOOTER_LANG_SELECT_PHONE_ROW',\n alignItems: 'center',\n background: 'none',\n color: 'black',\n border: 0,\n borderBottom: '1px solid #e9e9e9',\n padding: '0px 32px',\n cursor: 'pointer',\n font: 'inherit',\n outline: 'none',\n width: '100%',\n display: 'flex',\n height: phoneFooterRowHeight,\n fontSize: 13,\n '&:hover': {\n backgroundColor: colors.gray2,\n fontWeight: 500,\n },\n '&:focus': {\n boxShadow: `\n 0 0 0 1px ${colors.funBlueLight} inset\n `,\n outline: 0,\n },\n}\n\nexport default {\n footerContainerCSS,\n footerMainRowExtendedCSS,\n footerMainRowWCenteredCSS,\n footerTopRowCSS,\n footerBottomRowCSS,\n footerLinkListCSS,\n footerLinkListMobileCSS,\n footerSeperatorCSS,\n footerLogoCSS,\n footerLogoSvgCSS,\n footerLinkCSS,\n footerPhoneLanguageSelectorContainerCSS,\n footerPhoneLanguageSelectorRowCSS,\n footerMenuTriggerButtonCSS,\n footerMenuTriggerInkButtonCSS,\n phoneFooterRowHeight,\n}\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","module.exports = require(\"core-js-pure/stable/set\");","function noop(any) {\n return any;\n}\n\nexport { noop };\n","import { __assign } from 'tslib';\nimport { noop } from '../noop.js';\n\n/**\n * Bounding boxes tend to be defined as top, left, right, bottom. For various operations\n * it's easier to consider each axis individually. This function returns a bounding box\n * as a map of single-axis min/max values.\n */\nfunction convertBoundingBoxToAxisBox(_a) {\n var top = _a.top, left = _a.left, right = _a.right, bottom = _a.bottom;\n return {\n x: { min: left, max: right },\n y: { min: top, max: bottom },\n };\n}\nfunction convertAxisBoxToBoundingBox(_a) {\n var x = _a.x, y = _a.y;\n return {\n top: y.min,\n bottom: y.max,\n left: x.min,\n right: x.max,\n };\n}\n/**\n * Applies a TransformPoint function to a bounding box. TransformPoint is usually a function\n * provided by Framer to allow measured points to be corrected for device scaling. This is used\n * when measuring DOM elements and DOM event points.\n */\nfunction transformBoundingBox(_a, transformPoint) {\n var top = _a.top, left = _a.left, bottom = _a.bottom, right = _a.right;\n if (transformPoint === void 0) { transformPoint = noop; }\n var topLeft = transformPoint({ x: left, y: top });\n var bottomRight = transformPoint({ x: right, y: bottom });\n return {\n top: topLeft.y,\n left: topLeft.x,\n bottom: bottomRight.y,\n right: bottomRight.x,\n };\n}\n/**\n * Create an empty axis box of zero size\n */\nfunction axisBox() {\n return { x: { min: 0, max: 1 }, y: { min: 0, max: 1 } };\n}\nfunction copyAxisBox(box) {\n return {\n x: __assign({}, box.x),\n y: __assign({}, box.y),\n };\n}\n/**\n * Create an empty box delta\n */\nvar zeroDelta = {\n translate: 0,\n scale: 1,\n origin: 0,\n originPoint: 0,\n};\nfunction delta() {\n return {\n x: __assign({}, zeroDelta),\n y: __assign({}, zeroDelta),\n };\n}\n\nexport { axisBox, convertAxisBoxToBoundingBox, convertBoundingBoxToAxisBox, copyAxisBox, delta, transformBoundingBox };\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","import _Object$create from \"@babel/runtime-corejs3/core-js/object/create\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\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}","module.exports = require(\"core-js-pure/stable/promise\");","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import _typeof from \"@babel/runtime-corejs3/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\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}","import _Reflect$construct from \"@babel/runtime-corejs3/core-js/reflect/construct\";\nimport getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = _Reflect$construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict'\n\nfunction markdownLineEnding(code) {\n return code < -2\n}\n\nmodule.exports = markdownLineEnding\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _Symbol$iterator from \"@babel/runtime-corejs3/core-js/symbol/iterator\";\nexport default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict'\n\nvar markdownSpace = require('../character/markdown-space.js')\n\nfunction spaceFactory(effects, ok, type, max) {\n var limit = max ? max - 1 : Infinity\n var size = 0\n return start\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n\nmodule.exports = spaceFactory\n","module.exports = require(\"core-js-pure/stable/instance/slice\");","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { useEffect, useRef } from 'react';\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded befor being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = useRef(value);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n var ref = useCommittedRef(fn);\n return useCallback(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}","var path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR) {\n return path[CONSTRUCTOR + 'Prototype'];\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import React from 'react'; // TODO (apparently this is a bare \"onSelect\"?)\n\nvar SelectableContext = /*#__PURE__*/React.createContext(null);\nexport var makeEventKey = function makeEventKey(eventKey, href) {\n if (href === void 0) {\n href = null;\n }\n\n if (eventKey != null) return String(eventKey);\n return href || null;\n};\nexport default SelectableContext;","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR) {\n return path[CONSTRUCTOR + 'Prototype'];\n};\n","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\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}","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","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict'\n\nmodule.exports = all\n\nvar one = require('./one')\n\nfunction all(h, parent) {\n var nodes = parent.children || []\n var length = nodes.length\n var values = []\n var index = -1\n var result\n var head\n\n while (++index < length) {\n result = one(h, nodes[index], parent)\n\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (result.value) {\n result.value = result.value.replace(/^\\s+/, '')\n }\n\n head = result.children && result.children[0]\n\n if (head && head.value) {\n head.value = head.value.replace(/^\\s+/, '')\n }\n }\n\n values = values.concat(result)\n }\n }\n\n return values\n}\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","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = require(\"core-js-pure/stable/instance/includes\");","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","'use strict'\n\nmodule.exports = u\n\nfunction u(type, props, value) {\n var node\n\n if (\n (value === null || value === undefined) &&\n (typeof props !== 'object' || Array.isArray(props))\n ) {\n value = props\n props = {}\n }\n\n node = Object.assign({type: String(type)}, props)\n\n if (Array.isArray(value)) {\n node.children = value\n } else if (value !== null && value !== undefined) {\n node.value = String(value)\n }\n\n return node\n}\n","module.exports = require(\"core-js-pure/stable/instance/find\");","module.exports = require(\"core-js-pure/stable/instance/map\");","module.exports = require(\"core-js-pure/features/symbol\");","import sync from 'framesync';\nimport { copyAxisBox } from '../../../utils/geometry/index.js';\nimport { compareByDepth } from '../../utils/compare-by-depth.js';\n\nfunction isProjecting(visualElement) {\n var isEnabled = visualElement.projection.isEnabled;\n return isEnabled || visualElement.shouldResetTransform();\n}\nfunction collectProjectingAncestors(visualElement, ancestors) {\n if (ancestors === void 0) { ancestors = []; }\n var parent = visualElement.parent;\n if (parent)\n collectProjectingAncestors(parent, ancestors);\n if (isProjecting(visualElement))\n ancestors.push(visualElement);\n return ancestors;\n}\nfunction collectProjectingChildren(visualElement) {\n var children = [];\n var addChild = function (child) {\n if (isProjecting(child))\n children.push(child);\n child.children.forEach(addChild);\n };\n visualElement.children.forEach(addChild);\n return children.sort(compareByDepth);\n}\n/**\n * Update the layoutState by measuring the DOM layout. This\n * should be called after resetting any layout-affecting transforms.\n */\nfunction updateLayoutMeasurement(visualElement) {\n if (visualElement.shouldResetTransform())\n return;\n var layoutState = visualElement.getLayoutState();\n visualElement.notifyBeforeLayoutMeasure(layoutState.layout);\n layoutState.isHydrated = true;\n layoutState.layout = visualElement.measureViewportBox();\n layoutState.layoutCorrected = copyAxisBox(layoutState.layout);\n visualElement.notifyLayoutMeasure(layoutState.layout, visualElement.prevViewportBox || layoutState.layout);\n sync.update(function () { return visualElement.rebaseProjectionTarget(); });\n}\n/**\n * Record the viewport box as it was before an expected mutation/re-render\n */\nfunction snapshotViewportBox(visualElement) {\n if (visualElement.shouldResetTransform())\n return;\n visualElement.prevViewportBox = visualElement.measureViewportBox(false);\n /**\n * Update targetBox to match the prevViewportBox. This is just to ensure\n * that targetBox is affected by scroll in the same way as the measured box\n */\n visualElement.rebaseProjectionTarget(false, visualElement.prevViewportBox);\n}\n\nexport { collectProjectingAncestors, collectProjectingChildren, snapshotViewportBox, updateLayoutMeasurement };\n","import { __spreadArray, __read } from 'tslib';\nimport sync, { flushSync } from 'framesync';\nimport { collectProjectingAncestors, updateLayoutMeasurement } from '../../../render/dom/projection/utils.js';\nimport { batchLayout, flushLayout } from '../../../render/dom/utils/batch-layout.js';\nimport { compareByDepth } from '../../../render/utils/compare-by-depth.js';\nimport { Presence } from '../types.js';\n\n/**\n * Default handlers for batching VisualElements\n */\nvar defaultHandler = {\n layoutReady: function (child) { return child.notifyLayoutReady(); },\n};\n/**\n * Create a batcher to process VisualElements\n */\nfunction createBatcher() {\n var queue = new Set();\n return {\n add: function (child) { return queue.add(child); },\n flush: function (_a) {\n var _b = _a === void 0 ? defaultHandler : _a, layoutReady = _b.layoutReady, parent = _b.parent;\n batchLayout(function (read, write) {\n var order = Array.from(queue).sort(compareByDepth);\n var ancestors = parent\n ? collectProjectingAncestors(parent)\n : [];\n write(function () {\n var allElements = __spreadArray(__spreadArray([], __read(ancestors)), __read(order));\n allElements.forEach(function (element) { return element.resetTransform(); });\n });\n read(function () {\n order.forEach(updateLayoutMeasurement);\n });\n write(function () {\n ancestors.forEach(function (element) { return element.restoreTransform(); });\n order.forEach(layoutReady);\n });\n read(function () {\n /**\n * After all children have started animating, ensure any Entering components are set to Present.\n * If we add deferred animations (set up all animations and then start them in two loops) this\n * could be moved to the start loop. But it needs to happen after all the animations configs\n * are generated in AnimateSharedLayout as this relies on presence data\n */\n order.forEach(function (child) {\n if (child.isPresent)\n child.presence = Presence.Present;\n });\n });\n write(function () {\n /**\n * Starting these animations will have queued jobs on the frame loop. In some situations,\n * like when removing an element, these will be processed too late after the DOM is manipulated,\n * leaving a flash of incorrectly-projected content. By manually flushing these jobs\n * we ensure there's no flash.\n */\n flushSync.preRender();\n flushSync.render();\n });\n read(function () {\n /**\n * Schedule a callback at the end of the following frame to assign the latest projection\n * box to the prevViewportBox snapshot. Once global batching is in place this could be run\n * synchronously. But for now it ensures that if any nested `AnimateSharedLayout` top-level\n * child attempts to calculate its previous relative position against a prevViewportBox\n * it will be against its latest projection box instead, as the snapshot is useless beyond this\n * render.\n */\n sync.postRender(function () {\n return order.forEach(assignProjectionToSnapshot);\n });\n queue.clear();\n });\n });\n // TODO: Need to find a layout-synchronous way of flushing this\n flushLayout();\n },\n };\n}\nfunction assignProjectionToSnapshot(child) {\n child.prevViewportBox = child.projection.target;\n}\n\nexport { createBatcher };\n","import { createContext } from 'react';\nimport { createBatcher } from '../components/AnimateSharedLayout/utils/batcher.js';\n\nvar SharedLayoutContext = createContext(createBatcher());\n/**\n * @internal\n */\nvar FramerTreeLayoutContext = createContext(createBatcher());\nfunction isSharedLayout(context) {\n return !!context.forceUpdate;\n}\n\nexport { FramerTreeLayoutContext, SharedLayoutContext, isSharedLayout };\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import { createContext } from 'react';\n\n/**\n * @public\n */\nvar PresenceContext = createContext(null);\n\nexport { PresenceContext };\n","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _Symbol$iterator from \"@babel/runtime-corejs3/core-js/symbol/iterator\";\nexport default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof _Symbol && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}","/* eslint-disable no-param-reassign */\nimport { LocalePolicy, NumberFormatInfo } from '../types'\nimport {\n setTelemetry,\n reportException,\n getPerformance,\n} from '../telemetry/telemetry'\n/*\n * @ds/i18nlayer - currecny format support\n */\n\nexport const currencyISOtoSymbol = {\n aed: 'د.Ø¥',\n afn: 'Ø‹',\n all: 'L',\n amd: 'Ö',\n ang: 'Æ’',\n aoa: 'Kz',\n ars: '$',\n aud: '$',\n awg: 'Æ’',\n azn: '₼',\n bam: 'KM',\n bbd: '$',\n bdt: '৳',\n bgn: 'лв',\n bhd: '.د.ب',\n bif: 'FBu',\n bmd: '$',\n bnd: '$',\n bob: '$b',\n bov: 'BOV',\n brl: 'R$',\n bsd: '$',\n // btc, 'â‚¿', // Excluding cryptocurrencies\n btn: 'Nu.',\n bwp: 'P',\n byn: 'Br',\n byr: 'Br',\n bzd: 'BZ$',\n cad: '$',\n cdf: 'FC',\n che: 'CHE',\n chf: 'CHF',\n chw: 'CHW',\n clf: 'CLF',\n clp: '$',\n cny: 'Â¥',\n cop: '$',\n cou: 'COU',\n crc: 'â‚¡',\n cuc: '$',\n cup: '₱',\n cve: '$',\n czk: 'KÄ',\n djf: 'Fdj',\n dkk: 'kr',\n dop: 'RD$',\n dzd: 'دج',\n egp: '£',\n ern: 'Nfk',\n etb: 'Br',\n // eth, 'Ξ', // Excluding cryptocurrencies\n eur: '€',\n fjd: '$',\n fkp: '£',\n gbp: '£',\n gel: '₾',\n ghs: 'GH₵',\n gip: '£',\n gmd: 'D',\n gnf: 'FG',\n gtq: 'Q',\n gyd: '$',\n hkd: '$',\n hnl: 'L',\n hrk: 'kn',\n htg: 'G',\n huf: 'Ft',\n idr: 'Rp',\n ils: '₪',\n inr: '₹',\n iqd: 'ع.د',\n irr: 'ï·¼',\n isk: 'kr',\n jmd: 'J$',\n jod: 'JD',\n jpy: 'Â¥',\n kes: 'KSh',\n kgs: 'лв',\n khr: '៛',\n kmf: 'CF',\n kpw: 'â‚©',\n krw: 'â‚©',\n kwd: 'KD',\n kyd: '$',\n kzt: '₸',\n lak: 'â‚',\n lbp: '£',\n lkr: '₨',\n lrd: '$',\n lsl: 'M',\n // ltc, 'Å', // Excluding cryptocurrencies\n lyd: 'LD',\n mad: 'MAD',\n mdl: 'lei',\n mga: 'Ar',\n mkd: 'ден',\n mmk: 'K',\n mnt: 'â‚®',\n mop: 'MOP$',\n mro: 'UM',\n mur: '₨',\n mvr: 'Rf',\n mwk: 'MK',\n mxn: '$',\n mxv: 'MXV',\n myr: 'RM',\n mzn: 'MT',\n nad: '$',\n ngn: '₦',\n nio: 'C$',\n nok: 'kr',\n npr: '₨',\n nzd: '$',\n omr: 'ï·¼',\n pab: 'B/.',\n pen: 'S/.',\n pgk: 'K',\n php: '₱',\n pkr: '₨',\n pln: 'zÅ‚',\n pyg: 'Gs',\n qar: 'ï·¼',\n ron: 'lei',\n rsd: 'Дин.',\n rub: '₽',\n rwf: 'Râ‚£',\n sar: 'ï·¼',\n sbd: '$',\n scr: '₨',\n sdg: 'ج.س.',\n sek: 'kr',\n sgd: 'S$',\n shp: '£',\n sll: 'Le',\n sos: 'S',\n srd: '$',\n ssp: '£',\n std: 'Db',\n svc: '$',\n syp: '£',\n szl: 'E',\n thb: '฿',\n tjs: 'SM',\n tmt: 'T',\n tnd: 'د.ت',\n top: 'T$',\n try: '₺',\n ttd: 'TT$',\n twd: 'NT$',\n tzs: 'TSh',\n uah: 'â‚´',\n ugx: 'USh',\n usd: '$',\n usn: '$',\n uyi: 'UYI',\n uyu: '$U',\n uzs: 'лв',\n vef: 'Bs',\n vnd: 'â‚«',\n vuv: 'VT',\n wst: 'WS$',\n xaf: 'FCFA',\n xag: 'XAG', // Silver\n xau: 'XAU', // Gold\n xba: 'XBA', // Bond Markets Units European Composite Unit (EURCO)\n xbb: 'XBB', // European Monetary Unit (E.M.U.-6)\n xbc: 'XBC', // European Unit of Account 9(E.U.A.-9)\n xbd: 'XBD', // European Unit of Account 17(E.U.A.-17)\n // xbt, 'Ƀ', // Excluding cryptocurrencies\n xcd: '$',\n xdr: 'XDR', // Special Drawing Rights (SDRs), units of account for IMF\n xof: 'CFA',\n xpd: 'XPD', // Palladium\n xpf: 'â‚£',\n xpt: 'XPT', // Platinum\n xsu: 'Sucre',\n xts: 'XTS', // Code reserved for testing purposes\n xua: 'XUA',\n xxx: 'XXX', // Denotes transaction involving no currency\n yer: 'ï·¼',\n zar: 'R',\n zmw: 'ZK',\n zwl: '$',\n}\n\nconst currencyNumberFormatInfo = {\n default: {\n positivePattern: '$n',\n negativePattern: '-$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_1_comma_234_comma_567_period_89: {\n positivePattern: '$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_space_1_period_234_period_567_comma_89: {\n positivePattern: '$ n',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n leading_1_period_234_period_567_comma_89_space_csym: {\n positivePattern: 'n $',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n leading_1_space_234_space_567_comma_89_space_csym: {\n positivePattern: 'n $',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_space_1_quote_234_quote_567_period_89: {\n positivePattern: '$ n',\n decimalSeparator: '.',\n groupSeparator: \"'\",\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_1_comma_234_comma_567: {\n positivePattern: '$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 0,\n },\n csym_space_12_comma_34_comma_567_period_89: {\n positivePattern: '$ n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 2,\n decimalDigits: 2,\n },\n csym_space_minus_12_comma_34_comma_567_period_89: {\n negativePattern: '$ -n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 2,\n decimalDigits: 2,\n },\n csym_space_1234_comma_567_period_89: {\n positivePattern: '$ n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 0,\n decimalDigits: 2,\n },\n leading_1_space_234_space_567_period_89_space_csym: {\n positivePattern: 'n $',\n decimalSeparator: '.',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_space_1_space_234_space_567_comma_89: {\n positivePattern: '$ n',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_space_1_space_234_space_567_period_89: {\n positivePattern: '$ n',\n decimalSeparator: '.',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n leading_1_space_234_space_567_comma_89_csym: {\n positivePattern: 'n$',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n leading_1_comma_234_comma_567_period_89_space_csym: {\n positivePattern: 'n $',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_1_period_234_period_567: {\n positivePattern: '$n',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 0,\n },\n csym_12_comma_34_comma_567_period_89: {\n positivePattern: '$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 2,\n decimalDigits: 2,\n },\n csym_space_1_comma_234_comma_567_period_89: {\n // Persian (fa) from CLDR\n positivePattern: '$ n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n },\n csym_1_period_234_period_567_comma_89: {\n // new by es-CO\n positivePattern: '$n',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n leading_1_quote_234_quote_567_period_89_space_csym: {\n // new by fr-ch\n positivePattern: 'n $',\n decimalSeparator: '.',\n groupSeparator: \"'\",\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_1234_comma_567_period_89: {\n // new by es-PR\n positivePattern: '$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 0,\n decimalDigits: 2,\n },\n leading_1_period_234_period_567_space_csym: {\n // new (not used)\n positivePattern: 'n $',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 0,\n },\n csym_1_space_234_space_567_comma_89: {\n // new by en-ZA, es-CR (WIN10), 'CSym_Space_1_Space_234_Space_567_Comma_89' in Win2012\n positivePattern: '$n',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n // Negative format\n opar_csym_1_comma_234_comma_567_period_89_cpar: {\n negativePattern: '($n)',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_1_comma_234_comma_567_period_89: {\n negativePattern: '-$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_space_1_period_234_period_567_comma_89: {\n negativePattern: '-$ n',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_space_minus_1_period_234_period_567_comma_89: {\n negativePattern: '$ -n',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_1_period_234_period_567_comma_89_space_csym: {\n negativePattern: '-n $',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_1_space_234_space_567_comma_89_space_csym_cpar: {\n negativePattern: '(n $)',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_1_space_234_space_567_comma_89_space_csym: {\n negativePattern: '-n $',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_1_comma_234_comma_567_period_89_space_csym: {\n negativePattern: '-n $',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_minus_1_quote_234_quote_567_period_89: {\n negativePattern: '$-n',\n decimalSeparator: '.',\n groupSeparator: \"'\",\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_1_period_234_period_567_comma_89: {\n negativePattern: '-$n',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_1_comma_234_comma_567: {\n negativePattern: '-$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 0,\n },\n opar_csym_space_1234_comma_567_period_89_cpar: {\n negativePattern: '($ n)',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 0,\n decimalDigits: 2,\n },\n csym_minus_12_comma_34_comma_567_period_89: {\n negativePattern: '$-n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_space_minus_1_space_234_space_567_comma_89: {\n negativePattern: '$ -n',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_space_minus_1_space_234_space_567_period_89: {\n negativePattern: '$ -n',\n decimalSeparator: '.',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_space_1_space_234_space_567_comma_89: {\n negativePattern: '-$ n',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_1_space_234_space_567_comma_89_csym: {\n negativePattern: '-n$',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_1_space_234_space_567_period_89_space_csym: {\n negativePattern: '-n $',\n decimalSeparator: '.',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_csym_1_period_234_period_567_cpar: {\n negativePattern: '($n)',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 0,\n },\n opar_csym_1_comma_234_comma_567_cpar: {\n negativePattern: '($n)',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 0,\n },\n csym_minus_1_comma_234_comma_567_period_89: {\n negativePattern: '$-n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_12_comma_34_comma_567_period_89: {\n negativePattern: '-$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 2,\n decimalDigits: 2,\n },\n minus_csym_space_1_comma_234_comma_567_period_89: {\n // Persian (fa) from CLDR\n negativePattern: '-$ n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_csym_space_1_period_234_period_567_comma_89_cpar: {\n // Accounting format\n negativePattern: '($ n)',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_csym_space_1_quote_234_quote_567_period_89_cpar: {\n // Accounting format\n negativePattern: '($ n)',\n decimalSeparator: '.',\n groupSeparator: \"'\",\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_csym_space_1_space_234_space_567_comma_89_cpar: {\n // Accounting format\n negativePattern: '($ n)',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_csym_space_1_space_234_space_567_period_89_cpar: {\n // Accounting format\n negativePattern: '($ n)',\n decimalSeparator: '.',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_csym_12_comma_34_comma_567_period_89_cpar: {\n // Accounting format\n negativePattern: '($n)',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 2,\n decimalDigits: 2,\n },\n opar_csym_space_12_comma_34_comma_567_period_89_cpar: {\n // Accounting format\n negativePattern: '($ n)',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 2,\n decimalDigits: 2,\n },\n opar_1_comma_234_comma_567_period_89_space_csym_cpar: {\n // Accounting format\n negativePattern: '(n $)',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_1_period_234_period_567_comma_89_space_csym_cpar: {\n // Accounting format\n negativePattern: '(n $)',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_1_space_234_space_567_comma_89_csym_cpar: {\n // Accounting format\n negativePattern: '(n$)',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_1_space_234_space_567_period_89_space_csym_cpar: {\n // Accounting format\n negativePattern: '(n $)',\n decimalSeparator: '.',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_csym_space_1_comma_234_comma_567_period_89_cpar: {\n // Accounting format\n negativePattern: '($ n)',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_1_period_234_period_567: {\n // For parity\n negativePattern: '-$n',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 0,\n },\n minus_csym_space_1_quote_234_quote_567_period_89: {\n // For parity\n negativePattern: '-$ n',\n decimalSeparator: '.',\n groupSeparator: \"'\",\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_space_1_space_234_space_567_period_89: {\n // For parity\n negativePattern: '-$ n',\n decimalSeparator: '.',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_minus_1_comma_234_comma_567: {\n // For parity\n negativePattern: '$-n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 0,\n },\n csym_minus_1_period_234_period_567: {\n // For parity\n negativePattern: '$-n',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 0,\n },\n csym_space_minus_1_quote_234_quote_567_period_89: {\n // For parity\n negativePattern: '$ -n',\n decimalSeparator: '.',\n groupSeparator: \"'\",\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_space_minus_1_comma_234_comma_567_period_89: {\n // For parity\n negativePattern: '$ -n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_space_12_comma_34_comma_567_period_89: {\n // For parity\n negativePattern: '-$ n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 2,\n decimalDigits: 2,\n },\n minus_1_period_234_period_567_space_csym: {\n // new\n negativePattern: '-n $',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 0,\n },\n csym_minus_1_space_234_space_567_comma_89: {\n // new by en-ZA\n negativePattern: '$-n',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_1_quote_234_quote_567_period_89_space_csym: {\n // new by fr-CH\n negativePattern: '-n $',\n decimalSeparator: '.',\n groupSeparator: \"'\",\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_1_comma_234_comma_567_period_89_minus: {\n // new by ar\n negativePattern: '$n-',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n },\n csym_minus_1_period_234_period_567_comma_89: {\n // new by es-AR\n negativePattern: '$-n',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n opar_csym_1_period_234_period_567_comma_89_cpar: {\n // new by es-CR\n negativePattern: '($n)',\n decimalSeparator: ',',\n groupSeparator: '.',\n groupDigits: 3,\n decimalDigits: 2,\n },\n minus_csym_1234_comma_567_period_89: {\n // new by es-pr\n negativePattern: '-$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 0,\n decimalDigits: 2,\n },\n minus_csym_1_space_234_space_567_comma_89: {\n // new by en-ZA, es-CR (Win10)\n negativePattern: '-$n',\n decimalSeparator: ',',\n groupSeparator: ' ',\n groupDigits: 3,\n decimalDigits: 2,\n },\n}\nconst currencyNoDecimalDigitsIsoCode = {\n pyg: 'pyg',\n idr: 'idr',\n isk: 'isk',\n jpy: 'jpy',\n krw: 'krw',\n bnd: 'bnd',\n myr: 'myr',\n}\nconst currency3DecimalDigitsIsoCode = {\n // bhd: 'bhd',\n // iqd: 'iqd',\n // jod: 'jod',\n // kwd: 'kwd',\n // lyd: 'lyd',\n omr: 'omr',\n // tnd: 'tnd'\n}\n\n// Currecny Support\nfunction _getCurrencySymbol(localePolicy: LocalePolicy): string {\n return currencyISOtoSymbol[localePolicy.effectiveCurrencyCode ?? ''] || '$'\n}\n\nfunction _getNumberFormatInfo(\n localePolicy: LocalePolicy,\n isPositive: boolean\n): NumberFormatInfo {\n const effectiveCurrencyFormat =\n (isPositive\n ? localePolicy.effectiveCurrencyPositiveFormat\n : localePolicy.effectiveCurrencyNegativeFormat) || 'default'\n return currencyNumberFormatInfo[effectiveCurrencyFormat]\n}\n\nfunction formatDigit(\n n: number,\n decPlaces: number,\n thouSeparator: string,\n decSeparator: string\n): string {\n let j\n if (decPlaces === 0) {\n n = Math.floor(n)\n } else {\n n = Number(n.toFixed(decPlaces))\n }\n const i = parseInt(n.toString()) + ''\n const ii = Number(i)\n j = (j = i.length) > 3 ? j % 3 : 0\n return (\n (j ? i.substr(0, j) + thouSeparator : '') +\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, '$1' + thouSeparator) +\n (decPlaces\n ? decSeparator +\n Math.abs(n - ii)\n .toFixed(decPlaces)\n .slice(2)\n : '')\n )\n}\n\nfunction formatDigit2(\n n: number,\n decPlaces: number,\n thouSeparator: string,\n decSeparator: string\n): string {\n let i, j\n if (decPlaces === 0) {\n n = Math.floor(n)\n } else {\n n = Number(n.toFixed(decPlaces))\n }\n i = parseInt(n.toString()) + ''\n const e = i.slice(-1)\n const ii = Number(i)\n i = i.substr(0, i.length - 1)\n j = (j = i.length) > 2 ? j % 2 : 0\n return (\n (j ? i.substr(0, j) + thouSeparator : '') +\n i.substr(j).replace(/(\\d{2})(?=\\d)/g, '$1' + thouSeparator) +\n e +\n (decPlaces\n ? decSeparator +\n Math.abs(n - ii)\n .toFixed(decPlaces)\n .slice(2)\n : '')\n )\n}\n\nfunction formatDigit0(\n n: number,\n decPlaces: number,\n thouSeparator: string,\n decSeparator: string\n): string {\n if (decPlaces === 0) {\n n = Math.floor(n)\n } else {\n n = Number(n.toFixed(decPlaces))\n }\n const i = parseInt(n.toString()) + ''\n const ii = Number(i)\n const s =\n i.length > 3\n ? i.substr(0, i.length - 3) + thouSeparator + i.substr(i.length - 3)\n : i\n return (\n s +\n (decPlaces\n ? decSeparator +\n Math.abs(n - ii)\n .toFixed(decPlaces)\n .slice(2)\n : '')\n )\n}\n\nfunction __formatCurrency(\n localePolicy: LocalePolicy,\n digit: number,\n isoCode: string\n): string {\n const currencySymbol = currencyISOtoSymbol[isoCode] || '$'\n let digitstr, numberInfo\n let negativePattern = ''\n let positivePattern = ''\n if (digit < 0) {\n numberInfo = _getNumberFormatInfo(localePolicy, false)\n negativePattern =\n numberInfo.negativePattern || numberInfo.positivePattern || '$$$$n'\n } else {\n numberInfo = _getNumberFormatInfo(localePolicy, true)\n positivePattern =\n numberInfo.positivePattern || numberInfo.negativePattern || '$$$$n'\n }\n const decimalDigits = _getCurrencyDecimalDigits(isoCode)\n const decimalSeparator = numberInfo.decimalSeparator\n const groupSeparator = numberInfo.groupSeparator\n if (numberInfo.groupDigits === 2) {\n digitstr = formatDigit2(\n Math.abs(digit),\n decimalDigits,\n groupSeparator,\n decimalSeparator\n )\n } else if (numberInfo.groupDigits === 0) {\n digitstr = formatDigit0(\n Math.abs(digit),\n decimalDigits,\n groupSeparator,\n decimalSeparator\n )\n } else {\n digitstr = formatDigit(\n Math.abs(digit),\n decimalDigits,\n groupSeparator,\n decimalSeparator\n )\n }\n if (digit < 0) {\n digitstr = negativePattern\n .replace('n', digitstr)\n .replace('$', currencySymbol)\n } else {\n digitstr = positivePattern\n .replace('n', digitstr)\n .replace('$', currencySymbol)\n }\n return digitstr\n}\n\nfunction _formatCurrency(\n localePolicy: LocalePolicy,\n value: number | string,\n isoCode: string,\n isLongFormat: boolean\n): string {\n isoCode = isoCode\n ? isoCode.toLowerCase()\n : localePolicy.effectiveCurrencyCode ?? ''\n if (typeof value === 'string') {\n value = Number(value.replace(/[^\\d^.^-]/gi, ''))\n }\n let formatted = __formatCurrency(localePolicy, value, isoCode)\n if (isLongFormat) {\n formatted = formatted + ' ' + isoCode.toUpperCase()\n }\n return formatted\n}\n\nfunction _formatNumber(\n localePolicy: LocalePolicy,\n value: number | string,\n decPlaces: number\n): string {\n let digit = value as number\n if (typeof value === 'string') {\n digit = Number(value.replace(/[^\\d^.^-]/gi, ''))\n }\n const numberInfo = _getNumberFormatInfo(localePolicy, true)\n let digitstr\n if (numberInfo.groupDigits === 2) {\n digitstr = formatDigit2(\n Math.abs(digit),\n decPlaces,\n numberInfo.groupSeparator,\n numberInfo.decimalSeparator\n )\n } else if (numberInfo.groupDigits === 0) {\n digitstr = formatDigit0(\n Math.abs(digit),\n decPlaces,\n numberInfo.groupSeparator,\n numberInfo.decimalSeparator\n )\n } else {\n digitstr = formatDigit(\n Math.abs(digit),\n decPlaces,\n numberInfo.groupSeparator,\n numberInfo.decimalSeparator\n )\n }\n if (digit < 0 && digitstr.indexOf('-') < 0) {\n digitstr = '-' + digitstr\n }\n return digitstr\n}\n\nfunction _parseCurrency(\n localePolicy: LocalePolicy,\n text: string\n): number | null {\n let value = text.replace(/-\\(\\)/g, '')\n const positive = value === text\n const numberInfo = _getNumberFormatInfo(localePolicy, positive)\n if (!numberInfo) return null\n const regx2Digit = new RegExp(\n '[^\\\\d' + numberInfo.decimalSeparator + ']',\n 'g'\n )\n value = value.replace(regx2Digit, '')\n value = value.replace(numberInfo.decimalSeparator.toString(), '.')\n const number = Number(value)\n return positive ? number : -number\n}\n\nfunction _getCurrencyDecimalDigits(\n isoCode: string,\n digitsFromLocale = 2\n): number {\n let result = digitsFromLocale\n if (currencyNoDecimalDigitsIsoCode[isoCode]) {\n result = 0\n }\n if (currency3DecimalDigitsIsoCode[isoCode]) {\n result = 3\n }\n\n return result\n}\n\nexport {\n getCurrencySymbol,\n getNumberFormatInfo,\n formatCurrency,\n formatNumber,\n parseCurrency,\n _getNumberFormatInfo,\n getCurrencyDecimalDigits,\n}\n\nfunction getCurrencySymbol(localePolicy: LocalePolicy): string {\n try {\n const t0 = getPerformance()\n const result = _getCurrencySymbol(localePolicy)\n setTelemetry(getCurrencySymbol.name, t0)\n return result\n } catch (ex) {\n reportException(getCurrencySymbol.name, ex)\n return ''\n }\n}\nfunction getNumberFormatInfo(\n localePolicy: LocalePolicy,\n isPositive: boolean\n): NumberFormatInfo {\n try {\n const t0 = getPerformance()\n const result = _getNumberFormatInfo(localePolicy, isPositive)\n setTelemetry(getNumberFormatInfo.name, t0)\n return result\n } catch (ex) {\n reportException(getNumberFormatInfo.name, ex)\n return {\n positivePattern: '$n',\n negativePattern: '-$n',\n decimalSeparator: '.',\n groupSeparator: ',',\n groupDigits: 3,\n decimalDigits: 2,\n }\n }\n}\nfunction formatCurrency(\n localePolicy: LocalePolicy,\n value: number | string,\n isoCode: string,\n isLongFormat: boolean\n): string {\n try {\n const t0 = getPerformance()\n const result = _formatCurrency(localePolicy, value, isoCode, isLongFormat)\n setTelemetry(formatCurrency.name, t0)\n return result\n } catch (ex) {\n reportException(formatCurrency.name, ex)\n throw ex\n }\n}\nfunction formatNumber(\n localePolicy: LocalePolicy,\n value: number | string,\n decPlaces: number\n): string {\n try {\n const t0 = getPerformance()\n const result = _formatNumber(localePolicy, value, decPlaces)\n setTelemetry(formatNumber.name, t0)\n return result\n } catch (ex) {\n reportException(formatNumber.name, ex)\n throw ex\n }\n}\nfunction parseCurrency(\n localePolicy: LocalePolicy,\n text: string\n): number | null {\n try {\n const t0 = getPerformance()\n const result = _parseCurrency(localePolicy, text)\n setTelemetry(parseCurrency.name, t0)\n return result\n } catch (ex) {\n reportException(parseCurrency.name, ex)\n throw ex\n }\n}\nfunction getCurrencyDecimalDigits(isoCode: string): number {\n try {\n const t0 = getPerformance()\n const result = _getCurrencyDecimalDigits(isoCode)\n setTelemetry(getCurrencyDecimalDigits.name, t0)\n return result\n } catch (ex) {\n reportException(getCurrencyDecimalDigits.name, ex)\n throw ex\n }\n}\n","/* eslint-disable no-param-reassign */\n/*\n * @ds/i18nlayer - date/time format data\n */\nexport interface TimezoneInfo {\n display: string\n IANA: string\n utcOffset: string\n abbrev: string\n abbrevDT: string\n name: string\n value: string\n}\n\nexport const timeZones: TimezoneInfo[] = [\n {\n // \"index\": 1,\n display: '(UTC+04:30) Kabul',\n IANA: 'Asia/Kabul',\n utcOffset: '4.5',\n abbrev: 'AFT',\n abbrevDT: 'AFDT',\n name: 'Afghanistan Standard Time',\n value: 'tz_01_afghanistan',\n },\n {\n // \"index\": 2,\n display: '(UTC-09:00) Alaska',\n IANA: 'America/Anchorage',\n utcOffset: '-9',\n abbrev: 'AKST',\n abbrevDT: 'AKDT',\n name: 'Alaskan Standard Time',\n value: 'tz_02_alaskan',\n },\n {\n // \"index\": 3,\n display: '(UTC+03:00) Kuwait, Riyadh',\n IANA: 'Asia/Riyadh',\n utcOffset: '3',\n abbrev: 'ABST',\n abbrevDT: 'ABDT',\n name: 'Arab Standard Time',\n value: 'tz_03_arab',\n },\n {\n // \"index\": 4,\n display: '(UTC+04:00) Abu Dhabi, Muscat',\n IANA: 'Asia/Dubai',\n utcOffset: '4',\n abbrev: 'ARBST',\n abbrevDT: 'ARBDT',\n name: 'Arabian Standard Time',\n value: 'tz_04_arabian',\n },\n {\n // \"index\": 5,\n display: '(UTC+03:00) Baghdad',\n IANA: 'Asia/Baghdad',\n utcOffset: '3',\n abbrev: 'ARST',\n abbrevDT: 'ARDT',\n name: 'Arabic Standard Time',\n value: 'tz_05_arabic',\n },\n {\n // \"index\": 6,\n display: '(UTC-03:00) Buenos Aires',\n IANA: 'America/Buenos_Aires',\n utcOffset: '-3',\n abbrev: 'ART',\n abbrevDT: 'ARDT',\n name: 'Argentina Standard Time',\n value: 'tz_06_argentina',\n },\n {\n // \"index\": 7,\n display: '(UTC-04:00) Atlantic Time (Canada)',\n IANA: 'America/Halifax',\n utcOffset: '-4',\n abbrev: 'AST',\n abbrevDT: 'ADT',\n name: 'Atlantic Standard Time',\n value: 'tz_07_atlantic',\n },\n {\n // \"index\": 8,\n display: '(UTC+09:30) Darwin',\n IANA: 'Australia/Darwin',\n utcOffset: '9.5',\n abbrev: 'ACST',\n abbrevDT: 'ACDT',\n name: 'AUS Central Standard Time',\n value: 'tz_08_aus_central',\n },\n {\n // \"index\": 9,\n display: '(UTC+10:00) Canberra, Melbourne, Sydney',\n IANA: 'Australia/Sydney',\n utcOffset: '10',\n abbrev: 'AEST',\n abbrevDT: 'AEDT',\n name: 'AUS Eastern Standard Time',\n value: 'tz_09_aus_eastern',\n },\n {\n // \"index\": 10,\n display: '(UTC+04:00) Baku',\n IANA: 'Asia/Baku',\n utcOffset: '4',\n abbrev: 'AZT',\n abbrevDT: 'AZST',\n name: 'Azerbaijan Standard Time',\n value: 'tz_10_azerbaijan',\n },\n {\n // \"index\": 11,\n display: '(UTC-01:00) Azores',\n IANA: 'Atlantic/Azores',\n utcOffset: '-1',\n abbrev: 'AZOT',\n abbrevDT: 'AZOST',\n name: 'Azores Standard Time',\n value: 'tz_11_azores',\n },\n {\n // \"index\": 12,\n display: '(UTC+06:00) Dhaka',\n IANA: 'Asia/Dhaka',\n utcOffset: '6',\n abbrev: 'BAST',\n abbrevDT: 'BADT',\n name: 'Bangladesh Standard Time',\n value: 'tz_12_bangladesh',\n },\n {\n // \"index\": 13,\n display: '(UTC-06:00) Saskatchewan',\n IANA: 'America/Regina',\n utcOffset: '-6',\n abbrev: 'CST',\n abbrevDT: 'CDT',\n name: 'Canada Central Standard Time',\n value: 'tz_13_canada_central',\n },\n {\n // \"index\": 14,\n display: '(UTC-01:00) Cape Verde Is.',\n IANA: 'Atlantic/Cape_Verde',\n utcOffset: '-1',\n abbrev: 'CVT',\n abbrevDT: 'CVDT',\n name: 'Cape Verde Standard Time',\n value: 'tz_14_cape_verde',\n },\n {\n // \"index\": 15,\n display: '(UTC+04:00) Yerevan',\n IANA: 'Asia/Yerevan',\n utcOffset: '4',\n abbrev: 'CAUST',\n abbrevDT: 'CAUDT',\n name: 'Caucasus Standard Time',\n value: 'tz_15_caucasus',\n },\n {\n // \"index\": 16,\n display: '(UTC+09:30) Adelaide',\n IANA: 'Australia/Adelaide',\n utcOffset: '9.5',\n abbrev: 'ACST',\n abbrevDT: 'ACDT',\n name: 'Cen. Australia Standard Time',\n value: 'tz_16_central_australia',\n },\n {\n // \"index\": 17,\n display: '(UTC-06:00) Central America',\n IANA: 'America/Guatemala',\n utcOffset: '-6',\n abbrev: 'CST',\n abbrevDT: 'CDT',\n name: 'Central America Standard Time',\n value: 'tz_17_central_america',\n },\n {\n // \"index\": 18,\n display: '(UTC+06:00) Astana',\n IANA: 'Asia/Almaty',\n utcOffset: '6',\n abbrev: 'BTT',\n abbrevDT: 'BTTDT',\n name: 'Central Asia Standard Time',\n value: 'tz_18_central_asia',\n },\n {\n // \"index\": 19,\n display: '(UTC-04:00) Cuiaba',\n IANA: 'America/Cuiaba',\n utcOffset: '-4',\n abbrev: 'AMT',\n abbrevDT: 'AMST',\n name: 'Central Brazilian Standard Time',\n value: 'tz_19_central_brazilian',\n },\n {\n // \"index\": 20,\n display: '(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague',\n IANA: 'Europe/Budapest',\n utcOffset: '1',\n abbrev: 'CET',\n abbrevDT: 'CEST',\n name: 'Central Europe Standard Time',\n value: 'tz_20_central_europe',\n },\n {\n // \"index\": 21,\n display: '(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb',\n IANA: 'Europe/Warsaw',\n utcOffset: '1',\n abbrev: 'CET',\n abbrevDT: 'CEST',\n name: 'Central European Standard Time',\n value: 'tz_21_central_european',\n },\n {\n // \"index\": 22,\n display: '(UTC+11:00) Solomon Is., New Caledonia',\n IANA: 'Pacific/Guadalcanal',\n utcOffset: '11',\n abbrev: 'SBT',\n abbrevDT: 'SBDT',\n name: 'Central Pacific Standard Time',\n value: 'tz_22_central_pacific',\n },\n {\n // \"index\": 23,\n display: '(UTC-06:00) Central Time (US & Canada)',\n IANA: 'America/Chicago',\n utcOffset: '-6',\n abbrev: 'CST',\n abbrevDT: 'CDT',\n name: 'Central Standard Time',\n value: 'tz_23_central',\n },\n {\n // \"index\": 24,\n display: '(UTC-06:00) Guadalajara, Mexico City, Monterrey',\n IANA: 'America/Mexico_City',\n utcOffset: '-6',\n abbrev: 'CST',\n abbrevDT: 'CDT',\n name: 'Central Standard Time (Mexico)',\n value: 'tz_24_central_mexico',\n },\n {\n // \"index\": 25,\n display: '(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi',\n IANA: 'Asia/Shanghai',\n utcOffset: '8',\n abbrev: 'CST',\n abbrevDT: 'CDT',\n name: 'China Standard Time',\n value: 'tz_25_china',\n },\n {\n // \"index\": 26,\n display: '(UTC-12:00) International Date Line West',\n IANA: 'Etc/GMT+12',\n utcOffset: '-12',\n abbrev: 'BIT',\n abbrevDT: 'BITDT',\n name: 'Dateline Standard Time',\n value: 'tz_26_dateline',\n },\n {\n // \"index\": 27,\n display: '(UTC+03:00) Nairobi',\n IANA: 'Africa/Nairobi',\n utcOffset: '3',\n abbrev: 'EAT',\n abbrevDT: 'EADT',\n name: 'E. Africa Standard Time',\n value: 'tz_27_east_africa',\n },\n {\n // \"index\": 28,\n display: '(UTC+10:00) Brisbane',\n IANA: 'Australia/Brisbane',\n utcOffset: '10',\n abbrev: 'AEST',\n abbrevDT: 'AEDT',\n name: 'E. Australia Standard Time',\n value: 'tz_28_east_australia',\n },\n {\n // \"index\": 29,\n display: '(UTC+03:00) Minsk',\n IANA: 'Europe/Minsk',\n utcOffset: '3',\n abbrev: 'FET',\n abbrevDT: 'FEDT',\n name: 'Belarus Standard Time',\n value: 'tz_29_east_europe',\n },\n {\n // \"index\": 30,\n display: '(UTC-03:00) Brasilia',\n IANA: 'America/Sao_Paulo',\n utcOffset: '-3',\n abbrev: 'BRT',\n abbrevDT: 'BRST',\n name: 'E. South America Standard Time',\n value: 'tz_30_east_south_america',\n },\n {\n // \"index\": 31,\n display: '(UTC-05:00) Eastern Time (US & Canada)',\n IANA: 'America/New_York',\n utcOffset: '-5',\n abbrev: 'EST',\n abbrevDT: 'EDT',\n name: 'Eastern Standard Time',\n value: 'tz_31_eastern',\n },\n {\n // \"index\": 32,\n display: '(UTC+02:00) Cairo',\n IANA: 'Africa/Cairo',\n utcOffset: '2',\n abbrev: 'EET',\n abbrevDT: 'EEDT',\n name: 'Egypt Standard Time',\n value: 'tz_32_egypt',\n },\n {\n // \"index\": 33,\n display: '(UTC+05:00) Ekaterinburg',\n IANA: 'Asia/Yekaterinburg',\n utcOffset: '5',\n abbrev: 'YEKT',\n abbrevDT: 'YEKT',\n name: 'Ekaterinburg Standard Time',\n value: 'tz_33_ekaterinburg',\n },\n {\n // \"index\": 34,\n display: '(UTC+12:00) Fiji',\n IANA: 'Pacific/Fiji',\n utcOffset: '12',\n abbrev: 'FJT',\n abbrevDT: 'FJDT',\n name: 'Fiji Standard Time',\n value: 'tz_34_fiji',\n },\n {\n // \"index\": 35,\n display: '(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',\n IANA: 'Europe/Kiev',\n utcOffset: '2',\n abbrev: 'EET',\n abbrevDT: 'EEDT',\n name: 'FLE Standard Time',\n value: 'tz_35_fli',\n },\n {\n // \"index\": 36,\n display: '(UTC+04:00) Tbilisi',\n IANA: 'Asia/Tbilisi',\n utcOffset: '4',\n abbrev: 'GET',\n abbrevDT: 'GEDT',\n name: 'Georgian Standard Time',\n value: 'tz_36_georgian',\n },\n {\n // \"index\": 37,\n display: '(UTC+00:00) Dublin, Edinburgh, Lisbon, London',\n IANA: 'Europe/London',\n utcOffset: '0',\n abbrev: 'GMT',\n abbrevDT: 'BST',\n name: 'GMT Standard Time',\n value: 'tz_37_gmt',\n },\n {\n // \"index\": 38,\n display: '(UTC-03:00) Greenland',\n IANA: 'America/Godthab',\n utcOffset: '-3',\n abbrev: 'GNST',\n abbrevDT: 'GNDT',\n name: 'Greenland Standard Time',\n value: 'tz_38_greenland',\n },\n {\n // \"index\": 39,\n display: '(UTC+00:00) Monrovia, Reykjavik',\n IANA: 'Atlantic/Reykjavik',\n utcOffset: '0',\n abbrev: 'GMT',\n abbrevDT: 'GDT',\n name: 'Greenwich Standard Time',\n value: 'tz_39_greenwich',\n },\n {\n // \"index\": 40,\n display: '(UTC+02:00) Athens, Bucharest',\n IANA: 'Europe/Bucharest',\n utcOffset: '2',\n abbrev: 'EET',\n abbrevDT: 'EEDT',\n name: 'GTB Standard Time',\n value: 'tz_40_gtb',\n },\n {\n // \"index\": 41,\n display: '(UTC-10:00) Hawaii',\n IANA: 'Pacific/Honolulu',\n utcOffset: '-10',\n abbrev: 'HAST',\n abbrevDT: 'HADT',\n name: 'Hawaiian Standard Time',\n value: 'tz_41_hawaiian',\n },\n {\n // \"index\": 42,\n display: '(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi',\n IANA: 'Asia/Calcutta',\n utcOffset: '5.5',\n abbrev: 'IST',\n abbrevDT: 'IDT',\n name: 'India Standard Time',\n value: 'tz_42_india',\n },\n {\n // \"index\": 43,\n display: '(UTC+03:30) Tehran',\n IANA: 'Asia/Tehran',\n utcOffset: '3.5',\n abbrev: 'IRST',\n abbrevDT: 'IRDT',\n name: 'Iran Standard Time',\n value: 'tz_43_iran',\n },\n {\n // \"index\": 44,\n display: '(UTC+02:00) Jerusalem',\n IANA: 'Asia/Jerusalem',\n utcOffset: '2',\n abbrev: 'ISST',\n abbrevDT: 'ISDT',\n name: 'Israel Standard Time',\n value: 'tz_44_israel',\n },\n {\n // \"index\": 45,\n display: '(UTC+02:00) Amman',\n IANA: 'Asia/Amman',\n utcOffset: '2',\n abbrev: 'AST',\n abbrevDT: 'AST',\n name: 'Jordan Standard Time',\n value: 'tz_45_jordan',\n },\n {\n // \"index\": 46,\n display: '(UTC+02:00) Kaliningrad',\n IANA: 'Europe/Kaliningrad',\n utcOffset: '2',\n abbrev: 'EET',\n abbrevDT: 'EEDT',\n name: 'Kaliningrad Standard Time',\n value: 'tz_46_kaliningrad',\n },\n {\n // \"index\": 47,\n display: '(UTC+12:00) Petropavlovsk-Kamchatsky',\n IANA: 'Asia/Kamchatka',\n utcOffset: '12',\n abbrev: 'PETT',\n abbrevDT: 'PETDT',\n name: 'Kamchatka Standard Time',\n value: 'tz_47_kamchatka',\n },\n {\n // \"index\": 48,\n display: '(UTC+09:00) Seoul',\n IANA: 'Asia/Seoul',\n utcOffset: '9',\n abbrev: 'KST',\n abbrevDT: 'KDT',\n name: 'Korea Standard Time',\n value: 'tz_48_korea',\n },\n {\n // \"index\": 49,\n display: '(UTC+11:00) Magadan',\n IANA: 'Asia/Magadan',\n utcOffset: '11',\n abbrev: 'MAGT',\n abbrevDT: 'MAGDT',\n name: 'Magadan Standard Time',\n value: 'tz_49_magadan',\n },\n {\n // \"index\": 50,\n display: '(UTC+04:00) Port Louis',\n IANA: 'Indian/Mauritius',\n utcOffset: '4',\n abbrev: 'MUT',\n abbrevDT: 'MUDT',\n name: 'Mauritius Standard Time',\n value: 'tz_50_mauritius',\n },\n {\n // \"index\": 51,\n display: '(UTC-02:00) Mid-Atlantic',\n IANA: 'Etc/GMT+2',\n utcOffset: '-2',\n abbrev: 'MAST',\n abbrevDT: 'MADT',\n name: 'Mid-Atlantic Standard Time',\n value: 'tz_51_mid_atlantic',\n },\n {\n // \"index\": 52,\n display: '(UTC+02:00) Beirut',\n IANA: 'Asia/Beirut',\n utcOffset: '2',\n abbrev: 'EET',\n abbrevDT: 'EEDT',\n name: 'Middle East Standard Time',\n value: 'tz_52_middle_east',\n },\n {\n // \"index\": 53,\n display: '(UTC-03:00) Montevideo',\n IANA: 'America/Montevideo',\n utcOffset: '-3',\n abbrev: 'UYT',\n abbrevDT: 'UYDT',\n name: 'Montevideo Standard Time',\n value: 'tz_53_montevideo',\n },\n {\n // \"index\": 54,\n display: '(UTC+01:00) Casablanca',\n IANA: 'Africa/Casablanca',\n utcOffset: '0',\n abbrev: 'WET',\n abbrevDT: 'WEST',\n name: 'Morocco Standard Time',\n value: 'tz_54_morocco',\n },\n {\n // \"index\": 55,\n display: '(UTC-07:00) Mountain Time (US & Canada)',\n IANA: 'America/Denver',\n utcOffset: '-7',\n abbrev: 'MST',\n abbrevDT: 'MDT',\n name: 'Mountain Standard Time',\n value: 'tz_55_mountain',\n },\n {\n // \"index\": 56,\n display: '(UTC-07:00) Chihuahua, La Paz, Mazatlan',\n IANA: 'America/Chihuahua',\n utcOffset: '-7',\n abbrev: 'MST',\n abbrevDT: 'MDT',\n name: 'Mountain Standard Time (Mexico)',\n value: 'tz_56_mountain_mexico',\n },\n {\n // \"index\": 57,\n display: '(UTC+06:30) Yangon (Rangoon)',\n IANA: 'Asia/Rangoon',\n utcOffset: '6.5',\n abbrev: 'MMT',\n abbrevDT: 'MMDT',\n name: 'Myanmar Standard Time',\n value: 'tz_57_myanmar',\n },\n {\n // \"index\": 58,\n display: '(UTC+07:00) Novosibirsk',\n IANA: 'Asia/Novosibirsk',\n utcOffset: '7',\n abbrev: 'NCAST',\n abbrevDT: 'NCADT',\n name: 'N. Central Asia Standard Time',\n value: 'tz_58_north_central_asia',\n },\n {\n // \"index\": 59,\n display: '(UTC+02:00) Windhoek',\n IANA: 'Africa/Windhoek',\n utcOffset: '2',\n abbrev: 'NMST',\n abbrevDT: 'NMDT',\n name: 'Namibia Standard Time',\n value: 'tz_59_namibia',\n },\n {\n // \"index\": 60,\n display: '(UTC+05:45) Kathmandu',\n IANA: 'Asia/Katmandu',\n utcOffset: '5.75',\n abbrev: 'NPT',\n abbrevDT: 'NPDT',\n name: 'Nepal Standard Time',\n value: 'tz_60_nepal',\n },\n {\n // \"index\": 61,\n display: '(UTC+12:00) Auckland, Wellington',\n IANA: 'Pacific/Auckland',\n utcOffset: '12',\n abbrev: 'NZST',\n abbrevDT: 'NZDT',\n name: 'New Zealand Standard Time',\n value: 'tz_61_new_zealand',\n },\n {\n // \"index\": 62,\n display: '(UTC-03:30) Newfoundland',\n IANA: 'America/St_Johns',\n utcOffset: '-3.5',\n abbrev: 'NST',\n abbrevDT: 'NDT',\n name: 'Newfoundland Standard Time',\n value: 'tz_62_new_foundland',\n },\n {\n // \"index\": 63,\n display: '(UTC+08:00) Irkutsk',\n IANA: 'Asia/Irkutsk',\n utcOffset: '8',\n abbrev: 'IRKT',\n abbrevDT: 'IRKDT',\n name: 'North Asia East Standard Time',\n value: 'tz_63_north_asia_east',\n },\n {\n // \"index\": 64,\n display: '(UTC+07:00) Krasnoyarsk',\n IANA: 'Asia/Krasnoyarsk',\n utcOffset: '7',\n abbrev: 'KRAT',\n abbrevDT: 'KRADT',\n name: 'North Asia Standard Time',\n value: 'tz_64_north_asia',\n },\n {\n // \"index\": 65,\n display: '(UTC-04:00) Santiago',\n IANA: 'America/Santiago',\n utcOffset: '-4',\n abbrev: 'PSAST',\n abbrevDT: 'PSADT',\n name: 'Pacific SA Standard Time',\n value: 'tz_65_pacific_sa',\n },\n {\n // \"index\": 66,\n display: '(UTC-08:00) Pacific Time (US & Canada)',\n IANA: 'America/Los_Angeles',\n utcOffset: '-8',\n abbrev: 'PST',\n abbrevDT: 'PDT',\n name: 'Pacific Standard Time',\n value: 'tz_66_pacific',\n },\n {\n // \"index\": 67,\n display: '(UTC-08:00) Baja California',\n IANA: 'America/Santa_Isabel',\n utcOffset: '-8',\n abbrev: 'PST',\n abbrevDT: 'PDT',\n name: 'Pacific Standard Time (Mexico)',\n value: 'tz_67_pacific_mexico',\n },\n {\n // \"index\": 68,\n display: '(UTC+05:00) Islamabad, Karachi',\n IANA: 'Asia/Karachi',\n utcOffset: '5',\n abbrev: 'PKT',\n abbrevDT: 'PKDT',\n name: 'Pakistan Standard Time',\n value: 'tz_68_pakistan',\n },\n {\n // \"index\": 69,\n display: '(UTC-04:00) Asuncion',\n IANA: 'America/Asuncion',\n utcOffset: '-4',\n abbrev: 'PYT',\n abbrevDT: 'PYST',\n name: 'Paraguay Standard Time',\n value: 'tz_69_paraguay',\n },\n {\n // \"index\": 70,\n display: '(UTC+01:00) Brussels, Copenhagen, Madrid, Paris',\n IANA: 'Europe/Paris',\n utcOffset: '1',\n abbrev: 'CET',\n abbrevDT: 'CEST',\n name: 'Romance Standard Time',\n value: 'tz_70_romance',\n },\n {\n // \"index\": 71,\n display: '(UTC+03:00) Moscow, St. Petersburg',\n IANA: 'Europe/Moscow',\n utcOffset: '3',\n abbrev: 'MSK',\n abbrevDT: 'MSKDT',\n name: 'Russian Standard Time',\n value: 'tz_71_russian',\n },\n {\n // \"index\": 72,\n display: '(UTC-03:00) Cayenne, Fortaleza',\n IANA: 'America/Cayenne',\n utcOffset: '-3',\n abbrev: 'SAEST',\n abbrevDT: 'SAEDT',\n name: 'SA Eastern Standard Time',\n value: 'tz_72_sa_eastern',\n },\n {\n // \"index\": 73,\n display: '(UTC-05:00) Bogota, Lima, Quito, Rio Branco',\n IANA: 'America/Bogota',\n utcOffset: '-5',\n abbrev: 'SAPST',\n abbrevDT: 'SAPDT',\n name: 'SA Pacific Standard Time',\n value: 'tz_73_sa_pacific',\n },\n {\n // \"index\": 74,\n display: '(UTC-04:00) Georgetown, La Paz, Manaus, San Juan',\n IANA: 'America/La_Paz',\n utcOffset: '-4',\n abbrev: 'SAWST',\n abbrevDT: 'SAWDT',\n name: 'SA Western Standard Time',\n value: 'tz_74_sa_western',\n },\n {\n // \"index\": 75,\n display: '(UTC+13:00) Samoa',\n IANA: 'Pacific/Apia',\n utcOffset: '13',\n abbrev: 'WST',\n abbrevDT: 'WST',\n name: 'Samoa Standard Time',\n value: 'tz_75_samoa',\n },\n {\n // \"index\": 76,\n display: '(UTC+07:00) Bangkok, Hanoi, Jakarta',\n IANA: 'Asia/Bangkok',\n utcOffset: '7',\n abbrev: 'SEAST',\n abbrevDT: 'SEADT',\n name: 'SE Asia Standard Time',\n value: 'tz_76_se_asia',\n },\n {\n // \"index\": 77,\n display: '(UTC+08:00) Kuala Lumpur, Singapore',\n IANA: 'Asia/Singapore',\n utcOffset: '8',\n abbrev: 'SGT',\n abbrevDT: 'SGDT',\n name: 'Singapore Standard Time',\n value: 'tz_77_singapore',\n },\n {\n // \"index\": 78,\n display: '(UTC+02:00) Harare, Pretoria',\n IANA: 'Africa/Johannesburg',\n utcOffset: '2',\n abbrev: 'SAST',\n abbrevDT: 'SADT',\n name: 'South Africa Standard Time',\n value: 'tz_78_south_africa',\n },\n {\n // \"index\": 79,\n display: '(UTC+05:30) Sri Jayawardenepura',\n IANA: 'Asia/Colombo',\n utcOffset: '5.5',\n abbrev: 'SLT',\n abbrevDT: 'SLTDT',\n name: 'Sri Lanka Standard Time',\n value: 'tz_79_sriLanka',\n },\n {\n // \"index\": 80,\n display: '(UTC+02:00) Damascus',\n IANA: 'Asia/Damascus',\n utcOffset: '2',\n abbrev: 'EET',\n abbrevDT: 'EEDT',\n name: 'Syria Standard Time',\n value: 'tz_80_syria',\n },\n {\n // \"index\": 81,\n display: '(UTC+08:00) Taipei',\n IANA: 'Asia/Taipei',\n utcOffset: '8',\n abbrev: 'CST',\n abbrevDT: 'CST',\n name: 'Taipei Standard Time',\n value: 'tz_81_taipei',\n },\n {\n // \"index\": 82,\n display: '(UTC+10:00) Hobart',\n IANA: 'Australia/Hobart',\n utcOffset: '10',\n abbrev: 'AEST',\n abbrevDT: 'AEDT',\n name: 'Tasmania Standard Time',\n value: 'tz_82_tasmania',\n },\n {\n // \"index\": 83,\n display: '(UTC+09:00) Osaka, Sapporo, Tokyo',\n IANA: 'Asia/Tokyo',\n utcOffset: '9',\n abbrev: 'JST',\n abbrevDT: 'JDT',\n name: 'Tokyo Standard Time',\n value: 'tz_83_tokyo',\n },\n {\n // \"index\": 84,\n display: \"(UTC+13:00) Nuku'alofa\",\n IANA: 'Pacific/Tongatapu',\n utcOffset: '13',\n abbrev: 'TOT',\n abbrevDT: 'TODT',\n name: 'Tonga Standard Time',\n value: 'tz_84_tonga',\n },\n {\n // \"index\": 85,\n display: '(UTC+03:00) Istanbul',\n IANA: 'Europe/Istanbul',\n utcOffset: '3',\n abbrev: 'EET',\n abbrevDT: 'EEDT',\n name: 'Turkey Standard Time',\n value: 'tz_85_turkey',\n },\n {\n // \"index\": 86,\n display: '(UTC+08:00) Ulaanbaatar',\n IANA: 'Asia/Ulaanbaatar',\n utcOffset: '8',\n abbrev: 'ULAT',\n abbrevDT: 'ULADT',\n name: 'Ulaanbaatar Standard Time',\n value: 'tz_86_ulaanbaatar',\n },\n {\n // \"index\": 87,\n display: '(UTC-05:00) Indiana (East)',\n IANA: 'America/Indianapolis',\n utcOffset: '-5',\n abbrev: 'EST',\n abbrevDT: 'EDT',\n name: 'US Eastern Standard Time',\n value: 'tz_87_us_eastern',\n },\n {\n // \"index\": 88,\n display: '(UTC-07:00) Arizona',\n IANA: 'America/Phoenix',\n utcOffset: '-7',\n abbrev: 'MST',\n abbrevDT: 'MDT',\n name: 'US Mountain Standard Time',\n value: 'tz_88_us_mountain',\n },\n {\n // \"index\": 89,\n display: '(UTC-04:00) Caracas',\n IANA: 'America/Caracas',\n utcOffset: '-4',\n abbrev: 'VET',\n abbrevDT: 'VET',\n name: 'Venezuela Standard Time',\n value: 'tz_89_venezuela',\n },\n {\n // \"index\": 90,\n display: '(UTC+10:00) Vladivostok',\n IANA: 'Asia/Vladivostok',\n utcOffset: '10',\n abbrev: 'VLAT',\n abbrevDT: 'VLADT',\n name: 'Vladivostok Standard Time',\n value: 'tz_90_vladivostok',\n },\n {\n // \"index\": 91,\n display: '(UTC+08:00) Perth',\n IANA: 'Australia/Perth',\n utcOffset: '8',\n abbrev: 'AWST',\n abbrevDT: 'AWDT',\n name: 'W. Australia Standard Time',\n value: 'tz_91_west_australia',\n },\n {\n // \"index\": 92,\n display: '(UTC+01:00) West Central Africa',\n IANA: 'Africa/Lagos',\n utcOffset: '1',\n abbrev: 'WAT',\n abbrevDT: 'WADT',\n name: 'W. Central Africa Standard Time',\n value: 'tz_92_west_central_africa',\n },\n {\n // \"index\": 93,\n display: '(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',\n IANA: 'Europe/Berlin',\n utcOffset: '1',\n abbrev: 'CET',\n abbrevDT: 'CEST',\n name: 'W. Europe Standard Time',\n value: 'tz_93_west_europe',\n },\n {\n // \"index\": 94,\n display: '(UTC+05:00) Ashgabat, Tashkent',\n IANA: 'Asia/Tashkent',\n utcOffset: '5',\n abbrev: 'WAST',\n abbrevDT: 'WADT',\n name: 'West Asia Standard Time',\n value: 'tz_94_west_asia',\n },\n {\n // \"index\": 95,\n display: '(UTC+10:00) Guam, Port Moresby',\n IANA: 'Pacific/Port_Moresby',\n utcOffset: '10',\n abbrev: 'WPST',\n abbrevDT: 'WPDT',\n name: 'West Pacific Standard Time',\n value: 'tz_95_west_pacific',\n },\n {\n // \"index\": 96,\n display: '(UTC+09:00) Yakutsk',\n IANA: 'Asia/Yakutsk',\n utcOffset: '9',\n abbrev: 'YAKT',\n abbrevDT: 'YAKDT',\n name: 'Yakutsk Standard Time',\n value: 'tz_96_yakutsk',\n },\n]\n\nexport const timeFormats = {\n none: '',\n hhmm: 'HH:mm',\n hmm: 'h:mm',\n hhmmss: 'HH:mm:ss',\n hmmss: 'h:mm:ss',\n hhmmtt: 'HH:mm tt',\n hmmtt: 'h:mm tt',\n hhmmsstt: 'HH:mm:ss tt',\n hmmsstt: 'h:mm:ss tt',\n custom: 'H:mm',\n _hhmmsstt: 'hh:mm:ss tt',\n}\n\nexport const dateFormats = {\n default: {\n _: 'M/d/yyyy',\n de: 'dd.MM.yyyy',\n es: 'dd/MM/yyyy',\n ru: 'dd.MM.yyyy',\n fr: 'dd/MM/yyyy',\n it: 'dd/MM/yyyy',\n nl: 'dd/MM/yyyy',\n pl: 'dd.MM.yyyy',\n pt_br: 'dd/MM/yyyy',\n pt: 'dd/MM/yyyy',\n zh_cn: 'yyyy/M/d',\n zh_tw: 'yyyy/M/d',\n ja: 'yyyy/M/d',\n ko: 'yyyy/M/d',\n },\n mm_dd_yyyy: {\n _: 'MM-dd-yyyy',\n },\n mmddyyyy: {\n _: 'MM/dd/yyyy',\n },\n mmddyy: {\n _: 'MM/dd/yy',\n },\n mdyyyy: {\n _: 'M/d/yyyy',\n de: 'dd.MM.yyyy',\n es: 'dd/MM/yyyy',\n ru: 'dd.MM.yyyy',\n fr: 'dd/MM/yyyy',\n it: 'dd/MM/yyyy',\n nl: 'dd/MM/yyyy',\n pl: 'dd.MM.yyyy',\n pt_br: 'dd/MM/yyyy',\n pt: 'dd/MM/yyyy',\n zh_cn: 'yyyy/M/d',\n zh_tw: 'yyyy/M/d',\n ja: 'yyyy/M/d',\n ko: 'yyyy/M/d',\n },\n mmm_dd_yyyy: {\n _: 'MMM-dd-yyyy',\n zh_cn: 'M-dd-yyyy',\n zh_tw: 'M-dd-yyyy',\n ja: 'M-dd-yyyy',\n ko: 'M-dd-yyyy',\n },\n mmmd_yyyy: {\n _: 'MMM d, yyyy',\n zh_cn: 'M d, yyyy',\n zh_tw: 'M d, yyyy',\n ja: 'M d, yyyy',\n ko: 'M d, yyyy',\n },\n mmmmd_yyyy: {\n _: 'MMMM d, yyyy',\n zh_cn: 'yyyyå¹´M月dæ—¥',\n zh_tw: 'yyyyå¹´M月dæ—¥',\n ja: 'yyyyå¹´M月dæ—¥',\n ko: 'yyyyë…„Mì›”dì¼',\n },\n dmyyyy: {\n _: 'd/M/yyyy',\n },\n d_m_yyyy: {\n _: 'd-M-yyyy',\n },\n dd_mm_yy: {\n _: 'dd-MM-yy',\n },\n dd_mm_yyyy: {\n _: 'dd-MM-yyyy',\n },\n dd_mmm_yy: {\n _: 'dd-MMM-yy',\n zh_cn: 'dd-M-yy',\n zh_tw: 'dd-M-yy',\n ja: 'dd-M-yy',\n ko: 'dd-M-yy',\n },\n dd_mmm_yyyy: {\n _: 'dd-MMM-yyyy',\n zh_cn: 'dd-M-yyyy',\n zh_tw: 'dd-M-yyyy',\n ja: 'dd-M-yyyy',\n ko: 'dd-M-yyyy',\n },\n ddmmmmyyyy: {\n _: 'dd MMMM yyyy',\n zh_cn: 'yyyyå¹´M月dæ—¥',\n zh_tw: 'yyyyå¹´M月dæ—¥',\n ja: 'yyyyå¹´M月dæ—¥',\n ko: 'yyyyë…„Mì›”dì¼',\n de: 'dd. MMMM yyyy',\n es: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy',\n fr: 'd MMMM yyyy',\n it: 'd MMMM yyyy',\n nl: 'd MMMM yyyy',\n pt_br: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy',\n pt: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy',\n ru: 'dd MMMM yyyy г.',\n },\n yyyy_mm_dd: {\n _: 'yyyy-MM-dd',\n },\n yyyy_mmm_dd: {\n _: 'yyyy-MMM-dd',\n zh_cn: 'yyyy-M-dd',\n zh_tw: 'yyyy-M-dd',\n ja: 'yyyy-M-dd',\n ko: 'yyyy-M-dd',\n },\n ddmmyyyy_de: {\n _: 'dd.MM.yyyy',\n },\n ddmmyyyy: {\n _: 'dd/MM/yyyy',\n },\n yyyymmdd: {\n _: 'yyyy/MM/dd',\n },\n yyyymd: {\n _: 'yyyy/M/d',\n },\n yyyy_mmmm_d: {\n // not in v1.4\n _: 'yyyy MMMM d',\n zh_cn: 'yyyyå¹´M月dæ—¥',\n zh_tw: 'yyyyå¹´M月dæ—¥',\n ja: 'yyyyå¹´M月dæ—¥',\n ko: 'yyyyë…„Mì›”dì¼',\n },\n longformat: {\n _: 'MMMM d, yyyy',\n en: 'MMMM d, yyyy',\n de: 'dd. MMMM yyyy',\n es: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy',\n fr: 'd MMMM yyyy',\n it: 'd MMMM yyyy',\n nl: 'd MMMM yyyy',\n pt_br: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy',\n pt: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy',\n ru: 'dd MMMM yyyy г.',\n zh_cn: 'yyyyå¹´M月dæ—¥',\n zh_tw: 'yyyyå¹´M月dæ—¥',\n ja: 'yyyyå¹´M月dæ—¥',\n ko: 'yyyyë…„Mì›”dì¼',\n },\n custom: {\n _: 'custom',\n },\n}\n\nexport interface DateParseRegX {\n m: number[]\n d: number[]\n y: number[]\n regx: string\n}\n\nexport interface DateParsePatterns {\n [key: string]: DateParseRegX\n}\n\nexport const dateParsePattern: DateParsePatterns = {\n dmy: {\n m: [5, 11, 17],\n d: [3, 9, 15],\n y: [20],\n regx: '^((((0?[1-9])|[12]\\\\d|3[01])[ ]*[^0-9][ ]*((0?(1|3|5|7|8))|10|12))|(((0?[1-9])|[12]\\\\d|30)[ ]*[^0-9][ ]*((0?(4|6|9))|11))|(((0?[1-9])|[12]\\\\d)[ ]*[^0-9][ ]*(0?2)))(([ ]*[^0-9][ ]*((19|20|)\\\\d\\\\d)[ ]*[^0-9]*)|)$',\n },\n mdy: {\n m: [3, 9, 15],\n d: [6, 12, 16],\n y: [20],\n regx: '^((((0?(1|3|5|7|8))|10|12)[ ]*[^0-9][ ]*((0?[1-9])|[12]\\\\d|3[01]))|(((0?(4|6|9))|11)[ ]*[^0-9][ ]*((0?[1-9])|[12]\\\\d|30))|((0?2)[ ]*[^0-9][ ]*((0?[1-9])|[12]\\\\d)))(([ ]*[^0-9][ ]*((19|20|)\\\\d\\\\d)[ ]*[^0-9]*)|)$',\n },\n ymd: {\n m: [5, 11, 17],\n d: [8, 14, 18],\n y: [1],\n regx: '^((19|20|)\\\\d\\\\d)[ ]*[^0-9][ ]*((((0?(1|3|5|7|8))|10|12)[ ]*[^0-9][ ]*((0?[1-9])|[12]\\\\d|3[01]))|(((0?(4|6|9))|11)[ ]*[^0-9][ ]*((0?[1-9])|[12]\\\\d|30))|((0?2)[ ]*[^0-9][ ]*((0?[1-9])|[12]\\\\d)))[ ]*[^0-9]*$',\n },\n}\n\nexport const JapaneseEraInfo = [\n {\n yyyy: 'R',\n jaYyyy: '令和',\n year: 2019,\n startDate: '20190501',\n },\n {\n yyyy: 'H',\n jaYyyy: 'å¹³æˆ',\n year: 1989,\n startDate: '19890108',\n },\n {\n yyyy: 'S',\n jaYyyy: 'æ˜å’Œ',\n year: 1926,\n startDate: '19261226',\n },\n]\n\nexport const dateFormatAllLocalesInfo = {\n 'ar.month': [\n 'Ù…Øرم',\n 'صÙر',\n 'ربيع الأول',\n 'ربيع الثاني',\n 'جمادى الأولى',\n 'جمادى الثانية',\n 'رجب',\n 'شعبان',\n 'رمضان',\n 'شوال',\n 'ذو القعدة',\n 'ذو الØجة',\n ],\n 'ar.mshort': [\n 'Ù…Øرم',\n 'صÙر',\n 'ربيع الأول',\n 'ربيع الثاني',\n 'جمادى الأولى',\n 'جمادى الثانية',\n 'رجب',\n 'شعبان',\n 'رمضان',\n 'شوال',\n 'ذو القعدة',\n 'ذو الØجة',\n ],\n 'ar.ampm': ['ص', 'Ù…'],\n 'ar.ampmshort': ['ص', 'Ù…'],\n 'ar.days': [\n 'الأØد',\n 'الإثنين',\n 'الثلاثاء',\n 'الأربعاء',\n 'الخميس',\n 'الجمعة',\n 'السبت',\n ],\n 'ar.dayshort': ['Ø', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'],\n 'ar.firstday': 0,\n\n 'bg_bg.month': [\n 'Ñнуари',\n 'февруари',\n 'март',\n 'април',\n 'май',\n 'юни',\n 'юли',\n 'авгуÑÑ‚',\n 'Ñептември',\n 'октомври',\n 'ноември',\n 'декември',\n ],\n 'bg_bg.mshort': [\n 'Ñну',\n 'фев',\n 'мар',\n 'апр',\n 'май',\n 'юни',\n 'юли',\n 'авг',\n 'Ñеп',\n 'окт',\n 'ное',\n 'дек',\n ],\n 'bg_bg.ampm': ['', ''],\n 'bg_bg.ampmshort': ['', ''],\n 'bg_bg.days': [\n 'неделÑ',\n 'понеделник',\n 'вторник',\n 'ÑÑ€Ñда',\n 'четвъртък',\n 'петък',\n 'Ñъбота',\n ],\n 'bg_bg.dayshort': ['нд', 'пн', 'вт', 'ÑÑ€', 'чт', 'пт', 'Ñб'],\n 'bg_bg.firstday': 1,\n\n 'cs_cz.month': [\n 'leden',\n 'únor',\n 'bÅ™ezen',\n 'duben',\n 'kvÄ›ten',\n 'Äerven',\n 'Äervenec',\n 'srpen',\n 'zářÃ',\n 'Å™Ãjen',\n 'listopad',\n 'prosinec',\n ],\n 'cs_cz.month_genitive': [\n 'ledna',\n 'února',\n 'bÅ™ezna',\n 'dubna',\n 'kvÄ›tna',\n 'Äervna',\n 'Äervence',\n 'srpna',\n 'zářÃ',\n 'Å™Ãjna',\n 'listopadu',\n 'prosince',\n ],\n 'cs_cz.mshort': [\n 'led',\n 'úno',\n 'bÅ™e',\n 'dub',\n 'kvÄ›',\n 'Ävn',\n 'Ävc',\n 'srp',\n 'zář',\n 'Å™Ãj',\n 'lis',\n 'pro',\n ],\n 'cs_cz.ampm': ['dop.', 'odp.'],\n 'cs_cz.ampmshort': ['d', 'o'],\n 'cs_cz.days': [\n 'nedÄ›le',\n 'pondÄ›lÃ',\n 'úterý',\n 'stÅ™eda',\n 'Ätvrtek',\n 'pátek',\n 'sobota',\n ],\n 'cs_cz.dayshort': ['ne', 'po', 'út', 'st', 'Ät', 'pá', 'so'],\n 'cs_cz.firstday': 1,\n\n 'da_dk.month': [\n 'januar',\n 'februar',\n 'marts',\n 'april',\n 'maj',\n 'juni',\n 'juli',\n 'august',\n 'september',\n 'oktober',\n 'november',\n 'december',\n ],\n 'da_dk.mshort': [\n 'jan',\n 'feb',\n 'mar',\n 'apr',\n 'maj',\n 'jun',\n 'jul',\n 'aug',\n 'sep',\n 'okt',\n 'nov',\n 'dec',\n ],\n 'da_dk.ampm': ['', ''],\n 'da_dk.ampmshort': ['', ''],\n 'da_dk.days': [\n 'søndag',\n 'mandag',\n 'tirsdag',\n 'onsdag',\n 'torsdag',\n 'fredag',\n 'lørdag',\n ],\n 'da_dk.dayshort': ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],\n 'da_dk.firstday': 1,\n\n 'de_de.month': [\n 'Januar',\n 'Februar',\n 'März',\n 'April',\n 'Mai',\n 'Juni',\n 'Juli',\n 'August',\n 'September',\n 'Oktober',\n 'November',\n 'Dezember',\n ],\n 'de_de.mshort': [\n 'Jan',\n 'Feb',\n 'Mrz',\n 'Apr',\n 'Mai',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Dez',\n ],\n 'de_de.ampm': ['', ''],\n 'de_de.ampmshort': ['', ''],\n 'de_de.days': [\n 'Sonntag',\n 'Montag',\n 'Dienstag',\n 'Mittwoch',\n 'Donnerstag',\n 'Freitag',\n 'Samstag',\n ],\n 'de_de.dayshort': ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n 'de_de.firstday': 1,\n\n 'el_gr.month': [\n 'ΙανουάÏιος',\n 'ΦεβÏουάÏιος',\n 'ΜάÏτιος',\n 'ΑπÏίλιος',\n 'Μάιος',\n 'ΙοÏνιος',\n 'ΙοÏλιος',\n 'ΑÏγουστος',\n 'ΣεπτÎμβÏιος',\n 'ΟκτώβÏιος',\n 'ÎοÎμβÏιος',\n 'ΔεκÎμβÏιος',\n ],\n 'el_gr.month_genitive': [\n 'ΙανουαÏίου',\n 'ΦεβÏουαÏίου',\n 'ΜαÏτίου',\n 'ΑπÏιλίου',\n 'ΜαÎου',\n 'Ιουνίου',\n 'Ιουλίου',\n 'ΑυγοÏστου',\n 'ΣεπτεμβÏίου',\n 'ΟκτωβÏίου',\n 'ÎοεμβÏίου',\n 'ΔεκεμβÏίου',\n ],\n 'el_gr.mshort': [\n 'Ιαν',\n 'Φεβ',\n 'ΜαÏ',\n 'ΑπÏ',\n 'Μαϊ',\n 'Ιουν',\n 'Ιουλ',\n 'Αυγ',\n 'Σεπ',\n 'Οκτ',\n 'Îοε',\n 'Δεκ',\n ],\n 'el_gr.ampm': ['πμ', 'μμ'],\n 'el_gr.ampmshort': ['Ï€', 'μ'],\n 'el_gr.days': [\n 'ΚυÏιακή',\n 'ΔευτÎÏα',\n 'ΤÏίτη',\n 'ΤετάÏτη',\n 'Î Îμπτη',\n 'ΠαÏασκευή',\n 'Σάββατο',\n ],\n 'el_gr.dayshort': ['Κυ', 'Δε', 'ΤÏ', 'Τε', 'Πε', 'Πα', 'Σα'],\n 'el_gr.firstday': 1,\n\n 'en_au.month': [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n 'en_au.mshort': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n 'en_au.ampm': ['AM', 'PM'],\n 'en_au.ampmshort': ['A', 'P'],\n 'en_au.days': [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n ],\n 'en_au.dayshort': ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n 'en_au.firstday': 1,\n\n 'en_gb.month': [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n 'en_gb.mshort': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n 'en_gb.ampm': ['AM', 'PM'],\n 'en_gb.ampmshort': ['A', 'P'],\n 'en_gb.days': [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n ],\n 'en_gb.dayshort': ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n 'en_gb.firstday': 1,\n\n 'en_us.month': [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n 'en_us.mshort': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n 'en_us.ampm': ['AM', 'PM'],\n 'en_us.ampmshort': ['A', 'P'],\n 'en_us.days': [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n ],\n 'en_us.dayshort': ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n 'en_us.firstday': 0,\n\n 'es_es.month': [\n 'enero',\n 'febrero',\n 'marzo',\n 'abril',\n 'mayo',\n 'junio',\n 'julio',\n 'agosto',\n 'septiembre',\n 'octubre',\n 'noviembre',\n 'diciembre',\n ],\n 'es_es.mshort': [\n 'ene.',\n 'feb.',\n 'mar.',\n 'abr.',\n 'may.',\n 'jun.',\n 'jul.',\n 'ago.',\n 'sep.',\n 'oct.',\n 'nov.',\n 'dic.',\n ],\n 'es_es.ampm': ['', ''],\n 'es_es.ampmshort': ['', ''],\n 'es_es.days': [\n 'domingo',\n 'lunes',\n 'martes',\n 'miércoles',\n 'jueves',\n 'viernes',\n 'sábado',\n ],\n 'es_es.dayshort': ['D', 'L', 'M', 'X', 'J', 'V', 'S'],\n 'es_es.firstday': 1,\n\n 'es_mx.month': [\n 'enero',\n 'febrero',\n 'marzo',\n 'abril',\n 'mayo',\n 'junio',\n 'julio',\n 'agosto',\n 'septiembre',\n 'octubre',\n 'noviembre',\n 'diciembre',\n ],\n 'es_mx.mshort': [\n 'ene.',\n 'feb.',\n 'mar.',\n 'abr.',\n 'may.',\n 'jun.',\n 'jul.',\n 'ago.',\n 'sep.',\n 'oct.',\n 'nov.',\n 'dic.',\n ],\n 'es_mx.ampm': ['a. m.', 'p. m.'],\n 'es_mx.ampmshort': ['a', 'p'],\n 'es_mx.days': [\n 'domingo',\n 'lunes',\n 'martes',\n 'miércoles',\n 'jueves',\n 'viernes',\n 'sábado',\n ],\n 'es_mx.dayshort': ['do.', 'lu.', 'ma.', 'mi.', 'ju.', 'vi.', 'sá.'],\n 'es_mx.firstday': 0,\n\n 'et_ee.month': [\n 'jaanuar',\n 'veebruar',\n 'märts',\n 'aprill',\n 'mai',\n 'juuni',\n 'juuli',\n 'august',\n 'september',\n 'oktoober',\n 'november',\n 'detsember',\n ],\n 'et_ee.mshort': [\n 'jaan',\n 'veebr',\n 'märts',\n 'apr',\n 'mai',\n 'juuni',\n 'juuli',\n 'aug',\n 'sept',\n 'okt',\n 'nov',\n 'dets',\n ],\n 'et_ee.ampm': ['AM', 'PM'],\n 'et_ee.ampmshort': ['A', 'P'],\n 'et_ee.days': [\n 'pühapäev',\n 'esmaspäev',\n 'teisipäev',\n 'kolmapäev',\n 'neljapäev',\n 'reede',\n 'laupäev',\n ],\n 'et_ee.dayshort': ['P', 'E', 'T', 'K', 'N', 'R', 'L'],\n 'et_ee.firstday': 1,\n\n 'fa_ir.month': [\n 'Ùروردین',\n 'اردیبهشت',\n 'خرداد',\n 'تیر',\n 'مرداد',\n 'شهریور',\n 'مهر',\n 'آبان',\n 'آذر',\n 'دی',\n 'بهمن',\n 'اسÙند',\n ],\n 'fa_ir.mshort': [\n 'Ùروردین',\n 'اردیبهشت',\n 'خرداد',\n 'تیر',\n 'مرداد',\n 'شهریور',\n 'مهر',\n 'آبان',\n 'آذر',\n 'دی',\n 'بهمن',\n 'اسÙند',\n ],\n 'fa_ir.ampm': ['Ù‚.ظ', 'ب.ظ'],\n 'fa_ir.ampmshort': ['Ù‚', 'ب'],\n 'fa_ir.days': [\n 'يكشنبه',\n 'دوشنبه',\n 'سه شنبه',\n 'چهارشنبه',\n 'پنجشنبه',\n 'جمعه',\n 'شنبه',\n ],\n 'fa_ir.dayshort': ['ÛŒ', 'د', 'س', 'Ú†', 'Ù¾', 'ج', 'Ø´'],\n 'fa_ir.firstday': 6,\n\n 'fi_fi.month': [\n 'tammikuu',\n 'helmikuu',\n 'maaliskuu',\n 'huhtikuu',\n 'toukokuu',\n 'kesäkuu',\n 'heinäkuu',\n 'elokuu',\n 'syyskuu',\n 'lokakuu',\n 'marraskuu',\n 'joulukuu',\n ],\n 'fi_fi.month_genitive': [\n 'tammikuuta',\n 'helmikuuta',\n 'maaliskuuta',\n 'huhtikuuta',\n 'toukokuuta',\n 'kesäkuuta',\n 'heinäkuuta',\n 'elokuuta',\n 'syyskuuta',\n 'lokakuuta',\n 'marraskuuta',\n 'joulukuuta',\n ],\n 'fi_fi.mshort': [\n 'tammi',\n 'helmi',\n 'maalis',\n 'huhti',\n 'touko',\n 'kesä',\n 'heinä',\n 'elo',\n 'syys',\n 'loka',\n 'marras',\n 'joulu',\n ],\n 'fi_fi.ampm': ['ap.', 'ip.'],\n 'fi_fi.ampmshort': ['a', 'i'],\n 'fi_fi.days': [\n 'sunnuntai',\n 'maanantai',\n 'tiistai',\n 'keskiviikko',\n 'torstai',\n 'perjantai',\n 'lauantai',\n ],\n 'fi_fi.dayshort': ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'],\n 'fi_fi.firstday': 1,\n\n 'fr_ca.month': [\n 'janvier',\n 'février',\n 'mars',\n 'avril',\n 'mai',\n 'juin',\n 'juillet',\n 'août',\n 'septembre',\n 'octobre',\n 'novembre',\n 'décembre',\n ],\n 'fr_ca.mshort': [\n 'janv.',\n 'févr.',\n 'mars',\n 'avr.',\n 'mai',\n 'juin',\n 'juil.',\n 'août',\n 'sept.',\n 'oct.',\n 'nov.',\n 'déc.',\n ],\n 'fr_ca.ampm': ['', ''],\n 'fr_ca.ampmshort': ['', ''],\n 'fr_ca.days': [\n 'dimanche',\n 'lundi',\n 'mardi',\n 'mercredi',\n 'jeudi',\n 'vendredi',\n 'samedi',\n ],\n 'fr_ca.dayshort': ['di', 'lu', 'ma', 'me', 'je', 've', 'sa'],\n 'fr_ca.firstday': 0,\n\n 'fr_fr.month': [\n 'janvier',\n 'février',\n 'mars',\n 'avril',\n 'mai',\n 'juin',\n 'juillet',\n 'août',\n 'septembre',\n 'octobre',\n 'novembre',\n 'décembre',\n ],\n 'fr_fr.mshort': [\n 'janv.',\n 'févr.',\n 'mars',\n 'avr.',\n 'mai',\n 'juin',\n 'juil.',\n 'août',\n 'sept.',\n 'oct.',\n 'nov.',\n 'déc.',\n ],\n 'fr_fr.ampm': ['', ''],\n 'fr_fr.ampmshort': ['', ''],\n 'fr_fr.days': [\n 'dimanche',\n 'lundi',\n 'mardi',\n 'mercredi',\n 'jeudi',\n 'vendredi',\n 'samedi',\n ],\n 'fr_fr.dayshort': ['di', 'lu', 'ma', 'me', 'je', 've', 'sa'],\n 'fr_fr.firstday': 1,\n\n 'he_il.month': [\n '×™× ×•×ר',\n 'פברו×ר',\n 'מרץ',\n '×פריל',\n 'מ××™',\n '×™×•× ×™',\n 'יולי',\n '×וגוסט',\n 'ספטמבר',\n '×וקטובר',\n '× ×•×‘×ž×‘×¨',\n 'דצמבר',\n ],\n 'he_il.mshort': [\n '×™× ×•',\n 'פבר',\n 'מרץ',\n '×פר',\n 'מ××™',\n '×™×•× ',\n 'יול',\n '×וג',\n 'ספט',\n '×וק',\n '× ×•×‘',\n 'דצמ',\n ],\n 'he_il.ampm': ['AM', 'PM'],\n 'he_il.ampmshort': ['A', 'P'],\n 'he_il.days': [\n 'יו× ר×שון',\n 'יו×Â ×©× ×™',\n 'יו× שלישי',\n 'יו× רביעי',\n 'יו× חמישי',\n 'יו× שישי',\n 'שבת',\n ],\n 'he_il.dayshort': ['×', 'ב', '×’', 'ד', '×”', 'ו', 'ש'],\n 'he_il.firstday': 0,\n\n 'hi_in.month': [\n 'जनवरी',\n 'फरवरी',\n 'मारà¥à¤š',\n 'अपà¥à¤°à¥ˆà¤²',\n 'मई',\n 'जून',\n 'जà¥à¤²à¤¾à¤ˆ',\n 'अगसà¥à¤¤',\n 'सितमà¥à¤¬à¤°',\n 'अकà¥à¤¤à¥‚बर',\n 'नवमà¥à¤¬à¤°',\n 'दिसमà¥à¤¬à¤°',\n ],\n 'hi_in.mshort': [\n 'जनवरी',\n 'फरवरी',\n 'मारà¥à¤š',\n 'अपà¥à¤°à¥ˆà¤²',\n 'मई',\n 'जून',\n 'जà¥à¤²à¤¾à¤ˆ',\n 'अगसà¥à¤¤',\n 'सितमà¥à¤¬à¤°',\n 'अकà¥à¤¤à¥‚बर',\n 'नवमà¥à¤¬à¤°',\n 'दिसमà¥à¤¬à¤°',\n ],\n 'hi_in.ampm': ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'],\n 'hi_in.ampmshort': ['प', 'अ'],\n 'hi_in.days': [\n 'रविवार',\n 'सोमवार',\n 'मंगलवार',\n 'बà¥à¤§à¤µà¤¾à¤°',\n 'गà¥à¤°à¥à¤µà¤¾à¤°',\n 'शà¥à¤•à¥à¤°à¤µà¤¾à¤°',\n 'शनिवार',\n ],\n 'hi_in.dayshort': ['र', 'स', 'म', 'ब', 'ग', 'श', 'श'],\n 'hi_in.firstday': 1,\n\n 'hr_hr.month': [\n 'sijeÄanj',\n 'veljaÄa',\n 'ožujak',\n 'travanj',\n 'svibanj',\n 'lipanj',\n 'srpanj',\n 'kolovoz',\n 'rujan',\n 'listopad',\n 'studeni',\n 'prosinac',\n ],\n 'hr_hr.month_genitive': [\n 'sijeÄnja',\n 'veljaÄe',\n 'ožujka',\n 'travnja',\n 'svibnja',\n 'lipnja',\n 'srpnja',\n 'kolovoza',\n 'rujna',\n 'listopada',\n 'studenog',\n 'prosinca',\n ],\n 'hr_hr.mshort': [\n 'sij',\n 'vlj',\n 'ožu',\n 'tra',\n 'svi',\n 'lip',\n 'srp',\n 'kol',\n 'ruj',\n 'lis',\n 'stu',\n 'pro',\n ],\n 'hr_hr.ampm': ['', ''],\n 'hr_hr.ampmshort': ['', ''],\n 'hr_hr.days': [\n 'nedjelja',\n 'ponedjeljak',\n 'utorak',\n 'srijeda',\n 'Äetvrtak',\n 'petak',\n 'subota',\n ],\n 'hr_hr.dayshort': ['ne', 'po', 'ut', 'sr', 'Äe', 'pe', 'su'],\n 'hr_hr.firstday': 1,\n\n 'hu_hu.month': [\n 'január',\n 'február',\n 'március',\n 'április',\n 'május',\n 'június',\n 'július',\n 'augusztus',\n 'szeptember',\n 'október',\n 'november',\n 'december',\n ],\n 'hu_hu.mshort': [\n 'jan.',\n 'febr.',\n 'márc.',\n 'ápr.',\n 'máj.',\n 'jún.',\n 'júl.',\n 'aug.',\n 'szept.',\n 'okt.',\n 'nov.',\n 'dec.',\n ],\n 'hu_hu.ampm': ['de.', 'du.'],\n 'hu_hu.ampmshort': ['d', 'u'],\n 'hu_hu.days': [\n 'vasárnap',\n 'hétfÅ‘',\n 'kedd',\n 'szerda',\n 'csütörtök',\n 'péntek',\n 'szombat',\n ],\n 'hu_hu.dayshort': ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],\n 'hu_hu.firstday': 1,\n\n 'hy_am.month': [\n 'Õ€Õ¸Ö‚Õ¶Õ¾Õ¡Ö€',\n 'Õ“Õ¥Õ¿Ö€Õ¾Õ¡Ö€',\n 'Õ„Õ¡Ö€Õ¿',\n 'Ô±ÕºÖ€Õ«Õ¬',\n 'Õ„Õ¡ÕµÕ«Õ½',\n 'Õ€Õ¸Ö‚Õ¶Õ«Õ½',\n 'Õ€Õ¸Ö‚Õ¬Õ«Õ½',\n 'Õ•Õ£Õ¸Õ½Õ¿Õ¸Õ½',\n 'ÕÕ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€',\n 'Õ€Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€',\n 'Õ†Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€',\n 'Ô´Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€',\n ],\n 'hy_am.month_genitive': [\n 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«',\n 'ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«',\n 'Õ´Õ¡Ö€Õ¿Õ«',\n 'Õ¡ÕºÖ€Õ«Õ¬Õ«',\n 'Õ´Õ¡ÕµÕ«Õ½Õ«',\n 'Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«',\n 'Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«',\n 'Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«',\n 'Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«',\n 'Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«',\n 'Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«',\n 'Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«',\n ],\n 'hy_am.mshort': [\n 'Õ€Õ¶Õ¾',\n 'Õ“Õ¿Õ¾',\n 'Õ„Ö€Õ¿',\n 'Ô±ÕºÖ€',\n 'Õ„ÕµÕ½',\n 'Õ€Õ¶Õ½',\n 'Õ€Õ¬Õ½',\n 'Õ•Õ£Õ½',\n 'ÕÕºÕ¿',\n 'Õ€Õ¯Õ¿',\n 'Õ†ÕµÕ´',\n 'Ô´Õ¯Õ¿',\n ],\n 'hy_am.ampm': ['', ''],\n 'hy_am.ampmshort': ['', ''],\n 'hy_am.days': [\n 'Ô¿Õ«Ö€Õ¡Õ¯Õ«',\n 'ÔµÖ€Õ¯Õ¸Ö‚Õ·Õ¡Õ¢Õ©Õ«',\n 'ÔµÖ€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«',\n 'Õ‰Õ¸Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«',\n 'Õ€Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«',\n 'ÕˆÖ‚Ö€Õ¢Õ¡Õ©',\n 'Õ‡Õ¡Õ¢Õ¡Õ©',\n ],\n 'hy_am.dayshort': ['Ô¿', 'Ôµ', 'Ôµ', 'Õ‰', 'Õ€', 'Õˆ', 'Õ‡'],\n 'hy_am.firstday': 1,\n\n 'id_id.month': [\n 'Januari',\n 'Februari',\n 'Maret',\n 'April',\n 'Mei',\n 'Juni',\n 'Juli',\n 'Agustus',\n 'September',\n 'Oktober',\n 'November',\n 'Desember',\n ],\n 'id_id.mshort': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'Mei',\n 'Jun',\n 'Jul',\n 'Agt',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Des',\n ],\n 'id_id.ampm': ['AM', 'PM'],\n 'id_id.ampmshort': ['A', 'P'],\n 'id_id.days': [\n 'Minggu',\n 'Senin',\n 'Selasa',\n 'Rabu',\n 'Kamis',\n 'Jumat',\n 'Sabtu',\n ],\n 'id_id.dayshort': ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'],\n 'id_id.firstday': 0,\n\n 'it_it.month': [\n 'gennaio',\n 'febbraio',\n 'marzo',\n 'aprile',\n 'maggio',\n 'giugno',\n 'luglio',\n 'agosto',\n 'settembre',\n 'ottobre',\n 'novembre',\n 'dicembre',\n ],\n 'it_it.mshort': [\n 'gen',\n 'feb',\n 'mar',\n 'apr',\n 'mag',\n 'giu',\n 'lug',\n 'ago',\n 'set',\n 'ott',\n 'nov',\n 'dic',\n ],\n 'it_it.ampm': ['', ''],\n 'it_it.ampmshort': ['', ''],\n 'it_it.days': [\n 'domenica',\n 'lunedì',\n 'martedì',\n 'mercoledì',\n 'giovedì',\n 'venerdì',\n 'sabato',\n ],\n 'it_it.dayshort': ['do', 'lu', 'ma', 'me', 'gi', 've', 'sa'],\n 'it_it.firstday': 1,\n\n 'ja_jp.month': [\n '1月',\n '2月',\n '3月',\n '4月',\n '5月',\n '6月',\n '7月',\n '8月',\n '9月',\n '10月',\n '11月',\n '12月',\n ],\n 'ja_jp.mshort': [\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n ],\n 'ja_jp.ampm': ['åˆå‰', 'åˆå¾Œ'],\n 'ja_jp.ampmshort': ['å‰', '後'],\n 'ja_jp.days': [\n '日曜日',\n '月曜日',\n 'ç«æ›œæ—¥',\n '水曜日',\n '木曜日',\n '金曜日',\n '土曜日',\n ],\n 'ja_jp.dayshort': ['æ—¥', '月', 'ç«', 'æ°´', '木', '金', '土'],\n 'ja_jp.firstday': 0,\n\n 'ko_kr.month': [\n '1ì›”',\n '2ì›”',\n '3ì›”',\n '4ì›”',\n '5ì›”',\n '6ì›”',\n '7ì›”',\n '8ì›”',\n '9ì›”',\n '10ì›”',\n '11ì›”',\n '12ì›”',\n ],\n 'ko_kr.mshort': [\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n ],\n 'ko_kr.ampm': ['ì˜¤ì „', '오후'],\n 'ko_kr.ampmshort': ['ì „', '후'],\n 'ko_kr.days': [\n 'ì¼ìš”ì¼',\n '월요ì¼',\n '화요ì¼',\n '수요ì¼',\n '목요ì¼',\n '금요ì¼',\n 'í† ìš”ì¼',\n ],\n 'ko_kr.dayshort': ['ì¼', 'ì›”', 'í™”', '수', '목', '금', 'í† '],\n 'ko_kr.firstday': 0,\n\n 'lt_lt.month': [\n 'sausis',\n 'vasaris',\n 'kovas',\n 'balandis',\n 'gegužė',\n 'birželis',\n 'liepa',\n 'rugpjÅ«tis',\n 'rugsÄ—jis',\n 'spalis',\n 'lapkritis',\n 'gruodis',\n ],\n 'lt_lt.month_genitive': [\n 'sausio',\n 'vasario',\n 'kovo',\n 'balandžio',\n 'gegužės',\n 'birželio',\n 'liepos',\n 'rugpjÅ«Äio',\n 'rugsÄ—jo',\n 'spalio',\n 'lapkriÄio',\n 'gruodžio',\n ],\n 'lt_lt.mshort': [\n 'saus.',\n 'vas.',\n 'kov.',\n 'bal.',\n 'geg.',\n 'birž.',\n 'liep.',\n 'rugp.',\n 'rugs.',\n 'spal.',\n 'lapkr.',\n 'gruod.',\n ],\n 'lt_lt.ampm': ['prieÅ¡piet', 'popiet'],\n 'lt_lt.ampmshort': ['p', 'o'],\n 'lt_lt.days': [\n 'sekmadienis',\n 'pirmadienis',\n 'antradienis',\n 'treÄiadienis',\n 'ketvirtadienis',\n 'penktadienis',\n 'Å¡eÅ¡tadienis',\n ],\n 'lt_lt.dayshort': ['Sk', 'Pr', 'An', 'Tr', 'Kt', 'Pn', 'Å t'],\n 'lt_lt.firstday': 1,\n\n 'lv_lv.month': [\n 'janvÄris',\n 'februÄris',\n 'marts',\n 'aprÄ«lis',\n 'maijs',\n 'jÅ«nijs',\n 'jÅ«lijs',\n 'augusts',\n 'septembris',\n 'oktobris',\n 'novembris',\n 'decembris',\n ],\n 'lv_lv.mshort': [\n 'janv.',\n 'febr.',\n 'marts',\n 'apr.',\n 'maijs',\n 'jÅ«n.',\n 'jÅ«l.',\n 'aug.',\n 'sept.',\n 'okt.',\n 'nov.',\n 'dec.',\n ],\n 'lv_lv.ampm': ['priekÅ¡p.', 'pÄ“cp.'],\n 'lv_lv.ampmshort': ['p', 'Ä“'],\n 'lv_lv.days': [\n 'svÄ“tdiena',\n 'pirmdiena',\n 'otrdiena',\n 'treÅ¡diena',\n 'ceturtdiena',\n 'piektdiena',\n 'sestdiena',\n ],\n 'lv_lv.dayshort': ['Sv', 'Pr', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'],\n 'lv_lv.firstday': 1,\n\n 'ms_my.month': [\n 'Januari',\n 'Februari',\n 'Mac',\n 'April',\n 'Mei',\n 'Jun',\n 'Julai',\n 'Ogos',\n 'September',\n 'Oktober',\n 'November',\n 'Disember',\n ],\n 'ms_my.mshort': [\n 'Jan',\n 'Feb',\n 'Mac',\n 'Apr',\n 'Mei',\n 'Jun',\n 'Jul',\n 'Ogo',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Dis',\n ],\n 'ms_my.ampm': ['PG', 'PTG'],\n 'ms_my.ampmshort': ['G', 'T'],\n 'ms_my.days': [\n 'Ahad',\n 'Isnin',\n 'Selasa',\n 'Rabu',\n 'Khamis',\n 'Jumaat',\n 'Sabtu',\n ],\n 'ms_my.dayshort': ['Ah', 'Is', 'Se', 'Ra', 'Kh', 'Ju', 'Sa'],\n 'ms_my.firstday': 1,\n\n 'nb_no.month': [\n 'januar',\n 'februar',\n 'mars',\n 'april',\n 'mai',\n 'juni',\n 'juli',\n 'august',\n 'september',\n 'oktober',\n 'november',\n 'desember',\n ],\n 'nb_no.mshort': [\n 'jan',\n 'feb',\n 'mar',\n 'apr',\n 'mai',\n 'jun',\n 'jul',\n 'aug',\n 'sep',\n 'okt',\n 'nov',\n 'des',\n ],\n 'nb_no.ampm': ['a.m.', 'p.m.'],\n 'nb_no.ampmshort': ['a', 'p'],\n 'nb_no.days': [\n 'søndag',\n 'mandag',\n 'tirsdag',\n 'onsdag',\n 'torsdag',\n 'fredag',\n 'lørdag',\n ],\n 'nb_no.dayshort': ['sø.', 'ma.', 'ti.', 'on.', 'to.', 'fr.', 'lø.'],\n 'nb_no.firstday': 1,\n\n 'nl_nl.month': [\n 'januari',\n 'februari',\n 'maart',\n 'april',\n 'mei',\n 'juni',\n 'juli',\n 'augustus',\n 'september',\n 'oktober',\n 'november',\n 'december',\n ],\n 'nl_nl.mshort': [\n 'jan',\n 'feb',\n 'mrt',\n 'apr',\n 'mei',\n 'jun',\n 'jul',\n 'aug',\n 'sep',\n 'okt',\n 'nov',\n 'dec',\n ],\n 'nl_nl.ampm': ['', ''],\n 'nl_nl.ampmshort': ['', ''],\n 'nl_nl.days': [\n 'zondag',\n 'maandag',\n 'dinsdag',\n 'woensdag',\n 'donderdag',\n 'vrijdag',\n 'zaterdag',\n ],\n 'nl_nl.dayshort': ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],\n 'nl_nl.firstday': 1,\n\n 'pl_pl.month': [\n 'styczeÅ„',\n 'luty',\n 'marzec',\n 'kwiecieÅ„',\n 'maj',\n 'czerwiec',\n 'lipiec',\n 'sierpieÅ„',\n 'wrzesieÅ„',\n 'październik',\n 'listopad',\n 'grudzieÅ„',\n ],\n 'pl_pl.month_genitive': [\n 'stycznia',\n 'lutego',\n 'marca',\n 'kwietnia',\n 'maja',\n 'czerwca',\n 'lipca',\n 'sierpnia',\n 'wrzeÅ›nia',\n 'października',\n 'listopada',\n 'grudnia',\n ],\n 'pl_pl.mshort': [\n 'sty',\n 'lut',\n 'mar',\n 'kwi',\n 'maj',\n 'cze',\n 'lip',\n 'sie',\n 'wrz',\n 'paź',\n 'lis',\n 'gru',\n ],\n 'pl_pl.ampm': ['AM', 'PM'],\n 'pl_pl.ampmshort': ['A', 'P'],\n 'pl_pl.days': [\n 'niedziela',\n 'poniedziaÅ‚ek',\n 'wtorek',\n 'Å›roda',\n 'czwartek',\n 'piÄ…tek',\n 'sobota',\n ],\n 'pl_pl.dayshort': ['nie', 'pon', 'wto', 'Å›ro', 'czw', 'piÄ…', 'sob'],\n 'pl_pl.firstday': 1,\n\n 'pt_br.month': [\n 'janeiro',\n 'fevereiro',\n 'março',\n 'abril',\n 'maio',\n 'junho',\n 'julho',\n 'agosto',\n 'setembro',\n 'outubro',\n 'novembro',\n 'dezembro',\n ],\n 'pt_br.mshort': [\n 'jan',\n 'fev',\n 'mar',\n 'abr',\n 'mai',\n 'jun',\n 'jul',\n 'ago',\n 'set',\n 'out',\n 'nov',\n 'dez',\n ],\n 'pt_br.ampm': ['', ''],\n 'pt_br.ampmshort': ['', ''],\n 'pt_br.days': [\n 'domingo',\n 'segunda-feira',\n 'terça-feira',\n 'quarta-feira',\n 'quinta-feira',\n 'sexta-feira',\n 'sábado',\n ],\n 'pt_br.dayshort': ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],\n 'pt_br.firstday': 0,\n\n 'pt_pt.month': [\n 'janeiro',\n 'fevereiro',\n 'março',\n 'abril',\n 'maio',\n 'junho',\n 'julho',\n 'agosto',\n 'setembro',\n 'outubro',\n 'novembro',\n 'dezembro',\n ],\n 'pt_pt.mshort': [\n 'jan',\n 'fev',\n 'mar',\n 'abr',\n 'mai',\n 'jun',\n 'jul',\n 'ago',\n 'set',\n 'out',\n 'nov',\n 'dez',\n ],\n 'pt_pt.ampm': ['', ''],\n 'pt_pt.ampmshort': ['', ''],\n 'pt_pt.days': [\n 'domingo',\n 'segunda-feira',\n 'terça-feira',\n 'quarta-feira',\n 'quinta-feira',\n 'sexta-feira',\n 'sábado',\n ],\n 'pt_pt.dayshort': ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],\n 'pt_pt.firstday': 0,\n\n 'ro_ro.month': [\n 'ianuarie',\n 'februarie',\n 'martie',\n 'aprilie',\n 'mai',\n 'iunie',\n 'iulie',\n 'august',\n 'septembrie',\n 'octombrie',\n 'noiembrie',\n 'decembrie',\n ],\n 'ro_ro.mshort': [\n 'ian.',\n 'feb.',\n 'mar.',\n 'apr.',\n 'mai',\n 'iun.',\n 'iul.',\n 'aug.',\n 'sept.',\n 'oct.',\n 'nov.',\n 'dec.',\n ],\n 'ro_ro.ampm': ['a.m.', 'p.m.'],\n 'ro_ro.ampmshort': ['a', 'p'],\n 'ro_ro.days': [\n 'duminică',\n 'luni',\n 'marÈ›i',\n 'miercuri',\n 'joi',\n 'vineri',\n 'sâmbătă',\n ],\n 'ro_ro.dayshort': ['du.', 'lu.', 'ma.', 'mi.', 'joi', 'vi.', 'sâ.'],\n 'ro_ro.firstday': 1,\n\n 'ru_ru.month': [\n 'Январь',\n 'Февраль',\n 'Март',\n 'Ðпрель',\n 'Май',\n 'Июнь',\n 'Июль',\n 'ÐвгуÑÑ‚',\n 'СентÑбрь',\n 'ОктÑбрь',\n 'ÐоÑбрь',\n 'Декабрь',\n ],\n 'ru_ru.month_genitive': [\n 'ÑнварÑ',\n 'февралÑ',\n 'марта',\n 'апрелÑ',\n 'маÑ',\n 'июнÑ',\n 'июлÑ',\n 'авгуÑта',\n 'ÑентÑбрÑ',\n 'октÑбрÑ',\n 'ноÑбрÑ',\n 'декабрÑ',\n ],\n 'ru_ru.mshort': [\n 'Ñнв',\n 'фев',\n 'мар',\n 'апр',\n 'май',\n 'июн',\n 'июл',\n 'авг',\n 'Ñен',\n 'окт',\n 'ноÑ',\n 'дек',\n ],\n 'ru_ru.ampm': ['', ''],\n 'ru_ru.ampmshort': ['', ''],\n 'ru_ru.days': [\n 'воÑкреÑенье',\n 'понедельник',\n 'вторник',\n 'Ñреда',\n 'четверг',\n 'пÑтница',\n 'Ñуббота',\n ],\n 'ru_ru.dayshort': ['Ð’Ñ', 'Пн', 'Ð’Ñ‚', 'Ср', 'Чт', 'Пт', 'Сб'],\n 'ru_ru.firstday': 1,\n\n 'sk_sk.month': [\n 'január',\n 'február',\n 'marec',\n 'aprÃl',\n 'máj',\n 'jún',\n 'júl',\n 'august',\n 'september',\n 'október',\n 'november',\n 'december',\n ],\n 'sk_sk.month_genitive': [\n 'januára',\n 'februára',\n 'marca',\n 'aprÃla',\n 'mája',\n 'júna',\n 'júla',\n 'augusta',\n 'septembra',\n 'októbra',\n 'novembra',\n 'decembra',\n ],\n 'sk_sk.mshort': [\n 'jan',\n 'feb',\n 'mar',\n 'apr',\n 'máj',\n 'jún',\n 'júl',\n 'aug',\n 'sep',\n 'okt',\n 'nov',\n 'dec',\n ],\n 'sk_sk.ampm': ['AM', 'PM'],\n 'sk_sk.ampmshort': ['A', 'P'],\n 'sk_sk.days': [\n 'nedeľa',\n 'pondelok',\n 'utorok',\n 'streda',\n 'Å¡tvrtok',\n 'piatok',\n 'sobota',\n ],\n 'sk_sk.dayshort': ['ne', 'po', 'ut', 'st', 'Å¡t', 'pi', 'so'],\n 'sk_sk.firstday': 1,\n\n 'sl_si.month': [\n 'januar',\n 'februar',\n 'marec',\n 'april',\n 'maj',\n 'junij',\n 'julij',\n 'avgust',\n 'september',\n 'oktober',\n 'november',\n 'december',\n ],\n 'sl_si.mshort': [\n 'jan.',\n 'feb.',\n 'mar.',\n 'apr.',\n 'maj',\n 'jun.',\n 'jul.',\n 'avg.',\n 'sep.',\n 'okt.',\n 'nov.',\n 'dec.',\n ],\n 'sl_si.ampm': ['dop.', 'pop.'],\n 'sl_si.ampmshort': ['d', 'p'],\n 'sl_si.days': [\n 'nedelja',\n 'ponedeljek',\n 'torek',\n 'sreda',\n 'Äetrtek',\n 'petek',\n 'sobota',\n ],\n 'sl_si.dayshort': ['ned.', 'pon.', 'tor.', 'sre.', 'Äet.', 'pet.', 'sob.'],\n 'sl_si.firstday': 1,\n\n 'sr.month': [\n 'januar',\n 'februar',\n 'mart',\n 'april',\n 'maj',\n 'jun',\n 'jul',\n 'avgust',\n 'septembar',\n 'oktobar',\n 'novembar',\n 'decembar',\n ],\n 'sr.mshort': [\n 'jan',\n 'feb',\n 'mar',\n 'apr',\n 'maj',\n 'jun',\n 'jul',\n 'avg',\n 'sep',\n 'okt',\n 'nov',\n 'dec',\n ],\n 'sr.ampm': ['pre podne', 'po podne'],\n 'sr.ampmshort': ['p', 'o'],\n 'sr.days': [\n 'nedelja',\n 'ponedeljak',\n 'utorak',\n 'sreda',\n 'Äetvrtak',\n 'petak',\n 'subota',\n ],\n 'sr.dayshort': ['ne', 'po', 'ut', 'sr', 'Äe', 'pe', 'su'],\n 'sr.firstday': 1,\n\n 'sv_se.month': [\n 'januari',\n 'februari',\n 'mars',\n 'april',\n 'maj',\n 'juni',\n 'juli',\n 'augusti',\n 'september',\n 'oktober',\n 'november',\n 'december',\n ],\n 'sv_se.mshort': [\n 'jan',\n 'feb',\n 'mar',\n 'apr',\n 'maj',\n 'jun',\n 'jul',\n 'aug',\n 'sep',\n 'okt',\n 'nov',\n 'dec',\n ],\n 'sv_se.ampm': ['', ''],\n 'sv_se.ampmshort': ['', ''],\n 'sv_se.days': [\n 'söndag',\n 'mÃ¥ndag',\n 'tisdag',\n 'onsdag',\n 'torsdag',\n 'fredag',\n 'lördag',\n ],\n 'sv_se.dayshort': ['sö', 'mÃ¥', 'ti', 'on', 'to', 'fr', 'lö'],\n 'sv_se.firstday': 1,\n\n 'th_th.month': [\n 'มà¸à¸£à¸²à¸„ม',\n 'à¸à¸¸à¸¡à¸ าพันธ์',\n 'มีนาคม',\n 'เมษายน',\n 'พฤษภาคม',\n 'มิถุนายน',\n 'à¸à¸£à¸à¸Žà¸²à¸„ม',\n 'สิงหาคม',\n 'à¸à¸±à¸™à¸¢à¸²à¸¢à¸™',\n 'ตุลาคม',\n 'พฤศจิà¸à¸²à¸¢à¸™',\n 'ธันวาคม',\n ],\n 'th_th.mshort': [\n 'ม.ค.',\n 'à¸.พ.',\n 'มี.ค.',\n 'เม.ย.',\n 'พ.ค.',\n 'มิ.ย.',\n 'à¸.ค.',\n 'ส.ค.',\n 'à¸.ย.',\n 'ต.ค.',\n 'พ.ย.',\n 'ธ.ค.',\n ],\n 'th_th.ampm': ['AM', 'PM'],\n 'th_th.ampmshort': ['A', 'P'],\n 'th_th.days': [\n 'à¸à¸²à¸—ิตย์',\n 'จันทร์',\n 'à¸à¸±à¸‡à¸„าร',\n 'พุธ',\n 'พฤหัสบดี',\n 'ศุà¸à¸£à¹Œ',\n 'เสาร์',\n ],\n 'th_th.dayshort': ['à¸à¸²', 'จ', 'à¸', 'พ', 'พฤ', 'ศ', 'ส'],\n 'th_th.firstday': 1,\n\n 'tr_tr.month': [\n 'Ocak',\n 'Åžubat',\n 'Mart',\n 'Nisan',\n 'Mayıs',\n 'Haziran',\n 'Temmuz',\n 'AÄŸustos',\n 'Eylül',\n 'Ekim',\n 'Kasım',\n 'Aralık',\n ],\n 'tr_tr.mshort': [\n 'Oca',\n 'Åžub',\n 'Mar',\n 'Nis',\n 'May',\n 'Haz',\n 'Tem',\n 'AÄŸu',\n 'Eyl',\n 'Eki',\n 'Kas',\n 'Ara',\n ],\n 'tr_tr.ampm': ['ÖÖ', 'ÖS'],\n 'tr_tr.ampmshort': ['Ö', 'S'],\n 'tr_tr.days': [\n 'Pazar',\n 'Pazartesi',\n 'Salı',\n 'ÇarÅŸamba',\n 'PerÅŸembe',\n 'Cuma',\n 'Cumartesi',\n ],\n 'tr_tr.dayshort': ['Pa', 'Pt', 'Sa', 'Ça', 'Pe', 'Cu', 'Ct'],\n 'tr_tr.firstday': 1,\n\n 'uk_ua.month': [\n 'Ñічень',\n 'лютий',\n 'березень',\n 'квітень',\n 'травень',\n 'червень',\n 'липень',\n 'Ñерпень',\n 'вереÑень',\n 'жовтень',\n 'лиÑтопад',\n 'грудень',\n ],\n 'uk_ua.month_genitive': [\n 'ÑічнÑ',\n 'лютого',\n 'березнÑ',\n 'квітнÑ',\n 'травнÑ',\n 'червнÑ',\n 'липнÑ',\n 'ÑерпнÑ',\n 'вереÑнÑ',\n 'жовтнÑ',\n 'лиÑтопада',\n 'груднÑ',\n ],\n 'uk_ua.mshort': [\n 'Січ',\n 'Лют',\n 'Бер',\n 'Кві',\n 'Тра',\n 'Чер',\n 'Лип',\n 'Сер',\n 'Вер',\n 'Жов',\n 'ЛиÑ',\n 'Гру',\n ],\n 'uk_ua.ampm': ['', ''],\n 'uk_ua.ampmshort': ['', ''],\n 'uk_ua.days': [\n 'неділÑ',\n 'понеділок',\n 'вівторок',\n 'Ñереда',\n 'четвер',\n \"п'ÑтницÑ\",\n 'Ñубота',\n ],\n 'uk_ua.dayshort': ['Ðд', 'Пн', 'Ð’Ñ‚', 'Ср', 'Чт', 'Пт', 'Сб'],\n 'uk_ua.firstday': 1,\n\n 'vi_vn.month': [\n 'ThaÌng Giêng',\n 'ThaÌng Hai',\n 'ThaÌng Ba',\n 'ThaÌng TÆ°',\n 'ThaÌng Năm',\n 'ThaÌng SaÌu',\n 'ThaÌng Bảy',\n 'ThaÌng TaÌm',\n 'ThaÌng ChiÌn',\n 'ThaÌng MÆ°Æ¡Ì€i',\n 'ThaÌng MÆ°Æ¡Ì€i Một',\n 'ThaÌng MÆ°Æ¡Ì€i Hai',\n ],\n 'vi_vn.mshort': [\n 'Thg1',\n 'Thg2',\n 'Thg3',\n 'Thg4',\n 'Thg5',\n 'Thg6',\n 'Thg7',\n 'Thg8',\n 'Thg9',\n 'Thg10',\n 'Thg11',\n 'Thg12',\n ],\n 'vi_vn.ampm': ['SA', 'CH'],\n 'vi_vn.ampmshort': ['S', 'C'],\n 'vi_vn.days': [\n 'Chủ Nhật',\n 'ThÆ°Ì Hai',\n 'ThÆ°Ì Ba',\n 'ThÆ°Ì TÆ°',\n 'ThÆ°Ì Năm',\n 'ThÆ°Ì SaÌu',\n 'ThÆ°Ì Bảy',\n ],\n 'vi_vn.dayshort': ['C', 'H', 'B', 'T', 'N', 'S', 'B'],\n 'vi_vn.firstday': 1,\n\n 'zh_cn.month': [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n 'å…月',\n '七月',\n '八月',\n 'ä¹æœˆ',\n 'å月',\n 'å一月',\n 'å二月',\n ],\n 'zh_cn.mshort': [\n '1月',\n '2月',\n '3月',\n '4月',\n '5月',\n '6月',\n '7月',\n '8月',\n '9月',\n '10月',\n '11月',\n '12月',\n ],\n 'zh_cn.ampm': ['上åˆ', '下åˆ'],\n 'zh_cn.ampmshort': ['上', '下'],\n 'zh_cn.days': [\n '星期日',\n '星期一',\n '星期二',\n '星期三',\n '星期四',\n '星期五',\n '星期å…',\n ],\n 'zh_cn.dayshort': ['æ—¥', '一', '二', '三', 'å››', '五', 'å…'],\n 'zh_cn.firstday': 1,\n\n 'zh_tw.month': [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n 'å…月',\n '七月',\n '八月',\n 'ä¹æœˆ',\n 'å月',\n 'å一月',\n 'å二月',\n ],\n 'zh_tw.mshort': [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n 'å…月',\n '七月',\n '八月',\n 'ä¹æœˆ',\n 'å月',\n 'å一月',\n 'å二月',\n ],\n 'zh_tw.ampm': ['上åˆ', '下åˆ'],\n 'zh_tw.ampmshort': ['上', '下'],\n 'zh_tw.days': [\n '星期日',\n '星期一',\n '星期二',\n '星期三',\n '星期四',\n '星期五',\n '星期å…',\n ],\n 'zh_tw.dayshort': ['æ—¥', '一', '二', '三', 'å››', '五', 'å…'],\n 'zh_tw.firstday': 0,\n}\n","/* eslint-disable no-param-reassign */\nimport { LocalePolicy, DateDescription, JapaneseEraDescription } from '../types'\nimport { getSupportedCultureName, _languageToLocale } from './localePolicy'\nimport {\n TimezoneInfo,\n timeZones,\n dateFormats,\n timeFormats,\n JapaneseEraInfo,\n dateFormatAllLocalesInfo,\n dateParsePattern,\n DateParseRegX,\n} from './dateTimeFormat.data'\nimport {\n setTelemetry,\n reportException,\n getPerformance,\n} from '../telemetry/telemetry'\n\n/*\n * @ds/i18nlayer - date/time format support\n */\n\nfunction cultureNameToLanguage(cultureName: string | undefined): string {\n cultureName = cultureName ? cultureName.toLowerCase() : ''\n if (cultureName.indexOf('zh') === 0) {\n if (cultureName === 'zh_sg') {\n return 'zh_cn'\n } else if (cultureName === 'zh_hk') {\n return 'zh_tw'\n }\n return cultureName\n }\n return cultureName.substr(0, 2)\n}\n\nfunction getTimezoneInfo(\n localePolicy: LocalePolicy,\n isSigning: boolean\n): TimezoneInfo {\n const timezone = isSigning\n ? localePolicy.timeZone\n : localePolicy.effectiveTimeZone\n return timeZones[parseInt((timezone ?? 'tz_66_pacific').substr(3, 2)) - 1]\n}\n\nfunction _getDateFormat(\n localePolicy: LocalePolicy,\n isSigning: boolean\n): string {\n const dateFormat = isSigning\n ? localePolicy.dateFormat\n : localePolicy.effectiveDateFormat\n const dateformatlist = dateFormats[dateFormat ?? 'default']\n let format =\n dateformatlist[cultureNameToLanguage(localePolicy.cultureName)] ||\n dateformatlist['_']\n if (format === 'custom') {\n format = isSigning\n ? localePolicy.customDateFormat\n : localePolicy.effectiveCustomDateFormat\n }\n return format\n}\n\nfunction _getDateFormatString(dateFormatEnum: string, lang: string): string {\n const dateFormatList = dateFormats[dateFormatEnum]\n return (\n dateFormatList[cultureNameToLanguage(lang)] ||\n dateFormatList['_'] ||\n 'default'\n )\n}\n\nfunction _getTimeFormat(\n localePolicy: LocalePolicy,\n isSigning: boolean,\n timeWithDefault?: boolean\n): string {\n const timeFormat = isSigning\n ? localePolicy.timeFormat\n : localePolicy.effectiveTimeFormat\n let format = timeFormats[timeFormat ?? 'none']\n if (timeFormat === 'custom') {\n format = isSigning\n ? localePolicy.customTimeFormat\n : localePolicy.effectiveCustomTimeFormat\n format = format.replace(/ a *$/, ' tt')\n }\n if (timeWithDefault) {\n const dateFormat = isSigning\n ? localePolicy.dateFormat\n : localePolicy.effectiveDateFormat\n if (dateFormat === 'default') {\n format = dateFormats['default'][\n cultureNameToLanguage(localePolicy.cultureName)\n ]\n ? timeFormats['hhmm']\n : timeFormats['_hhmmsstt']\n }\n }\n return format\n}\n\nfunction _getTimeFormatString(timeFormatEnum: string): string {\n return timeFormats[timeFormatEnum]\n}\n\nfunction getCalendarType(\n localePolicy: LocalePolicy,\n isSigning: boolean\n): string | undefined {\n return isSigning\n ? localePolicy.calendarType\n : localePolicy.effectiveCalendarType\n}\n\nfunction getJapaneseEra(\n year: number,\n month: number,\n day: number\n): JapaneseEraDescription {\n const datestr = year.toString() + to2Digit(month) + to2Digit(day)\n for (const i in JapaneseEraInfo) {\n if (datestr >= JapaneseEraInfo[i].startDate) {\n return JapaneseEraInfo[i]\n }\n }\n return { year: 0, yyyy: '', jaYyyy: 'UNK' }\n}\n\nfunction _getJapaneseEraYear(\n year: number,\n month: number,\n day: number\n): JapaneseEraDescription {\n const era = getJapaneseEra(year, month, day)\n const eraYear = year - era.year + 1\n const yStr = eraYear === 1 ? '\\u5143' : eraYear.toString()\n return {\n year: eraYear,\n yyyy: era.yyyy + eraYear,\n jaYyyy: era.jaYyyy + yStr,\n }\n}\n\nfunction to2Digit(v: number): string {\n if (v < 10) return '0' + v.toString()\n return v.toString()\n}\n\nfunction addEscape(format: string): string {\n return format ? format.replace(/(.)/g, '\\\\$1') : ' '\n}\n\n// eslint-disable-next-line no-control-regex\nconst regxBK = new RegExp('\\b', 'g')\n\nfunction replaceDigit(\n format: string,\n digit: number,\n regxesc: RegExp,\n regx2: RegExp,\n regx: RegExp,\n escape: string\n): string {\n return format\n .replace(regxesc, '\\b')\n .replace(regx2, to2Digit(digit))\n .replace(regx, digit.toString())\n .replace(regxBK, escape)\n}\n\nfunction _dateTimeFormatToString(\n format: string,\n d: Date,\n culture: string,\n isJapanese: boolean\n): string {\n if (d.constructor.name === 'Moment') {\n // @ts-ignore: TS2339\n d = d._d\n }\n if (isNaN(d.getFullYear()) || isNaN(d.getMonth()) || isNaN(d.getDay())) {\n return d.toString()\n }\n let formatted = format\n let digit\n formatted = formatted.replace(/\\\\y/g, '\\b')\n if (isJapanese) {\n const era = getJapaneseEraYear(\n d.getFullYear(),\n d.getMonth() + 1,\n d.getDate()\n )\n const yyyy = formatted.indexOf('\\u5e74') >= 0 ? era.jaYyyy : era.yyyy\n formatted = formatted.replace(/yyyy/g, addEscape(yyyy))\n digit = era.year\n } else {\n formatted = formatted.replace(/yyyy/g, d.getFullYear().toString())\n digit = d.getFullYear() % 100\n }\n formatted = replaceDigit(formatted, digit, /\\\\y/g, /yy/g, /y/g, '\\\\y')\n formatted = replaceDigit(formatted, d.getHours(), /\\\\H/g, /HH/g, /H/g, '\\\\H')\n formatted = replaceDigit(\n formatted,\n d.getHours() > 12\n ? d.getHours() - 12\n : d.getHours() === 0\n ? 12\n : d.getHours(),\n /\\\\h/g,\n /hh/g,\n /h/g,\n '\\\\h'\n )\n formatted = replaceDigit(\n formatted,\n d.getMinutes(),\n /\\\\m/g,\n /mm/g,\n /m/g,\n '\\\\m'\n )\n formatted = replaceDigit(\n formatted,\n d.getSeconds(),\n /\\\\s/g,\n /ss/g,\n /s/g,\n '\\\\s'\n )\n\n culture = getSupportedCultureName(culture, true)\n const dateFormatLocalesInfo = dateFormatAllLocalesInfo\n if (!dateFormatLocalesInfo[culture + '.month']) {\n culture = cultureNameToLanguage(culture)\n if (!dateFormatLocalesInfo[culture + '.month']) {\n culture = _languageToLocale[culture.substr(0, 2)] || 'en_us'\n }\n }\n const isGenitive =\n !!dateFormatLocalesInfo[culture + '.month_genitive'] &&\n format.indexOf('d') >= 0 &&\n format.indexOf('MMMM') >= 0\n formatted = formatted.replace(/\\\\M/g, '\\b')\n formatted = formatted.replace(\n /MMMM/g,\n addEscape(\n (dateFormatLocalesInfo[\n culture + '.month' + (isGenitive ? '_genitive' : '')\n ] || dateFormatLocalesInfo['en.month'])[d.getMonth()]\n )\n )\n formatted = formatted.replace(\n /MMM/g,\n addEscape(\n (dateFormatLocalesInfo[culture + '.mshort'] ||\n dateFormatLocalesInfo['en.mshort'])[d.getMonth()]\n )\n )\n formatted = replaceDigit(\n formatted,\n d.getMonth() + 1,\n /\\\\M/g,\n /MM/g,\n /M/g,\n '\\\\M'\n )\n\n formatted = formatted.replace(/\\\\d/g, '\\b')\n formatted = formatted.replace(\n /dddd/g,\n addEscape(\n (dateFormatLocalesInfo[culture + '.days'] ||\n dateFormatLocalesInfo['en.days'])[d.getDay()]\n )\n )\n formatted = formatted.replace(\n /ddd/g,\n addEscape(\n (dateFormatLocalesInfo[culture + '.dayshort'] ||\n dateFormatLocalesInfo['en.dayshort'])[d.getDay()]\n )\n )\n formatted = replaceDigit(formatted, d.getDate(), /\\\\d/g, /dd/g, /d/g, '\\\\d')\n\n formatted = formatted.replace(/\\\\t/g, '\\b')\n formatted = formatted.replace(\n /tt/g,\n addEscape(\n (dateFormatLocalesInfo[culture + '.ampm'] ||\n dateFormatLocalesInfo['en.ampm'])[d.getHours() >= 12 ? 1 : 0]\n )\n )\n formatted = formatted.replace(\n /t/g,\n addEscape(\n (dateFormatLocalesInfo[culture + '.ampmshort'] ||\n dateFormatLocalesInfo['en.ampmshort'])[d.getHours() >= 12 ? 1 : 0]\n )\n )\n formatted = formatted.replace(regxBK, '\\\\t')\n return formatted.replace(/\\\\(?!\\\\)/g, '').replace(/\\\\\\\\/g, '\\\\')\n}\n\nfunction __formatDate(\n localePolicy: LocalePolicy,\n date: Date,\n isSigning: boolean,\n withoutTZ?: boolean,\n timeWithDefault?: boolean\n): string {\n if (date.constructor.name === 'Moment') {\n // @ts-ignore: TS2339\n date = date._d\n }\n let timeFormat = _getTimeFormat(localePolicy, isSigning, timeWithDefault)\n timeFormat = timeFormat ? ' | ' + timeFormat : ''\n const datetimeFormat = _getDateFormat(localePolicy, isSigning) + timeFormat\n let newUtc = date\n if (!withoutTZ) {\n const utcOffset = Number(getTimezoneInfo(localePolicy, isSigning).utcOffset)\n newUtc = new Date(\n date.getTime() +\n date.getTimezoneOffset() * 60000 +\n utcOffset * 60 * 60 * 1000\n )\n }\n const isJapanese = getCalendarType(localePolicy, isSigning) === 'japanese'\n return dateTimeFormatToString(\n datetimeFormat,\n newUtc,\n localePolicy.cultureName || 'en',\n isJapanese\n )\n}\nfunction _formatSignedDate(\n localePolicy: LocalePolicy,\n date: Date,\n withoutTZ: boolean\n): string {\n return __formatDate(localePolicy, date, true, withoutTZ, false)\n}\n\nfunction _formatDate(\n localePolicy: LocalePolicy,\n date: Date,\n withoutTZ?: boolean,\n timeWithDefault?: boolean\n): string {\n return __formatDate(localePolicy, date, false, withoutTZ, timeWithDefault)\n}\n\nfunction _dNet2moment(dnetkey: string): string {\n let momentformat = dnetkey\n momentformat = momentformat.replace(/longformat|LongFormat/g, 'LL')\n momentformat = momentformat\n .replace(/\\\\d/g, '\\b')\n .replace(/d/g, 'D')\n .replace(regxBK, '\\\\d')\n momentformat = momentformat\n .replace(/\\\\y/g, '\\b')\n .replace(/y/g, 'Y')\n .replace(regxBK, '\\\\y')\n momentformat = momentformat\n .replace(/\\\\t/g, '\\b')\n .replace(/tt/g, 'a')\n .replace(regxBK, '\\\\t')\n momentformat = momentformat.replace(/\\\\(.)/g, '[$1]')\n return momentformat\n}\n\nfunction getParseDatePattern(localePolicy: LocalePolicy): DateParseRegX {\n const dateFormat = _getDateFormat(localePolicy, false)\n let pattern = 'mdy'\n if (dateFormat.indexOf('y') === 0) {\n pattern = 'ymd'\n } else if (dateFormat.indexOf('d') === 0) {\n pattern = 'dmy'\n }\n return dateParsePattern[pattern]\n}\n\nfunction replaceMonthNames(localePolicy: LocalePolicy, text: string): string {\n let result = text\n let m\n const culture = getSupportedCultureName(localePolicy.cultureName, true)\n let monthnames = dateFormatAllLocalesInfo[culture + '.month']\n if (!monthnames) return result\n if (culture === 'cs_cz' || culture === 'fi_fi') {\n monthnames = dateFormatAllLocalesInfo[culture + '.month_genitive']\n for (m = 11; m >= 0; m--) {\n result = result.replace(monthnames[m], (m + 1).toString())\n }\n monthnames = dateFormatAllLocalesInfo[culture + '.month']\n }\n if (culture === 'cs_cz' || culture === 'vi_vn') {\n for (m = 11; m >= 0; m--) {\n result = result.replace(monthnames[m], (m + 1).toString())\n }\n } else {\n for (m = 0; m < 12; m++) {\n result = result.replace(monthnames[m], (m + 1).toString())\n }\n }\n monthnames = dateFormatAllLocalesInfo[culture + '.month_genitive']\n if (monthnames) {\n for (m = 0; m < 12; m++) {\n result = result.replace(monthnames[m], (m + 1).toString())\n }\n }\n monthnames = dateFormatAllLocalesInfo[culture + '.mshort']\n if (!monthnames) return result\n for (m = 0; m < 12; m++) {\n result = result.replace(monthnames[m], (m + 1).toString())\n }\n result = result.replace(/de/g, ' ')\n // console.log(result);\n return result\n}\n\nfunction _parseDate(\n localePolicy: LocalePolicy,\n text: string,\n yearRequired: boolean\n): DateDescription | undefined {\n yearRequired = yearRequired || false\n const pattern = getParseDatePattern(localePolicy)\n const regex = new RegExp(pattern.regx)\n let r = regex.exec(text)\n if (!r) {\n r = regex.exec(replaceMonthNames(localePolicy, text))\n }\n if (!r) return undefined\n const mm = r[pattern.m[0]] || r[pattern.m[1]] || r[pattern.m[2]]\n const dd = r[pattern.d[0]] || r[pattern.d[1]] || r[pattern.d[2]]\n let yy = r[pattern.y[0]]\n if (yearRequired && (!yy || parseInt(yy) < 100)) {\n return undefined\n }\n if (!yy) {\n yy = new Date().getFullYear().toString()\n } else if (parseInt(yy) < 100) {\n yy = '20' + yy\n }\n // console.log('mm=' + mm);\n // console.log('dd=' + dd);\n // console.log('yy=' + yy);\n return { m: mm, d: dd, y: yy }\n}\n\nexport {\n getJapaneseEraYear,\n formatDate,\n formatSignedDate,\n dateTimeFormatToString,\n getDateFormat,\n getTimeFormat,\n getDateFormatString,\n getTimeFormatString,\n dNet2moment,\n parseDate,\n _getDateFormat,\n getTimezoneInfo,\n timeZones,\n}\n\nfunction getDateFormat(localePolicy: LocalePolicy, isSigning: boolean): string {\n try {\n const t0 = getPerformance()\n const result = _getDateFormat(localePolicy, isSigning)\n setTelemetry(getDateFormat.name, t0)\n return result\n } catch (ex) {\n reportException(getDateFormat.name, ex)\n throw ex\n }\n}\nfunction getDateFormatString(dateFormatEnum: string, lang: string): string {\n try {\n const t0 = getPerformance()\n const result = _getDateFormatString(dateFormatEnum, lang)\n setTelemetry(getDateFormatString.name, t0)\n return result\n } catch (ex) {\n reportException(getDateFormatString.name, ex)\n throw ex\n }\n}\nfunction getTimeFormat(localePolicy: LocalePolicy, isSigning: boolean): string {\n try {\n const t0 = getPerformance()\n const result = _getTimeFormat(localePolicy, isSigning, false)\n setTelemetry(getTimeFormat.name, t0)\n return result\n } catch (ex) {\n reportException(getTimeFormat.name, ex)\n throw ex\n }\n}\nfunction getTimeFormatString(timeFormatEnum: string): string {\n try {\n const t0 = getPerformance()\n const result = _getTimeFormatString(timeFormatEnum)\n setTelemetry(getTimeFormatString.name, t0)\n return result\n } catch (ex) {\n reportException(getTimeFormatString.name, ex)\n throw ex\n }\n}\nfunction getJapaneseEraYear(\n year: number,\n month: number,\n day: number\n): JapaneseEraDescription {\n try {\n const t0 = getPerformance()\n const result = _getJapaneseEraYear(year, month, day)\n setTelemetry(getJapaneseEraYear.name, t0)\n return result\n } catch (ex) {\n reportException(getJapaneseEraYear.name, ex)\n return {\n year: 1,\n yyyy: '1',\n jaYyyy: 'UNK',\n }\n }\n}\nfunction dateTimeFormatToString(\n format: string,\n d: Date,\n culture: string,\n isJapanese: boolean\n): string {\n try {\n const t0 = getPerformance()\n const result = _dateTimeFormatToString(format, d, culture, isJapanese)\n setTelemetry(dateTimeFormatToString.name, t0)\n return result\n } catch (ex) {\n reportException(dateTimeFormatToString.name, ex)\n throw ex\n }\n}\nfunction formatSignedDate(\n localePolicy: LocalePolicy,\n date: Date,\n withoutTZ: boolean\n): string {\n try {\n const t0 = getPerformance()\n const result = _formatSignedDate(localePolicy, date, withoutTZ)\n setTelemetry(formatSignedDate.name, t0)\n return result\n } catch (ex) {\n reportException(formatSignedDate.name, ex)\n throw ex\n }\n}\nfunction formatDate(\n localePolicy: LocalePolicy,\n date: Date,\n withoutTZ?: boolean,\n timeWithDefault?: boolean\n): string {\n try {\n const t0 = getPerformance()\n const result = _formatDate(localePolicy, date, withoutTZ, timeWithDefault)\n setTelemetry(formatDate.name, t0)\n return result\n } catch (ex) {\n reportException(formatDate.name, ex)\n throw ex\n }\n}\nfunction dNet2moment(dnetkey: string): string {\n try {\n const t0 = getPerformance()\n const result = _dNet2moment(dnetkey)\n setTelemetry(dNet2moment.name, t0)\n return result\n } catch (ex) {\n reportException(dNet2moment.name, ex)\n throw ex\n }\n}\nfunction parseDate(\n localePolicy: LocalePolicy,\n text: string,\n yearRequired: boolean\n): DateDescription | undefined {\n try {\n const t0 = getPerformance()\n const result = _parseDate(localePolicy, text, yearRequired)\n setTelemetry(parseDate.name, t0)\n return result\n } catch (ex) {\n reportException(parseDate.name, ex)\n throw ex\n }\n}\n","import {\n LocalePolicy,\n LocalePolicyMetaData,\n SupportedPropertyName,\n} from '../types'\nimport { formatCurrency, currencyISOtoSymbol } from './currencyFormat'\nimport {\n dateTimeFormatToString,\n getDateFormat,\n getTimeFormat,\n timeZones,\n} from './dateTimeFormat'\nimport {\n setTelemetry,\n reportException,\n getPerformance,\n} from '../telemetry/telemetry'\n\n/*\n * @ds/i18nlayer metadata\n */\n\nconst metaData = {\n uiLanguage: [\n { value: 'en', display: 'English' },\n { value: 'de', display: 'Deutsch' },\n { value: 'es', display: 'Español' },\n { value: 'fr', display: 'Français' },\n { value: 'it', display: 'Italiano' },\n { value: 'nl', display: 'Nederlands' },\n { value: 'pl', display: 'Polski' },\n { value: 'pt_BR', display: 'Português (Brasil)' },\n { value: 'pt', display: 'Português (Portugal)' },\n { value: 'ru', display: 'РуÑÑкий' },\n { value: 'zh_CN', display: 'ä¸æ–‡ (简体)' },\n { value: 'zh_TW', display: 'ä¸æ–‡ (ç¹ä½“)' },\n { value: 'ja', display: '日本語' },\n { value: 'ko', display: 'í•œêµì–´' },\n ],\n locale: [\n { value: 'ar', display: 'العربيةâ€' },\n { value: 'bg', display: 'БългарÑки' },\n { value: 'cs', display: 'ÄŒeÅ¡tina' },\n { value: 'zh_CN', display: 'ä¸æ–‡ (简体)' },\n { value: 'zh_TW', display: 'ä¸æ–‡ (ç¹ä½“)' },\n { value: 'hr', display: 'Hrvatski' },\n { value: 'da', display: 'Dansk' },\n { value: 'nl', display: 'Nederlands' },\n { value: 'en', display: 'English (US)' },\n { value: 'en_GB', display: 'English (UK)' },\n { value: 'et', display: 'Eesti' },\n { value: 'fa', display: 'Ùارسی' },\n { value: 'fi', display: 'Suomi' },\n { value: 'fr', display: 'Français (France)' },\n { value: 'fr_CA', display: 'Français (Canada)' },\n { value: 'de', display: 'Deutsch' },\n { value: 'el', display: 'Ελληνικά' },\n { value: 'he', display: 'עבריתâ€' },\n { value: 'hi', display: 'हिनà¥à¤¦à¥€' },\n { value: 'hu', display: 'Magyar' },\n { value: 'hy', display: 'Õ€Õ¡ÕµÕ¥Ö€Õ§Õ¶' },\n { value: 'id', display: 'Bahasa Indonesia' },\n { value: 'it', display: 'Italiano' },\n { value: 'ja', display: '日本語' },\n { value: 'ko', display: 'í•œêµì–´' },\n { value: 'lv', display: 'LatvieÅ¡u' },\n { value: 'lt', display: 'Lietuvių' },\n { value: 'ms', display: 'Bahasa Melayu' },\n { value: 'no', display: 'Norsk' },\n { value: 'pl', display: 'Polski' },\n { value: 'pt', display: 'Português (Portugal)' },\n { value: 'pt_BR', display: 'Português (Brasil)' },\n { value: 'ro', display: 'Română' },\n { value: 'ru', display: 'РуÑÑкий' },\n { value: 'sr', display: 'СрпÑки' },\n { value: 'sk', display: 'SlovenÄina' },\n { value: 'sl', display: 'SlovenÅ¡Äina' },\n { value: 'es', display: 'Español' },\n { value: 'es_MX', display: 'Español (América Latina)' },\n { value: 'sv', display: 'Svenska' },\n { value: 'th', display: 'ภาษาไทย' },\n { value: 'tr', display: 'Türkçe' },\n { value: 'uk', display: 'УкраїнÑька' },\n { value: 'vi', display: 'Việt' },\n ],\n regionName: [\n { value: 'ar', display: 'Arabic' },\n { value: 'bg_bg', display: 'Bulgaria' },\n { value: 'cs_cz', display: 'Czech Republic' },\n { value: 'da_dk', display: 'Denmark' },\n { value: 'de_de', display: 'Germany' },\n { value: 'el_gr', display: 'Greece' },\n { value: 'en_au', display: 'Australia' },\n { value: 'en_gb', display: 'United Kingdom' },\n { value: 'en_us', display: 'United States' },\n { value: 'es_es', display: 'Spain' },\n { value: 'es_mx', display: 'Mexico' },\n { value: 'et_ee', display: 'Estonia' },\n { value: 'fa_ir', display: 'Persian' },\n { value: 'fi_fi', display: 'Finland' },\n { value: 'fr_ca', display: 'Canada (French)' },\n { value: 'fr_fr', display: 'France' },\n { value: 'he_il', display: 'Israel' },\n { value: 'hi_in', display: 'India' },\n { value: 'hr_hr', display: 'Croatia' },\n { value: 'hu_hu', display: 'Hungary' },\n { value: 'hy_am', display: 'Armenia' },\n { value: 'id_id', display: 'Indonesia' },\n { value: 'it_it', display: 'Italy' },\n { value: 'ja_jp', display: 'Japan' },\n { value: 'ko_kr', display: 'Korea' },\n { value: 'lt_lt', display: 'Lithuania' },\n { value: 'lv_lv', display: 'Latvia' },\n { value: 'ms_my', display: 'Malaysia' },\n { value: 'nb_no', display: 'Norway (Norwegian, BokmÃ¥l)' },\n { value: 'nl_nl', display: 'Netherlands' },\n { value: 'pl_pl', display: 'Poland' },\n { value: 'pt_br', display: 'Brazil' },\n { value: 'pt_pt', display: 'Portugal' },\n { value: 'ro_ro', display: 'Romania' },\n { value: 'ru_ru', display: 'Russia' },\n { value: 'sk_sk', display: 'Slovakia' },\n { value: 'sl_si', display: 'Slovenia' },\n { value: 'sr', display: 'Serbian' },\n { value: 'sv_se', display: 'Sweden' },\n { value: 'th_th', display: 'Thailand' },\n { value: 'tr_tr', display: 'Turkey' },\n { value: 'uk_ua', display: 'Ukraine' },\n { value: 'vi_vn', display: 'Vietnam' },\n { value: 'zh_cn', display: 'China' },\n { value: 'zh_tw', display: 'Taiwan' },\n // expand regions\n { value: 'en_ca', display: 'Canada (English)' },\n { value: 'en_ie', display: 'Ireland' },\n { value: 'en_ph', display: 'Philippines' },\n { value: 'en_in', display: 'India (English' },\n { value: 'en_za', display: 'South Africa' },\n { value: 'en_nz', display: 'New Zealand' },\n { value: 'es_co', display: 'Colombia' },\n { value: 'es_pr', display: 'Puerto Rico' },\n { value: 'fr_be', display: 'Belgium (French)' },\n { value: 'nl_be', display: 'Belgium (Dutch)' },\n { value: 'es_ar', display: 'Argentina' },\n { value: 'es_cr', display: 'Costa Rica' },\n { value: 'es_cl', display: 'Chile' },\n { value: 'es_pe', display: 'Peru' },\n { value: 'ar_ae', display: 'U.A.E.' },\n { value: 'ar_qa', display: 'Qatar' },\n { value: 'ar_sa', display: 'Saudi Arabia' },\n { value: 'de_at', display: 'Austria' },\n { value: 'de_ch', display: 'Switzerland (German)' },\n { value: 'de_lu', display: 'Luxembourg (German)' },\n { value: 'fr_lu', display: 'Luxembourg (French)' },\n { value: 'fr_ch', display: 'Switzerland (French)' },\n { value: 'it_ch', display: 'Switzerland (Italian)' },\n { value: 'zh_hk', display: 'Hong Kong SAR' },\n { value: 'zh_sg', display: 'Singapore' },\n { value: 'sw_ke', display: 'Kenya' },\n { value: 'ur_pk', display: 'Pakistan' },\n { value: 'yo_ng', display: 'Nigeria' },\n ],\n calendarType: [\n { value: 'gregorian', display: 'Gregorian' },\n { value: 'japanese', display: 'Japanese' },\n ],\n currencyPositiveFormat: [\n {\n value: 'csym_1_comma_234_comma_567_period_89',\n display: '$123,456,789.00',\n },\n {\n value: 'csym_space_1234_comma_567_period_89',\n display: '$ 123456,789.00',\n },\n { value: 'csym_1_comma_234_comma_567', display: '$123,456,789.00' },\n {\n value: 'leading_1_comma_234_comma_567_period_89_space_csym',\n display: '123,456,789.00 $',\n },\n {\n value: 'csym_space_12_comma_34_comma_567_period_89',\n display: '$ 12,34,56,789.00',\n }, // Indian Rupee - INR\n {\n value: 'csym_space_1_period_234_period_567_comma_89',\n display: '$ 123.456.789,00',\n },\n {\n value: 'leading_1_period_234_period_567_comma_89_space_csym',\n display: '123.456.789,00 $',\n },\n {\n value: 'leading_1_space_234_space_567_comma_89_space_csym',\n display: '123 456 789,00 $',\n },\n {\n value: 'csym_space_1_quote_234_quote_567_period_89',\n display: \"$ 123'456'789.00\",\n },\n {\n value: 'leading_1_space_234_space_567_period_89_space_csym',\n display: '123 456 789.00 $',\n },\n {\n value: 'csym_space_1_space_234_space_567_comma_89',\n display: '$ 123 456 789,00',\n },\n {\n value: 'csym_space_1_space_234_space_567_period_89',\n display: '$ 123 456 789.00',\n },\n {\n value: 'leading_1_space_234_space_567_comma_89_csym',\n display: '123 456 789,00$',\n },\n { value: 'csym_1_period_234_period_567', display: '$123.456.789' },\n { value: 'csym_12_comma_34_comma_567_period_89', display: '$12,34,567.89' },\n {\n value: 'csym_space_1_comma_234_comma_567_period_89',\n display: '$ 1,234,567.89',\n }, // Persian (fa) from CLDR\n\n {\n value: 'csym_1_period_234_period_567_comma_89',\n display: '$123.456.789,00',\n }, // new by es-CO\n {\n value: 'leading_1_quote_234_quote_567_period_89_space_csym',\n display: \"123'456'789.00 $\",\n }, // new by fr-ch\n { value: 'csym_1234_comma_567_period_89', display: '$123456,789.00' }, // new by es-PR\n {\n value: 'leading_1_period_234_period_567_space_csym',\n display: '123.456.789 $',\n }, // new (not used)\n {\n value: 'csym_1_space_234_space_567_comma_89',\n display: '$123 456 789,00',\n }, // new by en-ZA, es-CR (WIN10), 'CSym_Space_1_Space_234_Space_567_Comma_89' in Win2012\n ],\n currencyNegativeFormat: [\n {\n value: 'opar_csym_1_comma_234_comma_567_period_89_cpar',\n display: '($123,456,789.00)',\n },\n {\n value: 'minus_csym_1_comma_234_comma_567_period_89',\n display: '-$123,456,789.00',\n },\n { value: 'minus_csym_1_comma_234_comma_567', display: '-$123,456,789' },\n {\n value: 'opar_csym_space_1234_comma_567_period_89_cpar',\n display: '($ 123456,789.00)',\n },\n {\n value: 'csym_space_minus_12_comma_34_comma_567_period_89',\n display: '$ -12,34,56,789.00',\n }, // Indian Rupee - INR\n {\n value: 'minus_csym_space_1_period_234_period_567_comma_89',\n display: '-$ 123.456.789,00',\n },\n {\n value: 'csym_space_minus_1_period_234_period_567_comma_89',\n display: '$ -123.456.789,00',\n },\n {\n value: 'minus_1_period_234_period_567_comma_89_space_csym',\n display: '-123.456.789,00 $',\n },\n {\n value: 'minus_1_comma_234_comma_567_period_89_space_csym',\n display: '-123,456,789.00 $',\n },\n {\n value: 'minus_csym_1_period_234_period_567_comma_89',\n display: '-$123.456.789,00',\n },\n {\n value: 'opar_1_space_234_space_567_comma_89_space_csym_cpar',\n display: '(123 456 789,00 $)',\n },\n {\n value: 'minus_1_space_234_space_567_comma_89_space_csym',\n display: '-123 456 789,00 $',\n },\n {\n value: 'csym_minus_1_quote_234_quote_567_period_89',\n display: \"$-123'456'789.00\",\n },\n {\n value: 'csym_space_minus_1_space_234_space_567_comma_89',\n display: '$ -123 456 789,00',\n },\n {\n value: 'csym_space_minus_1_space_234_space_567_period_89',\n display: '$ -123 456 789.00',\n },\n {\n value: 'minus_csym_space_1_space_234_space_567_comma_89',\n display: '-$ 123 456 789,00',\n },\n {\n value: 'minus_1_space_234_space_567_comma_89_csym',\n display: '-123 456 789,00$',\n },\n {\n value: 'minus_1_space_234_space_567_period_89_space_csym',\n display: '-123 456 789.00 $',\n },\n {\n value: 'opar_csym_1_period_234_period_567_cpar',\n display: '($123.456.789)',\n },\n {\n value: 'opar_csym_1_comma_234_comma_567_cpar',\n display: '($123,456,789)',\n },\n {\n value: 'csym_minus_1_comma_234_comma_567_period_89',\n display: '$-123,456,789.00',\n },\n {\n value: 'minus_csym_12_comma_34_comma_567_period_89',\n display: '-$12,34,567.89',\n },\n {\n value: 'minus_csym_space_1_comma_234_comma_567_period_89',\n display: '-$ 1,234,567.89',\n }, // Persian (fa) from CLDR\n {\n value: 'opar_csym_space_1_period_234_period_567_comma_89_cpar',\n display: '($ 1.234.567,89)',\n }, // Accounting format\n {\n value: 'opar_csym_space_1_quote_234_quote_567_period_89_cpar',\n display: \"($ 1'234'567.89)\",\n }, // Accounting format\n {\n value: 'opar_csym_space_1_space_234_space_567_comma_89_cpar',\n display: '($ 1 234 567,89)',\n }, // Accounting format\n {\n value: 'opar_csym_space_1_space_234_space_567_period_89_cpar',\n display: '($ 1 234 567.89)',\n }, // Accounting format\n {\n value: 'opar_csym_12_comma_34_comma_567_period_89_cpar',\n display: '($12,34,567.89)',\n }, // Accounting format\n {\n value: 'opar_csym_space_12_comma_34_comma_567_period_89_cpar',\n display: '($ 12,34,567.89)',\n }, // Accounting format\n {\n value: 'opar_1_comma_234_comma_567_period_89_space_csym_cpar',\n display: '(1,234,567.89 $)',\n }, // Accounting format\n {\n value: 'opar_1_period_234_period_567_comma_89_space_csym_cpar',\n display: '(1.234.567,89 $)',\n }, // Accounting format\n {\n value: 'opar_1_space_234_space_567_comma_89_csym_cpar',\n display: '(1 234 567,89$)',\n }, // Accounting format\n {\n value: 'opar_1_space_234_space_567_period_89_space_csym_cpar',\n display: '(1 234 567.89 $)',\n }, // Accounting format\n {\n value: 'opar_csym_space_1_comma_234_comma_567_period_89_cpar',\n display: '($ 1,234,567.89)',\n }, // Accounting format\n { value: 'minus_csym_1_period_234_period_567', display: '-$1.234.567' }, // For parity\n {\n value: 'minus_csym_space_1_quote_234_quote_567_period_89',\n display: \"-$ 1'234'567.89\",\n }, // For parity\n {\n value: 'minus_csym_space_1_space_234_space_567_period_89',\n display: '-$ 1 234 567.89',\n }, // For parity\n { value: 'csym_minus_1_comma_234_comma_567', display: '$-1,234,567' }, // For parity\n { value: 'csym_minus_1_period_234_period_567', display: '$-1.234.567' }, // For parity\n {\n value: 'csym_space_minus_1_quote_234_quote_567_period_89',\n display: \"$ -1'234'567.89\",\n }, // For parity\n {\n value: 'csym_space_minus_1_comma_234_comma_567_period_89',\n display: '$ -1,234,567.89',\n }, // For parity\n {\n value: 'minus_csym_space_12_comma_34_comma_567_period_89',\n display: '-$ 12,34,567.89',\n }, // For parity\n {\n value: 'minus_1_period_234_period_567_space_csym',\n display: '-123.456.789,00 $',\n }, // new\n {\n value: 'csym_minus_1_space_234_space_567_comma_89',\n display: '$-123 456 789,00',\n }, // new by en-ZA\n {\n value: 'minus_1_quote_234_quote_567_period_89_space_csym',\n display: \"-123'456'789.00 $\",\n }, // new by fr-CH\n {\n value: 'csym_1_comma_234_comma_567_period_89_minus',\n display: '$123,456,789.00-',\n }, // new by ar\n {\n value: 'csym_minus_1_period_234_period_567_comma_89',\n display: '$-123.456.789,00',\n }, // new by es-AR\n {\n value: 'opar_csym_1_period_234_period_567_comma_89_cpar',\n display: '($123.456.789,00)',\n }, // new by es-CR\n {\n value: 'minus_csym_1234_comma_567_period_89',\n display: '-$123456,789.00',\n }, // new by es-pr\n {\n value: 'minus_csym_1_space_234_space_567_comma_89',\n display: '-$123 456 789,00',\n }, // new by en-ZA, es-CR (Win10)\n ],\n currencyCode: [\n { value: 'usd', display: '$' },\n { value: 'jpy', display: 'Â¥' },\n { value: 'eur', display: '€' },\n { value: 'gbp', display: '£' },\n ],\n nameFormat: [\n { value: 'full', display: 'First Name, Last Name' },\n { value: 'last_first', display: 'Last Name, First Name' },\n {\n value: 'last_first_cjk',\n display: 'Last Name, First Name (Only Chinese or Japanese)',\n },\n ],\n initialFormat: [\n { value: 'first1last1', display: 'One character from each name' },\n { value: 'first2', display: 'Two characters from first name' },\n { value: 'last2', display: 'Two characters from last name' },\n {\n value: 'last2_cjk',\n display: 'Two characters from last name (Only Chinese or Japanese)',\n },\n ],\n addressFormat: [\n { value: 'en_us', display: 'Address, City, Country/Region, Postal Code' },\n { value: 'ja_jp', display: 'Postal Code, City, Address, Country/Region' },\n {\n value: 'zh_cn_tw',\n display: 'Postal Code, Country/Region, City, Address',\n },\n ],\n timeFormat: [\n { value: 'none', display: '' },\n { value: 'hhmm', display: '' },\n { value: 'hmm', display: '' },\n { value: 'hhmmss', display: '' },\n { value: 'hmmss', display: '' },\n { value: 'hhmmtt', display: '' },\n { value: 'hmmtt', display: '' },\n { value: 'hhmmsstt', display: '' },\n { value: 'hmmsstt', display: '' },\n ],\n dateFormat: [\n { value: 'default', display: '' },\n { value: 'mdyyyy', display: '' },\n { value: 'mm_dd_yyyy', display: '' },\n { value: 'mmddyyyy', display: '' },\n { value: 'mmddyy', display: '' },\n { value: 'mmm_dd_yyyy', display: '' },\n { value: 'mmmd_yyyy', display: '' },\n { value: 'mmmmd_yyyy', display: '' },\n { value: 'd_m_yyyy', display: '' },\n { value: 'dd_mm_yy', display: '' },\n { value: 'dd_mm_yyyy', display: '' },\n { value: 'dd_mmm_yy', display: '' },\n { value: 'dd_mmm_yyyy', display: '' },\n { value: 'ddmmmmyyyy', display: '' },\n { value: 'yyyy_mm_dd', display: '' },\n { value: 'yyyy_mmm_dd', display: '' },\n { value: 'dmyyyy', display: '' },\n { value: 'ddmmyyyy_de', display: '' },\n { value: 'ddmmyyyy', display: '' },\n { value: 'yyyymmdd', display: '' },\n { value: 'yyyymd', display: '' },\n { value: 'yyyy_mmmm_d', display: '' },\n { value: 'longformat', display: '' },\n ],\n datetimeFormat: [\n {\n value: 'Default',\n dateFormat: 'default',\n timeFormat: '',\n format: {\n _: 'M/d/yyyy | hh:mm:ss tt',\n de: 'dd.MM.yyyy | HH:mm',\n es: 'dd/MM/yyyy | HH:mm',\n ru: 'dd.MM.yyyy | HH:mm',\n fr: 'dd/MM/yyyy | HH:mm',\n it: 'dd/MM/yyyy | HH:mm',\n nl: 'dd/MM/yyyy | HH:mm',\n pl: 'dd.MM.yyyy | HH:mm',\n pt_br: 'dd/MM/yyyy | HH:mm',\n pt: 'dd/MM/yyyy | HH:mm',\n zh_cn: 'yyyy/M/d | HH:mm',\n zh_tw: 'yyyy/M/d | HH:mm',\n ja: 'yyyy/M/d | HH:mm',\n ko: 'yyyy/M/d | HH:mm',\n },\n },\n {\n value: 'MM-dd-yyyy | HH:mm',\n dateFormat: 'mm_dd_yyyy',\n timeFormat: 'hhmm',\n format: {\n _: 'MM-dd-yyyy | HH:mm',\n },\n },\n {\n value: 'MM/dd/yyyy | HH:mm',\n dateFormat: 'mmddyyyy',\n timeFormat: 'hhmm',\n format: {\n _: 'MM/dd/yyyy | HH:mm',\n },\n },\n {\n value: 'M/d/yyyy | hh:mm a',\n dateFormat: 'mdyyyy',\n timeFormat: 'custom',\n customTime: 'hh:mm a',\n format: {\n _: 'M/d/yyyy | hh:mm tt',\n de: 'dd.MM.yyyy | HH:mm',\n es: 'dd/MM/yyyy | HH:mm',\n ru: 'dd.MM.yyyy | HH:mm',\n fr: 'dd/MM/yyyy | HH:mm',\n it: 'dd/MM/yyyy | HH:mm',\n nl: 'dd/MM/yyyy | HH:mm',\n pl: 'dd.MM.yyyy | HH:mm',\n pt_br: 'dd/MM/yyyy | HH:mm',\n pt: 'dd/MM/yyyy | HH:mm',\n zh_cn: 'yyyy/M/d | HH:mm',\n zh_tw: 'yyyy/M/d | HH:mm',\n ja: 'yyyy/M/d | HH:mm',\n ko: 'yyyy/M/d | HH:mm',\n },\n },\n {\n value: 'MMM-dd-yyyy | HH:mm',\n dateFormat: 'mmm_dd_yyyy',\n timeFormat: 'hhmm',\n format: {\n _: 'MMM-dd-yyyy | HH:mm',\n zh_cn: 'M-dd-yyyy | HH:mm',\n zh_tw: 'M-dd-yyyy | HH:mm',\n ja: 'M-dd-yyyy | HH:mm',\n ko: 'M-dd-yyyy | HH:mm',\n },\n },\n {\n value: 'MMM d, yyyy | HH:mm',\n dateFormat: 'mmmd_yyyy',\n timeFormat: 'hhmm',\n format: {\n _: 'MMM d, yyyy | HH:mm',\n zh_cn: 'M d, yyyy | HH:mm',\n zh_tw: 'M d, yyyy | HH:mm',\n ja: 'M d, yyyy | HH:mm',\n ko: 'M d, yyyy | HH:mm',\n },\n },\n {\n value: 'MMMM d, yyyy | HH:mm',\n dateFormat: 'mmmmd_yyyy',\n timeFormat: 'hhmm',\n format: {\n _: 'MMMM d, yyyy | HH:mm',\n zh_cn: 'yyyyå¹´M月dæ—¥ | HH:mm',\n zh_tw: 'yyyyå¹´M月dæ—¥ | HH:mm',\n ja: 'yyyyå¹´M月dæ—¥ | HH:mm',\n ko: 'yyyyë…„Mì›”dì¼ | HH:mm',\n },\n },\n {\n value: 'd/M/yyyy | HH:mm',\n dateFormat: 'dmyyyy',\n timeFormat: 'hhmm',\n format: {\n _: 'd/M/yyyy | HH:mm',\n },\n },\n {\n value: 'dd-MM-yy | HH:mm',\n dateFormat: 'dd_mm_yy',\n timeFormat: 'hhmm',\n format: {\n _: 'dd-MM-yy | HH:mm',\n },\n },\n {\n value: 'dd-MM-yyyy | HH:mm',\n dateFormat: 'dd_mm_yyyy',\n timeFormat: 'hhmm',\n format: {\n _: 'dd-MM-yyyy | HH:mm',\n },\n },\n {\n value: 'dd-MMM-yy | HH:mm',\n dateFormat: 'dd_mmm_yy',\n timeFormat: 'hhmm',\n format: {\n _: 'dd-MMM-yy | HH:mm',\n zh_cn: 'dd-M-yy | HH:mm',\n zh_tw: 'dd-M-yy | HH:mm',\n ja: 'dd-M-yy | HH:mm',\n ko: 'dd-M-yy | HH:mm',\n },\n },\n {\n value: 'dd-MMM-yyyy | HH:mm',\n dateFormat: 'dd_mmm_yyyy',\n timeFormat: 'hhmm',\n format: {\n _: 'dd-MMM-yyyy | HH:mm',\n zh_cn: 'dd-M-yyyy | HH:mm',\n zh_tw: 'dd-M-yyyy | HH:mm',\n ja: 'dd-M-yyyy | HH:mm',\n ko: 'dd-M-yyyy | HH:mm',\n },\n },\n {\n value: 'dd MMMM yyyy | HH:mm',\n dateFormat: 'ddmmmmyyyy',\n timeFormat: 'hhmm',\n format: {\n _: 'dd MMMM yyyy | HH:mm',\n zh_cn: 'yyyyå¹´M月dæ—¥ | HH:mm',\n zh_tw: 'yyyyå¹´M月dæ—¥ | HH:mm',\n ja: 'yyyyå¹´M月dæ—¥ | HH:mm',\n ko: 'yyyyë…„Mì›”dì¼ | HH:mm',\n de: 'dd. MMMM yyyy | HH:mm',\n es: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy | HH:mm',\n fr: 'd MMMM yyyy | HH:mm',\n it: 'd MMMM yyyy | HH:mm',\n nl: 'd MMMM yyyy | HH:mm',\n pl: 'dd MMMM yyyy | HH:mm',\n pt_br: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy | HH:mm',\n pt: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy | HH:mm',\n ru: 'dd MMMM yyyy г. | HH:mm',\n },\n },\n {\n value: 'yyyy-MM-dd | HH:mm',\n dateFormat: 'yyyy_mm_dd',\n timeFormat: 'hhmm',\n format: {\n _: 'yyyy-MM-dd | HH:mm',\n },\n },\n {\n value: 'yyyy-MMM-dd | HH:mm',\n dateFormat: 'yyyy_mmm_dd',\n timeFormat: 'hhmm',\n format: {\n _: 'yyyy-MMM-dd | HH:mm',\n zh_cn: 'yyyy-M-dd | HH:mm',\n zh_tw: 'yyyy-M-dd | HH:mm',\n ja: 'yyyy-M-dd | HH:mm',\n ko: 'yyyy-M-dd | HH:mm',\n },\n },\n {\n value: 'yyyy/MM/dd | HH:mm',\n dateFormat: 'yyyymmdd',\n timeFormat: 'hhmm',\n format: {\n _: 'yyyy/MM/dd | HH:mm',\n },\n },\n {\n value: 'yyyy MMMM d | HH:mm',\n dateFormat: 'yyyy_mmmm_d',\n timeFormat: 'hhmm',\n format: {\n _: 'yyyy MMMM d | HH:mm',\n zh_cn: 'yyyyå¹´M月dæ—¥ | HH:mm',\n zh_tw: 'yyyyå¹´M月dæ—¥ | HH:mm',\n ja: 'yyyyå¹´M月dæ—¥ | HH:mm',\n ko: 'yyyyë…„Mì›”dì¼ | HH:mm',\n },\n },\n {\n value: 'LongFormat | HH:mm',\n dateFormat: 'longformat',\n timeFormat: 'hhmm',\n format: {\n _: 'MMMM d, yyyy | HH:mm',\n en: 'MMMM d, yyyy | HH:mm',\n de: 'dd. MMMM yyyy | HH:mm',\n es: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy | HH:mm',\n fr: 'd MMMM yyyy | HH:mm',\n it: 'd MMMM yyyy | HH:mm',\n nl: 'd MMMM yyyy | HH:mm',\n pl: 'dd MMMM yyyy | HH:mm',\n pt_br: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy | HH:mm',\n pt: 'dd \\\\d\\\\e MMMM \\\\d\\\\e yyyy | HH:mm',\n ru: 'dd MMMM yyyy г. | HH:mm',\n zh_cn: 'yyyyå¹´M月dæ—¥ | HH:mm',\n zh_tw: 'yyyyå¹´M月dæ—¥ | HH:mm',\n ja: 'yyyyå¹´M月dæ—¥ | HH:mm',\n ko: 'yyyyë…„Mì›”dì¼ | HH:mm',\n },\n },\n ],\n}\n\nfunction _getMetaData(\n localePolicy: LocalePolicy | null,\n prop: SupportedPropertyName,\n withunset?: boolean,\n option?: Date\n): LocalePolicyMetaData[] {\n const meta = metaData[prop]\n const result = []\n let j\n let format\n let display\n // eslint-disable-next-line no-param-reassign\n if (!localePolicy) localePolicy = {}\n const policy = {\n cultureName: (localePolicy.cultureName || 'en').toLowerCase(),\n effectiveDateFormat: '',\n effectiveTimeFormat: '',\n effectiveCalendarType: localePolicy.effectiveCalendarType || 'gregorian',\n effectiveCurrencyCode: localePolicy.effectiveCurrencyCode || 'usd',\n effectiveCurrencyPositiveFormat: '',\n effectiveCurrencyNegativeFormat: '',\n }\n if (withunset) {\n result.push({ value: 'unset', display: 'Unset' })\n }\n if (prop === 'timeFormat') {\n for (j = 0; j < meta.length; j++) {\n policy.effectiveTimeFormat = meta[j].value\n format = getTimeFormat(policy, false)\n if (!format) format = 'None'\n display = dateTimeFormatToString(\n format,\n option as Date,\n policy.cultureName,\n false\n )\n if (format !== 'None') {\n display = display + ' (' + format + ')'\n }\n result.push({ value: meta[j].value, display })\n }\n } else if (prop === 'timeZone') {\n for (j = 0; j < timeZones.length; j++) {\n result.push(timeZones[j])\n }\n } else if (prop === 'dateFormat') {\n let isJapanese = false\n if (policy.effectiveCalendarType === 'japanese') isJapanese = true\n for (j = 0; j < meta.length; j++) {\n policy.effectiveDateFormat = meta[j].value\n format = getDateFormat(policy, false)\n display = dateTimeFormatToString(\n format,\n option as Date,\n policy.cultureName,\n isJapanese\n )\n display = display + ' (' + format + ')'\n result.push({ value: meta[j].value, display })\n }\n } else if (prop === 'datetimeFormat') {\n for (j = 0; j < meta.length; j++) {\n format = meta[j].format[policy.cultureName] || meta[j].format['_']\n display = dateTimeFormatToString(\n format,\n option as Date,\n policy.cultureName,\n false\n )\n result.push({ ...meta[j], display })\n }\n } else if (prop === 'currencyPositiveFormat') {\n for (j = 0; j < meta.length; j++) {\n policy.effectiveCurrencyPositiveFormat = meta[j].value\n result.push({\n value: meta[j].value,\n display: formatCurrency(\n policy,\n 123456789,\n policy.effectiveCurrencyCode,\n false\n ),\n })\n }\n } else if (prop === 'currencyNegativeFormat') {\n for (j = 0; j < meta.length; j++) {\n policy.effectiveCurrencyNegativeFormat = meta[j].value\n result.push({\n value: meta[j].value,\n display: formatCurrency(\n policy,\n -123456789,\n policy.effectiveCurrencyCode,\n false\n ),\n })\n }\n } else if (prop === 'currencyCode') {\n for (const key in currencyISOtoSymbol) {\n result.push({\n value: key,\n display: currencyISOtoSymbol[key],\n })\n }\n } else {\n for (j = 0; j < meta.length; j++) {\n result.push({ value: meta[j].value, display: meta[j].display })\n }\n }\n return result\n}\n\nexport { getMetaData }\n\nfunction getMetaData(\n localePolicy: LocalePolicy | null,\n prop: SupportedPropertyName,\n withunset?: boolean,\n option?: Date\n): LocalePolicyMetaData[] {\n try {\n const t0 = getPerformance()\n const result = _getMetaData(localePolicy, prop, withunset, option)\n setTelemetry(getMetaData.name, t0)\n return result\n } catch (ex) {\n reportException(getMetaData.name, ex)\n throw ex\n }\n}\n","import { memoize } from 'lodash'\nimport { getRegionLocalePolicy, getMetaData } from '@ds/i18nlayer'\nimport { Locale } from '@ds/base'\nimport { LocaleDescription } from './types'\n\nexport const getDisplayName = (locale: Locale) => {\n const displayName = localeDisplayNames()[locale]\n return displayName || locale\n}\n\nconst localeDisplayNames: () => { [key: string]: string } = memoize(() => {\n const names: { [key: string]: string } = {}\n const valueDisplayList = getMetaData(getRegionLocalePolicy('en'), 'locale')\n\n valueDisplayList.forEach((valueDisplay) => {\n names[valueDisplay.value] = valueDisplay.display\n names[valueDisplay.value.toLowerCase()] = valueDisplay.display\n names[valueDisplay.value.replace('_', '-')] = valueDisplay.display\n names[valueDisplay.value.replace('_', '-').toLowerCase()] =\n valueDisplay.display\n })\n return names\n})\n\nexport const sortedLocaleAndDisplayName: (\n locales: Locale[]\n) => LocaleDescription[] = memoize((locales: Locale[]) => {\n const localeAndNameList: LocaleDescription[] = []\n locales.forEach((locale) =>\n localeAndNameList.push({\n locale,\n displayName: getDisplayName(locale),\n })\n )\n localeAndNameList.sort((localeAndNameA, localeAndNameB) => {\n if (localeAndNameA.locale === 'en') {\n return -1\n }\n if (localeAndNameB.locale === 'en') {\n return 1\n }\n const nameA = localeAndNameA.displayName.toUpperCase()\n const nameB = localeAndNameB.displayName.toUpperCase()\n if (nameA < nameB) {\n return -1\n }\n if (nameA > nameB) {\n return 1\n }\n return 0\n })\n return localeAndNameList\n})\n","module.exports = require(\"core-js-pure/features/symbol\");","import type { StorageCache } from './StorageCache'\n\nexport type HttpErrorTest = (status: number) => boolean\n\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE'\n\nexport interface HttpRequest<T = unknown> {\n requestId?: string\n url: string\n method: HttpMethod\n data?: T\n headers?: { [key: string]: string }\n bearerToken?: string\n correlationToken?: string\n throwErrorWhen?: HttpErrorTest\n listener?: HttpEventListener\n csrfCookieName?: string\n csrfHeaderName?: string\n cacheHashQualifier?: unknown\n cacheSeconds?: number\n cacheName?: string\n cancelId?: string\n timeoutMs?: number\n retry?: RetryQueryHandler\n storageCache?: StorageCache\n}\n\nexport type HttpRequestProperties<T = unknown> = Omit<HttpRequest<T>, 'method'>\n\nexport interface HttpResponseHeaders {\n get(name: string): string | null\n has(name: string): boolean\n forEach(\n callbackfn: (value: string, key: string) => void,\n thisArg?: any // eslint-disable-line @typescript-eslint/no-explicit-any\n ): void\n}\n\nexport const EMPTY_HTTP_HEADERS: HttpResponseHeaders = {\n get: () => null,\n has: () => false,\n forEach: () => '',\n}\n\nexport interface HttpResponse<T = unknown> {\n request: HttpRequest\n status: number\n is2XX: boolean\n isOK: boolean // 2xx OR 304\n headers: HttpResponseHeaders\n contentType: string\n json?: T\n data?: T\n elapsedMilliseconds: number\n}\n\nexport class HttpError {\n public status: number\n public description: string\n public request: HttpRequest\n public error?: Error\n public willRetry?: boolean\n public attempt?: number\n\n constructor(\n status: number,\n description: string,\n request: HttpRequest,\n error?: Error\n ) {\n this.request = request\n this.description = description\n this.status = status\n this.error = error\n }\n}\n\nexport interface HttpEventListener {\n onRequest?: (request: HttpRequest, attempt?: number) => void\n onResponse?: (response: HttpResponse) => void\n onError?: (error: HttpError) => void\n}\n\nexport interface ExtendedHttpRequest extends HttpRequest {\n requestId: string\n beginTime: Date\n attempt?: number\n}\n\nexport interface AbortableHttpRequest extends ExtendedHttpRequest {\n abort?: () => void // Used by cancel. Present if the handler is capable of actually aborting the request\n}\n\nexport interface HttpHandler {\n get(request: Omit<ExtendedHttpRequest, 'method'>): Promise<HttpResponse>\n put(request: Omit<ExtendedHttpRequest, 'method'>): Promise<HttpResponse>\n post(request: Omit<ExtendedHttpRequest, 'method'>): Promise<HttpResponse>\n delete(request: Omit<ExtendedHttpRequest, 'method'>): Promise<HttpResponse>\n}\n\nexport interface HttpCachedRequest {\n request: HttpRequest\n responsePromise: Promise<HttpResponse>\n complete: boolean\n}\n\nexport const DS_CORRELATION_TOKEN_HDR_NAME = 'X-DocuSign-CorrelationToken'\n\n/*\n\n Broker interface\n\n A \"Broker\" handles HTTP requests on behalf of RestClient. It is provide\n by a third-party (e.g, another app)\n\n*/\n\nexport type HttpBrokerServiceName =\n | 'AccountService' // ex: https://demo.docusign.net/restapi/v2.1/accounts/23424234/billing_plan`\n | 'AdminService'\n | 'MeService' // ex: https://account-d.docusign.com/me/v1/user/apps\n | 'SearchAdminService'\n\nexport interface HttpBroker {\n get?: (request: HttpBrokerRequest) => Promise<HttpBrokerResponse>\n put?: (request: HttpBrokerRequest) => Promise<HttpBrokerResponse>\n post?: (request: HttpBrokerRequest) => Promise<HttpBrokerResponse>\n delete?: (request: HttpBrokerRequest) => Promise<HttpBrokerResponse>\n}\n\nexport interface HttpBrokerRequest {\n relativeUrl: string // this URL will be relative to the root API, e.g, accounts/12345?foo=bar\n data?: unknown // this should be an object, not a JSON string\n headers?: { [key: string]: string }\n serviceName?: HttpBrokerServiceName\n}\n\nexport interface HttpBrokerResponse {\n fullUrl?: string // complete URL used by the broker to make the request (for debugging purposes)\n status: number\n data?: unknown // this should be an object, not a JSON string\n headers?: { [key: string]: string }\n}\n\n/**\n * @param response - The response (can use to check status and/or peek at request)\n * @param elapsedTimeMs - Milliseconds since the first attempt was started.\n * @param previousAttemptCount - The number of times we have tried this request.\n * @returns milliseconds delay until trying again.\n * -1 will cancel retry and resolve the request with this response\n */\nexport type RetryQueryHandler = (\n response: HttpResponse,\n elapsedTimeMs: number,\n previousAttemptCount: number\n) => number\n","export default {\n currentColor: 'currentColor',\n inherit: 'inherit',\n initial: 'initial',\n transparent: 'transparent',\n unset: 'unset',\n\n white: '#ffffff',\n whiteTranslucent: 'rgba(255,255,255,0.4)',\n gray1: '#f9f9f9',\n gray2: '#f4f4f4',\n gray3: '#e9e9e9',\n gray4: '#d9d9d9',\n gray5: '#cccccc',\n gray6: '#a9a9a9',\n gray7: '#999999',\n gray8: '#777777',\n gray9: '#666666',\n gray10: '#555555',\n black: '#333333',\n\n gray9_alpha90: '#666666EE',\n black_alpha50: '#33333380',\n\n avatarBackground: '#e8edf7',\n avatarPlaceholderBackground: '#b8bfcc',\n\n badgeOrange: '#cc4c15',\n badgeTurquoise: '#3d7e8f',\n\n commentsDotBlueActive: 'rgba(65,134,236,0.8)',\n commentsDotBlueInActive: 'rgba(65,134,236,0.33)',\n commentJustPosted: '#e7edf8',\n\n DocuSignBluePale2: '#e3edf7',\n DocuSignBluePale: '#c9dcf0',\n DocuSignBlueDisabled: '#4f8dce',\n DocuSignBlueLight: '#2875c4',\n DocuSignBlue: '#005cb9',\n DocuSignBlueDark: '#004185',\n DocuSignBlueDark2: '#003368',\n\n funBluePale2: '#ebf5fc',\n funBluePale: '#d8edfa',\n funBlueLight: '#4186ec',\n funBlue: '#2c6ee1',\n funBlueDark: '#1e5bcb',\n funBlueDark2: '#19489a',\n\n funBlue_alpha27: '#2c6ee145',\n\n mantisGreenPale2: '#e3f2e9',\n mantisGreenPale: '#c6e5d3',\n mantisGreenLight: '#39a364',\n mantisGreen: '#008938',\n mantisGreenDark: '#007831',\n mantisGreenDark2: '#00672a',\n\n mantisGreen_alpha27: '#00893845',\n\n persianRedPale2: '#ffeee9',\n persianRedPale: '#ffe3e1',\n persianRedLight: '#fb3449',\n persianRed: '#d13239',\n persianRedDark: '#b22b31',\n persianRedDark2: '#98252b',\n\n persianRed_alpha27: '#d1323945',\n\n progressIndicatorInverted: '#85d8eb',\n\n sunglowYellowPale2: '#fffae5',\n sunglowYellowPale: '#ffefc0',\n sunglowYellowLight: '#ffd72e',\n sunglowYellow: '#ffce00',\n sunglowYellowDark: '#f6b610',\n sunglowYellowDark2: '#e5a305',\n\n sunglowYellow_alpha43: '#f6b6106e',\n\n turquoisePale: '#e1f4f8',\n turquoisePale2: '#edf8fb',\n\n blue60: '#006FF9',\n\n // INK\n semanticNeutral: {\n fade: {\n '60': 'rgba(25, 24, 35, 0.60)',\n },\n },\n}\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var IS_PURE = require('../internals/is-pure');\nvar getIterator = require('../internals/get-iterator');\n\nmodule.exports = IS_PURE ? getIterator : function (it) {\n // eslint-disable-next-line es/no-map -- safe\n return Map.prototype.entries.call(it);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var getIterator = require('../internals/get-iterator');\n\nmodule.exports = getIterator;\n","module.exports = require(\"core-js-pure/stable/instance/sort\");","module.exports = require(\"core-js-pure/stable/array/from\");","import React from 'react'; // TODO: check\n\nvar context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'NavbarContext';\nexport default context;","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","import colors from '../colors'\n\nconst tokens = {\n defaultBackgroundColor: colors.periwinkleLight,\n\n placeholderBackgroundColor: colors.periwinkleDark2,\n placeholderFillColor: colors.white,\n\n withColorIndexTextColor: colors.black,\n\n largeSize: '48px',\n largeFontSize: '15px',\n\n mediumSize: '36px',\n mediumFontSize: '15px',\n\n smallSize: '28px',\n smallFontSize: '13px',\n\n xlargeSize: '72px',\n xlargeFontSize: '22px',\n\n xxlargeSize: '96px',\n xxlargeFontSize: '22px',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n backgroundColor: colors.persianRed,\n borderColor: colors.white,\n large: '12px',\n medium: '10px',\n small: '8px',\n xlarge: '18px',\n xxlarge: '20px',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n defaultShadowColor: colors.white,\n defaultHoverShadowColor: colors.white,\n defaultActiveShadowColor: colors.white,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n defaultTrackColor: colors.gray3,\n defaultFillColor: colors.funBlue,\n subtleFillColor: colors.black,\n highFillColor: colors.mantisGreen,\n mediumFillColor: colors.sunglowYellow,\n lowFillColor: colors.persianRed,\n indeterminateTrackColor: colors.gray3,\n indeterminateFillColor: colors.gray6,\n borderRadius: '4px',\n height: '8px',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n defaultColor: colors.gray3,\n emphasisColor: colors.gray3,\n subtleColor: colors.gray3,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst main = {\n defaultBackgroundColor: colors.sunglowYellow,\n defaultBorderColor: undefined,\n defaultTextColor: colors.black,\n hoverBackgroundColor: colors.sunglowYellowDark,\n hoverTextColor: undefined,\n activeBackgroundColor: colors.sunglowYellowDark2,\n activeTextColor: undefined,\n disabledBackgroundColor: colors.sunglowYellowPale,\n disabledBorderColor: undefined,\n disabledTextColor: colors.gray7,\n iconColor: colors.gray10,\n iconHoverColor: undefined,\n buttonGroupSeparatorColor: colors.gray9,\n} as const\n\nconst primary = {\n defaultBackgroundColor: colors.funBlue,\n defaultBorderColor: undefined,\n defaultTextColor: colors.white,\n hoverBackgroundColor: colors.funBlueDark,\n hoverTextColor: undefined,\n activeBackgroundColor: colors.funBlueDark2,\n activeTextColor: undefined,\n disabledBackgroundColor: colors.funBluePale,\n disabledBorderColor: undefined,\n disabledTextColor: colors.gray7,\n iconColor: undefined,\n iconHoverColor: undefined,\n buttonGroupSeparatorColor: colors.gray5,\n} as const\n\nconst secondary = {\n defaultBackgroundColor: colors.gray1,\n defaultBorderColor: colors.gray5,\n defaultTextColor: colors.black,\n hoverBackgroundColor: colors.gray3,\n hoverTextColor: undefined,\n activeBackgroundColor: colors.gray4,\n activeTextColor: undefined,\n disabledBackgroundColor: colors.gray1,\n disabledBorderColor: colors.gray3,\n disabledTextColor: colors.gray7,\n iconColor: colors.gray9,\n iconHoverColor: undefined,\n buttonGroupSeparatorColor: colors.gray8,\n} as const\n\nconst tertiary = {\n defaultBackgroundColor: 'transparent',\n defaultBorderColor: undefined,\n defaultTextColor: colors.black,\n hoverBackgroundColor: 'transparent',\n hoverTextColor: colors.funBlue,\n activeBackgroundColor: 'transparent',\n activeTextColor: colors.funBlueDark,\n disabledBackgroundColor: 'transparent',\n disabledBorderColor: undefined,\n disabledTextColor: colors.gray6,\n iconColor: colors.gray8,\n iconHoverColor: colors.funBlue,\n buttonGroupSeparatorColor: undefined,\n} as const\n\nconst danger = {\n defaultBackgroundColor: colors.persianRed,\n defaultBorderColor: undefined,\n defaultTextColor: colors.white,\n hoverBackgroundColor: colors.persianRedDark,\n hoverTextColor: undefined,\n activeBackgroundColor: colors.persianRedDark2,\n activeTextColor: undefined,\n disabledBackgroundColor: colors.persianRedPale,\n disabledBorderColor: undefined,\n disabledTextColor: colors.gray7,\n iconColor: undefined,\n iconHoverColor: undefined,\n buttonGroupSeparatorColor: colors.white,\n} as const\n\nconst tokens = {\n main,\n primary,\n secondary,\n tertiary,\n danger,\n\n defaultSize: '28px',\n mobileSize: '28px',\n} as const\n\nexport default tokens\n","const tokens = {\n low: '0 2px 2px 0 rgba(0, 0, 0, 0.15)',\n medium: '0 2px 4px 0 rgba(0, 0, 0, 0.15)',\n highest: '0 2px 7px 0 rgba(0, 0, 0, 0.25)',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst outer = {\n boxShadow: 'none',\n outline: `2px solid ${colors.funBlue}`,\n outlineOffset: '2px',\n} as const\n\nconst inner = {\n boxShadow: 'none',\n outline: `2px solid ${colors.funBlue}`,\n outlineOffset: '-2px',\n} as const\n\nconst tokens = {\n outer,\n inner,\n} as const\n\nexport default tokens\n","const HELVETICA_NEUE_FONT_FAMILY =\n '\"Helvetica Neue\", HelveticaNeue, Helvetica, Arial, sans-serif'\nconst MAVEN_PRO_FONT_FAMILY =\n '\"Maven Pro\", \"Helvetica Neue\", \"HelveticaNeue\", Helvetica, Arial, sans-serif'\n\nconst tokens = {\n body: HELVETICA_NEUE_FONT_FAMILY,\n heading: MAVEN_PRO_FONT_FAMILY,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n defaultBackgroundColor: colors.white,\n defaultBorderColor: colors.gray8,\n\n hoverBorderColor: colors.gray8,\n activeBorderColor: colors.gray8,\n\n disabledBackgroundColor: colors.gray2,\n // needs to be revisited - was added to resolve some issues with Menu\n disabledTextColor: colors.gray7,\n disabledOpacity: 0.4,\n\n errorBorderColor: colors.persianRed,\n\n focusOutline: `2px solid ${colors.funBlue}`,\n focusBorderColor: colors.funBlue,\n focusOutlineOffset: '-2px',\n\n readOnlyBackgroundColor: colors.gray1,\n readOnlyBorderColor: colors.gray3,\n readOnlyTextColor: colors.gray7,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n smallSize: '16px',\n defaultSize: '16px',\n\n defaultColor: colors.gray8,\n disabledColor: colors.gray5,\n emphasisColor: colors.gray8,\n errorColor: colors.persianRed,\n warningColor: colors.sunglowYellow,\n successColor: colors.mantisGreen,\n\n hoverColor: colors.gray7,\n} as const\n\nexport default tokens\n","import hexToRgba from 'hex-to-rgba'\nimport { IndexedColorStyles } from '../../../types'\nimport { recipientColorPalette } from '../colors'\n\nconst NUM_RECIPIENT_COLORS = Object.keys(recipientColorPalette).length\n\n/**\n * Returns a color object given an index into a list, often used to provide a\n * repeating sequence of colors to apply to recipients.\n *\n * @param {number} index - A zero-based index. Defaults to 0\n *\n * @returns {Object} colorObject\n * @returns {string} colorObject.solid - The hex string of the color, e.g. '#1e1e1e'.\n * @returns {string} colorObject.transparent - A CSS rgba string of the color\n * with transparency, e.g. 'rgba(30, 30, 30, 0.75)'.\n * @returns {string} colorObject.border - Aa dark border that can be used\n * to maintain accessibility requirements.\n */\nconst indexedColor = (index = 0): IndexedColorStyles => {\n const normalizedIndex = Math.max(0, index % NUM_RECIPIENT_COLORS)\n const key = `recipient${normalizedIndex}`\n // @ts-ignore\n const color = recipientColorPalette[key]\n\n return {\n solid: color.Normal,\n transparent: hexToRgba(color.Normal, 0.75),\n border: color.Dark2,\n }\n}\n\nexport default indexedColor\n","import avatar from './avatar'\nimport avatarBadge from './avatarBadge'\nimport avatarGroup from './avatarGroup'\nimport bar from './bar'\nimport border from './border'\nimport button from './button'\nimport breadcrumb from './breadcrumb'\nimport elevation from './elevation'\nimport focus from './focus'\nimport font from './font'\nimport form from './form'\nimport icon from './icon'\nimport indexedColor from './indexedColor'\nimport link from './link'\nimport menuItem from './menuItem'\nimport modal from './modal'\nimport popover from './popover'\nimport selectionControl from './selectionControl'\nimport scrim from './scrim'\nimport scrollShadow from './scrollShadow'\nimport tabs from './tabs'\nimport text from './text'\nimport toolbar from './toolbar'\nimport tooltip from './tooltip'\nimport typography from './typography'\n\nconst tokens = {\n avatar,\n avatarBadge,\n avatarGroup,\n bar,\n border,\n breadcrumb,\n button,\n elevation,\n focus,\n font,\n form,\n icon,\n indexedColor,\n link,\n menuItem,\n modal,\n popover,\n selectionControl,\n scrim,\n scrollShadow,\n tabs,\n text,\n toolbar,\n tooltip,\n typography,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n defaultColor: colors.funBlue,\n defaultHoverColor: colors.funBlueDark,\n defaultActiveColor: colors.funBlueDark,\n defaultVisitedColor: colors.funBlue,\n subtleColor: colors.gray9,\n subtleHoverColor: colors.gray10,\n subtleActiveColor: colors.gray10,\n subtleVisitedColor: colors.gray9,\n lightColor: colors.funBlueLight,\n lightHoverColor: colors.funBluePale,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n hoverBackgroundColor: colors.gray2,\n activeBackgroundColor: colors.gray2,\n selectedBackgroundColor: colors.gray4,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n backgroundColor: colors.white,\n borderColor: colors.gray5,\n borderRadius: '2px',\n\n smallWidth: '400px',\n mediumWidth: '500px',\n largeWidth: '675px',\n extraLargeWidth: '900px',\n\n marginTop: '36px',\n marginTopSmallScreen: '6px',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n borderColor: colors.gray5,\n defaultBackgroundColor: colors.white,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n size: '18px',\n\n defaultHoverShadowColor: 'transparent',\n defaultActiveShadowColor: 'transparent',\n\n selectedFillColor: colors.funBlue,\n selectedHoverFillColor: colors.funBlue,\n selectedActiveFillColor: colors.funBlueLight,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n opacityLevel: 0.5,\n defaultBackgroundColor: colors.black,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst border = {\n background: colors.white,\n color: colors.gray3,\n height: 4,\n} as const\n\nexport default border\n","import colors from '../colors'\n\nconst tokens = {\n defaultBackgroundColor: colors.white,\n defaultTextColor: colors.gray9,\n hoverActiveBackgroundColor: colors.white,\n hoverBackgroundColor: colors.white,\n hoverTextColor: colors.funBlue,\n indicatorColor: colors.funBlue,\n indicatorWidth: '3px',\n selectedTextColor: colors.funBlue,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n defaultColor: colors.black,\n subtleColor: colors.gray9,\n disabledColor: colors.gray7,\n successColor: colors.mantisGreen,\n errorColor: colors.persianRed,\n} as const\n\nexport default tokens\n","import buttonTokens from './button'\nimport colors from '../colors'\n\nconst tokens = {\n defaultBackgroundColor: 'transparent',\n defaultTextColor: buttonTokens.secondary.iconColor,\n iconColor: buttonTokens.secondary.iconColor,\n\n hoverBackgroundColor: buttonTokens.secondary.hoverBackgroundColor,\n activeBackgroundColor: buttonTokens.secondary.activeBackgroundColor,\n\n selectedBackgroundColor: colors.gray3,\n selectedHoverBackgroundColor: colors.gray3,\n selectedTextColor: buttonTokens.secondary.iconColor,\n\n selectedDarkBackgroundColor: undefined,\n selectedDarkHoverBackgroundColor: undefined,\n selectedDarkTextColor: undefined,\n\n defaultHeight: buttonTokens.defaultSize,\n mobileHeight: buttonTokens.mobileSize,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n backgroundColor: colors.black,\n borderColor: colors.black,\n color: colors.white,\n offset: '0px',\n tipSize: 6.1,\n} as const\n\nexport default tokens\n","const detailExtraSmall = {\n fontSize: '12px',\n fontWeight: 400,\n lineHeight: '18px',\n} as const\n\nconst detailSmall = {\n fontSize: '12px',\n fontWeight: 400,\n lineHeight: '18px',\n} as const\n\nconst bodyMedium = {\n fontSize: '13px',\n fontWeight: 400,\n lineHeight: '18px',\n} as const\n\nconst bodyLarge = {\n fontSize: '13px',\n fontWeight: 400,\n lineHeight: '18px',\n} as const\n\nconst bodyExtraLarge = {\n fontSize: '13px',\n fontWeight: 400,\n lineHeight: '18px',\n} as const\n\nconst headingXXS = {\n fontSize: '13px',\n fontWeight: 600,\n lineHeight: '18px',\n} as const\n\nconst headingExtraSmall = {\n fontSize: '13px',\n fontWeight: 600,\n lineHeight: '18px',\n} as const\n\nconst headingSmall = {\n fontSize: '13px',\n fontWeight: 600,\n lineHeight: '18px',\n} as const\n\nconst headingMedium = {\n fontSize: '15px',\n fontWeight: 600,\n lineHeight: '20px',\n} as const\n\nconst headingLarge = {\n fontSize: '18px',\n fontWeight: 600,\n lineHeight: '24px',\n} as const\n\nconst headingExtraLarge = {\n fontSize: '22px',\n fontWeight: 600,\n lineHeight: '28px',\n} as const\n\nconst displayExtraSmall = {\n fontSize: '35px',\n fontWeight: 600,\n lineHeight: '40px',\n} as const\n\nconst displaySmall = {\n fontSize: '35px',\n fontWeight: 400,\n lineHeight: '40px',\n} as const\n\nconst displayMedium = {\n fontSize: '35px',\n fontWeight: 600,\n lineHeight: '40px',\n} as const\n\nconst displayLarge = {\n fontSize: '35px',\n fontWeight: 600,\n lineHeight: '40px',\n} as const\n\nconst sectionHeadline = {\n fontSize: '12px',\n fontWeight: 600,\n lineHeight: 1.5,\n textTransform: 'uppercase',\n} as const\n\nconst tab = {\n fontSize: '14px',\n fontWeight: 600,\n lineHeight: 1,\n} as const\n\nconst timestamp = {\n fontSize: '12px',\n fontWeight: 600,\n lineHeight: 1.5,\n} as const\n\nconst inputLabel = {\n fontSize: '13px',\n fontWeight: 600,\n lineHeight: '18px',\n} as const\n\nconst button = {\n fontSize: '12px',\n fontWeight: 600,\n lineHeight: '18px',\n} as const\n\nconst breadcrumb = {\n fontSize: '12px',\n fontWeight: 400,\n lineHeight: 'normal',\n} as const\n\nconst breadcrumbActive = {\n fontSize: '12px',\n fontWeight: 400,\n lineHeight: 'normal',\n} as const\n\nconst tokens = {\n detailExtraSmall,\n detailSmall,\n\n bodyMedium,\n bodyLarge,\n bodyExtraLarge,\n\n headingXXS,\n headingExtraSmall,\n headingSmall,\n headingMedium,\n headingLarge,\n headingExtraLarge,\n\n displayExtraSmall,\n displaySmall,\n displayMedium,\n displayLarge,\n\n sectionHeadline,\n\n tab,\n timestamp,\n inputLabel,\n button,\n breadcrumb,\n breadcrumbActive,\n} as const\n\nexport default tokens\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = true;\n","require('../modules/es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar global = require('../internals/global');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","'use strict'\n\nfunction markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n\nmodule.exports = markdownSpace\n","import { serializeStyles } from '@emotion/serialize';\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nexport default css;\n","import { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n var ref = useRef(null);\n if (ref.current === null) {\n ref.current = init();\n }\n return ref.current;\n}\n\nexport { useConstant };\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","import template from './template'\n\nconst consoleWarnMsgSet = new Set()\n\n/**\n * Print a warning in the browser's development console.\n *\n * @param {string} msg - The warning message to display in the console.\n */\nconst consoleWarn = (msg: string) => {\n if (!consoleWarnMsgSet.has(msg)) {\n /* eslint-disable-next-line no-console */\n console.warn(template('Warning', msg))\n consoleWarnMsgSet.add(msg)\n }\n}\n\nexport default consoleWarn\n","module.exports = require(\"core-js-pure/features/object/define-property\");","const fontFamilies = {\n HelveticaNeue:\n '\"Helvetica Neue\", HelveticaNeue, Helvetica, Arial, sans-serif',\n MavenPro:\n '\"Maven Pro\", \"Helvetica Neue\", \"HelveticaNeue\", Helvetica, Arial, sans-serif',\n}\n\nexport default fontFamilies\n","import _Object$create from \"@babel/runtime-corejs3/core-js/object/create\";\nimport _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\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\n _Object$defineProperty(subClass, \"prototype\", {\n writable: false\n });\n\n if (superClass) setPrototypeOf(subClass, superClass);\n}","module.exports = require(\"core-js-pure/stable/instance/filter\");","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { useMemo } from 'react';\n\nvar toFnRef = function toFnRef(ref) {\n return !ref || typeof ref === 'function' ? ref : function (value) {\n ref.current = value;\n };\n};\n\nexport function mergeRefs(refA, refB) {\n var a = toFnRef(refA);\n var b = toFnRef(refB);\n return function (value) {\n if (a) a(value);\n if (b) b(value);\n };\n}\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n * const [element, attachRef] = useCallbackRef<HTMLButtonElement>();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return <button ref={mergedRef} {...props}/>\n * })\n * ```\n *\n * @param refA A Callback or mutable Ref\n * @param refB A Callback or mutable Ref\n * @category refs\n */\n\nfunction useMergedRefs(refA, refB) {\n return useMemo(function () {\n return mergeRefs(refA, refB);\n }, [refA, refB]);\n}\n\nexport default useMergedRefs;","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import _Reflect$construct from \"@babel/runtime-corejs3/core-js/reflect/construct\";\nimport getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = _Reflect$construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","import _sliceInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/slice\";\nimport _Object$freeze from \"@babel/runtime-corejs3/core-js/object/freeze\";\nimport _Object$defineProperties from \"@babel/runtime-corejs3/core-js/object/define-properties\";\nexport default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = _sliceInstanceProperty(strings).call(strings, 0);\n }\n\n return _Object$freeze(_Object$defineProperties(strings, {\n raw: {\n value: _Object$freeze(raw)\n }\n }));\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import _Array$isArray from \"@babel/runtime-corejs3/core-js/array/is-array\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (_Array$isArray(arr)) return arrayLikeToArray(arr);\n}","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _getIteratorMethod from \"@babel/runtime-corejs3/core-js/get-iterator-method\";\nimport _Array$from from \"@babel/runtime-corejs3/core-js/array/from\";\nexport default function _iterableToArray(iter) {\n if (typeof _Symbol !== \"undefined\" && _getIteratorMethod(iter) != null || iter[\"@@iterator\"] != null) return _Array$from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","'use strict';\n\nvar Config = {\n DEBUG: false,\n LIB_VERSION: '2.40.0'\n};\n\n// since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file\nvar window$1;\nif (typeof(window) === 'undefined') {\n var loc = {\n hostname: ''\n };\n window$1 = {\n navigator: { userAgent: '' },\n document: {\n location: loc,\n referrer: ''\n },\n screen: { width: 0, height: 0 },\n location: loc\n };\n} else {\n window$1 = window;\n}\n\n/*\n * Saved references to long variable names, so that closure compiler can\n * minimize file size.\n */\n\nvar ArrayProto = Array.prototype;\nvar FuncProto = Function.prototype;\nvar ObjProto = Object.prototype;\nvar slice = ArrayProto.slice;\nvar toString = ObjProto.toString;\nvar hasOwnProperty = ObjProto.hasOwnProperty;\nvar windowConsole = window$1.console;\nvar navigator$1 = window$1.navigator;\nvar document$1 = window$1.document;\nvar windowOpera = window$1.opera;\nvar screen = window$1.screen;\nvar userAgent = navigator$1.userAgent;\nvar nativeBind = FuncProto.bind;\nvar nativeForEach = ArrayProto.forEach;\nvar nativeIndexOf = ArrayProto.indexOf;\nvar nativeMap = ArrayProto.map;\nvar nativeIsArray = Array.isArray;\nvar breaker = {};\nvar _ = {\n trim: function(str) {\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n }\n};\n\n// Console override\nvar console$1 = {\n /** @type {function(...*)} */\n log: function() {\n if (Config.DEBUG && !_.isUndefined(windowConsole) && windowConsole) {\n try {\n windowConsole.log.apply(windowConsole, arguments);\n } catch (err) {\n _.each(arguments, function(arg) {\n windowConsole.log(arg);\n });\n }\n }\n },\n /** @type {function(...*)} */\n error: function() {\n if (Config.DEBUG && !_.isUndefined(windowConsole) && windowConsole) {\n var args = ['Mixpanel error:'].concat(_.toArray(arguments));\n try {\n windowConsole.error.apply(windowConsole, args);\n } catch (err) {\n _.each(args, function(arg) {\n windowConsole.error(arg);\n });\n }\n }\n },\n /** @type {function(...*)} */\n critical: function() {\n if (!_.isUndefined(windowConsole) && windowConsole) {\n var args = ['Mixpanel error:'].concat(_.toArray(arguments));\n try {\n windowConsole.error.apply(windowConsole, args);\n } catch (err) {\n _.each(args, function(arg) {\n windowConsole.error(arg);\n });\n }\n }\n }\n};\n\nvar log_func_with_prefix = function(func, prefix) {\n return function() {\n arguments[0] = '[' + prefix + '] ' + arguments[0];\n return func.apply(console$1, arguments);\n };\n};\nvar console_with_prefix = function(prefix) {\n return {\n log: log_func_with_prefix(console$1.log, prefix),\n error: log_func_with_prefix(console$1.error, prefix),\n critical: log_func_with_prefix(console$1.critical, prefix)\n };\n};\n\n\n// UNDERSCORE\n// Embed part of the Underscore Library\n_.bind = function(func, context) {\n var args, bound;\n if (nativeBind && func.bind === nativeBind) {\n return nativeBind.apply(func, slice.call(arguments, 1));\n }\n if (!_.isFunction(func)) {\n throw new TypeError();\n }\n args = slice.call(arguments, 2);\n bound = function() {\n if (!(this instanceof bound)) {\n return func.apply(context, args.concat(slice.call(arguments)));\n }\n var ctor = {};\n ctor.prototype = func.prototype;\n var self = new ctor();\n ctor.prototype = null;\n var result = func.apply(self, args.concat(slice.call(arguments)));\n if (Object(result) === result) {\n return result;\n }\n return self;\n };\n return bound;\n};\n\n_.bind_instance_methods = function(obj) {\n for (var func in obj) {\n if (typeof(obj[func]) === 'function') {\n obj[func] = _.bind(obj[func], obj);\n }\n }\n};\n\n/**\n * @param {*=} obj\n * @param {function(...*)=} iterator\n * @param {Object=} context\n */\n_.each = function(obj, iterator, context) {\n if (obj === null || obj === undefined) {\n return;\n }\n if (nativeForEach && obj.forEach === nativeForEach) {\n obj.forEach(iterator, context);\n } else if (obj.length === +obj.length) {\n for (var i = 0, l = obj.length; i < l; i++) {\n if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) {\n return;\n }\n }\n } else {\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n if (iterator.call(context, obj[key], key, obj) === breaker) {\n return;\n }\n }\n }\n }\n};\n\n_.escapeHTML = function(s) {\n var escaped = s;\n if (escaped && _.isString(escaped)) {\n escaped = escaped\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n }\n return escaped;\n};\n\n_.extend = function(obj) {\n _.each(slice.call(arguments, 1), function(source) {\n for (var prop in source) {\n if (source[prop] !== void 0) {\n obj[prop] = source[prop];\n }\n }\n });\n return obj;\n};\n\n_.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n};\n\n// from a comment on http://dbj.org/dbj/?p=286\n// fails on only one very rare and deliberate custom object:\n// var bomb = { toString : undefined, valueOf: function(o) { return \"function BOMBA!\"; }};\n_.isFunction = function(f) {\n try {\n return /^\\s*\\bfunction\\b/.test(f);\n } catch (x) {\n return false;\n }\n};\n\n_.isArguments = function(obj) {\n return !!(obj && hasOwnProperty.call(obj, 'callee'));\n};\n\n_.toArray = function(iterable) {\n if (!iterable) {\n return [];\n }\n if (iterable.toArray) {\n return iterable.toArray();\n }\n if (_.isArray(iterable)) {\n return slice.call(iterable);\n }\n if (_.isArguments(iterable)) {\n return slice.call(iterable);\n }\n return _.values(iterable);\n};\n\n_.map = function(arr, callback, context) {\n if (nativeMap && arr.map === nativeMap) {\n return arr.map(callback, context);\n } else {\n var results = [];\n _.each(arr, function(item) {\n results.push(callback.call(context, item));\n });\n return results;\n }\n};\n\n_.keys = function(obj) {\n var results = [];\n if (obj === null) {\n return results;\n }\n _.each(obj, function(value, key) {\n results[results.length] = key;\n });\n return results;\n};\n\n_.values = function(obj) {\n var results = [];\n if (obj === null) {\n return results;\n }\n _.each(obj, function(value) {\n results[results.length] = value;\n });\n return results;\n};\n\n_.identity = function(value) {\n return value;\n};\n\n_.include = function(obj, target) {\n var found = false;\n if (obj === null) {\n return found;\n }\n if (nativeIndexOf && obj.indexOf === nativeIndexOf) {\n return obj.indexOf(target) != -1;\n }\n _.each(obj, function(value) {\n if (found || (found = (value === target))) {\n return breaker;\n }\n });\n return found;\n};\n\n_.includes = function(str, needle) {\n return str.indexOf(needle) !== -1;\n};\n\n// Underscore Addons\n_.inherit = function(subclass, superclass) {\n subclass.prototype = new superclass();\n subclass.prototype.constructor = subclass;\n subclass.superclass = superclass.prototype;\n return subclass;\n};\n\n_.isObject = function(obj) {\n return (obj === Object(obj) && !_.isArray(obj));\n};\n\n_.isEmptyObject = function(obj) {\n if (_.isObject(obj)) {\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n\n_.isUndefined = function(obj) {\n return obj === void 0;\n};\n\n_.isString = function(obj) {\n return toString.call(obj) == '[object String]';\n};\n\n_.isDate = function(obj) {\n return toString.call(obj) == '[object Date]';\n};\n\n_.isNumber = function(obj) {\n return toString.call(obj) == '[object Number]';\n};\n\n_.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n};\n\n_.encodeDates = function(obj) {\n _.each(obj, function(v, k) {\n if (_.isDate(v)) {\n obj[k] = _.formatDate(v);\n } else if (_.isObject(v)) {\n obj[k] = _.encodeDates(v); // recurse\n }\n });\n return obj;\n};\n\n_.timestamp = function() {\n Date.now = Date.now || function() {\n return +new Date;\n };\n return Date.now();\n};\n\n_.formatDate = function(d) {\n // YYYY-MM-DDTHH:MM:SS in UTC\n function pad(n) {\n return n < 10 ? '0' + n : n;\n }\n return d.getUTCFullYear() + '-' +\n pad(d.getUTCMonth() + 1) + '-' +\n pad(d.getUTCDate()) + 'T' +\n pad(d.getUTCHours()) + ':' +\n pad(d.getUTCMinutes()) + ':' +\n pad(d.getUTCSeconds());\n};\n\n_.safewrap = function(f) {\n return function() {\n try {\n return f.apply(this, arguments);\n } catch (e) {\n console$1.critical('Implementation error. Please turn on debug and contact support@mixpanel.com.');\n if (Config.DEBUG){\n console$1.critical(e);\n }\n }\n };\n};\n\n_.safewrap_class = function(klass, functions) {\n for (var i = 0; i < functions.length; i++) {\n klass.prototype[functions[i]] = _.safewrap(klass.prototype[functions[i]]);\n }\n};\n\n_.safewrap_instance_methods = function(obj) {\n for (var func in obj) {\n if (typeof(obj[func]) === 'function') {\n obj[func] = _.safewrap(obj[func]);\n }\n }\n};\n\n_.strip_empty_properties = function(p) {\n var ret = {};\n _.each(p, function(v, k) {\n if (_.isString(v) && v.length > 0) {\n ret[k] = v;\n }\n });\n return ret;\n};\n\n/*\n * this function returns a copy of object after truncating it. If\n * passed an Array or Object it will iterate through obj and\n * truncate all the values recursively.\n */\n_.truncate = function(obj, length) {\n var ret;\n\n if (typeof(obj) === 'string') {\n ret = obj.slice(0, length);\n } else if (_.isArray(obj)) {\n ret = [];\n _.each(obj, function(val) {\n ret.push(_.truncate(val, length));\n });\n } else if (_.isObject(obj)) {\n ret = {};\n _.each(obj, function(val, key) {\n ret[key] = _.truncate(val, length);\n });\n } else {\n ret = obj;\n }\n\n return ret;\n};\n\n_.JSONEncode = (function() {\n return function(mixed_val) {\n var value = mixed_val;\n var quote = function(string) {\n var escapable = /[\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g; // eslint-disable-line no-control-regex\n var meta = { // table of character substitutions\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\'\n };\n\n escapable.lastIndex = 0;\n return escapable.test(string) ?\n '\"' + 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 }) + '\"' :\n '\"' + string + '\"';\n };\n\n var str = function(key, holder) {\n var gap = '';\n var indent = ' ';\n var i = 0; // The loop counter.\n var k = ''; // The member key.\n var v = ''; // The member value.\n var length = 0;\n var mind = gap;\n var partial = [];\n var 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 // 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\n return String(value);\n\n case 'object':\n // If the type is 'object', we might be dealing with an object or an array or\n // null.\n // Due to a specification blunder in ECMAScript, typeof null is 'object',\n // so watch out for that case.\n if (!value) {\n return 'null';\n }\n\n // Make an array to hold the partial results of stringifying this object value.\n gap += indent;\n partial = [];\n\n // Is the value an array?\n if (toString.apply(value) === '[object Array]') {\n // The value is an array. Stringify every element. Use null as a placeholder\n // for non-JSON values.\n\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 wrap them in\n // brackets.\n v = partial.length === 0 ? '[]' :\n gap ? '[\\n' + gap +\n partial.join(',\\n' + gap) + '\\n' +\n mind + ']' :\n '[' + partial.join(',') + ']';\n gap = mind;\n return v;\n }\n\n // Iterate through all of the keys in the object.\n for (k in value) {\n if (hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n\n // Join all of the member texts together, separated with commas,\n // and wrap them in braces.\n v = partial.length === 0 ? '{}' :\n gap ? '{' + partial.join(',') + '' +\n mind + '}' : '{' + partial.join(',') + '}';\n gap = mind;\n return v;\n }\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('', {\n '': value\n });\n };\n})();\n\n/**\n * From https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js\n * Slightly modified to throw a real Error rather than a POJO\n */\n_.JSONDecode = (function() {\n var at, // The index of the current character\n ch, // The current character\n escapee = {\n '\"': '\"',\n '\\\\': '\\\\',\n '/': '/',\n 'b': '\\b',\n 'f': '\\f',\n 'n': '\\n',\n 'r': '\\r',\n 't': '\\t'\n },\n text,\n error = function(m) {\n var e = new SyntaxError(m);\n e.at = at;\n e.text = text;\n throw e;\n },\n next = function(c) {\n // If a c parameter is provided, verify that it matches the current character.\n if (c && c !== ch) {\n error('Expected \\'' + c + '\\' instead of \\'' + ch + '\\'');\n }\n // Get the next character. When there are no more characters,\n // return the empty string.\n ch = text.charAt(at);\n at += 1;\n return ch;\n },\n number = function() {\n // Parse a number value.\n var number,\n string = '';\n\n if (ch === '-') {\n string = '-';\n next('-');\n }\n while (ch >= '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 // 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 }\n 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 white = function() {\n // Skip whitespace.\n while (ch && ch <= ' ') {\n next();\n }\n },\n word = function() {\n // true, false, or null.\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 value, // Placeholder for the value function.\n array = function() {\n // Parse an array value.\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 object = function() {\n // Parse an object value.\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\n value = function() {\n // Parse a JSON value. It could be an object, an array, a string,\n // a number, or a word.\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\n // above functions and variables.\n return function(source) {\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 return result;\n };\n})();\n\n_.base64Encode = function(data) {\n var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n enc = '',\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n data = _.utf8Encode(data);\n\n do { // pack three octets into four hexets\n o1 = data.charCodeAt(i++);\n o2 = data.charCodeAt(i++);\n o3 = data.charCodeAt(i++);\n\n bits = o1 << 16 | o2 << 8 | o3;\n\n h1 = bits >> 18 & 0x3f;\n h2 = bits >> 12 & 0x3f;\n h3 = bits >> 6 & 0x3f;\n h4 = bits & 0x3f;\n\n // use hexets to index into b64, and append result to encoded string\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);\n } while (i < data.length);\n\n enc = tmp_arr.join('');\n\n switch (data.length % 3) {\n case 1:\n enc = enc.slice(0, -2) + '==';\n break;\n case 2:\n enc = enc.slice(0, -1) + '=';\n break;\n }\n\n return enc;\n};\n\n_.utf8Encode = function(string) {\n string = (string + '').replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n\n var utftext = '',\n start,\n end;\n var stringl = 0,\n n;\n\n start = end = 0;\n stringl = string.length;\n\n for (n = 0; n < stringl; n++) {\n var c1 = string.charCodeAt(n);\n var enc = null;\n\n if (c1 < 128) {\n end++;\n } else if ((c1 > 127) && (c1 < 2048)) {\n enc = String.fromCharCode((c1 >> 6) | 192, (c1 & 63) | 128);\n } else {\n enc = String.fromCharCode((c1 >> 12) | 224, ((c1 >> 6) & 63) | 128, (c1 & 63) | 128);\n }\n if (enc !== null) {\n if (end > start) {\n utftext += string.substring(start, end);\n }\n utftext += enc;\n start = end = n + 1;\n }\n }\n\n if (end > start) {\n utftext += string.substring(start, string.length);\n }\n\n return utftext;\n};\n\n_.UUID = (function() {\n\n // Time/ticks information\n // 1*new Date() is a cross browser version of Date.now()\n var T = function() {\n var d = 1 * new Date(),\n i = 0;\n\n // this while loop figures how many browser ticks go by\n // before 1*new Date() returns a new number, ie the amount\n // of ticks that go by per millisecond\n while (d == 1 * new Date()) {\n i++;\n }\n\n return d.toString(16) + i.toString(16);\n };\n\n // Math.Random entropy\n var R = function() {\n return Math.random().toString(16).replace('.', '');\n };\n\n // User agent entropy\n // This function takes the user agent string, and then xors\n // together each sequence of 8 bytes. This produces a final\n // sequence of 8 bytes which it returns as hex.\n var UA = function() {\n var ua = userAgent,\n i, ch, buffer = [],\n ret = 0;\n\n function xor(result, byte_array) {\n var j, tmp = 0;\n for (j = 0; j < byte_array.length; j++) {\n tmp |= (buffer[j] << j * 8);\n }\n return result ^ tmp;\n }\n\n for (i = 0; i < ua.length; i++) {\n ch = ua.charCodeAt(i);\n buffer.unshift(ch & 0xFF);\n if (buffer.length >= 4) {\n ret = xor(ret, buffer);\n buffer = [];\n }\n }\n\n if (buffer.length > 0) {\n ret = xor(ret, buffer);\n }\n\n return ret.toString(16);\n };\n\n return function() {\n var se = (screen.height * screen.width).toString(16);\n return (T() + '-' + R() + '-' + UA() + '-' + se + '-' + T());\n };\n})();\n\n// _.isBlockedUA()\n// This is to block various web spiders from executing our JS and\n// sending false tracking data\n_.isBlockedUA = function(ua) {\n if (/(google web preview|baiduspider|yandexbot|bingbot|googlebot|yahoo! slurp)/i.test(ua)) {\n return true;\n }\n return false;\n};\n\n/**\n * @param {Object=} formdata\n * @param {string=} arg_separator\n */\n_.HTTPBuildQuery = function(formdata, arg_separator) {\n var use_val, use_key, tmp_arr = [];\n\n if (_.isUndefined(arg_separator)) {\n arg_separator = '&';\n }\n\n _.each(formdata, function(val, key) {\n use_val = encodeURIComponent(val.toString());\n use_key = encodeURIComponent(key);\n tmp_arr[tmp_arr.length] = use_key + '=' + use_val;\n });\n\n return tmp_arr.join(arg_separator);\n};\n\n_.getQueryParam = function(url, param) {\n // Expects a raw URL\n\n param = param.replace(/[[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n var regexS = '[\\\\?&]' + param + '=([^&#]*)',\n regex = new RegExp(regexS),\n results = regex.exec(url);\n if (results === null || (results && typeof(results[1]) !== 'string' && results[1].length)) {\n return '';\n } else {\n var result = results[1];\n try {\n result = decodeURIComponent(result);\n } catch(err) {\n console$1.error('Skipping decoding for malformed query param: ' + result);\n }\n return result.replace(/\\+/g, ' ');\n }\n};\n\n_.getHashParam = function(hash, param) {\n var matches = hash.match(new RegExp(param + '=([^&]*)'));\n return matches ? matches[1] : null;\n};\n\n// _.cookie\n// Methods partially borrowed from quirksmode.org/js/cookies.html\n_.cookie = {\n get: function(name) {\n var nameEQ = name + '=';\n var ca = document$1.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) {\n return decodeURIComponent(c.substring(nameEQ.length, c.length));\n }\n }\n return null;\n },\n\n parse: function(name) {\n var cookie;\n try {\n cookie = _.JSONDecode(_.cookie.get(name)) || {};\n } catch (err) {\n // noop\n }\n return cookie;\n },\n\n set_seconds: function(name, value, seconds, is_cross_subdomain, is_secure, is_cross_site, domain_override) {\n var cdomain = '',\n expires = '',\n secure = '';\n\n if (domain_override) {\n cdomain = '; domain=' + domain_override;\n } else if (is_cross_subdomain) {\n var domain = extract_domain(document$1.location.hostname);\n cdomain = domain ? '; domain=.' + domain : '';\n }\n\n if (seconds) {\n var date = new Date();\n date.setTime(date.getTime() + (seconds * 1000));\n expires = '; expires=' + date.toGMTString();\n }\n\n if (is_cross_site) {\n is_secure = true;\n secure = '; SameSite=None';\n }\n if (is_secure) {\n secure += '; secure';\n }\n\n document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;\n },\n\n set: function(name, value, days, is_cross_subdomain, is_secure, is_cross_site, domain_override) {\n var cdomain = '', expires = '', secure = '';\n\n if (domain_override) {\n cdomain = '; domain=' + domain_override;\n } else if (is_cross_subdomain) {\n var domain = extract_domain(document$1.location.hostname);\n cdomain = domain ? '; domain=.' + domain : '';\n }\n\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n expires = '; expires=' + date.toGMTString();\n }\n\n if (is_cross_site) {\n is_secure = true;\n secure = '; SameSite=None';\n }\n if (is_secure) {\n secure += '; secure';\n }\n\n var new_cookie_val = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;\n document$1.cookie = new_cookie_val;\n return new_cookie_val;\n },\n\n remove: function(name, is_cross_subdomain, domain_override) {\n _.cookie.set(name, '', -1, is_cross_subdomain, false, false, domain_override);\n }\n};\n\nvar _localStorageSupported = null;\nvar localStorageSupported = function(storage, forceCheck) {\n if (_localStorageSupported !== null && !forceCheck) {\n return _localStorageSupported;\n }\n\n var supported = true;\n try {\n storage = storage || window.localStorage;\n var key = '__mplss_' + cheap_guid(8),\n val = 'xyz';\n storage.setItem(key, val);\n if (storage.getItem(key) !== val) {\n supported = false;\n }\n storage.removeItem(key);\n } catch (err) {\n supported = false;\n }\n\n _localStorageSupported = supported;\n return supported;\n};\n\n// _.localStorage\n_.localStorage = {\n is_supported: function(force_check) {\n var supported = localStorageSupported(null, force_check);\n if (!supported) {\n console$1.error('localStorage unsupported; falling back to cookie store');\n }\n return supported;\n },\n\n error: function(msg) {\n console$1.error('localStorage error: ' + msg);\n },\n\n get: function(name) {\n try {\n return window.localStorage.getItem(name);\n } catch (err) {\n _.localStorage.error(err);\n }\n return null;\n },\n\n parse: function(name) {\n try {\n return _.JSONDecode(_.localStorage.get(name)) || {};\n } catch (err) {\n // noop\n }\n return null;\n },\n\n set: function(name, value) {\n try {\n window.localStorage.setItem(name, value);\n } catch (err) {\n _.localStorage.error(err);\n }\n },\n\n remove: function(name) {\n try {\n window.localStorage.removeItem(name);\n } catch (err) {\n _.localStorage.error(err);\n }\n }\n};\n\n_.register_event = (function() {\n // written by Dean Edwards, 2005\n // with input from Tino Zijdel - crisp@xs4all.nl\n // with input from Carl Sverre - mail@carlsverre.com\n // with input from Mixpanel\n // http://dean.edwards.name/weblog/2005/10/add-event/\n // https://gist.github.com/1930440\n\n /**\n * @param {Object} element\n * @param {string} type\n * @param {function(...*)} handler\n * @param {boolean=} oldSchool\n * @param {boolean=} useCapture\n */\n var register_event = function(element, type, handler, oldSchool, useCapture) {\n if (!element) {\n console$1.error('No valid element provided to register_event');\n return;\n }\n\n if (element.addEventListener && !oldSchool) {\n element.addEventListener(type, handler, !!useCapture);\n } else {\n var ontype = 'on' + type;\n var old_handler = element[ontype]; // can be undefined\n element[ontype] = makeHandler(element, handler, old_handler);\n }\n };\n\n function makeHandler(element, new_handler, old_handlers) {\n var handler = function(event) {\n event = event || fixEvent(window.event);\n\n // this basically happens in firefox whenever another script\n // overwrites the onload callback and doesn't pass the event\n // object to previously defined callbacks. All the browsers\n // that don't define window.event implement addEventListener\n // so the dom_loaded handler will still be fired as usual.\n if (!event) {\n return undefined;\n }\n\n var ret = true;\n var old_result, new_result;\n\n if (_.isFunction(old_handlers)) {\n old_result = old_handlers(event);\n }\n new_result = new_handler.call(element, event);\n\n if ((false === old_result) || (false === new_result)) {\n ret = false;\n }\n\n return ret;\n };\n\n return handler;\n }\n\n function fixEvent(event) {\n if (event) {\n event.preventDefault = fixEvent.preventDefault;\n event.stopPropagation = fixEvent.stopPropagation;\n }\n return event;\n }\n fixEvent.preventDefault = function() {\n this.returnValue = false;\n };\n fixEvent.stopPropagation = function() {\n this.cancelBubble = true;\n };\n\n return register_event;\n})();\n\n\nvar TOKEN_MATCH_REGEX = new RegExp('^(\\\\w*)\\\\[(\\\\w+)([=~\\\\|\\\\^\\\\$\\\\*]?)=?\"?([^\\\\]\"]*)\"?\\\\]$');\n\n_.dom_query = (function() {\n /* document.getElementsBySelector(selector)\n - returns an array of element objects from the current document\n matching the CSS selector. Selectors can contain element names,\n class names and ids and can be nested. For example:\n\n elements = document.getElementsBySelector('div#main p a.external')\n\n Will return an array of all 'a' elements with 'external' in their\n class attribute that are contained inside 'p' elements that are\n contained inside the 'div' element which has id=\"main\"\n\n New in version 0.4: Support for CSS2 and CSS3 attribute selectors:\n See http://www.w3.org/TR/css3-selectors/#attribute-selectors\n\n Version 0.4 - Simon Willison, March 25th 2003\n -- Works in Phoenix 0.5, Mozilla 1.3, Opera 7, Internet Explorer 6, Internet Explorer 5 on Windows\n -- Opera 7 fails\n\n Version 0.5 - Carl Sverre, Jan 7th 2013\n -- Now uses jQuery-esque `hasClass` for testing class name\n equality. This fixes a bug related to '-' characters being\n considered not part of a 'word' in regex.\n */\n\n function getAllChildren(e) {\n // Returns all children of element. Workaround required for IE5/Windows. Ugh.\n return e.all ? e.all : e.getElementsByTagName('*');\n }\n\n var bad_whitespace = /[\\t\\r\\n]/g;\n\n function hasClass(elem, selector) {\n var className = ' ' + selector + ' ';\n return ((' ' + elem.className + ' ').replace(bad_whitespace, ' ').indexOf(className) >= 0);\n }\n\n function getElementsBySelector(selector) {\n // Attempt to fail gracefully in lesser browsers\n if (!document$1.getElementsByTagName) {\n return [];\n }\n // Split selector in to tokens\n var tokens = selector.split(' ');\n var token, bits, tagName, found, foundCount, i, j, k, elements, currentContextIndex;\n var currentContext = [document$1];\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i].replace(/^\\s+/, '').replace(/\\s+$/, '');\n if (token.indexOf('#') > -1) {\n // Token is an ID selector\n bits = token.split('#');\n tagName = bits[0];\n var id = bits[1];\n var element = document$1.getElementById(id);\n if (!element || (tagName && element.nodeName.toLowerCase() != tagName)) {\n // element not found or tag with that ID not found, return false\n return [];\n }\n // Set currentContext to contain just this element\n currentContext = [element];\n continue; // Skip to next token\n }\n if (token.indexOf('.') > -1) {\n // Token contains a class selector\n bits = token.split('.');\n tagName = bits[0];\n var className = bits[1];\n if (!tagName) {\n tagName = '*';\n }\n // Get elements matching tag, filter them for class selector\n found = [];\n foundCount = 0;\n for (j = 0; j < currentContext.length; j++) {\n if (tagName == '*') {\n elements = getAllChildren(currentContext[j]);\n } else {\n elements = currentContext[j].getElementsByTagName(tagName);\n }\n for (k = 0; k < elements.length; k++) {\n found[foundCount++] = elements[k];\n }\n }\n currentContext = [];\n currentContextIndex = 0;\n for (j = 0; j < found.length; j++) {\n if (found[j].className &&\n _.isString(found[j].className) && // some SVG elements have classNames which are not strings\n hasClass(found[j], className)\n ) {\n currentContext[currentContextIndex++] = found[j];\n }\n }\n continue; // Skip to next token\n }\n // Code to deal with attribute selectors\n var token_match = token.match(TOKEN_MATCH_REGEX);\n if (token_match) {\n tagName = token_match[1];\n var attrName = token_match[2];\n var attrOperator = token_match[3];\n var attrValue = token_match[4];\n if (!tagName) {\n tagName = '*';\n }\n // Grab all of the tagName elements within current context\n found = [];\n foundCount = 0;\n for (j = 0; j < currentContext.length; j++) {\n if (tagName == '*') {\n elements = getAllChildren(currentContext[j]);\n } else {\n elements = currentContext[j].getElementsByTagName(tagName);\n }\n for (k = 0; k < elements.length; k++) {\n found[foundCount++] = elements[k];\n }\n }\n currentContext = [];\n currentContextIndex = 0;\n var checkFunction; // This function will be used to filter the elements\n switch (attrOperator) {\n case '=': // Equality\n checkFunction = function(e) {\n return (e.getAttribute(attrName) == attrValue);\n };\n break;\n case '~': // Match one of space seperated words\n checkFunction = function(e) {\n return (e.getAttribute(attrName).match(new RegExp('\\\\b' + attrValue + '\\\\b')));\n };\n break;\n case '|': // Match start with value followed by optional hyphen\n checkFunction = function(e) {\n return (e.getAttribute(attrName).match(new RegExp('^' + attrValue + '-?')));\n };\n break;\n case '^': // Match starts with value\n checkFunction = function(e) {\n return (e.getAttribute(attrName).indexOf(attrValue) === 0);\n };\n break;\n case '$': // Match ends with value - fails with \"Warning\" in Opera 7\n checkFunction = function(e) {\n return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length);\n };\n break;\n case '*': // Match ends with value\n checkFunction = function(e) {\n return (e.getAttribute(attrName).indexOf(attrValue) > -1);\n };\n break;\n default:\n // Just test for existence of attribute\n checkFunction = function(e) {\n return e.getAttribute(attrName);\n };\n }\n currentContext = [];\n currentContextIndex = 0;\n for (j = 0; j < found.length; j++) {\n if (checkFunction(found[j])) {\n currentContext[currentContextIndex++] = found[j];\n }\n }\n // alert('Attribute Selector: '+tagName+' '+attrName+' '+attrOperator+' '+attrValue);\n continue; // Skip to next token\n }\n // If we get here, token is JUST an element (not a class or ID selector)\n tagName = token;\n found = [];\n foundCount = 0;\n for (j = 0; j < currentContext.length; j++) {\n elements = currentContext[j].getElementsByTagName(tagName);\n for (k = 0; k < elements.length; k++) {\n found[foundCount++] = elements[k];\n }\n }\n currentContext = found;\n }\n return currentContext;\n }\n\n return function(query) {\n if (_.isElement(query)) {\n return [query];\n } else if (_.isObject(query) && !_.isUndefined(query.length)) {\n return query;\n } else {\n return getElementsBySelector.call(this, query);\n }\n };\n})();\n\n_.info = {\n campaignParams: function() {\n var campaign_keywords = 'utm_source utm_medium utm_campaign utm_content utm_term'.split(' '),\n kw = '',\n params = {};\n _.each(campaign_keywords, function(kwkey) {\n kw = _.getQueryParam(document$1.URL, kwkey);\n if (kw.length) {\n params[kwkey] = kw;\n }\n });\n\n return params;\n },\n\n searchEngine: function(referrer) {\n if (referrer.search('https?://(.*)google.([^/?]*)') === 0) {\n return 'google';\n } else if (referrer.search('https?://(.*)bing.com') === 0) {\n return 'bing';\n } else if (referrer.search('https?://(.*)yahoo.com') === 0) {\n return 'yahoo';\n } else if (referrer.search('https?://(.*)duckduckgo.com') === 0) {\n return 'duckduckgo';\n } else {\n return null;\n }\n },\n\n searchInfo: function(referrer) {\n var search = _.info.searchEngine(referrer),\n param = (search != 'yahoo') ? 'q' : 'p',\n ret = {};\n\n if (search !== null) {\n ret['$search_engine'] = search;\n\n var keyword = _.getQueryParam(referrer, param);\n if (keyword.length) {\n ret['mp_keyword'] = keyword;\n }\n }\n\n return ret;\n },\n\n /**\n * This function detects which browser is running this script.\n * The order of the checks are important since many user agents\n * include key words used in later checks.\n */\n browser: function(user_agent, vendor, opera) {\n vendor = vendor || ''; // vendor is undefined for at least IE9\n if (opera || _.includes(user_agent, ' OPR/')) {\n if (_.includes(user_agent, 'Mini')) {\n return 'Opera Mini';\n }\n return 'Opera';\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return 'BlackBerry';\n } else if (_.includes(user_agent, 'IEMobile') || _.includes(user_agent, 'WPDesktop')) {\n return 'Internet Explorer Mobile';\n } else if (_.includes(user_agent, 'SamsungBrowser/')) {\n // https://developer.samsung.com/internet/user-agent-string-format\n return 'Samsung Internet';\n } else if (_.includes(user_agent, 'Edge') || _.includes(user_agent, 'Edg/')) {\n return 'Microsoft Edge';\n } else if (_.includes(user_agent, 'FBIOS')) {\n return 'Facebook Mobile';\n } else if (_.includes(user_agent, 'Chrome')) {\n return 'Chrome';\n } else if (_.includes(user_agent, 'CriOS')) {\n return 'Chrome iOS';\n } else if (_.includes(user_agent, 'UCWEB') || _.includes(user_agent, 'UCBrowser')) {\n return 'UC Browser';\n } else if (_.includes(user_agent, 'FxiOS')) {\n return 'Firefox iOS';\n } else if (_.includes(vendor, 'Apple')) {\n if (_.includes(user_agent, 'Mobile')) {\n return 'Mobile Safari';\n }\n return 'Safari';\n } else if (_.includes(user_agent, 'Android')) {\n return 'Android Mobile';\n } else if (_.includes(user_agent, 'Konqueror')) {\n return 'Konqueror';\n } else if (_.includes(user_agent, 'Firefox')) {\n return 'Firefox';\n } else if (_.includes(user_agent, 'MSIE') || _.includes(user_agent, 'Trident/')) {\n return 'Internet Explorer';\n } else if (_.includes(user_agent, 'Gecko')) {\n return 'Mozilla';\n } else {\n return '';\n }\n },\n\n /**\n * This function detects which browser version is running this script,\n * parsing major and minor version (e.g., 42.1). User agent strings from:\n * http://www.useragentstring.com/pages/useragentstring.php\n */\n browserVersion: function(userAgent, vendor, opera) {\n var browser = _.info.browser(userAgent, vendor, opera);\n var versionRegexs = {\n 'Internet Explorer Mobile': /rv:(\\d+(\\.\\d+)?)/,\n 'Microsoft Edge': /Edge?\\/(\\d+(\\.\\d+)?)/,\n 'Chrome': /Chrome\\/(\\d+(\\.\\d+)?)/,\n 'Chrome iOS': /CriOS\\/(\\d+(\\.\\d+)?)/,\n 'UC Browser' : /(UCBrowser|UCWEB)\\/(\\d+(\\.\\d+)?)/,\n 'Safari': /Version\\/(\\d+(\\.\\d+)?)/,\n 'Mobile Safari': /Version\\/(\\d+(\\.\\d+)?)/,\n 'Opera': /(Opera|OPR)\\/(\\d+(\\.\\d+)?)/,\n 'Firefox': /Firefox\\/(\\d+(\\.\\d+)?)/,\n 'Firefox iOS': /FxiOS\\/(\\d+(\\.\\d+)?)/,\n 'Konqueror': /Konqueror:(\\d+(\\.\\d+)?)/,\n 'BlackBerry': /BlackBerry (\\d+(\\.\\d+)?)/,\n 'Android Mobile': /android\\s(\\d+(\\.\\d+)?)/,\n 'Samsung Internet': /SamsungBrowser\\/(\\d+(\\.\\d+)?)/,\n 'Internet Explorer': /(rv:|MSIE )(\\d+(\\.\\d+)?)/,\n 'Mozilla': /rv:(\\d+(\\.\\d+)?)/\n };\n var regex = versionRegexs[browser];\n if (regex === undefined) {\n return null;\n }\n var matches = userAgent.match(regex);\n if (!matches) {\n return null;\n }\n return parseFloat(matches[matches.length - 2]);\n },\n\n os: function() {\n var a = userAgent;\n if (/Windows/i.test(a)) {\n if (/Phone/.test(a) || /WPDesktop/.test(a)) {\n return 'Windows Phone';\n }\n return 'Windows';\n } else if (/(iPhone|iPad|iPod)/.test(a)) {\n return 'iOS';\n } else if (/Android/.test(a)) {\n return 'Android';\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(a)) {\n return 'BlackBerry';\n } else if (/Mac/i.test(a)) {\n return 'Mac OS X';\n } else if (/Linux/.test(a)) {\n return 'Linux';\n } else if (/CrOS/.test(a)) {\n return 'Chrome OS';\n } else {\n return '';\n }\n },\n\n device: function(user_agent) {\n if (/Windows Phone/i.test(user_agent) || /WPDesktop/.test(user_agent)) {\n return 'Windows Phone';\n } else if (/iPad/.test(user_agent)) {\n return 'iPad';\n } else if (/iPod/.test(user_agent)) {\n return 'iPod Touch';\n } else if (/iPhone/.test(user_agent)) {\n return 'iPhone';\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return 'BlackBerry';\n } else if (/Android/.test(user_agent)) {\n return 'Android';\n } else {\n return '';\n }\n },\n\n referringDomain: function(referrer) {\n var split = referrer.split('/');\n if (split.length >= 3) {\n return split[2];\n }\n return '';\n },\n\n properties: function() {\n return _.extend(_.strip_empty_properties({\n '$os': _.info.os(),\n '$browser': _.info.browser(userAgent, navigator$1.vendor, windowOpera),\n '$referrer': document$1.referrer,\n '$referring_domain': _.info.referringDomain(document$1.referrer),\n '$device': _.info.device(userAgent)\n }), {\n '$current_url': window$1.location.href,\n '$browser_version': _.info.browserVersion(userAgent, navigator$1.vendor, windowOpera),\n '$screen_height': screen.height,\n '$screen_width': screen.width,\n 'mp_lib': 'web',\n '$lib_version': Config.LIB_VERSION,\n '$insert_id': cheap_guid(),\n 'time': _.timestamp() / 1000 // epoch time in seconds\n });\n },\n\n people_properties: function() {\n return _.extend(_.strip_empty_properties({\n '$os': _.info.os(),\n '$browser': _.info.browser(userAgent, navigator$1.vendor, windowOpera)\n }), {\n '$browser_version': _.info.browserVersion(userAgent, navigator$1.vendor, windowOpera)\n });\n },\n\n pageviewInfo: function(page) {\n return _.strip_empty_properties({\n 'mp_page': page,\n 'mp_referrer': document$1.referrer,\n 'mp_browser': _.info.browser(userAgent, navigator$1.vendor, windowOpera),\n 'mp_platform': _.info.os()\n });\n }\n};\n\nvar cheap_guid = function(maxlen) {\n var guid = Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10);\n return maxlen ? guid.substring(0, maxlen) : guid;\n};\n\n/**\n * Check deterministically whether to include or exclude from a feature rollout/test based on the\n * given string and the desired percentage to include.\n * @param {String} str - string to run the check against (for instance a project's token)\n * @param {String} feature - name of feature (for inclusion in hash, to ensure different results\n * for different features)\n * @param {Number} percent_allowed - percentage chance that a given string will be included\n * @returns {Boolean} whether the given string should be included\n */\nvar determine_eligibility = _.safewrap(function(str, feature, percent_allowed) {\n str = str + feature;\n\n // Bernstein's hash: http://www.cse.yorku.ca/~oz/hash.html#djb2\n var hash = 5381;\n for (var i = 0; i < str.length; i++) {\n hash = ((hash << 5) + hash) + str.charCodeAt(i);\n hash = hash & hash;\n }\n var dart = (hash >>> 0) % 100;\n return dart < percent_allowed;\n});\n\n// naive way to extract domain name (example.com) from full hostname (my.sub.example.com)\nvar SIMPLE_DOMAIN_MATCH_REGEX = /[a-z0-9][a-z0-9-]*\\.[a-z]+$/i;\n// this next one attempts to account for some ccSLDs, e.g. extracting oxford.ac.uk from www.oxford.ac.uk\nvar DOMAIN_MATCH_REGEX = /[a-z0-9][a-z0-9-]+\\.[a-z.]{2,6}$/i;\n/**\n * Attempts to extract main domain name from full hostname, using a few blunt heuristics. For\n * common TLDs like .com/.org that always have a simple SLD.TLD structure (example.com), we\n * simply extract the last two .-separated parts of the hostname (SIMPLE_DOMAIN_MATCH_REGEX).\n * For others, we attempt to account for short ccSLD+TLD combos (.ac.uk) with the legacy\n * DOMAIN_MATCH_REGEX (kept to maintain backwards compatibility with existing Mixpanel\n * integrations). The only _reliable_ way to extract domain from hostname is with an up-to-date\n * list like at https://publicsuffix.org/ so for cases that this helper fails at, the SDK\n * offers the 'cookie_domain' config option to set it explicitly.\n * @example\n * extract_domain('my.sub.example.com')\n * // 'example.com'\n */\nvar extract_domain = function(hostname) {\n var domain_regex = DOMAIN_MATCH_REGEX;\n var parts = hostname.split('.');\n var tld = parts[parts.length - 1];\n if (tld.length > 4 || tld === 'com' || tld === 'org') {\n domain_regex = SIMPLE_DOMAIN_MATCH_REGEX;\n }\n var matches = hostname.match(domain_regex);\n return matches ? matches[0] : '';\n};\n\nvar JSONStringify = null;\nvar JSONParse = null;\nif (typeof JSON !== 'undefined') {\n JSONStringify = JSON.stringify;\n JSONParse = JSON.parse;\n}\nJSONStringify = JSONStringify || _.JSONEncode;\nJSONParse = JSONParse || _.JSONDecode;\n\n// EXPORTS (for closure compiler)\n_['toArray'] = _.toArray;\n_['isObject'] = _.isObject;\n_['JSONEncode'] = _.JSONEncode;\n_['JSONDecode'] = _.JSONDecode;\n_['isBlockedUA'] = _.isBlockedUA;\n_['isEmptyObject'] = _.isEmptyObject;\n_['info'] = _.info;\n_['info']['device'] = _.info.device;\n_['info']['browser'] = _.info.browser;\n_['info']['browserVersion'] = _.info.browserVersion;\n_['info']['properties'] = _.info.properties;\n\n/*\n * Get the className of an element, accounting for edge cases where element.className is an object\n * @param {Element} el - element to get the className of\n * @returns {string} the element's class\n */\nfunction getClassName(el) {\n switch(typeof el.className) {\n case 'string':\n return el.className;\n case 'object': // handle cases where className might be SVGAnimatedString or some other type\n return el.className.baseVal || el.getAttribute('class') || '';\n default: // future proof\n return '';\n }\n}\n\n/*\n * Get the direct text content of an element, protecting against sensitive data collection.\n * Concats textContent of each of the element's text node children; this avoids potential\n * collection of sensitive data that could happen if we used element.textContent and the\n * element had sensitive child elements, since element.textContent includes child content.\n * Scrubs values that look like they could be sensitive (i.e. cc or ssn number).\n * @param {Element} el - element to get the text of\n * @returns {string} the element's direct text content\n */\nfunction getSafeText(el) {\n var elText = '';\n\n if (shouldTrackElement(el) && el.childNodes && el.childNodes.length) {\n _.each(el.childNodes, function(child) {\n if (isTextNode(child) && child.textContent) {\n elText += _.trim(child.textContent)\n // scrub potentially sensitive values\n .split(/(\\s+)/).filter(shouldTrackValue).join('')\n // normalize whitespace\n .replace(/[\\r\\n]/g, ' ').replace(/[ ]+/g, ' ')\n // truncate\n .substring(0, 255);\n }\n });\n }\n\n return _.trim(elText);\n}\n\n/*\n * Check whether an element has nodeType Node.ELEMENT_NODE\n * @param {Element} el - element to check\n * @returns {boolean} whether el is of the correct nodeType\n */\nfunction isElementNode(el) {\n return el && el.nodeType === 1; // Node.ELEMENT_NODE - use integer constant for browser portability\n}\n\n/*\n * Check whether an element is of a given tag type.\n * Due to potential reference discrepancies (such as the webcomponents.js polyfill),\n * we want to match tagNames instead of specific references because something like\n * element === document.body won't always work because element might not be a native\n * element.\n * @param {Element} el - element to check\n * @param {string} tag - tag name (e.g., \"div\")\n * @returns {boolean} whether el is of the given tag type\n */\nfunction isTag(el, tag) {\n return el && el.tagName && el.tagName.toLowerCase() === tag.toLowerCase();\n}\n\n/*\n * Check whether an element has nodeType Node.TEXT_NODE\n * @param {Element} el - element to check\n * @returns {boolean} whether el is of the correct nodeType\n */\nfunction isTextNode(el) {\n return el && el.nodeType === 3; // Node.TEXT_NODE - use integer constant for browser portability\n}\n\n/*\n * Check whether a DOM event should be \"tracked\" or if it may contain sentitive data\n * using a variety of heuristics.\n * @param {Element} el - element to check\n * @param {Event} event - event to check\n * @returns {boolean} whether the event should be tracked\n */\nfunction shouldTrackDomEvent(el, event) {\n if (!el || isTag(el, 'html') || !isElementNode(el)) {\n return false;\n }\n var tag = el.tagName.toLowerCase();\n switch (tag) {\n case 'html':\n return false;\n case 'form':\n return event.type === 'submit';\n case 'input':\n if (['button', 'submit'].indexOf(el.getAttribute('type')) === -1) {\n return event.type === 'change';\n } else {\n return event.type === 'click';\n }\n case 'select':\n case 'textarea':\n return event.type === 'change';\n default:\n return event.type === 'click';\n }\n}\n\n/*\n * Check whether a DOM element should be \"tracked\" or if it may contain sentitive data\n * using a variety of heuristics.\n * @param {Element} el - element to check\n * @returns {boolean} whether the element should be tracked\n */\nfunction shouldTrackElement(el) {\n for (var curEl = el; curEl.parentNode && !isTag(curEl, 'body'); curEl = curEl.parentNode) {\n var classes = getClassName(curEl).split(' ');\n if (_.includes(classes, 'mp-sensitive') || _.includes(classes, 'mp-no-track')) {\n return false;\n }\n }\n\n if (_.includes(getClassName(el).split(' '), 'mp-include')) {\n return true;\n }\n\n // don't send data from inputs or similar elements since there will always be\n // a risk of clientside javascript placing sensitive data in attributes\n if (\n isTag(el, 'input') ||\n isTag(el, 'select') ||\n isTag(el, 'textarea') ||\n el.getAttribute('contenteditable') === 'true'\n ) {\n return false;\n }\n\n // don't include hidden or password fields\n var type = el.type || '';\n if (typeof type === 'string') { // it's possible for el.type to be a DOM element if el is a form with a child input[name=\"type\"]\n switch(type.toLowerCase()) {\n case 'hidden':\n return false;\n case 'password':\n return false;\n }\n }\n\n // filter out data from fields that look like sensitive fields\n var name = el.name || el.id || '';\n if (typeof name === 'string') { // it's possible for el.name or el.id to be a DOM element if el is a form with a child input[name=\"name\"]\n var sensitiveNameRegex = /^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i;\n if (sensitiveNameRegex.test(name.replace(/[^a-zA-Z0-9]/g, ''))) {\n return false;\n }\n }\n\n return true;\n}\n\n/*\n * Check whether a string value should be \"tracked\" or if it may contain sentitive data\n * using a variety of heuristics.\n * @param {string} value - string value to check\n * @returns {boolean} whether the element should be tracked\n */\nfunction shouldTrackValue(value) {\n if (value === null || _.isUndefined(value)) {\n return false;\n }\n\n if (typeof value === 'string') {\n value = _.trim(value);\n\n // check to see if input value looks like a credit card number\n // see: https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9781449327453/ch04s20.html\n var ccRegex = /^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/;\n if (ccRegex.test((value || '').replace(/[- ]/g, ''))) {\n return false;\n }\n\n // check to see if input value looks like a social security number\n var ssnRegex = /(^\\d{3}-?\\d{2}-?\\d{4}$)/;\n if (ssnRegex.test(value)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar autotrack = {\n _initializedTokens: [],\n\n _previousElementSibling: function(el) {\n if (el.previousElementSibling) {\n return el.previousElementSibling;\n } else {\n do {\n el = el.previousSibling;\n } while (el && !isElementNode(el));\n return el;\n }\n },\n\n _loadScript: function(scriptUrlToLoad, callback) {\n var scriptTag = document.createElement('script');\n scriptTag.type = 'text/javascript';\n scriptTag.src = scriptUrlToLoad;\n scriptTag.onload = callback;\n\n var scripts = document.getElementsByTagName('script');\n if (scripts.length > 0) {\n scripts[0].parentNode.insertBefore(scriptTag, scripts[0]);\n } else {\n document.body.appendChild(scriptTag);\n }\n },\n\n _getPropertiesFromElement: function(elem) {\n var props = {\n 'classes': getClassName(elem).split(' '),\n 'tag_name': elem.tagName.toLowerCase()\n };\n\n if (shouldTrackElement(elem)) {\n _.each(elem.attributes, function(attr) {\n if (shouldTrackValue(attr.value)) {\n props['attr__' + attr.name] = attr.value;\n }\n });\n }\n\n var nthChild = 1;\n var nthOfType = 1;\n var currentElem = elem;\n while (currentElem = this._previousElementSibling(currentElem)) { // eslint-disable-line no-cond-assign\n nthChild++;\n if (currentElem.tagName === elem.tagName) {\n nthOfType++;\n }\n }\n props['nth_child'] = nthChild;\n props['nth_of_type'] = nthOfType;\n\n return props;\n },\n\n _getDefaultProperties: function(eventType) {\n return {\n '$event_type': eventType,\n '$ce_version': 1,\n '$host': window.location.host,\n '$pathname': window.location.pathname\n };\n },\n\n _extractCustomPropertyValue: function(customProperty) {\n var propValues = [];\n _.each(document.querySelectorAll(customProperty['css_selector']), function(matchedElem) {\n var value;\n\n if (['input', 'select'].indexOf(matchedElem.tagName.toLowerCase()) > -1) {\n value = matchedElem['value'];\n } else if (matchedElem['textContent']) {\n value = matchedElem['textContent'];\n }\n\n if (shouldTrackValue(value)) {\n propValues.push(value);\n }\n });\n return propValues.join(', ');\n },\n\n _getCustomProperties: function(targetElementList) {\n var props = {};\n _.each(this._customProperties, function(customProperty) {\n _.each(customProperty['event_selectors'], function(eventSelector) {\n var eventElements = document.querySelectorAll(eventSelector);\n _.each(eventElements, function(eventElement) {\n if (_.includes(targetElementList, eventElement) && shouldTrackElement(eventElement)) {\n props[customProperty['name']] = this._extractCustomPropertyValue(customProperty);\n }\n }, this);\n }, this);\n }, this);\n return props;\n },\n\n _getEventTarget: function(e) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Event/target#Compatibility_notes\n if (typeof e.target === 'undefined') {\n return e.srcElement;\n } else {\n return e.target;\n }\n },\n\n _trackEvent: function(e, instance) {\n /*** Don't mess with this code without running IE8 tests on it ***/\n var target = this._getEventTarget(e);\n if (isTextNode(target)) { // defeat Safari bug (see: http://www.quirksmode.org/js/events_properties.html)\n target = target.parentNode;\n }\n\n if (shouldTrackDomEvent(target, e)) {\n var targetElementList = [target];\n var curEl = target;\n while (curEl.parentNode && !isTag(curEl, 'body')) {\n targetElementList.push(curEl.parentNode);\n curEl = curEl.parentNode;\n }\n\n var elementsJson = [];\n var href, explicitNoTrack = false;\n _.each(targetElementList, function(el) {\n var shouldTrackEl = shouldTrackElement(el);\n\n // if the element or a parent element is an anchor tag\n // include the href as a property\n if (el.tagName.toLowerCase() === 'a') {\n href = el.getAttribute('href');\n href = shouldTrackEl && shouldTrackValue(href) && href;\n }\n\n // allow users to programatically prevent tracking of elements by adding class 'mp-no-track'\n var classes = getClassName(el).split(' ');\n if (_.includes(classes, 'mp-no-track')) {\n explicitNoTrack = true;\n }\n\n elementsJson.push(this._getPropertiesFromElement(el));\n }, this);\n\n if (explicitNoTrack) {\n return false;\n }\n\n // only populate text content from target element (not parents)\n // to prevent text within a sensitive element from being collected\n // as part of a parent's el.textContent\n var elementText;\n var safeElementText = getSafeText(target);\n if (safeElementText && safeElementText.length) {\n elementText = safeElementText;\n }\n\n var props = _.extend(\n this._getDefaultProperties(e.type),\n {\n '$elements': elementsJson,\n '$el_attr__href': href,\n '$el_text': elementText\n },\n this._getCustomProperties(targetElementList)\n );\n\n instance.track('$web_event', props);\n return true;\n }\n },\n\n // only reason is to stub for unit tests\n // since you can't override window.location props\n _navigate: function(href) {\n window.location.href = href;\n },\n\n _addDomEventHandlers: function(instance) {\n var handler = _.bind(function(e) {\n e = e || window.event;\n this._trackEvent(e, instance);\n }, this);\n _.register_event(document, 'submit', handler, false, true);\n _.register_event(document, 'change', handler, false, true);\n _.register_event(document, 'click', handler, false, true);\n },\n\n _customProperties: {},\n init: function(instance) {\n if (!(document && document.body)) {\n console.log('document not ready yet, trying again in 500 milliseconds...');\n var that = this;\n setTimeout(function() { that.init(instance); }, 500);\n return;\n }\n\n var token = instance.get_config('token');\n if (this._initializedTokens.indexOf(token) > -1) {\n console.log('autotrack already initialized for token \"' + token + '\"');\n return;\n }\n this._initializedTokens.push(token);\n\n if (!this._maybeLoadEditor(instance)) { // don't autotrack actions when the editor is enabled\n var parseDecideResponse = _.bind(function(response) {\n if (response && response['config'] && response['config']['enable_collect_everything'] === true) {\n\n if (response['custom_properties']) {\n this._customProperties = response['custom_properties'];\n }\n\n instance.track('$web_event', _.extend({\n '$title': document.title\n }, this._getDefaultProperties('pageview')));\n\n this._addDomEventHandlers(instance);\n\n } else {\n instance['__autotrack_enabled'] = false;\n }\n }, this);\n\n instance._send_request(\n instance.get_config('api_host') + '/decide/', {\n 'verbose': true,\n 'version': '1',\n 'lib': 'web',\n 'token': token\n },\n {method: 'GET', transport: 'XHR'},\n instance._prepare_callback(parseDecideResponse)\n );\n }\n },\n\n _editorParamsFromHash: function(instance, hash) {\n var editorParams;\n try {\n var state = _.getHashParam(hash, 'state');\n state = JSON.parse(decodeURIComponent(state));\n var expiresInSeconds = _.getHashParam(hash, 'expires_in');\n editorParams = {\n 'accessToken': _.getHashParam(hash, 'access_token'),\n 'accessTokenExpiresAt': (new Date()).getTime() + (Number(expiresInSeconds) * 1000),\n 'bookmarkletMode': !!state['bookmarkletMode'],\n 'projectId': state['projectId'],\n 'projectOwnerId': state['projectOwnerId'],\n 'projectToken': state['token'],\n 'readOnly': state['readOnly'],\n 'userFlags': state['userFlags'],\n 'userId': state['userId']\n };\n window.sessionStorage.setItem('editorParams', JSON.stringify(editorParams));\n\n if (state['desiredHash']) {\n window.location.hash = state['desiredHash'];\n } else if (window.history) {\n history.replaceState('', document.title, window.location.pathname + window.location.search); // completely remove hash\n } else {\n window.location.hash = ''; // clear hash (but leaves # unfortunately)\n }\n } catch (e) {\n console.error('Unable to parse data from hash', e);\n }\n return editorParams;\n },\n\n /**\n * To load the visual editor, we need an access token and other state. That state comes from one of three places:\n * 1. In the URL hash params if the customer is using an old snippet\n * 2. From session storage under the key `_mpcehash` if the snippet already parsed the hash\n * 3. From session storage under the key `editorParams` if the editor was initialized on a previous page\n */\n _maybeLoadEditor: function(instance) {\n try {\n var parseFromUrl = false;\n if (_.getHashParam(window.location.hash, 'state')) {\n var state = _.getHashParam(window.location.hash, 'state');\n state = JSON.parse(decodeURIComponent(state));\n parseFromUrl = state['action'] === 'mpeditor';\n }\n var parseFromStorage = !!window.sessionStorage.getItem('_mpcehash');\n var editorParams;\n\n if (parseFromUrl) { // happens if they are initializing the editor using an old snippet\n editorParams = this._editorParamsFromHash(instance, window.location.hash);\n } else if (parseFromStorage) { // happens if they are initialized the editor and using the new snippet\n editorParams = this._editorParamsFromHash(instance, window.sessionStorage.getItem('_mpcehash'));\n window.sessionStorage.removeItem('_mpcehash');\n } else { // get credentials from sessionStorage from a previous initialzation\n editorParams = JSON.parse(window.sessionStorage.getItem('editorParams') || '{}');\n }\n\n if (editorParams['projectToken'] && instance.get_config('token') === editorParams['projectToken']) {\n this._loadEditor(instance, editorParams);\n return true;\n } else {\n return false;\n }\n } catch (e) {\n return false;\n }\n },\n\n _loadEditor: function(instance, editorParams) {\n if (!window['_mpEditorLoaded']) { // only load the codeless event editor once, even if there are multiple instances of MixpanelLib\n window['_mpEditorLoaded'] = true;\n var editorUrl = instance.get_config('app_host')\n + '/js-bundle/reports/collect-everything/editor.js?_ts='\n + (new Date()).getTime();\n this._loadScript(editorUrl, function() {\n window['mp_load_editor'](editorParams);\n });\n return true;\n }\n return false;\n },\n\n // this is a mechanism to ramp up CE with no server-side interaction.\n // when CE is active, every page load results in a decide request. we\n // need to gently ramp this up so we don't overload decide. this decides\n // deterministically if CE is enabled for this project by modding the char\n // value of the project token.\n enabledForProject: function(token, numBuckets, numEnabledBuckets) {\n numBuckets = !_.isUndefined(numBuckets) ? numBuckets : 10;\n numEnabledBuckets = !_.isUndefined(numEnabledBuckets) ? numEnabledBuckets : 10;\n var charCodeSum = 0;\n for (var i = 0; i < token.length; i++) {\n charCodeSum += token.charCodeAt(i);\n }\n return (charCodeSum % numBuckets) < numEnabledBuckets;\n },\n\n isBrowserSupported: function() {\n return _.isFunction(document.querySelectorAll);\n }\n};\n\n_.bind_instance_methods(autotrack);\n_.safewrap_instance_methods(autotrack);\n\n/**\n * DomTracker Object\n * @constructor\n */\nvar DomTracker = function() {};\n\n\n// interface\nDomTracker.prototype.create_properties = function() {};\nDomTracker.prototype.event_handler = function() {};\nDomTracker.prototype.after_track_handler = function() {};\n\nDomTracker.prototype.init = function(mixpanel_instance) {\n this.mp = mixpanel_instance;\n return this;\n};\n\n/**\n * @param {Object|string} query\n * @param {string} event_name\n * @param {Object=} properties\n * @param {function=} user_callback\n */\nDomTracker.prototype.track = function(query, event_name, properties, user_callback) {\n var that = this;\n var elements = _.dom_query(query);\n\n if (elements.length === 0) {\n console$1.error('The DOM query (' + query + ') returned 0 elements');\n return;\n }\n\n _.each(elements, function(element) {\n _.register_event(element, this.override_event, function(e) {\n var options = {};\n var props = that.create_properties(properties, this);\n var timeout = that.mp.get_config('track_links_timeout');\n\n that.event_handler(e, this, options);\n\n // in case the mixpanel servers don't get back to us in time\n window.setTimeout(that.track_callback(user_callback, props, options, true), timeout);\n\n // fire the tracking event\n that.mp.track(event_name, props, that.track_callback(user_callback, props, options));\n });\n }, this);\n\n return true;\n};\n\n/**\n * @param {function} user_callback\n * @param {Object} props\n * @param {boolean=} timeout_occured\n */\nDomTracker.prototype.track_callback = function(user_callback, props, options, timeout_occured) {\n timeout_occured = timeout_occured || false;\n var that = this;\n\n return function() {\n // options is referenced from both callbacks, so we can have\n // a 'lock' of sorts to ensure only one fires\n if (options.callback_fired) { return; }\n options.callback_fired = true;\n\n if (user_callback && user_callback(timeout_occured, props) === false) {\n // user can prevent the default functionality by\n // returning false from their callback\n return;\n }\n\n that.after_track_handler(props, options, timeout_occured);\n };\n};\n\nDomTracker.prototype.create_properties = function(properties, element) {\n var props;\n\n if (typeof(properties) === 'function') {\n props = properties(element);\n } else {\n props = _.extend({}, properties);\n }\n\n return props;\n};\n\n/**\n * LinkTracker Object\n * @constructor\n * @extends DomTracker\n */\nvar LinkTracker = function() {\n this.override_event = 'click';\n};\n_.inherit(LinkTracker, DomTracker);\n\nLinkTracker.prototype.create_properties = function(properties, element) {\n var props = LinkTracker.superclass.create_properties.apply(this, arguments);\n\n if (element.href) { props['url'] = element.href; }\n\n return props;\n};\n\nLinkTracker.prototype.event_handler = function(evt, element, options) {\n options.new_tab = (\n evt.which === 2 ||\n evt.metaKey ||\n evt.ctrlKey ||\n element.target === '_blank'\n );\n options.href = element.href;\n\n if (!options.new_tab) {\n evt.preventDefault();\n }\n};\n\nLinkTracker.prototype.after_track_handler = function(props, options) {\n if (options.new_tab) { return; }\n\n setTimeout(function() {\n window.location = options.href;\n }, 0);\n};\n\n/**\n * FormTracker Object\n * @constructor\n * @extends DomTracker\n */\nvar FormTracker = function() {\n this.override_event = 'submit';\n};\n_.inherit(FormTracker, DomTracker);\n\nFormTracker.prototype.event_handler = function(evt, element, options) {\n options.element = element;\n evt.preventDefault();\n};\n\nFormTracker.prototype.after_track_handler = function(props, options) {\n setTimeout(function() {\n options.element.submit();\n }, 0);\n};\n\n// eslint-disable-line camelcase\n\nvar logger$2 = console_with_prefix('lock');\n\n/**\n * SharedLock: a mutex built on HTML5 localStorage, to ensure that only one browser\n * window/tab at a time will be able to access shared resources.\n *\n * Based on the Alur and Taubenfeld fast lock\n * (http://www.cs.rochester.edu/research/synchronization/pseudocode/fastlock.html)\n * with an added timeout to ensure there will be eventual progress in the event\n * that a window is closed in the middle of the callback.\n *\n * Implementation based on the original version by David Wolever (https://github.com/wolever)\n * at https://gist.github.com/wolever/5fd7573d1ef6166e8f8c4af286a69432.\n *\n * @example\n * const myLock = new SharedLock('some-key');\n * myLock.withLock(function() {\n * console.log('I hold the mutex!');\n * });\n *\n * @constructor\n */\nvar SharedLock = function(key, options) {\n options = options || {};\n\n this.storageKey = key;\n this.storage = options.storage || window.localStorage;\n this.pollIntervalMS = options.pollIntervalMS || 100;\n this.timeoutMS = options.timeoutMS || 2000;\n};\n\n// pass in a specific pid to test contention scenarios; otherwise\n// it is chosen randomly for each acquisition attempt\nSharedLock.prototype.withLock = function(lockedCB, errorCB, pid) {\n if (!pid && typeof errorCB !== 'function') {\n pid = errorCB;\n errorCB = null;\n }\n\n var i = pid || (new Date().getTime() + '|' + Math.random());\n var startTime = new Date().getTime();\n\n var key = this.storageKey;\n var pollIntervalMS = this.pollIntervalMS;\n var timeoutMS = this.timeoutMS;\n var storage = this.storage;\n\n var keyX = key + ':X';\n var keyY = key + ':Y';\n var keyZ = key + ':Z';\n\n var reportError = function(err) {\n errorCB && errorCB(err);\n };\n\n var delay = function(cb) {\n if (new Date().getTime() - startTime > timeoutMS) {\n logger$2.error('Timeout waiting for mutex on ' + key + '; clearing lock. [' + i + ']');\n storage.removeItem(keyZ);\n storage.removeItem(keyY);\n loop();\n return;\n }\n setTimeout(function() {\n try {\n cb();\n } catch(err) {\n reportError(err);\n }\n }, pollIntervalMS * (Math.random() + 0.1));\n };\n\n var waitFor = function(predicate, cb) {\n if (predicate()) {\n cb();\n } else {\n delay(function() {\n waitFor(predicate, cb);\n });\n }\n };\n\n var getSetY = function() {\n var valY = storage.getItem(keyY);\n if (valY && valY !== i) { // if Y == i then this process already has the lock (useful for test cases)\n return false;\n } else {\n storage.setItem(keyY, i);\n if (storage.getItem(keyY) === i) {\n return true;\n } else {\n if (!localStorageSupported(storage, true)) {\n throw new Error('localStorage support dropped while acquiring lock');\n }\n return false;\n }\n }\n };\n\n var loop = function() {\n storage.setItem(keyX, i);\n\n waitFor(getSetY, function() {\n if (storage.getItem(keyX) === i) {\n criticalSection();\n return;\n }\n\n delay(function() {\n if (storage.getItem(keyY) !== i) {\n loop();\n return;\n }\n waitFor(function() {\n return !storage.getItem(keyZ);\n }, criticalSection);\n });\n });\n };\n\n var criticalSection = function() {\n storage.setItem(keyZ, '1');\n try {\n lockedCB();\n } finally {\n storage.removeItem(keyZ);\n if (storage.getItem(keyY) === i) {\n storage.removeItem(keyY);\n }\n if (storage.getItem(keyX) === i) {\n storage.removeItem(keyX);\n }\n }\n };\n\n try {\n if (localStorageSupported(storage, true)) {\n loop();\n } else {\n throw new Error('localStorage support check failed');\n }\n } catch(err) {\n reportError(err);\n }\n};\n\n// eslint-disable-line camelcase\n\nvar logger$1 = console_with_prefix('batch');\n\n/**\n * RequestQueue: queue for batching API requests with localStorage backup for retries.\n * Maintains an in-memory queue which represents the source of truth for the current\n * page, but also writes all items out to a copy in the browser's localStorage, which\n * can be read on subsequent pageloads and retried. For batchability, all the request\n * items in the queue should be of the same type (events, people updates, group updates)\n * so they can be sent in a single request to the same API endpoint.\n *\n * LocalStorage keying and locking: In order for reloads and subsequent pageloads of\n * the same site to access the same persisted data, they must share the same localStorage\n * key (for instance based on project token and queue type). Therefore access to the\n * localStorage entry is guarded by an asynchronous mutex (SharedLock) to prevent\n * simultaneously open windows/tabs from overwriting each other's data (which would lead\n * to data loss in some situations).\n * @constructor\n */\nvar RequestQueue = function(storageKey, options) {\n options = options || {};\n this.storageKey = storageKey;\n this.storage = options.storage || window.localStorage;\n this.lock = new SharedLock(storageKey, {storage: this.storage});\n\n this.pid = options.pid || null; // pass pid to test out storage lock contention scenarios\n\n this.memQueue = [];\n};\n\n/**\n * Add one item to queues (memory and localStorage). The queued entry includes\n * the given item along with an auto-generated ID and a \"flush-after\" timestamp.\n * It is expected that the item will be sent over the network and dequeued\n * before the flush-after time; if this doesn't happen it is considered orphaned\n * (e.g., the original tab where it was enqueued got closed before it could be\n * sent) and the item can be sent by any tab that finds it in localStorage.\n *\n * The final callback param is called with a param indicating success or\n * failure of the enqueue operation; it is asynchronous because the localStorage\n * lock is asynchronous.\n */\nRequestQueue.prototype.enqueue = function(item, flushInterval, cb) {\n var queueEntry = {\n 'id': cheap_guid(),\n 'flushAfter': new Date().getTime() + flushInterval * 2,\n 'payload': item\n };\n\n this.lock.withLock(_.bind(function lockAcquired() {\n var succeeded;\n try {\n var storedQueue = this.readFromStorage();\n storedQueue.push(queueEntry);\n succeeded = this.saveToStorage(storedQueue);\n if (succeeded) {\n // only add to in-memory queue when storage succeeds\n this.memQueue.push(queueEntry);\n }\n } catch(err) {\n logger$1.error('Error enqueueing item', item);\n succeeded = false;\n }\n if (cb) {\n cb(succeeded);\n }\n }, this), function lockFailure(err) {\n logger$1.error('Error acquiring storage lock', err);\n if (cb) {\n cb(false);\n }\n }, this.pid);\n};\n\n/**\n * Read out the given number of queue entries. If this.memQueue\n * has fewer than batchSize items, then look for \"orphaned\" items\n * in the persisted queue (items where the 'flushAfter' time has\n * already passed).\n */\nRequestQueue.prototype.fillBatch = function(batchSize) {\n var batch = this.memQueue.slice(0, batchSize);\n if (batch.length < batchSize) {\n // don't need lock just to read events; localStorage is thread-safe\n // and the worst that could happen is a duplicate send of some\n // orphaned events, which will be deduplicated on the server side\n var storedQueue = this.readFromStorage();\n if (storedQueue.length) {\n // item IDs already in batch; don't duplicate out of storage\n var idsInBatch = {}; // poor man's Set\n _.each(batch, function(item) { idsInBatch[item['id']] = true; });\n\n for (var i = 0; i < storedQueue.length; i++) {\n var item = storedQueue[i];\n if (new Date().getTime() > item['flushAfter'] && !idsInBatch[item['id']]) {\n item.orphaned = true;\n batch.push(item);\n if (batch.length >= batchSize) {\n break;\n }\n }\n }\n }\n }\n return batch;\n};\n\n/**\n * Remove items with matching 'id' from array (immutably)\n * also remove any item without a valid id (e.g., malformed\n * storage entries).\n */\nvar filterOutIDsAndInvalid = function(items, idSet) {\n var filteredItems = [];\n _.each(items, function(item) {\n if (item['id'] && !idSet[item['id']]) {\n filteredItems.push(item);\n }\n });\n return filteredItems;\n};\n\n/**\n * Remove items with matching IDs from both in-memory queue\n * and persisted queue\n */\nRequestQueue.prototype.removeItemsByID = function(ids, cb) {\n var idSet = {}; // poor man's Set\n _.each(ids, function(id) { idSet[id] = true; });\n\n this.memQueue = filterOutIDsAndInvalid(this.memQueue, idSet);\n this.lock.withLock(_.bind(function lockAcquired() {\n var succeeded;\n try {\n var storedQueue = this.readFromStorage();\n storedQueue = filterOutIDsAndInvalid(storedQueue, idSet);\n succeeded = this.saveToStorage(storedQueue);\n } catch(err) {\n logger$1.error('Error removing items', ids);\n succeeded = false;\n }\n if (cb) {\n cb(succeeded);\n }\n }, this), function lockFailure(err) {\n logger$1.error('Error acquiring storage lock', err);\n if (cb) {\n cb(false);\n }\n }, this.pid);\n};\n\n// internal helper for RequestQueue.updatePayloads\nvar updatePayloads = function(existingItems, itemsToUpdate) {\n var newItems = [];\n _.each(existingItems, function(item) {\n var id = item['id'];\n if (id in itemsToUpdate) {\n var newPayload = itemsToUpdate[id];\n if (newPayload !== null) {\n item['payload'] = newPayload;\n newItems.push(item);\n }\n } else {\n // no update\n newItems.push(item);\n }\n });\n return newItems;\n};\n\n/**\n * Update payloads of given items in both in-memory queue and\n * persisted queue. Items set to null are removed from queues.\n */\nRequestQueue.prototype.updatePayloads = function(itemsToUpdate, cb) {\n this.memQueue = updatePayloads(this.memQueue, itemsToUpdate);\n this.lock.withLock(_.bind(function lockAcquired() {\n var succeeded;\n try {\n var storedQueue = this.readFromStorage();\n storedQueue = updatePayloads(storedQueue, itemsToUpdate);\n succeeded = this.saveToStorage(storedQueue);\n } catch(err) {\n logger$1.error('Error updating items', itemsToUpdate);\n succeeded = false;\n }\n if (cb) {\n cb(succeeded);\n }\n }, this), function lockFailure(err) {\n logger$1.error('Error acquiring storage lock', err);\n if (cb) {\n cb(false);\n }\n }, this.pid);\n};\n\n/**\n * Read and parse items array from localStorage entry, handling\n * malformed/missing data if necessary.\n */\nRequestQueue.prototype.readFromStorage = function() {\n var storageEntry;\n try {\n storageEntry = this.storage.getItem(this.storageKey);\n if (storageEntry) {\n storageEntry = JSONParse(storageEntry);\n if (!_.isArray(storageEntry)) {\n logger$1.error('Invalid storage entry:', storageEntry);\n storageEntry = null;\n }\n }\n } catch (err) {\n logger$1.error('Error retrieving queue', err);\n storageEntry = null;\n }\n return storageEntry || [];\n};\n\n/**\n * Serialize the given items array to localStorage.\n */\nRequestQueue.prototype.saveToStorage = function(queue) {\n try {\n this.storage.setItem(this.storageKey, JSONStringify(queue));\n return true;\n } catch (err) {\n logger$1.error('Error saving queue', err);\n return false;\n }\n};\n\n/**\n * Clear out queues (memory and localStorage).\n */\nRequestQueue.prototype.clear = function() {\n this.memQueue = [];\n this.storage.removeItem(this.storageKey);\n};\n\n// eslint-disable-line camelcase\n\n// maximum interval between request retries after exponential backoff\nvar MAX_RETRY_INTERVAL_MS = 10 * 60 * 1000; // 10 minutes\n\nvar logger = console_with_prefix('batch');\n\n/**\n * RequestBatcher: manages the queueing, flushing, retry etc of requests of one\n * type (events, people, groups).\n * Uses RequestQueue to manage the backing store.\n * @constructor\n */\nvar RequestBatcher = function(storageKey, options) {\n this.queue = new RequestQueue(storageKey, {storage: options.storage});\n\n this.libConfig = options.libConfig;\n this.sendRequest = options.sendRequestFunc;\n this.beforeSendHook = options.beforeSendHook;\n\n // seed variable batch size + flush interval with configured values\n this.batchSize = this.libConfig['batch_size'];\n this.flushInterval = this.libConfig['batch_flush_interval_ms'];\n\n this.stopped = !this.libConfig['batch_autostart'];\n};\n\n/**\n * Add one item to queue.\n */\nRequestBatcher.prototype.enqueue = function(item, cb) {\n this.queue.enqueue(item, this.flushInterval, cb);\n};\n\n/**\n * Start flushing batches at the configured time interval. Must call\n * this method upon SDK init in order to send anything over the network.\n */\nRequestBatcher.prototype.start = function() {\n this.stopped = false;\n this.flush();\n};\n\n/**\n * Stop flushing batches. Can be restarted by calling start().\n */\nRequestBatcher.prototype.stop = function() {\n this.stopped = true;\n if (this.timeoutID) {\n clearTimeout(this.timeoutID);\n this.timeoutID = null;\n }\n};\n\n/**\n * Clear out queue.\n */\nRequestBatcher.prototype.clear = function() {\n this.queue.clear();\n};\n\n/**\n * Restore batch size configuration to whatever is set in the main SDK.\n */\nRequestBatcher.prototype.resetBatchSize = function() {\n this.batchSize = this.libConfig['batch_size'];\n};\n\n/**\n * Restore flush interval time configuration to whatever is set in the main SDK.\n */\nRequestBatcher.prototype.resetFlush = function() {\n this.scheduleFlush(this.libConfig['batch_flush_interval_ms']);\n};\n\n/**\n * Schedule the next flush in the given number of milliseconds.\n */\nRequestBatcher.prototype.scheduleFlush = function(flushMS) {\n this.flushInterval = flushMS;\n if (!this.stopped) { // don't schedule anymore if batching has been stopped\n this.timeoutID = setTimeout(_.bind(this.flush, this), this.flushInterval);\n }\n};\n\n/**\n * Flush one batch to network. Depending on success/failure modes, it will either\n * remove the batch from the queue or leave it in for retry, and schedule the next\n * flush. In cases of most network or API failures, it will back off exponentially\n * when retrying.\n * @param {Object} [options]\n * @param {boolean} [options.sendBeacon] - whether to send batch with\n * navigator.sendBeacon (only useful for sending batches before page unloads, as\n * sendBeacon offers no callbacks or status indications)\n */\nRequestBatcher.prototype.flush = function(options) {\n try {\n\n if (this.requestInProgress) {\n logger.log('Flush: Request already in progress');\n return;\n }\n\n options = options || {};\n var timeoutMS = this.libConfig['batch_request_timeout_ms'];\n var startTime = new Date().getTime();\n var currentBatchSize = this.batchSize;\n var batch = this.queue.fillBatch(currentBatchSize);\n var dataForRequest = [];\n var transformedItems = {};\n _.each(batch, function(item) {\n var payload = item['payload'];\n if (this.beforeSendHook && !item.orphaned) {\n payload = this.beforeSendHook(payload);\n }\n if (payload) {\n dataForRequest.push(payload);\n }\n transformedItems[item['id']] = payload;\n }, this);\n if (dataForRequest.length < 1) {\n this.resetFlush();\n return; // nothing to do\n }\n\n this.requestInProgress = true;\n\n var batchSendCallback = _.bind(function(res) {\n this.requestInProgress = false;\n\n try {\n\n // handle API response in a try-catch to make sure we can reset the\n // flush operation if something goes wrong\n\n var removeItemsFromQueue = false;\n if (options.unloading) {\n // update persisted data to include hook transformations\n this.queue.updatePayloads(transformedItems);\n } else if (\n _.isObject(res) &&\n res.error === 'timeout' &&\n new Date().getTime() - startTime >= timeoutMS\n ) {\n logger.error('Network timeout; retrying');\n this.flush();\n } else if (\n _.isObject(res) &&\n res.xhr_req &&\n (res.xhr_req['status'] >= 500 || res.xhr_req['status'] <= 0)\n ) {\n // network or API error, retry\n var retryMS = this.flushInterval * 2;\n var headers = res.xhr_req['responseHeaders'];\n if (headers) {\n var retryAfter = headers['Retry-After'];\n if (retryAfter) {\n retryMS = (parseInt(retryAfter, 10) * 1000) || retryMS;\n }\n }\n retryMS = Math.min(MAX_RETRY_INTERVAL_MS, retryMS);\n logger.error('Error; retry in ' + retryMS + ' ms');\n this.scheduleFlush(retryMS);\n } else if (_.isObject(res) && res.xhr_req && res.xhr_req['status'] === 413) {\n // 413 Payload Too Large\n if (batch.length > 1) {\n var halvedBatchSize = Math.max(1, Math.floor(currentBatchSize / 2));\n this.batchSize = Math.min(this.batchSize, halvedBatchSize, batch.length - 1);\n logger.error('413 response; reducing batch size to ' + this.batchSize);\n this.resetFlush();\n } else {\n logger.error('Single-event request too large; dropping', batch);\n this.resetBatchSize();\n removeItemsFromQueue = true;\n }\n } else {\n // successful network request+response; remove each item in batch from queue\n // (even if it was e.g. a 400, in which case retrying won't help)\n removeItemsFromQueue = true;\n }\n\n if (removeItemsFromQueue) {\n this.queue.removeItemsByID(\n _.map(batch, function(item) { return item['id']; }),\n _.bind(this.flush, this) // handle next batch if the queue isn't empty\n );\n }\n\n } catch(err) {\n logger.error('Error handling API response', err);\n this.resetFlush();\n }\n }, this);\n var requestOptions = {\n method: 'POST',\n verbose: true,\n ignore_json_errors: true, // eslint-disable-line camelcase\n timeout_ms: timeoutMS // eslint-disable-line camelcase\n };\n if (options.unloading) {\n requestOptions.transport = 'sendBeacon';\n }\n logger.log('MIXPANEL REQUEST:', dataForRequest);\n this.sendRequest(dataForRequest, requestOptions, batchSendCallback);\n\n } catch(err) {\n logger.error('Error flushing request queue', err);\n this.resetFlush();\n }\n};\n\n/**\n * A function used to track a Mixpanel event (e.g. MixpanelLib.track)\n * @callback trackFunction\n * @param {String} event_name The name of the event. This can be anything the user does - 'Button Click', 'Sign Up', 'Item Purchased', etc.\n * @param {Object} [properties] A set of properties to include with the event you're sending. These describe the user who did the event or details about the event itself.\n * @param {Function} [callback] If provided, the callback function will be called after tracking the event.\n */\n\n/** Public **/\n\nvar GDPR_DEFAULT_PERSISTENCE_PREFIX = '__mp_opt_in_out_';\n\n/**\n * Opt the user in to data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {trackFunction} [options.track] - function used for tracking a Mixpanel event to record the opt-in action\n * @param {string} [options.trackEventName] - event name to be used for tracking the opt-in action\n * @param {Object} [options.trackProperties] - set of properties to be tracked along with the opt-in action\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookieExpiration] - number of days until the opt-in cookie expires\n * @param {string} [options.cookieDomain] - custom cookie domain\n * @param {boolean} [options.crossSiteCookie] - whether the opt-in cookie is set as cross-site-enabled\n * @param {boolean} [options.crossSubdomainCookie] - whether the opt-in cookie is set as cross-subdomain or not\n * @param {boolean} [options.secureCookie] - whether the opt-in cookie is set as secure or not\n */\nfunction optIn(token, options) {\n _optInOut(true, token, options);\n}\n\n/**\n * Opt the user out of data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookieExpiration] - number of days until the opt-out cookie expires\n * @param {string} [options.cookieDomain] - custom cookie domain\n * @param {boolean} [options.crossSiteCookie] - whether the opt-in cookie is set as cross-site-enabled\n * @param {boolean} [options.crossSubdomainCookie] - whether the opt-out cookie is set as cross-subdomain or not\n * @param {boolean} [options.secureCookie] - whether the opt-out cookie is set as secure or not\n */\nfunction optOut(token, options) {\n _optInOut(false, token, options);\n}\n\n/**\n * Check whether the user has opted in to data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @returns {boolean} whether the user has opted in to the given opt type\n */\nfunction hasOptedIn(token, options) {\n return _getStorageValue(token, options) === '1';\n}\n\n/**\n * Check whether the user has opted out of data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {boolean} [options.ignoreDnt] - flag to ignore browser DNT settings and always return false\n * @returns {boolean} whether the user has opted out of the given opt type\n */\nfunction hasOptedOut(token, options) {\n if (_hasDoNotTrackFlagOn(options)) {\n return true;\n }\n return _getStorageValue(token, options) === '0';\n}\n\n/**\n * Wrap a MixpanelLib method with a check for whether the user is opted out of data tracking and cookies/localstorage for the given token\n * If the user has opted out, return early instead of executing the method.\n * If a callback argument was provided, execute it passing the 0 error code.\n * @param {function} method - wrapped method to be executed if the user has not opted out\n * @returns {*} the result of executing method OR undefined if the user has opted out\n */\nfunction addOptOutCheckMixpanelLib(method) {\n return _addOptOutCheck(method, function(name) {\n return this.get_config(name);\n });\n}\n\n/**\n * Wrap a MixpanelPeople method with a check for whether the user is opted out of data tracking and cookies/localstorage for the given token\n * If the user has opted out, return early instead of executing the method.\n * If a callback argument was provided, execute it passing the 0 error code.\n * @param {function} method - wrapped method to be executed if the user has not opted out\n * @returns {*} the result of executing method OR undefined if the user has opted out\n */\nfunction addOptOutCheckMixpanelPeople(method) {\n return _addOptOutCheck(method, function(name) {\n return this._get_config(name);\n });\n}\n\n/**\n * Wrap a MixpanelGroup method with a check for whether the user is opted out of data tracking and cookies/localstorage for the given token\n * If the user has opted out, return early instead of executing the method.\n * If a callback argument was provided, execute it passing the 0 error code.\n * @param {function} method - wrapped method to be executed if the user has not opted out\n * @returns {*} the result of executing method OR undefined if the user has opted out\n */\nfunction addOptOutCheckMixpanelGroup(method) {\n return _addOptOutCheck(method, function(name) {\n return this._get_config(name);\n });\n}\n\n/**\n * Clear the user's opt in/out status of data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookieExpiration] - number of days until the opt-in cookie expires\n * @param {string} [options.cookieDomain] - custom cookie domain\n * @param {boolean} [options.crossSiteCookie] - whether the opt-in cookie is set as cross-site-enabled\n * @param {boolean} [options.crossSubdomainCookie] - whether the opt-in cookie is set as cross-subdomain or not\n * @param {boolean} [options.secureCookie] - whether the opt-in cookie is set as secure or not\n */\nfunction clearOptInOut(token, options) {\n options = options || {};\n _getStorage(options).remove(\n _getStorageKey(token, options), !!options.crossSubdomainCookie, options.cookieDomain\n );\n}\n\n/** Private **/\n\n/**\n * Get storage util\n * @param {Object} [options]\n * @param {string} [options.persistenceType]\n * @returns {object} either _.cookie or _.localstorage\n */\nfunction _getStorage(options) {\n options = options || {};\n return options.persistenceType === 'localStorage' ? _.localStorage : _.cookie;\n}\n\n/**\n * Get the name of the cookie that is used for the given opt type (tracking, cookie, etc.)\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @returns {string} the name of the cookie for the given opt type\n */\nfunction _getStorageKey(token, options) {\n options = options || {};\n return (options.persistencePrefix || GDPR_DEFAULT_PERSISTENCE_PREFIX) + token;\n}\n\n/**\n * Get the value of the cookie that is used for the given opt type (tracking, cookie, etc.)\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @returns {string} the value of the cookie for the given opt type\n */\nfunction _getStorageValue(token, options) {\n return _getStorage(options).get(_getStorageKey(token, options));\n}\n\n/**\n * Check whether the user has set the DNT/doNotTrack setting to true in their browser\n * @param {Object} [options]\n * @param {string} [options.window] - alternate window object to check; used to force various DNT settings in browser tests\n * @param {boolean} [options.ignoreDnt] - flag to ignore browser DNT settings and always return false\n * @returns {boolean} whether the DNT setting is true\n */\nfunction _hasDoNotTrackFlagOn(options) {\n if (options && options.ignoreDnt) {\n return false;\n }\n var win = (options && options.window) || window$1;\n var nav = win['navigator'] || {};\n var hasDntOn = false;\n\n _.each([\n nav['doNotTrack'], // standard\n nav['msDoNotTrack'],\n win['doNotTrack']\n ], function(dntValue) {\n if (_.includes([true, 1, '1', 'yes'], dntValue)) {\n hasDntOn = true;\n }\n });\n\n return hasDntOn;\n}\n\n/**\n * Set cookie/localstorage for the user indicating that they are opted in or out for the given opt type\n * @param {boolean} optValue - whether to opt the user in or out for the given opt type\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {trackFunction} [options.track] - function used for tracking a Mixpanel event to record the opt-in action\n * @param {string} [options.trackEventName] - event name to be used for tracking the opt-in action\n * @param {Object} [options.trackProperties] - set of properties to be tracked along with the opt-in action\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookieExpiration] - number of days until the opt-in cookie expires\n * @param {string} [options.cookieDomain] - custom cookie domain\n * @param {boolean} [options.crossSiteCookie] - whether the opt-in cookie is set as cross-site-enabled\n * @param {boolean} [options.crossSubdomainCookie] - whether the opt-in cookie is set as cross-subdomain or not\n * @param {boolean} [options.secureCookie] - whether the opt-in cookie is set as secure or not\n */\nfunction _optInOut(optValue, token, options) {\n if (!_.isString(token) || !token.length) {\n console.error('gdpr.' + (optValue ? 'optIn' : 'optOut') + ' called with an invalid token');\n return;\n }\n\n options = options || {};\n\n _getStorage(options).set(\n _getStorageKey(token, options),\n optValue ? 1 : 0,\n _.isNumber(options.cookieExpiration) ? options.cookieExpiration : null,\n !!options.crossSubdomainCookie,\n !!options.secureCookie,\n !!options.crossSiteCookie,\n options.cookieDomain\n );\n\n if (options.track && optValue) { // only track event if opting in (optValue=true)\n options.track(options.trackEventName || '$opt_in', options.trackProperties, {\n 'send_immediately': true\n });\n }\n}\n\n/**\n * Wrap a method with a check for whether the user is opted out of data tracking and cookies/localstorage for the given token\n * If the user has opted out, return early instead of executing the method.\n * If a callback argument was provided, execute it passing the 0 error code.\n * @param {function} method - wrapped method to be executed if the user has not opted out\n * @param {function} getConfigValue - getter function for the Mixpanel API token and other options to be used with opt-out check\n * @returns {*} the result of executing method OR undefined if the user has opted out\n */\nfunction _addOptOutCheck(method, getConfigValue) {\n return function() {\n var optedOut = false;\n\n try {\n var token = getConfigValue.call(this, 'token');\n var ignoreDnt = getConfigValue.call(this, 'ignore_dnt');\n var persistenceType = getConfigValue.call(this, 'opt_out_tracking_persistence_type');\n var persistencePrefix = getConfigValue.call(this, 'opt_out_tracking_cookie_prefix');\n var win = getConfigValue.call(this, 'window'); // used to override window during browser tests\n\n if (token) { // if there was an issue getting the token, continue method execution as normal\n optedOut = hasOptedOut(token, {\n ignoreDnt: ignoreDnt,\n persistenceType: persistenceType,\n persistencePrefix: persistencePrefix,\n window: win\n });\n }\n } catch(err) {\n console.error('Unexpected error when checking tracking opt-out status: ' + err);\n }\n\n if (!optedOut) {\n return method.apply(this, arguments);\n }\n\n var callback = arguments[arguments.length - 1];\n if (typeof(callback) === 'function') {\n callback(0);\n }\n\n return;\n };\n}\n\n/** @const */ var SET_ACTION = '$set';\n/** @const */ var SET_ONCE_ACTION = '$set_once';\n/** @const */ var UNSET_ACTION = '$unset';\n/** @const */ var ADD_ACTION = '$add';\n/** @const */ var APPEND_ACTION = '$append';\n/** @const */ var UNION_ACTION = '$union';\n/** @const */ var REMOVE_ACTION = '$remove';\n/** @const */ var DELETE_ACTION = '$delete';\n\n// Common internal methods for mixpanel.people and mixpanel.group APIs.\n// These methods shouldn't involve network I/O.\nvar apiActions = {\n set_action: function(prop, to) {\n var data = {};\n var $set = {};\n if (_.isObject(prop)) {\n _.each(prop, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $set[k] = v;\n }\n }, this);\n } else {\n $set[prop] = to;\n }\n\n data[SET_ACTION] = $set;\n return data;\n },\n\n unset_action: function(prop) {\n var data = {};\n var $unset = [];\n if (!_.isArray(prop)) {\n prop = [prop];\n }\n\n _.each(prop, function(k) {\n if (!this._is_reserved_property(k)) {\n $unset.push(k);\n }\n }, this);\n\n data[UNSET_ACTION] = $unset;\n return data;\n },\n\n set_once_action: function(prop, to) {\n var data = {};\n var $set_once = {};\n if (_.isObject(prop)) {\n _.each(prop, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $set_once[k] = v;\n }\n }, this);\n } else {\n $set_once[prop] = to;\n }\n data[SET_ONCE_ACTION] = $set_once;\n return data;\n },\n\n union_action: function(list_name, values) {\n var data = {};\n var $union = {};\n if (_.isObject(list_name)) {\n _.each(list_name, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $union[k] = _.isArray(v) ? v : [v];\n }\n }, this);\n } else {\n $union[list_name] = _.isArray(values) ? values : [values];\n }\n data[UNION_ACTION] = $union;\n return data;\n },\n\n append_action: function(list_name, value) {\n var data = {};\n var $append = {};\n if (_.isObject(list_name)) {\n _.each(list_name, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $append[k] = v;\n }\n }, this);\n } else {\n $append[list_name] = value;\n }\n data[APPEND_ACTION] = $append;\n return data;\n },\n\n remove_action: function(list_name, value) {\n var data = {};\n var $remove = {};\n if (_.isObject(list_name)) {\n _.each(list_name, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $remove[k] = v;\n }\n }, this);\n } else {\n $remove[list_name] = value;\n }\n data[REMOVE_ACTION] = $remove;\n return data;\n },\n\n delete_action: function() {\n var data = {};\n data[DELETE_ACTION] = '';\n return data;\n }\n};\n\n/**\n * Mixpanel Group Object\n * @constructor\n */\nvar MixpanelGroup = function() {};\n\n_.extend(MixpanelGroup.prototype, apiActions);\n\nMixpanelGroup.prototype._init = function(mixpanel_instance, group_key, group_id) {\n this._mixpanel = mixpanel_instance;\n this._group_key = group_key;\n this._group_id = group_id;\n};\n\n/**\n * Set properties on a group.\n *\n * ### Usage:\n *\n * mixpanel.get_group('company', 'mixpanel').set('Location', '405 Howard');\n *\n * // or set multiple properties at once\n * mixpanel.get_group('company', 'mixpanel').set({\n * 'Location': '405 Howard',\n * 'Founded' : 2009,\n * });\n * // properties can be strings, integers, dates, or lists\n *\n * @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and values.\n * @param {*} [to] A value to set on the given property name\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.set = addOptOutCheckMixpanelGroup(function(prop, to, callback) {\n var data = this.set_action(prop, to);\n if (_.isObject(prop)) {\n callback = to;\n }\n return this._send_request(data, callback);\n});\n\n/**\n * Set properties on a group, only if they do not yet exist.\n * This will not overwrite previous group property values, unlike\n * group.set().\n *\n * ### Usage:\n *\n * mixpanel.get_group('company', 'mixpanel').set_once('Location', '405 Howard');\n *\n * // or set multiple properties at once\n * mixpanel.get_group('company', 'mixpanel').set_once({\n * 'Location': '405 Howard',\n * 'Founded' : 2009,\n * });\n * // properties can be strings, integers, lists or dates\n *\n * @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and values.\n * @param {*} [to] A value to set on the given property name\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.set_once = addOptOutCheckMixpanelGroup(function(prop, to, callback) {\n var data = this.set_once_action(prop, to);\n if (_.isObject(prop)) {\n callback = to;\n }\n return this._send_request(data, callback);\n});\n\n/**\n * Unset properties on a group permanently.\n *\n * ### Usage:\n *\n * mixpanel.get_group('company', 'mixpanel').unset('Founded');\n *\n * @param {String} prop The name of the property.\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.unset = addOptOutCheckMixpanelGroup(function(prop, callback) {\n var data = this.unset_action(prop);\n return this._send_request(data, callback);\n});\n\n/**\n * Merge a given list with a list-valued group property, excluding duplicate values.\n *\n * ### Usage:\n *\n * // merge a value to a list, creating it if needed\n * mixpanel.get_group('company', 'mixpanel').union('Location', ['San Francisco', 'London']);\n *\n * @param {String} list_name Name of the property.\n * @param {Array} values Values to merge with the given property\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.union = addOptOutCheckMixpanelGroup(function(list_name, values, callback) {\n if (_.isObject(list_name)) {\n callback = values;\n }\n var data = this.union_action(list_name, values);\n return this._send_request(data, callback);\n});\n\n/**\n * Permanently delete a group.\n *\n * ### Usage:\n * mixpanel.get_group('company', 'mixpanel').delete();\n */\nMixpanelGroup.prototype['delete'] = addOptOutCheckMixpanelGroup(function(callback) {\n var data = this.delete_action();\n return this._send_request(data, callback);\n});\n\n/**\n * Remove a property from a group. The value will be ignored if doesn't exist.\n *\n * ### Usage:\n *\n * mixpanel.get_group('company', 'mixpanel').remove('Location', 'London');\n *\n * @param {String} list_name Name of the property.\n * @param {Object} value Value to remove from the given group property\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.remove = addOptOutCheckMixpanelGroup(function(list_name, value, callback) {\n var data = this.remove_action(list_name, value);\n return this._send_request(data, callback);\n});\n\nMixpanelGroup.prototype._send_request = function(data, callback) {\n data['$group_key'] = this._group_key;\n data['$group_id'] = this._group_id;\n data['$token'] = this._get_config('token');\n\n var date_encoded_data = _.encodeDates(data);\n return this._mixpanel._track_or_batch({\n type: 'groups',\n data: date_encoded_data,\n endpoint: this._get_config('api_host') + '/groups/',\n batcher: this._mixpanel.request_batchers.groups\n }, callback);\n};\n\nMixpanelGroup.prototype._is_reserved_property = function(prop) {\n return prop === '$group_key' || prop === '$group_id';\n};\n\nMixpanelGroup.prototype._get_config = function(conf) {\n return this._mixpanel.get_config(conf);\n};\n\nMixpanelGroup.prototype.toString = function() {\n return this._mixpanel.toString() + '.group.' + this._group_key + '.' + this._group_id;\n};\n\n// MixpanelGroup Exports\nMixpanelGroup.prototype['remove'] = MixpanelGroup.prototype.remove;\nMixpanelGroup.prototype['set'] = MixpanelGroup.prototype.set;\nMixpanelGroup.prototype['set_once'] = MixpanelGroup.prototype.set_once;\nMixpanelGroup.prototype['union'] = MixpanelGroup.prototype.union;\nMixpanelGroup.prototype['unset'] = MixpanelGroup.prototype.unset;\nMixpanelGroup.prototype['toString'] = MixpanelGroup.prototype.toString;\n\n/*\n * Constants\n */\n/** @const */ var SET_QUEUE_KEY = '__mps';\n/** @const */ var SET_ONCE_QUEUE_KEY = '__mpso';\n/** @const */ var UNSET_QUEUE_KEY = '__mpus';\n/** @const */ var ADD_QUEUE_KEY = '__mpa';\n/** @const */ var APPEND_QUEUE_KEY = '__mpap';\n/** @const */ var REMOVE_QUEUE_KEY = '__mpr';\n/** @const */ var UNION_QUEUE_KEY = '__mpu';\n// This key is deprecated, but we want to check for it to see whether aliasing is allowed.\n/** @const */ var PEOPLE_DISTINCT_ID_KEY = '$people_distinct_id';\n/** @const */ var ALIAS_ID_KEY = '__alias';\n/** @const */ var CAMPAIGN_IDS_KEY = '__cmpns';\n/** @const */ var EVENT_TIMERS_KEY = '__timers';\n/** @const */ var RESERVED_PROPERTIES = [\n SET_QUEUE_KEY,\n SET_ONCE_QUEUE_KEY,\n UNSET_QUEUE_KEY,\n ADD_QUEUE_KEY,\n APPEND_QUEUE_KEY,\n REMOVE_QUEUE_KEY,\n UNION_QUEUE_KEY,\n PEOPLE_DISTINCT_ID_KEY,\n ALIAS_ID_KEY,\n CAMPAIGN_IDS_KEY,\n EVENT_TIMERS_KEY\n];\n\n/**\n * Mixpanel Persistence Object\n * @constructor\n */\nvar MixpanelPersistence = function(config) {\n this['props'] = {};\n this.campaign_params_saved = false;\n\n if (config['persistence_name']) {\n this.name = 'mp_' + config['persistence_name'];\n } else {\n this.name = 'mp_' + config['token'] + '_mixpanel';\n }\n\n var storage_type = config['persistence'];\n if (storage_type !== 'cookie' && storage_type !== 'localStorage') {\n console$1.critical('Unknown persistence type ' + storage_type + '; falling back to cookie');\n storage_type = config['persistence'] = 'cookie';\n }\n\n if (storage_type === 'localStorage' && _.localStorage.is_supported()) {\n this.storage = _.localStorage;\n } else {\n this.storage = _.cookie;\n }\n\n this.load();\n this.update_config(config);\n this.upgrade(config);\n this.save();\n};\n\nMixpanelPersistence.prototype.properties = function() {\n var p = {};\n // Filter out reserved properties\n _.each(this['props'], function(v, k) {\n if (!_.include(RESERVED_PROPERTIES, k)) {\n p[k] = v;\n }\n });\n return p;\n};\n\nMixpanelPersistence.prototype.load = function() {\n if (this.disabled) { return; }\n\n var entry = this.storage.parse(this.name);\n\n if (entry) {\n this['props'] = _.extend({}, entry);\n }\n};\n\nMixpanelPersistence.prototype.upgrade = function(config) {\n var upgrade_from_old_lib = config['upgrade'],\n old_cookie_name,\n old_cookie;\n\n if (upgrade_from_old_lib) {\n old_cookie_name = 'mp_super_properties';\n // Case where they had a custom cookie name before.\n if (typeof(upgrade_from_old_lib) === 'string') {\n old_cookie_name = upgrade_from_old_lib;\n }\n\n old_cookie = this.storage.parse(old_cookie_name);\n\n // remove the cookie\n this.storage.remove(old_cookie_name);\n this.storage.remove(old_cookie_name, true);\n\n if (old_cookie) {\n this['props'] = _.extend(\n this['props'],\n old_cookie['all'],\n old_cookie['events']\n );\n }\n }\n\n if (!config['cookie_name'] && config['name'] !== 'mixpanel') {\n // special case to handle people with cookies of the form\n // mp_TOKEN_INSTANCENAME from the first release of this library\n old_cookie_name = 'mp_' + config['token'] + '_' + config['name'];\n old_cookie = this.storage.parse(old_cookie_name);\n\n if (old_cookie) {\n this.storage.remove(old_cookie_name);\n this.storage.remove(old_cookie_name, true);\n\n // Save the prop values that were in the cookie from before -\n // this should only happen once as we delete the old one.\n this.register_once(old_cookie);\n }\n }\n\n if (this.storage === _.localStorage) {\n old_cookie = _.cookie.parse(this.name);\n\n _.cookie.remove(this.name);\n _.cookie.remove(this.name, true);\n\n if (old_cookie) {\n this.register_once(old_cookie);\n }\n }\n};\n\nMixpanelPersistence.prototype.save = function() {\n if (this.disabled) { return; }\n this._expire_notification_campaigns();\n this.storage.set(\n this.name,\n _.JSONEncode(this['props']),\n this.expire_days,\n this.cross_subdomain,\n this.secure,\n this.cross_site,\n this.cookie_domain\n );\n};\n\nMixpanelPersistence.prototype.remove = function() {\n // remove both domain and subdomain cookies\n this.storage.remove(this.name, false, this.cookie_domain);\n this.storage.remove(this.name, true, this.cookie_domain);\n};\n\n// removes the storage entry and deletes all loaded data\n// forced name for tests\nMixpanelPersistence.prototype.clear = function() {\n this.remove();\n this['props'] = {};\n};\n\n/**\n* @param {Object} props\n* @param {*=} default_value\n* @param {number=} days\n*/\nMixpanelPersistence.prototype.register_once = function(props, default_value, days) {\n if (_.isObject(props)) {\n if (typeof(default_value) === 'undefined') { default_value = 'None'; }\n this.expire_days = (typeof(days) === 'undefined') ? this.default_expiry : days;\n\n _.each(props, function(val, prop) {\n if (!this['props'].hasOwnProperty(prop) || this['props'][prop] === default_value) {\n this['props'][prop] = val;\n }\n }, this);\n\n this.save();\n\n return true;\n }\n return false;\n};\n\n/**\n* @param {Object} props\n* @param {number=} days\n*/\nMixpanelPersistence.prototype.register = function(props, days) {\n if (_.isObject(props)) {\n this.expire_days = (typeof(days) === 'undefined') ? this.default_expiry : days;\n\n _.extend(this['props'], props);\n\n this.save();\n\n return true;\n }\n return false;\n};\n\nMixpanelPersistence.prototype.unregister = function(prop) {\n if (prop in this['props']) {\n delete this['props'][prop];\n this.save();\n }\n};\n\nMixpanelPersistence.prototype._expire_notification_campaigns = _.safewrap(function() {\n var campaigns_shown = this['props'][CAMPAIGN_IDS_KEY],\n EXPIRY_TIME = Config.DEBUG ? 60 * 1000 : 60 * 60 * 1000; // 1 minute (Config.DEBUG) / 1 hour (PDXN)\n if (!campaigns_shown) {\n return;\n }\n for (var campaign_id in campaigns_shown) {\n if (1 * new Date() - campaigns_shown[campaign_id] > EXPIRY_TIME) {\n delete campaigns_shown[campaign_id];\n }\n }\n if (_.isEmptyObject(campaigns_shown)) {\n delete this['props'][CAMPAIGN_IDS_KEY];\n }\n});\n\nMixpanelPersistence.prototype.update_campaign_params = function() {\n if (!this.campaign_params_saved) {\n this.register_once(_.info.campaignParams());\n this.campaign_params_saved = true;\n }\n};\n\nMixpanelPersistence.prototype.update_search_keyword = function(referrer) {\n this.register(_.info.searchInfo(referrer));\n};\n\n// EXPORTED METHOD, we test this directly.\nMixpanelPersistence.prototype.update_referrer_info = function(referrer) {\n // If referrer doesn't exist, we want to note the fact that it was type-in traffic.\n this.register_once({\n '$initial_referrer': referrer || '$direct',\n '$initial_referring_domain': _.info.referringDomain(referrer) || '$direct'\n }, '');\n};\n\nMixpanelPersistence.prototype.get_referrer_info = function() {\n return _.strip_empty_properties({\n '$initial_referrer': this['props']['$initial_referrer'],\n '$initial_referring_domain': this['props']['$initial_referring_domain']\n });\n};\n\n// safely fills the passed in object with stored properties,\n// does not override any properties defined in both\n// returns the passed in object\nMixpanelPersistence.prototype.safe_merge = function(props) {\n _.each(this['props'], function(val, prop) {\n if (!(prop in props)) {\n props[prop] = val;\n }\n });\n\n return props;\n};\n\nMixpanelPersistence.prototype.update_config = function(config) {\n this.default_expiry = this.expire_days = config['cookie_expiration'];\n this.set_disabled(config['disable_persistence']);\n this.set_cookie_domain(config['cookie_domain']);\n this.set_cross_site(config['cross_site_cookie']);\n this.set_cross_subdomain(config['cross_subdomain_cookie']);\n this.set_secure(config['secure_cookie']);\n};\n\nMixpanelPersistence.prototype.set_disabled = function(disabled) {\n this.disabled = disabled;\n if (this.disabled) {\n this.remove();\n } else {\n this.save();\n }\n};\n\nMixpanelPersistence.prototype.set_cookie_domain = function(cookie_domain) {\n if (cookie_domain !== this.cookie_domain) {\n this.remove();\n this.cookie_domain = cookie_domain;\n this.save();\n }\n};\n\nMixpanelPersistence.prototype.set_cross_site = function(cross_site) {\n if (cross_site !== this.cross_site) {\n this.cross_site = cross_site;\n this.remove();\n this.save();\n }\n};\n\nMixpanelPersistence.prototype.set_cross_subdomain = function(cross_subdomain) {\n if (cross_subdomain !== this.cross_subdomain) {\n this.cross_subdomain = cross_subdomain;\n this.remove();\n this.save();\n }\n};\n\nMixpanelPersistence.prototype.get_cross_subdomain = function() {\n return this.cross_subdomain;\n};\n\nMixpanelPersistence.prototype.set_secure = function(secure) {\n if (secure !== this.secure) {\n this.secure = secure ? true : false;\n this.remove();\n this.save();\n }\n};\n\nMixpanelPersistence.prototype._add_to_people_queue = function(queue, data) {\n var q_key = this._get_queue_key(queue),\n q_data = data[queue],\n set_q = this._get_or_create_queue(SET_ACTION),\n set_once_q = this._get_or_create_queue(SET_ONCE_ACTION),\n unset_q = this._get_or_create_queue(UNSET_ACTION),\n add_q = this._get_or_create_queue(ADD_ACTION),\n union_q = this._get_or_create_queue(UNION_ACTION),\n remove_q = this._get_or_create_queue(REMOVE_ACTION, []),\n append_q = this._get_or_create_queue(APPEND_ACTION, []);\n\n if (q_key === SET_QUEUE_KEY) {\n // Update the set queue - we can override any existing values\n _.extend(set_q, q_data);\n // if there was a pending increment, override it\n // with the set.\n this._pop_from_people_queue(ADD_ACTION, q_data);\n // if there was a pending union, override it\n // with the set.\n this._pop_from_people_queue(UNION_ACTION, q_data);\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n } else if (q_key === SET_ONCE_QUEUE_KEY) {\n // only queue the data if there is not already a set_once call for it.\n _.each(q_data, function(v, k) {\n if (!(k in set_once_q)) {\n set_once_q[k] = v;\n }\n });\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n } else if (q_key === UNSET_QUEUE_KEY) {\n _.each(q_data, function(prop) {\n\n // undo previously-queued actions on this key\n _.each([set_q, set_once_q, add_q, union_q], function(enqueued_obj) {\n if (prop in enqueued_obj) {\n delete enqueued_obj[prop];\n }\n });\n _.each(append_q, function(append_obj) {\n if (prop in append_obj) {\n delete append_obj[prop];\n }\n });\n\n unset_q[prop] = true;\n\n });\n } else if (q_key === ADD_QUEUE_KEY) {\n _.each(q_data, function(v, k) {\n // If it exists in the set queue, increment\n // the value\n if (k in set_q) {\n set_q[k] += v;\n } else {\n // If it doesn't exist, update the add\n // queue\n if (!(k in add_q)) {\n add_q[k] = 0;\n }\n add_q[k] += v;\n }\n }, this);\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n } else if (q_key === UNION_QUEUE_KEY) {\n _.each(q_data, function(v, k) {\n if (_.isArray(v)) {\n if (!(k in union_q)) {\n union_q[k] = [];\n }\n // We may send duplicates, the server will dedup them.\n union_q[k] = union_q[k].concat(v);\n }\n });\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n } else if (q_key === REMOVE_QUEUE_KEY) {\n remove_q.push(q_data);\n this._pop_from_people_queue(APPEND_ACTION, q_data);\n } else if (q_key === APPEND_QUEUE_KEY) {\n append_q.push(q_data);\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n }\n\n console$1.log('MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):');\n console$1.log(data);\n\n this.save();\n};\n\nMixpanelPersistence.prototype._pop_from_people_queue = function(queue, data) {\n var q = this._get_queue(queue);\n if (!_.isUndefined(q)) {\n _.each(data, function(v, k) {\n if (queue === APPEND_ACTION || queue === REMOVE_ACTION) {\n // list actions: only remove if both k+v match\n // e.g. remove should not override append in a case like\n // append({foo: 'bar'}); remove({foo: 'qux'})\n _.each(q, function(queued_action) {\n if (queued_action[k] === v) {\n delete queued_action[k];\n }\n });\n } else {\n delete q[k];\n }\n }, this);\n\n this.save();\n }\n};\n\nMixpanelPersistence.prototype._get_queue_key = function(queue) {\n if (queue === SET_ACTION) {\n return SET_QUEUE_KEY;\n } else if (queue === SET_ONCE_ACTION) {\n return SET_ONCE_QUEUE_KEY;\n } else if (queue === UNSET_ACTION) {\n return UNSET_QUEUE_KEY;\n } else if (queue === ADD_ACTION) {\n return ADD_QUEUE_KEY;\n } else if (queue === APPEND_ACTION) {\n return APPEND_QUEUE_KEY;\n } else if (queue === REMOVE_ACTION) {\n return REMOVE_QUEUE_KEY;\n } else if (queue === UNION_ACTION) {\n return UNION_QUEUE_KEY;\n } else {\n console$1.error('Invalid queue:', queue);\n }\n};\n\nMixpanelPersistence.prototype._get_queue = function(queue) {\n return this['props'][this._get_queue_key(queue)];\n};\nMixpanelPersistence.prototype._get_or_create_queue = function(queue, default_val) {\n var key = this._get_queue_key(queue);\n default_val = _.isUndefined(default_val) ? {} : default_val;\n\n return this['props'][key] || (this['props'][key] = default_val);\n};\n\nMixpanelPersistence.prototype.set_event_timer = function(event_name, timestamp) {\n var timers = this['props'][EVENT_TIMERS_KEY] || {};\n timers[event_name] = timestamp;\n this['props'][EVENT_TIMERS_KEY] = timers;\n this.save();\n};\n\nMixpanelPersistence.prototype.remove_event_timer = function(event_name) {\n var timers = this['props'][EVENT_TIMERS_KEY] || {};\n var timestamp = timers[event_name];\n if (!_.isUndefined(timestamp)) {\n delete this['props'][EVENT_TIMERS_KEY][event_name];\n this.save();\n }\n return timestamp;\n};\n\n/*\n * This file is a js implementation for a subset in eval_node.c\n */\n\n/*\n * Constants\n */\n// Metadata keys\n/** @const */ var OPERATOR_KEY = 'operator';\n/** @const */ var PROPERTY_KEY = 'property';\n/** @const */ var WINDOW_KEY = 'window';\n/** @const */ var UNIT_KEY = 'unit';\n/** @const */ var VALUE_KEY = 'value';\n/** @const */ var HOUR_KEY = 'hour';\n/** @const */ var DAY_KEY = 'day';\n/** @const */ var WEEK_KEY = 'week';\n/** @const */ var MONTH_KEY = 'month';\n\n// Operands\n/** @const */ var EVENT_PROPERTY = 'event';\n/** @const */ var LITERAL_PROPERTY = 'literal';\n\n// Binary Operators\n/** @const */ var AND_OPERATOR = 'and';\n/** @const */ var OR_OPERATOR = 'or';\n/** @const */ var IN_OPERATOR = 'in';\n/** @const */ var NOT_IN_OPERATOR = 'not in';\n/** @const */ var PLUS_OPERATOR = '+';\n/** @const */ var MINUS_OPERATOR = '-';\n/** @const */ var MUL_OPERATOR = '*';\n/** @const */ var DIV_OPERATOR = '/';\n/** @const */ var MOD_OPERATOR = '%';\n/** @const */ var EQUALS_OPERATOR = '==';\n/** @const */ var NOT_EQUALS_OPERATOR = '!=';\n/** @const */ var GREATER_OPERATOR = '>';\n/** @const */ var LESS_OPERATOR = '<';\n/** @const */ var GREATER_EQUAL_OPERATOR = '>=';\n/** @const */ var LESS_EQUAL_OPERATOR = '<=';\n\n// Typecast Operators\n/** @const */ var BOOLEAN_OPERATOR = 'boolean';\n/** @const */ var DATETIME_OPERATOR = 'datetime';\n/** @const */ var LIST_OPERATOR = 'list';\n/** @const */ var NUMBER_OPERATOR = 'number';\n/** @const */ var STRING_OPERATOR = 'string';\n\n// Unary Operators\n/** @const */ var NOT_OPERATOR = 'not';\n/** @const */ var DEFINED_OPERATOR = 'defined';\n/** @const */ var NOT_DEFINED_OPERATOR = 'not defined';\n\n// Special literals\n/** @const */ var NOW_LITERAL = 'now';\n\n// Type cast functions\nfunction toNumber(value) {\n if (value === null) {\n return null;\n }\n\n switch (typeof(value)) {\n case 'object':\n if (_.isDate(value) && value.getTime() >= 0) {\n return value.getTime();\n }\n return null;\n case 'boolean':\n return Number(value);\n case 'number':\n return value;\n case 'string':\n value = Number(value);\n if (!isNaN(value)) {\n return value;\n }\n return 0;\n }\n return null;\n}\n\nfunction evaluateNumber(op, properties) {\n if (!op['operator'] || op['operator'] !== NUMBER_OPERATOR || !op['children'] || op['children'].length !== 1) {\n throw ('Invalid cast operator: number ' + op);\n }\n\n return toNumber(evaluateSelector(op['children'][0], properties));\n}\n\nfunction toBoolean(value) {\n if (value === null) {\n return false;\n }\n\n switch (typeof value) {\n case 'boolean':\n return value;\n case 'number':\n return value !== 0.0;\n case 'string':\n return value.length > 0;\n case 'object':\n if (_.isArray(value) && value.length > 0) {\n return true;\n }\n if (_.isDate(value) && value.getTime() > 0) {\n return true;\n }\n if (_.isObject(value) && !_.isEmptyObject(value)) {\n return true;\n }\n return false;\n }\n return false;\n}\n\nfunction evaluateBoolean(op, properties) {\n if (!op['operator'] || op['operator'] !== BOOLEAN_OPERATOR || !op['children'] || op['children'].length !== 1) {\n throw ('Invalid cast operator: boolean ' + op);\n }\n\n return toBoolean(evaluateSelector(op['children'][0], properties));\n}\n\nfunction evaluateDateTime(op, properties) {\n if (!op['operator'] || op['operator'] !== DATETIME_OPERATOR || !op['children'] || op['children'].length !== 1) {\n throw ('Invalid cast operator: datetime ' + op);\n }\n\n var v = evaluateSelector(op['children'][0], properties);\n if (v === null) {\n return null;\n }\n\n switch (typeof(v)) {\n case 'number':\n case 'string':\n var d = new Date(v);\n if (isNaN(d.getTime())) {\n return null;\n }\n return d;\n case 'object':\n if (_.isDate(v)) {\n return v;\n }\n }\n\n return null;\n}\n\nfunction evaluateList(op, properties) {\n if (!op['operator'] || op['operator'] !== LIST_OPERATOR || !op['children'] || op['children'].length !== 1) {\n throw ('Invalid cast operator: list ' + op);\n }\n\n var v = evaluateSelector(op['children'][0], properties);\n if (v === null) {\n return null;\n }\n\n if (_.isArray(v)) {\n return v;\n }\n\n return null;\n}\n\nfunction evaluateString(op, properties) {\n if (!op['operator'] || op['operator'] !== STRING_OPERATOR || !op['children'] || op['children'].length !== 1) {\n throw ('Invalid cast operator: string ' + op);\n }\n\n var v = evaluateSelector(op['children'][0], properties);\n switch (typeof(v)) {\n case 'object':\n if (_.isDate(v)) {\n return v.toJSON();\n }\n return JSON.stringify(v);\n }\n return String(v);\n}\n\n// Operators\nfunction evaluateAnd(op, properties) {\n if (!op['operator'] || op['operator'] !== AND_OPERATOR || !op['children'] || op['children'].length !== 2) {\n throw ('Invalid operator: AND ' + op);\n }\n\n return toBoolean(evaluateSelector(op['children'][0], properties)) && toBoolean(evaluateSelector(op['children'][1], properties));\n}\n\nfunction evaluateOr(op, properties) {\n if (!op['operator'] || op['operator'] !== OR_OPERATOR || !op['children'] || op['children'].length !== 2) {\n throw ('Invalid operator: OR ' + op);\n }\n\n return toBoolean(evaluateSelector(op['children'][0], properties)) || toBoolean(evaluateSelector(op['children'][1], properties));\n}\n\nfunction evaluateIn(op, properties) {\n if (!op['operator'] || [IN_OPERATOR, NOT_IN_OPERATOR].indexOf(op['operator']) === -1 || !op['children'] || op['children'].length !== 2) {\n throw ('Invalid operator: IN/NOT IN ' + op);\n }\n var leftValue = evaluateSelector(op['children'][0], properties);\n var rightValue = evaluateSelector(op['children'][1], properties);\n\n if (!_.isArray(rightValue) && !_.isString(rightValue)) {\n throw ('Invalid operand for operator IN: invalid type' + rightValue);\n }\n\n var v = rightValue.indexOf(leftValue) > -1;\n if (op['operator'] === NOT_IN_OPERATOR) {\n return !v;\n }\n return v;\n}\n\nfunction evaluatePlus(op, properties) {\n if (!op['operator'] || op['operator'] !== PLUS_OPERATOR || !op['children'] || op['children'].length < 2) {\n throw ('Invalid operator: PLUS ' + op);\n }\n var l = evaluateSelector(op['children'][0], properties);\n var r = evaluateSelector(op['children'][1], properties);\n\n if (typeof l === 'number' && typeof r === 'number') {\n return l + r;\n }\n if (typeof l === 'string' && typeof r === 'string') {\n return l + r;\n }\n return null;\n}\n\nfunction evaluateArithmetic(op, properties) {\n if (!op['operator'] || [MINUS_OPERATOR, MUL_OPERATOR, DIV_OPERATOR, MOD_OPERATOR].indexOf(op['operator']) === -1 ||\n !op['children'] || op['children'].length < 2) {\n throw ('Invalid arithmetic operator ' + op);\n }\n\n var l = evaluateSelector(op['children'][0], properties);\n var r = evaluateSelector(op['children'][1], properties);\n\n if (typeof l === 'number' && typeof r === 'number') {\n switch (op['operator']) {\n case MINUS_OPERATOR:\n return l - r;\n case MUL_OPERATOR:\n return l * r;\n case DIV_OPERATOR:\n if (r !== 0) {\n return l / r;\n }\n return null;\n case MOD_OPERATOR:\n if (r === 0) {\n return null;\n }\n if (l === 0) {\n return 0;\n }\n if ((l < 0 && r > 0) || (l > 0 && r < 0)) {\n /* Mimic python modulo - result takes sign of the divisor\n * if one operand is negative. */\n return -(Math.floor(l / r) * r - l);\n }\n return l % r;\n default:\n throw('Unknown operator: ' + op['operator']);\n }\n }\n\n return null;\n}\n\nfunction _isArrayEqual(l, r) {\n if (l === r) return true;\n if (l === null || r === null) return false;\n if (l.length !== r.length) return false;\n\n for (var i = 0; i < l.length; i++) {\n if (l[i] !== r[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction _isEqual(l, r) {\n if ( l === null && l === r ) {\n return true;\n }\n if (typeof l === typeof r) {\n switch (typeof l) {\n case 'number':\n case 'string':\n case 'boolean':\n return l === r;\n case 'object':\n if (_.isArray(l) && _.isArray(r)) {\n return _isArrayEqual(l, r);\n }\n if (_.isDate(l) && _.isDate(r)) {\n return l.getTime() === r.getTime();\n }\n if (_.isObject(l) && _.isObject(r)) {\n return JSON.stringify(l) === JSON.stringify(r);\n }\n }\n }\n return false;\n}\n\nfunction evaluateEquality(op, properties) {\n if (!op['operator'] || [EQUALS_OPERATOR, NOT_EQUALS_OPERATOR].indexOf(op['operator']) === -1 || !op['children'] || op['children'].length !== 2) {\n throw ('Invalid equality operator ' + op);\n }\n\n var v = _isEqual(evaluateSelector(op['children'][0], properties), evaluateSelector(op['children'][1], properties));\n\n switch (op['operator']) {\n case EQUALS_OPERATOR:\n return v;\n case NOT_EQUALS_OPERATOR:\n return !v;\n }\n}\n\nfunction evaluateComparison(op, properties) {\n if (!op['operator'] ||\n [GREATER_OPERATOR, GREATER_EQUAL_OPERATOR, LESS_OPERATOR, LESS_EQUAL_OPERATOR].indexOf(op['operator']) === -1 ||\n !op['children'] || op['children'].length !== 2) {\n throw ('Invalid comparison operator ' + op);\n }\n var l = evaluateSelector(op['children'][0], properties);\n var r = evaluateSelector(op['children'][1], properties);\n\n if (typeof(l) === typeof(r)) {\n if (typeof(r) === 'number' || _.isDate(r)) {\n l = toNumber(l);\n r = toNumber(r);\n switch (op['operator']) {\n case GREATER_OPERATOR:\n return l > r;\n case GREATER_EQUAL_OPERATOR:\n return l >= r;\n case LESS_OPERATOR:\n return l < r;\n case LESS_EQUAL_OPERATOR:\n return l <= r;\n }\n } else if (typeof(r) === 'string') {\n var compare = l.localeCompare(r);\n switch (op['operator']) {\n case GREATER_OPERATOR:\n return compare > 0;\n case GREATER_EQUAL_OPERATOR:\n return compare >= 0;\n case LESS_OPERATOR:\n return compare < 0;\n case LESS_EQUAL_OPERATOR:\n return compare <= 0;\n }\n }\n }\n\n return null;\n}\n\nfunction evaluateDefined(op, properties) {\n if (!op['operator'] || [DEFINED_OPERATOR, NOT_DEFINED_OPERATOR].indexOf(op['operator']) === -1 ||\n !op['children'] || op['children'].length !== 1) {\n throw ('Invalid defined/not defined operator: ' + op);\n }\n\n var b = evaluateSelector(op['children'][0], properties) !== null;\n if (op['operator'] === NOT_DEFINED_OPERATOR) {\n return !b;\n }\n\n return b;\n}\n\nfunction evaluateNot(op, properties) {\n if (!op['operator'] || op['operator'] !== NOT_OPERATOR || !op['children'] || op['children'].length !== 1) {\n throw ('Invalid not operator: ' + op);\n }\n\n var v = evaluateSelector(op['children'][0], properties);\n if (v === null) {\n return true;\n }\n\n if (typeof(v) === 'boolean') {\n return !v;\n }\n\n return null;\n}\n\nfunction evaluateOperator(op, properties) {\n if (!op['operator']) {\n throw ('Invalid operator: operator key missing ' + op);\n }\n\n switch (op['operator']) {\n case AND_OPERATOR:\n return evaluateAnd(op, properties);\n case OR_OPERATOR:\n return evaluateOr(op, properties);\n case IN_OPERATOR:\n case NOT_IN_OPERATOR:\n return evaluateIn(op, properties);\n case PLUS_OPERATOR:\n return evaluatePlus(op, properties);\n case MINUS_OPERATOR:\n case MUL_OPERATOR:\n case DIV_OPERATOR:\n case MOD_OPERATOR:\n return evaluateArithmetic(op, properties);\n case EQUALS_OPERATOR:\n case NOT_EQUALS_OPERATOR:\n return evaluateEquality(op, properties);\n case GREATER_OPERATOR:\n case LESS_OPERATOR:\n case GREATER_EQUAL_OPERATOR:\n case LESS_EQUAL_OPERATOR:\n return evaluateComparison(op, properties);\n case BOOLEAN_OPERATOR:\n return evaluateBoolean(op, properties);\n case DATETIME_OPERATOR:\n return evaluateDateTime(op, properties);\n case LIST_OPERATOR:\n return evaluateList(op, properties);\n case NUMBER_OPERATOR:\n return evaluateNumber(op, properties);\n case STRING_OPERATOR:\n return evaluateString(op, properties);\n case DEFINED_OPERATOR:\n case NOT_DEFINED_OPERATOR:\n return evaluateDefined(op, properties);\n case NOT_OPERATOR:\n return evaluateNot(op, properties);\n }\n}\n\nfunction evaluateWindow(value) {\n var win = value[WINDOW_KEY];\n if (!win || !win[UNIT_KEY] || !win[VALUE_KEY]) {\n throw('Invalid window: missing required keys ' + JSON.stringify(value));\n }\n var out = new Date();\n switch (win[UNIT_KEY]) {\n case HOUR_KEY:\n out.setTime(out.getTime() + (win[VALUE_KEY]*-1*60*60*1000));\n break;\n case DAY_KEY:\n out.setTime(out.getTime() + (win[VALUE_KEY]*-1*24*60*60*1000));\n break;\n case WEEK_KEY:\n out.setTime(out.getTime() + (win[VALUE_KEY]*-1*7*24*60*60*1000));\n break;\n case MONTH_KEY:\n out.setTime(out.getTime() + (win[VALUE_KEY]*-1*30*24*60*60*1000));\n break;\n default:\n throw('Invalid unit: ' + win[UNIT_KEY]);\n }\n\n return out;\n}\n\nfunction evaluateOperand(op, properties) {\n if (!op['property'] || !op['value']) {\n throw('Invalid operand: missing required keys ' + op);\n }\n switch (op['property']) {\n case EVENT_PROPERTY:\n if (properties[op['value']] !== undefined) {\n return properties[op['value']];\n }\n return null;\n case LITERAL_PROPERTY:\n if (op['value'] === NOW_LITERAL) {\n return new Date();\n }\n if (typeof(op['value']) === 'object') {\n return evaluateWindow(op['value']);\n }\n return op['value'];\n default:\n throw('Invalid operand: Invalid property type ' + op['property']);\n }\n}\n\nfunction evaluateSelector(filters, properties) {\n if (filters[PROPERTY_KEY]) {\n return evaluateOperand(filters, properties);\n }\n if (filters[OPERATOR_KEY]) {\n return evaluateOperator(filters, properties);\n }\n}\n\n// Internal class for notification display\n\nvar MixpanelNotification = function(notif_data, mixpanel_instance) {\n _.bind_instance_methods(this);\n\n this.mixpanel = mixpanel_instance;\n this.persistence = this.mixpanel['persistence'];\n this.resource_protocol = this.mixpanel.get_config('inapp_protocol');\n this.cdn_host = this.mixpanel.get_config('cdn');\n\n this.campaign_id = _.escapeHTML(notif_data['id']);\n this.message_id = _.escapeHTML(notif_data['message_id']);\n\n this.body = (_.escapeHTML(notif_data['body']) || '').replace(/\\n/g, '<br/>');\n this.cta = _.escapeHTML(notif_data['cta']) || 'Close';\n this.notif_type = _.escapeHTML(notif_data['type']) || 'takeover';\n this.style = _.escapeHTML(notif_data['style']) || 'light';\n this.title = _.escapeHTML(notif_data['title']) || '';\n this.video_width = MixpanelNotification.VIDEO_WIDTH;\n this.video_height = MixpanelNotification.VIDEO_HEIGHT;\n\n this.display_triggers = notif_data['display_triggers'] || [];\n\n // These fields are url-sanitized in the backend already.\n this.dest_url = notif_data['cta_url'] || null;\n this.image_url = notif_data['image_url'] || null;\n this.thumb_image_url = notif_data['thumb_image_url'] || null;\n this.video_url = notif_data['video_url'] || null;\n\n if (this.thumb_image_url && this.thumb_image_url.indexOf('//') === 0) {\n this.thumb_image_url = this.thumb_image_url.replace('//', this.resource_protocol);\n }\n\n this.clickthrough = true;\n if (!this.dest_url) {\n this.dest_url = '#dismiss';\n this.clickthrough = false;\n }\n\n this.mini = this.notif_type === 'mini';\n if (!this.mini) {\n this.notif_type = 'takeover';\n }\n this.notif_width = !this.mini ? MixpanelNotification.NOTIF_WIDTH : MixpanelNotification.NOTIF_WIDTH_MINI;\n\n this._set_client_config();\n this.imgs_to_preload = this._init_image_html();\n this._init_video();\n};\n\nMixpanelNotification.ANIM_TIME = 200;\nMixpanelNotification.MARKUP_PREFIX = 'mixpanel-notification';\nMixpanelNotification.BG_OPACITY = 0.6;\nMixpanelNotification.NOTIF_TOP = 25;\nMixpanelNotification.NOTIF_START_TOP = 200;\nMixpanelNotification.NOTIF_WIDTH = 388;\nMixpanelNotification.NOTIF_WIDTH_MINI = 420;\nMixpanelNotification.NOTIF_HEIGHT_MINI = 85;\nMixpanelNotification.THUMB_BORDER_SIZE = 5;\nMixpanelNotification.THUMB_IMG_SIZE = 60;\nMixpanelNotification.THUMB_OFFSET = Math.round(MixpanelNotification.THUMB_IMG_SIZE / 2);\nMixpanelNotification.VIDEO_WIDTH = 595;\nMixpanelNotification.VIDEO_HEIGHT = 334;\n\nMixpanelNotification.prototype.show = function() {\n var self = this;\n this._set_client_config();\n\n // don't display until HTML body exists\n if (!this.body_el) {\n setTimeout(function() { self.show(); }, 300);\n return;\n }\n\n this._init_styles();\n this._init_notification_el();\n\n // wait for any images to load before showing notification\n this._preload_images(this._attach_and_animate);\n};\n\nMixpanelNotification.prototype.dismiss = _.safewrap(function() {\n if (!this.marked_as_shown) {\n // unexpected condition: user interacted with notif even though we didn't consider it\n // visible (see _mark_as_shown()); send tracking signals to mark delivery\n this._mark_delivery({'invisible': true});\n }\n\n var exiting_el = this.showing_video ? this._get_el('video') : this._get_notification_display_el();\n if (this.use_transitions) {\n this._remove_class('bg', 'visible');\n this._add_class(exiting_el, 'exiting');\n setTimeout(this._remove_notification_el, MixpanelNotification.ANIM_TIME);\n } else {\n var notif_attr, notif_start, notif_goal;\n if (this.mini) {\n notif_attr = 'right';\n notif_start = 20;\n notif_goal = -100;\n } else {\n notif_attr = 'top';\n notif_start = MixpanelNotification.NOTIF_TOP;\n notif_goal = MixpanelNotification.NOTIF_START_TOP + MixpanelNotification.NOTIF_TOP;\n }\n this._animate_els([\n {\n el: this._get_el('bg'),\n attr: 'opacity',\n start: MixpanelNotification.BG_OPACITY,\n goal: 0.0\n },\n {\n el: exiting_el,\n attr: 'opacity',\n start: 1.0,\n goal: 0.0\n },\n {\n el: exiting_el,\n attr: notif_attr,\n start: notif_start,\n goal: notif_goal\n }\n ], MixpanelNotification.ANIM_TIME, this._remove_notification_el);\n }\n});\n\nMixpanelNotification.prototype._add_class = _.safewrap(function(el, class_name) {\n class_name = MixpanelNotification.MARKUP_PREFIX + '-' + class_name;\n if (typeof el === 'string') {\n el = this._get_el(el);\n }\n if (!el.className) {\n el.className = class_name;\n } else if (!~(' ' + el.className + ' ').indexOf(' ' + class_name + ' ')) {\n el.className += ' ' + class_name;\n }\n});\nMixpanelNotification.prototype._remove_class = _.safewrap(function(el, class_name) {\n class_name = MixpanelNotification.MARKUP_PREFIX + '-' + class_name;\n if (typeof el === 'string') {\n el = this._get_el(el);\n }\n if (el.className) {\n el.className = (' ' + el.className + ' ')\n .replace(' ' + class_name + ' ', '')\n .replace(/^[\\s\\xA0]+/, '')\n .replace(/[\\s\\xA0]+$/, '');\n }\n});\n\nMixpanelNotification.prototype._animate_els = _.safewrap(function(anims, mss, done_cb, start_time) {\n var self = this,\n in_progress = false,\n ai, anim,\n cur_time = 1 * new Date(), time_diff;\n\n start_time = start_time || cur_time;\n time_diff = cur_time - start_time;\n\n for (ai = 0; ai < anims.length; ai++) {\n anim = anims[ai];\n if (typeof anim.val === 'undefined') {\n anim.val = anim.start;\n }\n if (anim.val !== anim.goal) {\n in_progress = true;\n var anim_diff = anim.goal - anim.start,\n anim_dir = anim.goal >= anim.start ? 1 : -1;\n anim.val = anim.start + anim_diff * time_diff / mss;\n if (anim.attr !== 'opacity') {\n anim.val = Math.round(anim.val);\n }\n if ((anim_dir > 0 && anim.val >= anim.goal) || (anim_dir < 0 && anim.val <= anim.goal)) {\n anim.val = anim.goal;\n }\n }\n }\n if (!in_progress) {\n if (done_cb) {\n done_cb();\n }\n return;\n }\n\n for (ai = 0; ai < anims.length; ai++) {\n anim = anims[ai];\n if (anim.el) {\n var suffix = anim.attr === 'opacity' ? '' : 'px';\n anim.el.style[anim.attr] = String(anim.val) + suffix;\n }\n }\n setTimeout(function() { self._animate_els(anims, mss, done_cb, start_time); }, 10);\n});\n\nMixpanelNotification.prototype._attach_and_animate = _.safewrap(function() {\n var self = this;\n\n // no possibility to double-display\n if (this.shown || this._get_shown_campaigns()[this.campaign_id]) {\n return;\n }\n this.shown = true;\n\n this.body_el.appendChild(this.notification_el);\n setTimeout(function() {\n var notif_el = self._get_notification_display_el();\n if (self.use_transitions) {\n if (!self.mini) {\n self._add_class('bg', 'visible');\n }\n self._add_class(notif_el, 'visible');\n self._mark_as_shown();\n } else {\n var notif_attr, notif_start, notif_goal;\n if (self.mini) {\n notif_attr = 'right';\n notif_start = -100;\n notif_goal = 20;\n } else {\n notif_attr = 'top';\n notif_start = MixpanelNotification.NOTIF_START_TOP + MixpanelNotification.NOTIF_TOP;\n notif_goal = MixpanelNotification.NOTIF_TOP;\n }\n self._animate_els([\n {\n el: self._get_el('bg'),\n attr: 'opacity',\n start: 0.0,\n goal: MixpanelNotification.BG_OPACITY\n },\n {\n el: notif_el,\n attr: 'opacity',\n start: 0.0,\n goal: 1.0\n },\n {\n el: notif_el,\n attr: notif_attr,\n start: notif_start,\n goal: notif_goal\n }\n ], MixpanelNotification.ANIM_TIME, self._mark_as_shown);\n }\n }, 100);\n _.register_event(self._get_el('cancel'), 'click', function(e) {\n e.preventDefault();\n self.dismiss();\n });\n var click_el = self._get_el('button') ||\n self._get_el('mini-content');\n _.register_event(click_el, 'click', function(e) {\n e.preventDefault();\n if (self.show_video) {\n self._track_event('$campaign_open', {'$resource_type': 'video'});\n self._switch_to_video();\n } else {\n self.dismiss();\n if (self.clickthrough) {\n var tracking_cb = null;\n if (self.mixpanel.get_config('inapp_link_new_window')) {\n window.open(self.dest_url);\n } else {\n tracking_cb = function() {\n window.location.href = self.dest_url;\n };\n }\n self._track_event('$campaign_open', {'$resource_type': 'link'}, tracking_cb);\n }\n }\n });\n});\n\nMixpanelNotification.prototype._get_el = function(id) {\n return document.getElementById(MixpanelNotification.MARKUP_PREFIX + '-' + id);\n};\n\nMixpanelNotification.prototype._get_notification_display_el = function() {\n return this._get_el(this.notif_type);\n};\n\nMixpanelNotification.prototype._get_shown_campaigns = function() {\n return this.persistence['props'][CAMPAIGN_IDS_KEY] || (this.persistence['props'][CAMPAIGN_IDS_KEY] = {});\n};\n\nMixpanelNotification.prototype._matches_event_data = _.safewrap(function(event_data) {\n var event_name = event_data['event'] || '';\n for (var i = 0; i < this.display_triggers.length; i++) {\n var display_trigger = this.display_triggers[i];\n var match_event = display_trigger['event'] || '';\n if (match_event === '$any_event' || event_name === display_trigger['event']) {\n if (display_trigger['selector'] && !_.isEmptyObject(display_trigger['selector'])) {\n if (evaluateSelector(display_trigger['selector'], event_data['properties'])) {\n return true;\n }\n } else {\n return true;\n }\n }\n }\n return false;\n});\n\n\nMixpanelNotification.prototype._browser_lte = function(browser, version) {\n return this.browser_versions[browser] && this.browser_versions[browser] <= version;\n};\n\nMixpanelNotification.prototype._init_image_html = function() {\n var imgs_to_preload = [];\n\n if (!this.mini) {\n if (this.image_url) {\n imgs_to_preload.push(this.image_url);\n this.img_html = '<img id=\"img\" src=\"' + this.image_url + '\"/>';\n } else {\n this.img_html = '';\n }\n if (this.thumb_image_url) {\n imgs_to_preload.push(this.thumb_image_url);\n this.thumb_img_html =\n '<div id=\"thumbborder-wrapper\"><div id=\"thumbborder\"></div></div>' +\n '<img id=\"thumbnail\"' +\n ' src=\"' + this.thumb_image_url + '\"' +\n ' width=\"' + MixpanelNotification.THUMB_IMG_SIZE + '\"' +\n ' height=\"' + MixpanelNotification.THUMB_IMG_SIZE + '\"' +\n '/>' +\n '<div id=\"thumbspacer\"></div>';\n } else {\n this.thumb_img_html = '';\n }\n } else {\n this.thumb_image_url = this.thumb_image_url || (this.cdn_host + '/site_media/images/icons/notifications/mini-news-dark.png');\n imgs_to_preload.push(this.thumb_image_url);\n }\n\n return imgs_to_preload;\n};\n\nMixpanelNotification.prototype._init_notification_el = function() {\n var notification_html = '';\n var video_src = '';\n var video_html = '';\n var cancel_html = '<div id=\"cancel\">' +\n '<div id=\"cancel-icon\"></div>' +\n '</div>';\n\n this.notification_el = document.createElement('div');\n this.notification_el.id = MixpanelNotification.MARKUP_PREFIX + '-wrapper';\n if (!this.mini) {\n // TAKEOVER notification\n var close_html = (this.clickthrough || this.show_video) ? '' : '<div id=\"button-close\"></div>',\n play_html = this.show_video ? '<div id=\"button-play\"></div>' : '';\n if (this._browser_lte('ie', 7)) {\n close_html = '';\n play_html = '';\n }\n notification_html =\n '<div id=\"takeover\">' +\n this.thumb_img_html +\n '<div id=\"mainbox\">' +\n cancel_html +\n '<div id=\"content\">' +\n this.img_html +\n '<div id=\"title\">' + this.title + '</div>' +\n '<div id=\"body\">' + this.body + '</div>' +\n '<div id=\"tagline\">' +\n '<a href=\"http://mixpanel.com?from=inapp\" target=\"_blank\">POWERED BY MIXPANEL</a>' +\n '</div>' +\n '</div>' +\n '<div id=\"button\">' +\n close_html +\n '<a id=\"button-link\" href=\"' + this.dest_url + '\">' + this.cta + '</a>' +\n play_html +\n '</div>' +\n '</div>' +\n '</div>';\n } else {\n // MINI notification\n notification_html =\n '<div id=\"mini\">' +\n '<div id=\"mainbox\">' +\n cancel_html +\n '<div id=\"mini-content\">' +\n '<div id=\"mini-icon\">' +\n '<div id=\"mini-icon-img\"></div>' +\n '</div>' +\n '<div id=\"body\">' +\n '<div id=\"body-text\"><div>' + this.body + '</div></div>' +\n '</div>' +\n '</div>' +\n '</div>' +\n '<div id=\"mini-border\"></div>' +\n '</div>';\n }\n if (this.youtube_video) {\n video_src = this.resource_protocol + 'www.youtube.com/embed/' + this.youtube_video +\n '?wmode=transparent&showinfo=0&modestbranding=0&rel=0&autoplay=1&loop=0&vq=hd1080';\n if (this.yt_custom) {\n video_src += '&enablejsapi=1&html5=1&controls=0';\n video_html =\n '<div id=\"video-controls\">' +\n '<div id=\"video-progress\" class=\"video-progress-el\">' +\n '<div id=\"video-progress-total\" class=\"video-progress-el\"></div>' +\n '<div id=\"video-elapsed\" class=\"video-progress-el\"></div>' +\n '</div>' +\n '<div id=\"video-time\" class=\"video-progress-el\"></div>' +\n '</div>';\n }\n } else if (this.vimeo_video) {\n video_src = this.resource_protocol + 'player.vimeo.com/video/' + this.vimeo_video + '?autoplay=1&title=0&byline=0&portrait=0';\n }\n if (this.show_video) {\n this.video_iframe =\n '<iframe id=\"' + MixpanelNotification.MARKUP_PREFIX + '-video-frame\" ' +\n 'width=\"' + this.video_width + '\" height=\"' + this.video_height + '\" ' +\n ' src=\"' + video_src + '\"' +\n ' frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen=\"1\" scrolling=\"no\"' +\n '></iframe>';\n video_html =\n '<div id=\"video-' + (this.flip_animate ? '' : 'no') + 'flip\">' +\n '<div id=\"video\">' +\n '<div id=\"video-holder\"></div>' +\n video_html +\n '</div>' +\n '</div>';\n }\n var main_html = video_html + notification_html;\n if (this.flip_animate) {\n main_html =\n (this.mini ? notification_html : '') +\n '<div id=\"flipcontainer\"><div id=\"flipper\">' +\n (this.mini ? video_html : main_html) +\n '</div></div>';\n }\n\n this.notification_el.innerHTML =\n ('<div id=\"overlay\" class=\"' + this.notif_type + '\">' +\n '<div id=\"campaignid-' + this.campaign_id + '\">' +\n '<div id=\"bgwrapper\">' +\n '<div id=\"bg\"></div>' +\n main_html +\n '</div>' +\n '</div>' +\n '</div>')\n .replace(/class=\"/g, 'class=\"' + MixpanelNotification.MARKUP_PREFIX + '-')\n .replace(/id=\"/g, 'id=\"' + MixpanelNotification.MARKUP_PREFIX + '-');\n};\n\nMixpanelNotification.prototype._init_styles = function() {\n if (this.style === 'dark') {\n this.style_vals = {\n bg: '#1d1f25',\n bg_actions: '#282b32',\n bg_hover: '#3a4147',\n bg_light: '#4a5157',\n border_gray: '#32353c',\n cancel_opacity: '0.4',\n mini_hover: '#2a3137',\n text_title: '#fff',\n text_main: '#9498a3',\n text_tagline: '#464851',\n text_hover: '#ddd'\n };\n } else {\n this.style_vals = {\n bg: '#fff',\n bg_actions: '#e7eaee',\n bg_hover: '#eceff3',\n bg_light: '#f5f5f5',\n border_gray: '#e4ecf2',\n cancel_opacity: '1.0',\n mini_hover: '#fafafa',\n text_title: '#5c6578',\n text_main: '#8b949b',\n text_tagline: '#ced9e6',\n text_hover: '#7c8598'\n };\n }\n var shadow = '0px 0px 35px 0px rgba(45, 49, 56, 0.7)',\n video_shadow = shadow,\n mini_shadow = shadow,\n thumb_total_size = MixpanelNotification.THUMB_IMG_SIZE + MixpanelNotification.THUMB_BORDER_SIZE * 2,\n anim_seconds = (MixpanelNotification.ANIM_TIME / 1000) + 's';\n if (this.mini) {\n shadow = 'none';\n }\n\n // don't display on small viewports\n var notif_media_queries = {},\n min_width = MixpanelNotification.NOTIF_WIDTH_MINI + 20;\n notif_media_queries['@media only screen and (max-width: ' + (min_width - 1) + 'px)'] = {\n '#overlay': {\n 'display': 'none'\n }\n };\n var notif_styles = {\n '.flipped': {\n 'transform': 'rotateY(180deg)'\n },\n '#overlay': {\n 'position': 'fixed',\n 'top': '0',\n 'left': '0',\n 'width': '100%',\n 'height': '100%',\n 'overflow': 'auto',\n 'text-align': 'center',\n 'z-index': '10000',\n 'font-family': '\"Helvetica\", \"Arial\", sans-serif',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale'\n },\n '#overlay.mini': {\n 'height': '0',\n 'overflow': 'visible'\n },\n '#overlay a': {\n 'width': 'initial',\n 'padding': '0',\n 'text-decoration': 'none',\n 'text-transform': 'none',\n 'color': 'inherit'\n },\n '#bgwrapper': {\n 'position': 'relative',\n 'width': '100%',\n 'height': '100%'\n },\n '#bg': {\n 'position': 'fixed',\n 'top': '0',\n 'left': '0',\n 'width': '100%',\n 'height': '100%',\n 'min-width': this.doc_width * 4 + 'px',\n 'min-height': this.doc_height * 4 + 'px',\n 'background-color': 'black',\n 'opacity': '0.0',\n '-ms-filter': 'progid:DXImageTransform.Microsoft.Alpha(Opacity=60)', // IE8\n 'filter': 'alpha(opacity=60)', // IE5-7\n 'transition': 'opacity ' + anim_seconds\n },\n '#bg.visible': {\n 'opacity': MixpanelNotification.BG_OPACITY\n },\n '.mini #bg': {\n 'width': '0',\n 'height': '0',\n 'min-width': '0'\n },\n '#flipcontainer': {\n 'perspective': '1000px',\n 'position': 'absolute',\n 'width': '100%'\n },\n '#flipper': {\n 'position': 'relative',\n 'transform-style': 'preserve-3d',\n 'transition': '0.3s'\n },\n '#takeover': {\n 'position': 'absolute',\n 'left': '50%',\n 'width': MixpanelNotification.NOTIF_WIDTH + 'px',\n 'margin-left': Math.round(-MixpanelNotification.NOTIF_WIDTH / 2) + 'px',\n 'backface-visibility': 'hidden',\n 'transform': 'rotateY(0deg)',\n 'opacity': '0.0',\n 'top': MixpanelNotification.NOTIF_START_TOP + 'px',\n 'transition': 'opacity ' + anim_seconds + ', top ' + anim_seconds\n },\n '#takeover.visible': {\n 'opacity': '1.0',\n 'top': MixpanelNotification.NOTIF_TOP + 'px'\n },\n '#takeover.exiting': {\n 'opacity': '0.0',\n 'top': MixpanelNotification.NOTIF_START_TOP + 'px'\n },\n '#thumbspacer': {\n 'height': MixpanelNotification.THUMB_OFFSET + 'px'\n },\n '#thumbborder-wrapper': {\n 'position': 'absolute',\n 'top': (-MixpanelNotification.THUMB_BORDER_SIZE) + 'px',\n 'left': (MixpanelNotification.NOTIF_WIDTH / 2 - MixpanelNotification.THUMB_OFFSET - MixpanelNotification.THUMB_BORDER_SIZE) + 'px',\n 'width': thumb_total_size + 'px',\n 'height': (thumb_total_size / 2) + 'px',\n 'overflow': 'hidden'\n },\n '#thumbborder': {\n 'position': 'absolute',\n 'width': thumb_total_size + 'px',\n 'height': thumb_total_size + 'px',\n 'border-radius': thumb_total_size + 'px',\n 'background-color': this.style_vals.bg_actions,\n 'opacity': '0.5'\n },\n '#thumbnail': {\n 'position': 'absolute',\n 'top': '0px',\n 'left': (MixpanelNotification.NOTIF_WIDTH / 2 - MixpanelNotification.THUMB_OFFSET) + 'px',\n 'width': MixpanelNotification.THUMB_IMG_SIZE + 'px',\n 'height': MixpanelNotification.THUMB_IMG_SIZE + 'px',\n 'overflow': 'hidden',\n 'z-index': '100',\n 'border-radius': MixpanelNotification.THUMB_IMG_SIZE + 'px'\n },\n '#mini': {\n 'position': 'absolute',\n 'right': '20px',\n 'top': MixpanelNotification.NOTIF_TOP + 'px',\n 'width': this.notif_width + 'px',\n 'height': MixpanelNotification.NOTIF_HEIGHT_MINI * 2 + 'px',\n 'margin-top': 20 - MixpanelNotification.NOTIF_HEIGHT_MINI + 'px',\n 'backface-visibility': 'hidden',\n 'opacity': '0.0',\n 'transform': 'rotateX(90deg)',\n 'transition': 'opacity 0.3s, transform 0.3s, right 0.3s'\n },\n '#mini.visible': {\n 'opacity': '1.0',\n 'transform': 'rotateX(0deg)'\n },\n '#mini.exiting': {\n 'opacity': '0.0',\n 'right': '-150px'\n },\n '#mainbox': {\n 'border-radius': '4px',\n 'box-shadow': shadow,\n 'text-align': 'center',\n 'background-color': this.style_vals.bg,\n 'font-size': '14px',\n 'color': this.style_vals.text_main\n },\n '#mini #mainbox': {\n 'height': MixpanelNotification.NOTIF_HEIGHT_MINI + 'px',\n 'margin-top': MixpanelNotification.NOTIF_HEIGHT_MINI + 'px',\n 'border-radius': '3px',\n 'transition': 'background-color ' + anim_seconds\n },\n '#mini-border': {\n 'height': (MixpanelNotification.NOTIF_HEIGHT_MINI + 6) + 'px',\n 'width': (MixpanelNotification.NOTIF_WIDTH_MINI + 6) + 'px',\n 'position': 'absolute',\n 'top': '-3px',\n 'left': '-3px',\n 'margin-top': MixpanelNotification.NOTIF_HEIGHT_MINI + 'px',\n 'border-radius': '6px',\n 'opacity': '0.25',\n 'background-color': '#fff',\n 'z-index': '-1',\n 'box-shadow': mini_shadow\n },\n '#mini-icon': {\n 'position': 'relative',\n 'display': 'inline-block',\n 'width': '75px',\n 'height': MixpanelNotification.NOTIF_HEIGHT_MINI + 'px',\n 'border-radius': '3px 0 0 3px',\n 'background-color': this.style_vals.bg_actions,\n 'background': 'linear-gradient(135deg, ' + this.style_vals.bg_light + ' 0%, ' + this.style_vals.bg_actions + ' 100%)',\n 'transition': 'background-color ' + anim_seconds\n },\n '#mini:hover #mini-icon': {\n 'background-color': this.style_vals.mini_hover\n },\n '#mini:hover #mainbox': {\n 'background-color': this.style_vals.mini_hover\n },\n '#mini-icon-img': {\n 'position': 'absolute',\n 'background-image': 'url(' + this.thumb_image_url + ')',\n 'width': '48px',\n 'height': '48px',\n 'top': '20px',\n 'left': '12px'\n },\n '#content': {\n 'padding': '30px 20px 0px 20px'\n },\n '#mini-content': {\n 'text-align': 'left',\n 'height': MixpanelNotification.NOTIF_HEIGHT_MINI + 'px',\n 'cursor': 'pointer'\n },\n '#img': {\n 'width': '328px',\n 'margin-top': '30px',\n 'border-radius': '5px'\n },\n '#title': {\n 'max-height': '600px',\n 'overflow': 'hidden',\n 'word-wrap': 'break-word',\n 'padding': '25px 0px 20px 0px',\n 'font-size': '19px',\n 'font-weight': 'bold',\n 'color': this.style_vals.text_title\n },\n '#body': {\n 'max-height': '600px',\n 'margin-bottom': '25px',\n 'overflow': 'hidden',\n 'word-wrap': 'break-word',\n 'line-height': '21px',\n 'font-size': '15px',\n 'font-weight': 'normal',\n 'text-align': 'left'\n },\n '#mini #body': {\n 'display': 'inline-block',\n 'max-width': '250px',\n 'margin': '0 0 0 30px',\n 'height': MixpanelNotification.NOTIF_HEIGHT_MINI + 'px',\n 'font-size': '16px',\n 'letter-spacing': '0.8px',\n 'color': this.style_vals.text_title\n },\n '#mini #body-text': {\n 'display': 'table',\n 'height': MixpanelNotification.NOTIF_HEIGHT_MINI + 'px'\n },\n '#mini #body-text div': {\n 'display': 'table-cell',\n 'vertical-align': 'middle'\n },\n '#tagline': {\n 'margin-bottom': '15px',\n 'font-size': '10px',\n 'font-weight': '600',\n 'letter-spacing': '0.8px',\n 'color': '#ccd7e0',\n 'text-align': 'left'\n },\n '#tagline a': {\n 'color': this.style_vals.text_tagline,\n 'transition': 'color ' + anim_seconds\n },\n '#tagline a:hover': {\n 'color': this.style_vals.text_hover\n },\n '#cancel': {\n 'position': 'absolute',\n 'right': '0',\n 'width': '8px',\n 'height': '8px',\n 'padding': '10px',\n 'border-radius': '20px',\n 'margin': '12px 12px 0 0',\n 'box-sizing': 'content-box',\n 'cursor': 'pointer',\n 'transition': 'background-color ' + anim_seconds\n },\n '#mini #cancel': {\n 'margin': '7px 7px 0 0'\n },\n '#cancel-icon': {\n 'width': '8px',\n 'height': '8px',\n 'overflow': 'hidden',\n 'background-image': 'url(' + this.cdn_host + '/site_media/images/icons/notifications/cancel-x.png)',\n 'opacity': this.style_vals.cancel_opacity\n },\n '#cancel:hover': {\n 'background-color': this.style_vals.bg_hover\n },\n '#button': {\n 'display': 'block',\n 'height': '60px',\n 'line-height': '60px',\n 'text-align': 'center',\n 'background-color': this.style_vals.bg_actions,\n 'border-radius': '0 0 4px 4px',\n 'overflow': 'hidden',\n 'cursor': 'pointer',\n 'transition': 'background-color ' + anim_seconds\n },\n '#button-close': {\n 'display': 'inline-block',\n 'width': '9px',\n 'height': '60px',\n 'margin-right': '8px',\n 'vertical-align': 'top',\n 'background-image': 'url(' + this.cdn_host + '/site_media/images/icons/notifications/close-x-' + this.style + '.png)',\n 'background-repeat': 'no-repeat',\n 'background-position': '0px 25px'\n },\n '#button-play': {\n 'display': 'inline-block',\n 'width': '30px',\n 'height': '60px',\n 'margin-left': '15px',\n 'background-image': 'url(' + this.cdn_host + '/site_media/images/icons/notifications/play-' + this.style + '-small.png)',\n 'background-repeat': 'no-repeat',\n 'background-position': '0px 15px'\n },\n 'a#button-link': {\n 'display': 'inline-block',\n 'vertical-align': 'top',\n 'text-align': 'center',\n 'font-size': '17px',\n 'font-weight': 'bold',\n 'overflow': 'hidden',\n 'word-wrap': 'break-word',\n 'color': this.style_vals.text_title,\n 'transition': 'color ' + anim_seconds\n },\n '#button:hover': {\n 'background-color': this.style_vals.bg_hover,\n 'color': this.style_vals.text_hover\n },\n '#button:hover a': {\n 'color': this.style_vals.text_hover\n },\n\n '#video-noflip': {\n 'position': 'relative',\n 'top': (-this.video_height * 2) + 'px'\n },\n '#video-flip': {\n 'backface-visibility': 'hidden',\n 'transform': 'rotateY(180deg)'\n },\n '#video': {\n 'position': 'absolute',\n 'width': (this.video_width - 1) + 'px',\n 'height': this.video_height + 'px',\n 'top': MixpanelNotification.NOTIF_TOP + 'px',\n 'margin-top': '100px',\n 'left': '50%',\n 'margin-left': Math.round(-this.video_width / 2) + 'px',\n 'overflow': 'hidden',\n 'border-radius': '5px',\n 'box-shadow': video_shadow,\n 'transform': 'translateZ(1px)', // webkit rendering bug http://stackoverflow.com/questions/18167981/clickable-link-area-unexpectedly-smaller-after-css-transform\n 'transition': 'opacity ' + anim_seconds + ', top ' + anim_seconds\n },\n '#video.exiting': {\n 'opacity': '0.0',\n 'top': this.video_height + 'px'\n },\n '#video-holder': {\n 'position': 'absolute',\n 'width': (this.video_width - 1) + 'px',\n 'height': this.video_height + 'px',\n 'overflow': 'hidden',\n 'border-radius': '5px'\n },\n '#video-frame': {\n 'margin-left': '-1px',\n 'width': this.video_width + 'px'\n },\n '#video-controls': {\n 'opacity': '0',\n 'transition': 'opacity 0.5s'\n },\n '#video:hover #video-controls': {\n 'opacity': '1.0'\n },\n '#video .video-progress-el': {\n 'position': 'absolute',\n 'bottom': '0',\n 'height': '25px',\n 'border-radius': '0 0 0 5px'\n },\n '#video-progress': {\n 'width': '90%'\n },\n '#video-progress-total': {\n 'width': '100%',\n 'background-color': this.style_vals.bg,\n 'opacity': '0.7'\n },\n '#video-elapsed': {\n 'width': '0',\n 'background-color': '#6cb6f5',\n 'opacity': '0.9'\n },\n '#video #video-time': {\n 'width': '10%',\n 'right': '0',\n 'font-size': '11px',\n 'line-height': '25px',\n 'color': this.style_vals.text_main,\n 'background-color': '#666',\n 'border-radius': '0 0 5px 0'\n }\n };\n\n // IE hacks\n if (this._browser_lte('ie', 8)) {\n _.extend(notif_styles, {\n '* html #overlay': {\n 'position': 'absolute'\n },\n '* html #bg': {\n 'position': 'absolute'\n },\n 'html, body': {\n 'height': '100%'\n }\n });\n }\n if (this._browser_lte('ie', 7)) {\n _.extend(notif_styles, {\n '#mini #body': {\n 'display': 'inline',\n 'zoom': '1',\n 'border': '1px solid ' + this.style_vals.bg_hover\n },\n '#mini #body-text': {\n 'padding': '20px'\n },\n '#mini #mini-icon': {\n 'display': 'none'\n }\n });\n }\n\n // add vendor-prefixed style rules\n var VENDOR_STYLES = [\n 'backface-visibility', 'border-radius', 'box-shadow', 'opacity',\n 'perspective', 'transform', 'transform-style', 'transition'\n ],\n VENDOR_PREFIXES = ['khtml', 'moz', 'ms', 'o', 'webkit'];\n for (var selector in notif_styles) {\n for (var si = 0; si < VENDOR_STYLES.length; si++) {\n var prop = VENDOR_STYLES[si];\n if (prop in notif_styles[selector]) {\n var val = notif_styles[selector][prop];\n for (var pi = 0; pi < VENDOR_PREFIXES.length; pi++) {\n notif_styles[selector]['-' + VENDOR_PREFIXES[pi] + '-' + prop] = val;\n }\n }\n }\n }\n\n var inject_styles = function(styles, media_queries) {\n var create_style_text = function(style_defs) {\n var st = '';\n for (var selector in style_defs) {\n var mp_selector = selector\n .replace(/#/g, '#' + MixpanelNotification.MARKUP_PREFIX + '-')\n .replace(/\\./g, '.' + MixpanelNotification.MARKUP_PREFIX + '-');\n st += '\\n' + mp_selector + ' {';\n var props = style_defs[selector];\n for (var k in props) {\n st += k + ':' + props[k] + ';';\n }\n st += '}';\n }\n return st;\n };\n var create_media_query_text = function(mq_defs) {\n var mqt = '';\n for (var mq in mq_defs) {\n mqt += '\\n' + mq + ' {' + create_style_text(mq_defs[mq]) + '\\n}';\n }\n return mqt;\n };\n\n var style_text = create_style_text(styles) + create_media_query_text(media_queries),\n head_el = document.head || document.getElementsByTagName('head')[0] || document.documentElement,\n style_el = document.createElement('style');\n head_el.appendChild(style_el);\n style_el.setAttribute('type', 'text/css');\n if (style_el.styleSheet) { // IE\n style_el.styleSheet.cssText = style_text;\n } else {\n style_el.textContent = style_text;\n }\n };\n inject_styles(notif_styles, notif_media_queries);\n};\n\nMixpanelNotification.prototype._init_video = _.safewrap(function() {\n if (!this.video_url) {\n return;\n }\n var self = this;\n\n // Youtube iframe API compatibility\n self.yt_custom = 'postMessage' in window;\n\n self.dest_url = self.video_url;\n var youtube_match = self.video_url.match(\n // http://stackoverflow.com/questions/2936467/parse-youtube-video-id-using-preg-match\n /(?:youtube(?:-nocookie)?\\.com\\/(?:[^/]+\\/.+\\/|(?:v|e(?:mbed)?)\\/|.*[?&]v=)|youtu\\.be\\/)([^\"&?/ ]{11})/i\n ),\n vimeo_match = self.video_url.match(\n /vimeo\\.com\\/.*?(\\d+)/i\n );\n if (youtube_match) {\n self.show_video = true;\n self.youtube_video = youtube_match[1];\n\n if (self.yt_custom) {\n window['onYouTubeIframeAPIReady'] = function() {\n if (self._get_el('video-frame')) {\n self._yt_video_ready();\n }\n };\n\n // load Youtube iframe API; see https://developers.google.com/youtube/iframe_api_reference\n var tag = document.createElement('script');\n tag.src = self.resource_protocol + 'www.youtube.com/iframe_api';\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n }\n } else if (vimeo_match) {\n self.show_video = true;\n self.vimeo_video = vimeo_match[1];\n }\n\n // IE <= 7, FF <= 3: fall through to video link rather than embedded player\n if (self._browser_lte('ie', 7) || self._browser_lte('firefox', 3)) {\n self.show_video = false;\n self.clickthrough = true;\n }\n});\n\nMixpanelNotification.prototype._mark_as_shown = _.safewrap(function() {\n // click on background to dismiss\n var self = this;\n _.register_event(self._get_el('bg'), 'click', function() {\n self.dismiss();\n });\n\n var get_style = function(el, style_name) {\n var styles = {};\n if (document.defaultView && document.defaultView.getComputedStyle) {\n styles = document.defaultView.getComputedStyle(el, null); // FF3 requires both args\n } else if (el.currentStyle) { // IE\n styles = el.currentStyle;\n }\n return styles[style_name];\n };\n\n if (this.campaign_id) {\n var notif_el = this._get_el('overlay');\n if (notif_el && get_style(notif_el, 'visibility') !== 'hidden' && get_style(notif_el, 'display') !== 'none') {\n this._mark_delivery();\n }\n }\n});\n\nMixpanelNotification.prototype._mark_delivery = _.safewrap(function(extra_props) {\n if (!this.marked_as_shown) {\n this.marked_as_shown = true;\n\n if (this.campaign_id) {\n // mark notification shown (local cache)\n this._get_shown_campaigns()[this.campaign_id] = 1 * new Date();\n this.persistence.save();\n }\n\n // track delivery\n this._track_event('$campaign_delivery', extra_props);\n\n // mark notification shown (mixpanel property)\n this.mixpanel['people']['append']({\n '$campaigns': this.campaign_id,\n '$notifications': {\n 'campaign_id': this.campaign_id,\n 'message_id': this.message_id,\n 'type': 'web',\n 'time': new Date()\n }\n });\n }\n});\n\nMixpanelNotification.prototype._preload_images = function(all_loaded_cb) {\n var self = this;\n if (this.imgs_to_preload.length === 0) {\n all_loaded_cb();\n return;\n }\n\n var preloaded_imgs = 0;\n var img_objs = [];\n var onload = function() {\n preloaded_imgs++;\n if (preloaded_imgs === self.imgs_to_preload.length && all_loaded_cb) {\n all_loaded_cb();\n all_loaded_cb = null;\n }\n };\n for (var i = 0; i < this.imgs_to_preload.length; i++) {\n var img = new Image();\n img.onload = onload;\n img.src = this.imgs_to_preload[i];\n if (img.complete) {\n onload();\n }\n img_objs.push(img);\n }\n\n // IE6/7 doesn't fire onload reliably\n if (this._browser_lte('ie', 7)) {\n setTimeout(function() {\n var imgs_loaded = true;\n for (i = 0; i < img_objs.length; i++) {\n if (!img_objs[i].complete) {\n imgs_loaded = false;\n }\n }\n if (imgs_loaded && all_loaded_cb) {\n all_loaded_cb();\n all_loaded_cb = null;\n }\n }, 500);\n }\n};\n\nMixpanelNotification.prototype._remove_notification_el = _.safewrap(function() {\n window.clearInterval(this._video_progress_checker);\n this.notification_el.style.visibility = 'hidden';\n this.body_el.removeChild(this.notification_el);\n});\n\nMixpanelNotification.prototype._set_client_config = function() {\n var get_browser_version = function(browser_ex) {\n var match = navigator.userAgent.match(browser_ex);\n return match && match[1];\n };\n this.browser_versions = {};\n this.browser_versions['chrome'] = get_browser_version(/Chrome\\/(\\d+)/);\n this.browser_versions['firefox'] = get_browser_version(/Firefox\\/(\\d+)/);\n this.browser_versions['ie'] = get_browser_version(/MSIE (\\d+).+/);\n if (!this.browser_versions['ie'] && !(window.ActiveXObject) && 'ActiveXObject' in window) {\n this.browser_versions['ie'] = 11;\n }\n\n this.body_el = document.body || document.getElementsByTagName('body')[0];\n if (this.body_el) {\n this.doc_width = Math.max(\n this.body_el.scrollWidth, document.documentElement.scrollWidth,\n this.body_el.offsetWidth, document.documentElement.offsetWidth,\n this.body_el.clientWidth, document.documentElement.clientWidth\n );\n this.doc_height = Math.max(\n this.body_el.scrollHeight, document.documentElement.scrollHeight,\n this.body_el.offsetHeight, document.documentElement.offsetHeight,\n this.body_el.clientHeight, document.documentElement.clientHeight\n );\n }\n\n // detect CSS compatibility\n var ie_ver = this.browser_versions['ie'];\n var sample_styles = document.createElement('div').style,\n is_css_compatible = function(rule) {\n if (rule in sample_styles) {\n return true;\n }\n if (!ie_ver) {\n rule = rule[0].toUpperCase() + rule.slice(1);\n var props = ['O' + rule, 'Webkit' + rule, 'Moz' + rule];\n for (var i = 0; i < props.length; i++) {\n if (props[i] in sample_styles) {\n return true;\n }\n }\n }\n return false;\n };\n this.use_transitions = this.body_el &&\n is_css_compatible('transition') &&\n is_css_compatible('transform');\n this.flip_animate = (this.browser_versions['chrome'] >= 33 || this.browser_versions['firefox'] >= 15) &&\n this.body_el &&\n is_css_compatible('backfaceVisibility') &&\n is_css_compatible('perspective') &&\n is_css_compatible('transform');\n};\n\nMixpanelNotification.prototype._switch_to_video = _.safewrap(function() {\n var self = this,\n anims = [\n {\n el: self._get_notification_display_el(),\n attr: 'opacity',\n start: 1.0,\n goal: 0.0\n },\n {\n el: self._get_notification_display_el(),\n attr: 'top',\n start: MixpanelNotification.NOTIF_TOP,\n goal: -500\n },\n {\n el: self._get_el('video-noflip'),\n attr: 'opacity',\n start: 0.0,\n goal: 1.0\n },\n {\n el: self._get_el('video-noflip'),\n attr: 'top',\n start: -self.video_height * 2,\n goal: 0\n }\n ];\n\n if (self.mini) {\n var bg = self._get_el('bg'),\n overlay = self._get_el('overlay');\n bg.style.width = '100%';\n bg.style.height = '100%';\n overlay.style.width = '100%';\n\n self._add_class(self._get_notification_display_el(), 'exiting');\n self._add_class(bg, 'visible');\n\n anims.push({\n el: self._get_el('bg'),\n attr: 'opacity',\n start: 0.0,\n goal: MixpanelNotification.BG_OPACITY\n });\n }\n\n var video_el = self._get_el('video-holder');\n video_el.innerHTML = self.video_iframe;\n\n var video_ready = function() {\n if (window['YT'] && window['YT']['loaded']) {\n self._yt_video_ready();\n }\n self.showing_video = true;\n self._get_notification_display_el().style.visibility = 'hidden';\n };\n if (self.flip_animate) {\n self._add_class('flipper', 'flipped');\n setTimeout(video_ready, MixpanelNotification.ANIM_TIME);\n } else {\n self._animate_els(anims, MixpanelNotification.ANIM_TIME, video_ready);\n }\n});\n\nMixpanelNotification.prototype._track_event = function(event_name, properties, cb) {\n if (this.campaign_id) {\n properties = properties || {};\n properties = _.extend(properties, {\n 'campaign_id': this.campaign_id,\n 'message_id': this.message_id,\n 'message_type': 'web_inapp',\n 'message_subtype': this.notif_type\n });\n this.mixpanel['track'](event_name, properties, cb);\n } else if (cb) {\n cb.call();\n }\n};\n\nMixpanelNotification.prototype._yt_video_ready = _.safewrap(function() {\n var self = this;\n if (self.video_inited) {\n return;\n }\n self.video_inited = true;\n\n var progress_bar = self._get_el('video-elapsed'),\n progress_time = self._get_el('video-time'),\n progress_el = self._get_el('video-progress');\n\n new window['YT']['Player'](MixpanelNotification.MARKUP_PREFIX + '-video-frame', {\n 'events': {\n 'onReady': function(event) {\n var ytplayer = event['target'],\n video_duration = ytplayer['getDuration'](),\n pad = function(i) {\n return ('00' + i).slice(-2);\n },\n update_video_time = function(current_time) {\n var secs = Math.round(video_duration - current_time),\n mins = Math.floor(secs / 60),\n hours = Math.floor(mins / 60);\n secs -= mins * 60;\n mins -= hours * 60;\n progress_time.innerHTML = '-' + (hours ? hours + ':' : '') + pad(mins) + ':' + pad(secs);\n };\n update_video_time(0);\n self._video_progress_checker = window.setInterval(function() {\n var current_time = ytplayer['getCurrentTime']();\n progress_bar.style.width = (current_time / video_duration * 100) + '%';\n update_video_time(current_time);\n }, 250);\n _.register_event(progress_el, 'click', function(e) {\n var clickx = Math.max(0, e.pageX - progress_el.getBoundingClientRect().left);\n ytplayer['seekTo'](video_duration * clickx / progress_el.clientWidth, true);\n });\n }\n }\n });\n});\n\n/**\n * Mixpanel People Object\n * @constructor\n */\nvar MixpanelPeople = function() {};\n\n_.extend(MixpanelPeople.prototype, apiActions);\n\nMixpanelPeople.prototype._init = function(mixpanel_instance) {\n this._mixpanel = mixpanel_instance;\n};\n\n/*\n* Set properties on a user record.\n*\n* ### Usage:\n*\n* mixpanel.people.set('gender', 'm');\n*\n* // or set multiple properties at once\n* mixpanel.people.set({\n* 'Company': 'Acme',\n* 'Plan': 'Premium',\n* 'Upgrade date': new Date()\n* });\n* // properties can be strings, integers, dates, or lists\n*\n* @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [to] A value to set on the given property name\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.set = addOptOutCheckMixpanelPeople(function(prop, to, callback) {\n var data = this.set_action(prop, to);\n if (_.isObject(prop)) {\n callback = to;\n }\n // make sure that the referrer info has been updated and saved\n if (this._get_config('save_referrer')) {\n this._mixpanel['persistence'].update_referrer_info(document.referrer);\n }\n\n // update $set object with default people properties\n data[SET_ACTION] = _.extend(\n {},\n _.info.people_properties(),\n this._mixpanel['persistence'].get_referrer_info(),\n data[SET_ACTION]\n );\n return this._send_request(data, callback);\n});\n\n/*\n* Set properties on a user record, only if they do not yet exist.\n* This will not overwrite previous people property values, unlike\n* people.set().\n*\n* ### Usage:\n*\n* mixpanel.people.set_once('First Login Date', new Date());\n*\n* // or set multiple properties at once\n* mixpanel.people.set_once({\n* 'First Login Date': new Date(),\n* 'Starting Plan': 'Premium'\n* });\n*\n* // properties can be strings, integers or dates\n*\n* @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [to] A value to set on the given property name\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.set_once = addOptOutCheckMixpanelPeople(function(prop, to, callback) {\n var data = this.set_once_action(prop, to);\n if (_.isObject(prop)) {\n callback = to;\n }\n return this._send_request(data, callback);\n});\n\n/*\n* Unset properties on a user record (permanently removes the properties and their values from a profile).\n*\n* ### Usage:\n*\n* mixpanel.people.unset('gender');\n*\n* // or unset multiple properties at once\n* mixpanel.people.unset(['gender', 'Company']);\n*\n* @param {Array|String} prop If a string, this is the name of the property. If an array, this is a list of property names.\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.unset = addOptOutCheckMixpanelPeople(function(prop, callback) {\n var data = this.unset_action(prop);\n return this._send_request(data, callback);\n});\n\n/*\n* Increment/decrement numeric people analytics properties.\n*\n* ### Usage:\n*\n* mixpanel.people.increment('page_views', 1);\n*\n* // or, for convenience, if you're just incrementing a counter by\n* // 1, you can simply do\n* mixpanel.people.increment('page_views');\n*\n* // to decrement a counter, pass a negative number\n* mixpanel.people.increment('credits_left', -1);\n*\n* // like mixpanel.people.set(), you can increment multiple\n* // properties at once:\n* mixpanel.people.increment({\n* counter1: 1,\n* counter2: 6\n* });\n*\n* @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and numeric values.\n* @param {Number} [by] An amount to increment the given property\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.increment = addOptOutCheckMixpanelPeople(function(prop, by, callback) {\n var data = {};\n var $add = {};\n if (_.isObject(prop)) {\n _.each(prop, function(v, k) {\n if (!this._is_reserved_property(k)) {\n if (isNaN(parseFloat(v))) {\n console$1.error('Invalid increment value passed to mixpanel.people.increment - must be a number');\n return;\n } else {\n $add[k] = v;\n }\n }\n }, this);\n callback = by;\n } else {\n // convenience: mixpanel.people.increment('property'); will\n // increment 'property' by 1\n if (_.isUndefined(by)) {\n by = 1;\n }\n $add[prop] = by;\n }\n data[ADD_ACTION] = $add;\n\n return this._send_request(data, callback);\n});\n\n/*\n* Append a value to a list-valued people analytics property.\n*\n* ### Usage:\n*\n* // append a value to a list, creating it if needed\n* mixpanel.people.append('pages_visited', 'homepage');\n*\n* // like mixpanel.people.set(), you can append multiple\n* // properties at once:\n* mixpanel.people.append({\n* list1: 'bob',\n* list2: 123\n* });\n*\n* @param {Object|String} list_name If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [value] value An item to append to the list\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.append = addOptOutCheckMixpanelPeople(function(list_name, value, callback) {\n if (_.isObject(list_name)) {\n callback = value;\n }\n var data = this.append_action(list_name, value);\n return this._send_request(data, callback);\n});\n\n/*\n* Remove a value from a list-valued people analytics property.\n*\n* ### Usage:\n*\n* mixpanel.people.remove('School', 'UCB');\n*\n* @param {Object|String} list_name If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [value] value Item to remove from the list\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.remove = addOptOutCheckMixpanelPeople(function(list_name, value, callback) {\n if (_.isObject(list_name)) {\n callback = value;\n }\n var data = this.remove_action(list_name, value);\n return this._send_request(data, callback);\n});\n\n/*\n* Merge a given list with a list-valued people analytics property,\n* excluding duplicate values.\n*\n* ### Usage:\n*\n* // merge a value to a list, creating it if needed\n* mixpanel.people.union('pages_visited', 'homepage');\n*\n* // like mixpanel.people.set(), you can append multiple\n* // properties at once:\n* mixpanel.people.union({\n* list1: 'bob',\n* list2: 123\n* });\n*\n* // like mixpanel.people.append(), you can append multiple\n* // values to the same list:\n* mixpanel.people.union({\n* list1: ['bob', 'billy']\n* });\n*\n* @param {Object|String} list_name If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [value] Value / values to merge with the given property\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.union = addOptOutCheckMixpanelPeople(function(list_name, values, callback) {\n if (_.isObject(list_name)) {\n callback = values;\n }\n var data = this.union_action(list_name, values);\n return this._send_request(data, callback);\n});\n\n/*\n* Record that you have charged the current user a certain amount\n* of money. Charges recorded with track_charge() will appear in the\n* Mixpanel revenue report.\n*\n* ### Usage:\n*\n* // charge a user $50\n* mixpanel.people.track_charge(50);\n*\n* // charge a user $30.50 on the 2nd of january\n* mixpanel.people.track_charge(30.50, {\n* '$time': new Date('jan 1 2012')\n* });\n*\n* @param {Number} amount The amount of money charged to the current user\n* @param {Object} [properties] An associative array of properties associated with the charge\n* @param {Function} [callback] If provided, the callback will be called when the server responds\n*/\nMixpanelPeople.prototype.track_charge = addOptOutCheckMixpanelPeople(function(amount, properties, callback) {\n if (!_.isNumber(amount)) {\n amount = parseFloat(amount);\n if (isNaN(amount)) {\n console$1.error('Invalid value passed to mixpanel.people.track_charge - must be a number');\n return;\n }\n }\n\n return this.append('$transactions', _.extend({\n '$amount': amount\n }, properties), callback);\n});\n\n/*\n* Permanently clear all revenue report transactions from the\n* current user's people analytics profile.\n*\n* ### Usage:\n*\n* mixpanel.people.clear_charges();\n*\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.clear_charges = function(callback) {\n return this.set('$transactions', [], callback);\n};\n\n/*\n* Permanently deletes the current people analytics profile from\n* Mixpanel (using the current distinct_id).\n*\n* ### Usage:\n*\n* // remove the all data you have stored about the current user\n* mixpanel.people.delete_user();\n*\n*/\nMixpanelPeople.prototype.delete_user = function() {\n if (!this._identify_called()) {\n console$1.error('mixpanel.people.delete_user() requires you to call identify() first');\n return;\n }\n var data = {'$delete': this._mixpanel.get_distinct_id()};\n return this._send_request(data);\n};\n\nMixpanelPeople.prototype.toString = function() {\n return this._mixpanel.toString() + '.people';\n};\n\nMixpanelPeople.prototype._send_request = function(data, callback) {\n data['$token'] = this._get_config('token');\n data['$distinct_id'] = this._mixpanel.get_distinct_id();\n var device_id = this._mixpanel.get_property('$device_id');\n var user_id = this._mixpanel.get_property('$user_id');\n var had_persisted_distinct_id = this._mixpanel.get_property('$had_persisted_distinct_id');\n if (device_id) {\n data['$device_id'] = device_id;\n }\n if (user_id) {\n data['$user_id'] = user_id;\n }\n if (had_persisted_distinct_id) {\n data['$had_persisted_distinct_id'] = had_persisted_distinct_id;\n }\n\n var date_encoded_data = _.encodeDates(data);\n\n if (!this._identify_called()) {\n this._enqueue(data);\n if (!_.isUndefined(callback)) {\n if (this._get_config('verbose')) {\n callback({status: -1, error: null});\n } else {\n callback(-1);\n }\n }\n return _.truncate(date_encoded_data, 255);\n }\n\n return this._mixpanel._track_or_batch({\n type: 'people',\n data: date_encoded_data,\n endpoint: this._get_config('api_host') + '/engage/',\n batcher: this._mixpanel.request_batchers.people\n }, callback);\n};\n\nMixpanelPeople.prototype._get_config = function(conf_var) {\n return this._mixpanel.get_config(conf_var);\n};\n\nMixpanelPeople.prototype._identify_called = function() {\n return this._mixpanel._flags.identify_called === true;\n};\n\n// Queue up engage operations if identify hasn't been called yet.\nMixpanelPeople.prototype._enqueue = function(data) {\n if (SET_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(SET_ACTION, data);\n } else if (SET_ONCE_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(SET_ONCE_ACTION, data);\n } else if (UNSET_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(UNSET_ACTION, data);\n } else if (ADD_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(ADD_ACTION, data);\n } else if (APPEND_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(APPEND_ACTION, data);\n } else if (REMOVE_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(REMOVE_ACTION, data);\n } else if (UNION_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(UNION_ACTION, data);\n } else {\n console$1.error('Invalid call to _enqueue():', data);\n }\n};\n\nMixpanelPeople.prototype._flush_one_queue = function(action, action_method, callback, queue_to_params_fn) {\n var _this = this;\n var queued_data = _.extend({}, this._mixpanel['persistence']._get_queue(action));\n var action_params = queued_data;\n\n if (!_.isUndefined(queued_data) && _.isObject(queued_data) && !_.isEmptyObject(queued_data)) {\n _this._mixpanel['persistence']._pop_from_people_queue(action, queued_data);\n if (queue_to_params_fn) {\n action_params = queue_to_params_fn(queued_data);\n }\n action_method.call(_this, action_params, function(response, data) {\n // on bad response, we want to add it back to the queue\n if (response === 0) {\n _this._mixpanel['persistence']._add_to_people_queue(action, queued_data);\n }\n if (!_.isUndefined(callback)) {\n callback(response, data);\n }\n });\n }\n};\n\n// Flush queued engage operations - order does not matter,\n// and there are network level race conditions anyway\nMixpanelPeople.prototype._flush = function(\n _set_callback, _add_callback, _append_callback, _set_once_callback, _union_callback, _unset_callback, _remove_callback\n) {\n var _this = this;\n var $append_queue = this._mixpanel['persistence']._get_queue(APPEND_ACTION);\n var $remove_queue = this._mixpanel['persistence']._get_queue(REMOVE_ACTION);\n\n this._flush_one_queue(SET_ACTION, this.set, _set_callback);\n this._flush_one_queue(SET_ONCE_ACTION, this.set_once, _set_once_callback);\n this._flush_one_queue(UNSET_ACTION, this.unset, _unset_callback, function(queue) { return _.keys(queue); });\n this._flush_one_queue(ADD_ACTION, this.increment, _add_callback);\n this._flush_one_queue(UNION_ACTION, this.union, _union_callback);\n\n // we have to fire off each $append individually since there is\n // no concat method server side\n if (!_.isUndefined($append_queue) && _.isArray($append_queue) && $append_queue.length) {\n var $append_item;\n var append_callback = function(response, data) {\n if (response === 0) {\n _this._mixpanel['persistence']._add_to_people_queue(APPEND_ACTION, $append_item);\n }\n if (!_.isUndefined(_append_callback)) {\n _append_callback(response, data);\n }\n };\n for (var i = $append_queue.length - 1; i >= 0; i--) {\n $append_item = $append_queue.pop();\n if (!_.isEmptyObject($append_item)) {\n _this.append($append_item, append_callback);\n }\n }\n // Save the shortened append queue\n _this._mixpanel['persistence'].save();\n }\n\n // same for $remove\n if (!_.isUndefined($remove_queue) && _.isArray($remove_queue) && $remove_queue.length) {\n var $remove_item;\n var remove_callback = function(response, data) {\n if (response === 0) {\n _this._mixpanel['persistence']._add_to_people_queue(REMOVE_ACTION, $remove_item);\n }\n if (!_.isUndefined(_remove_callback)) {\n _remove_callback(response, data);\n }\n };\n for (var j = $remove_queue.length - 1; j >= 0; j--) {\n $remove_item = $remove_queue.pop();\n if (!_.isEmptyObject($remove_item)) {\n _this.remove($remove_item, remove_callback);\n }\n }\n _this._mixpanel['persistence'].save();\n }\n};\n\nMixpanelPeople.prototype._is_reserved_property = function(prop) {\n return prop === '$distinct_id' || prop === '$token' || prop === '$device_id' || prop === '$user_id' || prop === '$had_persisted_distinct_id';\n};\n\n// MixpanelPeople Exports\nMixpanelPeople.prototype['set'] = MixpanelPeople.prototype.set;\nMixpanelPeople.prototype['set_once'] = MixpanelPeople.prototype.set_once;\nMixpanelPeople.prototype['unset'] = MixpanelPeople.prototype.unset;\nMixpanelPeople.prototype['increment'] = MixpanelPeople.prototype.increment;\nMixpanelPeople.prototype['append'] = MixpanelPeople.prototype.append;\nMixpanelPeople.prototype['remove'] = MixpanelPeople.prototype.remove;\nMixpanelPeople.prototype['union'] = MixpanelPeople.prototype.union;\nMixpanelPeople.prototype['track_charge'] = MixpanelPeople.prototype.track_charge;\nMixpanelPeople.prototype['clear_charges'] = MixpanelPeople.prototype.clear_charges;\nMixpanelPeople.prototype['delete_user'] = MixpanelPeople.prototype.delete_user;\nMixpanelPeople.prototype['toString'] = MixpanelPeople.prototype.toString;\n\n/*\n * Mixpanel JS Library\n *\n * Copyright 2012, Mixpanel, Inc. All Rights Reserved\n * http://mixpanel.com/\n *\n * Includes portions of Underscore.js\n * http://documentcloud.github.com/underscore/\n * (c) 2011 Jeremy Ashkenas, DocumentCloud Inc.\n * Released under the MIT License.\n */\n\n// ==ClosureCompiler==\n// @compilation_level ADVANCED_OPTIMIZATIONS\n// @output_file_name mixpanel-2.8.min.js\n// ==/ClosureCompiler==\n\n/*\nSIMPLE STYLE GUIDE:\n\nthis.x === public function\nthis._x === internal - only use within this file\nthis.__x === private - only use within the class\n\nGlobals should be all caps\n*/\n\nvar init_type; // MODULE or SNIPPET loader\nvar mixpanel_master; // main mixpanel instance / object\nvar INIT_MODULE = 0;\nvar INIT_SNIPPET = 1;\n\nvar IDENTITY_FUNC = function(x) {return x;};\nvar NOOP_FUNC = function() {};\n\n/** @const */ var PRIMARY_INSTANCE_NAME = 'mixpanel';\n\n\n/*\n * Dynamic... constants? Is that an oxymoron?\n */\n// http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/\n// https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#withCredentials\nvar USE_XHR = (window$1.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest());\n\n// IE<10 does not support cross-origin XHR's but script tags\n// with defer won't block window.onload; ENQUEUE_REQUESTS\n// should only be true for Opera<12\nvar ENQUEUE_REQUESTS = !USE_XHR && (userAgent.indexOf('MSIE') === -1) && (userAgent.indexOf('Mozilla') === -1);\n\n// save reference to navigator.sendBeacon so it can be minified\nvar sendBeacon = null;\nif (navigator$1['sendBeacon']) {\n sendBeacon = function() {\n // late reference to navigator.sendBeacon to allow patching/spying\n return navigator$1['sendBeacon'].apply(navigator$1, arguments);\n };\n}\n\n/*\n * Module-level globals\n */\nvar DEFAULT_CONFIG = {\n 'api_host': 'https://api-js.mixpanel.com',\n 'api_method': 'POST',\n 'api_transport': 'XHR',\n 'app_host': 'https://mixpanel.com',\n 'autotrack': true,\n 'cdn': 'https://cdn.mxpnl.com',\n 'cross_site_cookie': false,\n 'cross_subdomain_cookie': true,\n 'persistence': 'cookie',\n 'persistence_name': '',\n 'cookie_domain': '',\n 'cookie_name': '',\n 'loaded': NOOP_FUNC,\n 'store_google': true,\n 'save_referrer': true,\n 'test': false,\n 'verbose': false,\n 'img': false,\n 'debug': false,\n 'track_links_timeout': 300,\n 'cookie_expiration': 365,\n 'upgrade': false,\n 'disable_persistence': false,\n 'disable_cookie': false,\n 'secure_cookie': false,\n 'ip': true,\n 'opt_out_tracking_by_default': false,\n 'opt_out_persistence_by_default': false,\n 'opt_out_tracking_persistence_type': 'localStorage',\n 'opt_out_tracking_cookie_prefix': null,\n 'property_blacklist': [],\n 'xhr_headers': {}, // { header: value, header2: value }\n 'inapp_protocol': '//',\n 'inapp_link_new_window': false,\n 'ignore_dnt': false,\n 'batch_requests': false, // for now\n 'batch_size': 50,\n 'batch_flush_interval_ms': 5000,\n 'batch_request_timeout_ms': 90000,\n 'batch_autostart': true,\n 'hooks': {}\n};\n\nvar DOM_LOADED = false;\n\n/**\n * Mixpanel Library Object\n * @constructor\n */\nvar MixpanelLib = function() {};\n\n\n/**\n * create_mplib(token:string, config:object, name:string)\n *\n * This function is used by the init method of MixpanelLib objects\n * as well as the main initializer at the end of the JSLib (that\n * initializes document.mixpanel as well as any additional instances\n * declared before this file has loaded).\n */\nvar create_mplib = function(token, config, name) {\n var instance,\n target = (name === PRIMARY_INSTANCE_NAME) ? mixpanel_master : mixpanel_master[name];\n\n if (target && init_type === INIT_MODULE) {\n instance = target;\n } else {\n if (target && !_.isArray(target)) {\n console$1.error('You have already initialized ' + name);\n return;\n }\n instance = new MixpanelLib();\n }\n\n instance._cached_groups = {}; // cache groups in a pool\n instance._user_decide_check_complete = false;\n instance._events_tracked_before_user_decide_check_complete = [];\n\n instance._init(token, config, name);\n\n instance['people'] = new MixpanelPeople();\n instance['people']._init(instance);\n\n // if any instance on the page has debug = true, we set the\n // global debug to be true\n Config.DEBUG = Config.DEBUG || instance.get_config('debug');\n\n instance['__autotrack_enabled'] = instance.get_config('autotrack');\n if (instance.get_config('autotrack')) {\n var num_buckets = 100;\n var num_enabled_buckets = 100;\n if (!autotrack.enabledForProject(instance.get_config('token'), num_buckets, num_enabled_buckets)) {\n instance['__autotrack_enabled'] = false;\n console$1.log('Not in active bucket: disabling Automatic Event Collection.');\n } else if (!autotrack.isBrowserSupported()) {\n instance['__autotrack_enabled'] = false;\n console$1.log('Disabling Automatic Event Collection because this browser is not supported');\n } else {\n autotrack.init(instance);\n }\n }\n\n // if target is not defined, we called init after the lib already\n // loaded, so there won't be an array of things to execute\n if (!_.isUndefined(target) && _.isArray(target)) {\n // Crunch through the people queue first - we queue this data up &\n // flush on identify, so it's better to do all these operations first\n instance._execute_array.call(instance['people'], target['people']);\n instance._execute_array(target);\n }\n\n return instance;\n};\n\nvar encode_data_for_request = function(data) {\n var json_data = _.JSONEncode(data);\n var encoded_data = _.base64Encode(json_data);\n return {'data': encoded_data};\n};\n\n// Initialization methods\n\n/**\n * This function initializes a new instance of the Mixpanel tracking object.\n * All new instances are added to the main mixpanel object as sub properties (such as\n * mixpanel.library_name) and also returned by this function. To define a\n * second instance on the page, you would call:\n *\n * mixpanel.init('new token', { your: 'config' }, 'library_name');\n *\n * and use it like so:\n *\n * mixpanel.library_name.track(...);\n *\n * @param {String} token Your Mixpanel API token\n * @param {Object} [config] A dictionary of config options to override. <a href=\"https://github.com/mixpanel/mixpanel-js/blob/8b2e1f7b/src/mixpanel-core.js#L87-L110\">See a list of default config options</a>.\n * @param {String} [name] The name for the new mixpanel instance that you want created\n */\nMixpanelLib.prototype.init = function (token, config, name) {\n if (_.isUndefined(name)) {\n console$1.error('You must name your new library: init(token, config, name)');\n return;\n }\n if (name === PRIMARY_INSTANCE_NAME) {\n console$1.error('You must initialize the main mixpanel object right after you include the Mixpanel js snippet');\n return;\n }\n\n var instance = create_mplib(token, config, name);\n mixpanel_master[name] = instance;\n instance._loaded();\n\n return instance;\n};\n\n// mixpanel._init(token:string, config:object, name:string)\n//\n// This function sets up the current instance of the mixpanel\n// library. The difference between this method and the init(...)\n// method is this one initializes the actual instance, whereas the\n// init(...) method sets up a new library and calls _init on it.\n//\nMixpanelLib.prototype._init = function(token, config, name) {\n config = config || {};\n\n this['__loaded'] = true;\n this['config'] = {};\n this['_triggered_notifs'] = [];\n\n // rollout: enable batch_requests by default for 60% of projects\n // (only if they have not specified a value in their init config\n // and they aren't using a custom API host)\n var variable_features = {};\n var api_host = config['api_host'];\n var is_custom_api = !!api_host && !api_host.match(/\\.mixpanel\\.com$/);\n if (!('batch_requests' in config) && !is_custom_api && determine_eligibility(token, 'batch', 60)) {\n variable_features['batch_requests'] = true;\n }\n\n this.set_config(_.extend({}, DEFAULT_CONFIG, variable_features, config, {\n 'name': name,\n 'token': token,\n 'callback_fn': ((name === PRIMARY_INSTANCE_NAME) ? name : PRIMARY_INSTANCE_NAME + '.' + name) + '._jsc'\n }));\n\n this['_jsc'] = NOOP_FUNC;\n\n this.__dom_loaded_queue = [];\n this.__request_queue = [];\n this.__disabled_events = [];\n this._flags = {\n 'disable_all_events': false,\n 'identify_called': false\n };\n\n // set up request queueing/batching\n this.request_batchers = {};\n this._batch_requests = this.get_config('batch_requests');\n if (this._batch_requests) {\n if (!_.localStorage.is_supported(true) || !USE_XHR) {\n this._batch_requests = false;\n console$1.log('Turning off Mixpanel request-queueing; needs XHR and localStorage support');\n } else {\n this.init_batchers();\n if (sendBeacon && window$1.addEventListener) {\n window$1.addEventListener('unload', _.bind(function() {\n // Before page closes, attempt to flush any events queued up via navigator.sendBeacon.\n // Since sendBeacon doesn't report success/failure, events will not be removed from\n // the persistent store; if the site is loaded again, the events will be flushed again\n // on startup and deduplicated on the Mixpanel server side.\n if (!this.request_batchers.events.stopped) {\n this.request_batchers.events.flush({unloading: true});\n }\n }, this));\n }\n }\n }\n\n this['persistence'] = this['cookie'] = new MixpanelPersistence(this['config']);\n this.unpersisted_superprops = {};\n this._gdpr_init();\n\n var uuid = _.UUID();\n if (!this.get_distinct_id()) {\n // There is no need to set the distinct id\n // or the device id if something was already stored\n // in the persitence\n this.register_once({\n 'distinct_id': uuid,\n '$device_id': uuid\n }, '');\n }\n};\n\n// Private methods\n\nMixpanelLib.prototype._loaded = function() {\n this.get_config('loaded')(this);\n this._set_default_superprops();\n};\n\n// update persistence with info on referrer, UTM params, etc\nMixpanelLib.prototype._set_default_superprops = function() {\n this['persistence'].update_search_keyword(document$1.referrer);\n if (this.get_config('store_google')) {\n this['persistence'].update_campaign_params();\n }\n if (this.get_config('save_referrer')) {\n this['persistence'].update_referrer_info(document$1.referrer);\n }\n};\n\nMixpanelLib.prototype._dom_loaded = function() {\n _.each(this.__dom_loaded_queue, function(item) {\n this._track_dom.apply(this, item);\n }, this);\n\n if (!this.has_opted_out_tracking()) {\n _.each(this.__request_queue, function(item) {\n this._send_request.apply(this, item);\n }, this);\n }\n\n delete this.__dom_loaded_queue;\n delete this.__request_queue;\n};\n\nMixpanelLib.prototype._track_dom = function(DomClass, args) {\n if (this.get_config('img')) {\n console$1.error('You can\\'t use DOM tracking functions with img = true.');\n return false;\n }\n\n if (!DOM_LOADED) {\n this.__dom_loaded_queue.push([DomClass, args]);\n return false;\n }\n\n var dt = new DomClass().init(this);\n return dt.track.apply(dt, args);\n};\n\n/**\n * _prepare_callback() should be called by callers of _send_request for use\n * as the callback argument.\n *\n * If there is no callback, this returns null.\n * If we are going to make XHR/XDR requests, this returns a function.\n * If we are going to use script tags, this returns a string to use as the\n * callback GET param.\n */\nMixpanelLib.prototype._prepare_callback = function(callback, data) {\n if (_.isUndefined(callback)) {\n return null;\n }\n\n if (USE_XHR) {\n var callback_function = function(response) {\n callback(response, data);\n };\n return callback_function;\n } else {\n // if the user gives us a callback, we store as a random\n // property on this instances jsc function and update our\n // callback string to reflect that.\n var jsc = this['_jsc'];\n var randomized_cb = '' + Math.floor(Math.random() * 100000000);\n var callback_string = this.get_config('callback_fn') + '[' + randomized_cb + ']';\n jsc[randomized_cb] = function(response) {\n delete jsc[randomized_cb];\n callback(response, data);\n };\n return callback_string;\n }\n};\n\nMixpanelLib.prototype._send_request = function(url, data, options, callback) {\n var succeeded = true;\n\n if (ENQUEUE_REQUESTS) {\n this.__request_queue.push(arguments);\n return succeeded;\n }\n\n var DEFAULT_OPTIONS = {\n method: this.get_config('api_method'),\n transport: this.get_config('api_transport'),\n verbose: this.get_config('verbose')\n };\n var body_data = null;\n\n if (!callback && (_.isFunction(options) || typeof options === 'string')) {\n callback = options;\n options = null;\n }\n options = _.extend(DEFAULT_OPTIONS, options || {});\n if (!USE_XHR) {\n options.method = 'GET';\n }\n var use_post = options.method === 'POST';\n var use_sendBeacon = sendBeacon && use_post && options.transport.toLowerCase() === 'sendbeacon';\n\n // needed to correctly format responses\n var verbose_mode = options.verbose;\n if (data['verbose']) { verbose_mode = true; }\n\n if (this.get_config('test')) { data['test'] = 1; }\n if (verbose_mode) { data['verbose'] = 1; }\n if (this.get_config('img')) { data['img'] = 1; }\n if (!USE_XHR) {\n if (callback) {\n data['callback'] = callback;\n } else if (verbose_mode || this.get_config('test')) {\n // Verbose output (from verbose mode, or an error in test mode) is a json blob,\n // which by itself is not valid javascript. Without a callback, this verbose output will\n // cause an error when returned via jsonp, so we force a no-op callback param.\n // See the ECMA script spec: http://www.ecma-international.org/ecma-262/5.1/#sec-12.4\n data['callback'] = '(function(){})';\n }\n }\n\n data['ip'] = this.get_config('ip')?1:0;\n data['_'] = new Date().getTime().toString();\n\n if (use_post) {\n body_data = 'data=' + encodeURIComponent(data['data']);\n delete data['data'];\n }\n\n url += '?' + _.HTTPBuildQuery(data);\n\n if ('img' in data) {\n var img = document$1.createElement('img');\n img.src = url;\n document$1.body.appendChild(img);\n } else if (use_sendBeacon) {\n try {\n succeeded = sendBeacon(url, body_data);\n } catch (e) {\n console$1.error(e);\n succeeded = false;\n }\n try {\n if (callback) {\n callback(succeeded ? 1 : 0);\n }\n } catch (e) {\n console$1.error(e);\n }\n } else if (USE_XHR) {\n try {\n var req = new XMLHttpRequest();\n req.open(options.method, url, true);\n\n var headers = this.get_config('xhr_headers');\n if (use_post) {\n headers['Content-Type'] = 'application/x-www-form-urlencoded';\n }\n _.each(headers, function(headerValue, headerName) {\n req.setRequestHeader(headerName, headerValue);\n });\n\n if (options.timeout_ms && typeof req.timeout !== 'undefined') {\n req.timeout = options.timeout_ms;\n var start_time = new Date().getTime();\n }\n\n // send the mp_optout cookie\n // withCredentials cannot be modified until after calling .open on Android and Mobile Safari\n req.withCredentials = true;\n req.onreadystatechange = function () {\n if (req.readyState === 4) { // XMLHttpRequest.DONE == 4, except in safari 4\n if (req.status === 200) {\n if (callback) {\n if (verbose_mode) {\n var response;\n try {\n response = _.JSONDecode(req.responseText);\n } catch (e) {\n console$1.error(e);\n if (options.ignore_json_errors) {\n response = req.responseText;\n } else {\n return;\n }\n }\n callback(response);\n } else {\n callback(Number(req.responseText));\n }\n }\n } else {\n var error;\n if (\n req.timeout &&\n !req.status &&\n new Date().getTime() - start_time >= req.timeout\n ) {\n error = 'timeout';\n } else {\n error = 'Bad HTTP status: ' + req.status + ' ' + req.statusText;\n }\n console$1.error(error);\n if (callback) {\n if (verbose_mode) {\n callback({status: 0, error: error, xhr_req: req});\n } else {\n callback(0);\n }\n }\n }\n }\n };\n req.send(body_data);\n } catch (e) {\n console$1.error(e);\n succeeded = false;\n }\n } else {\n var script = document$1.createElement('script');\n script.type = 'text/javascript';\n script.async = true;\n script.defer = true;\n script.src = url;\n var s = document$1.getElementsByTagName('script')[0];\n s.parentNode.insertBefore(script, s);\n }\n\n return succeeded;\n};\n\n/**\n * _execute_array() deals with processing any mixpanel function\n * calls that were called before the Mixpanel library were loaded\n * (and are thus stored in an array so they can be called later)\n *\n * Note: we fire off all the mixpanel function calls && user defined\n * functions BEFORE we fire off mixpanel tracking calls. This is so\n * identify/register/set_config calls can properly modify early\n * tracking calls.\n *\n * @param {Array} array\n */\nMixpanelLib.prototype._execute_array = function(array) {\n var fn_name, alias_calls = [], other_calls = [], tracking_calls = [];\n _.each(array, function(item) {\n if (item) {\n fn_name = item[0];\n if (_.isArray(fn_name)) {\n tracking_calls.push(item); // chained call e.g. mixpanel.get_group().set()\n } else if (typeof(item) === 'function') {\n item.call(this);\n } else if (_.isArray(item) && fn_name === 'alias') {\n alias_calls.push(item);\n } else if (_.isArray(item) && fn_name.indexOf('track') !== -1 && typeof(this[fn_name]) === 'function') {\n tracking_calls.push(item);\n } else {\n other_calls.push(item);\n }\n }\n }, this);\n\n var execute = function(calls, context) {\n _.each(calls, function(item) {\n if (_.isArray(item[0])) {\n // chained call\n var caller = context;\n _.each(item, function(call) {\n caller = caller[call[0]].apply(caller, call.slice(1));\n });\n } else {\n this[item[0]].apply(this, item.slice(1));\n }\n }, context);\n };\n\n execute(alias_calls, this);\n execute(other_calls, this);\n execute(tracking_calls, this);\n};\n\n// request queueing utils\n\nMixpanelLib.prototype.are_batchers_initialized = function() {\n return !!this.request_batchers.events;\n};\n\nMixpanelLib.prototype.init_batchers = function() {\n var token = this.get_config('token');\n if (!this.are_batchers_initialized()) {\n var batcher_for = _.bind(function(attrs) {\n return new RequestBatcher(\n '__mpq_' + token + attrs.queue_suffix,\n {\n libConfig: this['config'],\n sendRequestFunc: _.bind(function(data, options, cb) {\n this._send_request(\n this.get_config('api_host') + attrs.endpoint,\n encode_data_for_request(data),\n options,\n this._prepare_callback(cb, data)\n );\n }, this),\n beforeSendHook: _.bind(function(item) {\n return this._run_hook('before_send_' + attrs.type, item);\n }, this)\n }\n );\n }, this);\n this.request_batchers = {\n events: batcher_for({type: 'events', endpoint: '/track/', queue_suffix: '_ev'}),\n people: batcher_for({type: 'people', endpoint: '/engage/', queue_suffix: '_pp'}),\n groups: batcher_for({type: 'groups', endpoint: '/groups/', queue_suffix: '_gr'})\n };\n }\n if (this.get_config('batch_autostart')) {\n this.start_batch_senders();\n }\n};\n\nMixpanelLib.prototype.start_batch_senders = function() {\n if (this.are_batchers_initialized()) {\n this._batch_requests = true;\n _.each(this.request_batchers, function(batcher) {\n batcher.start();\n });\n }\n};\n\nMixpanelLib.prototype.stop_batch_senders = function() {\n this._batch_requests = false;\n _.each(this.request_batchers, function(batcher) {\n batcher.stop();\n batcher.clear();\n });\n};\n\n/**\n * push() keeps the standard async-array-push\n * behavior around after the lib is loaded.\n * This is only useful for external integrations that\n * do not wish to rely on our convenience methods\n * (created in the snippet).\n *\n * ### Usage:\n * mixpanel.push(['register', { a: 'b' }]);\n *\n * @param {Array} item A [function_name, args...] array to be executed\n */\nMixpanelLib.prototype.push = function(item) {\n this._execute_array([item]);\n};\n\n/**\n * Disable events on the Mixpanel object. If passed no arguments,\n * this function disables tracking of any event. If passed an\n * array of event names, those events will be disabled, but other\n * events will continue to be tracked.\n *\n * Note: this function does not stop other mixpanel functions from\n * firing, such as register() or people.set().\n *\n * @param {Array} [events] An array of event names to disable\n */\nMixpanelLib.prototype.disable = function(events) {\n if (typeof(events) === 'undefined') {\n this._flags.disable_all_events = true;\n } else {\n this.__disabled_events = this.__disabled_events.concat(events);\n }\n};\n\n// internal method for handling track vs batch-enqueue logic\nMixpanelLib.prototype._track_or_batch = function(options, callback) {\n var truncated_data = _.truncate(options.data, 255);\n var endpoint = options.endpoint;\n var batcher = options.batcher;\n var should_send_immediately = options.should_send_immediately;\n var send_request_options = options.send_request_options || {};\n callback = callback || NOOP_FUNC;\n\n var request_enqueued_or_initiated = true;\n var send_request_immediately = _.bind(function() {\n if (!send_request_options.skip_hooks) {\n truncated_data = this._run_hook('before_send_' + options.type, truncated_data);\n }\n if (truncated_data) {\n console$1.log('MIXPANEL REQUEST:');\n console$1.log(truncated_data);\n return this._send_request(\n endpoint,\n encode_data_for_request(truncated_data),\n send_request_options,\n this._prepare_callback(callback, truncated_data)\n );\n } else {\n return null;\n }\n }, this);\n\n if (this._batch_requests && !should_send_immediately) {\n batcher.enqueue(truncated_data, function(succeeded) {\n if (succeeded) {\n callback(1, truncated_data);\n } else {\n send_request_immediately();\n }\n });\n } else {\n request_enqueued_or_initiated = send_request_immediately();\n }\n\n return request_enqueued_or_initiated && truncated_data;\n};\n\n/**\n * Track an event. This is the most important and\n * frequently used Mixpanel function.\n *\n * ### Usage:\n *\n * // track an event named 'Registered'\n * mixpanel.track('Registered', {'Gender': 'Male', 'Age': 21});\n *\n * // track an event using navigator.sendBeacon\n * mixpanel.track('Left page', {'duration_seconds': 35}, {transport: 'sendBeacon'});\n *\n * To track link clicks or form submissions, see track_links() or track_forms().\n *\n * @param {String} event_name The name of the event. This can be anything the user does - 'Button Click', 'Sign Up', 'Item Purchased', etc.\n * @param {Object} [properties] A set of properties to include with the event you're sending. These describe the user who did the event or details about the event itself.\n * @param {Object} [options] Optional configuration for this track request.\n * @param {String} [options.transport] Transport method for network request ('xhr' or 'sendBeacon').\n * @param {Boolean} [options.send_immediately] Whether to bypass batching/queueing and send track request immediately.\n * @param {Function} [callback] If provided, the callback function will be called after tracking the event.\n * @returns {Boolean|Object} If the tracking request was successfully initiated/queued, an object\n * with the tracking payload sent to the API server is returned; otherwise false.\n */\nMixpanelLib.prototype.track = addOptOutCheckMixpanelLib(function(event_name, properties, options, callback) {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n var transport = options['transport']; // external API, don't minify 'transport' prop\n if (transport) {\n options.transport = transport; // 'transport' prop name can be minified internally\n }\n var should_send_immediately = options['send_immediately'];\n if (typeof callback !== 'function') {\n callback = NOOP_FUNC;\n }\n\n if (_.isUndefined(event_name)) {\n console$1.error('No event name provided to mixpanel.track');\n return;\n }\n\n if (this._event_is_disabled(event_name)) {\n callback(0);\n return;\n }\n\n // set defaults\n properties = properties || {};\n properties['token'] = this.get_config('token');\n\n // set $duration if time_event was previously called for this event\n var start_timestamp = this['persistence'].remove_event_timer(event_name);\n if (!_.isUndefined(start_timestamp)) {\n var duration_in_ms = new Date().getTime() - start_timestamp;\n properties['$duration'] = parseFloat((duration_in_ms / 1000).toFixed(3));\n }\n\n this._set_default_superprops();\n\n // note: extend writes to the first object, so lets make sure we\n // don't write to the persistence properties object and info\n // properties object by passing in a new object\n\n // update properties with pageview info and super-properties\n properties = _.extend(\n {},\n _.info.properties(),\n this['persistence'].properties(),\n this.unpersisted_superprops,\n properties\n );\n\n var property_blacklist = this.get_config('property_blacklist');\n if (_.isArray(property_blacklist)) {\n _.each(property_blacklist, function(blacklisted_prop) {\n delete properties[blacklisted_prop];\n });\n } else {\n console$1.error('Invalid value for property_blacklist config: ' + property_blacklist);\n }\n\n var data = {\n 'event': event_name,\n 'properties': properties\n };\n var ret = this._track_or_batch({\n type: 'events',\n data: data,\n endpoint: this.get_config('api_host') + '/track/',\n batcher: this.request_batchers.events,\n should_send_immediately: should_send_immediately,\n send_request_options: options\n }, callback);\n\n this._check_and_handle_triggered_notifications(data);\n\n return ret;\n});\n\n/**\n * Register the current user into one/many groups.\n *\n * ### Usage:\n *\n * mixpanel.set_group('company', ['mixpanel', 'google']) // an array of IDs\n * mixpanel.set_group('company', 'mixpanel')\n * mixpanel.set_group('company', 128746312)\n *\n * @param {String} group_key Group key\n * @param {Array|String|Number} group_ids An array of group IDs, or a singular group ID\n * @param {Function} [callback] If provided, the callback will be called after tracking the event.\n *\n */\nMixpanelLib.prototype.set_group = addOptOutCheckMixpanelLib(function(group_key, group_ids, callback) {\n if (!_.isArray(group_ids)) {\n group_ids = [group_ids];\n }\n var prop = {};\n prop[group_key] = group_ids;\n this.register(prop);\n return this['people'].set(group_key, group_ids, callback);\n});\n\n/**\n * Add a new group for this user.\n *\n * ### Usage:\n *\n * mixpanel.add_group('company', 'mixpanel')\n *\n * @param {String} group_key Group key\n * @param {*} group_id A valid Mixpanel property type\n * @param {Function} [callback] If provided, the callback will be called after tracking the event.\n */\nMixpanelLib.prototype.add_group = addOptOutCheckMixpanelLib(function(group_key, group_id, callback) {\n var old_values = this.get_property(group_key);\n if (old_values === undefined) {\n var prop = {};\n prop[group_key] = [group_id];\n this.register(prop);\n } else {\n if (old_values.indexOf(group_id) === -1) {\n old_values.push(group_id);\n this.register(prop);\n }\n }\n return this['people'].union(group_key, group_id, callback);\n});\n\n/**\n * Remove a group from this user.\n *\n * ### Usage:\n *\n * mixpanel.remove_group('company', 'mixpanel')\n *\n * @param {String} group_key Group key\n * @param {*} group_id A valid Mixpanel property type\n * @param {Function} [callback] If provided, the callback will be called after tracking the event.\n */\nMixpanelLib.prototype.remove_group = addOptOutCheckMixpanelLib(function(group_key, group_id, callback) {\n var old_value = this.get_property(group_key);\n // if the value doesn't exist, the persistent store is unchanged\n if (old_value !== undefined) {\n var idx = old_value.indexOf(group_id);\n if (idx > -1) {\n old_value.splice(idx, 1);\n this.register({group_key: old_value});\n }\n if (old_value.length === 0) {\n this.unregister(group_key);\n }\n }\n return this['people'].remove(group_key, group_id, callback);\n});\n\n/**\n * Track an event with specific groups.\n *\n * ### Usage:\n *\n * mixpanel.track_with_groups('purchase', {'product': 'iphone'}, {'University': ['UCB', 'UCLA']})\n *\n * @param {String} event_name The name of the event (see `mixpanel.track()`)\n * @param {Object=} properties A set of properties to include with the event you're sending (see `mixpanel.track()`)\n * @param {Object=} groups An object mapping group name keys to one or more values\n * @param {Function} [callback] If provided, the callback will be called after tracking the event.\n */\nMixpanelLib.prototype.track_with_groups = addOptOutCheckMixpanelLib(function(event_name, properties, groups, callback) {\n var tracking_props = _.extend({}, properties || {});\n _.each(groups, function(v, k) {\n if (v !== null && v !== undefined) {\n tracking_props[k] = v;\n }\n });\n return this.track(event_name, tracking_props, callback);\n});\n\nMixpanelLib.prototype._create_map_key = function (group_key, group_id) {\n return group_key + '_' + JSON.stringify(group_id);\n};\n\nMixpanelLib.prototype._remove_group_from_cache = function (group_key, group_id) {\n delete this._cached_groups[this._create_map_key(group_key, group_id)];\n};\n\n/**\n * Look up reference to a Mixpanel group\n *\n * ### Usage:\n *\n * mixpanel.get_group(group_key, group_id)\n *\n * @param {String} group_key Group key\n * @param {Object} group_id A valid Mixpanel property type\n * @returns {Object} A MixpanelGroup identifier\n */\nMixpanelLib.prototype.get_group = function (group_key, group_id) {\n var map_key = this._create_map_key(group_key, group_id);\n var group = this._cached_groups[map_key];\n if (group === undefined || group._group_key !== group_key || group._group_id !== group_id) {\n group = new MixpanelGroup();\n group._init(this, group_key, group_id);\n this._cached_groups[map_key] = group;\n }\n return group;\n};\n\n/**\n * Track mp_page_view event. This is now ignored by the server.\n *\n * @param {String} [page] The url of the page to record. If you don't include this, it defaults to the current url.\n * @deprecated\n */\nMixpanelLib.prototype.track_pageview = function(page) {\n if (_.isUndefined(page)) {\n page = document$1.location.href;\n }\n this.track('mp_page_view', _.info.pageviewInfo(page));\n};\n\n/**\n * Track clicks on a set of document elements. Selector must be a\n * valid query. Elements must exist on the page at the time track_links is called.\n *\n * ### Usage:\n *\n * // track click for link id #nav\n * mixpanel.track_links('#nav', 'Clicked Nav Link');\n *\n * ### Notes:\n *\n * This function will wait up to 300 ms for the Mixpanel\n * servers to respond. If they have not responded by that time\n * it will head to the link without ensuring that your event\n * has been tracked. To configure this timeout please see the\n * set_config() documentation below.\n *\n * If you pass a function in as the properties argument, the\n * function will receive the DOMElement that triggered the\n * event as an argument. You are expected to return an object\n * from the function; any properties defined on this object\n * will be sent to mixpanel as event properties.\n *\n * @type {Function}\n * @param {Object|String} query A valid DOM query, element or jQuery-esque list\n * @param {String} event_name The name of the event to track\n * @param {Object|Function} [properties] A properties object or function that returns a dictionary of properties when passed a DOMElement\n */\nMixpanelLib.prototype.track_links = function() {\n return this._track_dom.call(this, LinkTracker, arguments);\n};\n\n/**\n * Track form submissions. Selector must be a valid query.\n *\n * ### Usage:\n *\n * // track submission for form id 'register'\n * mixpanel.track_forms('#register', 'Created Account');\n *\n * ### Notes:\n *\n * This function will wait up to 300 ms for the mixpanel\n * servers to respond, if they have not responded by that time\n * it will head to the link without ensuring that your event\n * has been tracked. To configure this timeout please see the\n * set_config() documentation below.\n *\n * If you pass a function in as the properties argument, the\n * function will receive the DOMElement that triggered the\n * event as an argument. You are expected to return an object\n * from the function; any properties defined on this object\n * will be sent to mixpanel as event properties.\n *\n * @type {Function}\n * @param {Object|String} query A valid DOM query, element or jQuery-esque list\n * @param {String} event_name The name of the event to track\n * @param {Object|Function} [properties] This can be a set of properties, or a function that returns a set of properties after being passed a DOMElement\n */\nMixpanelLib.prototype.track_forms = function() {\n return this._track_dom.call(this, FormTracker, arguments);\n};\n\n/**\n * Time an event by including the time between this call and a\n * later 'track' call for the same event in the properties sent\n * with the event.\n *\n * ### Usage:\n *\n * // time an event named 'Registered'\n * mixpanel.time_event('Registered');\n * mixpanel.track('Registered', {'Gender': 'Male', 'Age': 21});\n *\n * When called for a particular event name, the next track call for that event\n * name will include the elapsed time between the 'time_event' and 'track'\n * calls. This value is stored as seconds in the '$duration' property.\n *\n * @param {String} event_name The name of the event.\n */\nMixpanelLib.prototype.time_event = function(event_name) {\n if (_.isUndefined(event_name)) {\n console$1.error('No event name provided to mixpanel.time_event');\n return;\n }\n\n if (this._event_is_disabled(event_name)) {\n return;\n }\n\n this['persistence'].set_event_timer(event_name, new Date().getTime());\n};\n\nvar REGISTER_DEFAULTS = {\n 'persistent': true\n};\n/**\n * Helper to parse options param for register methods, maintaining\n * legacy support for plain \"days\" param instead of options object\n * @param {Number|Object} [days_or_options] 'days' option (Number), or Options object for register methods\n * @returns {Object} options object\n */\nvar options_for_register = function(days_or_options) {\n var options;\n if (_.isObject(days_or_options)) {\n options = days_or_options;\n } else if (!_.isUndefined(days_or_options)) {\n options = {'days': days_or_options};\n } else {\n options = {};\n }\n return _.extend({}, REGISTER_DEFAULTS, options);\n};\n\n/**\n * Register a set of super properties, which are included with all\n * events. This will overwrite previous super property values.\n *\n * ### Usage:\n *\n * // register 'Gender' as a super property\n * mixpanel.register({'Gender': 'Female'});\n *\n * // register several super properties when a user signs up\n * mixpanel.register({\n * 'Email': 'jdoe@example.com',\n * 'Account Type': 'Free'\n * });\n *\n * // register only for the current pageload\n * mixpanel.register({'Name': 'Pat'}, {persistent: false});\n *\n * @param {Object} properties An associative array of properties to store about the user\n * @param {Number|Object} [days_or_options] Options object or number of days since the user's last visit to store the super properties (only valid for persisted props)\n * @param {boolean} [days_or_options.days] - number of days since the user's last visit to store the super properties (only valid for persisted props)\n * @param {boolean} [days_or_options.persistent=true] - whether to put in persistent storage (cookie/localStorage)\n */\nMixpanelLib.prototype.register = function(props, days_or_options) {\n var options = options_for_register(days_or_options);\n if (options['persistent']) {\n this['persistence'].register(props, options['days']);\n } else {\n _.extend(this.unpersisted_superprops, props);\n }\n};\n\n/**\n * Register a set of super properties only once. This will not\n * overwrite previous super property values, unlike register().\n *\n * ### Usage:\n *\n * // register a super property for the first time only\n * mixpanel.register_once({\n * 'First Login Date': new Date().toISOString()\n * });\n *\n * // register once, only for the current pageload\n * mixpanel.register_once({\n * 'First interaction time': new Date().toISOString()\n * }, 'None', {persistent: false});\n *\n * ### Notes:\n *\n * If default_value is specified, current super properties\n * with that value will be overwritten.\n *\n * @param {Object} properties An associative array of properties to store about the user\n * @param {*} [default_value] Value to override if already set in super properties (ex: 'False') Default: 'None'\n * @param {Number|Object} [days_or_options] Options object or number of days since the user's last visit to store the super properties (only valid for persisted props)\n * @param {boolean} [days_or_options.days] - number of days since the user's last visit to store the super properties (only valid for persisted props)\n * @param {boolean} [days_or_options.persistent=true] - whether to put in persistent storage (cookie/localStorage)\n */\nMixpanelLib.prototype.register_once = function(props, default_value, days_or_options) {\n var options = options_for_register(days_or_options);\n if (options['persistent']) {\n this['persistence'].register_once(props, default_value, options['days']);\n } else {\n if (typeof(default_value) === 'undefined') {\n default_value = 'None';\n }\n _.each(props, function(val, prop) {\n if (!this.unpersisted_superprops.hasOwnProperty(prop) || this.unpersisted_superprops[prop] === default_value) {\n this.unpersisted_superprops[prop] = val;\n }\n }, this);\n }\n};\n\n/**\n * Delete a super property stored with the current user.\n *\n * @param {String} property The name of the super property to remove\n * @param {Object} [options]\n * @param {boolean} [options.persistent=true] - whether to look in persistent storage (cookie/localStorage)\n */\nMixpanelLib.prototype.unregister = function(property, options) {\n options = options_for_register(options);\n if (options['persistent']) {\n this['persistence'].unregister(property);\n } else {\n delete this.unpersisted_superprops[property];\n }\n};\n\nMixpanelLib.prototype._register_single = function(prop, value) {\n var props = {};\n props[prop] = value;\n this.register(props);\n};\n\n/**\n * Identify a user with a unique ID to track user activity across\n * devices, tie a user to their events, and create a user profile.\n * If you never call this method, unique visitors are tracked using\n * a UUID generated the first time they visit the site.\n *\n * Call identify when you know the identity of the current user,\n * typically after login or signup. We recommend against using\n * identify for anonymous visitors to your site.\n *\n * ### Notes:\n * If your project has\n * <a href=\"https://help.mixpanel.com/hc/en-us/articles/360039133851\">ID Merge</a>\n * enabled, the identify method will connect pre- and\n * post-authentication events when appropriate.\n *\n * If your project does not have ID Merge enabled, identify will\n * change the user's local distinct_id to the unique ID you pass.\n * Events tracked prior to authentication will not be connected\n * to the same user identity. If ID Merge is disabled, alias can\n * be used to connect pre- and post-registration events.\n *\n * @param {String} [unique_id] A string that uniquely identifies a user. If not provided, the distinct_id currently in the persistent store (cookie or localStorage) will be used.\n */\nMixpanelLib.prototype.identify = function(\n new_distinct_id, _set_callback, _add_callback, _append_callback, _set_once_callback, _union_callback, _unset_callback, _remove_callback\n) {\n // Optional Parameters\n // _set_callback:function A callback to be run if and when the People set queue is flushed\n // _add_callback:function A callback to be run if and when the People add queue is flushed\n // _append_callback:function A callback to be run if and when the People append queue is flushed\n // _set_once_callback:function A callback to be run if and when the People set_once queue is flushed\n // _union_callback:function A callback to be run if and when the People union queue is flushed\n // _unset_callback:function A callback to be run if and when the People unset queue is flushed\n\n var previous_distinct_id = this.get_distinct_id();\n this.register({'$user_id': new_distinct_id});\n\n if (!this.get_property('$device_id')) {\n // The persisted distinct id might not actually be a device id at all\n // it might be a distinct id of the user from before\n var device_id = previous_distinct_id;\n this.register_once({\n '$had_persisted_distinct_id': true,\n '$device_id': device_id\n }, '');\n }\n\n // identify only changes the distinct id if it doesn't match either the existing or the alias;\n // if it's new, blow away the alias as well.\n if (new_distinct_id !== previous_distinct_id && new_distinct_id !== this.get_property(ALIAS_ID_KEY)) {\n this.unregister(ALIAS_ID_KEY);\n this.register({'distinct_id': new_distinct_id});\n }\n this._check_and_handle_notifications(this.get_distinct_id());\n this._flags.identify_called = true;\n // Flush any queued up people requests\n this['people']._flush(_set_callback, _add_callback, _append_callback, _set_once_callback, _union_callback, _unset_callback, _remove_callback);\n\n // send an $identify event any time the distinct_id is changing - logic on the server\n // will determine whether or not to do anything with it.\n if (new_distinct_id !== previous_distinct_id) {\n this.track('$identify', {\n 'distinct_id': new_distinct_id,\n '$anon_distinct_id': previous_distinct_id\n }, {skip_hooks: true});\n }\n};\n\n/**\n * Clears super properties and generates a new random distinct_id for this instance.\n * Useful for clearing data when a user logs out.\n */\nMixpanelLib.prototype.reset = function() {\n this['persistence'].clear();\n this._flags.identify_called = false;\n var uuid = _.UUID();\n this.register_once({\n 'distinct_id': uuid,\n '$device_id': uuid\n }, '');\n};\n\n/**\n * Returns the current distinct id of the user. This is either the id automatically\n * generated by the library or the id that has been passed by a call to identify().\n *\n * ### Notes:\n *\n * get_distinct_id() can only be called after the Mixpanel library has finished loading.\n * init() has a loaded function available to handle this automatically. For example:\n *\n * // set distinct_id after the mixpanel library has loaded\n * mixpanel.init('YOUR PROJECT TOKEN', {\n * loaded: function(mixpanel) {\n * distinct_id = mixpanel.get_distinct_id();\n * }\n * });\n */\nMixpanelLib.prototype.get_distinct_id = function() {\n return this.get_property('distinct_id');\n};\n\n/**\n * The alias method creates an alias which Mixpanel will use to\n * remap one id to another. Multiple aliases can point to the\n * same identifier.\n *\n * The following is a valid use of alias:\n *\n * mixpanel.alias('new_id', 'existing_id');\n * // You can add multiple id aliases to the existing ID\n * mixpanel.alias('newer_id', 'existing_id');\n *\n * Aliases can also be chained - the following is a valid example:\n *\n * mixpanel.alias('new_id', 'existing_id');\n * // chain newer_id - new_id - existing_id\n * mixpanel.alias('newer_id', 'new_id');\n *\n * Aliases cannot point to multiple identifiers - the following\n * example will not work:\n *\n * mixpanel.alias('new_id', 'existing_id');\n * // this is invalid as 'new_id' already points to 'existing_id'\n * mixpanel.alias('new_id', 'newer_id');\n *\n * ### Notes:\n *\n * If your project does not have\n * <a href=\"https://help.mixpanel.com/hc/en-us/articles/360039133851\">ID Merge</a>\n * enabled, the best practice is to call alias once when a unique\n * ID is first created for a user (e.g., when a user first registers\n * for an account). Do not use alias multiple times for a single\n * user without ID Merge enabled.\n *\n * @param {String} alias A unique identifier that you want to use for this user in the future.\n * @param {String} [original] The current identifier being used for this user.\n */\nMixpanelLib.prototype.alias = function(alias, original) {\n // If the $people_distinct_id key exists in persistence, there has been a previous\n // mixpanel.people.identify() call made for this user. It is VERY BAD to make an alias with\n // this ID, as it will duplicate users.\n if (alias === this.get_property(PEOPLE_DISTINCT_ID_KEY)) {\n console$1.critical('Attempting to create alias for existing People user - aborting.');\n return -2;\n }\n\n var _this = this;\n if (_.isUndefined(original)) {\n original = this.get_distinct_id();\n }\n if (alias !== original) {\n this._register_single(ALIAS_ID_KEY, alias);\n return this.track('$create_alias', {\n 'alias': alias,\n 'distinct_id': original\n }, {\n skip_hooks: true\n }, function() {\n // Flush the people queue\n _this.identify(alias);\n });\n } else {\n console$1.error('alias matches current distinct_id - skipping api call.');\n this.identify(alias);\n return -1;\n }\n};\n\n/**\n * Provide a string to recognize the user by. The string passed to\n * this method will appear in the Mixpanel Streams product rather\n * than an automatically generated name. Name tags do not have to\n * be unique.\n *\n * This value will only be included in Streams data.\n *\n * @param {String} name_tag A human readable name for the user\n * @deprecated\n */\nMixpanelLib.prototype.name_tag = function(name_tag) {\n this._register_single('mp_name_tag', name_tag);\n};\n\n/**\n * Update the configuration of a mixpanel library instance.\n *\n * The default config is:\n *\n * {\n * // HTTP method for tracking requests\n * api_method: 'POST'\n *\n * // transport for sending requests ('XHR' or 'sendBeacon')\n * // NB: sendBeacon should only be used for scenarios such as\n * // page unload where a \"best-effort\" attempt to send is\n * // acceptable; the sendBeacon API does not support callbacks\n * // or any way to know the result of the request. Mixpanel\n * // tracking via sendBeacon will not support any event-\n * // batching or retry mechanisms.\n * api_transport: 'XHR'\n *\n * // turn on request-batching/queueing/retry\n * batch_requests: false,\n *\n * // maximum number of events/updates to send in a single\n * // network request\n * batch_size: 50,\n *\n * // milliseconds to wait between sending batch requests\n * batch_flush_interval_ms: 5000,\n *\n * // milliseconds to wait for network responses to batch requests\n * // before they are considered timed-out and retried\n * batch_request_timeout_ms: 90000,\n *\n * // override value for cookie domain, only useful for ensuring\n * // correct cross-subdomain cookies on unusual domains like\n * // subdomain.mainsite.avocat.fr; NB this cannot be used to\n * // set cookies on a different domain than the current origin\n * cookie_domain: ''\n *\n * // super properties cookie expiration (in days)\n * cookie_expiration: 365\n *\n * // if true, cookie will be set with SameSite=None; Secure\n * // this is only useful in special situations, like embedded\n * // 3rd-party iframes that set up a Mixpanel instance\n * cross_site_cookie: false\n *\n * // super properties span subdomains\n * cross_subdomain_cookie: true\n *\n * // debug mode\n * debug: false\n *\n * // if this is true, the mixpanel cookie or localStorage entry\n * // will be deleted, and no user persistence will take place\n * disable_persistence: false\n *\n * // if this is true, Mixpanel will automatically determine\n * // City, Region and Country data using the IP address of\n * //the client\n * ip: true\n *\n * // opt users out of tracking by this Mixpanel instance by default\n * opt_out_tracking_by_default: false\n *\n * // opt users out of browser data storage by this Mixpanel instance by default\n * opt_out_persistence_by_default: false\n *\n * // persistence mechanism used by opt-in/opt-out methods - cookie\n * // or localStorage - falls back to cookie if localStorage is unavailable\n * opt_out_tracking_persistence_type: 'localStorage'\n *\n * // customize the name of cookie/localStorage set by opt-in/opt-out methods\n * opt_out_tracking_cookie_prefix: null\n *\n * // type of persistent store for super properties (cookie/\n * // localStorage) if set to 'localStorage', any existing\n * // mixpanel cookie value with the same persistence_name\n * // will be transferred to localStorage and deleted\n * persistence: 'cookie'\n *\n * // name for super properties persistent store\n * persistence_name: ''\n *\n * // names of properties/superproperties which should never\n * // be sent with track() calls\n * property_blacklist: []\n *\n * // if this is true, mixpanel cookies will be marked as\n * // secure, meaning they will only be transmitted over https\n * secure_cookie: false\n *\n * // the amount of time track_links will\n * // wait for Mixpanel's servers to respond\n * track_links_timeout: 300\n *\n * // if you set upgrade to be true, the library will check for\n * // a cookie from our old js library and import super\n * // properties from it, then the old cookie is deleted\n * // The upgrade config option only works in the initialization,\n * // so make sure you set it when you create the library.\n * upgrade: false\n *\n * // extra HTTP request headers to set for each API request, in\n * // the format {'Header-Name': value}\n * xhr_headers: {}\n *\n * // protocol for fetching in-app message resources, e.g.\n * // 'https://' or 'http://'; defaults to '//' (which defers to the\n * // current page's protocol)\n * inapp_protocol: '//'\n *\n * // whether to open in-app message link in new tab/window\n * inapp_link_new_window: false\n *\n * // whether to ignore or respect the web browser's Do Not Track setting\n * ignore_dnt: false\n * }\n *\n *\n * @param {Object} config A dictionary of new configuration values to update\n */\nMixpanelLib.prototype.set_config = function(config) {\n if (_.isObject(config)) {\n _.extend(this['config'], config);\n\n var new_batch_size = config['batch_size'];\n if (new_batch_size) {\n _.each(this.request_batchers, function(batcher) {\n batcher.resetBatchSize();\n });\n }\n\n if (!this.get_config('persistence_name')) {\n this['config']['persistence_name'] = this['config']['cookie_name'];\n }\n if (!this.get_config('disable_persistence')) {\n this['config']['disable_persistence'] = this['config']['disable_cookie'];\n }\n\n if (this['persistence']) {\n this['persistence'].update_config(this['config']);\n }\n Config.DEBUG = Config.DEBUG || this.get_config('debug');\n }\n};\n\n/**\n * returns the current config object for the library.\n */\nMixpanelLib.prototype.get_config = function(prop_name) {\n return this['config'][prop_name];\n};\n\n/**\n * Fetch a hook function from config, with safe default, and run it\n * against the given arguments\n * @param {string} hook_name which hook to retrieve\n * @returns {any|null} return value of user-provided hook, or null if nothing was returned\n */\nMixpanelLib.prototype._run_hook = function(hook_name) {\n var ret = (this['config']['hooks'][hook_name] || IDENTITY_FUNC).apply(this, slice.call(arguments, 1));\n if (typeof ret === 'undefined') {\n console$1.error(hook_name + ' hook did not return a value');\n ret = null;\n }\n return ret;\n};\n\n/**\n * Returns the value of the super property named property_name. If no such\n * property is set, get_property() will return the undefined value.\n *\n * ### Notes:\n *\n * get_property() can only be called after the Mixpanel library has finished loading.\n * init() has a loaded function available to handle this automatically. For example:\n *\n * // grab value for 'user_id' after the mixpanel library has loaded\n * mixpanel.init('YOUR PROJECT TOKEN', {\n * loaded: function(mixpanel) {\n * user_id = mixpanel.get_property('user_id');\n * }\n * });\n *\n * @param {String} property_name The name of the super property you want to retrieve\n */\nMixpanelLib.prototype.get_property = function(property_name) {\n return this['persistence']['props'][property_name];\n};\n\nMixpanelLib.prototype.toString = function() {\n var name = this.get_config('name');\n if (name !== PRIMARY_INSTANCE_NAME) {\n name = PRIMARY_INSTANCE_NAME + '.' + name;\n }\n return name;\n};\n\nMixpanelLib.prototype._event_is_disabled = function(event_name) {\n return _.isBlockedUA(userAgent) ||\n this._flags.disable_all_events ||\n _.include(this.__disabled_events, event_name);\n};\n\nMixpanelLib.prototype._check_and_handle_triggered_notifications = addOptOutCheckMixpanelLib(function(event_data) {\n if (!this._user_decide_check_complete) {\n this._events_tracked_before_user_decide_check_complete.push(event_data);\n } else {\n var arr = this['_triggered_notifs'];\n for (var i = 0; i < arr.length; i++) {\n var notif = new MixpanelNotification(arr[i], this);\n if (notif._matches_event_data(event_data)) {\n this._show_notification(arr[i]);\n return;\n }\n }\n }\n});\n\nMixpanelLib.prototype._check_and_handle_notifications = addOptOutCheckMixpanelLib(function(distinct_id) {\n if (\n !distinct_id ||\n this._flags.identify_called ||\n this.get_config('disable_notifications')\n ) {\n return;\n }\n\n console$1.log('MIXPANEL NOTIFICATION CHECK');\n\n var data = {\n 'verbose': true,\n 'version': '3',\n 'lib': 'web',\n 'token': this.get_config('token'),\n 'distinct_id': distinct_id\n };\n this._send_request(\n this.get_config('api_host') + '/decide/',\n data,\n {method: 'GET', transport: 'XHR'},\n this._prepare_callback(_.bind(function(result) {\n if (result['notifications'] && result['notifications'].length > 0) {\n this['_triggered_notifs'] = [];\n var notifications = [];\n _.each(result['notifications'], function(notif) {\n (notif['display_triggers'] && notif['display_triggers'].length > 0 ? this['_triggered_notifs'] : notifications).push(notif);\n }, this);\n if (notifications.length > 0) {\n this._show_notification.call(this, notifications[0]);\n }\n }\n this._handle_user_decide_check_complete();\n }, this))\n );\n});\n\nMixpanelLib.prototype._handle_user_decide_check_complete = function() {\n this._user_decide_check_complete = true;\n\n // check notifications against events that were tracked before decide call completed\n var events = this._events_tracked_before_user_decide_check_complete;\n while (events.length > 0) {\n var data = events.shift(); // replay in the same order they came in\n this._check_and_handle_triggered_notifications(data);\n }\n};\n\nMixpanelLib.prototype._show_notification = function(notif_data) {\n var notification = new MixpanelNotification(notif_data, this);\n notification.show();\n};\n\n// perform some housekeeping around GDPR opt-in/out state\nMixpanelLib.prototype._gdpr_init = function() {\n var is_localStorage_requested = this.get_config('opt_out_tracking_persistence_type') === 'localStorage';\n\n // try to convert opt-in/out cookies to localStorage if possible\n if (is_localStorage_requested && _.localStorage.is_supported()) {\n if (!this.has_opted_in_tracking() && this.has_opted_in_tracking({'persistence_type': 'cookie'})) {\n this.opt_in_tracking({'enable_persistence': false});\n }\n if (!this.has_opted_out_tracking() && this.has_opted_out_tracking({'persistence_type': 'cookie'})) {\n this.opt_out_tracking({'clear_persistence': false});\n }\n this.clear_opt_in_out_tracking({\n 'persistence_type': 'cookie',\n 'enable_persistence': false\n });\n }\n\n // check whether the user has already opted out - if so, clear & disable persistence\n if (this.has_opted_out_tracking()) {\n this._gdpr_update_persistence({'clear_persistence': true});\n\n // check whether we should opt out by default\n // note: we don't clear persistence here by default since opt-out default state is often\n // used as an initial state while GDPR information is being collected\n } else if (!this.has_opted_in_tracking() && (\n this.get_config('opt_out_tracking_by_default') || _.cookie.get('mp_optout')\n )) {\n _.cookie.remove('mp_optout');\n this.opt_out_tracking({\n 'clear_persistence': this.get_config('opt_out_persistence_by_default')\n });\n }\n};\n\n/**\n * Enable or disable persistence based on options\n * only enable/disable if persistence is not already in this state\n * @param {boolean} [options.clear_persistence] If true, will delete all data stored by the sdk in persistence and disable it\n * @param {boolean} [options.enable_persistence] If true, will re-enable sdk persistence\n */\nMixpanelLib.prototype._gdpr_update_persistence = function(options) {\n var disabled;\n if (options && options['clear_persistence']) {\n disabled = true;\n } else if (options && options['enable_persistence']) {\n disabled = false;\n } else {\n return;\n }\n\n if (!this.get_config('disable_persistence') && this['persistence'].disabled !== disabled) {\n this['persistence'].set_disabled(disabled);\n }\n\n if (disabled) {\n _.each(this.request_batchers, function(batcher) {\n batcher.clear();\n });\n }\n};\n\n// call a base gdpr function after constructing the appropriate token and options args\nMixpanelLib.prototype._gdpr_call_func = function(func, options) {\n options = _.extend({\n 'track': _.bind(this.track, this),\n 'persistence_type': this.get_config('opt_out_tracking_persistence_type'),\n 'cookie_prefix': this.get_config('opt_out_tracking_cookie_prefix'),\n 'cookie_expiration': this.get_config('cookie_expiration'),\n 'cross_site_cookie': this.get_config('cross_site_cookie'),\n 'cross_subdomain_cookie': this.get_config('cross_subdomain_cookie'),\n 'cookie_domain': this.get_config('cookie_domain'),\n 'secure_cookie': this.get_config('secure_cookie'),\n 'ignore_dnt': this.get_config('ignore_dnt')\n }, options);\n\n // check if localStorage can be used for recording opt out status, fall back to cookie if not\n if (!_.localStorage.is_supported()) {\n options['persistence_type'] = 'cookie';\n }\n\n return func(this.get_config('token'), {\n track: options['track'],\n trackEventName: options['track_event_name'],\n trackProperties: options['track_properties'],\n persistenceType: options['persistence_type'],\n persistencePrefix: options['cookie_prefix'],\n cookieDomain: options['cookie_domain'],\n cookieExpiration: options['cookie_expiration'],\n crossSiteCookie: options['cross_site_cookie'],\n crossSubdomainCookie: options['cross_subdomain_cookie'],\n secureCookie: options['secure_cookie'],\n ignoreDnt: options['ignore_dnt']\n });\n};\n\n/**\n * Opt the user in to data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage\n *\n * // opt user in\n * mixpanel.opt_in_tracking();\n *\n * // opt user in with specific event name, properties, cookie configuration\n * mixpanel.opt_in_tracking({\n * track_event_name: 'User opted in',\n * track_event_properties: {\n * 'Email': 'jdoe@example.com'\n * },\n * cookie_expiration: 30,\n * secure_cookie: true\n * });\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {function} [options.track] Function used for tracking a Mixpanel event to record the opt-in action (default is this Mixpanel instance's track method)\n * @param {string} [options.track_event_name=$opt_in] Event name to be used for tracking the opt-in action\n * @param {Object} [options.track_properties] Set of properties to be tracked along with the opt-in action\n * @param {boolean} [options.enable_persistence=true] If true, will re-enable sdk persistence\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookie_expiration] Number of days until the opt-in cookie expires (overrides value specified in this Mixpanel instance's config)\n * @param {string} [options.cookie_domain] Custom cookie domain (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_site_cookie] Whether the opt-in cookie is set as cross-site-enabled (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_subdomain_cookie] Whether the opt-in cookie is set as cross-subdomain or not (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.secure_cookie] Whether the opt-in cookie is set as secure or not (overrides value specified in this Mixpanel instance's config)\n */\nMixpanelLib.prototype.opt_in_tracking = function(options) {\n options = _.extend({\n 'enable_persistence': true\n }, options);\n\n this._gdpr_call_func(optIn, options);\n this._gdpr_update_persistence(options);\n};\n\n/**\n * Opt the user out of data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage\n *\n * // opt user out\n * mixpanel.opt_out_tracking();\n *\n * // opt user out with different cookie configuration from Mixpanel instance\n * mixpanel.opt_out_tracking({\n * cookie_expiration: 30,\n * secure_cookie: true\n * });\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {boolean} [options.delete_user=true] If true, will delete the currently identified user's profile and clear all charges after opting the user out\n * @param {boolean} [options.clear_persistence=true] If true, will delete all data stored by the sdk in persistence\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookie_expiration] Number of days until the opt-in cookie expires (overrides value specified in this Mixpanel instance's config)\n * @param {string} [options.cookie_domain] Custom cookie domain (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_site_cookie] Whether the opt-in cookie is set as cross-site-enabled (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_subdomain_cookie] Whether the opt-in cookie is set as cross-subdomain or not (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.secure_cookie] Whether the opt-in cookie is set as secure or not (overrides value specified in this Mixpanel instance's config)\n */\nMixpanelLib.prototype.opt_out_tracking = function(options) {\n options = _.extend({\n 'clear_persistence': true,\n 'delete_user': true\n }, options);\n\n // delete user and clear charges since these methods may be disabled by opt-out\n if (options['delete_user'] && this['people'] && this['people']._identify_called()) {\n this['people'].delete_user();\n this['people'].clear_charges();\n }\n\n this._gdpr_call_func(optOut, options);\n this._gdpr_update_persistence(options);\n};\n\n/**\n * Check whether the user has opted in to data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage\n *\n * var has_opted_in = mixpanel.has_opted_in_tracking();\n * // use has_opted_in value\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @returns {boolean} current opt-in status\n */\nMixpanelLib.prototype.has_opted_in_tracking = function(options) {\n return this._gdpr_call_func(hasOptedIn, options);\n};\n\n/**\n * Check whether the user has opted out of data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage\n *\n * var has_opted_out = mixpanel.has_opted_out_tracking();\n * // use has_opted_out value\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @returns {boolean} current opt-out status\n */\nMixpanelLib.prototype.has_opted_out_tracking = function(options) {\n return this._gdpr_call_func(hasOptedOut, options);\n};\n\n/**\n * Clear the user's opt in/out status of data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage\n *\n * // clear user's opt-in/out status\n * mixpanel.clear_opt_in_out_tracking();\n *\n * // clear user's opt-in/out status with specific cookie configuration - should match\n * // configuration used when opt_in_tracking/opt_out_tracking methods were called.\n * mixpanel.clear_opt_in_out_tracking({\n * cookie_expiration: 30,\n * secure_cookie: true\n * });\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {boolean} [options.enable_persistence=true] If true, will re-enable sdk persistence\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookie_expiration] Number of days until the opt-in cookie expires (overrides value specified in this Mixpanel instance's config)\n * @param {string} [options.cookie_domain] Custom cookie domain (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_site_cookie] Whether the opt-in cookie is set as cross-site-enabled (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_subdomain_cookie] Whether the opt-in cookie is set as cross-subdomain or not (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.secure_cookie] Whether the opt-in cookie is set as secure or not (overrides value specified in this Mixpanel instance's config)\n */\nMixpanelLib.prototype.clear_opt_in_out_tracking = function(options) {\n options = _.extend({\n 'enable_persistence': true\n }, options);\n\n this._gdpr_call_func(clearOptInOut, options);\n this._gdpr_update_persistence(options);\n};\n\n// EXPORTS (for closure compiler)\n\n// MixpanelLib Exports\nMixpanelLib.prototype['init'] = MixpanelLib.prototype.init;\nMixpanelLib.prototype['reset'] = MixpanelLib.prototype.reset;\nMixpanelLib.prototype['disable'] = MixpanelLib.prototype.disable;\nMixpanelLib.prototype['time_event'] = MixpanelLib.prototype.time_event;\nMixpanelLib.prototype['track'] = MixpanelLib.prototype.track;\nMixpanelLib.prototype['track_links'] = MixpanelLib.prototype.track_links;\nMixpanelLib.prototype['track_forms'] = MixpanelLib.prototype.track_forms;\nMixpanelLib.prototype['track_pageview'] = MixpanelLib.prototype.track_pageview;\nMixpanelLib.prototype['register'] = MixpanelLib.prototype.register;\nMixpanelLib.prototype['register_once'] = MixpanelLib.prototype.register_once;\nMixpanelLib.prototype['unregister'] = MixpanelLib.prototype.unregister;\nMixpanelLib.prototype['identify'] = MixpanelLib.prototype.identify;\nMixpanelLib.prototype['alias'] = MixpanelLib.prototype.alias;\nMixpanelLib.prototype['name_tag'] = MixpanelLib.prototype.name_tag;\nMixpanelLib.prototype['set_config'] = MixpanelLib.prototype.set_config;\nMixpanelLib.prototype['get_config'] = MixpanelLib.prototype.get_config;\nMixpanelLib.prototype['get_property'] = MixpanelLib.prototype.get_property;\nMixpanelLib.prototype['get_distinct_id'] = MixpanelLib.prototype.get_distinct_id;\nMixpanelLib.prototype['toString'] = MixpanelLib.prototype.toString;\nMixpanelLib.prototype['_check_and_handle_notifications'] = MixpanelLib.prototype._check_and_handle_notifications;\nMixpanelLib.prototype['_handle_user_decide_check_complete'] = MixpanelLib.prototype._handle_user_decide_check_complete;\nMixpanelLib.prototype['_show_notification'] = MixpanelLib.prototype._show_notification;\nMixpanelLib.prototype['opt_out_tracking'] = MixpanelLib.prototype.opt_out_tracking;\nMixpanelLib.prototype['opt_in_tracking'] = MixpanelLib.prototype.opt_in_tracking;\nMixpanelLib.prototype['has_opted_out_tracking'] = MixpanelLib.prototype.has_opted_out_tracking;\nMixpanelLib.prototype['has_opted_in_tracking'] = MixpanelLib.prototype.has_opted_in_tracking;\nMixpanelLib.prototype['clear_opt_in_out_tracking'] = MixpanelLib.prototype.clear_opt_in_out_tracking;\nMixpanelLib.prototype['get_group'] = MixpanelLib.prototype.get_group;\nMixpanelLib.prototype['set_group'] = MixpanelLib.prototype.set_group;\nMixpanelLib.prototype['add_group'] = MixpanelLib.prototype.add_group;\nMixpanelLib.prototype['remove_group'] = MixpanelLib.prototype.remove_group;\nMixpanelLib.prototype['track_with_groups'] = MixpanelLib.prototype.track_with_groups;\nMixpanelLib.prototype['start_batch_senders'] = MixpanelLib.prototype.start_batch_senders;\nMixpanelLib.prototype['stop_batch_senders'] = MixpanelLib.prototype.stop_batch_senders;\n\n// MixpanelPersistence Exports\nMixpanelPersistence.prototype['properties'] = MixpanelPersistence.prototype.properties;\nMixpanelPersistence.prototype['update_search_keyword'] = MixpanelPersistence.prototype.update_search_keyword;\nMixpanelPersistence.prototype['update_referrer_info'] = MixpanelPersistence.prototype.update_referrer_info;\nMixpanelPersistence.prototype['get_cross_subdomain'] = MixpanelPersistence.prototype.get_cross_subdomain;\nMixpanelPersistence.prototype['clear'] = MixpanelPersistence.prototype.clear;\n\n_.safewrap_class(MixpanelLib, ['identify', '_check_and_handle_notifications', '_show_notification']);\n\n\nvar instances = {};\nvar extend_mp = function() {\n // add all the sub mixpanel instances\n _.each(instances, function(instance, name) {\n if (name !== PRIMARY_INSTANCE_NAME) { mixpanel_master[name] = instance; }\n });\n\n // add private functions as _\n mixpanel_master['_'] = _;\n};\n\nvar override_mp_init_func = function() {\n // we override the snippets init function to handle the case where a\n // user initializes the mixpanel library after the script loads & runs\n mixpanel_master['init'] = function(token, config, name) {\n if (name) {\n // initialize a sub library\n if (!mixpanel_master[name]) {\n mixpanel_master[name] = instances[name] = create_mplib(token, config, name);\n mixpanel_master[name]._loaded();\n }\n return mixpanel_master[name];\n } else {\n var instance = mixpanel_master;\n\n if (instances[PRIMARY_INSTANCE_NAME]) {\n // main mixpanel lib already initialized\n instance = instances[PRIMARY_INSTANCE_NAME];\n } else if (token) {\n // intialize the main mixpanel lib\n instance = create_mplib(token, config, PRIMARY_INSTANCE_NAME);\n instance._loaded();\n instances[PRIMARY_INSTANCE_NAME] = instance;\n }\n\n mixpanel_master = instance;\n if (init_type === INIT_SNIPPET) {\n window$1[PRIMARY_INSTANCE_NAME] = mixpanel_master;\n }\n extend_mp();\n }\n };\n};\n\nvar add_dom_loaded_handler = function() {\n // Cross browser DOM Loaded support\n function dom_loaded_handler() {\n // function flag since we only want to execute this once\n if (dom_loaded_handler.done) { return; }\n dom_loaded_handler.done = true;\n\n DOM_LOADED = true;\n ENQUEUE_REQUESTS = false;\n\n _.each(instances, function(inst) {\n inst._dom_loaded();\n });\n }\n\n function do_scroll_check() {\n try {\n document$1.documentElement.doScroll('left');\n } catch(e) {\n setTimeout(do_scroll_check, 1);\n return;\n }\n\n dom_loaded_handler();\n }\n\n if (document$1.addEventListener) {\n if (document$1.readyState === 'complete') {\n // safari 4 can fire the DOMContentLoaded event before loading all\n // external JS (including this file). you will see some copypasta\n // on the internet that checks for 'complete' and 'loaded', but\n // 'loaded' is an IE thing\n dom_loaded_handler();\n } else {\n document$1.addEventListener('DOMContentLoaded', dom_loaded_handler, false);\n }\n } else if (document$1.attachEvent) {\n // IE\n document$1.attachEvent('onreadystatechange', dom_loaded_handler);\n\n // check to make sure we arn't in a frame\n var toplevel = false;\n try {\n toplevel = window$1.frameElement === null;\n } catch(e) {\n // noop\n }\n\n if (document$1.documentElement.doScroll && toplevel) {\n do_scroll_check();\n }\n }\n\n // fallback handler, always will work\n _.register_event(window$1, 'load', dom_loaded_handler, true);\n};\n\nfunction init_as_module() {\n init_type = INIT_MODULE;\n mixpanel_master = new MixpanelLib();\n\n override_mp_init_func();\n mixpanel_master['init']();\n add_dom_loaded_handler();\n\n return mixpanel_master;\n}\n\nvar mixpanel = init_as_module();\n\nmodule.exports = mixpanel;","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/define-iterator');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict'\n\nvar splice = require('../constant/splice.js')\n\n// causes a stack overflow in V8 when trying to insert 100k items for instance.\n\nfunction chunkedSplice(list, start, remove, items) {\n var end = list.length\n var chunkStart = 0\n var parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove)\n splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0)\n splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n\nmodule.exports = chunkedSplice\n","'use strict'\n\nfunction markdownLineEndingOrSpace(code) {\n return code < 0 || code === 32\n}\n\nmodule.exports = markdownLineEndingOrSpace\n","'use strict'\n\nvar fromCharCode = require('../constant/from-char-code.js')\n\nfunction regexCheck(regex) {\n return check\n\n function check(code) {\n return regex.test(fromCharCode(code))\n }\n}\n\nmodule.exports = regexCheck\n","import OliveImages from './OliveImages';\nimport version from './version';\nimport OLIVE_CDN from './OLIVE_CDN';\nexport { OliveImages, version, OLIVE_CDN };\nexport default OliveImages();","module.exports = require(\"core-js-pure/stable/json/stringify\");","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","module.exports = require(\"core-js-pure/stable/promise\");","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\nexport function isProp(props, prop) {\n return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n var wasPropRef = useRef(propValue !== undefined);\n\n var _useState = useState(defaultValue),\n stateValue = _useState[0],\n setState = _useState[1];\n\n var isProp = propValue !== undefined;\n var wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n\n return [isProp ? propValue : stateValue, useCallback(function (value) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (handler) handler.apply(void 0, [value].concat(args));\n setState(value);\n }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n return Object.keys(config).reduce(function (result, fieldName) {\n var _extends2;\n\n var _ref = result,\n defaultValue = _ref[Utils.defaultKey(fieldName)],\n propsValue = _ref[fieldName],\n rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n var handlerName = config[fieldName];\n\n var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n value = _useUncontrolledProp[0],\n handler = _useUncontrolledProp[1];\n\n return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n }, props);\n}","/**\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","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.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","module.exports = require(\"core-js-pure/features/reflect/construct\");","module.exports = require(\"core-js-pure/features/reflect/construct\");","// Only polyfill if Proxy is not defined. Either the native environment will\n// provide or apps will provide a polyfill themselves.\n// This is not a problem with ES modules as long as apps perform tree-shaking as\n// part of their bundling stategy. However, teams are likely to still run into\n// this locally.\nif (typeof Proxy === 'undefined') {\n // @ts-ignore\n self.Proxy = class ProxyPolyfill {\n constructor() {\n // noop\n // This is required because Framer Motion under-the-hood\n // sets a `motion` variable using `new Proxy()` which instantly\n // gets called when we load the package even though we never\n // call it directly. We can shim with the very simple \"polyfill\"\n // since the Proxy code is never in our code path.\n }\n }\n}\n\nexport {}\n","import {\n Custom,\n DSTransition,\n DSVariant,\n DSVariants,\n Ease,\n TargetResolver,\n TransitionDefinition,\n TransitionMap,\n} from '../types'\n\nexport const easingLookup = {\n default: [0.35, 0, 0.2, 1],\n harmonize: [0.33, 0, 0.67, 1],\n linear: [0, 0, 1, 1],\n opacity: [0.33, 0, 0.67, 1], // deprecated; use harmonize instead\n snap: [0.8, 0, 0.65, 1],\n spring: [0.3, 1.7, 0.5, 1],\n} as const\n\n/**\n * Get ease value from lookup\n * @param ease A built-in named easing function (default, harmonize, linear, snap, spring)\n */\nfunction getEasingValue(ease?: Ease) {\n return easingLookup[ease || 'default']\n}\n\n/**\n * Get default transition with \"default\" ease applied if none given\n * @param transition An object that defines how values animate from one state to\n * another\n */\nfunction getDefaultTransition(transition: TransitionDefinition) {\n return {\n ...(transition || {}),\n ease: getEasingValue(transition?.ease),\n }\n}\n\n/**\n * Check to see if transition is a map with a different config per animating\n * value (i.e. opacity, scale, rotate, x) or standard orchestration properties\n * @param transition An object that defines how values animate from one state to\n * another\n */\nfunction isTransitionMap(\n transition: DSTransition\n): transition is TransitionMap {\n const [firstKey] = Object.keys(transition)\n const firstValue = transition[firstKey]\n\n if (\n firstValue &&\n typeof firstValue !== 'string' &&\n !Array.isArray(firstValue) &&\n Object.keys(firstValue).length\n ) {\n return true\n }\n\n return false\n}\n\n/**\n * Get transition easing values from easingLookup or provide default ease value\n * @param transition An object that defines how values animate from one state to\n * another\n */\nexport function getEasingTransition(transition: DSTransition = {}) {\n // if no transition provided, use a default transition\n if (!Object.keys(transition).length) {\n return getDefaultTransition(transition)\n }\n\n // transitions can map to animating values as well\n // i.e. transition={{ opacity: { ease: 'default', duration: 0.3 } } }\n if (isTransitionMap(transition)) {\n const easedTransitions = {} as DSTransition & {\n ease: ReturnType<typeof getEasingValue>\n }\n for (const key in transition) {\n easedTransitions[key] = {\n ...transition[key],\n ease: getEasingValue(transition[key].ease),\n }\n }\n return easedTransitions\n }\n\n // standard transition\n // i.e. transition={{ ease: 'default', duration: 0.3 }}\n return {\n ...transition,\n ease: getEasingValue(transition.ease),\n }\n}\n\nfunction isTargetResolver(variant: DSVariant): variant is TargetResolver {\n return typeof variant === 'function'\n}\n\ntype EasingVariants = {\n [key: string]: Omit<DSVariant, 'transition'> & {\n transition?: Omit<DSTransition, 'ease'> & {\n ease: ReturnType<typeof getEasingValue>\n }\n }\n}\n\n/**\n * Get ease values from variants\n * @param variants A set of pre-defined animation target objects using a custom\n * label as the key\n */\nexport function getEasingVariants(\n variants: DSVariants = {},\n custom?: Custom\n): EasingVariants | undefined {\n if (!Object.keys(variants).length) return undefined\n\n // handle variant map\n // i.e. variant={{ fade: { opacity: 1, transition: { ease: 'harmonize' } } }}\n const easingVariants = {} as EasingVariants\n for (const key in variants) {\n const variant = variants[key]\n\n if (isTargetResolver(variant)) {\n const definition = variant(custom!)\n easingVariants[key] = {\n ...(definition as Omit<DSVariant, 'transition'>),\n transition: getEasingTransition(definition.transition),\n }\n continue\n }\n\n easingVariants[key] = {\n ...(variant as Omit<DSVariant, 'transition'>),\n transition: getEasingTransition(variant.transition),\n }\n }\n\n return easingVariants\n}\n","import React from 'react'\n\nimport { MotionComponent } from '../types'\nimport { MotionProps } from './Motion'\nimport { MotionVariantProps } from './MotionVariant'\nimport { filterMotionProps } from '../utils'\n\ntype WithoutMotionProps = Omit<\n (MotionProps | MotionVariantProps) & {\n component: MotionComponent\n },\n 'as'\n>\n\nexport const ComponentWithoutMotion = React.forwardRef<\n HTMLElement | SVGElement,\n WithoutMotionProps\n>((props, forwardRef) => {\n const {\n children,\n onAnimationStart,\n onAnimationEnd,\n component: Component,\n } = props\n React.useEffect(() => {\n onAnimationStart?.()\n onAnimationEnd?.({})\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []) // we only want this effect to run the one time on component mount\n\n return (\n <Component {...filterMotionProps(props)} ref={forwardRef}>\n {children}\n </Component>\n )\n})\n","import { isValidMotionProp, Target, VariantLabels } from 'framer-motion'\nimport { DSVariants, TargetAndTransitionEnd } from '../../types'\n\ninterface FilterMotionPassthroughProps {\n initial?: boolean | Target | VariantLabels\n animate?: boolean | TargetAndTransitionEnd | VariantLabels\n variants?: DSVariants\n}\n\n/**\n * When motion is disabled we want to filter out all the motion props\n * and only return valid element props.\n */\nexport function filterMotionProps<P extends FilterMotionPassthroughProps>(\n props: P\n) {\n const filteredProps = {} as P\n\n for (const key in props) {\n // onAnimationStart is a motion prop but also a valid element attr\n const isElementAttr = !isValidMotionProp(key) || key === 'onAnimationStart'\n if (isElementAttr) {\n filteredProps[key] = props[key]\n }\n }\n\n return {\n ...filteredProps,\n // the initial state of a component, needed even if no animation or for SSR\n initial: props?.initial,\n ...(props?.initial === false && {\n // if false then we initialize with the values in animate\n animate: props?.animate,\n }),\n // pass variants through in case initial is a variant label or\n // if initial is false and animate is a variant label\n variants: props?.variants,\n }\n}\n","import * as React from 'react'\nimport {\n createDomMotionComponent,\n EventInfo,\n TapInfo,\n Target,\n} from 'framer-motion'\nimport {\n DSTransition,\n HTMLOrSVGProps,\n MotionComponent,\n TagName,\n TargetAndTransitionEnd,\n} from '../types'\nimport { isMotionDisabled, getEasingTransition } from '../utils'\nimport { ComponentWithoutMotion } from './ComponentWithoutMotion'\n\n// Omit variants, use MotionVariant instead\ntype DSMotionProps = Omit<HTMLOrSVGProps, 'variants'> & {\n /* Properties to start in before any animation happens. Set to false to\n * initialize with the values in animate (disabling the mount animation) */\n initial?: boolean | Target\n /* Values to animate to */\n animate?: TargetAndTransitionEnd | boolean\n /* Default transition. If no transition is defined in animate, it will use the\n * transition defined here */\n transition?: DSTransition\n /* Properties to animate to when the component receives focus */\n whileFocus?: TargetAndTransitionEnd\n /* Properties to animate to while the hover gesture is recognized */\n whileHover?: TargetAndTransitionEnd\n /* Callback function that fires when pointer starts hovering over the component */\n onHoverStart?: (event: MouseEvent, info: EventInfo) => void\n /* Callback function that fires when pointer stops hovering over the component */\n onHoverEnd?: (event: MouseEvent, info: EventInfo) => void\n /* Properties to animate to while the component is pressed */\n whileTap?: TargetAndTransitionEnd\n /* Callback when the tap gesture starts on this element */\n onTapStart?: (\n event: MouseEvent | TouchEvent | PointerEvent,\n info: TapInfo\n ) => void\n /* Callback when the tap gesture ends on this element */\n onTapEnd?: (\n event: MouseEvent | TouchEvent | PointerEvent,\n info: TapInfo\n ) => void\n /* Callback when the tap gesture ends outside this element */\n onTapCancel?: (\n event: MouseEvent | TouchEvent | PointerEvent,\n info: TapInfo\n ) => void\n /* Callback when animation defined in animate begins */\n onAnimationStart?: () => void\n /* Callback when animation defined in animate ends */\n onAnimationEnd?: (definition: TargetAndTransitionEnd) => void\n}\n\nexport type MotionProps = DSMotionProps & {\n as?: TagName\n}\n\n/**\n * A wrapper component around Framer Motion that customizes easing properties\n * to those of the Ink Design System.\n *\n * @example\n * ```tsx\n * <Motion\n * animate={{ opacity: 1 }}\n * transition={{ ease: 'default' }}\n * />\n * ```\n */\nexport const Motion = React.forwardRef<HTMLElement | SVGElement, MotionProps>(\n (props, forwardedRef) => {\n const {\n as = 'div',\n initial,\n animate,\n exit,\n transition,\n whileHover,\n onHoverStart,\n onHoverEnd,\n whileTap,\n onTapStart,\n onTapEnd,\n onTapCancel,\n onAnimationStart,\n onAnimationEnd,\n ...restProps\n } = props\n // account for standard transition or with animating values\n const transitionWithEase = getEasingTransition(transition)\n\n // get framer motion's DOM primitive counterpart (i.e. motion.div)\n const Component = React.useMemo(\n () => createDomMotionComponent(as) as MotionComponent,\n [as]\n )\n if (isMotionDisabled()) {\n return (\n <ComponentWithoutMotion\n {...props}\n ref={forwardedRef}\n component={Component}\n />\n )\n }\n\n return (\n <Component\n {...restProps}\n ref={forwardedRef}\n initial={initial}\n animate={animate}\n exit={exit}\n transition={transitionWithEase}\n whileHover={whileHover}\n onHoverStart={onHoverStart}\n onHoverEnd={onHoverEnd}\n whileTap={whileTap}\n onTapStart={onTapStart}\n onTap={onTapEnd}\n onTapCancel={onTapCancel}\n onAnimationStart={onAnimationStart}\n onAnimationComplete={onAnimationEnd}\n />\n )\n }\n)\n","import * as React from 'react'\nimport { AnimatePresence } from 'framer-motion'\nimport { isMotionDisabled } from '../utils'\nimport { Custom } from '../types'\n\ninterface Props {\n /**\n * When a component is removed, there’s no longer a chance to update its\n * props. So if a component’s `exit` prop is defined as a dynamic variant and\n * you want to pass a new `custom` prop, you can do so via `MotionPresence`.\n * This will ensure all leaving components animate using the latest data.\n */\n custom?: Custom\n /**\n * If set to `true`, `MotionPresence` will only render one component at a\n * time. The exiting component will finish its exit animation before the\n * entering component is rendered.\n */\n exitBeforeEnter?: boolean\n /* Enable or disable initial animations on children that are present when the component is first rendered */\n initial?: boolean\n /* Fires when all exiting nodes have completed animating out */\n onExit?: () => void\n}\n\n/**\n * Allows components to animate out when they're removed from the React tree\n */\nexport const MotionPresence: React.FunctionComponent<Props> = ({\n children,\n custom,\n exitBeforeEnter = false,\n initial = true,\n onExit,\n}) => {\n if (isMotionDisabled()) return <>{children}</>\n\n return (\n <AnimatePresence\n custom={custom}\n exitBeforeEnter={exitBeforeEnter}\n initial={initial}\n onExitComplete={onExit}\n >\n {children}\n </AnimatePresence>\n )\n}\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","var rHyphen = /-(.)/g;\nexport default function camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"bsPrefix\", \"as\"];\nimport classNames from 'classnames';\nimport camelize from 'dom-helpers/camelize';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\n\nvar pascalCase = function pascalCase(str) {\n return str[0].toUpperCase() + camelize(str).slice(1);\n};\n\n// TODO: emstricten & fix the typing here! `createWithBsPrefix<TElementType>...`\nexport default function createWithBsPrefix(prefix, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? pascalCase(prefix) : _ref$displayName,\n Component = _ref.Component,\n defaultProps = _ref.defaultProps;\n\n var BsComponent = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {\n var className = _ref2.className,\n bsPrefix = _ref2.bsPrefix,\n _ref2$as = _ref2.as,\n Tag = _ref2$as === void 0 ? Component || 'div' : _ref2$as,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: ref,\n className: classNames(className, resolvedPrefix)\n }, props));\n });\n BsComponent.defaultProps = defaultProps;\n BsComponent.displayName = displayName;\n return BsComponent;\n}","var unresolvedJobs = new Set();\nfunction pushJob(stack, job, pointer) {\n if (!stack[pointer])\n stack[pointer] = [];\n stack[pointer].push(job);\n}\nfunction batchLayout(callback) {\n unresolvedJobs.add(callback);\n return function () { return unresolvedJobs.delete(callback); };\n}\nfunction flushLayout() {\n if (!unresolvedJobs.size)\n return;\n var pointer = 0;\n var reads = [[]];\n var writes = [];\n var setRead = function (job) { return pushJob(reads, job, pointer); };\n var setWrite = function (job) {\n pushJob(writes, job, pointer);\n pointer++;\n };\n /**\n * Resolve jobs into their array stacks\n */\n unresolvedJobs.forEach(function (callback) {\n callback(setRead, setWrite);\n pointer = 0;\n });\n unresolvedJobs.clear();\n /**\n * Execute jobs\n */\n var numStacks = writes.length;\n for (var i = 0; i <= numStacks; i++) {\n reads[i] && reads[i].forEach(executeJob);\n writes[i] && writes[i].forEach(executeJob);\n }\n}\nvar executeJob = function (job) { return job(); };\n\nexport { batchLayout, flushLayout };\n","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\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) {\n return f != null;\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) return f;\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 // @ts-ignore\n acc.apply(this, args); // @ts-ignore\n\n f.apply(this, args);\n };\n }, null);\n}\n\nexport default createChainedFunction;","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : PropTypes.instanceOf(Element)\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","/* eslint-disable no-param-reassign */\nimport {\n setTelemetry,\n reportException,\n getPerformance,\n} from '../telemetry/telemetry'\nconst i18nLinks = {\n url_paths: {\n // Terms of Use is deprecated\n // Terms & Conditions\n term: {\n de: 'unternehmen/agb',\n es: 'empresa/condiciones-de-uso/web',\n es_mx: 'compania/condiciones-de-uso/web',\n fr: 'conditions-generales-d-utilisation',\n fr_ca: 'conditions-generales-d-utilisation',\n ja: 'company/terms-and-conditions/web',\n pt_br: 'termos-e-condicoes',\n pt: 'termos-e-condicoes',\n en_au: 'company/terms-and-conditions/web',\n en_gb: 'company/terms-and-conditions/web',\n en_ca: 'company/terms-and-conditions/web',\n _: 'company/terms-and-conditions/web',\n },\n // Terms of Use is deprecated but\n // iframe Terms & Conditions is not ready yet\n iterm: {\n de: 'iframe/unternehmen/agb',\n es: 'iframe/empresa/condiciones-de-uso/web',\n es_mx: 'iframe/compania/condiciones-de-uso/web',\n fr: 'iframe/conditions-generales-d-utilisation',\n fr_ca: 'iframe/conditions-generales-d-utilisation',\n ja: 'iframe/company/terms-and-conditions/web',\n pt_br: 'iframe/termos-e-condicoes',\n pt: 'iframe/termos-e-condicoes',\n en_au: 'iframe/company/terms-and-conditions/web',\n en_gb: 'iframe/company/terms-and-conditions/web',\n en_ca: 'iframe/company/terms-and-conditions/web',\n _: 'iframe/company/terms-of-use',\n },\n privacy: {\n de: 'unternehmen/datenschutz',\n es: 'empresa/pol%C3%ADtica-de-privacidad',\n es_mx: 'compania/politica-de-privacidad',\n fr: 'societe/politique-de-confidentialite',\n fr_ca: 'societe/politique-de-confidentialite',\n ja: 'company/privacy-policy',\n nl: 'bedrijf/privacybeleid',\n pt_br: 'politica-de-privacidade',\n pt: 'politica-de-privacidade',\n en_au: 'company/privacy-policy',\n en_gb: 'company/privacy-policy',\n en_ca: 'company/privacy-policy',\n _: 'company/privacy-policy',\n },\n iprivacy: {\n de: 'iframe/unternehmen/datenschutz',\n es: 'iframe/empresa/pol%C3%ADtica-de-privacidad',\n es_mx: 'iframe/compania/politica-de-privacidad',\n fr: 'iframe/societe/politique-de-confidentialite',\n fr_ca: 'iframe/societe/politique-de-confidentialite',\n ja: 'iframe/company/privacy-policy',\n nl: 'iframe/bedrijf/privacybeleid',\n pt_br: 'iframe/politica-de-privacidade',\n pt: 'iframe/politica-de-privacidade',\n en_au: 'iframe/company/privacy-policy',\n en_gb: 'iframe/company/privacy-policy',\n en_ca: 'iframe/company/privacy-policy',\n _: 'iframe/company/privacy-policy',\n },\n ip: {\n de: 'unternehmen/geistiges_eigentum',\n fr: 'IP',\n fr_ca: 'IP',\n en_au: 'IP',\n en_gb: 'IP',\n en_ca: 'IP',\n _: 'IP',\n },\n iip: {\n fr: 'iframe/ip',\n fr_ca: 'iframe/ip',\n en_au: 'iframe/ip',\n en_gb: 'iframe/ip',\n en_ca: 'iframe/ip',\n _: 'iframe/IP',\n },\n support: {\n de: 'de/contactSupport',\n es: 'es/contactSupport',\n es_mx: 'es/contactSupport',\n fr: 'fr/contactSupport',\n fr_ca: 'fr/contactSupport',\n ja: 'jp/contactSupport',\n pt_br: 'br/contactSupport',\n pt: 'br/contactSupport',\n _: 'contactSupport',\n },\n ariadnext_aes: {\n fr: 'sites/default/files/gtu_fr-aes.pdf',\n fr_ca: 'sites/default/files/gtu_fr-aes.pdf',\n _: 'conditions-generales-d-utilisation/GTU-ID-Check-for-AES-EN',\n },\n ariadnext_qes: {\n fr: 'sites/default/files/gtu_fr-qes.pdf',\n fr_ca: 'sites/default/files/gtu_fr-qes.pdf',\n _: 'conditions-generales-d-utilisation/GTU-ID-Check-In-Person-for-QES-EN',\n },\n idv_eu_adv: {\n fr: 'conditions-generales-d-utilisation/GTU-EU-Advanced-with-IDV-FR',\n fr_ca: 'conditions-generales-d-utilisation/GTU-EU-Advanced-with-IDV-FR',\n _: 'conditions-generales-d-utilisation/GTU-EU-Advanced-with-IDV-EN',\n },\n },\n radmin_new_doc_to_guide_map: {\n 'api-keys': 'api-and-keys',\n 'audit-logs': 'account-audit-logs',\n 'billing-usage': 'billing-and-usage-information',\n 'branding-admin': 'configure-branding',\n comments: 'comments-settings',\n 'custom-fields-admin': 'custom-fields',\n 'remind-expire-defaults': 'reminders-and-expirations',\n 'welcome-admin': 'welcome-to-administration',\n },\n replace_language_to: {\n _: {\n de: 'de',\n fr: 'fr',\n fr_ca: 'fr',\n ja: 'jp',\n pt_br: 'br',\n pt: 'br',\n en_au: 'en',\n en_gb: 'en',\n en_ca: 'en',\n _: 'en',\n },\n dses: {\n de: 'de',\n fr: 'fr',\n fr_ca: 'fr',\n ja: 'jp',\n pt_br: 'bp',\n pt: 'bp',\n en_au: 'en',\n en_gb: 'en',\n en_ca: 'en',\n _: 'en',\n },\n idnow: {\n de: '6',\n es: '16',\n fr: '11',\n fr_ca: '11',\n it: '21',\n _: '1',\n },\n defrjp: {\n de: 'de',\n fr: 'fr',\n fr_ca: 'fr',\n ja: 'jp',\n en_au: 'en',\n en_gb: 'en',\n en_ca: 'en',\n _: 'en',\n },\n support: {\n de: 'de',\n es: 'es',\n es_mx: 'es',\n fr: 'fr',\n fr_ca: 'fr',\n ja: 'jp',\n pt_br: 'br',\n pt: 'br',\n en_au: 'en',\n en_gb: 'en',\n en_ca: 'en',\n _: 'en',\n },\n },\n to_be_localized_pages: [\n {\n base_url: 'https://support.docusign.com/',\n url_paths: [\n 'login?from=/en/guides/ndse-admin-guide',\n 'login?from=/en/guides/ndse-user-guide',\n 'login?from=/en/guides/dses-user-guide',\n 'en/guides/ndse-admin-guide',\n 'en/guides/org-admin-guide',\n 'en/guides/ndse-user-guide',\n 'en/guides/dses-user-guide',\n 'en/guides/managing-payment',\n 'en/contactSupport',\n 'en/knowledgeSearch',\n 'en/articles/',\n 'en/releasenotes',\n ],\n regex: /\\/en\\//,\n replacement: '/{lang}/',\n languages: '_',\n },\n {\n base_url: 'https://support.docusign.com/',\n url_paths: [\n 'login?from=/guides/ndse-admin-guide',\n 'login?from=/guides/ndse-user-guide',\n 'login?from=/guides/dses-user-guide',\n 'guides/ndse-admin-guide',\n 'guides/ndse-user-guide',\n 'guides/dses-user-guide',\n ],\n regex: /\\/guides\\//,\n replacement: '/{lang}/guides/',\n languages: '_',\n },\n {\n base_url: 'https://support.docusign.com/',\n url_paths: [\n 'articles/sms-service',\n 'articles/Get-Started-with-DocuSign-eSignature-part-one',\n 'articles/Welcome-to-DocuSign-New-User-Onboarding',\n ],\n regex: /\\/articles\\//,\n replacement: '/{lang}/articles/',\n languages: 'defrjp',\n },\n {\n base_url: 'https://support.docusign.com/',\n url_paths: ['releasenotes'],\n regex: /\\/releasenotes/,\n replacement: '/{lang}/releasenotes',\n languages: '_',\n },\n {\n base_url: 'https://support.docusign.com',\n url_paths: [''],\n equal: true,\n regex: /.com/,\n replacement: '.com/{lang}/',\n languages: 'support',\n },\n {\n base_url: 'https://support.docusign.com/',\n url_paths: ['en/'],\n equal: true,\n regex: /\\/en\\//,\n replacement: '/{lang}/',\n languages: 'support',\n },\n {\n base_url: 'https://support.docusign.com/',\n url_paths: ['', 'contactSupport'],\n equal: true,\n regex: /.com/,\n replacement: '.com/{lang}',\n languages: 'support',\n },\n {\n base_url: 'https://docs.docusign.com/',\n url_paths: ['supportdocs/simplified-sending-guide/Content/'],\n regex: /guide\\/Content\\//,\n replacement: 'guide-{lang}/Content/',\n languages: 'dses',\n },\n {\n base_url: 'https://ps-ws.dsf.docusign.net/',\n url_paths: [\n 'ds-server/psm/resources/psm-idnow/idnow_3XIDNDS/pdf/GTU.pdf#page=',\n ],\n regex: /page=[0-9]+/,\n replacement: 'page={lang}',\n languages: 'idnow',\n },\n ],\n localized_license_pages: [\n {\n base_url: 'https://www.docusign.com/',\n url_paths: {\n 'company/terms-and-conditions/web': 'term',\n 'company/terms-of-use': 'term',\n 'company/privacy-policy': 'privacy',\n IP: 'ip',\n 'iframe/company/terms-of-use': 'iterm',\n 'iframe/company/privacy-policy': 'iprivacy',\n 'iframe/IP': 'iip',\n },\n },\n {\n base_url: 'https://www.docusign.fr/',\n url_paths: {\n 'conditions-generales-d-utilisation/GTU-ID-Check-for-AES-EN':\n 'ariadnext_aes',\n 'conditions-generales-d-utilisation/GTU-ID-Check-In-Person-for-QES-EN':\n 'ariadnext_qes',\n 'conditions-generales-d-utilisation/GTU-EU-Advanced-with-IDV-EN':\n 'idv_eu_adv',\n },\n },\n ],\n countryToLanguage: {\n au: 'en_au',\n bg: 'bg',\n br: 'pt_br',\n ca: 'en_ca',\n cn: 'zh_cn',\n cz: 'cs',\n dk: 'da',\n de: 'de',\n gb: 'en_gb',\n gr: 'el',\n us: 'en',\n es: 'es',\n ee: 'et',\n ir: 'fa',\n fi: 'fi',\n fr: 'fr',\n il: 'he',\n in: 'hi',\n hr: 'hr',\n hu: 'hu',\n id: 'id',\n it: 'it',\n jp: 'ja',\n kr: 'ko',\n lt: 'lt',\n lv: 'lv',\n my: 'ms',\n mx: 'es_mx',\n no: 'nb',\n nl: 'nl',\n pl: 'pl',\n pt: 'pt',\n ro: 'ro',\n ru: 'ru',\n sk: 'sk',\n si: 'sl',\n se: 'sv',\n th: 'th',\n tr: 'tr',\n tw: 'zh_cn',\n ua: 'uk',\n vn: 'vi',\n },\n baseURL_keys: {\n ariadnext_aes: 'fr',\n ariadnext_qes: 'fr',\n idv_eu_adv: 'fr',\n support: 'support',\n },\n baseURLs: {\n idnow: 'https://ps-ws.dsf.docusign.net/',\n support: 'https://support.docusign.com/',\n de: 'https://www.docusign.de/',\n es: 'https://www.docusign.com.es/',\n es_mx: 'https://www.docusign.mx/',\n fr: 'https://www.docusign.fr/',\n fr_ca: 'https://www.docusign.fr/',\n ja: 'https://www.docusign.jp/',\n nl: 'https://www.docusign.nl/',\n pt_br: 'https://www.docusign.com.br/',\n pt: 'https://www.docusign.com.br/',\n en_au: 'https://www.docusign.com.au/',\n en_gb: 'https://www.docusign.co.uk/',\n en_ca: 'https://www.docusign.ca/',\n _: 'https://www.docusign.com/',\n },\n supportToHelpCenterUrls: {\n // NDSE\n 'ndse-user-guide-view-document-details':\n 'hfx1578456670511/page/otr1578456349846.html',\n 'ndse-user-guide-using-bulk-send':\n 'hfx1578456670511/page/nlq1578456393591.html',\n 'ndse-user-guide-change-your-password':\n 'hfx1578456670511/page/tfs1578456454393.html',\n 'ndse-user-guide-create-a-bulk-send-recipient-list':\n 'hfx1578456670511/page/byv1578456392556.html',\n 'ndse-user-guide-manage-automatic-template-matching':\n 'hfx1578456670511/page/fxo1578456612662.html',\n 'ndse-user-guide-manage-connected-apps':\n 'hfx1578456670511/page/qsm1578456669396.html',\n 'ndse-user-guide-manage-contacts':\n 'hfx1578456670511/page/twh1578456324503.html',\n 'ndse-user-guide-manage-custom-fields':\n 'hfx1578456670511/page/mns1578456285568.html',\n 'ndse-user-guide-manage-notifications':\n 'hfx1578456670511/page/dhc1578456326388.html',\n 'ndse-user-guide-manage-your-identity':\n 'hfx1578456670511/page/mss1578456650494.html',\n 'ndse-user-guide-manage-your-stamps':\n 'hfx1578456670511/page/dys1578456666697.html',\n 'ndse-user-guide-managing-documents':\n 'hfx1578456670511/page/ghu1578456429097.html',\n 'ndse-user-guide-multiple-recipient-bulk-send':\n 'hfx1578456670511/page/kjz1578456386508.html',\n 'ndse-user-guide-send-a-document':\n 'hfx1578456670511/page/lak1578456412477.html',\n 'ndse-user-guide-system-requirements':\n 'hfx1578456670511/page/oiu1578456458990.html',\n 'ndse-user-guide-using-reports':\n 'hfx1578456670511/page/wou1578456440763.html',\n 'ndse-user-guide-view-and-modify-reports':\n 'hfx1578456670511/page/ekf1578456440590.html',\n 'ndse-user-guide-switch-accounts':\n 'hfx1578456670511/page/gmc1578456462118.html',\n 'ndse-user-guide-drawing-fields':\n 'hfx1578456670511/page/ilm1598911310881.html',\n 'ndse-user-guide-working-with-templates':\n 'hfx1578456670511/page/dqj1578456412286.html',\n releasenotes:\n '?labelkey=eSignature&name_filter.field=title&name_filter.value=Release+Notes&rpp=10&sort.field=last_revised&sort.value=dec',\n },\n}\n\nfunction convertSupportToHelp(url: string, language: string): string | null {\n if (!url || !language) return null\n /* eslint-disable no-nested-ternary */\n const langCode =\n language.indexOf('es') === 0\n ? 'es-XM'\n : language.indexOf('nl') === 0\n ? 'nl-NL'\n : null\n if (!langCode) return null\n let path = url\n .toLowerCase()\n .replace('https://support.docusign.com', '')\n .replace('/login?from=', '')\n .replace('/en/', '/')\n .replace('/guides/', '')\n .replace(/^\\//, '')\n .split('?')[0]\n path = i18nLinks.supportToHelpCenterUrls[path]\n if (!path) return null\n return `https://help.docusign.com/${langCode}/bundle/${path}`.replace(\n 'bundle/?',\n 'bundle?'\n )\n}\n\nfunction localizeURL(url: string, language: string): string {\n if (language === 'en') return url\n const radminNewDocUrl =\n 'https://www.docusign.com/support/new/documentation/ndse-admin-guide/'\n if (url.toLowerCase().indexOf(radminNewDocUrl) === 0) {\n const key = url.replace(radminNewDocUrl, '')\n url =\n 'https://support.docusign.com/guides/ndse-admin-guide-' +\n (i18nLinks.radmin_new_doc_to_guide_map[key] || key)\n }\n const helpUrl = convertSupportToHelp(url, language)\n if (helpUrl !== null) {\n return helpUrl\n }\n let info\n for (const i in i18nLinks.to_be_localized_pages) {\n info = i18nLinks.to_be_localized_pages[i]\n for (const j in info.url_paths) {\n const path = info.base_url + info.url_paths[j].toLowerCase()\n if (\n url.toLowerCase().indexOf(path) === 0 &&\n !(info.equal && url.length !== path.length)\n ) {\n const languageTo =\n i18nLinks.replace_language_to[info.languages] ||\n i18nLinks.replace_language_to['_']\n const lang = languageTo[language] || languageTo['_']\n const replacement = info.replacement.replace('{lang}', lang)\n return info.equal && lang === 'en'\n ? url\n : url.replace(info.regex, replacement)\n }\n }\n }\n for (const ii in i18nLinks.localized_license_pages) {\n info = i18nLinks.localized_license_pages[ii]\n for (const path in info.url_paths) {\n if (url.toLowerCase().indexOf(info.base_url + path.toLowerCase()) === 0) {\n return info.url_paths[path]\n }\n }\n }\n return url\n}\n\nfunction _getLink(topic: string, language: string | undefined = 'en'): string {\n const lang = language.replace('-', '_').toLowerCase()\n if (topic && topic.indexOf('https://') === 0) {\n const result = localizeURL(topic, lang)\n if (lang === 'en' || result.indexOf('https://') === 0) {\n return result\n }\n topic = result // try topic by the result\n }\n const paths = i18nLinks.url_paths[topic] || i18nLinks.url_paths['term']\n if (paths[lang]) {\n if (i18nLinks.baseURL_keys[topic]) {\n return i18nLinks.baseURLs[i18nLinks.baseURL_keys[topic]] + paths[lang]\n }\n return i18nLinks.baseURLs[lang] + paths[lang]\n }\n return i18nLinks.baseURLs[i18nLinks.baseURL_keys[topic] || '_'] + paths['_']\n}\n\nfunction _getLocalizableURLs(): string[] {\n const localizableList = []\n for (const key in i18nLinks.baseURLs) {\n if (localizableList.indexOf(i18nLinks.baseURLs[key]) < 0) {\n localizableList.push(i18nLinks.baseURLs[key])\n }\n }\n return localizableList\n}\n\nexport { getLink, getLocalizableURLs }\n\nfunction getLink(topic: string, language: string | undefined): string {\n try {\n const t0 = getPerformance()\n const result = _getLink(topic, language)\n setTelemetry(getLink.name, t0)\n return result\n } catch (ex) {\n reportException(getLink.name, ex)\n return topic\n }\n}\nfunction getLocalizableURLs(): string[] {\n try {\n const t0 = getPerformance()\n const result = _getLocalizableURLs()\n setTelemetry(getLocalizableURLs.name, t0)\n return result\n } catch (ex) {\n reportException(getLocalizableURLs.name, ex)\n return []\n }\n}\n","import { FooterLink } from './types'\nimport { getLink } from '@ds/i18nlayer'\nimport type { LinkTarget } from '@ds/ui/types/components/Link'\n\n// REMINDER: textId is used to lookup i18n translation\nexport const standardFooterLinks: { [key: string]: FooterLink } = {\n CONTACT_US: {\n id: 'CONTACT_US',\n textId: 'Contact Us',\n url: 'https://support.docusign.com/contactSupport',\n },\n TERMS: {\n id: 'TERMS',\n textId: 'Terms of Use',\n url: (locale: string) => getLink('term', locale),\n },\n PRIVACY: {\n id: 'PRIVACY',\n textId: 'Privacy',\n url: (locale: string) => getLink('privacy', locale),\n },\n INTELLECTUAL_PROPERTY: {\n id: 'INTELLECTUAL_PROPERTY',\n textId: 'Intellectual Property',\n url: (locale: string) => getLink('ip', locale),\n },\n XDTM: {\n id: 'XDTM',\n textId: 'xDTM Compliant',\n url: 'https://xdtm.org/',\n },\n TRUST: {\n id: 'TRUST',\n textId: 'FOOTER:TRUST',\n url: 'https://www.docusign.com/trust',\n },\n}\n\nexport const defaultFooterLinks: FooterLink[] = [\n standardFooterLinks.CONTACT_US,\n standardFooterLinks.TERMS,\n standardFooterLinks.PRIVACY,\n standardFooterLinks.INTELLECTUAL_PROPERTY,\n standardFooterLinks.TRUST,\n]\n\nexport function defaultLinkRel() {\n return 'noopener'\n}\n\nexport function defaultLinkTarget(): LinkTarget {\n return '_blank'\n}\n","var matchesImpl;\n/**\n * Checks if a given element matches a selector.\n * \n * @param node the element\n * @param selector the selector\n */\n\nexport default function matches(node, selector) {\n if (!matchesImpl) {\n var body = document.body;\n var nativeMatch = body.matches || body.matchesSelector || body.webkitMatchesSelector || body.mozMatchesSelector || body.msMatchesSelector;\n\n matchesImpl = function matchesImpl(n, s) {\n return nativeMatch.call(n, s);\n };\n }\n\n return matchesImpl(node, selector);\n}","var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\n/**\n * Runs `querySelectorAll` on a given element.\n * \n * @param element the element\n * @param selector the selector\n */\n\nexport default function qsa(element, selector) {\n return toArray(element.querySelectorAll(selector));\n}","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","/* eslint-disable no-return-assign */\nimport canUseDOM from './canUseDOM';\nexport var optionsSupported = false;\nexport var onceSupported = false;\n\ntry {\n var options = {\n get passive() {\n return optionsSupported = true;\n },\n\n get once() {\n // eslint-disable-next-line no-multi-assign\n return onceSupported = optionsSupported = true;\n }\n\n };\n\n if (canUseDOM) {\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, true);\n }\n} catch (e) {\n /* */\n}\n\n/**\n * An `addEventListener` ponyfill, supports the `once` option\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction addEventListener(node, eventName, handler, options) {\n if (options && typeof options !== 'boolean' && !onceSupported) {\n var once = options.once,\n capture = options.capture;\n var wrappedHandler = handler;\n\n if (!onceSupported && once) {\n wrappedHandler = handler.__once || function onceHandler(event) {\n this.removeEventListener(eventName, onceHandler, capture);\n handler.call(this, event);\n };\n\n handler.__once = wrappedHandler;\n }\n\n node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);\n }\n\n node.addEventListener(eventName, handler, options);\n}\n\nexport default addEventListener;","import useEventListener from './useEventListener';\nimport { useCallback } from 'react';\n\n/**\n * Attaches an event handler outside directly to the `document`,\n * bypassing the react synthetic event system.\n *\n * ```ts\n * useGlobalListener('keydown', (event) => {\n * console.log(event.key)\n * })\n * ```\n *\n * @param event The DOM event name\n * @param handler An event handler\n * @param capture Whether or not to listen during the capture event phase\n */\nexport default function useGlobalListener(event, handler, capture) {\n if (capture === void 0) {\n capture = false;\n }\n\n var documentTarget = useCallback(function () {\n return document;\n }, []);\n return useEventListener(documentTarget, event, handler, capture);\n}","import { useEffect } from 'react';\nimport useEventCallback from './useEventCallback';\n\n/**\n * Attaches an event handler outside directly to specified DOM element\n * bypassing the react synthetic event system.\n *\n * @param element The target to listen for events on\n * @param event The DOM event name\n * @param handler An event handler\n * @param capture Whether or not to listen during the capture event phase\n */\nexport default function useEventListener(eventTarget, event, listener, capture) {\n if (capture === void 0) {\n capture = false;\n }\n\n var handler = useEventCallback(listener);\n useEffect(function () {\n var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;\n target.addEventListener(event, handler, capture);\n return function () {\n return target.removeEventListener(event, handler, capture);\n };\n }, [eventTarget]);\n}","import React from 'react';\nvar DropdownContext = /*#__PURE__*/React.createContext(null);\nexport default DropdownContext;","import { useCallback } from 'react';\nimport useMounted from './useMounted';\n\nfunction useSafeState(state) {\n var isMounted = useMounted();\n return [state[0], useCallback(function (nextState) {\n if (!isMounted()) return;\n return state[1](nextState);\n }, [isMounted, state[1]])];\n}\n\nexport default useSafeState;","import { useRef, useEffect } from 'react';\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n * fetchdata().then((newData) => {\n * if (isMounted()) {\n * setData(newData);\n * }\n * })\n * })\n * ```\n */\n\nexport default function useMounted() {\n var mounted = useRef(true);\n var isMounted = useRef(function () {\n return mounted.current;\n });\n useEffect(function () {\n return function () {\n mounted.current = false;\n };\n }, []);\n return isMounted.current;\n}","import arrow from '@popperjs/core/lib/modifiers/arrow';\nimport computeStyles from '@popperjs/core/lib/modifiers/computeStyles';\nimport eventListeners from '@popperjs/core/lib/modifiers/eventListeners';\nimport flip from '@popperjs/core/lib/modifiers/flip';\nimport hide from '@popperjs/core/lib/modifiers/hide';\nimport offset from '@popperjs/core/lib/modifiers/offset';\nimport popperOffsets from '@popperjs/core/lib/modifiers/popperOffsets';\nimport preventOverflow from '@popperjs/core/lib/modifiers/preventOverflow';\nimport { placements } from '@popperjs/core/lib/enums';\nimport { popperGenerator } from '@popperjs/core/lib/popper-base'; // For the common JS build we will turn this file into a bundle with no imports.\n// This is b/c the Popper lib is all esm files, and would break in a common js only environment\n\nexport var createPopper = popperGenerator({\n defaultModifiers: [hide, popperOffsets, computeStyles, eventListeners, offset, flip, preventOverflow, arrow]\n});\nexport { placements };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport useSafeState from '@restart/hooks/useSafeState';\nimport { createPopper } from './popper';\n\nvar initialPopperStyles = function initialPopperStyles(position) {\n return {\n position: position,\n top: '0',\n left: '0',\n opacity: '0',\n pointerEvents: 'none'\n };\n};\n\nvar disabledApplyStylesModifier = {\n name: 'applyStyles',\n enabled: false\n}; // until docjs supports type exports...\n\nvar ariaDescribedByModifier = {\n name: 'ariaDescribedBy',\n enabled: true,\n phase: 'afterWrite',\n effect: function effect(_ref) {\n var state = _ref.state;\n return function () {\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper;\n\n if ('removeAttribute' in reference) {\n var ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(function (id) {\n return id.trim() !== popper.id;\n });\n if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));\n }\n };\n },\n fn: function fn(_ref2) {\n var _popper$getAttribute;\n\n var state = _ref2.state;\n var _state$elements2 = state.elements,\n popper = _state$elements2.popper,\n reference = _state$elements2.reference;\n var role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();\n\n if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {\n var ids = reference.getAttribute('aria-describedby');\n\n if (ids && ids.split(',').indexOf(popper.id) !== -1) {\n return;\n }\n\n reference.setAttribute('aria-describedby', ids ? ids + \",\" + popper.id : popper.id);\n }\n }\n};\nvar EMPTY_MODIFIERS = [];\n/**\n * Position an element relative some reference element using Popper.js\n *\n * @param referenceElement\n * @param popperElement\n * @param {object} options\n * @param {object=} options.modifiers Popper.js modifiers\n * @param {boolean=} options.enabled toggle the popper functionality on/off\n * @param {string=} options.placement The popper element placement relative to the reference element\n * @param {string=} options.strategy the positioning strategy\n * @param {boolean=} options.eventsEnabled have Popper listen on window resize events to reposition the element\n * @param {function=} options.onCreate called when the popper is created\n * @param {function=} options.onUpdate called when the popper is updated\n *\n * @returns {UsePopperState} The popper state\n */\n\nfunction usePopper(referenceElement, popperElement, _temp) {\n var _ref3 = _temp === void 0 ? {} : _temp,\n _ref3$enabled = _ref3.enabled,\n enabled = _ref3$enabled === void 0 ? true : _ref3$enabled,\n _ref3$placement = _ref3.placement,\n placement = _ref3$placement === void 0 ? 'bottom' : _ref3$placement,\n _ref3$strategy = _ref3.strategy,\n strategy = _ref3$strategy === void 0 ? 'absolute' : _ref3$strategy,\n _ref3$modifiers = _ref3.modifiers,\n modifiers = _ref3$modifiers === void 0 ? EMPTY_MODIFIERS : _ref3$modifiers,\n config = _objectWithoutPropertiesLoose(_ref3, [\"enabled\", \"placement\", \"strategy\", \"modifiers\"]);\n\n var popperInstanceRef = useRef();\n var update = useCallback(function () {\n var _popperInstanceRef$cu;\n\n (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();\n }, []);\n var forceUpdate = useCallback(function () {\n var _popperInstanceRef$cu2;\n\n (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();\n }, []);\n\n var _useSafeState = useSafeState(useState({\n placement: placement,\n update: update,\n forceUpdate: forceUpdate,\n attributes: {},\n styles: {\n popper: initialPopperStyles(strategy),\n arrow: {}\n }\n })),\n popperState = _useSafeState[0],\n setState = _useSafeState[1];\n\n var updateModifier = useMemo(function () {\n return {\n name: 'updateStateModifier',\n enabled: true,\n phase: 'write',\n requires: ['computeStyles'],\n fn: function fn(_ref4) {\n var state = _ref4.state;\n var styles = {};\n var attributes = {};\n Object.keys(state.elements).forEach(function (element) {\n styles[element] = state.styles[element];\n attributes[element] = state.attributes[element];\n });\n setState({\n state: state,\n styles: styles,\n attributes: attributes,\n update: update,\n forceUpdate: forceUpdate,\n placement: state.placement\n });\n }\n };\n }, [update, forceUpdate, setState]);\n useEffect(function () {\n if (!popperInstanceRef.current || !enabled) return;\n popperInstanceRef.current.setOptions({\n placement: placement,\n strategy: strategy,\n modifiers: [].concat(modifiers, [updateModifier, disabledApplyStylesModifier])\n }); // intentionally NOT re-running on new modifiers\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [strategy, placement, updateModifier, enabled]);\n useEffect(function () {\n if (!enabled || referenceElement == null || popperElement == null) {\n return undefined;\n }\n\n popperInstanceRef.current = createPopper(referenceElement, popperElement, _extends({}, config, {\n placement: placement,\n strategy: strategy,\n modifiers: [].concat(modifiers, [ariaDescribedByModifier, updateModifier])\n }));\n return function () {\n if (popperInstanceRef.current != null) {\n popperInstanceRef.current.destroy();\n popperInstanceRef.current = undefined;\n setState(function (s) {\n return _extends({}, s, {\n attributes: {},\n styles: {\n popper: initialPopperStyles(strategy)\n }\n });\n });\n }\n }; // This is only run once to _create_ the popper\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, referenceElement, popperElement]);\n return popperState;\n}\n\nexport default usePopper;","/**\n * A `removeEventListener` ponyfill\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction removeEventListener(node, eventName, handler, options) {\n var capture = options && typeof options !== 'boolean' ? options.capture : options;\n node.removeEventListener(eventName, handler, capture);\n\n if (handler.__once) {\n node.removeEventListener(eventName, handler.__once, capture);\n }\n}\n\nexport default removeEventListener;","import addEventListener from './addEventListener';\nimport removeEventListener from './removeEventListener';\n\nfunction listen(node, eventName, handler, options) {\n addEventListener(node, eventName, handler, options);\n return function () {\n removeEventListener(node, eventName, handler, options);\n };\n}\n\nexport default listen;","import ownerDocument from 'dom-helpers/ownerDocument';\nimport safeFindDOMNode from './safeFindDOMNode';\nexport default (function (componentOrElement) {\n return ownerDocument(safeFindDOMNode(componentOrElement));\n});","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ReactDOM from 'react-dom';\nexport default function safeFindDOMNode(componentOrElement) {\n if (componentOrElement && 'setState' in componentOrElement) {\n return ReactDOM.findDOMNode(componentOrElement);\n }\n\n return componentOrElement != null ? componentOrElement : null;\n}","import contains from 'dom-helpers/contains';\nimport listen from 'dom-helpers/listen';\nimport { useCallback, useEffect, useRef } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport warning from 'warning';\nimport ownerDocument from './ownerDocument';\nvar escapeKeyCode = 27;\n\nvar noop = function noop() {};\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nvar getRefTarget = function getRefTarget(ref) {\n return ref && ('current' in ref ? ref.current : ref);\n};\n\n/**\n * The `useRootClose` hook registers your callback on the document\n * when rendered. Powers the `<Overlay/>` component. This is used achieve modal\n * style behavior where your callback is triggered when the user tries to\n * interact with the rest of the document or hits the `esc` key.\n *\n * @param {Ref<HTMLElement>| HTMLElement} ref The element boundary\n * @param {function} onRootClose\n * @param {object=} options\n * @param {boolean=} options.disabled\n * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\nfunction useRootClose(ref, onRootClose, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n disabled = _ref.disabled,\n _ref$clickTrigger = _ref.clickTrigger,\n clickTrigger = _ref$clickTrigger === void 0 ? 'click' : _ref$clickTrigger;\n\n var preventMouseRootCloseRef = useRef(false);\n var onClose = onRootClose || noop;\n var handleMouseCapture = useCallback(function (e) {\n var currentTarget = getRefTarget(ref);\n warning(!!currentTarget, 'RootClose captured a close event but does not have a ref to compare it to. ' + 'useRootClose(), should be passed a ref that resolves to a DOM node');\n preventMouseRootCloseRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains(currentTarget, e.target);\n }, [ref]);\n var handleMouse = useEventCallback(function (e) {\n if (!preventMouseRootCloseRef.current) {\n onClose(e);\n }\n });\n var handleKeyUp = useEventCallback(function (e) {\n if (e.keyCode === escapeKeyCode) {\n onClose(e);\n }\n });\n useEffect(function () {\n if (disabled || ref == null) return undefined; // Store the current event to avoid triggering handlers immediately\n // https://github.com/facebook/react/issues/20074\n\n var currentEvent = window.event;\n var doc = ownerDocument(getRefTarget(ref)); // Use capture for this listener so it fires before React's listener, to\n // avoid false positives in the contains() check below if the target DOM\n // element is removed in the React mouse callback.\n\n var removeMouseCaptureListener = listen(doc, clickTrigger, handleMouseCapture, true);\n var removeMouseListener = listen(doc, clickTrigger, function (e) {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n\n handleMouse(e);\n });\n var removeKeyupListener = listen(doc, 'keyup', function (e) {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n\n handleKeyUp(e);\n });\n var mobileSafariHackListeners = [];\n\n if ('ontouchstart' in doc.documentElement) {\n mobileSafariHackListeners = [].slice.call(doc.body.children).map(function (el) {\n return listen(el, 'mousemove', noop);\n });\n }\n\n return function () {\n removeMouseCaptureListener();\n removeMouseListener();\n removeKeyupListener();\n mobileSafariHackListeners.forEach(function (remove) {\n return remove();\n });\n };\n }, [ref, disabled, clickTrigger, handleMouseCapture, handleMouse, handleKeyUp]);\n}\n\nexport default useRootClose;","/* eslint-disable no-bitwise, no-cond-assign */\n\n/**\n * Checks if an element contains another given element.\n * \n * @param context the context element\n * @param node the element to check\n */\nexport default function contains(context, node) {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n if (context.contains) return context.contains(node);\n if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport function toModifierMap(modifiers) {\n var result = {};\n\n if (!Array.isArray(modifiers)) {\n return modifiers || result;\n } // eslint-disable-next-line no-unused-expressions\n\n\n modifiers == null ? void 0 : modifiers.forEach(function (m) {\n result[m.name] = m;\n });\n return result;\n}\nexport function toModifierArray(map) {\n if (map === void 0) {\n map = {};\n }\n\n if (Array.isArray(map)) return map;\n return Object.keys(map).map(function (k) {\n map[k].name = k;\n return map[k];\n });\n}\nexport default function mergeOptionsWithPopperConfig(_ref) {\n var _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow;\n\n var enabled = _ref.enabled,\n enableEvents = _ref.enableEvents,\n placement = _ref.placement,\n flip = _ref.flip,\n offset = _ref.offset,\n fixed = _ref.fixed,\n containerPadding = _ref.containerPadding,\n arrowElement = _ref.arrowElement,\n _ref$popperConfig = _ref.popperConfig,\n popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig;\n var modifiers = toModifierMap(popperConfig.modifiers);\n return _extends({}, popperConfig, {\n placement: placement,\n enabled: enabled,\n strategy: fixed ? 'fixed' : popperConfig.strategy,\n modifiers: toModifierArray(_extends({}, modifiers, {\n eventListeners: {\n enabled: enableEvents\n },\n preventOverflow: _extends({}, modifiers.preventOverflow, {\n options: containerPadding ? _extends({\n padding: containerPadding\n }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options\n }),\n offset: {\n options: _extends({\n offset: offset\n }, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)\n },\n arrow: _extends({}, modifiers.arrow, {\n enabled: !!arrowElement,\n options: _extends({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {\n element: arrowElement\n })\n }),\n flip: _extends({\n enabled: !!flip\n }, modifiers.flip)\n }))\n });\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React, { useContext, useRef } from 'react';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport DropdownContext from './DropdownContext';\nimport usePopper from './usePopper';\nimport useRootClose from './useRootClose';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\n\nvar noop = function noop() {};\n/**\n * @memberOf Dropdown\n * @param {object} options\n * @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection\n * @param {[number, number]} options.offset Define an offset distance between the Menu and the Toggle\n * @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown`\n * @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself.\n * @param {string} options.rootCloseEvent The pointer event to listen for when determining \"clicks outside\" the menu for triggering a close.\n * @param {object} options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook.\n */\n\n\nexport function useDropdownMenu(options) {\n if (options === void 0) {\n options = {};\n }\n\n var context = useContext(DropdownContext);\n\n var _useCallbackRef = useCallbackRef(),\n arrowElement = _useCallbackRef[0],\n attachArrowRef = _useCallbackRef[1];\n\n var hasShownRef = useRef(false);\n var _options = options,\n flip = _options.flip,\n offset = _options.offset,\n rootCloseEvent = _options.rootCloseEvent,\n _options$fixed = _options.fixed,\n fixed = _options$fixed === void 0 ? false : _options$fixed,\n _options$popperConfig = _options.popperConfig,\n popperConfig = _options$popperConfig === void 0 ? {} : _options$popperConfig,\n _options$usePopper = _options.usePopper,\n shouldUsePopper = _options$usePopper === void 0 ? !!context : _options$usePopper;\n var show = (context == null ? void 0 : context.show) == null ? !!options.show : context.show;\n var alignEnd = (context == null ? void 0 : context.alignEnd) == null ? options.alignEnd : context.alignEnd;\n\n if (show && !hasShownRef.current) {\n hasShownRef.current = true;\n }\n\n var handleClose = function handleClose(e) {\n context == null ? void 0 : context.toggle(false, e);\n };\n\n var _ref = context || {},\n drop = _ref.drop,\n setMenu = _ref.setMenu,\n menuElement = _ref.menuElement,\n toggleElement = _ref.toggleElement;\n\n var placement = alignEnd ? 'bottom-end' : 'bottom-start';\n if (drop === 'up') placement = alignEnd ? 'top-end' : 'top-start';else if (drop === 'right') placement = alignEnd ? 'right-end' : 'right-start';else if (drop === 'left') placement = alignEnd ? 'left-end' : 'left-start';\n var popper = usePopper(toggleElement, menuElement, mergeOptionsWithPopperConfig({\n placement: placement,\n enabled: !!(shouldUsePopper && show),\n enableEvents: show,\n offset: offset,\n flip: flip,\n fixed: fixed,\n arrowElement: arrowElement,\n popperConfig: popperConfig\n }));\n\n var menuProps = _extends({\n ref: setMenu || noop,\n 'aria-labelledby': toggleElement == null ? void 0 : toggleElement.id\n }, popper.attributes.popper, {\n style: popper.styles.popper\n });\n\n var metadata = {\n show: show,\n alignEnd: alignEnd,\n hasShown: hasShownRef.current,\n toggle: context == null ? void 0 : context.toggle,\n popper: shouldUsePopper ? popper : null,\n arrowProps: shouldUsePopper ? _extends({\n ref: attachArrowRef\n }, popper.attributes.arrow, {\n style: popper.styles.arrow\n }) : {}\n };\n useRootClose(menuElement, handleClose, {\n clickTrigger: rootCloseEvent,\n disabled: !show\n });\n return [menuProps, metadata];\n}\nvar propTypes = {\n /**\n * A render prop that returns a Menu element. The `props`\n * argument should spread through to **a component that can accept a ref**.\n *\n * @type {Function ({\n * show: boolean,\n * alignEnd: boolean,\n * close: (?SyntheticEvent) => void,\n * placement: Placement,\n * update: () => void,\n * forceUpdate: () => void,\n * props: {\n * ref: (?HTMLElement) => void,\n * style: { [string]: string | number },\n * aria-labelledby: ?string\n * },\n * arrowProps: {\n * ref: (?HTMLElement) => void,\n * style: { [string]: string | number },\n * },\n * }) => React.Element}\n */\n children: PropTypes.func.isRequired,\n\n /**\n * Controls the visible state of the menu, generally this is\n * provided by the parent `Dropdown` component,\n * but may also be specified as a prop directly.\n */\n show: PropTypes.bool,\n\n /**\n * Aligns the dropdown menu to the 'end' of it's placement position.\n * Generally this is provided by the parent `Dropdown` component,\n * but may also be specified as a prop directly.\n */\n alignEnd: PropTypes.bool,\n\n /**\n * Enables the Popper.js `flip` modifier, allowing the Dropdown to\n * automatically adjust it's placement in case of overlap with the viewport or toggle.\n * Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info\n */\n flip: PropTypes.bool,\n usePopper: PropTypes.oneOf([true, false]),\n\n /**\n * A set of popper options and props passed directly to react-popper's Popper component.\n */\n popperConfig: PropTypes.object,\n\n /**\n * Override the default event used by RootCloseWrapper.\n */\n rootCloseEvent: PropTypes.string\n};\nvar defaultProps = {\n usePopper: true\n};\n\n/**\n * Also exported as `<Dropdown.Menu>` from `Dropdown`.\n *\n * @displayName DropdownMenu\n * @memberOf Dropdown\n */\nfunction DropdownMenu(_ref2) {\n var children = _ref2.children,\n options = _objectWithoutPropertiesLoose(_ref2, [\"children\"]);\n\n var _useDropdownMenu = useDropdownMenu(options),\n props = _useDropdownMenu[0],\n meta = _useDropdownMenu[1];\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, meta.hasShown ? children(props, meta) : null);\n}\n\nDropdownMenu.displayName = 'ReactOverlaysDropdownMenu';\nDropdownMenu.propTypes = propTypes;\nDropdownMenu.defaultProps = defaultProps;\n/** @component */\n\nexport default DropdownMenu;","import { useState } from 'react';\n/**\n * A convenience hook around `useState` designed to be paired with\n * the component [callback ref](https://reactjs.org/docs/refs-and-the-dom.html#callback-refs) api.\n * Callback refs are useful over `useRef()` when you need to respond to the ref being set\n * instead of lazily accessing it in an effect.\n *\n * ```ts\n * const [element, attachRef] = useCallbackRef<HTMLDivElement>()\n *\n * useEffect(() => {\n * if (!element) return\n *\n * const calendar = new FullCalendar.Calendar(element)\n *\n * return () => {\n * calendar.destroy()\n * }\n * }, [element])\n *\n * return <div ref={attachRef} />\n * ```\n *\n * @category refs\n */\n\nexport default function useCallbackRef() {\n return useState(null);\n}","import PropTypes from 'prop-types';\nimport React, { useContext, useCallback } from 'react';\nimport DropdownContext from './DropdownContext';\n\nvar noop = function noop() {};\n/**\n * Wires up Dropdown toggle functionality, returning a set a props to attach\n * to the element that functions as the dropdown toggle (generally a button).\n *\n * @memberOf Dropdown\n */\n\n\nexport function useDropdownToggle() {\n var _ref = useContext(DropdownContext) || {},\n _ref$show = _ref.show,\n show = _ref$show === void 0 ? false : _ref$show,\n _ref$toggle = _ref.toggle,\n toggle = _ref$toggle === void 0 ? noop : _ref$toggle,\n setToggle = _ref.setToggle;\n\n var handleClick = useCallback(function (e) {\n toggle(!show, e);\n }, [show, toggle]);\n return [{\n ref: setToggle || noop,\n onClick: handleClick,\n 'aria-haspopup': true,\n 'aria-expanded': !!show\n }, {\n show: show,\n toggle: toggle\n }];\n}\nvar propTypes = {\n /**\n * A render prop that returns a Toggle element. The `props`\n * argument should spread through to **a component that can accept a ref**. Use\n * the `onToggle` argument to toggle the menu open or closed\n *\n * @type {Function ({\n * show: boolean,\n * toggle: (show: boolean) => void,\n * props: {\n * ref: (?HTMLElement) => void,\n * aria-haspopup: true\n * aria-expanded: boolean\n * },\n * }) => React.Element}\n */\n children: PropTypes.func.isRequired\n};\n\n/**\n * Also exported as `<Dropdown.Toggle>` from `Dropdown`.\n *\n * @displayName DropdownToggle\n * @memberOf Dropdown\n */\nfunction DropdownToggle(_ref2) {\n var children = _ref2.children;\n\n var _useDropdownToggle = useDropdownToggle(),\n props = _useDropdownToggle[0],\n meta = _useDropdownToggle[1];\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(props, meta));\n}\n\nDropdownToggle.displayName = 'ReactOverlaysDropdownToggle';\nDropdownToggle.propTypes = propTypes;\n/** @component */\n\nexport default DropdownToggle;","import matches from 'dom-helpers/matches';\nimport qsa from 'dom-helpers/querySelectorAll';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport React, { useCallback, useRef, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useGlobalListener from '@restart/hooks/useGlobalListener';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nvar propTypes = {\n /**\n * A render prop that returns the root dropdown element. The `props`\n * argument should spread through to an element containing _both_ the\n * menu and toggle in order to handle keyboard events for focus management.\n *\n * @type {Function ({\n * props: {\n * onKeyDown: (SyntheticEvent) => void,\n * },\n * }) => React.Element}\n */\n children: PropTypes.node,\n\n /**\n * Determines the direction and location of the Menu in relation to it's Toggle.\n */\n drop: PropTypes.oneOf(['up', 'left', 'right', 'down']),\n\n /**\n * Controls the focus behavior for when the Dropdown is opened. Set to\n * `true` to always focus the first menu item, `keyboard` to focus only when\n * navigating via the keyboard, or `false` to disable completely\n *\n * The Default behavior is `false` **unless** the Menu has a `role=\"menu\"`\n * where it will default to `keyboard` to match the recommended [ARIA Authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton).\n */\n focusFirstItemOnShow: PropTypes.oneOf([false, true, 'keyboard']),\n\n /**\n * A css slector string that will return __focusable__ menu items.\n * Selectors should be relative to the menu component:\n * e.g. ` > li:not('.disabled')`\n */\n itemSelector: PropTypes.string,\n\n /**\n * Align the menu to the 'end' side of the placement side of the Dropdown toggle. The default placement is `top-start` or `bottom-start`.\n */\n alignEnd: PropTypes.bool,\n\n /**\n * Whether or not the Dropdown is visible.\n *\n * @controllable onToggle\n */\n show: PropTypes.bool,\n\n /**\n * Sets the initial show position of the Dropdown.\n */\n defaultShow: PropTypes.bool,\n\n /**\n * A callback fired when the Dropdown wishes to change visibility. Called with the requested\n * `show` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`.\n *\n * ```ts static\n * function(\n * isOpen: boolean,\n * event: SyntheticEvent,\n * ): void\n * ```\n *\n * @controllable show\n */\n onToggle: PropTypes.func\n};\n\nfunction useRefWithUpdate() {\n var forceUpdate = useForceUpdate();\n var ref = useRef(null);\n var attachRef = useCallback(function (element) {\n ref.current = element; // ensure that a menu set triggers an update for consumers\n\n forceUpdate();\n }, [forceUpdate]);\n return [ref, attachRef];\n}\n/**\n * @displayName Dropdown\n * @public\n */\n\n\nfunction Dropdown(_ref) {\n var drop = _ref.drop,\n alignEnd = _ref.alignEnd,\n defaultShow = _ref.defaultShow,\n rawShow = _ref.show,\n rawOnToggle = _ref.onToggle,\n _ref$itemSelector = _ref.itemSelector,\n itemSelector = _ref$itemSelector === void 0 ? '* > *' : _ref$itemSelector,\n focusFirstItemOnShow = _ref.focusFirstItemOnShow,\n children = _ref.children;\n\n var _useUncontrolledProp = useUncontrolledProp(rawShow, defaultShow, rawOnToggle),\n show = _useUncontrolledProp[0],\n onToggle = _useUncontrolledProp[1]; // We use normal refs instead of useCallbackRef in order to populate the\n // the value as quickly as possible, otherwise the effect to focus the element\n // may run before the state value is set\n\n\n var _useRefWithUpdate = useRefWithUpdate(),\n menuRef = _useRefWithUpdate[0],\n setMenu = _useRefWithUpdate[1];\n\n var menuElement = menuRef.current;\n\n var _useRefWithUpdate2 = useRefWithUpdate(),\n toggleRef = _useRefWithUpdate2[0],\n setToggle = _useRefWithUpdate2[1];\n\n var toggleElement = toggleRef.current;\n var lastShow = usePrevious(show);\n var lastSourceEvent = useRef(null);\n var focusInDropdown = useRef(false);\n var toggle = useCallback(function (nextShow, event) {\n onToggle(nextShow, event);\n }, [onToggle]);\n var context = useMemo(function () {\n return {\n toggle: toggle,\n drop: drop,\n show: show,\n alignEnd: alignEnd,\n menuElement: menuElement,\n toggleElement: toggleElement,\n setMenu: setMenu,\n setToggle: setToggle\n };\n }, [toggle, drop, show, alignEnd, menuElement, toggleElement, setMenu, setToggle]);\n\n if (menuElement && lastShow && !show) {\n focusInDropdown.current = menuElement.contains(document.activeElement);\n }\n\n var focusToggle = useEventCallback(function () {\n if (toggleElement && toggleElement.focus) {\n toggleElement.focus();\n }\n });\n var maybeFocusFirst = useEventCallback(function () {\n var type = lastSourceEvent.current;\n var focusType = focusFirstItemOnShow;\n\n if (focusType == null) {\n focusType = menuRef.current && matches(menuRef.current, '[role=menu]') ? 'keyboard' : false;\n }\n\n if (focusType === false || focusType === 'keyboard' && !/^key.+$/.test(type)) {\n return;\n }\n\n var first = qsa(menuRef.current, itemSelector)[0];\n if (first && first.focus) first.focus();\n });\n useEffect(function () {\n if (show) maybeFocusFirst();else if (focusInDropdown.current) {\n focusInDropdown.current = false;\n focusToggle();\n } // only `show` should be changing\n }, [show, focusInDropdown, focusToggle, maybeFocusFirst]);\n useEffect(function () {\n lastSourceEvent.current = null;\n });\n\n var getNextFocusedChild = function getNextFocusedChild(current, offset) {\n if (!menuRef.current) return null;\n var items = qsa(menuRef.current, itemSelector);\n var index = items.indexOf(current) + offset;\n index = Math.max(0, Math.min(index, items.length));\n return items[index];\n };\n\n useGlobalListener('keydown', function (event) {\n var _menuRef$current, _toggleRef$current;\n\n var key = event.key;\n var target = event.target;\n var fromMenu = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(target);\n var fromToggle = (_toggleRef$current = toggleRef.current) == null ? void 0 : _toggleRef$current.contains(target); // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400\n // in inscrutability\n\n var isInput = /input|textarea/i.test(target.tagName);\n\n if (isInput && (key === ' ' || key !== 'Escape' && fromMenu)) {\n return;\n }\n\n if (!fromMenu && !fromToggle) {\n return;\n }\n\n lastSourceEvent.current = event.type;\n\n switch (key) {\n case 'ArrowUp':\n {\n var next = getNextFocusedChild(target, -1);\n if (next && next.focus) next.focus();\n event.preventDefault();\n return;\n }\n\n case 'ArrowDown':\n event.preventDefault();\n\n if (!show) {\n onToggle(true, event);\n } else {\n var _next = getNextFocusedChild(target, 1);\n\n if (_next && _next.focus) _next.focus();\n }\n\n return;\n\n case 'Tab':\n // on keydown the target is the element being tabbed FROM, we need that\n // to know if this event is relevant to this dropdown (e.g. in this menu).\n // On `keyup` the target is the element being tagged TO which we use to check\n // if focus has left the menu\n addEventListener(document, 'keyup', function (e) {\n if (e.key === 'Tab' && !e.target || !menuRef.current.contains(e.target)) {\n onToggle(false, event);\n }\n }, {\n once: true\n });\n break;\n\n case 'Escape':\n event.preventDefault();\n event.stopPropagation();\n onToggle(false, event);\n break;\n\n default:\n }\n });\n return /*#__PURE__*/React.createElement(DropdownContext.Provider, {\n value: context\n }, children);\n}\n\nDropdown.displayName = 'ReactOverlaysDropdown';\nDropdown.propTypes = propTypes;\nDropdown.Menu = DropdownMenu;\nDropdown.Toggle = DropdownToggle;\nexport default Dropdown;","import { useEffect, useRef } from 'react';\n/**\n * Store the last of some value. Tracked via a `Ref` only updating it\n * after the component renders.\n *\n * Helpful if you need to compare a prop value to it's previous value during render.\n *\n * ```ts\n * function Component(props) {\n * const lastProps = usePrevious(props)\n *\n * if (lastProps.foo !== props.foo)\n * resetValueFromProps(props.foo)\n * }\n * ```\n *\n * @param value the value to track\n */\n\nexport default function usePrevious(value) {\n var ref = useRef(null);\n useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"children\", \"eventKey\", \"disabled\", \"href\", \"onClick\", \"onSelect\", \"active\", \"as\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavContext from './NavContext';\nimport SafeAnchor from './SafeAnchor';\nvar defaultProps = {\n as: SafeAnchor,\n disabled: false\n};\nvar DropdownItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n eventKey = _ref.eventKey,\n disabled = _ref.disabled,\n href = _ref.href,\n onClick = _ref.onClick,\n onSelect = _ref.onSelect,\n propActive = _ref.active,\n Component = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');\n var onSelectCtx = useContext(SelectableContext);\n var navContext = useContext(NavContext);\n\n var _ref2 = navContext || {},\n activeKey = _ref2.activeKey;\n\n var key = makeEventKey(eventKey, href);\n var active = propActive == null && key != null ? makeEventKey(activeKey) === key : propActive;\n var handleClick = useEventCallback(function (event) {\n // SafeAnchor handles the disabled case, but we handle it here\n // for other components\n if (disabled) return;\n if (onClick) onClick(event);\n if (onSelectCtx) onSelectCtx(key, event);\n if (onSelect) onSelect(key, event);\n });\n return (\n /*#__PURE__*/\n // \"TS2604: JSX element type 'Component' does not have any construct or call signatures.\"\n // @ts-ignore\n React.createElement(Component, _extends({}, props, {\n ref: ref,\n href: href,\n disabled: disabled,\n className: classNames(className, prefix, active && 'active', disabled && 'disabled'),\n onClick: handleClick\n }), children)\n );\n});\nDropdownItem.displayName = 'DropdownItem';\nDropdownItem.defaultProps = defaultProps;\nexport default DropdownItem;","import invariant from 'invariant';\nimport { useCallback } from 'react';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nexport default function useWrappedRefWithWarning(ref, componentName) {\n // @ts-ignore\n if (!(process.env.NODE_ENV !== \"production\")) return ref; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n var warningRef = useCallback(function (refValue) {\n !(refValue == null || !refValue.isReactComponent) ? process.env.NODE_ENV !== \"production\" ? invariant(false, componentName + \" injected a ref to a provided `as` component that resolved to a component instance instead of a DOM element. \" + 'Use `React.forwardRef` to provide the injected ref to the class component as a prop in order to pass it directly to a DOM element') : invariant(false) : void 0;\n }, [componentName]); // eslint-disable-next-line react-hooks/rules-of-hooks\n\n return useMergedRefs(warningRef, ref);\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import { useCallback, useMemo, useRef } from 'react';\nimport hasClass from 'dom-helpers/hasClass';\nimport { useBootstrapPrefix } from './ThemeProvider';\n\nfunction getMargins(element) {\n var styles = window.getComputedStyle(element);\n var top = parseFloat(styles.marginTop) || 0;\n var right = parseFloat(styles.marginRight) || 0;\n var bottom = parseFloat(styles.marginBottom) || 0;\n var left = parseFloat(styles.marginLeft) || 0;\n return {\n top: top,\n right: right,\n bottom: bottom,\n left: left\n };\n}\n\nexport default function usePopperMarginModifiers() {\n var overlayRef = useRef(null);\n var margins = useRef(null);\n var arrowMargins = useRef(null);\n var popoverClass = useBootstrapPrefix(undefined, 'popover');\n var dropdownMenuClass = useBootstrapPrefix(undefined, 'dropdown-menu');\n var callback = useCallback(function (overlay) {\n if (!overlay || !(hasClass(overlay, popoverClass) || hasClass(overlay, dropdownMenuClass))) return;\n margins.current = getMargins(overlay);\n overlay.style.margin = '0';\n overlayRef.current = overlay;\n }, [popoverClass, dropdownMenuClass]);\n var offset = useMemo(function () {\n return {\n name: 'offset',\n options: {\n offset: function offset(_ref) {\n var placement = _ref.placement;\n if (!margins.current) return [0, 0];\n var _margins$current = margins.current,\n top = _margins$current.top,\n left = _margins$current.left,\n bottom = _margins$current.bottom,\n right = _margins$current.right;\n\n switch (placement.split('-')[0]) {\n case 'top':\n return [0, bottom];\n\n case 'left':\n return [0, right];\n\n case 'bottom':\n return [0, top];\n\n case 'right':\n return [0, left];\n\n default:\n return [0, 0];\n }\n }\n }\n };\n }, [margins]);\n var arrow = useMemo(function () {\n return {\n name: 'arrow',\n options: {\n padding: function padding() {\n // The options here are used for Popper 2.8.4 and up.\n // For earlier version, padding is handled in popoverArrowMargins below.\n if (!arrowMargins.current) {\n return 0;\n }\n\n var _arrowMargins$current = arrowMargins.current,\n top = _arrowMargins$current.top,\n right = _arrowMargins$current.right;\n var padding = top || right;\n return {\n top: padding,\n left: padding,\n right: padding,\n bottom: padding\n };\n }\n }\n };\n }, [arrowMargins]); // Converts popover arrow margin to arrow modifier padding\n\n var popoverArrowMargins = useMemo(function () {\n return {\n name: 'popoverArrowMargins',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['arrow'],\n effect: function effect(_ref2) {\n var state = _ref2.state;\n\n if (!overlayRef.current || !state.elements.arrow || !hasClass(overlayRef.current, popoverClass)) {\n return undefined;\n }\n\n if (state.modifiersData['arrow#persistent']) {\n // @popperjs/core <= 2.8.3 uses arrow#persistent to pass padding to arrow modifier.\n var _getMargins = getMargins(state.elements.arrow),\n top = _getMargins.top,\n right = _getMargins.right;\n\n var padding = top || right;\n state.modifiersData['arrow#persistent'].padding = {\n top: padding,\n left: padding,\n right: padding,\n bottom: padding\n };\n } else {\n // @popperjs/core >= 2.8.4 gets the padding from the arrow modifier options,\n // so we'll get the margins here, and let the arrow modifier above pass\n // it to popper.\n arrowMargins.current = getMargins(state.elements.arrow);\n }\n\n state.elements.arrow.style.margin = '0';\n return function () {\n if (state.elements.arrow) state.elements.arrow.style.margin = '';\n };\n }\n };\n }, [popoverClass]);\n return [callback, [offset, arrow, popoverArrowMargins]];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"align\", \"alignRight\", \"rootCloseEvent\", \"flip\", \"show\", \"renderOnMount\", \"as\", \"popperConfig\"];\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useContext } from 'react';\nimport { useDropdownMenu } from 'react-overlays/DropdownMenu';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport warning from 'warning';\nimport NavbarContext from './NavbarContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport usePopperMarginModifiers from './usePopperMarginModifiers';\nvar alignDirection = PropTypes.oneOf(['left', 'right']);\nexport var alignPropType = PropTypes.oneOfType([alignDirection, PropTypes.shape({\n sm: alignDirection\n}), PropTypes.shape({\n md: alignDirection\n}), PropTypes.shape({\n lg: alignDirection\n}), PropTypes.shape({\n xl: alignDirection\n})]);\nvar defaultProps = {\n align: 'left',\n alignRight: false,\n flip: true\n};\nvar DropdownMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n align = _ref.align,\n alignRight = _ref.alignRight,\n rootCloseEvent = _ref.rootCloseEvent,\n flip = _ref.flip,\n showProps = _ref.show,\n renderOnMount = _ref.renderOnMount,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n popperConfig = _ref.popperConfig,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var isNavbar = useContext(NavbarContext);\n var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');\n\n var _usePopperMarginModif = usePopperMarginModifiers(),\n popperRef = _usePopperMarginModif[0],\n marginModifiers = _usePopperMarginModif[1];\n\n var alignClasses = [];\n\n if (align) {\n if (typeof align === 'object') {\n var keys = Object.keys(align);\n process.env.NODE_ENV !== \"production\" ? warning(keys.length === 1, 'There should only be 1 breakpoint when passing an object to `align`') : void 0;\n\n if (keys.length) {\n var brkPoint = keys[0];\n var direction = align[brkPoint]; // .dropdown-menu-right is required for responsively aligning\n // left in addition to align left classes.\n // Reuse alignRight to toggle the class below.\n\n alignRight = direction === 'left';\n alignClasses.push(prefix + \"-\" + brkPoint + \"-\" + direction);\n }\n } else if (align === 'right') {\n alignRight = true;\n }\n }\n\n var _useDropdownMenu = useDropdownMenu({\n flip: flip,\n rootCloseEvent: rootCloseEvent,\n show: showProps,\n alignEnd: alignRight,\n usePopper: !isNavbar && alignClasses.length === 0,\n popperConfig: _extends({}, popperConfig, {\n modifiers: marginModifiers.concat((popperConfig == null ? void 0 : popperConfig.modifiers) || [])\n })\n }),\n menuProps = _useDropdownMenu[0],\n _useDropdownMenu$ = _useDropdownMenu[1],\n hasShown = _useDropdownMenu$.hasShown,\n popper = _useDropdownMenu$.popper,\n show = _useDropdownMenu$.show,\n alignEnd = _useDropdownMenu$.alignEnd,\n toggle = _useDropdownMenu$.toggle;\n\n menuProps.ref = useMergedRefs(popperRef, useMergedRefs(useWrappedRefWithWarning(ref, 'DropdownMenu'), menuProps.ref));\n if (!hasShown && !renderOnMount) return null; // For custom components provide additional, non-DOM, props;\n\n if (typeof Component !== 'string') {\n menuProps.show = show;\n\n menuProps.close = function () {\n return toggle == null ? void 0 : toggle(false);\n };\n\n menuProps.alignRight = alignEnd;\n }\n\n var style = props.style;\n\n if (popper != null && popper.placement) {\n // we don't need the default popper style,\n // menus are display: none when not shown.\n style = _extends({}, props.style, menuProps.style);\n props['x-placement'] = popper.placement;\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, menuProps, {\n style: style,\n className: classNames.apply(void 0, [className, prefix, show && 'show', alignEnd && prefix + \"-right\"].concat(alignClasses))\n }));\n});\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.defaultProps = defaultProps;\nexport default DropdownMenu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"split\", \"className\", \"childBsPrefix\", \"as\"];\nimport classNames from 'classnames';\nimport isRequiredForA11y from 'prop-types-extra/lib/isRequiredForA11y';\nimport React from 'react';\nimport { useDropdownToggle } from 'react-overlays/DropdownToggle';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport Button from './Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nvar DropdownToggle = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n split = _ref.split,\n className = _ref.className,\n childBsPrefix = _ref.childBsPrefix,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? Button : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');\n\n if (childBsPrefix !== undefined) {\n props.bsPrefix = childBsPrefix;\n }\n\n var _useDropdownToggle = useDropdownToggle(),\n toggleProps = _useDropdownToggle[0];\n\n toggleProps.ref = useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle')); // This intentionally forwards size and variant (if set) to the\n // underlying component, to allow it to render size and style variants.\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: classNames(className, prefix, split && prefix + \"-split\")\n }, toggleProps, props));\n});\nDropdownToggle.displayName = 'DropdownToggle';\nexport default DropdownToggle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"drop\", \"show\", \"className\", \"alignRight\", \"onSelect\", \"onToggle\", \"focusFirstItemOnShow\", \"as\", \"navbar\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport BaseDropdown from 'react-overlays/Dropdown';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownItem from './DropdownItem';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nimport SelectableContext from './SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport createWithBsPrefix from './createWithBsPrefix';\nvar DropdownHeader = createWithBsPrefix('dropdown-header', {\n defaultProps: {\n role: 'heading'\n }\n});\nvar DropdownDivider = createWithBsPrefix('dropdown-divider', {\n defaultProps: {\n role: 'separator'\n }\n});\nvar DropdownItemText = createWithBsPrefix('dropdown-item-text', {\n Component: 'span'\n});\nvar defaultProps = {\n navbar: false\n};\nvar Dropdown = /*#__PURE__*/React.forwardRef(function (pProps, ref) {\n var _useUncontrolled = useUncontrolled(pProps, {\n show: 'onToggle'\n }),\n bsPrefix = _useUncontrolled.bsPrefix,\n drop = _useUncontrolled.drop,\n show = _useUncontrolled.show,\n className = _useUncontrolled.className,\n alignRight = _useUncontrolled.alignRight,\n onSelect = _useUncontrolled.onSelect,\n onToggle = _useUncontrolled.onToggle,\n focusFirstItemOnShow = _useUncontrolled.focusFirstItemOnShow,\n _useUncontrolled$as = _useUncontrolled.as,\n Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,\n _4 = _useUncontrolled.navbar,\n props = _objectWithoutPropertiesLoose(_useUncontrolled, _excluded);\n\n var onSelectCtx = useContext(SelectableContext);\n var prefix = useBootstrapPrefix(bsPrefix, 'dropdown');\n var handleToggle = useEventCallback(function (nextShow, event, source) {\n if (source === void 0) {\n source = event.type;\n }\n\n if (event.currentTarget === document && (source !== 'keydown' || event.key === 'Escape')) source = 'rootClose';\n\n if (onToggle) {\n onToggle(nextShow, event, {\n source: source\n });\n }\n });\n var handleSelect = useEventCallback(function (key, event) {\n if (onSelectCtx) onSelectCtx(key, event);\n if (onSelect) onSelect(key, event);\n handleToggle(false, event, 'select');\n });\n return /*#__PURE__*/React.createElement(SelectableContext.Provider, {\n value: handleSelect\n }, /*#__PURE__*/React.createElement(BaseDropdown, {\n drop: drop,\n show: show,\n alignEnd: alignRight,\n onToggle: handleToggle,\n focusFirstItemOnShow: focusFirstItemOnShow,\n itemSelector: \".\" + prefix + \"-item:not(.disabled):not(:disabled)\"\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, show && 'show', (!drop || drop === 'down') && prefix, drop === 'up' && 'dropup', drop === 'right' && 'dropright', drop === 'left' && 'dropleft')\n }))));\n});\nDropdown.displayName = 'Dropdown';\nDropdown.defaultProps = defaultProps;\nDropdown.Divider = DropdownDivider;\nDropdown.Header = DropdownHeader;\nDropdown.Item = DropdownItem;\nDropdown.ItemText = DropdownItemText;\nDropdown.Menu = DropdownMenu;\nDropdown.Toggle = DropdownToggle;\nexport default Dropdown;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"id\", \"title\", \"children\", \"bsPrefix\", \"className\", \"rootCloseEvent\", \"menuRole\", \"disabled\", \"active\", \"renderMenuOnMount\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Dropdown from './Dropdown';\nimport NavLink from './NavLink';\nvar NavDropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var id = _ref.id,\n title = _ref.title,\n children = _ref.children,\n bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n rootCloseEvent = _ref.rootCloseEvent,\n menuRole = _ref.menuRole,\n disabled = _ref.disabled,\n active = _ref.active,\n renderMenuOnMount = _ref.renderMenuOnMount,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n /* NavItem has no additional logic, it's purely presentational. Can set nav item class here to support \"as\" */\n var navItemPrefix = useBootstrapPrefix(undefined, 'nav-item');\n return /*#__PURE__*/React.createElement(Dropdown, _extends({\n ref: ref\n }, props, {\n className: classNames(className, navItemPrefix)\n }), /*#__PURE__*/React.createElement(Dropdown.Toggle, {\n id: id,\n eventKey: null,\n active: active,\n disabled: disabled,\n childBsPrefix: bsPrefix,\n as: NavLink\n }, title), /*#__PURE__*/React.createElement(Dropdown.Menu, {\n role: menuRole,\n renderOnMount: renderMenuOnMount,\n rootCloseEvent: rootCloseEvent\n }, children));\n});\nNavDropdown.displayName = 'NavDropdown';\nNavDropdown.Item = Dropdown.Item;\nNavDropdown.ItemText = Dropdown.ItemText;\nNavDropdown.Divider = Dropdown.Divider;\nNavDropdown.Header = Dropdown.Header;\nexport default NavDropdown;","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!has(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","require('./es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar global = require('../internals/global');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","/**\n * @public\n */\nvar Presence;\n(function (Presence) {\n Presence[Presence[\"Entering\"] = 0] = \"Entering\";\n Presence[Presence[\"Present\"] = 1] = \"Present\";\n Presence[Presence[\"Exiting\"] = 2] = \"Exiting\";\n})(Presence || (Presence = {}));\n/**\n * @public\n */\nvar VisibilityAction;\n(function (VisibilityAction) {\n VisibilityAction[VisibilityAction[\"Hide\"] = 0] = \"Hide\";\n VisibilityAction[VisibilityAction[\"Show\"] = 1] = \"Show\";\n})(VisibilityAction || (VisibilityAction = {}));\n\nexport { Presence, VisibilityAction };\n","module.exports = require(\"core-js-pure/stable/instance/starts-with\");","import { oliveSystem } from '@ds/icons'\n\nconst icons = {\n small: oliveSystem.icons,\n default: oliveSystem.icons,\n}\n\nexport default icons\n","export default {\n size: 16,\n icons: {\n 'alignBottom': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 0h3v12H1V0zm10 2h3v10h-3V2zM0 14h15v2H0v-2zm6-8h3v6H6V6z\\\"/>\\n</svg>\",\n 'alignLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 1h12v3H4V1zm0 5h6v3H4V6zM0 0h2v15H0V0zm4 11h10v3H4v-3z\\\"/>\\n</svg>\",\n 'alignRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 1h12v3H0V1zm6 5h6v3H6V6zm8-6h2v15h-2V0zM2 11h10v3H2v-3z\\\"/>\\n</svg>\",\n 'alignTop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 4h3v12H1V4zm10 0h3v10h-3V4zM0 0h15v2H0V0zm6 4h3v6H6V4z\\\"/>\\n</svg>\",\n 'arrowDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 9l-6 6-6-6 1.34-1.34L7 11.31V1h2v10.31l3.66-3.65L14 9z\\\"/>\\n</svg>\",\n 'arrowLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 2L1 8l6 6 1.34-1.34L4.69 9H15V7H4.69l3.65-3.66L7 2z\\\"/>\\n</svg>\",\n 'arrowRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 2l6 6-6 6-1.34-1.34L11.31 9H1V7h10.31L7.66 3.34 9 2z\\\"/>\\n</svg>\",\n 'arrowUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 7L8 1 2 7l1.34 1.34L7 4.69V15h2V4.69l3.66 3.65L14 7z\\\"/>\\n</svg>\",\n 'arrowUpLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15 13.66L4.34 3H9V1H1v8h2V4.34L13.66 15 15 13.66z\\\"/>\\n</svg>\",\n 'at': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 9V8a6 6 0 10-2.876 5.124l1.444 1.444A8 8 0 1116 8v1.01A2.997 2.997 0 0113 12a2.99 2.99 0 01-2.289-1.06A3.986 3.986 0 018 12c-2.21 0-4-1.795-4-4 0-2.21 1.795-4 4-4 .729 0 1.412.195 2 .5h1c.552 0 1 .458 1 .994V9c0 .556.448 1 1 1 .556 0 1-.448 1-1zM6 8c0 1.112.895 2 2 2 1.112 0 2-.895 2-2 0-1.112-.895-2-2-2-1.112 0-2 .895-2 2z\\\"/>\\n</svg>\",\n 'award': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4.46 9.709a5.5 5.5 0 117.081 0l1.793 4.927-2.563-1.195-1.196 2.564L8 11.676l-1.575 4.329-1.196-2.564-2.563 1.195L4.459 9.71zM8 9a3.5 3.5 0 100-7 3.5 3.5 0 000 7z\\\"/>\\n</svg>\",\n 'bell': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 12H0l3-3V5.002A5.005 5.005 0 018 0c2.761 0 5 2.229 5 5.002V9l3 3zm-6 1v.995a2 2 0 01-4 0V13h4z\\\"/>\\n</svg>\",\n 'block': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11.477 3.109a6.002 6.002 0 00-8.368 8.368l8.368-8.368zM4.523 12.89a6.002 6.002 0 008.368-8.368L4.523 12.89zm-2.18.766A8 8 0 1113.657 2.343 8 8 0 012.343 13.657z\\\"/>\\n</svg>\",\n 'bold': \"<svg viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M8.59 6.33l.157-.006c.369 0 .674-.09.907-.267.219-.168.33-.45.33-.843 0-.22-.035-.397-.11-.54a.826.826 0 00-.288-.313 1.417 1.417 0 00-.444-.156 3.36 3.36 0 00-.562-.049H6.595V6.33H8.59zm.292 4.534c.203 0 .408-.024.61-.067a1.42 1.42 0 00.486-.202.93.93 0 00.316-.364c.079-.152.117-.351.117-.61 0-.502-.126-.844-.388-1.047-.275-.213-.633-.316-1.097-.316H6.595v2.606h2.287zM4 13V2h5.044c.504 0 .97.046 1.386.137.42.092.791.248 1.1.463.316.223.56.518.726.88.17.354.256.801.256 1.327 0 .58-.126 1.05-.386 1.44-.194.295-.46.549-.794.76.504.209.896.52 1.17.931.336.507.498 1.097.498 1.803 0 .575-.105 1.058-.322 1.475-.216.42-.51.765-.87 1.024a3.755 3.755 0 01-1.229.577 5.283 5.283 0 01-1.4.183H4z\\\"/>\\n</svg>\",\n 'boolean': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 3a3 3 0 113 3 3 3 0 01-3-3zm13-3H5.77A4.06 4.06 0 017 2h6a1 1 0 010 2H7a4.06 4.06 0 01-1.23 2H13a3 3 0 000-6zm3 13a3 3 0 10-3 3 3 3 0 003-3zm-7 1H3a1 1 0 010-2h6a4.06 4.06 0 011.19-2H3a3 3 0 000 6h7.23A4.06 4.06 0 019 14z\\\"/>\\n</svg>\",\n 'boxPlusAbove': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path d=\\\"M0 4h2v10H0zm14 10v2H2v-2zm0-10h2v10h-2zM2 2h1v2H2zm11 0h1v2h-1zM2 2v2H0c0-1.1.9-2 2-2zm14 2h-2V2a2 2 0 012 2zM2 14v2a2 2 0 01-2-2h2zm14 0a2 2 0 01-2 2v-2h2z\\\"/>\\n <path d=\\\"M16 10H0V8h16zM9 2h2v2H9v2H7V4H5V2h2V0h2v2z\\\"/>\\n </g>\\n</svg>\",\n 'boxPlusAfter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path d=\\\"M12 0v2H2V0zM2 14H0V2h2zm10 0v2H2v-2zm2-12v1h-2V2zm0 11v1h-2v-1zm0-11h-2V0a2 2 0 012 2zm-2 14v-2h2a2 2 0 01-2 2zM2 2H0C0 .9.9 0 2 0v2zm0 14a2 2 0 01-2-2h2v2z\\\"/>\\n <path d=\\\"M6 16V0h2v16zm8-7v2h-2V9h-2V7h2V5h2v2h2v2h-2z\\\"/>\\n </g>\\n</svg>\",\n 'boxPlusBefore': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path d=\\\"M4 16v-2h10v2zM14 2h2v12h-2zM4 2V0h10v2zM2 14v-1h2v1zM2 3V2h2v1zm0 11h2v2a2 2 0 01-2-2zM4 0v2H2c0-1.1.9-2 2-2zm10 14h2a2 2 0 01-2 2v-2zm0-14a2 2 0 012 2h-2V0z\\\"/>\\n <path d=\\\"M10 0v16H8V0zM2 7V5h2v2h2v2H4v2H2V9H0V7h2z\\\"/>\\n </g>\\n</svg>\",\n 'boxPlusBelow': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path d=\\\"M16 12h-2V2h2zM2 2V0h12v2zm0 10H0V2h2zm12 2h-1v-2h1zM3 14H2v-2h1zm11 0v-2h2a2 2 0 01-2 2zM0 12h2v2a2 2 0 01-2-2zM14 2V0a2 2 0 012 2h-2zM0 2C0 .9.9 0 2 0v2H0z\\\"/>\\n <path d=\\\"M0 6h16v2H0zm7 8H5v-2h2v-2h2v2h2v2H9v2H7v-2z\\\"/>\\n </g>\\n</svg>\",\n 'bulletedList': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 4a1 1 0 112 0 1 1 0 11-2 0zm4-1h12v2H4V3zM0 8a1 1 0 112 0 1 1 0 11-2 0zm4-1h12v2H4V7zm-4 5a1 1 0 112 0 1 1 0 11-2 0zm4-1h12v2H4v-2z\\\"/>\\n</svg>\",\n 'calendar': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2H2C.9 2 0 2.9 0 4v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM2 14V6h12v8H2zM3 0h2v2H3zm8 0h2v2h-2z\\\"/>\\n</svg>\",\n 'camera': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 3v-.5A1.5 1.5 0 015.505 1h4.99A1.5 1.5 0 0112 2.5V3h2.006C15.107 3 16 3.9 16 4.992v7.016c0 1.1-.895 1.992-1.994 1.992H1.994C.893 14 0 13.1 0 12.008V4.992C0 3.892.895 3 1.994 3H4zm4 9a4 4 0 100-8 4 4 0 000 8zm0-2a2 2 0 110-4 2 2 0 010 4z\\\"/>\\n</svg>\",\n 'certificate': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 0v1.999L2.006 2C2 2 2 14.006 2 14.006c0-.007 9.994-.006 9.994-.006.002 0 .003-1.797.004-4H14v4.006A2 2 0 0111.994 16H2.006A2.001 2.001 0 010 14.006V1.994A2 2 0 012.006 0H9zM4 6h3v2H4V6zm0 4h6v2H4v-2zm7.5-3.134L8.719 9 9.79 5.56 7 3.437l3.443.008L11.5 0l1.057 3.446L16 3.438l-2.79 2.121L14.281 9 11.5 6.866z\\\"/>\\n</svg>\",\n 'check': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 3.41L14.58 2l-8.92 8.92-4.25-4.24L0 8.09l5.66 5.66z\\\"/>\\n</svg>\",\n 'chevronDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13 6.2l-1.4-1.4L8 8.4 4.4 4.8 3 6.2l5 5z\\\"/>\\n</svg>\",\n 'chevronLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.8 13l1.4-1.4L7.6 8l3.6-3.6L9.8 3l-5 5z\\\"/>\\n</svg>\",\n 'chevronRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6.2 13l-1.4-1.4L8.4 8 4.8 4.4 6.2 3l5 5z\\\"/>\\n</svg>\",\n 'chevronUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13 9.8l-1.4 1.4L8 7.6l-3.6 3.6L3 9.8l5-5z\\\"/>\\n</svg>\",\n 'clipboard': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8.5 16H2.998A2.001 2.001 0 011 13.994V4.006C1 2.898 1.894 2 3.003 2H4.67a3.001 3.001 0 015.658 0h1.668C13.103 2 14 2.896 14 3.997V11l-1 1-4 4h-.5zm3.5-6V6H3v8h5v-4h4zM7.5 4a1 1 0 100-2 1 1 0 000 2z\\\"/>\\n</svg>\",\n 'clock': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 9H5V7h2V4h2v5zm-1 7A8 8 0 118 0a8 8 0 010 16zm0-2A6 6 0 108 2a6 6 0 000 12z\\\"/>\\n</svg>\",\n 'close': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12.95 11.536L9.414 8l3.536-3.536-1.414-1.414L8 6.586 4.464 3.05 3.05 4.464 6.586 8 3.05 11.536l1.414 1.414L8 9.414l3.536 3.536z\\\"/>\\n</svg>\",\n 'cloudUpload': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 13h3a4 4 0 10-.253-7.992A4.502 4.502 0 003.027 7H3a3 3 0 100 6h4V9l-1.5 1.5L4 9l4-4 4 4-1.5 1.5L9 9v4z\\\"/>\\n</svg>\",\n 'comment': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 12h6.006c1.1 0 1.994-.9 1.994-2.009V2.01A2.003 2.003 0 0014.006 0H1.994C.894 0 0 .9 0 2.009V9.99C0 11.098.893 12 1.994 12H2v4l6-4z\\\"/>\\n</svg>\",\n 'commentAdd': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2h2v2h-2v2h-2V4h-2V2h2V0h2v2zm2 3.004v4.987A2.003 2.003 0 0114.006 12H8l-6 4v-4h-.006C.894 12 0 11.1 0 9.991V2.01C0 .902.893 0 1.994 0h9.009H8v2.002c-2.998.001-5.994.003-5.994.007 0 0 .001 7.991-.006 7.991 0 0 11.994-.002 11.994-.009V8H16V5.004z\\\"/>\\n</svg>\",\n 'company': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 0v16h4v-4h4v4h4V0H2zm4 10H4V8h2v2zm0-3H4V5h2v2zm0-3H4V2h2v2zm3 6H7V8h2v2zm0-3H7V5h2v2zm0-3H7V2h2v2zm3 6h-2V8h2v2zm0-3h-2V5h2v2zm0-3h-2V2h2v2z\\\"/>\\n</svg>\",\n 'courthouse': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 7v6h3V7H4zM2 7H0V4l8-3 8 3v3h-2v6h2v3H0v-3h2V7zm10 0H9v6h3V7z\\\"/>\\n</svg>\",\n 'creditCard': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2H2C.9 2 0 2.9 0 4v1h16V4c0-1.1-.9-2-2-2zM0 7v5c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V7H0zm7 4c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1v-1c0-.6.4-1 1-1h3c.6 0 1 .4 1 1v1z\\\"/>\\n</svg>\",\n 'crop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 12h6v2H2V4H0V2h2V0h2zm12 0h-2V2H6v2h6v12h2v-2h2z\\\"/>\\n</svg>\",\n 'dataRead': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M16 10l-4-4v3.01H4v2h8V14z\\\"/>\\n</svg>\",\n 'dataReadWrite': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n s\\n <path d=\\\"M18 7l-4-4v3.01H9v2h5V11zm-7 4.01H6V8l-4 4 4 4v-2.99h5z\\\"/>\\n</svg>\",\n 'desktop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 2v9h12V2H2zm8 11l.92 2.08c.23.51-.05.92-.62.92H5.7c-.57 0-.84-.42-.62-.92L6 13H1.6A1.6 1.6 0 010 11.38V1.62C0 .72.72 0 1.6 0h12.8c.89 0 1.6.73 1.6 1.62v9.76c0 .9-.72 1.62-1.6 1.62H10z\\\"/>\\n</svg>\",\n 'detailView': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 6H6V2h10zM4 2H0v4h4zm0 8H0v4h4zm12 0H6v4h10z\\\"/>\\n</svg>\",\n 'document': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 0v5.997A2 2 0 009.003 8H15v6.003A2.001 2.001 0 0112.994 16H3.006A2.001 2.001 0 011 14.006V1.994C1 .893 1.887 0 3.006 0H7zm2 0l6 6H9V0z\\\"/>\\n</svg>\",\n 'download': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 11v3H2v-3H0v5h16v-5z\\\"/>\\n <path d=\\\"M14 6l-1.4-1.4L9 8.2V0H7v8.2L3.4 4.6 2 6l6 6z\\\"/>\\n</svg>\",\n 'duplicate': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M3 12V2h8V0H3C1.9 0 1 .9 1 2v10h2zm10-6.1V14H6.9v2H13c1.1 0 2-.9 2-2V5.9h-2z\\\"/>\\n <path d=\\\"M13 4H7c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 10H7V6h6v8z\\\"/>\\n</svg>\",\n 'envelope': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 7.8L16 3c0-1.1-.9-2-2-2H2C.9 1 0 1.9 0 3v.1l8 4.7z\\\"/>\\n <path d=\\\"M8 10.2L0 5.4V13c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V5.3l-8 4.9z\\\"/>\\n</svg>\",\n 'expression': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.34 8L11 9.66 9.66 11 8 9.34 6.34 11 5 9.66 6.65 8 5 6.34 6.34 5 8 6.65 9.66 5 11 6.34zM16 7h-1V3a2 2 0 00-2-2h-2v2h2v10h-2v2h2a2 2 0 002-2V9h1zM0 9h1v4a2 2 0 002 2h2v-2H3V3h2V1H3a2 2 0 00-2 2v4H0z\\\"/>\\n</svg>\",\n 'externalLink': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12.586 2H9V0h7v7h-2V3.414l-7.5 7.5L5.086 9.5l7.5-7.5zM7 3v2H2v9h9V9h2v4.997A2 2 0 0110.997 16H2.003A2 2 0 010 13.997V5.003A2 2 0 012.003 3H7z\\\"/>\\n</svg>\",\n 'eye': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 2C2 2 0 8 0 8s2 6 8 6 8-6 8-6-2-6-8-6zm0 9.5c-1.9 0-3.5-1.6-3.5-3.5S6.1 4.5 8 4.5s3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"1.5\\\"/>\\n</svg>\",\n 'eyeSlash': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 4.5c1.9 0 3.5 1.6 3.5 3.5 0 .3 0 .6-.1.9l2.5 2.5C15.4 9.8 16 8 16 8s-2-6-8-6c-1.1 0-2.1.2-2.9.5l2.1 2.1c.2-.1.5-.1.8-.1zm8 10.4l-2.8-2.8L11 9.8 9.5 8.3 7.7 6.5 6.1 5l-2-2-3-3-1 1.1 2.8 2.8C.8 5.6 0 8 0 8s2 6 8 6c1.6 0 2.9-.4 3.9-1l3 3 1.1-1.1zm-8-3.4c-1.9 0-3.5-1.6-3.5-3.5 0-.7.2-1.4.6-1.9l1.5 1.5c0 .1-.1.3-.1.4 0 .8.7 1.5 1.5 1.5.1 0 .3 0 .4-.1l1.5 1.5c-.5.4-1.2.6-1.9.6z\\\"/>\\n</svg>\",\n 'field': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 11H2V5h12v6zm0-8H2a2 2 0 00-2 2v6a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2z\\\"/>\\n</svg>\",\n 'fieldMerge': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 12H5v-2h6a2 2 0 002-2V7h1v5zM2 8V3h9v2H5a2 2 0 00-2 2v1H2zm12-3h-1V3a2 2 0 00-2-2H2a2 2 0 00-2 2v5a2 2 0 002 2h1v2a2 2 0 002 2h9a2 2 0 002-2V7a2 2 0 00-2-2z\\\"/>\\n</svg>\",\n 'filter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4.063 12H0v1h4.063a2 2 0 003.874 0H16v-1H7.937a2 2 0 00-3.874 0zm6-5H0v1h10.063a2 2 0 003.874 0H16V7h-2.063a2 2 0 00-3.874 0zm-8-5H0v1h2.063a2 2 0 003.874 0H16V2H5.937a2 2 0 00-3.874 0z\\\"/>\\n</svg>\",\n 'flag': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 10H2v6H0V0h8c1.113 0 2 .895 2 2h6v10H8c-1.113 0-2-.895-2-2zm8 0V4h-4v6h4zM2 2v6h6V2H2z\\\"/>\\n</svg>\",\n 'folder': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 3H8c0-1.1-.9-2-2-2H2C.9 1 0 1.9 0 3v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\\\"/>\\n</svg>\",\n 'folderOpen': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 5H0V3c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2h6c1.1 0 2 .9 2 2zM0 7h16v6.002A1.997 1.997 0 0114.006 15H1.994A1.991 1.991 0 010 13.002V7z\\\"/>\\n</svg>\",\n 'function': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2.9 5.2h1.7L5.1 3c.1-.4.3-.8.4-1.2.2-.4.4-.7.6-1 .3-.3.6-.5 1-.6.5-.1 1-.2 1.6-.2h.6c.2 0 .4.1.6.1l-.5 1.6c-.2-.1-.4-.1-.7-.1-.3 0-.5 0-.7.1-.1.1-.3.2-.4.4-.1.1-.2.3-.3.5-.1.2-.1.5-.2.7l-.5 1.9h1.9l-.4 1.5H6.2l-1.7 5.9c-.1.4-.3.9-.4 1.3-.1.4-.4.8-.7 1.1-.3.3-.6.6-1.1.7-.4.2-.9.2-1.3.2H.4c-.2 0-.4 0-.6-.1l.4-1.6c.1 0 .3.1.5.1.5 0 .8-.1 1-.4s.4-.6.5-1l1.7-6.3H2.5l.4-1.4zM7 12.8h2.2l2.1-2.6 1.2 2.6h2.1l-2-4 3.2-3.6-2.1-.1-1.9 2.4-.9-2.3H8.8l1.7 3.6z\\\"/>\\n</svg>\",\n 'gear': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.753 2.26c.372.114.728.262 1.065.442l2.132-1.066 1.414 1.414-1.066 2.132c.18.337.328.693.442 1.065L16 7v2l-2.26.753a5.963 5.963 0 01-.442 1.065l1.066 2.132-1.414 1.414-2.132-1.066c-.337.18-.693.328-1.065.442L9 16H7l-.753-2.26a5.963 5.963 0 01-1.065-.442L3.05 14.364 1.636 12.95l1.066-2.132a5.963 5.963 0 01-.442-1.065L0 9V7l2.26-.753c.114-.372.262-.728.442-1.065L1.636 3.05 3.05 1.636l2.132 1.066c.337-.18.693-.328 1.065-.442L7 0h2l.753 2.26zM8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\\\"/>\\n</svg>\",\n 'globeLanguage': \"<svg viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M8.018 0C12.416 0 16.006 3.592 16 7.987c-.006 4.395-3.576 7.969-7.987 7.997C3.628 16.011-.003 12.385 0 7.982.003 3.564 3.584-.001 8.018 0zm2.556 7.331c-.055-.862-.289-1.653-.603-2.421-.027-.067-.188-.111-.287-.112a252.678 252.678 0 00-3.372-.001c-.099.001-.258.048-.286.116-.315.768-.546 1.559-.602 2.418h5.15zm.002 1.317H5.345l.566 2.318c1.372 0 2.658.002 3.944-.004.074-.001.193-.055.215-.113.27-.706.467-1.43.506-2.201zm4.134-1.313a6.47 6.47 0 00-1.309-3.393l-2.138.648.642 2.745h2.805zM4.733 4.59a1552.9 1552.9 0 00-2.148-.646C1.851 4.955 1.39 6.064 1.29 7.337h2.8l.643-2.747zm7.166 4.047l-.549 2.529 2.184.683a6.536 6.536 0 001.181-3.212h-2.816zm-9.414 3.207l2.159-.68-.545-2.53H1.325c-.052.865.515 2.419 1.16 3.21zm4.09.31l-.067.113 1.496 2.231 1.552-2.344H6.575zm2.951 2.415c1.204-.309 2.225-.833 3.145-1.729-.604-.162-1.124-.31-1.65-.434-.087-.021-.247.031-.289.1-.403.664-.787 1.339-1.206 2.063zm-3.069-.021c-.407-.705-.793-1.381-1.189-2.052-.033-.056-.139-.119-.193-.105-.564.135-1.125.285-1.762.45.957.888 1.962 1.442 3.144 1.707zM9.401 3.59L7.993 1.531 6.605 3.59h2.796zm-5.913-.625c.634.155 1.178.292 1.725.417.047.011.137-.039.166-.086.372-.611.736-1.227 1.135-1.895-1.138.265-2.098.752-3.026 1.564zm8.922.022l.002-.112c-.844-.716-1.791-1.227-2.928-1.469.394.66.754 1.269 1.126 1.87.036.058.16.109.228.094.526-.118 1.048-.253 1.572-.383z\\\"/>\\n</svg>\",\n 'gridView': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h7v7H0V0zm9 0h7v7H9V0zM0 9h7v7H0V9zm9 0h7v7H9V9z\\\"/>\\n</svg>\",\n 'gripperBar': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 1h2v2H5V1zm4 0h2v2H9V1zM5 5h2v2H5V5zm4 0h2v2H9V5zM5 9h2v2H5V9zm4 0h2v2H9V9zm-4 4h2v2H5v-2zm4 0h2v2H9v-2z\\\"/>\\n</svg>\",\n 'gripperCorner': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 1h2v2H1V1zm12 0h2v2h-2V1zM5 1h2v2H5V1zm4 0h2v2H9V1zM1 5h2v2H1V5zm4 0h2v2H5V5zm4 0h2v2H9V5zM1 9h2v2H1V9zm4 0h2v2H5V9zm-4 4h2v2H1v-2z\\\"/>\\n</svg>\",\n 'home': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0L0 7h2v9h4v-6h4v6h4V7h2z\\\"/>\\n</svg>\",\n 'idBadge': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 14H2c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h12c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2zM6 9V6c0-.6-.4-1-1-1H3c-.5 0-1 .5-1 1v3c0 .6.5 1 1 1h2c.6 0 1-.4 1-1zm8-4H8v1h6V5zm0 2H8v1h6V7zm0 2H8v1h6V9z\\\"/>\\n</svg>\",\n 'image': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 0H2C.9 0 0 1 0 2.3v11.4C0 15 .9 16 2 16h12c1.1 0 2-1 2-2.3V2.3C16 1 15.1 0 14 0zm0 4v7.5l-2.1-2.6-1.7 2.4-4.3-5.4L2 11.5V4h12zm0 0H2V2h12v2zm-3.5 3a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\\\"/>\\n</svg>\",\n 'inbox': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 5c0 1.653 1.343 3 3 3 1.653 0 3-1.343 3-3h5v7.003A1.997 1.997 0 0114.006 14H1.994A1.997 1.997 0 010 12.003V5h5zM2 1h12v2H2V1z\\\"/>\\n</svg>\",\n 'insert': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12 8L8 4v3.01H0v2h8V12z\\\"/>\\n <path d=\\\"M14 1H4c-1.1 0-2 .9-2 2v2h2V3h10v10H4v-2H2v2c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2z\\\"/>\\n</svg>\",\n 'italics': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 2v2h1.8l-3.101 7.5H3.6v2h5.999v-2H7.8L11 4h1.999V2z\\\"/>\\n</svg>\",\n 'line': \"<svg viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M1.636 12.95L12.95 1.636l1.414 1.414L3.05 14.364z\\\" fill-rule=\\\"evenodd\\\"/>\\n</svg>\",\n 'lineHeight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 12h2l-3 3-3-3h2V4H0l3-3 3 3H4zM16 2H8v2h8zm0 5H8v2h8zm0 5H8v2h8z\\\"/>\\n</svg>\",\n 'link': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path fill-rule=\\\"nonzero\\\" d=\\\"M12.243 10.828l-1.415-1.414-1.414 1.414 1.414 1.414-2.12 2.122a5 5 0 11-7.072-7.071L3.757 5.17l1.415 1.415L6.586 5.17 5.172 3.757l2.12-2.121a5 5 0 017.072 7.07l-2.121 2.122zM3.05 8.707a3 3 0 104.243 4.242l5.657-5.656A3 3 0 008.707 3.05L3.05 8.707z\\\"/>\\n <path d=\\\"M4.464 10.121l5.657-5.657 1.415 1.414-5.657 5.657z\\\"/>\\n </g>\\n</svg>\",\n 'locationPin': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12.981 5.439C12.747 8.285 10.373 13.152 8 16 5.626 13.152 3.253 8.286 3.019 5.438a5 5 0 119.962.001zM5.25 5a2.75 2.75 0 105.5 0 2.75 2.75 0 00-5.5 0z\\\"/>\\n</svg>\",\n 'lock': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.5 6H13V5c0-2.8-2.2-5-5-5S3 2.2 3 5v1h-.5C1.7 6 1 6.7 1 7.5v7c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5zM8 12.5c-.8 0-1.5-.7-1.5-1.5S7.2 9.5 8 9.5s1.5.7 1.5 1.5-.7 1.5-1.5 1.5zM11 6H5V5c0-1.7 1.3-3 3-3s3 1.3 3 3v1z\\\"/>\\n</svg>\",\n 'menu': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 2h16v2H0V2zm0 5h16v2H0V7zm0 5h16v2H0v-2z\\\"/>\\n</svg>\",\n 'menuTriangleDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 5h8l-4 6z\\\"/>\\n</svg>\",\n 'menuTriangleLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11 4v8L5 8z\\\"/>\\n</svg>\",\n 'menuTriangleRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 4v8l6-4z\\\"/>\\n</svg>\",\n 'menuTriangleUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 11h8L8 5z\\\"/>\\n</svg>\",\n 'mergeCell': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 12H2v2h12v-2h-3v2H9v-2H7v2H5v-2zm4-8V2h2v2h3V2H2v2h3V2h2v2h2zm-7 6h12V6H2v4zM14 0c1.1 0 2 1 2 2.3v11.4c0 1.3-.9 2.3-2 2.3H2c-1.1 0-2-1-2-2.3V2.3C0 1 .9 0 2 0h12z\\\" fill-rule=\\\"evenodd\\\"/>\\n</svg>\",\n 'messages': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11 0H2C.9 0 0 .9 0 2v6c0 1.1.9 2 2 2h1v3l4-3h4c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z\\\"/>\\n <path d=\\\"M14 3v1c.55 0 1 .45 1 1v6c0 .55-.45 1-1 1h-2v2l-1.33-1-1.33-1H7.31l-1.33 1H9l2.4 1.8L13 16v-3h1c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\\\"/>\\n</svg>\",\n 'minus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 7h14v2H1z\\\"/>\\n</svg>\",\n 'mobilePhone': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M3 1.994C3 .893 3.887 0 5 0h6c1.105 0 2 .895 2 1.994v12.012A1.992 1.992 0 0111 16H5c-1.105 0-2-.895-2-1.994V1.994zM7 14c0 .556.448 1 1 1 .556 0 1-.448 1-1 0-.556-.448-1-1-1-.556 0-1 .448-1 1zM5 2v10h6V2H5z\\\"/>\\n</svg>\",\n 'multiArrow': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 8l-3-3v2H9V3h2L8 0 5 3h2v4H3V5L0 8l3 3V9h4v4H5l3 3 3-3H9V9h4v2z\\\"/>\\n</svg>\",\n 'notary': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14.129 7.387L15 10h-2l-.671-2.013a4.054 4.054 0 01-.658 0L11 10H9l.871-2.613a4 4 0 114.258 0zM6 1v2H2v11h11v-2h2v2a2 2 0 01-2 2H2a2 2 0 01-2-2V3a2 2 0 012-2h4zm6 5a2 2 0 100-4 2 2 0 000 4z\\\"/>\\n</svg>\",\n 'note': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 1H2C.9 1 0 1.9 0 3v10c0 1.1.9 2 2 2h10l4-4V3c0-1.1-.9-2-2-2zm-5 9H4V9h5v1zm3-2H4V7h8v1zm0-2H4V5h8v1z\\\"/>\\n</svg>\",\n 'number': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.531 3l-.312 2h-2.5l-.938 6h2.5l-.312 2h-2.5L11 16H9l.469-3h-4.5L4.5 16h-2l.469-3h-2.5l.312-2h2.5l.938-6h-2.5l.312-2h2.5L5 0h2l-.469 3h4.5l.469-3h2l-.469 3h2.5zm-10.25 8h4.5l.938-6h-4.5l-.938 6z\\\"/>\\n</svg>\",\n 'numberedList': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 6H0V4h2V3h2v10H2V6zm8-3h6v2h-6V3zm0 4h5v2h-5V7zm-4 5a1 1 0 112 0 1 1 0 11-2 0zm4-1h6v2h-6v-2z\\\"/>\\n</svg>\",\n 'overflowHorizontal': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <circle cx=\\\"2\\\" cy=\\\"8\\\" r=\\\"2\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"2\\\"/>\\n <circle cx=\\\"14\\\" cy=\\\"8\\\" r=\\\"2\\\"/>\\n</svg>\",\n 'overflowVertical': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <circle cx=\\\"8\\\" cy=\\\"2\\\" r=\\\"2\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"2\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"14\\\" r=\\\"2\\\"/>\\n</svg>\",\n 'paintRoller': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10 14a2 2 0 01-2 2 2 2 0 01-2-2v-3h4zm3-14H3a2 2 0 00-2 2v2a2 2 0 002 2h10v2H8a1 1 0 00-1 1v1h7a1 1 0 001-1V2a2 2 0 00-2-2z\\\"/>\\n</svg>\",\n 'paperclip': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 14.8c-1.6 1.6-4.2 1.6-5.8 0S.6 10.6 2.2 9L10.3.9c1.2-1.2 3.1-1.2 4.2 0s1.2 3.1 0 4.2l-7 7c-.7.7-1.9.7-2.7 0s-.7-1.9 0-2.7L11.3 3l.8.8-6.5 6.5c-.3.3-.3.8 0 1.1s.8.3 1.1 0l7-7c.7-.7.7-1.9 0-2.7s-1.9-.7-2.7 0L3 9.8C1.8 11 1.8 12.9 3 14s3.1 1.2 4.2 0l7.5-7.5.8.8L8 14.8z\\\"/>\\n</svg>\",\n 'payment': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 8a2 2 0 012 2h5a2 2 0 011.999-2V5A2 2 0 0112 3H7a2 2 0 01-1.999 2v3zM3 2.992C3 1.892 3.894 1 5.003 1h8.994C15.103 1 16 1.9 16 2.992v7.016c0 1.1-.894 1.992-2.003 1.992H5.003C3.897 12 3 11.1 3 10.008V2.992zM2 4v9h11v2H2a2 2 0 01-2-2V4h2zm7.5 4a1.5 1.5 0 110-3 1.5 1.5 0 010 3z\\\"/>\\n</svg>\",\n 'pebbleCheck': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zM6.1 12L2.5 8.5l1.4-1.4L6 9.2l5.3-5.3 1.4 1.4L6.1 12z\\\"/>\\n</svg>\",\n 'pebbleError': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.9 14.6L8.9.7C8.8.3 8.4 0 8 0s-.8.2-.9.6l-7 13.9c-.1.2-.1.3-.1.5 0 .6.4 1 1 1h14c.6 0 1-.4 1-1 0-.2 0-.3-.1-.4zM9 14H7v-2h2v2zm0-4H7V5h2v5z\\\"/>\\n</svg>\",\n 'pebbleInfo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 6H7V4h2v2zm0 6H7V7h2v5z\\\"/>\\n <path d=\\\"M8 2c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6 2.69-6 6-6m0-2C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8z\\\"/>\\n</svg>\",\n 'pebbleQuestion': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 16A8 8 0 118 0a8 8 0 010 16zm0-2A6 6 0 108 2a6 6 0 000 12zm-1-3.5h2v2H7v-2zm0-1v-2h1a1 1 0 10-1-1H5a3 3 0 113 3H7z\\\"/>\\n</svg>\",\n 'pebbleWarning': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.9 14.6L8.9.7C8.8.3 8.4 0 8 0s-.8.2-.9.6l-7 13.9c-.1.2-.1.3-.1.5 0 .6.4 1 1 1h14c.6 0 1-.4 1-1 0-.2 0-.3-.1-.4zM9 14H7v-2h2v2zm0-4H7V5h2v5z\\\"/>\\n</svg>\",\n 'pencil': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 16l2-5 7.923-7.923 3 3L5 14l-5 2zM12.44.56a1.496 1.496 0 012.126.006l.868.868c.589.589.592 1.54.006 2.127l-1.81 1.81-3-3L12.44.56z\\\"/>\\n</svg>\",\n 'people': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12 13h4v-2.5c0-1-2.5-2.5-5-2.5-.099 0-.198.002-.297.007C11.5 8.716 12 9.57 12 10.5V13zM5 8c2.5 0 5 1.5 5 2.5V13H0v-2.5C0 9.5 2.5 8 5 8zm0-1a2.5 2.5 0 110-5 2.5 2.5 0 010 5zm7 0a2.5 2.5 0 110-5 2.5 2.5 0 010 5z\\\"/>\\n</svg>\",\n 'person': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 8a4 4 0 110-8 4 4 0 010 8zm0 1c4 0 8 2 8 4v3H0v-3c0-2 4-4 8-4z\\\"/>\\n</svg>\",\n 'plus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 7H9V2H7v5H2v2h5v5h2V9h5z\\\"/>\\n</svg>\",\n 'printer': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 4.001c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2v4H2v-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h12zm-12-1V0h12.001v3.001H2zm2 11h8v-5H4v5z\\\"/>\\n</svg>\",\n 'redo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 0l7 5-7 5V6H5.01A3.005 3.005 0 002 9.01v1.98C2 12.65 3.347 14 4.996 14H13v2H4.996C2.24 16 0 13.754 0 10.99V9.01C0 6.238 2.24 4 5.01 4H9V0z\\\"/>\\n</svg>\",\n 'refresh': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 6h-6l6-6zM0 10h6l-6 6z\\\"/>\\n <path d=\\\"M2.4 6c.8-2.3 3-4 5.6-4s4.8 1.7 5.6 4h2.1c-.9-3.4-4-6-7.7-6S1.2 2.6.3 6h2.1zm11.2 4c-.8 2.3-3 4-5.6 4s-4.8-1.7-5.6-4H.3c.9 3.4 4 6 7.7 6s6.8-2.6 7.7-6h-2.1z\\\"/>\\n</svg>\",\n 'reports': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 16V8h4v8H0zm12 0V0h4v16h-4zm-6 0V4h4v12H6z\\\"/>\\n</svg>\",\n 'rotateLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 4l5 5V3c0-.556.443-1 1-1h3V0H6C4.338 0 3 1.341 3 3v1H0z\\\"/>\\n <path d=\\\"M8.8 4h5.4c.99 0 1.8.825 1.8 1.833v7.334C16 14.175 15.19 15 14.2 15H8.8c-.99 0-1.8-.825-1.8-1.833V5.833C7 4.825 7.81 4 8.8 4zm.2 9h5V6H9v7z\\\"/>\\n</svg>\",\n 'rotateRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 4l-5 5V3c0-.556-.443-1-1-1H7V0h3c1.662 0 3 1.341 3 3v1h3z\\\"/>\\n <path d=\\\"M7.2 4H1.8C.81 4 0 4.825 0 5.833v7.334C0 14.175.81 15 1.8 15h5.4c.99 0 1.8-.825 1.8-1.833V5.833C9 4.825 8.19 4 7.2 4zM7 13H2V6h5v7z\\\"/>\\n</svg>\",\n 'search': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10.926 9.426L16 14.5 14.5 16l-5.074-5.074a6 6 0 111.5-1.5zM6 10a4 4 0 100-8 4 4 0 000 8z\\\"/>\\n</svg>\",\n 'send': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11.377 3.209L2.806 5.887l2.946 2.947 5.625-5.625zm1.448 1.38l-5.659 5.659 2.965 2.964 2.694-8.623zm-6.553 7.593L3 13l.818-3.272L.466 6.376c-.78-.78-.558-1.678.49-2.006L14.606.104c1.05-.328 1.635.26 1.308 1.307l-4.266 13.651c-.328 1.05-1.223 1.273-2.006.49l-3.37-3.37z\\\"/>\\n</svg>\",\n 'shield': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 0v8.58c.03.52.13 1.04.34 1.56.25.62.55 1.17.91 1.65s.79.95 1.3 1.4c.5.45.96.83 1.39 1.13.42.3.87.58 1.33.85.46.27.79.45.98.54.19.1.35.17.47.22.08.05.18.07.28.07s.2-.02.29-.07c.12-.05.27-.12.47-.22.19-.09.52-.28.98-.54.46-.27.9-.55 1.33-.85.43-.3.89-.68 1.39-1.13.5-.45.93-.92 1.3-1.4.36-.48.67-1.03.91-1.65.2-.52.3-1.04.34-1.56V0H1zm12 8.51c-.03.34-.09.63-.2.9-.18.45-.4.84-.65 1.18-.29.38-.64.75-1.04 1.12-.44.4-.84.73-1.2.98-.37.26-.77.52-1.18.76-.31.17-.56.31-.73.4V2h5v6.51z\\\"/>\\n</svg>\",\n 'sign': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 16H0v-1h16zM13.8.3c.4.4.4 1 0 1.4L11 4.5c-.4.4-1 .4-1.4 0-.4-.4-.4-1 0-1.4L12.4.3c.3-.4 1-.4 1.4 0zM1.4 9.9L0 14.1l4.2-1.4z\\\"/>\\n <path d=\\\"M4.9 12L11 5.9l.5-.5.9-.9c.4-.4.4-1 0-1.4L11 1.7c-.4-.4-1-.4-1.4 0l-.9.9-6.6 6.6L4.9 12z\\\"/>\\n</svg>\",\n 'sort': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 1l4 6H4zm0 14l4-6H4z\\\"/>\\n</svg>\",\n 'stamp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 14h12v2H2z\\\"/>\\n <path d=\\\"M14 14H2v2h12v-2zm-4-5V6.4c.9-.6 1.5-1.7 1.5-2.9C11.5 1.6 9.9 0 8 0S4.5 1.6 4.5 3.5c0 1.2.6 2.2 1.5 2.9V9H0v4h16V9h-6z\\\"/>\\n</svg>\",\n 'strikethrough': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 9H0V7h16zM7 3h4.67L12 4h1V1H7a4 4 0 00-4 4h2a2 2 0 012-2zm2 10H4.33L4 12H3v3h6a4 4 0 004-4h-2a2 2 0 01-2 2z\\\"/>\\n</svg>\",\n 'suggest': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 8v2a2 2 0 01-2 2H8l-6 4v-4a2 2 0 01-2-2V2a2 2 0 012-2h7v2H2v8h12V8zm-1.59-5L13 1.59 8.71 5.88 8 8l2.12-.71zm1.3-2.71a1 1 0 00-1.42 0l-.7.71L15 2.41l.71-.7a1 1 0 000-1.42zM8 4H4v1h4zM7 7H4v1h3z\\\"/>\\n</svg>\",\n 'support': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14.471 11.945c.882-.211 1.529-1 1.529-1.943V7.998a2 2 0 00-1.04-1.752A6.995 6.995 0 008 0a7.006 7.006 0 00-6.96 6.243A1.994 1.994 0 000 7.998v2.004a2 2 0 004 0V7.998c0-.717-.38-1.348-.951-1.7A5.006 5.006 0 018 2a4.995 4.995 0 014.951 4.294A1.994 1.994 0 0012 7.998v2.004c0 .914.62 1.69 1.463 1.925A2.499 2.499 0 0111 14h-.085c-.205-.585-.762-1-1.416-1h-.998C7.679 13 7 13.672 7 14.5c0 .834.672 1.5 1.5 1.5h1c.647 0 1.206-.417 1.414-1H11a3.5 3.5 0 003.471-3.055z\\\"/>\\n</svg>\",\n 'table': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10 7H6v2h4V7zm2 0v2h2V7h-2zm-2 4H6v3H4v-3H2v3h12v-3h-2v3h-2v-3zm0-6V2h2v3h2V2H2v3h2V2h2v3h4zM4 7H2v2h2V7zm10-7c1.1 0 2 1 2 2.3v11.4c0 1.3-.9 2.3-2 2.3H2c-1.1 0-2-1-2-2.3V2.3C0 1 .9 0 2 0h12z\\\"/>\\n</svg>\",\n 'tablet': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" d=\\\"M13.25 0C14.215 0 15 .78 15 1.74v12.52c0 .96-.785 1.74-1.75 1.74H2.75C1.785 16 1 15.22 1 14.26V1.74C1 .78 1.785 0 2.75 0h10.5zM13 12V2H3v10h10zm-5 3a1 1 0 100-2 1 1 0 000 2z\\\"/>\\n</svg>\",\n 'tag': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 3.39L12.61 0 8 .93.59 8.34A2 2 0 000 9.75a2 2 0 00.59 1.42l4.24 4.24a2 2 0 001.42.59 2 2 0 001.41-.59L15.07 8zM4.05 10.54l-.71-.71L8 5.17l.71.71zm6.57-5.16a1.29 1.29 0 111.83 0 1.29 1.29 0 01-1.83 0zm-4.45 7.28L5.46 12l2.81-2.86.73.71z\\\"/>\\n</svg>\",\n 'templates': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 1.994A2 2 0 013.006 0h9.988C14.102 0 15 .895 15 1.994v12.012A2 2 0 0112.994 16H3.006A2.001 2.001 0 011 14.006V1.994zM3 2v3h10V2H3zm0 5v7h3V7H3zm5 0v7h5V7H8z\\\"/>\\n</svg>\",\n 'text': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 2h2v12H7z\\\"/>\\n <path d=\\\"M2 2h12v2H2zm3 10h6v2H5z\\\"/>\\n <path d=\\\"M2 2h2v4H2zm10 0h2v4h-2z\\\"/>\\n</svg>\",\n 'textAlignCenter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h16v2H0V0zm3 4h10v2H3V4zm0 8h10v2H3v-2zM0 8h16v2H0V8z\\\"/>\\n</svg>\",\n 'textAlignLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h16v2H0V0zm0 4h10v2H0V4zm0 8h10v2H0v-2zm0-4h16v2H0V8z\\\"/>\\n</svg>\",\n 'textAlignRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h16v2H0V0zm6 4h10v2H6V4zm0 8h10v2H6v-2zM0 8h16v2H0V8z\\\"/>\\n</svg>\",\n 'textColor': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6.653 8.748h2.65L8.015 4.71h-.028L6.653 8.748zM6.868 2h2.307L13 13h-2.335l-.774-2.45H6.066L5.264 13H3L6.868 2z\\\"/>\\n</svg>\",\n 'textIndentLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 1h16v2H0zm0 6h8V5H0zm0 4h8V9H0zm0 4h16v-2H0zm16-4V5l-5 3z\\\"/>\\n</svg>\",\n 'textIndentRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 3H0V1h16zm0 2H8v2h8zm0 4H8v2h8zm0 4H0v2h16zM5 8L0 5v6z\\\"/>\\n</svg>\",\n 'textJustifyCenter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h16v2H0V0zm0 4h16v2H0V4zm0 8h16v2H0v-2zm0-4h16v2H0V8z\\\"/>\\n</svg>\",\n 'thumbsDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12 1h4v8h-4zM0 8c0 1.1.9 2 2 2h3v5h1l4.4-4.4c.4-.4.6-.9.6-1.4V3c0-1.1-.9-2-2-2H4c-.7 0-1.4.4-1.7 1L.2 6.2c-.1.2-.2.5-.2.8v1z\\\"/>\\n</svg>\",\n 'thumbsUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 7h4v8H0zm16 1c0-1.1-.9-2-2-2h-3V1h-1L5.6 5.4c-.4.4-.6.9-.6 1.4V13c0 1.1.9 2 2 2h5c.7 0 1.4-.4 1.7-1l2.1-4.2c.1-.2.2-.5.2-.8V8z\\\"/>\\n</svg>\",\n 'trash': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 14c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V4h12v10zM11 1h4v2H1V1h4l1-1h4l1 1z\\\"/>\\n</svg>\",\n 'underline': \"<svg viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M1 14h14v2H1zM2.846 2H4.98v5.956c0 .384.02.773.06 1.168.04.395.154.75.342 1.064.187.315.472.573.853.776.381.203.918.304 1.612.304.695 0 1.231-.101 1.612-.304.381-.203.667-.461.854-.776.192-.33.308-.692.34-1.064.04-.395.06-.784.06-1.168V2h2.134v6.612c0 .736-.12 1.376-.359 1.92a3.7 3.7 0 01-1.014 1.368 4.322 4.322 0 01-1.58.824 7.22 7.22 0 01-2.047.272 7.2 7.2 0 01-2.048-.272 4.322 4.322 0 01-1.577-.824 3.701 3.701 0 01-1.016-1.368c-.239-.544-.359-1.184-.359-1.92V2z\\\"/>\\n</svg>\",\n 'undo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 0L0 5l7 5V6h3.99A3.005 3.005 0 0114 9.01v1.98c0 1.66-1.347 3.01-2.996 3.01H3v2h8.004C13.76 16 16 13.754 16 10.99V9.01C16 6.238 13.76 4 10.99 4H7V0z\\\"/>\\n</svg>\",\n 'unlock': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.5 6H13V5c0-2.8-2.2-5-5-5-2.4 0-4.4 1.7-4.9 4h2.1C5.6 2.8 6.7 2 8 2c1.7 0 3 1.3 3 3v1H2.5C1.7 6 1 6.7 1 7.5v7c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5zM8 12.5c-.8 0-1.5-.7-1.5-1.5S7.2 9.5 8 9.5s1.5.7 1.5 1.5-.7 1.5-1.5 1.5z\\\"/>\\n</svg>\",\n 'upload': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 11v3H2v-3H0v5h16v-5z\\\"/>\\n <path d=\\\"M14 6L8 0 2 6l1.4 1.4L7 3.8V12h2V3.8l3.6 3.6z\\\"/>\\n</svg>\",\n 'waffle': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h4v4H0zm6 0h4v4H6zm6 0h4v4h-4zM0 6h4v4H0zm6 0h4v4H6zm6 0h4v4h-4zM0 12h4v4H0zm6 0h4v4H6zm6 0h4v4h-4z\\\"/>\\n</svg>\",\n 'workflow': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15 10V6H9v1H5V4h2V0H1v4h2v11h6v1h6v-4H9v1H5V9h4v1z\\\"/>\\n</svg>\",\n 'zoomIn': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6h2v2H8v2H6V8H4V6h2V4h2v2zm2.788 6.912a7.009 7.009 0 112.124-2.124L16 13.876 13.876 16l-3.088-3.088zM7 12A5 5 0 107 2a5 5 0 000 10z\\\"/>\\n</svg>\",\n 'zoomOut': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10 6v2H4V6h6zm.788 6.912a7.009 7.009 0 112.124-2.124L16 13.876 13.876 16l-3.088-3.088zM7 12A5 5 0 107 2a5 5 0 000 10z\\\"/>\\n</svg>\"\n }\n};","export default {\n size: 16,\n icons: {\n 'actionRequired': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0C3.615 0 0 3.581 0 8c0 4.419 3.615 8 8 8s8-3.581 8-8c0-4.419-3.538-8-8-8zm1 13H7v-2h2v2zm0-4H7V3h2v6z\\\"/>\\n</svg>\",\n 'addLogic': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2h2v2h-2v2h-2V4h-2V2h2V0h2v2zM3.5 7a3.5 3.5 0 110-7 3.5 3.5 0 010 7zm0-2a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm9 11a3.5 3.5 0 110-7 3.5 3.5 0 010 7zm0-2a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM3 8c.6 0 1 .4 1 1v1c0 .6-.4 1-1 1s-1-.4-1-1V9c0-.6.4-1 1-1zm-1 5c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1-1-.4-1-1zm3 0c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1z\\\" fill-rule=\\\"evenodd\\\"/>\\n</svg>\",\n 'approve': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12.118 1.14l-1.473 1.473a6 6 0 103.35 5.135l1.752-1.752a8 8 0 11-3.63-4.856zm-6.91 5.153L7.5 8.586l6.293-6.293 1.414 1.414L7.5 11.414 3.793 7.707l1.414-1.414z\\\"/>\\n</svg>\",\n 'authentication': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 14l-2 2-2-2 6.608-6.608a5 5 0 112 2L7 11l2 2-3 3-2-2zm8-8.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\\\"/>\\n</svg>\",\n 'autoFill': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 14H3a2 2 0 01-2-2V2a2 2 0 012-2h10a2 2 0 012 2v3h-2V2H3v10h3zm8-3.58L12.59 9l-4.88 4.88L7 16l2.12-.71zm1.7-1.71A1 1 0 0016 8a1 1 0 00-.3-.7 1 1 0 00-1.41 0l-.71.7L15 9.42zM11 4H5v2h6zM9 8H5v2h4z\\\"/>\\n</svg>\",\n 'bulkSend': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2v8H6V2h8m0-2H6a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2V2a2 2 0 00-2-2zm-1 4H7v1h6zm-2 3H7v1h4zm-9 7V5a2 2 0 00-2 2v7a2 2 0 002 2h7a2 2 0 002-2H2z\\\"/>\\n</svg>\",\n 'caretLargeDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2.81 4L1.4 5.41 7.98 12l.02-.02.02.02 6.58-6.59L13.19 4 8 9.19z\\\"/>\\n</svg>\",\n 'caretLargeLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12 2.81L10.59 1.4 4 7.98l.02.02-.02.02 6.59 6.58L12 13.19 6.81 8z\\\"/>\\n</svg>\",\n 'caretLargeRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 13.19l1.41 1.41L12 8.02 11.98 8l.02-.02L5.41 1.4 4 2.81 9.19 8z\\\"/>\\n</svg>\",\n 'caretLargeUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.19 12l1.41-1.41L8.02 4 8 4.02 7.98 4 1.4 10.59 2.81 12 8 6.81z\\\"/>\\n</svg>\",\n 'caretXlargeDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 6l8 8 8-8-1.5-1.5L8 11 1.5 4.5z\\\"/>\\n</svg>\",\n 'caretXlargeLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10 0L2 8l8 8 1.5-1.5L5 8l6.5-6.5z\\\"/>\\n</svg>\",\n 'caretXlargeRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 0l8 8-8 8-1.5-1.5L11 8 4.5 1.5z\\\"/>\\n</svg>\",\n 'caretXlargeUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 10l8-8 8 8-1.5 1.5L8 5l-6.5 6.5z\\\"/>\\n</svg>\",\n 'checkbox': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.7 2c.2 0 .3.1.3.3v11.4c0 .2-.1.3-.3.3H2.3c-.2 0-.3-.1-.3-.3V2.3c0-.2.1-.3.3-.3h11.4m0-2H2.3C1 0 0 1 0 2.3v11.4C0 15 1 16 2.3 16h11.4c1.3 0 2.3-1 2.3-2.3V2.3C16 1 15 0 13.7 0z\\\"/>\\n <path d=\\\"M13 5.5l-1.4-1.4L6.7 9 4.4 6.8 3 8.2l3.7 3.7z\\\"/>\\n</svg>\",\n 'checkmark': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 4.91L12.58 3.5 6.4 9.68 3.42 6.7 2 8.11l4.4 4.39z\\\"/>\\n</svg>\",\n 'circleStatus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 3C5.2 3 3 5.2 3 8s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5z\\\"/>\\n</svg>\",\n 'circleStatusClosed': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 3C5.2 3 3 5.2 3 8s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm3 6H5V7h6v2z\\\"/>\\n</svg>\",\n 'circleX': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm4.2 10.8l-1.4 1.4L8 9.4l-2.8 2.8-1.4-1.4L6.6 8 3.8 5.2l1.4-1.4L8 6.6l2.8-2.8 1.4 1.4L9.4 8l2.8 2.8z\\\"/>\\n</svg>\",\n 'closeSmall': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6.5l-3-3L3.5 5l3 3-3 3L5 12.5l3-3 3 3 1.5-1.5-3-3 3-3L11 3.5z\\\"/>\\n</svg>\",\n 'closeXlarge': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6.5L1.5 0 0 1.5 6.5 8 0 14.5 1.5 16 8 9.5l6.5 6.5 1.5-1.5L9.5 8 16 1.5 14.5 0z\\\"/>\\n</svg>\",\n 'cluster': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 3v1H3V3zm0 5H3v1h3V8zm0 2H3v1h3v-1zm10-6v10a2 2 0 01-2 2H9a2 2 0 01-2-2H2a2 2 0 01-2-2V2a2 2 0 012-2h5a2 2 0 012 2h5a2 2 0 012 2zm-9 8V2H2v10zm7-8H9v10h5zm-1 1h-3v1h3V5zm0 5h-3v1h3v-1zm0 2h-3v1h3v-1z\\\"/>\\n</svg>\",\n 'collapse': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 1v5a1 1 0 01-1 1H1V5h2.66L0 1.34 1.34 0 5 3.66V1zm9 13.66L12.34 11H15V9h-5a1 1 0 00-1 1v5h2v-2.66L14.66 16z\\\"/>\\n</svg>\",\n 'collapseSection': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.994 9v2.1a2.01 2.01 0 01-2 1.9h-8c-1.1 0-2-.9-2-2V9H0V7h1.994V5c0-1.066.846-1.945 1.9-1.998l8.1-.002c1.1 0 2 .9 2 2v2H16v2h-2.006zM4 9h2V7H4v2zm3 0h2V7H7v2zm3 0h2V7h-2v2z\\\"/>\\n</svg>\",\n 'colorpicker': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2.088 10.283L.541 14.04l.983.96 3.817-1.515 6.164-6.067-3.254-3.203zM15.162 3.81c.838-.893.83-2.28-.053-3.143a2.33 2.33 0 00-3.193-.052L11.91.608 10.15 2.34l-.77-.757c-.366-.36-.93-.375-1.265-.045-.335.33-.32.892.046 1.245l.77.757 3.26 3.202.77.758c.366.36.93.375 1.265.045.335-.33.32-.893-.046-1.245l-.77-.757 1.753-1.733z\\\"/>\\n</svg>\",\n 'column': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 1H2a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V3a2 2 0 00-2-2zm-4 4v8H6V5zM2 5h3v8H2zm9 8V5h3v8z\\\"/>\\n</svg>\",\n 'contacts': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 0c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2H0v-2h2V4H0V2h2c0-1.1.9-2 2-2h10zM9 9c-2 0-4 1-4 2v1h8v-1c0-1-2-2-4-2zm0-5c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\\\"/>\\n</svg>\",\n 'database': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 14v-2h3a2 2 0 002-2V2a2 2 0 00-2-2H4a2 2 0 00-2 2v8a2 2 0 002 2h3v2H0v2h16v-2zm3-12v1H4V2zM4 4h8v6H4zm5 1h2v2H9z\\\"/>\\n</svg>\",\n 'decline': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6.586l2.293-2.293 1.414 1.414L9.414 8l2.293 2.293-1.414 1.414L8 9.414l-2.293 2.293-1.414-1.414L6.586 8 4.293 5.707l1.414-1.414L8 6.586zM8 16A8 8 0 118 0a8 8 0 010 16zm0-2A6 6 0 108 2a6 6 0 000 12z\\\"/>\\n</svg>\",\n 'draft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11 8l2 2-5 5-3 1 1-3 5-5zm1-1l1.29-1.29a1 1 0 011.42 0l.58.58a1.01 1.01 0 010 1.42L14 9l-2-2zm-1-2V2H2v9h3l-2 2h-.997A2 2 0 010 10.997V2.003A2 2 0 012.001 0h8.988c1.105 0 2.002.894 2.003 2.003v1.004L11 5z\\\"/>\\n</svg>\",\n 'dropdown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4.5 5.6h7L8 10.9z\\\"/>\\n <path d=\\\"M13.7 2c.2 0 .3.1.3.3v11.4c0 .2-.1.3-.3.3H2.3c-.2 0-.3-.1-.3-.3V2.3c0-.2.1-.3.3-.3h11.4m0-2H2.3C1 0 0 1 0 2.3v11.4C0 15 1 16 2.3 16h11.4c1.3 0 2.3-1 2.3-2.3V2.3C16 1 15 0 13.7 0z\\\"/>\\n</svg>\",\n 'fieldsCustom': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M.55 16l6.407-6.407a4.001 4.001 0 015.426-4.72L9.407 7.85l2.12 2.121 2.977-2.976a4.001 4.001 0 01-4.719 5.426L6.206 16H.55zM0 9.008V1.992C0 .9.893 0 1.994 0h12.012C15.106 0 16 .894 16 1.998V6l-2-2V2H2v7h3l-2 2h-.999A2 2 0 010 9.008z\\\"/>\\n</svg>\",\n 'focusButton': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 0H2a2 2 0 00-2 2v4a2 2 0 002 2h5v4.66L4.34 10 3 11.34l4.39 4.4a.85.85 0 001.22 0l4.39-4.4L11.66 10 9 12.66V8h5a2 2 0 002-2V2a2 2 0 00-2-2zm0 6H2V2h12z\\\"/>\\n</svg>\",\n 'followerDatabase': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 4H6a2 2 0 00-2 2v3h2V8h8v6H6v-1H4v1a2 2 0 002 2h8a2 2 0 002-2V6a2 2 0 00-2-2zM6 7V6h8v1zm6-5v1h-2V2H2v8h6V9l1.69 1.35a.84.84 0 010 1.3L8 13v-1H2a2 2 0 01-2-2V2a2 2 0 012-2h8a2 2 0 012 2zm-1 7h2v2h-2z\\\"/>\\n</svg>\",\n 'functionFolder': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 5v8a2 2 0 01-2 2H8.72A7.12 7.12 0 009 13.87l.43-2.67H11V8.69l.14-.63.19-1.06.2-.93-.89-.33A3.7 3.7 0 0010 5.5a3.26 3.26 0 00-.72-.07 2.6 2.6 0 00-2.4 1.25A4.85 4.85 0 006.38 8H4.79v3.2h1l-.34 2.05v.26L4.49 13l-.32 1.47-.12.53H2a2 2 0 01-2-2V3a2 2 0 012-2h4a2 2 0 012 2h6a2 2 0 012 2zM9.85 9.12h-1.2c0-.23.08-.44.11-.63A2.38 2.38 0 018.91 8a.58.58 0 01.25-.28.78.78 0 01.31-.06.69.69 0 01.25 0 1.19 1.19 0 01.29.13l.24-1.11a2.54 2.54 0 00-.48-.14 2.59 2.59 0 00-.51 0 1.55 1.55 0 00-1.44.72 6.69 6.69 0 00-.56 1.87H5.89v1H7.1l-.56 3.33a5.74 5.74 0 01-.28 1.14.48.48 0 01-.48.3.8.8 0 01-.24 0 1.36 1.36 0 01-.3-.15l-.07.25-.17.79a3.09 3.09 0 00.51.15A2.35 2.35 0 006 16a1.59 1.59 0 001.45-.85s0-.11.06-.15a3.39 3.39 0 00.22-.57 5.83 5.83 0 00.17-.74l.59-3.59h1.36z\\\"/>\\n</svg>\",\n 'gripperRectangleHorizontal': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" d=\\\"M15 5v2h-2V5h2zm0 4v2h-2V9h2zm-4-4v2H9V5h2zm0 4v2H9V9h2zM7 5v2H5V5h2zm0 4v2H5V9h2zM3 5v2H1V5h2zm0 4v2H1V9h2z\\\"/>\\n</svg>\",\n 'hanko': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 1.7c3.4 0 6.2 2.8 6.2 6.2s-2.8 6.2-6.2 6.2S1.8 11.4 1.8 8 4.6 1.7 8 1.7M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/>\\n <path d=\\\"M4 4.3l.7.2c.7-.3 1.4-.7 1.9-1.1l1.3 1.2c-.1.1-.2.1-.3.1-.6.3-1.4.7-2.2 1v1.1h2.1v1.3H5.4v1.6h2.1V11H5.4v.7H4V4.3zm8 .1v5.5c0 1-.3 1.6-2 1.6 0-.5-.3-1.2-.5-1.6h.6c.4 0 .4 0 .4-.2v-4H9.3v6.8H7.9V4.4H12z\\\"/>\\n</svg>\",\n 'highlighter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.66 3.74L12.72.81a1 1 0 00-.7-.3 1 1 0 00-.65.24L2.87 8a2 2 0 00-.7 1.52v3.32L.05 15h2.83l.7-.71h3.33a2 2 0 001.52-.7l7.28-8.49a1 1 0 00.29-.66 1 1 0 00-.34-.7zm-8.75 8.65H4.37l-.3-.3V9.56a.09.09 0 010-.08l.21-.18 2.84 2.85-.12.21a.09.09 0 01-.09.03zm1.5-1.69L5.76 8.06 12 2.74l1.75 1.75z\\\"/>\\n</svg>\",\n 'identityVerification': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" d=\\\"M11.058 8.442L7.5 12H0V9.857C0 8.43 3 7 6 7c1.969 0 3.937.615 5.058 1.442zM6 6a3 3 0 110-6 3 3 0 010 6zm5.5 7l3-3 1.5 1.5-4.5 4.5-3-3 1.5-1.5 1.5 1.5z\\\"/>\\n</svg>\",\n 'indicatorCurrent': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 2c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6m0-2C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"3.5\\\"/>\\n</svg>\",\n 'indicatorIncomplete': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 2c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm0-2C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/>\\n</svg>\",\n 'initials': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 14h16v2H0v-2zM3.72.74c.79 0 1.42.13 1.91.39s.86.62 1.13 1.1c.26.48.44 1.05.54 1.73.09.67.14 1.42.14 2.25 0 .99-.06 1.85-.18 2.58s-.33 1.33-.62 1.81c-.29.47-.69.83-1.18 1.06-.5.22-1.13.34-1.88.34H0V.74h3.72zm-.44 9.59c.4 0 .72-.07.96-.21.24-.14.43-.36.58-.68.14-.31.23-.73.28-1.24.05-.51.07-1.16.07-1.92 0-.64-.02-1.2-.06-1.69-.04-.49-.13-.89-.26-1.21-.13-.32-.33-.56-.59-.72-.26-.16-.6-.24-1.03-.24h-.96v7.91h1.01zm7.5-1.52c0 .26.02.5.06.72.04.22.12.4.24.54.12.15.27.26.46.35.19.08.44.13.73.13.35 0 .66-.11.94-.34.28-.23.42-.58.42-1.05 0-.25-.03-.47-.1-.65a1.35 1.35 0 00-.34-.5c-.16-.15-.37-.28-.62-.4a7.91 7.91 0 00-.95-.37c-.5-.17-.94-.35-1.31-.55-.37-.2-.68-.43-.92-.7-.25-.28-.43-.59-.55-.94-.11-.35-.17-.76-.17-1.22 0-1.11.31-1.94.93-2.49.62-.55 1.47-.82 2.55-.82.5 0 .97.05 1.39.17.42.12.79.29 1.1.54.31.25.55.56.73.95.17.38.26.84.26 1.38v.32h-2.17c0-.54-.09-.95-.28-1.24-.19-.29-.5-.43-.95-.43-.25 0-.46.04-.63.11a1.011 1.011 0 00-.61.71c-.04.16-.06.32-.06.49 0 .35.07.64.22.87.15.24.46.45.95.65l1.75.76c.43.19.78.39 1.06.59.27.21.49.43.65.66.16.24.28.5.34.78.07.27.1.59.1.93 0 1.19-.34 2.05-1.03 2.59s-1.65.81-2.88.81c-1.28 0-2.2-.28-2.75-.84-.55-.56-.83-1.36-.83-2.4v-.44h2.27v.33z\\\"/>\\n</svg>\",\n 'keyboard': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 6H7V4h2zM6 4H4v2h2zM3 4H1v2h2zm9 0h-2v2h2zm3 0h-2v2h2zm-3 6H4v2h8zm-9 0H1v2h2zm12 0h-2v2h2zM6 7H4v2h2zM3 7H1v2h2zm6 0H7v2h2zm6 0h-5v2h5z\\\"/>\\n</svg>\",\n 'mergeFieldsDynamic': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 13a4.09 4.09 0 01.14-1H5v-2h5.38a4 4 0 012.33-1A2 2 0 0013 8V7h1v2.14a4 4 0 012 1.24V7a2 2 0 00-2-2h-1V3a2 2 0 00-2-2H2a2 2 0 00-2 2v5a2 2 0 002 2h1v2a2 2 0 002 2h4.14A4.09 4.09 0 019 13zm2-5H5V7h6zM3 7v1H2V3h9v2H5a2 2 0 00-2 2zm10 3a3 3 0 103 3 3 3 0 00-3-3zm0 5h-1l.5-1.75h-1L13 11h1l-.5 1.5h1z\\\"/>\\n</svg>\",\n 'nameFirst': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 9c4 0 8 2 8 4v3H0v-3c0-2 4-4 8-4zm6 5v-1s-2-2-6-2l.018 3H14zM8 8a4 4 0 110-8 4 4 0 010 8zm0-2a2 2 0 100-4v4z\\\"/>\\n</svg>\",\n 'nameLast': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 9c4 0 8 2 8 4v3H0v-3c0-2 4-4 8-4zm-6 5h5.982L8 11c-4 0-6 2-6 2v1zm6-6a4 4 0 110-8 4 4 0 010 8zm0-2V2a2 2 0 100 4z\\\"/>\\n</svg>\",\n 'pageBreak': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 2c0-1.1.9-2 2-2h10a2 2 0 012 2v12a2 2 0 01-2 2H3a2 2 0 01-2-2V2zm9 5v2h2V7h-2zM6 7h9V5h-2V2H3v3H1v2h3v2H1v2h2v3h10v-3h2V9H6V7zM1 9H0V7h1v2zm15 0h-1V7h1v2z\\\"/>\\n</svg>\",\n 'paintBucket': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.19 9.78a1.43 1.43 0 01-.43 2 1.44 1.44 0 01-1.52 0 1.43 1.43 0 01-.43-2L14 8zm-2.58-3.42L7 12a2 2 0 01-2.83 0L.59 8.49A2 2 0 010 7.07a2 2 0 01.59-1.41L6.24 0zM6.24 2.69L1.93 7h7.35l.64-.64z\\\"/>\\n</svg>\",\n 'palette': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5.172 5.172a.996.996 0 00-1.413-.003L2.341 6.588c-.39.39-.922.488-1.412-.002-.942-.942.057-2.892 1.414-4.243 3.132-3.117 8.19-3.124 11.314 0a8 8 0 010 11.314c-3.124 3.124-8.254 3.063-11.314 0-1.18-1.182-1.251-1.646-1.251-1.646-.265-.497-.13-1.216.262-1.607l3.82-3.82a1.003 1.003 0 00-.002-1.412zm1.767 6.717a1.5 1.5 0 10-2.121-2.121 1.5 1.5 0 002.121 2.121zm5.304.354a1 1 0 10-1.415-1.415 1 1 0 001.415 1.415zm1.414-3.536a1 1 0 10-1.414-1.414 1 1 0 001.414 1.414zm-1.414-3.535a1 1 0 10-1.415-1.415 1 1 0 001.415 1.415zM9.06 3.404A1 1 0 107.646 1.99a1 1 0 001.415 1.414z\\\"/>\\n</svg>\",\n 'percent': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 14.65L14.65 0 16 1.35 1.35 16zM3 1.9A1.1 1.1 0 104.1 3 1.1 1.1 0 003 1.9M3 0a3 3 0 11-3 3 3 3 0 013-3zm10 11.9a1.1 1.1 0 101.1 1.1 1.1 1.1 0 00-1.1-1.1m0-1.9a3 3 0 11-3 3 3 3 0 013-3z\\\"/>\\n</svg>\",\n 'phone': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.309 12.691l2.335-2.335a.99.99 0 01.846-.233l3.019.755a.665.665 0 01.491.612V15a1 1 0 01-1 1C6.716 16 0 9.284 0 1a1 1 0 011-1h3.51c.27 0 .544.215.613.49l.754 3.02a.99.99 0 01-.233.846L3.309 6.691a13.048 13.048 0 006 6z\\\"/>\\n</svg>\",\n 'play': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 0v16l12.48-7.13a1 1 0 000-1.74z\\\"/>\\n</svg>\",\n 'powerform': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 1H2C.9 1 0 1.9 0 3v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zM6 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM3 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 11H2V5h12v8z\\\"/>\\n <path d=\\\"M4 7h8v1H4zm0 3h8v1H4z\\\"/>\\n</svg>\",\n 'radio': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 2c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6m0-2C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"3.5\\\"/>\\n</svg>\",\n 'receivesCopy': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7.7 4.291L6.3 5.718C5.826 5.254 5.233 5 4.607 5 3.192 5 2 6.321 2 8s1.192 3 2.608 3c.624 0 1.217-.253 1.689-.716l1.4 1.43C6.858 12.533 5.767 13 4.607 13 2.04 13 0 10.74 0 8s2.039-5 4.608-5c1.162 0 2.254.468 3.093 1.291zm8 0l-1.4 1.427C13.826 5.254 13.233 5 12.607 5 11.192 5 10 6.321 10 8s1.192 3 2.608 3c.624 0 1.217-.253 1.689-.716l1.4 1.43c-.838.82-1.929 1.286-3.089 1.286C10.04 13 8 10.74 8 8s2.039-5 4.608-5c1.162 0 2.254.468 3.093 1.291z\\\"/>\\n</svg>\",\n 'recipientAdd': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10.5 8.5c3 0 5.5 1.5 5.5 3V14H5v-2.5c0-1.5 2.5-3 5.5-3zm0-1a2.75 2.75 0 110-5.5 2.75 2.75 0 010 5.5zM0 3h2V1h2v2h2v2H4v2H2V5H0V3z\\\"/>\\n</svg>\",\n 'recipientUpdate': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14.135 2.865L16 1v5h-5l1.713-1.713A6 6 0 1013.917 9h2.021A8.001 8.001 0 010 8a8 8 0 0114.135-5.135zM8 7a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm0 1c1.031 0 3 .5 3 1.5V11H5V9.5C5 8.5 6.969 8 8 8z\\\"/>\\n</svg>\",\n 'selectSignatureType': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 16H0v-1h16zM13.8.3c-.4-.4-1.1-.4-1.4 0L11 1.7v-.1c-.4-.4-1-.4-1.4 0l-.9 1-6.6 6.6L4.9 12 11 5.9l.5-.5.9-.9c.4-.4.4-1 0-1.4l1.4-1.4c.4-.4.4-1 0-1.4zM0 14.1l4.2-1.4-2.8-2.8zM10 10h2V8h2v2h2v2h-2v2h-2v-2h-2z\\\"/>\\n</svg>\",\n 'shieldCfrPart11': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15 1c0-.1-.1-.1-.1-.1-.6.3-2.1.5-3.3.5C9 1.4 8.3 0 8 0S7 1.4 4.5 1.4c-1.2 0-2.7-.2-3.3-.5C1.1.9 1 1 1 1v6.8c0 5.7 6.3 8 7 8.2.6-.2 7-2.5 7-8.2V1zm-7 9.5l-1.4 1.4-1.4-1.4-2.1-2.1L4.5 7l2.1 2.1 4.9-4.9 1.4 1.4L8 10.5z\\\"/>\\n</svg>\",\n 'signInPerson': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.406 7.594L5 12H0V9.857C0 8.43 3 7 6 7c1.2 0 2.399.228 3.406.594zM5 16l1.5-3.5L14 5l2 2-7.5 7.5L5 16zm4 0l1-1h6v1H9zM6 6a3 3 0 110-6 3 3 0 010 6z\\\"/>\\n</svg>\",\n 'signWithWitness': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6a3 3 0 110-6 3 3 0 010 6zm0 .75c3 0 6 1.5 6 3V11H2V9.75c0-1.5 3-3 6-3zM15 14v2H1v-2H0v-2h16v2z\\\" fill-rule=\\\"evenodd\\\"/>\\n</svg>\",\n 'smartClause': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" d=\\\"M4 12.5v-1h8v1H4zm-.25-3v-3h8.5v3h-8.5zm.25-5v-1h8v1H4zM2 14h12V2H2v12zM2 0h12a2 2 0 012 2v12a2 2 0 01-2 2H2a2 2 0 01-2-2V2a2 2 0 012-2z\\\"/>\\n</svg>\",\n 'smartSections': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 5a2 2 0 012 2v4h6V2H6v3zm0 2H2v5h4V7zm8 9H2a2 2 0 01-2-2V7a2 2 0 012-2h2V2a2 2 0 012-2h8a2 2 0 012 2v12a2 2 0 01-2 2zm-4-2a1 1 0 100-2 1 1 0 000 2zm-6 1a1 1 0 100-2 1 1 0 000 2z\\\"/>\\n</svg>\",\n 'smartTag': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 7H4V5h5zm3 2H4v2h8zm2 5H2V2h8V0H2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V7h-2zm0-14l-4 4h2.5L12 7l4-4h-2.5z\\\"/>\\n</svg>\",\n 'squiggle': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.05 16h-.21l-8.21-1.89a1.3 1.3 0 01-.41-2.37L10.69 9H3.3a1.3 1.3 0 01-.62-2.44L9.27 3H3.19A3.84 3.84 0 01.48 1.83l-.15-.16A1 1 0 010 1 1 1 0 01.28.28 1 1 0 011 0a1 1 0 01.67.33l.16.15a1.89 1.89 0 001.36.57h8.51a1.3 1.3 0 01.62 2.44L5.73 7.05h7a1.3 1.3 0 01.69 2.4l-4.95 3.13 6.79 1.54a1 1 0 01.74.93 1.49 1.49 0 010 .21 1 1 0 01-.95.74z\\\"/>\\n</svg>\",\n 'star': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5.214 12.504l2.32-1.22a1 1 0 01.931 0l2.321 1.22-.443-2.585a1 1 0 01.288-.885l1.877-1.83-2.595-.378a1 1 0 01-.752-.547L8 3.928 6.84 6.279a1 1 0 01-.753.547l-2.595.378 1.877 1.83a1 1 0 01.288.885l-.443 2.585zM8 13.298l-3.65 1.919a1 1 0 01-1.45-1.054l.697-4.064L.645 7.221a1 1 0 01.554-1.705l4.08-.593 1.824-3.697a1 1 0 011.794 0l1.824 3.697 4.08.593a1 1 0 01.554 1.705L12.403 10.1l.697 4.064a1 1 0 01-1.45 1.054L8 13.298z\\\"/>\\n</svg>\",\n 'starFilled': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 13.298l-3.65 1.919a1 1 0 01-1.45-1.054l.697-4.064L.645 7.221a1 1 0 01.554-1.705l4.08-.593 1.824-3.697a1 1 0 011.794 0l1.824 3.697 4.08.593a1 1 0 01.554 1.705L12.403 10.1l.697 4.064a1 1 0 01-1.45 1.054\\\"/>\\n</svg>\",\n 'stop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 1h14v14H1z\\\"/>\\n</svg>\",\n 'suggested': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11 11.197V14a2 2 0 01-2 2H7a2 2 0 01-2-2v-2.803a6 6 0 116 0zM8 10a4 4 0 100-8 4 4 0 000 8zm-1 1v1h2v-1H7zm0 2v1h2v-1H7z\\\"/>\\n</svg>\",\n 'tableAlt': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 1H2a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V3a2 2 0 00-2-2zm0 6H7V5h7zM7 8h7v2H7zm-1 2H2V8h4zm0-5v2H2V5zm-4 6h4v2H2zm5 2v-2h7v2z\\\"/>\\n</svg>\",\n 'tableFolder': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 5v1H6v9H2a2 2 0 01-2-2V3a2 2 0 012-2h4a2 2 0 012 2h6a2 2 0 012 2zm-5 11h5v-2h-5zm-3 0h2v-2H8zm3-3h5v-2h-5zm-3 0h2v-2H8zm0-3h8V8H8z\\\"/>\\n</svg>\",\n 'thumbnails': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 4v10h9v2H1.992C.892 16 0 15.098 0 13.991V4h2zm2-1.991C4 .899 4.898 0 5.998 0H10l5 5v4.994C15 11.102 14.1 12 13.008 12H5.992C4.892 12 4 11.098 4 9.991V2.01z\\\"/>\\n</svg>\",\n 'title': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14.5 4H12V2c0-1.1-.9-2-2-2H6C4.9 0 4 .9 4 2v2H1.5C.7 4 0 4.7 0 5.5v8c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-8c0-.8-.7-1.5-1.5-1.5zM6 2h4v2H6V2z\\\"/>\\n</svg>\",\n 'uploadList': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0l5 5-1.5 1.5L9 4v4H7V4L4.5 6.5 3 5l5-5zM1 12v-2h2v2H1zm4 0v-2h10v2H5zm-4 4v-2h2v2H1zm4 0v-2h10v2H5z\\\"/>\\n</svg>\",\n 'wrench': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7.193 5.807A4.5 4.5 0 0113.522.478L10.5 3.5l2 2 3.021-3.021a4.5 4.5 0 01-5.329 6.329L3 16l-3-3 7.193-7.193z\\\"/>\\n</svg>\"\n }\n};","import { docuSignThemeName } from '../docuSignThemeName'\n\nimport fonts from './fonts'\nimport icons from './icons'\nimport styles from './styles'\nimport tokens from './tokens'\n\nexport const OliveDocuSignTheme = {\n name: docuSignThemeName.olive,\n fonts,\n icons,\n styles,\n tokens,\n} as const\n","import AboveInputContainer from './AboveInputContainer'\nimport BaseStepperItem from './BaseStepperItem'\nimport Breadcrumb from './Breadcrumb'\nimport Callout from './Callout'\nimport EmptyState from './EmptyState'\nimport GlobalBaseCss from './GlobalBaseCss'\nimport GlobalMessage from './GlobalMessage'\nimport FileDrop from './FileDrop'\nimport Heading from './Heading'\nimport InlineMessage from './InlineMessage'\nimport InputTextBox from './InputTextBox'\nimport Menu from './Menu'\nimport MenuContainer from './MenuContainer'\nimport { ModalBase, ModalBody, ModalFooter, ModalHeader } from './Modal'\nimport ProgressBar from './ProgressBar'\nimport SelectionControlGroup from './SelectionControlGroup'\nimport TableRow from './TableRow'\nimport Timeline from './Timeline'\nimport Tree from './Tree'\nimport WorkflowStepperItem from './WorkflowStepperItem'\n\nexport default {\n AboveInputContainer,\n BaseStepperItem,\n Breadcrumb,\n Callout,\n EmptyState,\n FileDrop,\n GlobalBaseCss,\n GlobalMessage,\n Heading,\n InlineMessage,\n InputTextBox,\n Menu,\n MenuContainer,\n ModalBase,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ProgressBar,\n SelectionControlGroup,\n TableRow,\n Timeline,\n Tree,\n WorkflowStepperItem,\n} as const\n","import colors from '../colors'\n\nexport default () =>\n ({\n default: {\n wrap: {\n maxWidth: '600px',\n },\n\n content: {\n marginTop: '8px',\n },\n\n header: {\n margin: '8px 0',\n },\n\n body: {\n margin: '8px 0',\n },\n\n cta: {\n margin: '8px 0',\n },\n\n footer: {\n color: colors.gray9,\n marginTop: '8px',\n },\n },\n } as const)\n","import { AboveInputContainerProps } from '../../../../internal/components/AboveInputContainer'\n\nexport default (config: { props: AboveInputContainerProps }) => {\n const { props } = config\n\n return {\n wrap: {\n marginBottom: !props.hideLabel || props.description ? '4px' : undefined,\n },\n } as const\n}\n","import { Tokens } from '../../../types'\nimport colors from '../colors'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n default: {\n innerWrap: {\n alignItems: 'center',\n },\n\n closeButton: {\n button: {\n color: colors.white,\n '&:hover': {\n color: tokens.icon.hoverColor,\n },\n },\n },\n },\n\n danger: {\n outerWrap: {\n background: colors.persianRed,\n },\n },\n\n information: {\n outerWrap: {\n background: colors.funBluePale2,\n color: colors.black,\n },\n\n closeButton: {\n button: {\n color: colors.gray10,\n },\n },\n\n icon: {\n color: colors.funBlue,\n },\n },\n\n neutral: {\n outerWrap: {\n backgroundColor: colors.gray9,\n },\n },\n\n promo: {\n outerWrap: {\n backgroundColor: colors.DocuSignBlueDark2,\n color: colors.sunglowYellow,\n },\n },\n\n success: {\n outerWrap: {\n backgroundColor: colors.mantisGreen,\n },\n iconKind: 'completed',\n },\n\n upgrade: {\n outerWrap: {\n backgroundColor: colors.DocuSignBlueDark2,\n color: colors.sunglowYellow,\n },\n },\n\n warning: {\n outerWrap: {\n background: colors.sunglowYellow,\n color: colors.gray10,\n },\n\n closeButton: {\n button: {\n color: colors.gray10,\n },\n },\n\n icon: {\n color: colors.gray10,\n },\n },\n } as const\n}\n","import { breakpoints } from '../../../../utilities'\n\nexport default () =>\n ({\n 'heading-xs': {\n [breakpoints.lessThan(breakpoints.Sizes.Medium)]: {\n fontSize: '15px',\n lineHeight: '20px',\n },\n },\n\n 'heading-s': {\n textTransform: 'uppercase',\n\n [breakpoints.lessThan(breakpoints.Sizes.Medium)]: {\n lineHeight: '20px',\n },\n },\n\n 'heading-m': {\n [breakpoints.lessThan(breakpoints.Sizes.Medium)]: {\n fontSize: '16px',\n lineHeight: '24px',\n },\n },\n\n 'display-xs': {\n [breakpoints.lessThan(breakpoints.Sizes.Medium)]: {\n fontSize: '15px',\n lineHeight: '20px',\n },\n },\n\n 'display-s': {\n [breakpoints.lessThan(breakpoints.Sizes.Medium)]: {\n fontSize: '22px',\n lineHeight: 1.2,\n },\n },\n\n 'display-m': {\n [breakpoints.lessThan(breakpoints.Sizes.Medium)]: {\n fontSize: '16px',\n lineHeight: '24px',\n },\n },\n } as const)\n","import colors from '../colors'\nimport { breakpoints } from '../../../../utilities'\n\nconst borderColor = {\n danger: colors.persianRed_alpha27,\n information: colors.funBlue_alpha27,\n success: colors.mantisGreen_alpha27,\n warning: colors.sunglowYellowDark_alpha43,\n} as const\n\nexport default () =>\n ({\n default: {\n wrap: {\n background: colors.gray1,\n border: '1px solid',\n borderLeft: `4px solid ${colors.gray4}`,\n borderRadius: '2px',\n padding: '14px 14px 14px 16px',\n },\n\n icon: {\n marginRight: '8px',\n },\n\n closeButton: {\n margin: '-6px -6px -6px 8px',\n },\n\n action: {\n marginTop: '-5px',\n marginBottom: '-6px',\n marginLeft: '16px',\n [breakpoints.lessThan(breakpoints.Sizes.ExtraSmall)]: {\n marginTop: '8px',\n marginLeft: '-16px',\n },\n },\n },\n\n danger: {\n wrap: {\n background: colors.persianRedPale2,\n borderColor: borderColor.danger,\n borderLeftColor: colors.persianRed,\n color: colors.persianRedDark,\n },\n\n icon: {\n color: colors.persianRed,\n },\n iconKind: 'pebbleError',\n },\n\n information: {\n wrap: {\n background: colors.funBluePale2,\n borderColor: borderColor.information,\n borderLeftColor: colors.funBlue,\n color: colors.black,\n },\n\n icon: {\n color: colors.funBlue,\n },\n iconKind: 'pebbleInfo',\n },\n\n success: {\n wrap: {\n background: colors.mantisGreenPale2,\n borderColor: borderColor.success,\n borderLeftColor: colors.mantisGreen,\n color: colors.black,\n },\n\n icon: {\n color: colors.mantisGreen,\n },\n iconKind: 'completed',\n },\n\n warning: {\n wrap: {\n background: colors.sunglowYellowPale2,\n borderColor: borderColor.warning,\n borderLeftColor: colors.sunglowYellowDark,\n color: colors.black,\n },\n\n icon: {\n color: colors.sunglowYellowDark,\n },\n iconKind: 'pebbleWarning',\n },\n\n compact: {\n default: {\n wrap: {\n borderLeftWidth: '1px',\n padding: '6px 8px',\n },\n },\n\n danger: {\n wrap: {\n borderLeftColor: borderColor.danger,\n },\n },\n\n information: {\n wrap: {\n borderLeftColor: borderColor.information,\n },\n },\n\n success: {\n wrap: {\n borderLeftColor: borderColor.success,\n },\n },\n\n warning: {\n wrap: {\n borderLeftColor: borderColor.warning,\n },\n },\n },\n } as const)\n","const menuMaxWidth = '400px'\n\nexport default () =>\n ({\n menuWidthHelper: {\n width: menuMaxWidth,\n },\n } as const)\n","export default () =>\n ({\n container: {\n maxWidth: '400px',\n minWidth: '168px',\n },\n } as const)\n","export default () =>\n ({\n compact: {\n track: {\n height: '4px',\n },\n\n svg: {\n height: '4px',\n },\n\n indicator: {\n strokeWidth: '4px',\n },\n\n round: {\n track: {\n borderRadius: '2px',\n },\n },\n },\n } as const)\n","export default () =>\n ({\n default: {\n legend: {\n marginBottom: '8px',\n },\n\n fieldset: {\n '& > &, .selectionControlGroupNestedWrap': {\n margin: '12px 0 0 28px',\n },\n\n [`\n .selectionControlGroupItem + .selectionControlGroupItem,\n .selectionControlGroupNestedWrap + .selectionControlGroupItem\n `]: {\n marginTop: '12px',\n },\n },\n },\n } as const)\n","import colors from '../colors'\n\nexport default () =>\n ({\n information: {\n row: {\n backgroundColor: colors.white,\n\n '& td:first-of-type': {\n borderLeftColor: colors.funBlue,\n },\n },\n },\n\n warning: {\n row: {\n backgroundColor: colors.sunglowYellowPale2,\n\n '& td:first-of-type': {\n borderLeftColor: colors.sunglowYellowDark,\n },\n },\n },\n\n danger: {\n row: {\n backgroundColor: colors.persianRedPale2,\n\n '& td:first-of-type': {\n borderLeftColor: colors.persianRed,\n },\n },\n },\n\n withAction: {\n information: {\n row: {\n '&:hover': {\n backgroundColor: colors.funBluePale,\n },\n\n '&:hover td': {\n backgroundColor: colors.funBluePale2,\n },\n },\n },\n\n warning: {\n row: {\n '&:hover': {\n backgroundColor: colors.sunglowYellowPale,\n },\n\n '&:hover td': {\n backgroundColor: 'transparent',\n },\n },\n },\n\n danger: {\n row: {\n '&:hover': {\n backgroundColor: colors.persianRedPale,\n },\n\n '&:hover td': {\n backgroundColor: 'transparent',\n },\n },\n },\n },\n\n striped: {\n row: {\n '&:nth-of-type(odd)': {\n backgroundColor: colors.gray1,\n },\n },\n },\n } as const)\n","import colors from '../colors'\n\nconst breadcrumb = {\n separatorColor: colors.gray8,\n} as const\n\nexport default breadcrumb\n","import colors from '../colors'\n\nconst tokens = {\n defaultBackgroundColor: colors.semanticNeutral[30],\n placeholderBackgroundColor: colors.semanticNeutral[20],\n placeholderFillColor: colors.semanticNeutral.fade[90],\n\n /** Commenting out for now - see FRNTEND-441 */\n // defaultBackgroundColor: colors.extendedYellow[20],\n // placeholderBackgroundColor: colors.extendedYellow[20],\n // placeholderFillColor: colors.semanticNeutral.fade[90],\n\n withColorIndexTextColor: colors.semanticNeutral.fade[90],\n\n largeSize: '48px',\n largeFontSize: '20px',\n\n mediumSize: '40px',\n mediumFontSize: '16px',\n\n smallSize: '32px',\n smallFontSize: '12px',\n\n xlargeSize: '48px',\n xlargeFontSize: '20px',\n\n xxlargeSize: '48px',\n xxlargeFontSize: '20px',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n backgroundColor: colors.semanticCoolRed[60],\n borderColor: colors.semanticWhite[100],\n large: '12px',\n medium: '10px',\n small: '8px',\n xlarge: '12px',\n xxlarge: '12px',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n defaultShadowColor: colors.semanticWhite[100],\n defaultHoverShadowColor: '#e7e7e8',\n defaultActiveShadowColor: '#d1d0d3',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n defaultTrackColor: colors.semanticNeutral.fade[15],\n defaultFillColor: colors.semanticBlue[60],\n subtleFillColor: colors.semanticNeutral[100],\n highFillColor: colors.semanticGreen[60],\n mediumFillColor: colors.extendedYellow[30],\n lowFillColor: colors.semanticCoolRed[60],\n indeterminateTrackColor: '#dcdcde', // We need a hex instead of rgba value (colors.semanticNeutral.fade[15]) for the backgroundImage linear-gradient in ProgressCircleIndeterminate.\n indeterminateFillColor: colors.semanticBlue[60],\n borderRadius: '4px',\n height: '8px',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst border = {\n defaultColor: colors.semanticNeutral.fade[60],\n emphasisColor: colors.semanticNeutral.fade[90],\n subtleColor: colors.semanticNeutral.fade[15],\n} as const\n\nexport default border\n","import colors from '../colors'\n\nconst breadcrumb = {\n separatorColor: colors.semanticNeutral[60],\n} as const\n\nexport default breadcrumb\n","import colors from '../colors'\n\nconst main = {\n defaultBackgroundColor: colors.semanticBlue[60],\n defaultBorderColor: undefined,\n defaultTextColor: colors.semanticWhite[100],\n hoverBackgroundColor: colors.semanticBlue[70],\n hoverTextColor: undefined,\n activeBackgroundColor: colors.semanticBlue[80],\n activeTextColor: undefined,\n disabledBackgroundColor: colors.semanticBlue[60],\n disabledBorderColor: undefined,\n disabledTextColor: undefined,\n iconColor: undefined,\n iconHoverColor: undefined,\n buttonGroupSeparatorColor: colors.semanticNeutral.fade[90],\n} as const\n\nconst primary = {\n defaultBackgroundColor: colors.semanticBlue[60],\n defaultBorderColor: undefined,\n defaultTextColor: colors.semanticWhite[100],\n hoverBackgroundColor: colors.semanticBlue[70],\n hoverTextColor: undefined,\n activeBackgroundColor: colors.semanticBlue[80],\n activeTextColor: undefined,\n disabledBackgroundColor: colors.semanticBlue[60],\n disabledBorderColor: undefined,\n disabledTextColor: undefined,\n iconColor: undefined,\n iconHoverColor: undefined,\n buttonGroupSeparatorColor: colors.semanticNeutral.fade[90],\n} as const\n\nconst secondary = {\n defaultBackgroundColor: 'transparent',\n defaultBorderColor: colors.semanticNeutral.fade[60],\n defaultTextColor: colors.semanticNeutral.fade[90],\n hoverBackgroundColor: colors.semanticNeutral.fade[5],\n hoverTextColor: undefined,\n activeBackgroundColor: colors.semanticNeutral.fade[10],\n activeTextColor: undefined,\n disabledBackgroundColor: 'transparent',\n disabledBorderColor: undefined,\n disabledTextColor: undefined,\n iconColor: colors.semanticNeutral.fade[60],\n iconHoverColor: colors.semanticNeutral.fade[60],\n buttonGroupSeparatorColor: colors.semanticNeutral.fade[60],\n} as const\n\nconst tertiary = {\n defaultBackgroundColor: 'transparent',\n defaultBorderColor: undefined,\n defaultTextColor: colors.semanticNeutral.fade[90],\n hoverBackgroundColor: colors.semanticNeutral.fade[5],\n hoverTextColor: undefined,\n activeBackgroundColor: colors.semanticNeutral.fade[10],\n activeTextColor: undefined,\n disabledBackgroundColor: 'transparent',\n disabledBorderColor: undefined,\n disabledTextColor: undefined,\n iconColor: colors.semanticNeutral.fade[60],\n iconHoverColor: colors.semanticNeutral.fade[60],\n buttonGroupSeparatorColor: undefined,\n} as const\n\nconst danger = {\n defaultBackgroundColor: colors.semanticCoolRed[60],\n defaultBorderColor: undefined,\n defaultTextColor: colors.semanticWhite[100],\n hoverBackgroundColor: colors.semanticCoolRed[70],\n hoverTextColor: undefined,\n activeBackgroundColor: colors.semanticCoolRed[80],\n activeTextColor: undefined,\n disabledBackgroundColor: colors.semanticCoolRed[60],\n disabledBorderColor: undefined,\n disabledTextColor: undefined,\n iconColor: undefined,\n iconHoverColor: undefined,\n buttonGroupSeparatorColor: colors.semanticCoolRed[100],\n} as const\n\nconst tokens = {\n main,\n primary,\n secondary,\n tertiary,\n danger,\n\n defaultSize: '40px',\n mobileSize: '48px',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n low: `0 4px 8px 0 ${colors.semanticNeutral.fade[15]}`,\n medium: `0 8px 16px 0 ${colors.semanticNeutral.fade[15]}`,\n highest: `0 32px 64px 0 ${colors.semanticNeutral.fade[15]}`,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst outer = {\n outline: `2px solid ${colors.semanticNeutral.fade[60]}`,\n outlineOffset: '2px',\n} as const\n\nconst inner = {\n outline: `2px solid ${colors.semanticNeutral.fade[60]}`,\n outlineOffset: '-4px',\n} as const\n\nconst tokens = {\n outer,\n inner,\n} as const\n\nexport default tokens\n","const DS_INDIGO_FONT_FAMILY =\n '\"DS Indigo\", DSIndigo, \"Neue Haas Grotesk\", NeueHaasGrotesk, Helvetica, Arial, sans-serif'\n\nconst tokens = {\n body: DS_INDIGO_FONT_FAMILY,\n heading: DS_INDIGO_FONT_FAMILY,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n defaultBackgroundColor: colors.semanticWhite[100],\n defaultBorderColor: colors.semanticNeutral.fade[60],\n\n hoverBorderColor: colors.semanticNeutral.fade[90],\n activeBorderColor: colors.semanticNeutral[100],\n\n disabledBackgroundColor: colors.semanticNeutral.fade[15],\n // needs to be revisited - was added to resolve some issues with Menu\n disabledTextColor: colors.semanticNeutral.fade[45],\n disabledOpacity: 0.25,\n\n errorBorderColor: colors.semanticCoolRed[60],\n\n focusOutline: `2px solid ${colors.semanticBlue[50]}`,\n focusBorderColor: colors.semanticBlue[50],\n focusOutlineOffset: '-2px',\n\n readOnlyBackgroundColor: colors.semanticNeutral.fade[5],\n readOnlyBorderColor: 'transparent',\n readOnlyTextColor: colors.semanticNeutral.fade[90],\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n smallSize: '20px',\n defaultSize: '24px',\n\n defaultColor: colors.semanticNeutral.fade[60],\n disabledColor: colors.semanticNeutral.fade[25],\n emphasisColor: colors.semanticNeutral.fade[90],\n errorColor: colors.semanticCoolRed[60],\n warningColor: colors.extendedYellow[30],\n successColor: colors.semanticGreen[60],\n\n hoverColor: colors.semanticNeutral.fade[60],\n} as const\n\nexport default tokens\n","import hexToRgba from 'hex-to-rgba'\n\nimport { IndexedColorStyles } from '../../../types'\n\nimport colors from '../colors'\n\nconst indexedColorPalette = [\n colors.extendedYellow[20],\n colors.extendedIndigo[40],\n colors.extendedMagenta[40],\n colors.extendedTeal[40],\n colors.extendedWarmRed[40],\n colors.extendedYellow[30],\n colors.extendedIndigo[50],\n colors.extendedMagenta[50],\n colors.extendedTeal[50],\n colors.extendedWarmRed[50],\n] as const\n\nconst NUM_COLORS = Object.keys(indexedColorPalette).length\n\n/**\n * Returns a color object given an index into a list, often used to provide a\n * repeating sequence of colors to apply to recipients.\n *\n * @param {number} index - A zero-based index. Defaults to 0\n *\n * @returns {Object} colorObject\n * @returns {string} colorObject.solid - The hex string of the color, e.g. '#1e1e1e'.\n * @returns {string} colorObject.transparent - A CSS rgba string of the color\n * with transparency, e.g. 'rgba(30, 30, 30, 0.75)'.\n * @returns {string} colorObject.border - Aa dark border that can be used\n * to maintain accessibility requirements.\n */\nconst indexedColor = (index = 0): IndexedColorStyles => {\n const normalizedIndex = Math.max(0, index % NUM_COLORS)\n const color = indexedColorPalette[normalizedIndex]\n\n return {\n solid: color,\n transparent: hexToRgba(color, 0.75),\n border: color,\n }\n}\n\nexport default indexedColor\n","import colors from '../colors'\n\nconst tokens = {\n defaultColor: colors.semanticBlue[60],\n defaultHoverColor: colors.semanticBlue[70],\n defaultActiveColor: colors.semanticBlue[80],\n defaultVisitedColor: colors.semanticBlue[100],\n\n subtleColor: colors.semanticNeutral.fade[90],\n subtleHoverColor: colors.semanticBlue[70],\n subtleActiveColor: colors.semanticBlue[80],\n subtleVisitedColor: colors.semanticNeutral.fade[60],\n\n lightColor: colors.semanticBlue[60], // adding for parity with Olive Tokens, not in use\n lightHoverColor: colors.semanticBlue[70],\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n hoverBackgroundColor: colors.semanticNeutral.fade[10],\n activeBackgroundColor: colors.semanticNeutral.fade[20],\n selectedBackgroundColor: colors.semanticNeutral.fade[20],\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n backgroundColor: colors.semanticWhite[100],\n borderColor: colors.semanticNeutral.fade[15],\n borderRadius: '4px',\n\n smallWidth: '480px',\n mediumWidth: '480px',\n largeWidth: '640px',\n extraLargeWidth: '800px',\n\n marginTop: '80px',\n marginTopSmallScreen: '24px',\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n borderColor: colors.semanticNeutral.fade[15],\n defaultBackgroundColor: colors.semanticWhite[100],\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n size: '20px',\n\n defaultHoverShadowColor: colors.semanticNeutral.fade[10],\n defaultActiveShadowColor: colors.semanticNeutral.fade[20],\n\n selectedFillColor: colors.semanticBlue[50],\n selectedHoverFillColor: colors.semanticBlue[60],\n selectedActiveFillColor: colors.semanticBlue[70],\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst tokens = {\n opacityLevel: 0.9,\n defaultBackgroundColor: colors.semanticWhite[100],\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\nconst border = {\n background: colors.semanticWhite[100],\n color: colors.semanticNeutral.fade[10],\n height: 2,\n} as const\n\nexport default border\n","import colors from '../colors'\n\nconst tokens = {\n defaultColor: colors.semanticNeutral.fade[90],\n subtleColor: colors.semanticNeutral.fade[60],\n disabledColor: colors.semanticNeutral.fade[25],\n successColor: colors.semanticGreen[60],\n errorColor: colors.semanticCoolRed[60],\n} as const\n\nexport default tokens\n","import avatar from './avatar'\nimport avatarBadge from './avatarBadge'\nimport avatarGroup from './avatarGroup'\nimport bar from './bar'\nimport border from './border'\nimport breadcrumb from './breadcrumb'\nimport button from './button'\nimport elevation from './elevation'\nimport focus from './focus'\nimport font from './font'\nimport form from './form'\nimport icon from './icon'\nimport indexedColor from './indexedColor'\nimport link from './link'\nimport menuItem from './menuItem'\nimport modal from './modal'\nimport popover from './popover'\nimport selectionControl from './selectionControl'\nimport scrim from './scrim'\nimport scrollShadow from './scrollShadow'\nimport tabs from './tabs'\nimport text from './text'\nimport toolbar from './toolbar'\nimport tooltip from './tooltip'\nimport typography from './typography'\n\nconst tokens = {\n avatar,\n avatarBadge,\n avatarGroup,\n bar,\n border,\n breadcrumb,\n button,\n elevation,\n focus,\n font,\n form,\n icon,\n indexedColor,\n link,\n menuItem,\n modal,\n popover,\n selectionControl,\n scrim,\n scrollShadow,\n tabs,\n text,\n toolbar,\n tooltip,\n typography,\n} as const\n\nexport default tokens\n","import text from './text'\nimport colors from '../colors'\n\nconst tokens = {\n defaultBackgroundColor: colors.semanticWhite[100],\n defaultTextColor: text.subtleColor,\n hoverActiveBackgroundColor: colors.semanticNeutral.fade[20],\n hoverBackgroundColor: colors.semanticNeutral.fade[10],\n hoverTextColor: text.defaultColor,\n indicatorColor: colors.semanticNeutral.fade[90],\n indicatorWidth: '2px',\n selectedTextColor: text.defaultColor,\n} as const\n\nexport default tokens\n","import buttonTokens from './button'\nimport colors from '../colors'\n\nconst tokens = {\n defaultBackgroundColor: 'transparent',\n defaultTextColor: buttonTokens.tertiary.defaultTextColor,\n iconColor: buttonTokens.tertiary.iconColor,\n\n hoverBackgroundColor: buttonTokens.tertiary.hoverBackgroundColor,\n activeBackgroundColor: buttonTokens.tertiary.activeBackgroundColor,\n\n selectedBackgroundColor: colors.semanticNeutral.fade[10],\n selectedHoverBackgroundColor: colors.semanticNeutral.fade[5],\n selectedTextColor: colors.semanticNeutral.fade[90],\n\n selectedDarkBackgroundColor: colors.semanticNeutral.fade[90],\n selectedDarkHoverBackgroundColor: colors.semanticNeutral[100],\n selectedDarkTextColor: colors.semanticWhite[100],\n\n defaultHeight: buttonTokens.defaultSize,\n mobileHeight: buttonTokens.mobileSize,\n} as const\n\nexport default tokens\n","import colors from '../colors'\n\n/**\n * 1. Hard coding a hex value because the black background bleeds through semanticNeutral with\n * transparency. This will be addressed in a future ticket.\n */\nconst tokens = {\n backgroundColor: colors.semanticNeutral[100],\n borderColor: colors.semanticNeutral.fade[60],\n color: colors.semanticWhite[100],\n offset: '2px',\n tipSize: 8,\n} as const\n\nexport default tokens\n","const detailExtraSmall = {\n fontSize: '10px',\n fontWeight: 400,\n lineHeight: 1.5,\n} as const\n\nconst detailSmall = {\n fontSize: '12px',\n fontWeight: 400,\n lineHeight: 1.5,\n} as const\n\nconst bodyMedium = {\n fontSize: '16px',\n fontWeight: 400,\n lineHeight: 1.5,\n} as const\n\nconst bodyLarge = {\n fontSize: '20px',\n fontWeight: 400,\n lineHeight: 1.5,\n} as const\n\nconst bodyExtraLarge = {\n fontSize: '24px',\n fontWeight: 400,\n lineHeight: 1.5,\n} as const\n\nconst headingXXS = {\n fontSize: '16px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst headingExtraSmall = {\n fontSize: '20px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst headingSmall = {\n fontSize: '24px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst headingMedium = {\n fontSize: '24px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst headingLarge = {\n fontSize: '32px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst headingExtraLarge = {\n fontSize: '32px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst displayExtraSmall = {\n fontSize: '40px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst displaySmall = {\n fontSize: '48px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst displayMedium = {\n fontSize: '56px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst displayLarge = {\n fontSize: '64px',\n fontWeight: 600,\n lineHeight: 1.25,\n} as const\n\nconst sectionHeadline = {\n fontSize: '12px',\n fontWeight: 600,\n lineHeight: 1.5,\n letterSpacing: '0.8px',\n textTransform: 'uppercase',\n} as const\n\nconst tab = {\n fontSize: '16px',\n fontWeight: 500,\n lineHeight: 1.5,\n} as const\n\nconst timestamp = {\n fontSize: '12px',\n fontWeight: 600,\n lineHeight: 1.5,\n letterSpacing: '0.2px',\n} as const\n\nconst inputLabel = {\n fontSize: '16px',\n fontWeight: 500,\n lineHeight: 1.5,\n} as const\n\nconst button = {\n fontSize: '16px',\n fontWeight: 500,\n lineHeight: 1.5,\n} as const\n\nconst breadcrumb = {\n fontSize: '16px',\n fontWeight: 400,\n lineHeight: 'normal',\n} as const\n\nconst breadcrumbActive = {\n fontSize: '16px',\n fontWeight: 500,\n lineHeight: 'normal',\n} as const\n\nconst tokens = {\n detailExtraSmall,\n detailSmall,\n\n bodyMedium,\n bodyLarge,\n bodyExtraLarge,\n\n headingXXS,\n headingExtraSmall,\n headingSmall,\n headingMedium,\n headingLarge,\n headingExtraLarge,\n\n displayExtraSmall,\n displaySmall,\n displayMedium,\n displayLarge,\n\n sectionHeadline,\n\n tab,\n timestamp,\n inputLabel,\n button,\n breadcrumb,\n breadcrumbActive,\n} as const\n\nexport default tokens\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","module.exports = {};\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","module.exports = {};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict'\n\nvar assign = require('../constant/assign.js')\n\nfunction shallow(object) {\n return assign({}, object)\n}\n\nmodule.exports = shallow\n","'use strict'\n\nvar normalize = require('../../normalize')\nvar Schema = require('./schema')\nvar DefinedInfo = require('./defined-info')\n\nmodule.exports = create\n\nfunction create(definition) {\n var space = definition.space\n var mustUseProperty = definition.mustUseProperty || []\n var attributes = definition.attributes || {}\n var props = definition.properties\n var transform = definition.transform\n var property = {}\n var normal = {}\n var prop\n var info\n\n for (prop in props) {\n info = new DefinedInfo(\n prop,\n transform(attributes, prop),\n props[prop],\n space\n )\n\n if (mustUseProperty.indexOf(prop) !== -1) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * Copyright (c) 2014-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 * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","module.exports = require(\"core-js-pure/features/object/define-property\");","var constant = require('./constant'),\n createInverter = require('./_createInverter'),\n identity = require('./identity');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\nvar invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n}, constant(identity));\n\nmodule.exports = invert;\n","import _Object$setPrototypeOf from \"@babel/runtime-corejs3/core-js/object/set-prototype-of\";\nexport 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}","module.exports = require(\"core-js-pure/features/get-iterator-method\");","module.exports = require(\"core-js-pure/features/array/is-array\");","import _sliceInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/slice\";\nimport _Array$from from \"@babel/runtime-corejs3/core-js/array/from\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n var _context;\n\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","module.exports = require(\"core-js-pure/features/instance/index-of\");","import { useEffect } from 'react';\n\nfunction useUnmountEffect(callback) {\n return useEffect(function () { return function () { return callback(); }; }, []);\n}\n\nexport { useUnmountEffect };\n","var compareByDepth = function (a, b) {\n return a.depth - b.depth;\n};\n\nexport { compareByDepth };\n","import { docuSignThemeName, useThemeContext } from '@ds/theme-context'\nimport { consoleWarn } from '../../logging'\nimport { InkDocuSignTheme, OliveDocuSignTheme } from '../docusign-themes'\nimport { DocuSignTheme } from '../types'\n\nexport function useTheme() {\n const { name: themeName, fallbackTheme } = useThemeContext()\n\n if (fallbackTheme)\n consoleWarn(\n `WARN @ds/ui: You must wrap @ds/ui components inside of a <Theme> component. All styles will fall back to the \"Olive\" theme. This fallback will be removed in @ds/ui v5.`\n )\n\n let theme = {} as DocuSignTheme\n if (themeName === docuSignThemeName.olive) {\n theme = OliveDocuSignTheme\n } else if (themeName === docuSignThemeName.ink) {\n theme = InkDocuSignTheme\n }\n\n return theme\n}\n","var fontGroups = {\n ds_indigo: {\n 'DSIndigo-Regular': {\n file: 'DSIndigo-Regular',\n family: 'DSIndigo',\n style: 'normal',\n weight: '400',\n extensions: ['woff2', 'woff']\n },\n 'DSIndigo-Medium': {\n file: 'DSIndigo-Medium',\n family: 'DSIndigo',\n style: 'normal',\n weight: '500',\n extensions: ['woff2', 'woff']\n },\n 'DSIndigo-Semibold': {\n file: 'DSIndigo-Semibold',\n family: 'DSIndigo',\n style: 'normal',\n weight: '600',\n extensions: ['woff2', 'woff']\n },\n 'DSIndigo-Bold': {\n file: 'DSIndigo-Bold',\n family: 'DSIndigo',\n style: 'normal',\n weight: '700',\n extensions: ['woff2', 'woff']\n }\n },\n helvetica_neue: {\n HelveticaNeueW01_55Roma: {\n file: 'HelveticaNeueW01-55Roma',\n family: 'Helvetica Neue',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n HelveticaNeueW01_75Bold: {\n file: 'HelveticaNeueW01-75Bold',\n family: 'Helvetica Neue',\n style: 'normal',\n weight: 'bold',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n }\n },\n maven_pro: {\n maven_pro_regular: {\n file: 'maven_pro_regular',\n family: 'Maven Pro',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'otf', 'svg']\n },\n maven_pro_bold: {\n file: 'maven_pro_bold',\n family: 'Maven Pro',\n style: 'normal',\n weight: 'bold',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n }\n },\n salesforce_sans: {\n SalesforceSans_Regular: {\n file: 'SalesforceSans-Regular',\n family: 'Salesforce Sans',\n style: 'normal',\n weight: 'normal',\n extensions: ['woff', 'ttf']\n }\n },\n signature: {\n Docusign_1: {\n file: '1_Docusign',\n family: '1_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_2: {\n file: '2_Docusign',\n family: '2_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_3: {\n file: '3_Docusign',\n family: '3_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_4: {\n file: '4_Docusign',\n family: '4_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_5: {\n file: '5_Docusign',\n family: '5_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_6: {\n file: '6_Docusign',\n family: '6_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_7: {\n file: '7_Docusign',\n family: '7_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_8: {\n file: '8_Docusign',\n family: '8_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Mistral: {\n file: 'Mistral',\n family: 'Mistral',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Rage: {\n file: 'Rage',\n family: 'Rage',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n TA_akiko: {\n file: 'TA_akiko',\n family: 'TA_akiko',\n style: 'normal',\n weight: 'normal',\n extensions: ['ttf']\n },\n TA_asako: {\n file: 'TA_asako',\n family: 'TA_asako',\n style: 'normal',\n weight: 'normal',\n extensions: ['ttf']\n },\n TA_sourin_fude_02: {\n file: 'TA_sourin_fude_02',\n family: 'TA_sourin_fude_02',\n style: 'normal',\n weight: 'normal',\n extensions: ['ttf']\n },\n TA_yubi_hyojun_kaisyo: {\n file: 'TA_yubi_hyojun_kaisyo',\n family: 'TA_yubi_hyojun_kaisyo',\n style: 'normal',\n weight: 'normal',\n extensions: ['ttf']\n }\n },\n neue_haas_grotesk: {\n neue_haas_grotesk_lite: {\n file: 'nhg_lite',\n family: 'Neue Haas Grotesk',\n style: 'normal',\n weight: '300',\n extensions: ['eot', 'woff2', 'woff', 'ttf']\n },\n neue_haas_grotesk_regular: {\n file: 'nhg_regular',\n family: 'Neue Haas Grotesk',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff2', 'woff', 'ttf']\n },\n neue_haas_grotesk_bold: {\n file: 'nhg_bold',\n family: 'Neue Haas Grotesk',\n style: 'normal',\n weight: 'bold',\n extensions: ['eot', 'woff2', 'woff', 'ttf']\n }\n }\n};\nexport default fontGroups;","module.exports = require(\"core-js-pure/features/instance/index-of\");","module.exports = require(\"core-js-pure/features/array/is-array\");","module.exports = require(\"core-js-pure/features/get-iterator-method\");","import _sliceInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/slice\";\nimport _Array$from from \"@babel/runtime-corejs3/core-js/array/from\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n var _context;\n\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","module.exports = require(\"core-js-pure/stable/instance/sort\");","module.exports = require(\"core-js-pure/stable/instance/slice\");","import _Object$setPrototypeOf from \"@babel/runtime-corejs3/core-js/object/set-prototype-of\";\nexport 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 getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","'use strict'\n\nconst React = require('react')\nconst vfile = require('vfile')\nconst unified = require('unified')\nconst parse = require('remark-parse')\nconst remarkRehype = require('remark-rehype')\nconst PropTypes = require('prop-types')\n// @ts-ignore remove when typed\nconst html = require('property-information/html')\nconst filter = require('./rehype-filter')\nconst uriTransformer = require('./uri-transformer')\nconst childrenToReact = require('./ast-to-react.js').hastChildrenToReact\n\n/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<{}>} ReactElement\n * @typedef {import('unified').PluggableList} PluggableList\n * @typedef {import('hast').Root} Root\n * @typedef {import('./rehype-filter.js').RehypeFilterOptions} FilterOptions\n * @typedef {import('./ast-to-react.js').TransformOptions} TransformOptions\n *\n * @typedef {Object} CoreOptions\n * @property {string} children\n *\n * @typedef {Object} PluginOptions\n * @property {PluggableList} [plugins=[]] **deprecated**: use `remarkPlugins` instead\n * @property {PluggableList} [remarkPlugins=[]]\n * @property {PluggableList} [rehypePlugins=[]]\n *\n * @typedef {Object} LayoutOptions\n * @property {string} [className]\n *\n * @typedef {CoreOptions & PluginOptions & LayoutOptions & FilterOptions & TransformOptions} ReactMarkdownOptions\n */\n\nmodule.exports = ReactMarkdown\n\nconst own = {}.hasOwnProperty\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/**\n * @typedef {Object} Deprecation\n * @property {string} id\n * @property {string} [to]\n */\n\n/**\n * @type {Object.<string, Deprecation>}\n */\nconst deprecated = {\n renderers: {to: 'components', id: 'change-renderers-to-components'},\n astPlugins: {id: 'remove-buggy-html-in-markdown-parser'},\n allowDangerousHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n escapeHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n source: {to: 'children', id: 'change-source-to-children'},\n allowNode: {\n to: 'allowElement',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n allowedTypes: {\n to: 'allowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n disallowedTypes: {\n to: 'disallowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n includeNodeIndex: {\n to: 'includeElementIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n }\n}\n\n/**\n * @param {ReactMarkdownOptions} options\n * @returns {ReactElement}\n */\nfunction ReactMarkdown(options) {\n for (const key in deprecated) {\n if (own.call(deprecated, key) && own.call(options, key)) {\n /** @type {Deprecation} */\n const deprecation = deprecated[key]\n console.warn(\n `[react-markdown] Warning: please ${\n deprecation.to ? `use \\`${deprecation.to}\\` instead of` : 'remove'\n } \\`${key}\\` (see <${changelog}#${deprecation.id}> for more info)`\n )\n delete deprecated[key]\n }\n }\n\n const processor = unified()\n .use(parse)\n // TODO: deprecate `plugins` in v7.0.0.\n .use(options.remarkPlugins || options.plugins || [])\n .use(remarkRehype, {allowDangerousHtml: true})\n .use(options.rehypePlugins || [])\n .use(filter, options)\n\n /** @type {vfile} */\n let file\n\n if (typeof options.children === 'string') {\n file = vfile(options.children)\n } else {\n if (options.children !== undefined && options.children !== null) {\n console.warn(\n `[react-markdown] Warning: please pass a string as \\`children\\` (not: \\`${options.children}\\`)`\n )\n }\n\n file = vfile()\n }\n\n /** @type {Root} */\n // @ts-ignore we’ll throw if it isn’t a root next.\n const hastNode = processor.runSync(processor.parse(file), file)\n\n if (hastNode.type !== 'root') {\n throw new TypeError('Expected a `root` node')\n }\n\n /** @type {ReactElement} */\n let result = React.createElement(\n React.Fragment,\n {},\n childrenToReact({options: options, schema: html, listDepth: 0}, hastNode)\n )\n\n if (options.className) {\n result = React.createElement('div', {className: options.className}, result)\n }\n\n return result\n}\n\nReactMarkdown.defaultProps = {transformLinkUri: uriTransformer}\n\nReactMarkdown.propTypes = {\n // Core options:\n children: PropTypes.string,\n // Layout options:\n className: PropTypes.string,\n // Filter options:\n allowElement: PropTypes.func,\n allowedElements: PropTypes.arrayOf(PropTypes.string),\n disallowedElements: PropTypes.arrayOf(PropTypes.string),\n unwrapDisallowed: PropTypes.bool,\n // Plugin options:\n // type-coverage:ignore-next-line\n remarkPlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))\n ])\n ),\n // type-coverage:ignore-next-line\n rehypePlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))\n ])\n ),\n // Transform options:\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n skipHtml: PropTypes.bool,\n includeElementIndex: PropTypes.bool,\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n components: PropTypes.object\n}\n\nReactMarkdown.uriTransformer = uriTransformer\n","import React from 'react'; // TODO: check this\n\nvar NavContext = /*#__PURE__*/React.createContext(null);\nNavContext.displayName = 'NavContext';\nexport default NavContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"disabled\", \"onKeyDown\"];\nimport React from 'react';\nimport createChainedFunction from './createChainedFunction';\n\nfunction isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n/**\n * There are situations due to browser quirks or Bootstrap CSS where\n * an anchor tag is needed, when semantically a button tag is the\n * better choice. SafeAnchor ensures that when an anchor is used like a\n * button its accessible. It also emulates input `disabled` behavior for\n * links, which is usually desirable for Buttons, NavItems, DropdownItems, etc.\n */\n\n\nvar SafeAnchor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'a' : _ref$as,\n disabled = _ref.disabled,\n onKeyDown = _ref.onKeyDown,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var handleClick = function handleClick(event) {\n var href = props.href,\n onClick = props.onClick;\n\n if (disabled || isTrivialHref(href)) {\n event.preventDefault();\n }\n\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n\n if (isTrivialHref(props.href)) {\n props.role = props.role || 'button'; // we want to make sure there is a href attribute on the node\n // otherwise, the cursor incorrectly styled (except with role='button')\n\n props.href = props.href || '#';\n }\n\n if (disabled) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n onClick: handleClick,\n onKeyDown: createChainedFunction(handleKeyDown, onKeyDown)\n }));\n});\nSafeAnchor.displayName = 'SafeAnchor';\nexport default SafeAnchor;","import version from '../version'\n\ndeclare type ConsoleType = 'Information' | 'Warning' | 'Error'\n\nexport default (type: ConsoleType, msg: string) =>\n `${type}: @olive/react v${version}\\n ${msg}`\n","export default '3.21.4'\n","module.exports = require(\"core-js-pure/features/object/get-own-property-symbols\");","module.exports = require(\"core-js-pure/features/object/get-own-property-symbols\");","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport default function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}","import _Reflect$construct from \"@babel/runtime-corejs3/core-js/reflect/construct\";\nimport _bindInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/bind\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\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\n var Constructor = _bindInstanceProperty(Function).apply(Parent, a);\n\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 _Map from \"@babel/runtime-corejs3/core-js/map\";\nimport _Object$create from \"@babel/runtime-corejs3/core-js/object/create\";\nimport getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\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}","import _indexOfInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/index-of\";\nexport default function _isNativeFunction(fn) {\n var _context;\n\n return _indexOfInstanceProperty(_context = Function.toString.call(fn)).call(_context, \"[native code]\") !== -1;\n}","/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n * MIT license http://www.opensource.org/licenses/mit-license.php/\n * @author Lea Verou http://lea.verou.me\n */\n\n/**\n * prism-react-renderer:\n * This file has been modified to remove:\n * - globals and window dependency\n * - worker support\n * - highlightAll and other element dependent methods\n * - _.hooks helpers\n * - UMD/node-specific hacks\n * It has also been run through prettier\n */\nvar Prism = function () {\n var uniqueId = 0;\n var _ = {\n util: {\n encode: function (tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);\n } else if (_.util.type(tokens) === \"Array\") {\n return tokens.map(_.util.encode);\n } else {\n return tokens.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/\\u00a0/g, \" \");\n }\n },\n type: function (o) {\n return Object.prototype.toString.call(o).match(/\\[object (\\w+)\\]/)[1];\n },\n objId: function (obj) {\n if (!obj[\"__id\"]) {\n Object.defineProperty(obj, \"__id\", {\n value: ++uniqueId\n });\n }\n\n return obj[\"__id\"];\n },\n // Deep clone a language definition (e.g. to extend it)\n clone: function (o, visited) {\n var type = _.util.type(o);\n\n visited = visited || {};\n\n switch (type) {\n case \"Object\":\n if (visited[_.util.objId(o)]) {\n return visited[_.util.objId(o)];\n }\n\n var clone = {};\n visited[_.util.objId(o)] = clone;\n\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = _.util.clone(o[key], visited);\n }\n }\n\n return clone;\n\n case \"Array\":\n if (visited[_.util.objId(o)]) {\n return visited[_.util.objId(o)];\n }\n\n var clone = [];\n visited[_.util.objId(o)] = clone;\n o.forEach(function (v, i) {\n clone[i] = _.util.clone(v, visited);\n });\n return clone;\n }\n\n return o;\n }\n },\n languages: {\n extend: function (id, redef) {\n var lang = _.util.clone(_.languages[id]);\n\n for (var key in redef) {\n lang[key] = redef[key];\n }\n\n return lang;\n },\n\n /**\n * Insert a token before another token in a language literal\n * As this needs to recreate the object (we cannot actually insert before keys in object literals),\n * we cannot just provide an object, we need anobject and a key.\n * @param inside The key (or language id) of the parent\n * @param before The key to insert before. If not provided, the function appends instead.\n * @param insert Object with the key/value pairs to insert\n * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted.\n */\n insertBefore: function (inside, before, insert, root) {\n root = root || _.languages;\n var grammar = root[inside];\n\n if (arguments.length == 2) {\n insert = arguments[1];\n\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n grammar[newToken] = insert[newToken];\n }\n }\n\n return grammar;\n }\n\n var ret = {};\n\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n }\n\n ret[token] = grammar[token];\n }\n } // Update references in other language definitions\n\n\n _.languages.DFS(_.languages, function (key, value) {\n if (value === root[inside] && key != inside) {\n this[key] = ret;\n }\n });\n\n return root[inside] = ret;\n },\n // Traverse a language definition with Depth First Search\n DFS: function (o, callback, type, visited) {\n visited = visited || {};\n\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n\n if (_.util.type(o[i]) === \"Object\" && !visited[_.util.objId(o[i])]) {\n visited[_.util.objId(o[i])] = true;\n\n _.languages.DFS(o[i], callback, null, visited);\n } else if (_.util.type(o[i]) === \"Array\" && !visited[_.util.objId(o[i])]) {\n visited[_.util.objId(o[i])] = true;\n\n _.languages.DFS(o[i], callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n highlight: function (text, grammar, language) {\n var env = {\n code: text,\n grammar: grammar,\n language: language\n };\n\n _.hooks.run(\"before-tokenize\", env);\n\n env.tokens = _.tokenize(env.code, env.grammar);\n\n _.hooks.run(\"after-tokenize\", env);\n\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n matchGrammar: function (text, strarr, grammar, index, startPos, oneshot, target) {\n var Token = _.Token;\n\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n\n if (token == target) {\n return;\n }\n\n var patterns = grammar[token];\n patterns = _.util.type(patterns) === \"Array\" ? patterns : [patterns];\n\n for (var j = 0; j < patterns.length; ++j) {\n var pattern = patterns[j],\n inside = pattern.inside,\n lookbehind = !!pattern.lookbehind,\n greedy = !!pattern.greedy,\n lookbehindLength = 0,\n alias = pattern.alias;\n\n if (greedy && !pattern.pattern.global) {\n // Without the global flag, lastIndex won't work\n var flags = pattern.pattern.toString().match(/[imuy]*$/)[0];\n pattern.pattern = RegExp(pattern.pattern.source, flags + \"g\");\n }\n\n pattern = pattern.pattern || pattern; // Don’t cache length as it changes during the loop\n\n for (var i = index, pos = startPos; i < strarr.length; pos += strarr[i].length, ++i) {\n var str = strarr[i];\n\n if (strarr.length > text.length) {\n // Something went terribly wrong, ABORT, ABORT!\n return;\n }\n\n if (str instanceof Token) {\n continue;\n }\n\n if (greedy && i != strarr.length - 1) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n\n if (!match) {\n break;\n }\n\n var from = match.index + (lookbehind ? match[1].length : 0),\n to = match.index + match[0].length,\n k = i,\n p = pos;\n\n for (var len = strarr.length; k < len && (p < to || !strarr[k].type && !strarr[k - 1].greedy); ++k) {\n p += strarr[k].length; // Move the index i to the element in strarr that is closest to from\n\n if (from >= p) {\n ++i;\n pos = p;\n }\n } // If strarr[i] is a Token, then the match starts inside another Token, which is invalid\n\n\n if (strarr[i] instanceof Token) {\n continue;\n } // Number of tokens to delete and replace with the new match\n\n\n delNum = k - i;\n str = text.slice(pos, p);\n match.index -= pos;\n } else {\n pattern.lastIndex = 0;\n var match = pattern.exec(str),\n delNum = 1;\n }\n\n if (!match) {\n if (oneshot) {\n break;\n }\n\n continue;\n }\n\n if (lookbehind) {\n lookbehindLength = match[1] ? match[1].length : 0;\n }\n\n var from = match.index + lookbehindLength,\n match = match[0].slice(lookbehindLength),\n to = from + match.length,\n before = str.slice(0, from),\n after = str.slice(to);\n var args = [i, delNum];\n\n if (before) {\n ++i;\n pos += before.length;\n args.push(before);\n }\n\n var wrapped = new Token(token, inside ? _.tokenize(match, inside) : match, alias, match, greedy);\n args.push(wrapped);\n\n if (after) {\n args.push(after);\n }\n\n Array.prototype.splice.apply(strarr, args);\n\n if (delNum != 1) {\n _.matchGrammar(text, strarr, grammar, i, pos, true, token);\n }\n\n if (oneshot) {\n break;\n }\n }\n }\n }\n },\n hooks: {\n add: function () {},\n run: function (name, env) {}\n },\n tokenize: function (text, grammar, language) {\n var strarr = [text];\n var rest = grammar.rest;\n\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n\n delete grammar.rest;\n }\n\n _.matchGrammar(text, strarr, grammar, 0, 0, false);\n\n return strarr;\n }\n };\n\n var Token = _.Token = function (type, content, alias, matchedStr, greedy) {\n this.type = type;\n this.content = content;\n this.alias = alias; // Copy of the full string this token was created from\n\n this.length = (matchedStr || \"\").length | 0;\n this.greedy = !!greedy;\n };\n\n Token.stringify = function (o, language, parent) {\n if (typeof o == \"string\") {\n return o;\n }\n\n if (_.util.type(o) === \"Array\") {\n return o.map(function (element) {\n return Token.stringify(element, language, o);\n }).join(\"\");\n }\n\n var env = {\n type: o.type,\n content: Token.stringify(o.content, language, parent),\n tag: \"span\",\n classes: [\"token\", o.type],\n attributes: {},\n language: language,\n parent: parent\n };\n\n if (o.alias) {\n var aliases = _.util.type(o.alias) === \"Array\" ? o.alias : [o.alias];\n Array.prototype.push.apply(env.classes, aliases);\n }\n\n var attributes = Object.keys(env.attributes).map(function (name) {\n return name + '=\"' + (env.attributes[name] || \"\").replace(/\"/g, \""\") + '\"';\n }).join(\" \");\n return \"<\" + env.tag + ' class=\"' + env.classes.join(\" \") + '\"' + (attributes ? \" \" + attributes : \"\") + \">\" + env.content + \"</\" + env.tag + \">\";\n };\n\n return _;\n}();\n\n/* This content is auto-generated to include some prismjs language components: */\n\n/* \"prismjs/components/prism-markup\" */\n\nPrism.languages.markup = {\n 'comment': /<!--[\\s\\S]*?-->/,\n 'prolog': /<\\?[\\s\\S]+?\\?>/,\n 'doctype': {\n // https://www.w3.org/TR/xml/#NT-doctypedecl\n pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n greedy: true,\n inside: {\n 'internal-subset': {\n pattern: /(\\[)[\\s\\S]+(?=\\]>$)/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n\n },\n 'string': {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n 'punctuation': /^<!|>$|[[\\]]/,\n 'doctype-tag': /^DOCTYPE/,\n 'name': /[^\\s<>'\"]+/\n }\n },\n 'cdata': /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n 'tag': {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n greedy: true,\n inside: {\n 'tag': {\n pattern: /^<\\/?[^\\s>\\/]+/,\n inside: {\n 'punctuation': /^<\\/?/,\n 'namespace': /^[^\\s>\\/:]+:/\n }\n },\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n inside: {\n 'punctuation': [{\n pattern: /^=/,\n alias: 'attr-equals'\n }, /\"|'/]\n }\n },\n 'punctuation': /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n 'namespace': /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n 'entity': [{\n pattern: /&[\\da-z]{1,8};/i,\n alias: 'named-entity'\n }, /&#x?[\\da-f]{1,8};/i]\n};\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup; // Plugin to make entity title show the real entity, idea by Roman Komarov\n\nPrism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.replace(/&/, '&');\n }\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n /**\n * Adds an inlined language to markup.\n *\n * An example of an inlined language is CSS with `<style>` tags.\n *\n * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addInlined('style', 'css');\n */\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {};\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n };\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n };\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n };\n var def = {};\n def[tagName] = {\n pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () {\n return tagName;\n }), 'i'),\n lookbehind: true,\n greedy: true,\n inside: inside\n };\n Prism.languages.insertBefore('markup', 'cdata', def);\n }\n});\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n/* \"prismjs/components/prism-bash\" */\n\n(function (Prism) {\n // $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\\n' '|'\n // + LC_ALL, RANDOM, REPLY, SECONDS.\n // + make sure PS1..4 are here as they are not always set,\n // - some useless things.\n var envVars = '\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b';\n var commandAfterHeredoc = {\n pattern: /(^([\"']?)\\w+\\2)[ \\t]+\\S.*/,\n lookbehind: true,\n alias: 'punctuation',\n // this looks reasonably well in all themes\n inside: null // see below\n\n };\n var insideString = {\n 'bash': commandAfterHeredoc,\n 'environment': {\n pattern: RegExp(\"\\\\$\" + envVars),\n alias: 'constant'\n },\n 'variable': [// [0]: Arithmetic Environment\n {\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n greedy: true,\n inside: {\n // If there is a $ sign at the beginning highlight $(( and )) as variable\n 'variable': [{\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: true\n }, /^\\$\\(\\(/],\n 'number': /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic\n 'operator': /--?|-=|\\+\\+?|\\+=|!=?|~|\\*\\*?|\\*=|\\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\\^=?|\\|\\|?|\\|=|\\?|:/,\n // If there is no $ sign at the beginning highlight (( and )) as punctuation\n 'punctuation': /\\(\\(?|\\)\\)?|,|;/\n }\n }, // [1]: Command Substitution\n {\n pattern: /\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,\n greedy: true,\n inside: {\n 'variable': /^\\$\\(|^`|\\)$|`$/\n }\n }, // [2]: Brace expansion\n {\n pattern: /\\$\\{[^}]+\\}/,\n greedy: true,\n inside: {\n 'operator': /:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,\n 'punctuation': /[\\[\\]]/,\n 'environment': {\n pattern: RegExp(\"(\\\\{)\" + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n }\n }, /\\$(?:\\w+|[#?*!@$])/],\n // Escape sequences from echo and printf's manuals, and escaped quotes.\n 'entity': /\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/\n };\n Prism.languages.bash = {\n 'shebang': {\n pattern: /^#!\\s*\\/.*/,\n alias: 'important'\n },\n 'comment': {\n pattern: /(^|[^\"{\\\\$])#.*/,\n lookbehind: true\n },\n 'function-name': [// a) function foo {\n // b) foo() {\n // c) function foo() {\n // but not “foo {â€\n {\n // a) and c)\n pattern: /(\\bfunction\\s+)\\w+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,\n lookbehind: true,\n alias: 'function'\n }, {\n // b)\n pattern: /\\b\\w+(?=\\s*\\(\\s*\\)\\s*\\{)/,\n alias: 'function'\n }],\n // Highlight variable names as variables in for and select beginnings.\n 'for-or-select': {\n pattern: /(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,\n alias: 'variable',\n lookbehind: true\n },\n // Highlight variable names as variables in the left-hand part\n // of assignments (“=†and “+=â€).\n 'assign-left': {\n pattern: /(^|[\\s;|&]|[<>]\\()\\w+(?=\\+?=)/,\n inside: {\n 'environment': {\n pattern: RegExp(\"(^|[\\\\s;|&]|[<>]\\\\()\" + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n },\n alias: 'variable',\n lookbehind: true\n },\n 'string': [// Support for Here-documents https://en.wikipedia.org/wiki/Here_document\n {\n pattern: /((?:^|[^<])<<-?\\s*)(\\w+?)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n }, // Here-document with quotes around the tag\n // → No expansion (so no “insideâ€).\n {\n pattern: /((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'bash': commandAfterHeredoc\n }\n }, // “Normal†string\n {\n pattern: /(^|[^\\\\](?:\\\\\\\\)*)([\"'])(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|(?!\\2)[^\\\\`$])*\\2/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n }],\n 'environment': {\n pattern: RegExp(\"\\\\$?\" + envVars),\n alias: 'constant'\n },\n 'variable': insideString.variable,\n 'function': {\n pattern: /(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n 'keyword': {\n pattern: /(^|[\\s;|&]|[<>]\\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n // https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n 'builtin': {\n pattern: /(^|[\\s;|&]|[<>]\\()(?:\\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\\s;|&])/,\n lookbehind: true,\n // Alias added to make those easier to distinguish from strings.\n alias: 'class-name'\n },\n 'boolean': {\n pattern: /(^|[\\s;|&]|[<>]\\()(?:true|false)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n 'file-descriptor': {\n pattern: /\\B&\\d\\b/,\n alias: 'important'\n },\n 'operator': {\n // Lots of redirections here, but not just that.\n pattern: /\\d?<>|>\\||\\+=|==?|!=?|=~|<<[<-]?|[&\\d]?>>|\\d?[<>]&?|&[>&]?|\\|[&|]?|<=?|>=?/,\n inside: {\n 'file-descriptor': {\n pattern: /^\\d/,\n alias: 'important'\n }\n }\n },\n 'punctuation': /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,\n 'number': {\n pattern: /(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,\n lookbehind: true\n }\n };\n commandAfterHeredoc.inside = Prism.languages.bash;\n /* Patterns in command substitution. */\n\n var toBeCopied = ['comment', 'function-name', 'for-or-select', 'assign-left', 'string', 'environment', 'function', 'keyword', 'builtin', 'boolean', 'file-descriptor', 'operator', 'punctuation', 'number'];\n var inside = insideString.variable[1].inside;\n\n for (var i = 0; i < toBeCopied.length; i++) {\n inside[toBeCopied[i]] = Prism.languages.bash[toBeCopied[i]];\n }\n\n Prism.languages.shell = Prism.languages.bash;\n})(Prism);\n/* \"prismjs/components/prism-clike\" */\n\n\nPrism.languages.clike = {\n 'comment': [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }],\n 'string': {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n 'punctuation': /[.\\\\]/\n }\n },\n 'keyword': /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n 'boolean': /\\b(?:true|false)\\b/,\n 'function': /\\w+(?=\\()/,\n 'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n 'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n 'punctuation': /[{}[\\];(),.:]/\n};\n/* \"prismjs/components/prism-c\" */\n\nPrism.languages.c = Prism.languages.extend('clike', {\n 'comment': {\n pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n lookbehind: true\n },\n 'keyword': /\\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\\b/,\n 'function': /[a-z_]\\w*(?=\\s*\\()/i,\n 'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n 'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n});\nPrism.languages.insertBefore('c', 'string', {\n 'macro': {\n // allow for multiline macro definitions\n // spaces after the # character compile fine with gcc\n pattern: /(^\\s*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n 'string': [{\n // highlight the path of the include statement as a string\n pattern: /^(#\\s*include\\s*)<[^>]+>/,\n lookbehind: true\n }, Prism.languages.c['string']],\n 'comment': Prism.languages.c['comment'],\n 'macro-name': [{\n pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n lookbehind: true\n }, {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n lookbehind: true,\n alias: 'function'\n }],\n // highlight macro directives as keywords\n 'directive': {\n pattern: /^(#\\s*)[a-z]+/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'directive-hash': /^#/,\n 'punctuation': /##|\\\\(?=[\\r\\n])/,\n 'expression': {\n pattern: /\\S[\\s\\S]*/,\n inside: Prism.languages.c\n }\n }\n },\n // highlight predefined macros as constants\n 'constant': /\\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\\b/\n});\ndelete Prism.languages.c['boolean'];\n/* \"prismjs/components/prism-cpp\" */\n\n(function (Prism) {\n var keyword = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/;\n Prism.languages.cpp = Prism.languages.extend('c', {\n 'class-name': [{\n pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function () {\n return keyword.source;\n })),\n lookbehind: true\n }, // This is intended to capture the class name of method implementations like:\n // void foo::bar() const {}\n // However! The `foo` in the above example could also be a namespace, so we only capture the class name if\n // it starts with an uppercase letter. This approximation should give decent results.\n /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, // This will capture the class name before destructors like:\n // Foo::~Foo() {}\n /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, // This also intends to capture the class name of method implementations but here the class has template\n // parameters, so it can't be a namespace (until C++ adds generic namespaces).\n /\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/],\n 'keyword': keyword,\n 'number': {\n pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n greedy: true\n },\n 'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n 'boolean': /\\b(?:true|false)\\b/\n });\n Prism.languages.insertBefore('cpp', 'string', {\n 'raw-string': {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: 'string',\n greedy: true\n }\n });\n Prism.languages.insertBefore('cpp', 'class-name', {\n // the base clause is an optional list of parent classes\n // https://en.cppreference.com/w/cpp/language/class\n 'base-clause': {\n pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.extend('cpp', {})\n }\n });\n Prism.languages.insertBefore('inside', 'operator', {\n // All untokenized words that are not namespaces should be class names\n 'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n }, Prism.languages.cpp['base-clause']);\n})(Prism);\n/* \"prismjs/components/prism-css\" */\n\n\n(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;\n Prism.languages.css = {\n 'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n 'atrule': {\n pattern: /@[\\w-](?:[^;{\\s]|\\s+(?![\\s{]))*(?:;|(?=\\s*\\{))/,\n inside: {\n 'rule': /^@[\\w-]+/,\n 'selector-function-argument': {\n pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n lookbehind: true,\n alias: 'selector'\n },\n 'keyword': {\n pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n lookbehind: true\n } // See rest below\n\n }\n },\n 'url': {\n // https://drafts.csswg.org/css-values-3/#urls\n pattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n greedy: true,\n inside: {\n 'function': /^url/i,\n 'punctuation': /^\\(|\\)$/,\n 'string': {\n pattern: RegExp('^' + string.source + '$'),\n alias: 'url'\n }\n }\n },\n 'selector': RegExp('[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n 'string': {\n pattern: string,\n greedy: true\n },\n 'property': /(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n 'important': /!important\\b/i,\n 'function': /[-a-z0-9]+(?=\\()/i,\n 'punctuation': /[(){};:,]/\n };\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css;\n var markup = Prism.languages.markup;\n\n if (markup) {\n markup.tag.addInlined('style', 'css');\n Prism.languages.insertBefore('inside', 'attr-value', {\n 'style-attr': {\n pattern: /(^|[\"'\\s])style\\s*=\\s*(?:\"[^\"]*\"|'[^']*')/i,\n lookbehind: true,\n inside: {\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n inside: {\n 'style': {\n pattern: /([\"'])[\\s\\S]+(?=[\"']$)/,\n lookbehind: true,\n alias: 'language-css',\n inside: Prism.languages.css\n },\n 'punctuation': [{\n pattern: /^=/,\n alias: 'attr-equals'\n }, /\"|'/]\n }\n },\n 'attr-name': /^style/i\n }\n }\n }, markup.tag);\n }\n})(Prism);\n/* \"prismjs/components/prism-css-extras\" */\n\n\n(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;\n var selectorInside;\n Prism.languages.css.selector = {\n pattern: Prism.languages.css.selector,\n inside: selectorInside = {\n 'pseudo-element': /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\n 'pseudo-class': /:[-\\w]+/,\n 'class': /\\.[-\\w]+/,\n 'id': /#[-\\w]+/,\n 'attribute': {\n pattern: RegExp('\\\\[(?:[^[\\\\]\"\\']|' + string.source + ')*\\\\]'),\n greedy: true,\n inside: {\n 'punctuation': /^\\[|\\]$/,\n 'case-sensitivity': {\n pattern: /(\\s)[si]$/i,\n lookbehind: true,\n alias: 'keyword'\n },\n 'namespace': {\n pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/,\n lookbehind: true,\n inside: {\n 'punctuation': /\\|$/\n }\n },\n 'attr-name': {\n pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/,\n lookbehind: true\n },\n 'attr-value': [string, {\n pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/,\n lookbehind: true\n }],\n 'operator': /[|~*^$]?=/\n }\n },\n 'n-th': [{\n pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/,\n lookbehind: true,\n inside: {\n 'number': /[\\dn]+/,\n 'operator': /[+-]/\n }\n }, {\n pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i,\n lookbehind: true\n }],\n 'combinator': />|\\+|~|\\|\\|/,\n // the `tag` token has been existed and removed.\n // because we can't find a perfect tokenize to match it.\n // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.\n 'punctuation': /[(),]/\n }\n };\n Prism.languages.css['atrule'].inside['selector-function-argument'].inside = selectorInside;\n Prism.languages.insertBefore('css', 'property', {\n 'variable': {\n pattern: /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i,\n lookbehind: true\n }\n });\n var unit = {\n pattern: /(\\b\\d+)(?:%|[a-z]+\\b)/,\n lookbehind: true\n }; // 123 -123 .123 -.123 12.3 -12.3\n\n var number = {\n pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,\n lookbehind: true\n };\n Prism.languages.insertBefore('css', 'function', {\n 'operator': {\n pattern: /(\\s)[+\\-*\\/](?=\\s)/,\n lookbehind: true\n },\n // CAREFUL!\n // Previewers and Inline color use hexcode and color.\n 'hexcode': {\n pattern: /\\B#(?:[\\da-f]{1,2}){3,4}\\b/i,\n alias: 'color'\n },\n 'color': [/\\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|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|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\\b/i, {\n pattern: /\\b(?:rgb|hsl)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:rgb|hsl)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,\n inside: {\n 'unit': unit,\n 'number': number,\n 'function': /[\\w-]+(?=\\()/,\n 'punctuation': /[(),]/\n }\n }],\n // it's important that there is no boundary assertion after the hex digits\n 'entity': /\\\\[\\da-f]{1,8}/i,\n 'unit': unit,\n 'number': number\n });\n})(Prism);\n/* \"prismjs/components/prism-javascript\" */\n\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [Prism.languages.clike['class-name'], {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:prototype|constructor))/,\n lookbehind: true\n }],\n 'keyword': [{\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: true\n }, {\n pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\\s*[\\[$\\w\\xA0-\\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n }],\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n 'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n 'number': /\\b(?:(?:0[xX](?:[\\dA-Fa-f](?:_[\\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\\d(?:_\\d)?)+n|NaN|Infinity)\\b|(?:\\b(?:\\d(?:_\\d)?)+\\.?(?:\\d(?:_\\d)?)*|\\B\\.(?:\\d(?:_\\d)?)+)(?:[Ee][+-]?(?:\\d(?:_\\d)?)+)?/,\n 'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/;\nPrism.languages.insertBefore('javascript', 'keyword', {\n 'regex': {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyus]{0,6}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'regex-source': {\n pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-flags': /[a-z]+$/,\n 'regex-delimiter': /^\\/|\\/$/\n }\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n alias: 'function'\n },\n 'parameter': [{\n pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }, {\n pattern: /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n inside: Prism.languages.javascript\n }, {\n pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }, {\n pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }],\n 'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\nPrism.languages.insertBefore('javascript', 'string', {\n 'template-string': {\n pattern: /`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\\${)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n 'interpolation': {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\${|}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n 'string': /[\\s\\S]+/\n }\n }\n});\n\nif (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript');\n}\n\nPrism.languages.js = Prism.languages.javascript;\n/* \"prismjs/components/prism-jsx\" */\n\n(function (Prism) {\n var javascript = Prism.util.clone(Prism.languages.javascript);\n Prism.languages.jsx = Prism.languages.extend('markup', javascript);\n Prism.languages.jsx.tag.pattern = /<\\/?(?:[\\w.:-]+(?:\\s+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[^]|[^\\\\\"])*\"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s{'\">=]+|\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}))?|\\{\\s*\\.{3}\\s*[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\s*\\}))*\\s*\\/?)?>/i;\n Prism.languages.jsx.tag.inside['tag'].pattern = /^<\\/?[^\\s>\\/]*/i;\n Prism.languages.jsx.tag.inside['attr-value'].pattern = /=(?!\\{)(?:\"(?:\\\\[^]|[^\\\\\"])*\"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s'\">]+)/i;\n Prism.languages.jsx.tag.inside['tag'].inside['class-name'] = /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/;\n Prism.languages.insertBefore('inside', 'attr-name', {\n 'spread': {\n pattern: /\\{\\s*\\.{3}\\s*[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\s*\\}/,\n inside: {\n 'punctuation': /\\.{3}|[{}.]/,\n 'attr-value': /\\w+/\n }\n }\n }, Prism.languages.jsx.tag);\n Prism.languages.insertBefore('inside', 'attr-value', {\n 'script': {\n // Allow for two levels of nesting\n pattern: /=(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\})/i,\n inside: {\n 'script-punctuation': {\n pattern: /^=(?={)/,\n alias: 'punctuation'\n },\n rest: Prism.languages.jsx\n },\n 'alias': 'language-javascript'\n }\n }, Prism.languages.jsx.tag); // The following will handle plain text inside tags\n\n var stringifyToken = function (token) {\n if (!token) {\n return '';\n }\n\n if (typeof token === 'string') {\n return token;\n }\n\n if (typeof token.content === 'string') {\n return token.content;\n }\n\n return token.content.map(stringifyToken).join('');\n };\n\n var walkTokens = function (tokens) {\n var openedTags = [];\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n var notTagNorBrace = false;\n\n if (typeof token !== 'string') {\n if (token.type === 'tag' && token.content[0] && token.content[0].type === 'tag') {\n // We found a tag, now find its kind\n if (token.content[0].content[0].content === '</') {\n // Closing tag\n if (openedTags.length > 0 && openedTags[openedTags.length - 1].tagName === stringifyToken(token.content[0].content[1])) {\n // Pop matching opening tag\n openedTags.pop();\n }\n } else {\n if (token.content[token.content.length - 1].content === '/>') ; else {\n // Opening tag\n openedTags.push({\n tagName: stringifyToken(token.content[0].content[1]),\n openedBraces: 0\n });\n }\n }\n } else if (openedTags.length > 0 && token.type === 'punctuation' && token.content === '{') {\n // Here we might have entered a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces++;\n } else if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces > 0 && token.type === 'punctuation' && token.content === '}') {\n // Here we might have left a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces--;\n } else {\n notTagNorBrace = true;\n }\n }\n\n if (notTagNorBrace || typeof token === 'string') {\n if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces === 0) {\n // Here we are inside a tag, and not inside a JSX context.\n // That's plain text: drop any tokens matched.\n var plainText = stringifyToken(token); // And merge text with adjacent text\n\n if (i < tokens.length - 1 && (typeof tokens[i + 1] === 'string' || tokens[i + 1].type === 'plain-text')) {\n plainText += stringifyToken(tokens[i + 1]);\n tokens.splice(i + 1, 1);\n }\n\n if (i > 0 && (typeof tokens[i - 1] === 'string' || tokens[i - 1].type === 'plain-text')) {\n plainText = stringifyToken(tokens[i - 1]) + plainText;\n tokens.splice(i - 1, 1);\n i--;\n }\n\n tokens[i] = new Prism.Token('plain-text', plainText, null, plainText);\n }\n }\n\n if (token.content && typeof token.content !== 'string') {\n walkTokens(token.content);\n }\n }\n };\n\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'jsx' && env.language !== 'tsx') {\n return;\n }\n\n walkTokens(env.tokens);\n });\n})(Prism);\n/* \"prismjs/components/prism-js-extras\" */\n\n\n(function (Prism) {\n Prism.languages.insertBefore('javascript', 'function-variable', {\n 'method-variable': {\n pattern: RegExp('(\\\\.\\\\s*)' + Prism.languages.javascript['function-variable'].pattern.source),\n lookbehind: true,\n alias: ['function-variable', 'method', 'function', 'property-access']\n }\n });\n Prism.languages.insertBefore('javascript', 'function', {\n 'method': {\n pattern: RegExp('(\\\\.\\\\s*)' + Prism.languages.javascript['function'].source),\n lookbehind: true,\n alias: ['function', 'property-access']\n }\n });\n Prism.languages.insertBefore('javascript', 'constant', {\n 'known-class-name': [{\n // standard built-ins\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\n pattern: /\\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\\b/,\n alias: 'class-name'\n }, {\n // errors\n pattern: /\\b(?:[A-Z]\\w*)Error\\b/,\n alias: 'class-name'\n }]\n });\n /**\n * Replaces the `<ID>` placeholder in the given pattern with a pattern for general JS identifiers.\n *\n * @param {string} source\n * @param {string} [flags]\n * @returns {RegExp}\n */\n\n function withId(source, flags) {\n return RegExp(source.replace(/<ID>/g, function () {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source;\n }), flags);\n }\n\n Prism.languages.insertBefore('javascript', 'keyword', {\n 'imports': {\n // https://tc39.es/ecma262/#sec-imports\n pattern: withId(/(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/.source),\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n 'exports': {\n // https://tc39.es/ecma262/#sec-exports\n pattern: withId(/(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/.source),\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n });\n Prism.languages.javascript['keyword'].unshift({\n pattern: /\\b(?:as|default|export|from|import)\\b/,\n alias: 'module'\n }, {\n pattern: /\\b(?:await|break|catch|continue|do|else|for|finally|if|return|switch|throw|try|while|yield)\\b/,\n alias: 'control-flow'\n }, {\n pattern: /\\bnull\\b/,\n alias: ['null', 'nil']\n }, {\n pattern: /\\bundefined\\b/,\n alias: 'nil'\n });\n Prism.languages.insertBefore('javascript', 'operator', {\n 'spread': {\n pattern: /\\.{3}/,\n alias: 'operator'\n },\n 'arrow': {\n pattern: /=>/,\n alias: 'operator'\n }\n });\n Prism.languages.insertBefore('javascript', 'punctuation', {\n 'property-access': {\n pattern: withId(/(\\.\\s*)#?<ID>/.source),\n lookbehind: true\n },\n 'maybe-class-name': {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/,\n lookbehind: true\n },\n 'dom': {\n // this contains only a few commonly used DOM variables\n pattern: /\\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\\b/,\n alias: 'variable'\n },\n 'console': {\n pattern: /\\bconsole(?=\\s*\\.)/,\n alias: 'class-name'\n }\n }); // add 'maybe-class-name' to tokens which might be a class name\n\n var maybeClassNameTokens = ['function', 'function-variable', 'method', 'method-variable', 'property-access'];\n\n for (var i = 0; i < maybeClassNameTokens.length; i++) {\n var token = maybeClassNameTokens[i];\n var value = Prism.languages.javascript[token]; // convert regex to object\n\n if (Prism.util.type(value) === 'RegExp') {\n value = Prism.languages.javascript[token] = {\n pattern: value\n };\n } // keep in mind that we don't support arrays\n\n\n var inside = value.inside || {};\n value.inside = inside;\n inside['maybe-class-name'] = /^[A-Z][\\s\\S]*/;\n }\n})(Prism);\n/* \"prismjs/components/prism-coffeescript\" */\n\n\n(function (Prism) {\n // Ignore comments starting with { to privilege string interpolation highlighting\n var comment = /#(?!\\{).+/,\n interpolation = {\n pattern: /#\\{[^}]+\\}/,\n alias: 'variable'\n };\n Prism.languages.coffeescript = Prism.languages.extend('javascript', {\n 'comment': comment,\n 'string': [// Strings are multiline\n {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: true\n }, {\n // Strings are multiline\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: true,\n inside: {\n 'interpolation': interpolation\n }\n }],\n 'keyword': /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\n 'class-member': {\n pattern: /@(?!\\d)\\w+/,\n alias: 'variable'\n }\n });\n Prism.languages.insertBefore('coffeescript', 'comment', {\n 'multiline-comment': {\n pattern: /###[\\s\\S]+?###/,\n alias: 'comment'\n },\n // Block regexp can contain comments and interpolation\n 'block-regex': {\n pattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n alias: 'regex',\n inside: {\n 'comment': comment,\n 'interpolation': interpolation\n }\n }\n });\n Prism.languages.insertBefore('coffeescript', 'string', {\n 'inline-javascript': {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n inside: {\n 'delimiter': {\n pattern: /^`|`$/,\n alias: 'punctuation'\n },\n 'script': {\n pattern: /[\\s\\S]+/,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n }\n }\n },\n // Block strings\n 'multiline-string': [{\n pattern: /'''[\\s\\S]*?'''/,\n greedy: true,\n alias: 'string'\n }, {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string',\n inside: {\n interpolation: interpolation\n }\n }]\n });\n Prism.languages.insertBefore('coffeescript', 'keyword', {\n // Object property\n 'property': /(?!\\d)\\w+(?=\\s*:(?!:))/\n });\n delete Prism.languages.coffeescript['template-string'];\n Prism.languages.coffee = Prism.languages.coffeescript;\n})(Prism);\n/* \"prismjs/components/prism-diff\" */\n\n\n(function (Prism) {\n Prism.languages.diff = {\n 'coord': [// Match all kinds of coord lines (prefixed by \"+++\", \"---\" or \"***\").\n /^(?:\\*{3}|-{3}|\\+{3}).*$/m, // Match \"@@ ... @@\" coord lines in unified diff.\n /^@@.*@@$/m, // Match coord lines in normal diff (starts with a number).\n /^\\d.*$/m] // deleted, inserted, unchanged, diff\n\n };\n /**\n * A map from the name of a block to its line prefix.\n *\n * @type {Object<string, string>}\n */\n\n var PREFIXES = {\n 'deleted-sign': '-',\n 'deleted-arrow': '<',\n 'inserted-sign': '+',\n 'inserted-arrow': '>',\n 'unchanged': ' ',\n 'diff': '!'\n }; // add a token for each prefix\n\n Object.keys(PREFIXES).forEach(function (name) {\n var prefix = PREFIXES[name];\n var alias = [];\n\n if (!/^\\w+$/.test(name)) {\n // \"deleted-sign\" -> \"deleted\"\n alias.push(/\\w+/.exec(name)[0]);\n }\n\n if (name === \"diff\") {\n alias.push(\"bold\");\n }\n\n Prism.languages.diff[name] = {\n pattern: RegExp('^(?:[' + prefix + '].*(?:\\r\\n?|\\n|(?![\\\\s\\\\S])))+', 'm'),\n alias: alias,\n inside: {\n 'line': {\n pattern: /(.)(?=[\\s\\S]).*(?:\\r\\n?|\\n)?/,\n lookbehind: true\n },\n 'prefix': {\n pattern: /[\\s\\S]/,\n alias: /\\w+/.exec(name)[0]\n }\n }\n };\n }); // make prefixes available to Diff plugin\n\n Object.defineProperty(Prism.languages.diff, 'PREFIXES', {\n value: PREFIXES\n });\n})(Prism);\n/* \"prismjs/components/prism-git\" */\n\n\nPrism.languages.git = {\n /*\n * A simple one line comment like in a git status command\n * For instance:\n * $ git status\n * # On branch infinite-scroll\n * # Your branch and 'origin/sharedBranches/frontendTeam/infinite-scroll' have diverged,\n * # and have 1 and 2 different commits each, respectively.\n * nothing to commit (working directory clean)\n */\n 'comment': /^#.*/m,\n\n /*\n * Regexp to match the changed lines in a git diff output. Check the example below.\n */\n 'deleted': /^[-–].*/m,\n 'inserted': /^\\+.*/m,\n\n /*\n * a string (double and simple quote)\n */\n 'string': /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,\n\n /*\n * a git command. It starts with a random prompt finishing by a $, then \"git\" then some other parameters\n * For instance:\n * $ git add file.txt\n */\n 'command': {\n pattern: /^.*\\$ git .*$/m,\n inside: {\n /*\n * A git command can contain a parameter starting by a single or a double dash followed by a string\n * For instance:\n * $ git diff --cached\n * $ git log -p\n */\n 'parameter': /\\s--?\\w+/m\n }\n },\n\n /*\n * Coordinates displayed in a git diff command\n * For instance:\n * $ git diff\n * diff --git file.txt file.txt\n * index 6214953..1d54a52 100644\n * --- file.txt\n * +++ file.txt\n * @@ -1 +1,2 @@\n * -Here's my tetx file\n * +Here's my text file\n * +And this is the second line\n */\n 'coord': /^@@.*@@$/m,\n\n /*\n * Match a \"commit [SHA1]\" line in a git log output.\n * For instance:\n * $ git log\n * commit a11a14ef7e26f2ca62d4b35eac455ce636d0dc09\n * Author: lgiraudel\n * Date: Mon Feb 17 11:18:34 2014 +0100\n *\n * Add of a new line\n */\n 'commit-sha1': /^commit \\w{40}$/m\n};\n/* \"prismjs/components/prism-go\" */\n\nPrism.languages.go = Prism.languages.extend('clike', {\n 'string': {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n 'keyword': /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,\n 'boolean': /\\b(?:_|iota|nil|true|false)\\b/,\n 'number': /(?:\\b0x[a-f\\d]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[-+]?\\d+)?)i?/i,\n 'operator': /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n 'builtin': /\\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\\b/\n});\ndelete Prism.languages.go['class-name'];\n/* \"prismjs/components/prism-graphql\" */\n\nPrism.languages.graphql = {\n 'comment': /#.*/,\n 'description': {\n pattern: /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i,\n greedy: true,\n alias: 'string',\n inside: {\n 'language-markdown': {\n pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/,\n lookbehind: true,\n inside: Prism.languages.markdown\n }\n }\n },\n 'string': {\n pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n 'number': /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n 'boolean': /\\b(?:true|false)\\b/,\n 'variable': /\\$[a-z_]\\w*/i,\n 'directive': {\n pattern: /@[a-z_]\\w*/i,\n alias: 'function'\n },\n 'attr-name': {\n pattern: /[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*)[a-zA-Z_]\\w*/,\n lookbehind: true\n },\n 'fragment': {\n pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n 'keyword': /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/,\n 'operator': /[!=|&]|\\.{3}/,\n 'punctuation': /[!(){}\\[\\]:=,]/,\n 'constant': /\\b(?!ID\\b)[A-Z][A-Z_\\d]*\\b/\n};\n/* \"prismjs/components/prism-markup-templating\" */\n\n(function (Prism) {\n /**\n * Returns the placeholder for the given language id and index.\n *\n * @param {string} language\n * @param {string|number} index\n * @returns {string}\n */\n function getPlaceholder(language, index) {\n return '___' + language.toUpperCase() + index + '___';\n }\n\n Object.defineProperties(Prism.languages['markup-templating'] = {}, {\n buildPlaceholders: {\n /**\n * Tokenize all inline templating expressions matching `placeholderPattern`.\n *\n * If `replaceFilter` is provided, only matches of `placeholderPattern` for which `replaceFilter` returns\n * `true` will be replaced.\n *\n * @param {object} env The environment of the `before-tokenize` hook.\n * @param {string} language The language id.\n * @param {RegExp} placeholderPattern The matches of this pattern will be replaced by placeholders.\n * @param {(match: string) => boolean} [replaceFilter]\n */\n value: function (env, language, placeholderPattern, replaceFilter) {\n if (env.language !== language) {\n return;\n }\n\n var tokenStack = env.tokenStack = [];\n env.code = env.code.replace(placeholderPattern, function (match) {\n if (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n return match;\n }\n\n var i = tokenStack.length;\n var placeholder; // Check for existing strings\n\n while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) {\n ++i;\n } // Create a sparse array\n\n\n tokenStack[i] = match;\n return placeholder;\n }); // Switch the grammar to markup\n\n env.grammar = Prism.languages.markup;\n }\n },\n tokenizePlaceholders: {\n /**\n * Replace placeholders with proper tokens after tokenizing.\n *\n * @param {object} env The environment of the `after-tokenize` hook.\n * @param {string} language The language id.\n */\n value: function (env, language) {\n if (env.language !== language || !env.tokenStack) {\n return;\n } // Switch the grammar back\n\n\n env.grammar = Prism.languages[language];\n var j = 0;\n var keys = Object.keys(env.tokenStack);\n\n function walkTokens(tokens) {\n for (var i = 0; i < tokens.length; i++) {\n // all placeholders are replaced already\n if (j >= keys.length) {\n break;\n }\n\n var token = tokens[i];\n\n if (typeof token === 'string' || token.content && typeof token.content === 'string') {\n var k = keys[j];\n var t = env.tokenStack[k];\n var s = typeof token === 'string' ? token : token.content;\n var placeholder = getPlaceholder(language, k);\n var index = s.indexOf(placeholder);\n\n if (index > -1) {\n ++j;\n var before = s.substring(0, index);\n var middle = new Prism.Token(language, Prism.tokenize(t, env.grammar), 'language-' + language, t);\n var after = s.substring(index + placeholder.length);\n var replacement = [];\n\n if (before) {\n replacement.push.apply(replacement, walkTokens([before]));\n }\n\n replacement.push(middle);\n\n if (after) {\n replacement.push.apply(replacement, walkTokens([after]));\n }\n\n if (typeof token === 'string') {\n tokens.splice.apply(tokens, [i, 1].concat(replacement));\n } else {\n token.content = replacement;\n }\n }\n } else if (token.content\n /* && typeof token.content !== 'string' */\n ) {\n walkTokens(token.content);\n }\n }\n\n return tokens;\n }\n\n walkTokens(env.tokens);\n }\n }\n });\n})(Prism);\n/* \"prismjs/components/prism-handlebars\" */\n\n\n(function (Prism) {\n Prism.languages.handlebars = {\n 'comment': /\\{\\{![\\s\\S]*?\\}\\}/,\n 'delimiter': {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/i,\n alias: 'punctuation'\n },\n 'string': /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n 'number': /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n 'boolean': /\\b(?:true|false)\\b/,\n 'block': {\n pattern: /^(\\s*(?:~\\s*)?)[#\\/]\\S+?(?=\\s*(?:~\\s*)?$|\\s)/i,\n lookbehind: true,\n alias: 'keyword'\n },\n 'brackets': {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/\n }\n },\n 'punctuation': /[!\"#%&':()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n 'variable': /[^!\"#%&'()*+,\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n };\n Prism.hooks.add('before-tokenize', function (env) {\n var handlebarsPattern = /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g;\n Prism.languages['markup-templating'].buildPlaceholders(env, 'handlebars', handlebarsPattern);\n });\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'handlebars');\n });\n})(Prism);\n/* \"prismjs/components/prism-json\" */\n// https://www.json.org/json-en.html\n\n\nPrism.languages.json = {\n 'property': {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n greedy: true\n },\n 'string': {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n greedy: true\n },\n 'comment': {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n 'number': /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n 'punctuation': /[{}[\\],]/,\n 'operator': /:/,\n 'boolean': /\\b(?:true|false)\\b/,\n 'null': {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n }\n};\nPrism.languages.webmanifest = Prism.languages.json;\n/* \"prismjs/components/prism-less\" */\n\n/* FIXME :\n :extend() is not handled specifically : its highlighting is buggy.\n Mixin usage must be inside a ruleset to be highlighted.\n At-rules (e.g. import) containing interpolations are buggy.\n Detached rulesets are highlighted as at-rules.\n A comment before a mixin usage prevents the latter to be properly highlighted.\n */\n\nPrism.languages.less = Prism.languages.extend('css', {\n 'comment': [/\\/\\*[\\s\\S]*?\\*\\//, {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: true\n }],\n 'atrule': {\n pattern: /@[\\w-](?:\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n 'punctuation': /[:()]/\n }\n },\n // selectors and mixins are considered the same\n 'selector': {\n pattern: /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};@\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n // mixin parameters\n 'variable': /@+[\\w-]+/\n }\n },\n 'property': /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/i,\n 'operator': /[+\\-*\\/]/\n});\nPrism.languages.insertBefore('less', 'property', {\n 'variable': [// Variable declaration (the colon must be consumed!)\n {\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n \"punctuation\": /:/\n }\n }, // Variable usage\n /@@?[\\w-]+/],\n 'mixin-usage': {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-].*?(?=[(;])/,\n lookbehind: true,\n alias: 'function'\n }\n});\n/* \"prismjs/components/prism-makefile\" */\n\nPrism.languages.makefile = {\n 'comment': {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: true\n },\n 'string': {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n // Built-in target names\n 'builtin': /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n // Targets\n 'symbol': {\n pattern: /^(?:[^:=\\s]|[ \\t]+(?![\\s:]))+(?=\\s*:(?!=))/m,\n inside: {\n 'variable': /\\$+(?:(?!\\$)[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n 'variable': /\\$+(?:(?!\\$)[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n 'keyword': [// Directives\n /-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/, // Functions\n {\n pattern: /(\\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \\t])/,\n lookbehind: true\n }],\n 'operator': /(?:::|[?:+!])?=|[|@]/,\n 'punctuation': /[:;(){}]/\n};\n/* \"prismjs/components/prism-markdown\" */\n\n(function (Prism) {\n // Allow only one line break\n var inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?!\\n|\\r\\n?))/.source;\n /**\n * This function is intended for the creation of the bold or italic pattern.\n *\n * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n *\n * _Note:_ Keep in mind that this adds a capturing group.\n *\n * @param {string} pattern\n * @returns {RegExp}\n */\n\n function createInline(pattern) {\n pattern = pattern.replace(/<inner>/g, function () {\n return inner;\n });\n return RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')');\n }\n\n var tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source;\n var tableRow = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function () {\n return tableCell;\n });\n var tableLine = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;\n Prism.languages.markdown = Prism.languages.extend('markup', {});\n Prism.languages.insertBefore('markdown', 'prolog', {\n 'front-matter-block': {\n pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'punctuation': /^---|---$/,\n 'font-matter': {\n pattern: /\\S+(?:\\s+\\S+)*/,\n alias: ['yaml', 'language-yaml'],\n inside: Prism.languages.yaml\n }\n }\n },\n 'blockquote': {\n // > ...\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: 'punctuation'\n },\n 'table': {\n pattern: RegExp('^' + tableRow + tableLine + '(?:' + tableRow + ')*', 'm'),\n inside: {\n 'table-data-rows': {\n pattern: RegExp('^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'),\n lookbehind: true,\n inside: {\n 'table-data': {\n pattern: RegExp(tableCell),\n inside: Prism.languages.markdown\n },\n 'punctuation': /\\|/\n }\n },\n 'table-line': {\n pattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n lookbehind: true,\n inside: {\n 'punctuation': /\\||:?-{3,}:?/\n }\n },\n 'table-header-row': {\n pattern: RegExp('^' + tableRow + '$'),\n inside: {\n 'table-header': {\n pattern: RegExp(tableCell),\n alias: 'important',\n inside: Prism.languages.markdown\n },\n 'punctuation': /\\|/\n }\n }\n }\n },\n 'code': [{\n // Prefixed by 4 spaces or 1 tab and preceded by an empty line\n pattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n lookbehind: true,\n alias: 'keyword'\n }, {\n // `code`\n // ``code``\n pattern: /``.+?``|`[^`\\r\\n]+`/,\n alias: 'keyword'\n }, {\n // ```optional language\n // code block\n // ```\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: true,\n inside: {\n 'code-block': {\n pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n lookbehind: true\n },\n 'code-language': {\n pattern: /^(```).+/,\n lookbehind: true\n },\n 'punctuation': /```/\n }\n }],\n 'title': [{\n // title 1\n // =======\n // title 2\n // -------\n pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n alias: 'important',\n inside: {\n punctuation: /==+$|--+$/\n }\n }, {\n // # title 1\n // ###### title 6\n pattern: /(^\\s*)#.+/m,\n lookbehind: true,\n alias: 'important',\n inside: {\n punctuation: /^#+|#+$/\n }\n }],\n 'hr': {\n // ***\n // ---\n // * * *\n // -----------\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'list': {\n // * item\n // + item\n // - item\n // 1. item\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'url-reference': {\n // [id]: http://example.com \"Optional title\"\n // [id]: http://example.com 'Optional title'\n // [id]: http://example.com (Optional title)\n // [id]: <http://example.com> \"Optional title\"\n pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n 'variable': {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: true\n },\n 'string': /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n 'punctuation': /^[\\[\\]!:]|[<>]/\n },\n alias: 'url'\n },\n 'bold': {\n // **strong**\n // __strong__\n // allow one nested instance of italic text using the same delimiter\n pattern: createInline(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),\n lookbehind: true,\n greedy: true,\n inside: {\n 'content': {\n pattern: /(^..)[\\s\\S]+(?=..$)/,\n lookbehind: true,\n inside: {} // see below\n\n },\n 'punctuation': /\\*\\*|__/\n }\n },\n 'italic': {\n // *em*\n // _em_\n // allow one nested instance of bold text using the same delimiter\n pattern: createInline(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),\n lookbehind: true,\n greedy: true,\n inside: {\n 'content': {\n pattern: /(^.)[\\s\\S]+(?=.$)/,\n lookbehind: true,\n inside: {} // see below\n\n },\n 'punctuation': /[*_]/\n }\n },\n 'strike': {\n // ~~strike through~~\n // ~strike~\n pattern: createInline(/(~~?)(?:(?!~)<inner>)+?\\2/.source),\n lookbehind: true,\n greedy: true,\n inside: {\n 'content': {\n pattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n lookbehind: true,\n inside: {} // see below\n\n },\n 'punctuation': /~~?/\n }\n },\n 'url': {\n // [example](http://example.com \"Optional title\")\n // [example][id]\n // [example] [id]\n pattern: createInline(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),\n lookbehind: true,\n greedy: true,\n inside: {\n 'operator': /^!/,\n 'content': {\n pattern: /(^\\[)[^\\]]+(?=\\])/,\n lookbehind: true,\n inside: {} // see below\n\n },\n 'variable': {\n pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: true\n },\n 'url': {\n pattern: /(^\\]\\()[^\\s)]+/,\n lookbehind: true\n },\n 'string': {\n pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n lookbehind: true\n }\n }\n }\n });\n ['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n ['url', 'bold', 'italic', 'strike'].forEach(function (inside) {\n if (token !== inside) {\n Prism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];\n }\n });\n });\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'markdown' && env.language !== 'md') {\n return;\n }\n\n function walkTokens(tokens) {\n if (!tokens || typeof tokens === 'string') {\n return;\n }\n\n for (var i = 0, l = tokens.length; i < l; i++) {\n var token = tokens[i];\n\n if (token.type !== 'code') {\n walkTokens(token.content);\n continue;\n }\n /*\n * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n * is optional. But the grammar is defined so that there is only one case we have to handle:\n *\n * token.content = [\n * <span class=\"punctuation\">```</span>,\n * <span class=\"code-language\">xxxx</span>,\n * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n * <span class=\"code-block\">...</span>,\n * '\\n', // exactly one new lines again\n * <span class=\"punctuation\">```</span>\n * ];\n */\n\n\n var codeLang = token.content[1];\n var codeBlock = token.content[3];\n\n if (codeLang && codeBlock && codeLang.type === 'code-language' && codeBlock.type === 'code-block' && typeof codeLang.content === 'string') {\n // this might be a language that Prism does not support\n // do some replacements to support C++, C#, and F#\n var lang = codeLang.content.replace(/\\b#/g, 'sharp').replace(/\\b\\+\\+/g, 'pp'); // only use the first word\n\n lang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase();\n var alias = 'language-' + lang; // add alias\n\n if (!codeBlock.alias) {\n codeBlock.alias = [alias];\n } else if (typeof codeBlock.alias === 'string') {\n codeBlock.alias = [codeBlock.alias, alias];\n } else {\n codeBlock.alias.push(alias);\n }\n }\n }\n }\n\n walkTokens(env.tokens);\n });\n Prism.hooks.add('wrap', function (env) {\n if (env.type !== 'code-block') {\n return;\n }\n\n var codeLang = '';\n\n for (var i = 0, l = env.classes.length; i < l; i++) {\n var cls = env.classes[i];\n var match = /language-(.+)/.exec(cls);\n\n if (match) {\n codeLang = match[1];\n break;\n }\n }\n\n var grammar = Prism.languages[codeLang];\n\n if (!grammar) {\n if (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n var id = 'md-' + new Date().valueOf() + '-' + Math.floor(Math.random() * 1e16);\n env.attributes['id'] = id;\n Prism.plugins.autoloader.loadLanguages(codeLang, function () {\n var ele = document.getElementById(id);\n\n if (ele) {\n ele.innerHTML = Prism.highlight(ele.textContent, Prism.languages[codeLang], codeLang);\n }\n });\n }\n } else {\n // reverse Prism.util.encode\n var code = env.content.replace(/</g, '<').replace(/&/g, '&');\n env.content = Prism.highlight(code, grammar, codeLang);\n }\n });\n Prism.languages.md = Prism.languages.markdown;\n})(Prism);\n/* \"prismjs/components/prism-objectivec\" */\n\n\nPrism.languages.objectivec = Prism.languages.extend('c', {\n 'string': /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|@\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n 'keyword': /\\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n 'operator': /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\ndelete Prism.languages.objectivec['class-name'];\nPrism.languages.objc = Prism.languages.objectivec;\n/* \"prismjs/components/prism-ocaml\" */\n\nPrism.languages.ocaml = {\n 'comment': /\\(\\*[\\s\\S]*?\\*\\)/,\n 'string': [{\n pattern: /\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n }, {\n pattern: /(['`])(?:\\\\(?:\\d+|x[\\da-f]+|.)|(?!\\1)[^\\\\\\r\\n])\\1/i,\n greedy: true\n }],\n 'number': /\\b(?:0x[\\da-f][\\da-f_]+|(?:0[bo])?\\d[\\d_]*(?:\\.[\\d_]*)?(?:e[+-]?[\\d_]+)?)/i,\n 'directive': {\n pattern: /\\B#\\w+/,\n alias: 'important'\n },\n 'label': {\n pattern: /\\B~\\w+/,\n alias: 'function'\n },\n 'type-variable': {\n pattern: /\\B'\\w+/,\n alias: 'function'\n },\n 'variant': {\n pattern: /`\\w+/,\n alias: 'variable'\n },\n 'module': {\n pattern: /\\b[A-Z]\\w+/,\n alias: 'variable'\n },\n // For the list of keywords and operators,\n // see: http://caml.inria.fr/pub/docs/manual-ocaml/lex.html#sec84\n 'keyword': /\\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\\b/,\n 'boolean': /\\b(?:false|true)\\b/,\n // Custom operators are allowed\n 'operator': /:=|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\\b/,\n 'punctuation': /[(){}\\[\\]|.,:;]|\\b_\\b/\n};\n/* \"prismjs/components/prism-python\" */\n\nPrism.languages.python = {\n 'comment': {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n },\n 'string-interpolation': {\n pattern: /(?:f|rf|fr)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: true,\n inside: {\n 'interpolation': {\n // \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n pattern: /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,\n lookbehind: true,\n inside: {\n 'format-spec': {\n pattern: /(:)[^:(){}]+(?=}$)/,\n lookbehind: true\n },\n 'conversion-option': {\n pattern: //,\n alias: 'punctuation'\n },\n rest: null\n }\n },\n 'string': /[\\s\\S]+/\n }\n },\n 'triple-quoted-string': {\n pattern: /(?:[rub]|rb|br)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n greedy: true,\n alias: 'string'\n },\n 'string': {\n pattern: /(?:[rub]|rb|br)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: true\n },\n 'function': {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: true\n },\n 'class-name': {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: true\n },\n 'decorator': {\n pattern: /(^\\s*)@\\w+(?:\\.\\w+)*/im,\n lookbehind: true,\n alias: ['annotation', 'punctuation'],\n inside: {\n 'punctuation': /\\./\n }\n },\n 'keyword': /\\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n 'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n 'boolean': /\\b(?:True|False|None)\\b/,\n 'number': /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n 'operator': /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n 'punctuation': /[{}[\\];(),.:]/\n};\nPrism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\nPrism.languages.py = Prism.languages.python;\n/* \"prismjs/components/prism-reason\" */\n\nPrism.languages.reason = Prism.languages.extend('clike', {\n 'string': {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n // 'class-name' must be matched *after* 'constructor' defined below\n 'class-name': /\\b[A-Z]\\w*/,\n 'keyword': /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/,\n 'operator': /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:mod|land|lor|lxor|lsl|lsr|asr)\\b/\n});\nPrism.languages.insertBefore('reason', 'class-name', {\n 'character': {\n pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,\n alias: 'string'\n },\n 'constructor': {\n // Negative look-ahead prevents from matching things like String.capitalize\n pattern: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n alias: 'variable'\n },\n 'label': {\n pattern: /\\b[a-z]\\w*(?=::)/,\n alias: 'symbol'\n }\n}); // We can't match functions property, so let's not even try.\n\ndelete Prism.languages.reason.function;\n/* \"prismjs/components/prism-sass\" */\n\n(function (Prism) {\n Prism.languages.sass = Prism.languages.extend('css', {\n // Sass comments don't need to be closed, only indented\n 'comment': {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t].+)*/m,\n lookbehind: true\n }\n });\n Prism.languages.insertBefore('sass', 'atrule', {\n // We want to consume the whole line\n 'atrule-line': {\n // Includes support for = and + shortcuts\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n inside: {\n 'atrule': /(?:@[\\w-]+|[+=])/m\n }\n }\n });\n delete Prism.languages.sass.atrule;\n var variable = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/;\n var operator = [/[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|or|not)\\b/, {\n pattern: /(\\s+)-(?=\\s)/,\n lookbehind: true\n }];\n Prism.languages.insertBefore('sass', 'property', {\n // We want to consume the whole line\n 'variable-line': {\n pattern: /^[ \\t]*\\$.+/m,\n inside: {\n 'punctuation': /:/,\n 'variable': variable,\n 'operator': operator\n }\n },\n // We want to consume the whole line\n 'property-line': {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s].*)/m,\n inside: {\n 'property': [/[^:\\s]+(?=\\s*:)/, {\n pattern: /(:)[^:\\s]+/,\n lookbehind: true\n }],\n 'punctuation': /:/,\n 'variable': variable,\n 'operator': operator,\n 'important': Prism.languages.sass.important\n }\n }\n });\n delete Prism.languages.sass.property;\n delete Prism.languages.sass.important; // Now that whole lines for other patterns are consumed,\n // what's left should be selectors\n\n Prism.languages.insertBefore('sass', 'punctuation', {\n 'selector': {\n pattern: /([ \\t]*)\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*)*/,\n lookbehind: true\n }\n });\n})(Prism);\n/* \"prismjs/components/prism-scss\" */\n\n\nPrism.languages.scss = Prism.languages.extend('css', {\n 'comment': {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true\n },\n 'atrule': {\n pattern: /@[\\w-](?:\\([^()]+\\)|[^()\\s]|\\s+(?!\\s))*?(?=\\s+[{;])/,\n inside: {\n 'rule': /@[\\w-]+/ // See rest below\n\n }\n },\n // url, compassified\n 'url': /(?:[-a-z]+-)?url(?=\\()/i,\n // CSS selector regex is not appropriate for Sass\n // since there can be lot more things (var, @ directive, nesting..)\n // a selector must start at the end of a property or after a brace (end of other rules or nesting)\n // it can contain some characters that aren't used for defining rules or end of selector, & (parent selector), or interpolated variable\n // the end of a selector is found when there is no rules in it ( {} or {\\s}) or if there is a property (because an interpolated var\n // can \"pass\" as a selector- e.g: proper#{$erty})\n // this one was hard to do, so please be careful if you edit this one :)\n 'selector': {\n // Initial look-ahead is used to prevent matching of blank selectors\n pattern: /(?=\\S)[^@;{}()]?(?:[^@;{}()\\s]|\\s+(?!\\s)|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}][^:{}]*[:{][^}]+))/m,\n inside: {\n 'parent': {\n pattern: /&/,\n alias: 'important'\n },\n 'placeholder': /%[-\\w]+/,\n 'variable': /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n 'property': {\n pattern: /(?:[-\\w]|\\$[-\\w]|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n 'variable': /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n});\nPrism.languages.insertBefore('scss', 'atrule', {\n 'keyword': [/@(?:if|else(?: if)?|forward|for|each|while|import|use|extend|debug|warn|mixin|include|function|return|content)\\b/i, {\n pattern: /( +)(?:from|through)(?= )/,\n lookbehind: true\n }]\n});\nPrism.languages.insertBefore('scss', 'important', {\n // var and interpolated vars\n 'variable': /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n});\nPrism.languages.insertBefore('scss', 'function', {\n 'module-modifier': {\n pattern: /\\b(?:as|with|show|hide)\\b/i,\n alias: 'keyword'\n },\n 'placeholder': {\n pattern: /%[-\\w]+/,\n alias: 'selector'\n },\n 'statement': {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: 'keyword'\n },\n 'boolean': /\\b(?:true|false)\\b/,\n 'null': {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n },\n 'operator': {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|or|not)(?=\\s)/,\n lookbehind: true\n }\n});\nPrism.languages.scss['atrule'].inside.rest = Prism.languages.scss;\n/* \"prismjs/components/prism-sql\" */\n\nPrism.languages.sql = {\n 'comment': {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: true\n },\n 'variable': [{\n pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: true\n }, /@[\\w.$]+/],\n 'string': {\n pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: true,\n lookbehind: true\n },\n 'function': /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n // Should we highlight user defined functions too?\n 'keyword': /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n 'boolean': /\\b(?:TRUE|FALSE|NULL)\\b/i,\n 'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n 'operator': /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n 'punctuation': /[;[\\]()`,.]/\n};\n/* \"prismjs/components/prism-stylus\" */\n\n(function (Prism) {\n var unit = {\n pattern: /(\\b\\d+)(?:%|[a-z]+)/,\n lookbehind: true\n }; // 123 -123 .123 -.123 12.3 -12.3\n\n var number = {\n pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,\n lookbehind: true\n };\n var inside = {\n 'comment': {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true\n },\n 'url': {\n pattern: /url\\(([\"']?).*?\\1\\)/i,\n greedy: true\n },\n 'string': {\n pattern: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: true\n },\n 'interpolation': null,\n // See below\n 'func': null,\n // See below\n 'important': /\\B!(?:important|optional)\\b/i,\n 'keyword': {\n pattern: /(^|\\s+)(?:(?:if|else|for|return|unless)(?=\\s+|$)|@[\\w-]+)/,\n lookbehind: true\n },\n 'hexcode': /#[\\da-f]{3,6}/i,\n 'color': [/\\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|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|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\\b/i, {\n pattern: /\\b(?:rgb|hsl)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:rgb|hsl)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,\n inside: {\n 'unit': unit,\n 'number': number,\n 'function': /[\\w-]+(?=\\()/,\n 'punctuation': /[(),]/\n }\n }],\n 'entity': /\\\\[\\da-f]{1,8}/i,\n 'unit': unit,\n 'boolean': /\\b(?:true|false)\\b/,\n 'operator': [// We want non-word chars around \"-\" because it is\n // accepted in property names.\n /~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.{2,3}|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/],\n 'number': number,\n 'punctuation': /[{}()\\[\\];:,]/\n };\n inside['interpolation'] = {\n pattern: /\\{[^\\r\\n}:]+\\}/,\n alias: 'variable',\n inside: {\n 'delimiter': {\n pattern: /^{|}$/,\n alias: 'punctuation'\n },\n rest: inside\n }\n };\n inside['func'] = {\n pattern: /[\\w-]+\\([^)]*\\).*/,\n inside: {\n 'function': /^[^(]+/,\n rest: inside\n }\n };\n Prism.languages.stylus = {\n 'atrule-declaration': {\n pattern: /(^\\s*)@.+/m,\n lookbehind: true,\n inside: {\n 'atrule': /^@[\\w-]+/,\n rest: inside\n }\n },\n 'variable-declaration': {\n pattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:\\{[^{}]*\\}|\\S.*|$)/m,\n lookbehind: true,\n inside: {\n 'variable': /^\\S+/,\n rest: inside\n }\n },\n 'statement': {\n pattern: /(^[ \\t]*)(?:if|else|for|return|unless)[ \\t].+/m,\n lookbehind: true,\n inside: {\n 'keyword': /^\\S+/,\n rest: inside\n }\n },\n // A property/value pair cannot end with a comma or a brace\n // It cannot have indented content unless it ended with a semicolon\n 'property-declaration': {\n pattern: /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)(?!\\s)[^{\\r\\n]*(?:;|[^{\\r\\n,](?=$)(?!(?:\\r?\\n|\\r)(?:\\{|\\2[ \\t]+)))/m,\n lookbehind: true,\n inside: {\n 'property': {\n pattern: /^[^\\s:]+/,\n inside: {\n 'interpolation': inside.interpolation\n }\n },\n rest: inside\n }\n },\n // A selector can contain parentheses only as part of a pseudo-element\n // It can span multiple lines.\n // It must end with a comma or an accolade or have indented content.\n 'selector': {\n pattern: /(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t]+)))/m,\n lookbehind: true,\n inside: {\n 'interpolation': inside.interpolation,\n 'comment': inside.comment,\n 'punctuation': /[{},]/\n }\n },\n 'func': inside.func,\n 'string': inside.string,\n 'comment': {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n 'interpolation': inside.interpolation,\n 'punctuation': /[{}()\\[\\];:.]/\n };\n})(Prism);\n/* \"prismjs/components/prism-typescript\" */\n\n\n(function (Prism) {\n Prism.languages.typescript = Prism.languages.extend('javascript', {\n 'class-name': {\n pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n\n },\n // From JavaScript Prism keyword list and TypeScript language spec: https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#221-reserved-words\n 'keyword': /\\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\\b/,\n 'builtin': /\\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\\b/\n }); // doesn't work with TS because TS is too complex\n\n delete Prism.languages.typescript['parameter']; // a version of typescript specifically for highlighting types\n\n var typeInside = Prism.languages.extend('typescript', {});\n delete typeInside['class-name'];\n Prism.languages.typescript['class-name'].inside = typeInside;\n Prism.languages.insertBefore('typescript', 'function', {\n 'generic-function': {\n // e.g. foo<T extends \"bar\" | \"baz\">( ...\n pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,\n greedy: true,\n inside: {\n 'function': /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,\n 'generic': {\n pattern: /<[\\s\\S]+/,\n // everything after the first <\n alias: 'class-name',\n inside: typeInside\n }\n }\n }\n });\n Prism.languages.ts = Prism.languages.typescript;\n})(Prism);\n/* \"prismjs/components/prism-tsx\" */\n\n\n(function (Prism) {\n var typescript = Prism.util.clone(Prism.languages.typescript);\n Prism.languages.tsx = Prism.languages.extend('jsx', typescript); // This will prevent collisions between TSX tags and TS generic types.\n // Idea by https://github.com/karlhorky\n // Discussion: https://github.com/PrismJS/prism/issues/2594#issuecomment-710666928\n\n var tag = Prism.languages.tsx.tag;\n tag.pattern = RegExp(/(^|[^\\w$]|(?=<\\/))/.source + '(?:' + tag.pattern.source + ')', tag.pattern.flags);\n tag.lookbehind = true;\n})(Prism);\n/* \"prismjs/components/prism-wasm\" */\n\n\nPrism.languages.wasm = {\n 'comment': [/\\(;[\\s\\S]*?;\\)/, {\n pattern: /;;.*/,\n greedy: true\n }],\n 'string': {\n pattern: /\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n greedy: true\n },\n 'keyword': [{\n pattern: /\\b(?:align|offset)=/,\n inside: {\n 'operator': /=/\n }\n }, {\n pattern: /\\b(?:(?:f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n inside: {\n 'punctuation': /\\./\n }\n }, /\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/],\n 'variable': /\\$[\\w!#$%&'*+\\-./:<=>?@\\\\^_`|~]+/i,\n 'number': /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n 'punctuation': /[()]/\n};\n/* \"prismjs/components/prism-yaml\" */\n\n(function (Prism) {\n // https://yaml.org/spec/1.2/spec.html#c-ns-anchor-property\n // https://yaml.org/spec/1.2/spec.html#c-ns-alias-node\n var anchorOrAlias = /[*&][^\\s[\\]{},]+/; // https://yaml.org/spec/1.2/spec.html#c-ns-tag-property\n\n var tag = /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/; // https://yaml.org/spec/1.2/spec.html#c-ns-properties(n,c)\n\n var properties = '(?:' + tag.source + '(?:[ \\t]+' + anchorOrAlias.source + ')?|' + anchorOrAlias.source + '(?:[ \\t]+' + tag.source + ')?)'; // https://yaml.org/spec/1.2/spec.html#ns-plain(n,c)\n // This is a simplified version that doesn't support \"#\" and multiline keys\n // All these long scarry character classes are simplified versions of YAML's characters\n\n var plainKey = /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function () {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source;\n });\n var string = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;\n /**\n *\n * @param {string} value\n * @param {string} [flags]\n * @returns {RegExp}\n */\n\n function createValuePattern(value, flags) {\n flags = (flags || '').replace(/m/g, '') + 'm'; // add m flag\n\n var pattern = /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|]|}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g, function () {\n return properties;\n }).replace(/<<value>>/g, function () {\n return value;\n });\n return RegExp(pattern, flags);\n }\n\n Prism.languages.yaml = {\n 'scalar': {\n pattern: RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g, function () {\n return properties;\n })),\n lookbehind: true,\n alias: 'string'\n },\n 'comment': /#.*/,\n 'key': {\n pattern: RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g, function () {\n return properties;\n }).replace(/<<key>>/g, function () {\n return '(?:' + plainKey + '|' + string + ')';\n })),\n lookbehind: true,\n greedy: true,\n alias: 'atrule'\n },\n 'directive': {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: true,\n alias: 'important'\n },\n 'datetime': {\n pattern: createValuePattern(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source),\n lookbehind: true,\n alias: 'number'\n },\n 'boolean': {\n pattern: createValuePattern(/true|false/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n 'null': {\n pattern: createValuePattern(/null|~/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n 'string': {\n pattern: createValuePattern(string),\n lookbehind: true,\n greedy: true\n },\n 'number': {\n pattern: createValuePattern(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source, 'i'),\n lookbehind: true\n },\n 'tag': tag,\n 'important': anchorOrAlias,\n 'punctuation': /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n };\n Prism.languages.yml = Prism.languages.yaml;\n})(Prism);\n\nexport default Prism;\n","// Duotone Dark\n// Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes)\n// Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-evening-dark.css)\n// Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)\nvar theme = {\n plain: {\n backgroundColor: \"#2a2734\",\n color: \"#9a86fd\"\n },\n styles: [{\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#6c6783\"\n }\n }, {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n }, {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#e09142\"\n }\n }, {\n types: [\"property\", \"function\"],\n style: {\n color: \"#9a86fd\"\n }\n }, {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#eeebff\"\n }\n }, {\n types: [\"attr-name\"],\n style: {\n color: \"#c4b9fe\"\n }\n }, {\n types: [\"boolean\", \"string\", \"entity\", \"url\", \"attr-value\", \"keyword\", \"control\", \"directive\", \"unit\", \"statement\", \"regex\", \"at-rule\", \"placeholder\", \"variable\"],\n style: {\n color: \"#ffcc99\"\n }\n }, {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n }, {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n }, {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n }, {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n }, {\n types: [\"important\"],\n style: {\n color: \"#c4b9fe\"\n }\n }]\n};\n\nexport default theme;\n","import Prism from '../prism/index.js';\nexport { default as Prism } from '../prism/index.js';\nimport theme from '../themes/duotoneDark';\nimport { Component } from 'react';\n\nvar defaultProps = {\n // $FlowFixMe\n Prism: Prism,\n theme: theme\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\nvar newlineRe = /\\r\\n|\\r|\\n/; // Empty lines need to contain a single empty token, denoted with { empty: true }\n\nvar normalizeEmptyLines = function (line) {\n if (line.length === 0) {\n line.push({\n types: [\"plain\"],\n content: \"\\n\",\n empty: true\n });\n } else if (line.length === 1 && line[0].content === \"\") {\n line[0].content = \"\\n\";\n line[0].empty = true;\n }\n};\n\nvar appendTypes = function (types, add) {\n var typesSize = types.length;\n\n if (typesSize > 0 && types[typesSize - 1] === add) {\n return types;\n }\n\n return types.concat(add);\n}; // Takes an array of Prism's tokens and groups them by line, turning plain\n// strings into tokens as well. Tokens can become recursive in some cases,\n// which means that their types are concatenated. Plain-string tokens however\n// are always of type \"plain\".\n// This is not recursive to avoid exceeding the call-stack limit, since it's unclear\n// how nested Prism's tokens can become\n\n\nvar normalizeTokens = function (tokens) {\n var typeArrStack = [[]];\n var tokenArrStack = [tokens];\n var tokenArrIndexStack = [0];\n var tokenArrSizeStack = [tokens.length];\n var i = 0;\n var stackIndex = 0;\n var currentLine = [];\n var acc = [currentLine];\n\n while (stackIndex > -1) {\n while ((i = tokenArrIndexStack[stackIndex]++) < tokenArrSizeStack[stackIndex]) {\n var content = void 0;\n var types = typeArrStack[stackIndex];\n var tokenArr = tokenArrStack[stackIndex];\n var token = tokenArr[i]; // Determine content and append type to types if necessary\n\n if (typeof token === \"string\") {\n types = stackIndex > 0 ? types : [\"plain\"];\n content = token;\n } else {\n types = appendTypes(types, token.type);\n\n if (token.alias) {\n types = appendTypes(types, token.alias);\n }\n\n content = token.content;\n } // If token.content is an array, increase the stack depth and repeat this while-loop\n\n\n if (typeof content !== \"string\") {\n stackIndex++;\n typeArrStack.push(types);\n tokenArrStack.push(content);\n tokenArrIndexStack.push(0);\n tokenArrSizeStack.push(content.length);\n continue;\n } // Split by newlines\n\n\n var splitByNewlines = content.split(newlineRe);\n var newlineCount = splitByNewlines.length;\n currentLine.push({\n types: types,\n content: splitByNewlines[0]\n }); // Create a new line for each string on a new line\n\n for (var i$1 = 1; i$1 < newlineCount; i$1++) {\n normalizeEmptyLines(currentLine);\n acc.push(currentLine = []);\n currentLine.push({\n types: types,\n content: splitByNewlines[i$1]\n });\n }\n } // Decreate the stack depth\n\n\n stackIndex--;\n typeArrStack.pop();\n tokenArrStack.pop();\n tokenArrIndexStack.pop();\n tokenArrSizeStack.pop();\n }\n\n normalizeEmptyLines(currentLine);\n return acc;\n};\n\nvar themeToDict = function (theme, language) {\n var plain = theme.plain; // $FlowFixMe\n\n var base = Object.create(null);\n var themeDict = theme.styles.reduce(function (acc, themeEntry) {\n var languages = themeEntry.languages;\n var style = themeEntry.style;\n\n if (languages && !languages.includes(language)) {\n return acc;\n }\n\n themeEntry.types.forEach(function (type) {\n // $FlowFixMe\n var accStyle = _extends({}, acc[type], style);\n\n acc[type] = accStyle;\n });\n return acc;\n }, base); // $FlowFixMe\n\n themeDict.root = plain; // $FlowFixMe\n\n themeDict.plain = _extends({}, plain, {\n backgroundColor: null\n });\n return themeDict;\n};\n\nfunction objectWithoutProperties(obj, exclude) {\n var target = {};\n\n for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k) && exclude.indexOf(k) === -1) target[k] = obj[k];\n\n return target;\n}\n\nvar Highlight = /*@__PURE__*/function (Component) {\n function Highlight() {\n var this$1 = this;\n var args = [],\n len = arguments.length;\n\n while (len--) args[len] = arguments[len];\n\n Component.apply(this, args);\n\n _defineProperty(this, \"getThemeDict\", function (props) {\n if (this$1.themeDict !== undefined && props.theme === this$1.prevTheme && props.language === this$1.prevLanguage) {\n return this$1.themeDict;\n }\n\n this$1.prevTheme = props.theme;\n this$1.prevLanguage = props.language;\n var themeDict = props.theme ? themeToDict(props.theme, props.language) : undefined;\n return this$1.themeDict = themeDict;\n });\n\n _defineProperty(this, \"getLineProps\", function (ref) {\n var key = ref.key;\n var className = ref.className;\n var style = ref.style;\n var rest$1 = objectWithoutProperties(ref, [\"key\", \"className\", \"style\", \"line\"]);\n var rest = rest$1;\n\n var output = _extends({}, rest, {\n className: \"token-line\",\n style: undefined,\n key: undefined\n });\n\n var themeDict = this$1.getThemeDict(this$1.props);\n\n if (themeDict !== undefined) {\n output.style = themeDict.plain;\n }\n\n if (style !== undefined) {\n output.style = output.style !== undefined ? _extends({}, output.style, style) : style;\n }\n\n if (key !== undefined) {\n output.key = key;\n }\n\n if (className) {\n output.className += \" \" + className;\n }\n\n return output;\n });\n\n _defineProperty(this, \"getStyleForToken\", function (ref) {\n var types = ref.types;\n var empty = ref.empty;\n var typesSize = types.length;\n var themeDict = this$1.getThemeDict(this$1.props);\n\n if (themeDict === undefined) {\n return undefined;\n } else if (typesSize === 1 && types[0] === \"plain\") {\n return empty ? {\n display: \"inline-block\"\n } : undefined;\n } else if (typesSize === 1 && !empty) {\n return themeDict[types[0]];\n }\n\n var baseStyle = empty ? {\n display: \"inline-block\"\n } : {}; // $FlowFixMe\n\n var typeStyles = types.map(function (type) {\n return themeDict[type];\n });\n return Object.assign.apply(Object, [baseStyle].concat(typeStyles));\n });\n\n _defineProperty(this, \"getTokenProps\", function (ref) {\n var key = ref.key;\n var className = ref.className;\n var style = ref.style;\n var token = ref.token;\n var rest$1 = objectWithoutProperties(ref, [\"key\", \"className\", \"style\", \"token\"]);\n var rest = rest$1;\n\n var output = _extends({}, rest, {\n className: \"token \" + token.types.join(\" \"),\n children: token.content,\n style: this$1.getStyleForToken(token),\n key: undefined\n });\n\n if (style !== undefined) {\n output.style = output.style !== undefined ? _extends({}, output.style, style) : style;\n }\n\n if (key !== undefined) {\n output.key = key;\n }\n\n if (className) {\n output.className += \" \" + className;\n }\n\n return output;\n });\n\n _defineProperty(this, \"tokenize\", function (Prism, code, grammar, language) {\n var env = {\n code: code,\n grammar: grammar,\n language: language,\n tokens: []\n };\n Prism.hooks.run(\"before-tokenize\", env);\n var tokens = env.tokens = Prism.tokenize(env.code, env.grammar, env.language);\n Prism.hooks.run(\"after-tokenize\", env);\n return tokens;\n });\n }\n\n if (Component) Highlight.__proto__ = Component;\n Highlight.prototype = Object.create(Component && Component.prototype);\n Highlight.prototype.constructor = Highlight;\n\n Highlight.prototype.render = function render() {\n var ref = this.props;\n var Prism = ref.Prism;\n var language = ref.language;\n var code = ref.code;\n var children = ref.children;\n var themeDict = this.getThemeDict(this.props);\n var grammar = Prism.languages[language];\n var mixedTokens = grammar !== undefined ? this.tokenize(Prism, code, grammar, language) : [code];\n var tokens = normalizeTokens(mixedTokens);\n return children({\n tokens: tokens,\n className: \"prism-code language-\" + language,\n style: themeDict !== undefined ? themeDict.root : {},\n getLineProps: this.getLineProps,\n getTokenProps: this.getTokenProps\n });\n };\n\n return Highlight;\n}(Component);\n\nexport default Highlight;\nexport { defaultProps };\n","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import React from 'react';\nvar context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'CardContext';\nexport default context;","var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\n/**\n * Runs `querySelectorAll` on a given element.\n * \n * @param element the element\n * @param selector the selector\n */\n\nexport default function qsa(element, selector) {\n return toArray(element.querySelectorAll(selector));\n}","import React from 'react';\nvar TabContext = /*#__PURE__*/React.createContext(null);\nexport default TabContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"onSelect\", \"activeKey\", \"role\", \"onKeyDown\"];\nimport qsa from 'dom-helpers/querySelectorAll';\nimport React, { useContext, useEffect, useRef } from 'react';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport TabContext from './TabContext';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nvar noop = function noop() {};\n\nvar AbstractNav = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'ul' : _ref$as,\n onSelect = _ref.onSelect,\n activeKey = _ref.activeKey,\n role = _ref.role,\n onKeyDown = _ref.onKeyDown,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n // A ref and forceUpdate for refocus, b/c we only want to trigger when needed\n // and don't want to reset the set in the effect\n var forceUpdate = useForceUpdate();\n var needsRefocusRef = useRef(false);\n var parentOnSelect = useContext(SelectableContext);\n var tabContext = useContext(TabContext);\n var getControlledId, getControllerId;\n\n if (tabContext) {\n role = role || 'tablist';\n activeKey = tabContext.activeKey;\n getControlledId = tabContext.getControlledId;\n getControllerId = tabContext.getControllerId;\n }\n\n var listNode = useRef(null);\n\n var getNextActiveChild = function getNextActiveChild(offset) {\n var currentListNode = listNode.current;\n if (!currentListNode) return null;\n var items = qsa(currentListNode, '[data-rb-event-key]:not(.disabled)');\n var activeChild = currentListNode.querySelector('.active');\n if (!activeChild) return null;\n var index = items.indexOf(activeChild);\n if (index === -1) return null;\n var nextIndex = index + offset;\n if (nextIndex >= items.length) nextIndex = 0;\n if (nextIndex < 0) nextIndex = items.length - 1;\n return items[nextIndex];\n };\n\n var handleSelect = function handleSelect(key, event) {\n if (key == null) return;\n if (onSelect) onSelect(key, event);\n if (parentOnSelect) parentOnSelect(key, event);\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n if (onKeyDown) onKeyDown(event);\n var nextActiveChild;\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n nextActiveChild = getNextActiveChild(-1);\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n nextActiveChild = getNextActiveChild(1);\n break;\n\n default:\n return;\n }\n\n if (!nextActiveChild) return;\n event.preventDefault();\n handleSelect(nextActiveChild.dataset.rbEventKey, event);\n needsRefocusRef.current = true;\n forceUpdate();\n };\n\n useEffect(function () {\n if (listNode.current && needsRefocusRef.current) {\n var activeChild = listNode.current.querySelector('[data-rb-event-key].active');\n if (activeChild) activeChild.focus();\n }\n\n needsRefocusRef.current = false;\n });\n var mergedRef = useMergedRefs(ref, listNode);\n return /*#__PURE__*/React.createElement(SelectableContext.Provider, {\n value: handleSelect\n }, /*#__PURE__*/React.createElement(NavContext.Provider, {\n value: {\n role: role,\n // used by NavLink to determine it's role\n activeKey: makeEventKey(activeKey),\n getControlledId: getControlledId || noop,\n getControllerId: getControllerId || noop\n }\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n onKeyDown: handleKeyDown,\n ref: mergedRef,\n role: role\n }))));\n});\nexport default AbstractNav;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"children\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar NavItem = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-item');\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, bsPrefix)\n }), children);\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"bsPrefix\", \"variant\", \"fill\", \"justify\", \"navbar\", \"navbarScroll\", \"className\", \"children\", \"activeKey\"];\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport React, { useContext } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport CardContext from './CardContext';\nimport AbstractNav from './AbstractNav';\nimport NavItem from './NavItem';\nimport NavLink from './NavLink';\nvar defaultProps = {\n justify: false,\n fill: false\n};\nvar Nav = /*#__PURE__*/React.forwardRef(function (uncontrolledProps, ref) {\n var _classNames;\n\n var _useUncontrolled = useUncontrolled(uncontrolledProps, {\n activeKey: 'onSelect'\n }),\n _useUncontrolled$as = _useUncontrolled.as,\n as = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,\n initialBsPrefix = _useUncontrolled.bsPrefix,\n variant = _useUncontrolled.variant,\n fill = _useUncontrolled.fill,\n justify = _useUncontrolled.justify,\n navbar = _useUncontrolled.navbar,\n navbarScroll = _useUncontrolled.navbarScroll,\n className = _useUncontrolled.className,\n children = _useUncontrolled.children,\n activeKey = _useUncontrolled.activeKey,\n props = _objectWithoutPropertiesLoose(_useUncontrolled, _excluded);\n\n var bsPrefix = useBootstrapPrefix(initialBsPrefix, 'nav');\n var navbarBsPrefix;\n var cardHeaderBsPrefix;\n var isNavbar = false;\n var navbarContext = useContext(NavbarContext);\n var cardContext = useContext(CardContext);\n\n if (navbarContext) {\n navbarBsPrefix = navbarContext.bsPrefix;\n isNavbar = navbar == null ? true : navbar;\n } else if (cardContext) {\n cardHeaderBsPrefix = cardContext.cardHeaderBsPrefix;\n }\n\n return /*#__PURE__*/React.createElement(AbstractNav, _extends({\n as: as,\n ref: ref,\n activeKey: activeKey,\n className: classNames(className, (_classNames = {}, _classNames[bsPrefix] = !isNavbar, _classNames[navbarBsPrefix + \"-nav\"] = isNavbar, _classNames[navbarBsPrefix + \"-nav-scroll\"] = isNavbar && navbarScroll, _classNames[cardHeaderBsPrefix + \"-\" + variant] = !!cardHeaderBsPrefix, _classNames[bsPrefix + \"-\" + variant] = !!variant, _classNames[bsPrefix + \"-fill\"] = fill, _classNames[bsPrefix + \"-justified\"] = justify, _classNames))\n }, props), children);\n});\nNav.displayName = 'Nav';\nNav.defaultProps = defaultProps;\nNav.Item = NavItem;\nNav.Link = NavLink;\nexport default Nav;","/**\n * The Key Values to use for Internet Explorer where they differ from other browsers.\n *\n * @typedef {object} IEKeyValues\n * @property {string} ArrowDown\n * @property {string} ArrowLeft\n * @property {string} ArrowRight\n * @property {string} ArrowUp\n * @property {string} Escape\n */\n\n/**\n * The set of `KeyboardEvent.key` values used by OliveReact components.\n *\n * @type {object}\n * @property {string} ArrowDown\n * @property {string} ArrowLeft\n * @property {string} ArrowRight\n * @property {string} ArrowUp\n * @property {string} Enter\n * @property {string} End\n * @property {string} Escape\n * @property {string} Home\n * @property {string} Space\n * @property {string} Tab\n * @property {IEKeyValues} IE\n */\nconst keyboardEventKeys = {\n ArrowDown: 'ArrowDown',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n Enter: 'Enter',\n End: 'End',\n Escape: 'Escape',\n Home: 'Home',\n Shift: 'Shift',\n Space: ' ',\n Tab: 'Tab',\n\n IE: {\n ArrowDown: 'Down',\n ArrowLeft: 'Left',\n ArrowRight: 'Right',\n ArrowUp: 'Up',\n Escape: 'Esc',\n Space: 'Spacebar',\n },\n}\n\nexport default keyboardEventKeys\n","import { useEventListener } from './useEventListener'\nimport { lazyDocument } from './Lazy'\nimport { isEscape } from './keyboardUtils'\n\n/**\n * Listens to escape key (on the document)\n */\n\nexport function useEscapeListener(listener: EventListener, enabled = true) {\n useEventListener(\n 'keydown',\n (event: Event) => handleKeydown(event as KeyboardEvent, listener),\n lazyDocument,\n enabled\n )\n}\n\nfunction handleKeydown(event: KeyboardEvent, listener: EventListener) {\n if (isEscape(event)) {\n listener(event)\n }\n}\n","export function isEscape(event: { key: string }) {\n return ['Escape', 'Esc'].includes(event.key)\n}\n\nexport function isEnter(event: { key: string }) {\n return 'Enter' === event.key\n}\n\nexport function isUpArrow(event: { key: string }) {\n return ['ArrowUp', 'Up'].includes(event.key)\n}\n\nexport function isDownArrow(event: { key: string }) {\n return ['ArrowDown', 'Down'].includes(event.key)\n}\n\nexport function isLeftArrow(event: { key: string }) {\n return ['ArrowLeft', 'Left'].includes(event.key)\n}\n\nexport function isRightArrow(event: { key: string }) {\n return ['ArrowRight', 'Right'].includes(event.key)\n}\n\nexport function isArrow(event: { key: string }) {\n return (\n isUpArrow(event) ||\n isDownArrow(event) ||\n isLeftArrow(event) ||\n isRightArrow(event)\n )\n}\n\nexport function isBackspace(event: { key: string }) {\n return 'Backspace' === event.key\n}\n\nexport function isDelete(event: { key: string }) {\n return 'Delete' === event.key\n}\n\nexport function isSpace(event: { key: string }) {\n return [' ', 'Spacebar'].includes(event.key)\n}\n\nexport function isTab(event: { key: string }) {\n return 'Tab' === event.key\n}\n","import { Tokens } from '../../theming/types'\nimport colors from '../../theming/docusign-themes/olive/colors'\nimport { ShroudProps } from '.'\n\nexport default (config: { props?: ShroudProps; tokens: Tokens }) => {\n const { props, tokens } = config\n\n const Shroud = {\n backgroundColor: tokens.scrim.defaultBackgroundColor,\n bottom: 0,\n display: 'block',\n left: 0,\n position: 'fixed',\n right: 0,\n top: 0,\n } as const\n\n const light = {\n backgroundColor: colors.white,\n } as const\n\n const motionVariants = {\n enter: {\n opacity: [0, props?.light ? 0.75 : tokens.scrim.opacityLevel],\n transition: {\n ease: 'opacity',\n duration: 0.4,\n },\n },\n\n exit: {\n opacity: [props?.light ? 0.75 : tokens.scrim.opacityLevel, 0],\n transition: {\n ease: 'opacity',\n duration: 0.35,\n },\n },\n } as const\n\n return {\n Shroud,\n light,\n motionVariants,\n }\n}\n","import React, { useRef, useEffect } from 'react'\n\nimport PropTypes from 'prop-types'\nimport { MotionPresence, MotionVariant } from '@ds/motion'\n\nimport { dataProps } from '@ds/react-utils'\nimport { useIsInk, useThemeStyles } from '../../theming'\nimport { consoleWarn } from '../../logging'\nimport { keyboardEvents, dragEvents, mouseEvents } from '../../variables'\n\nimport baseStyles from './styles'\n\nconst DEPRECATED_Z_INDEX = 799\n\nexport const defaultIgnoreEvents = [\n ...keyboardEvents,\n ...dragEvents,\n ...mouseEvents,\n]\n\nconst ignoreEvent = (event) => {\n event.stopPropagation?.()\n event.preventDefault?.()\n}\n\nfunction Shroud(props) {\n const {\n light,\n onClick,\n visible,\n zIndex,\n ignoreEventTypes,\n ...restProps\n } = props\n if (useIsInk() && light) {\n consoleWarn(`\n The 'light' prop does not apply when using Ink.\n The Shroud component will always be in 'light' mode when the\n 'Ink' theme is in use.\n `)\n }\n\n const shroudRef = useRef()\n\n const styles = useThemeStyles(baseStyles, 'Shroud', props)\n\n const shroudStyles = [styles.Shroud, light && styles.light, { zIndex }]\n\n useEffect(() => {\n if (visible) {\n const shroudElement = shroudRef.current\n const types = ignoreEventTypes.filter((type) => type !== 'click')\n types.forEach((type) => {\n shroudElement.addEventListener(type, ignoreEvent)\n })\n return () => {\n types.forEach((type) => {\n shroudElement.removeEventListener(type, ignoreEvent)\n })\n }\n }\n return undefined\n }, [ignoreEventTypes, visible])\n\n return (\n <MotionPresence>\n {visible && (\n <MotionVariant\n {...dataProps(restProps)}\n css={shroudStyles}\n onClick={(e) => {\n ignoreEvent(e)\n onClick?.(e)\n }}\n ref={shroudRef}\n role=\"none\"\n key=\"shroud\"\n animate=\"enter\"\n exit=\"exit\"\n variants={styles.motionVariants}\n />\n )}\n </MotionPresence>\n )\n}\n\nObject.defineProperty(Shroud, 'zIndex', {\n get: () => {\n consoleWarn(`\n WARN @olive/react: This z-index (${DEPRECATED_Z_INDEX}) accessed by Shroud.zIndex\n is the default value applied when mounted directly by a consumer of the OliveReact\n library. This default value is deprecated and the property will be removed in\n the next major release, if you require a specific z-index (or are expecting a specific\n z-index, like the now deprecated default) you should specify it using the new zIndex\n prop on the Shroud component.\n `)\n return DEPRECATED_Z_INDEX\n },\n})\n\nShroud.propTypes = {\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Event types which will be ignored (not propogated, not defaulted)\n * by the shroud.\n */\n ignoreEventTypes: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Uses a light color for the Shroud (without this prop the Shroud displays using a dark color).\n * Note this prop only applies to Olive styles. If you're using Ink, there is no dark option,\n * the Shroud will render 'light', there is no need to pass this prop.\n */\n light: PropTypes.bool,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n\n /**\n * Displays the Shroud.\n */\n visible: PropTypes.bool,\n\n /**\n * The z-index to apply to the Shroud (note that it is displayed using CSS position: fixed).\n *\n * The z-index that was applied to the Shroud can be retrieved from the component via the property `Shroud.zIndex`.\n */\n zIndex: PropTypes.number,\n}\n\nShroud.defaultProps = {\n 'data-.*': undefined,\n ignoreEventTypes: defaultIgnoreEvents,\n light: false,\n onClick: null,\n visible: false,\n zIndex: DEPRECATED_Z_INDEX,\n}\n\nShroud.displayName = 'Shroud'\n\nexport default Shroud\n","export const keyboardEvents = ['keydown', 'keypress', 'keyup']\n\nexport const mouseEvents = [\n 'auxclick',\n 'click',\n 'contextmenu',\n 'dblclick',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseover',\n 'mouseout',\n 'mouseup',\n 'pointerlockchange',\n 'pointerlockerror',\n 'select',\n 'wheel',\n]\n\nexport const dragEvents = [\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragstart',\n 'dragleave',\n 'dragover',\n 'drop',\n]\n","import { Tokens } from '../../theming/types'\nimport { scrollShadow } from '../../utilities'\nimport { isPhoneInLandscape } from '../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n backgroundColor: tokens.modal.backgroundColor,\n border: `1px solid ${tokens.modal.borderColor}`,\n borderRadius: '2px',\n boxShadow: tokens.elevation.low,\n color: tokens.text.defaultColor,\n display: 'flex',\n flexDirection: 'column',\n left: '50%',\n marginTop: tokens.modal.marginTop,\n maxHeight: 'calc(100vh - 36px * 2)',\n maxWidth: 'calc(100% - 48px)',\n minHeight: 0,\n position: 'fixed',\n top: 0,\n\n [isPhoneInLandscape]: {\n marginTop: tokens.modal.marginTopSmallScreen,\n maxWidth: 'calc(100% - 12px)',\n maxHeight: 'calc(100vh - 6px * 2)',\n width: '100%',\n },\n\n '@supports (max-height: -webkit-fill-available)': {\n maxHeight: '-webkit-fill-available',\n },\n },\n\n body: {\n ...tokens.typography.bodyMedium,\n flex: '1 1 auto',\n fontFamily: tokens.font.body,\n overflowY: 'auto',\n padding: '24px',\n\n [isPhoneInLandscape]: {\n padding: '10px',\n },\n },\n\n header: {\n borderBottom: `1px solid ${tokens.border.subtleColor}`,\n flex: '0 0 auto',\n overflow: 'hidden',\n padding: '20px 24px',\n position: 'relative',\n\n [isPhoneInLandscape]: {\n padding: '10px',\n },\n },\n\n initialFocus: {\n outline: 'none',\n },\n\n close: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n position: 'absolute',\n right: 0,\n top: 0,\n zIndex: 1,\n },\n\n scrollShadow: {\n body: {\n '@supports (background-repeat: no-repeat)': scrollShadow(\n tokens.scrollShadow.background,\n tokens.scrollShadow.color,\n tokens.scrollShadow.height\n ),\n },\n },\n\n modalBase: {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n maxHeight: 'calc(100vh - 36px * 2)',\n minHeight: '100%',\n\n [isPhoneInLandscape]: {\n maxHeight: 'calc(100vh - 6px * 2)',\n },\n },\n },\n\n noPadding: {\n body: {\n padding: 0,\n },\n },\n\n disabled: {\n filter: 'grayscale(100%)',\n\n '&::after': {\n backgroundColor: 'transparent',\n bottom: '-1px',\n content: '\"\"',\n left: '-1px',\n position: 'absolute',\n right: '-1px',\n top: '-1px',\n },\n\n close: {\n visibility: 'hidden',\n },\n },\n\n heightContent: {\n wrap: {\n height: 'auto',\n },\n },\n\n heightFixed: {\n wrap: {\n height: 'calc(100vh / 1.3)',\n },\n },\n\n heightWindow: {\n wrap: {\n height: '100%',\n },\n },\n\n widthXlarge: {\n wrap: {\n width: tokens.modal.extraLargeWidth,\n },\n },\n\n widthLarge: {\n wrap: {\n width: tokens.modal.largeWidth,\n },\n },\n\n widthMedium: {\n wrap: {\n width: tokens.modal.mediumWidth,\n },\n },\n\n widthSmall: {\n wrap: {\n width: tokens.modal.smallWidth,\n },\n },\n\n motionVariants: {\n wrap: {\n // This is necessary because framer-motion sets it to transform:none in preparation for the animation.\n initial: { x: '-50%' },\n\n enterScale: {\n scale: [1.1, 1],\n transition: {\n ease: 'default',\n duration: 0.25,\n delay: 0.15,\n },\n },\n\n enterOpacity: {\n opacity: [0, 1],\n transition: {\n ease: 'opacity',\n duration: 0.25,\n delay: 0.15,\n },\n },\n\n exitScale: {\n scale: [1, 0.9],\n transition: {\n ease: 'default',\n duration: 0.15,\n },\n },\n\n exitOpacity: {\n opacity: [1, 0],\n transition: {\n ease: 'opacity',\n duration: 0.15,\n },\n },\n },\n },\n }\n}\n","import React from 'react'\n\nimport PropTypes from 'prop-types'\nimport { MotionVariant } from '@ds/motion'\nimport { dataProps } from '@ds/react-utils'\nimport { CustomPropTypes } from '../../support'\n\nimport { variant } from '../../utilities'\n\nimport { useThemeStyles } from '../../theming'\n\nimport { consoleWarn } from '../../logging'\n\nimport baseStyles from './styles'\n\nconst DEPRECATED_Z_INDEX = 800\n\nfunction ModalBase(props) {\n const {\n accessibilityTitle,\n children,\n closeButton,\n disabled,\n forwardedRef,\n height,\n width,\n zIndex,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'Modal')\n\n const modalContainerStyles = [\n styles.default.wrap,\n styles[variant('width', width)].wrap,\n styles[variant('height', height)].wrap,\n { zIndex },\n ]\n\n const modalBaseStyles = [\n styles.default.modalBase,\n disabled && styles.disabled,\n ]\n\n const closeButtonStyles = [\n styles.default.close,\n disabled && styles.disabled.close,\n ]\n\n const CloseButtonNode = closeButton && (\n <div css={closeButtonStyles}>{closeButton}</div>\n )\n\n const getAriaTextFromHeader = () => {\n let headerText = null\n React.Children.forEach(children, (child) => {\n if (child?.type?.displayName === 'Modal.Header') {\n headerText = child.props.title\n }\n })\n return headerText\n }\n\n const ariaText = accessibilityTitle || getAriaTextFromHeader() || 'current'\n\n return (\n <MotionVariant\n {...dataProps(restProps)}\n css={modalContainerStyles}\n {...(disabled ? { 'aria-hidden': 'true' } : null)}\n ref={forwardedRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={ariaText}\n key=\"modal\"\n initial=\"initial\"\n animate={['enterScale', 'enterOpacity']}\n exit={['exitScale', 'exitOpacity']}\n variants={styles.motionVariants.wrap}\n >\n <div css={modalBaseStyles}>\n {CloseButtonNode}\n {children}\n </div>\n </MotionVariant>\n )\n}\n\nObject.defineProperty(ModalBase, 'zIndex', {\n get: () => {\n consoleWarn(`\n WARN @olive/react: This z-index (${DEPRECATED_Z_INDEX}) accessed by Modal.Base.zIndex\n is the default value applied when mounted directly by a consumer of the OliveReact\n library. This default value is deprecated and the property will be removed in\n the next major release, if you require a specific z-index (or are expecting a specific\n z-index, like the now deprecated default) you should specify it using the new zIndex\n prop on the Modal.Base component.\n `)\n return DEPRECATED_Z_INDEX\n },\n})\n\nModalBase.heights = ['content', 'fixed', 'window']\n\nModalBase.widths = ['xlarge', 'large', 'medium', 'small']\n\nModalBase.propTypes = {\n /**\n * The optional title to present to assistive devices in order to identify the Modal.\n * If not provided, the accessibility title will be set to the Modal.Header title instead.\n * If no Modal.Header is provided, the accessibility title will be set to 'current'\n */\n accessibilityTitle: PropTypes.string,\n\n children: PropTypes.node.isRequired,\n\n /**\n * Adds a close button to the ModalMessage.\n * The value should be a ModalMessage.Close component, which takes an 'onClick'\n * prop whose value should be a function to invoke when it is clicked.\n */\n closeButton: PropTypes.node,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Disables the modal.\n */\n disabled: PropTypes.bool,\n\n /**\n * A React ref to assign to the HTML label element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Height of the modal.\n */\n height: PropTypes.oneOf(ModalBase.heights),\n\n /**\n * Width of the modal.\n */\n width: PropTypes.oneOf(ModalBase.widths),\n\n /**\n * The z-index to apply to the ModalBase (note that it is displayed using CSS position: fixed).\n */\n zIndex: PropTypes.number,\n}\n\nModalBase.defaultProps = {\n 'data-.*': undefined,\n accessibilityTitle: undefined,\n closeButton: undefined,\n disabled: false,\n forwardedRef: undefined,\n height: 'content',\n width: 'medium',\n zIndex: DEPRECATED_Z_INDEX,\n}\n\nexport default ModalBase\n","import { Tokens } from '../../../theming/types'\n\nimport { styles } from '../../../utilities'\nimport { CreateFocusCss } from '../../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n button: {\n alignItems: 'center',\n background: 'none',\n border: 0,\n color: tokens.icon.defaultColor,\n cursor: 'pointer',\n display: 'flex',\n height: tokens.button.defaultSize,\n justifyContent: 'center',\n padding: 0,\n transitionDuration: '0.2s',\n transitionProperty: 'background-color, color',\n transitionTimingFunction: 'ease',\n width: tokens.button.defaultSize,\n\n '&:hover': {\n color: tokens.icon.hoverColor,\n },\n\n ...CreateFocusCss(tokens.focus.inner),\n },\n\n text: styles.visuallyHidden,\n },\n\n dark: {\n button: {\n borderRadius: '2px',\n color: 'white',\n\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.15)',\n color: 'white',\n },\n\n '&:active': {\n backgroundColor: 'rgba(255, 255, 255, 0.35)',\n },\n\n ...CreateFocusCss({\n outline: '1px solid white',\n outlineOffset: '-4px',\n }),\n },\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useTranslate } from '@ds/comp-private'\nimport { dataProps, onProps } from '@ds/react-utils'\n\nimport { useThemeStyles } from '../../../theming'\n\nimport Icon from '../../../components/Icon'\n\nimport baseStyles from './styles'\n\nfunction PopoverClose(props) {\n const { dark, onClick, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles)\n const translate = useTranslate()\n\n return (\n <button\n {...dataProps(restProps)}\n {...onProps(restProps)}\n css={{\n ...styles.default.button,\n ...(dark && styles.dark.button),\n }}\n onClick={onClick}\n type=\"button\"\n >\n <span css={styles.default.text}>{translate('OLIVE:CLOSE')}</span>\n\n <Icon kind=\"close\" />\n </button>\n )\n}\n\nPopoverClose.propTypes = {\n /**\n * Set to true to use PopoverClose on dark backgrounds.\n */\n dark: PropTypes.bool,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n}\n\nPopoverClose.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n dark: false,\n onClick: null,\n}\n\nPopoverClose.displayName = 'PopoverClose'\n\nexport default PopoverClose\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport PopoverClose from '../../internal/components/PopoverClose'\n\nfunction ModalClose(props) {\n return <PopoverClose {...props} />\n}\n\nModalClose.propTypes = {\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n}\n\nModalClose.defaultProps = {\n onClick: undefined,\n}\n\nexport default ModalClose\n","export default {\n TextEllipsis: {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n\n '@supports (-webkit-line-clamp: 1)': {\n whiteSpace: 'normal',\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n },\n },\n\n breakAll: {\n wordBreak: 'break-all',\n },\n} as const\n","import * as React from 'react'\nimport PropTypes from 'prop-types'\n\nimport styles from './styles'\n\nexport interface TextEllipsisProps {\n /**\n * The text to display.\n */\n children: string\n /**\n * The number of lines to allow before text gets cut off.\n */\n lines?: number\n /**\n * Text representing advisory information related to the element.\n */\n title?: string\n}\n\nexport function TextEllipsis(props: TextEllipsisProps) {\n const { children, lines, title } = props\n\n const textEllipsisStyles = [\n styles.TextEllipsis,\n { WebkitLineClamp: lines },\n lines === 1 && styles.breakAll,\n ]\n\n return (\n <span css={textEllipsisStyles} title={title}>\n {children}\n </span>\n )\n}\n\nTextEllipsis.propTypes = {\n /**\n * The text to display.\n */\n children: PropTypes.string.isRequired,\n\n /**\n * The number of lines to allow before text gets cut off.\n */\n lines: PropTypes.number,\n\n /**\n * Text representing advisory information related to the element.\n */\n title: PropTypes.string,\n}\n\nTextEllipsis.defaultProps = {\n lines: 1,\n title: undefined,\n}\n\nTextEllipsis.displayName = 'TextEllipsis'\n","import { Tokens } from '../../../theming/types'\n\nimport { CreateFocusCss } from '../../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n Heading: {\n margin: 0,\n\n link: {\n background: 'none',\n border: 'none',\n borderRadius: 0,\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontWeight: 'inherit',\n letterSpacing: 'normal',\n lineHeight: 'inherit',\n padding: 0,\n textAlign: 'inherit',\n textDecoration: 'none',\n\n '&:active': {\n color: 'inherit',\n textDecoration: 'none',\n },\n\n ...CreateFocusCss(tokens.focus.outer),\n },\n\n linkCursor: {\n cursor: 'pointer',\n },\n },\n\n 'heading-xxs': {\n ...tokens.typography.headingXXS,\n fontFamily: tokens.font.body,\n },\n\n 'heading-xs': {\n ...tokens.typography.headingExtraSmall,\n fontFamily: tokens.font.body,\n },\n\n 'heading-s': {\n ...tokens.typography.headingSmall,\n fontFamily: tokens.font.heading,\n },\n\n 'heading-m': {\n ...tokens.typography.headingMedium,\n fontFamily: tokens.font.heading,\n },\n\n 'heading-l': {\n ...tokens.typography.headingLarge,\n fontFamily: tokens.font.heading,\n },\n\n 'heading-xl': {\n ...tokens.typography.headingExtraLarge,\n fontFamily: tokens.font.heading,\n },\n\n 'display-xs': {\n ...tokens.typography.displayExtraSmall,\n fontFamily: tokens.font.body,\n },\n\n 'display-s': {\n ...tokens.typography.displaySmall,\n fontFamily: tokens.font.body,\n },\n\n 'display-m': {\n ...tokens.typography.displayMedium,\n fontFamily: tokens.font.heading,\n },\n\n 'display-l': {\n ...tokens.typography.displayLarge,\n fontFamily: tokens.font.heading,\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { ariaProps, dataProps, onProps } from '@ds/react-utils'\n\nimport { useThemeStyles } from '../../../theming'\nimport { conditionalTag } from '../../../utilities'\n\nimport { TextEllipsis } from '../../../components/TextEllipsis'\n\nimport baseStyles from './styles'\n\nexport const BaseHeadingTargets = ['_blank', '_parent', '_self', '_top']\nexport const BaseHeadingLevels = ['1', '2', '3', '4', '5', '6']\n\nconst DisplayLevel = (displayLevel, level) => {\n if (displayLevel) return displayLevel\n switch (level) {\n case '1':\n return 'heading-xl'\n case '2':\n return 'heading-l'\n case '3':\n return 'heading-m'\n case '4':\n return 'heading-s'\n case '5':\n return 'heading-xs'\n case '6':\n return 'heading-xs'\n default:\n return 'heading-xxs'\n }\n}\n\nfunction BaseHeading({\n displayLevel,\n maxLines,\n href,\n id,\n level,\n onClick,\n rel,\n target,\n text,\n ...restProps\n}) {\n const styles = useThemeStyles(baseStyles, 'Heading')\n\n const baseHeadingStyles = [\n styles.Heading,\n styles[DisplayLevel(displayLevel, level)],\n ]\n\n const BaseHeadingTag = `h${level}`\n\n const [TagName, TagAttributes] = conditionalTag(\n {\n href,\n onClick,\n rel,\n target,\n },\n true\n )\n\n const TextEllipsisNode = maxLines && (\n <TextEllipsis lines={maxLines}>{text}</TextEllipsis>\n )\n\n const linkStyles = [styles.Heading.link, href && styles.Heading.linkCursor]\n\n return (\n <BaseHeadingTag\n {...ariaProps(restProps)}\n css={baseHeadingStyles}\n className=\"olv-heading olv-ignore-transform\"\n id={id}\n role={(href || onClick) && 'link'}\n >\n <TagName\n {...dataProps(restProps)}\n {...onProps(restProps)}\n {...TagAttributes}\n css={linkStyles}\n onClick={onClick}\n >\n {maxLines ? TextEllipsisNode : text}\n </TagName>\n </BaseHeadingTag>\n )\n}\nBaseHeading.levels = BaseHeadingLevels\n\nBaseHeading.displayLevels = [\n 'heading-xxs',\n 'heading-xs',\n 'heading-s',\n 'heading-m',\n 'heading-l',\n 'heading-xl',\n 'display-xs',\n 'display-s',\n 'display-m',\n 'display-l',\n]\n\nBaseHeading.targets = BaseHeadingTargets\n\nBaseHeading.propTypes = {\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * An optional display level (i.e. importance indicated by size / style / casing)\n * that may differ from the semantic HTML section heading level.\n */\n displayLevel: PropTypes.oneOf(BaseHeading.displayLevels),\n\n /**\n * If href is provided then it will render an anchor, otherwise a button.\n */\n href: PropTypes.string,\n\n /**\n * A unique string identifier attribute for the Heading component.\n */\n id: PropTypes.string,\n\n /**\n * The semantic HTML section heading level.\n */\n level: PropTypes.oneOf(BaseHeading.levels).isRequired,\n\n /**\n * A number, that if provided, wraps the text in a TextEllipsis component with the lines clamped to the provided number.\n */\n\n maxLines: PropTypes.number,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n\n /**\n * The relationship of the linked URL of a anchor as space-separated link types.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n */\n rel: PropTypes.string,\n\n /**\n * The HTML link target (if an href is _not_ provided, this is ignored).\n * When target=\"_blank\" use rel=\"noreferrer\" or rel=\"noopener\" to avoid the vulnerability.\n */\n target: PropTypes.oneOf(BaseHeading.targets),\n\n /**\n * The text to be displayed.\n */\n text: PropTypes.string.isRequired,\n}\n\nBaseHeading.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n displayLevel: undefined,\n href: undefined,\n id: undefined,\n maxLines: undefined,\n onClick: undefined,\n rel: undefined,\n target: undefined,\n}\n\nBaseHeading.displayName = 'BaseHeading'\n\nexport default BaseHeading\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport BaseHeading from '../../internal/components/BaseHeading'\n\nexport const HeadingTargets = ['_blank', '_parent', '_self', '_top']\nexport const HeadingLevels = ['1', '2', '3', '4', '5', '6']\nexport const HeadingDisplayLevels = [\n 'heading-xxs',\n 'heading-xs',\n 'heading-s',\n 'heading-m',\n 'heading-l',\n 'heading-xl',\n 'display-xs',\n 'display-s',\n 'display-m',\n 'display-l',\n]\n\nfunction Heading({\n displayLevel,\n href,\n id,\n level,\n onClick,\n rel,\n target,\n text,\n ...restProps\n}) {\n return (\n <BaseHeading\n displayLevel={displayLevel}\n href={href}\n id={id}\n level={level}\n onClick={onClick}\n rel={rel}\n target={target}\n text={text}\n {...restProps}\n />\n )\n}\n\nHeading.propTypes = {\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * An optional display level (i.e. importance indicated by size / style / casing)\n * that may differ from the semantic HTML section heading level.\n */\n displayLevel: PropTypes.oneOf(HeadingDisplayLevels),\n\n /**\n * If href is provided then it will render an anchor, otherwise a button.\n */\n href: PropTypes.string,\n\n /**\n * A unique string identifier attribute for the Heading component.\n */\n id: PropTypes.string,\n\n /**\n * The semantic HTML section heading level.\n */\n level: PropTypes.oneOf(HeadingLevels).isRequired,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n\n /**\n * The relationship of the linked URL of a anchor as space-separated link types.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n */\n rel: PropTypes.string,\n\n /**\n * The HTML link target (if an href is _not_ provided, this is ignored).\n * When target=\"_blank\" use rel=\"noreferrer\" or rel=\"noopener\" to avoid the vulnerability.\n */\n target: PropTypes.oneOf(HeadingTargets),\n\n /**\n * The text to be displayed.\n */\n text: PropTypes.string.isRequired,\n}\n\nHeading.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n displayLevel: undefined,\n href: undefined,\n id: undefined,\n onClick: undefined,\n rel: undefined,\n target: undefined,\n}\n\nHeading.displayName = 'Heading'\n\nexport default Heading\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\n\nimport { useThemeStyles } from '../../theming'\n\nimport Heading from '../Heading'\n\nimport baseStyles from './styles'\n\nfunction ModalHeader(props) {\n const { title, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles, 'Modal')\n\n return (\n <div {...dataProps(restProps)} css={styles.default.header}>\n <Heading level=\"1\" text={title} displayLevel=\"heading-l\" />\n </div>\n )\n}\n\nModalHeader.propTypes = {\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * The title to display in the modal header.\n */\n title: PropTypes.string.isRequired,\n}\n\nModalHeader.defaultProps = {\n 'data-.*': undefined,\n}\n\nexport default ModalHeader\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { onProps, useIntersectionObserver } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nfunction ModalBody(props) {\n const { children, forwardedRef, noPadding, ...restProps } = props\n const [targetElement, setTargetElement] = useState()\n const observe = useIntersectionObserver(targetElement)\n\n const styles = useThemeStyles(baseStyles, 'Modal')\n\n const bodyStyles = [\n styles.default.body,\n observe && styles.default.scrollShadow.body,\n noPadding && styles.noPadding.body,\n ]\n\n return (\n <div {...onProps(restProps)} css={bodyStyles} ref={forwardedRef}>\n <div ref={setTargetElement}>{children}</div>\n </div>\n )\n}\n\nModalBody.propTypes = {\n children: PropTypes.node.isRequired,\n\n /**\n * A React ref to assign to the HTML node representing the ModalBody element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Applies zero padding to the Modal.Body.\n */\n noPadding: PropTypes.bool,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n}\n\nModalBody.defaultProps = {\n 'on[A-Z].*': undefined,\n forwardedRef: undefined,\n noPadding: false,\n}\n\nexport default ModalBody\n","export default {\n default: {\n wrap: {\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n },\n\n content: {\n flex: '0 1 auto',\n margin: '0 0 0 12px',\n },\n\n buttons: {\n alignItems: 'center',\n display: 'flex',\n flex: '1 0 auto',\n\n '> :nth-of-type(2)': {\n margin: '0 0 0 12px',\n },\n },\n },\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useIsInk, useThemeStyles } from '../../../theming'\n\nimport baseStyles from './styles'\n\nfunction PopoverFooter(props) {\n const { content, primaryButton, secondaryButton } = props\n\n const styles = useThemeStyles(baseStyles, 'PopoverFooter')\n const isInk = useIsInk()\n\n const InkFooter = isInk && (\n <div css={styles.default.wrap}>\n <div css={styles.default.content}>{content}</div>\n <div css={styles.default.buttons}>\n {secondaryButton}\n {primaryButton}\n </div>\n </div>\n )\n\n const OliveFooter = !isInk && (\n <div css={styles.default.wrap}>\n <div css={styles.default.buttons}>\n {primaryButton}\n {secondaryButton}\n </div>\n <div css={styles.default.content}>{content}</div>\n </div>\n )\n\n return OliveFooter || InkFooter\n}\n\nPopoverFooter.propTypes = {\n /**\n * Optional content to display alongside the footer buttons.\n */\n content: PropTypes.node,\n\n /**\n * The primary action - accepts an @olive/react Button component.\n */\n primaryButton: PropTypes.element,\n\n /**\n * The secondary action - accepts an @olive/react Button component.\n */\n secondaryButton: PropTypes.element,\n}\n\nPopoverFooter.defaultProps = {\n content: undefined,\n primaryButton: undefined,\n secondaryButton: undefined,\n}\n\nexport default PopoverFooter\n","import { Tokens } from '../../../theming/types'\nimport colors from '../../../theming/docusign-themes/olive/colors'\nimport { isPhoneInLandscape } from '../../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n backgroundColor: tokens.modal.backgroundColor,\n borderTop: `1px solid ${colors.gray3}`,\n borderRadius: '0 0 4px 4px',\n padding: '12px 24px',\n zIndex: 1,\n\n [isPhoneInLandscape]: {\n padding: '10px',\n },\n },\n },\n\n legacy: {\n wrap: {\n display: 'block',\n flex: '0 0 auto',\n overflow: 'hidden',\n\n '& > button': {\n display: 'inline-flex',\n\n '&:first-of-type': {\n marginRight: '10px',\n },\n },\n\n [isPhoneInLandscape]: {\n padding: '10px',\n },\n },\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useThemeStyles } from '../../../theming'\nimport PopoverFooter from '../../../internal/components/PopoverFooter'\n\nimport baseStyles from './styles'\nimport consoleWarn from '../../../logging/consoleWarn'\n\nfunction ModalFooter(props) {\n const { children, content, primaryButton, secondaryButton } = props\n\n const styles = useThemeStyles(baseStyles, 'ModalFooter')\n\n if (children) {\n consoleWarn(\n 'To better prepare for Ink, the children prop of the Modal.Footer component has been deprecated. Going forward, we will require you use the \"primaryButton\", \"secondaryButton\", and \"content\" props.'\n )\n\n return (\n <div\n css={{\n ...styles.default.wrap,\n ...styles.legacy.wrap,\n }}\n >\n {children}\n </div>\n )\n }\n\n return (\n <div css={styles.default.wrap}>\n <PopoverFooter\n content={content}\n primaryButton={primaryButton}\n secondaryButton={secondaryButton}\n />\n </div>\n )\n}\n\nModalFooter.propTypes = {\n /**\n * The content to display in the Modal.Footer.\n * DEPRECATED. Use `primaryButton`, `secondaryButton`, and `content` props instead.\n */\n children: PropTypes.node,\n\n /**\n * Optional content to display alongside the footer buttons.\n */\n content: PropTypes.node,\n\n /**\n * The primary action - accepts an @olive/react Button component.\n */\n primaryButton: PropTypes.element,\n\n /**\n * The secondary action - accepts an @olive/react Button component.\n */\n secondaryButton: PropTypes.element,\n}\n\nModalFooter.defaultProps = {\n children: undefined,\n content: undefined,\n primaryButton: undefined,\n secondaryButton: undefined,\n}\n\nexport default ModalFooter\n","import React, { useEffect, useRef, useState } from 'react'\n\nimport ReactDOM from 'react-dom'\n\nimport PropTypes from 'prop-types'\n\nimport { Global, css } from '@emotion/core'\n\nimport { globalIds } from '../../variables'\nimport { document, MutationObserver } from '../../support/WebAPI'\n\nconst OLIVE_LEGACY_MODAL_ZINDEX = 799\n\nconst addAriaHiddenAttributes = (elements) => {\n elements.forEach((el) => el.setAttribute('aria-hidden', 'true'))\n}\n\nconst removeAriaHiddenAttributes = (elements) => {\n elements.forEach((el) => el.removeAttribute('aria-hidden'))\n}\n\nconst isNotNode = (testNode) => (node) => node !== testNode\n\nconst isNotAriaHidden = (node) =>\n node.getAttribute && node.getAttribute('aria-hidden') !== 'true'\n\nconst modalsContainerClass = 'olv-modal-portal'\n\nconst modalsContainerStyles = `\n .${modalsContainerClass} {\n position: relative;\n z-index: ${OLIVE_LEGACY_MODAL_ZINDEX};\n }\n`\nfunction ModalPortal(props) {\n const { children, targetId, ...restProps } = props\n\n const [modalsContainer, setModalsContainer] = useState()\n const ariaHiddenSiblings = useRef([])\n\n useEffect(() => {\n // Manages modal dom element\n const EXISTING_MODALS_CONTAINER = document.getElementById(targetId)\n\n // Use existing container if present, else create one\n let portalTarget = EXISTING_MODALS_CONTAINER\n if (!portalTarget) {\n portalTarget = document.createElement('div')\n portalTarget.setAttribute('id', targetId)\n portalTarget.setAttribute('class', modalsContainerClass)\n\n document.body.appendChild(portalTarget)\n }\n\n setModalsContainer(portalTarget)\n\n return () => {\n // Clean up only if this instance of useEffect added the div to the dom\n if (!EXISTING_MODALS_CONTAINER) {\n document.body.removeChild(portalTarget)\n setModalsContainer(null)\n }\n }\n }, [targetId])\n\n useEffect(() => {\n // Manages mutation observer, aria-hidden\n let portalTargetObserver = null\n if (modalsContainer) {\n portalTargetObserver = new MutationObserver((mutations) => {\n removeAriaHiddenAttributes(ariaHiddenSiblings.current)\n\n const modalsContainerNode = mutations[0].target\n\n // Content is being rendered in the portal, aria-hidden modal portal siblings\n if (\n modalsContainerNode.childNodes.length &&\n modalsContainerNode.parentNode\n ) {\n const siblings = Array.from(modalsContainerNode.parentNode.childNodes)\n .filter(isNotNode(modalsContainerNode))\n .filter(isNotAriaHidden)\n\n addAriaHiddenAttributes(siblings)\n ariaHiddenSiblings.current = siblings\n }\n })\n\n portalTargetObserver.observe(modalsContainer, {\n childList: true,\n subtree: false,\n })\n }\n return () => {\n if (portalTargetObserver) {\n portalTargetObserver.disconnect()\n removeAriaHiddenAttributes(ariaHiddenSiblings.current)\n ariaHiddenSiblings.current = []\n }\n }\n }, [modalsContainer])\n\n return modalsContainer ? (\n <>\n <Global styles={css(modalsContainerStyles)} />\n {ReactDOM.createPortal(\n React.Children.map(children, (child) =>\n React.cloneElement(child, { ModalPortalChild: true })\n ),\n modalsContainer\n )}\n </>\n ) : null\n}\n\nModalPortal.propTypes = {\n /**\n * The Modal.Portal component expects a single Modal as a child, which it will mount\n * to a container element (managing accessibility concerns as modals are displayed).\n */\n children: PropTypes.node.isRequired,\n\n /**\n * The id of the container element (i.e. portal target) that the Modal.Portal component\n * should use for mounting its child Modal.\n *\n * If an element with the provided id cannot be found, one will be created and appended\n * to document.body for this purpose.\n */\n targetId: PropTypes.string,\n}\n\nModalPortal.defaultProps = {\n targetId: globalIds.OliveReactModals,\n}\n\nexport default ModalPortal\n","import React, { useEffect, useCallback, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { useEscapeListener, useUniqueId, mergeRefs } from '@ds/react-utils'\nimport { MotionPresence } from '@ds/motion'\n\nimport { consoleWarn } from '../../logging'\nimport { globalIds } from '../../variables'\nimport { document } from '../../support/WebAPI'\nimport { useThemeStyles } from '../../theming'\nimport { bodyScroll, trapTabNavigation } from '../../utilities'\n\nimport Shroud from '../Shroud'\n\nimport ModalBase from './ModalBase'\nimport ModalClose from './ModalClose'\nimport ModalHeader from './ModalHeader'\nimport ModalBody from './ModalBody'\nimport ModalFooter from './ModalFooter'\nimport ModalPortal from './ModalPortal'\n\nimport baseStyles from './styles'\n\n/**\n * Modals function as a method to temporarily focus the user’s attention away from all other tasks in order to communicate a brief message or to complete a short series of actions.\n */\n\nfunction Modal(props) {\n const {\n accessibilityTitle,\n children,\n closeButton,\n onClose,\n shrouded,\n visible,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'Modal')\n\n if (!restProps.ModalPortalChild) {\n consoleWarn(`\n WARN @olive/react: Using the Modal component without a Modal.Portal requires that\n the Olive component be used, and use of the Olive component (at least insofar as\n it provides a mounting point for a Modal) will soon be deprecated. See the\n Modal.Portal component documentation for details, and begin transitioning to\n using that component to mount your Modals.\n `)\n }\n\n const [modal, setModal] = useState()\n const modalCallbackRef = (element) => setModal(element)\n\n const initialFocusId = useUniqueId('short', 'initialFocus-')\n const lastFocusedElement = useRef()\n const nodeRef = useRef()\n\n const modalExited = useCallback(() => {\n if (document.body.contains(lastFocusedElement.current)) {\n lastFocusedElement.current.focus()\n lastFocusedElement.current = null\n }\n bodyScroll.enable(modal)\n }, [modal])\n\n useEffect(() => {\n if (modal) {\n lastFocusedElement.current = document.activeElement\n\n const initialFocus = modal.querySelector(`#${initialFocusId}`)\n trapTabNavigation(modal, initialFocus)\n\n bodyScroll.disable(modal)\n }\n\n return () => {\n modalExited()\n }\n }, [modal, modalExited, initialFocusId])\n\n useEscapeListener(() => modal && !shrouded && onClose && onClose())\n\n const initialFocus = (\n <span css={styles.default.initialFocus} id={initialFocusId} tabIndex=\"-1\" />\n )\n\n const ModalWithShroud = (\n <>\n <Shroud\n onClick={onClose}\n visible={visible && !shrouded}\n zIndex={restProps.ModalPortalChild ? 0 : undefined}\n />\n\n <MotionPresence onExit={modalExited}>\n {visible && (\n <ModalBase\n accessibilityTitle={accessibilityTitle}\n forwardedRef={mergeRefs(modalCallbackRef, nodeRef)}\n closeButton={closeButton}\n zIndex={restProps.ModalPortalChild ? 0 : undefined}\n disabled={shrouded}\n {...restProps}\n >\n {initialFocus}\n {children}\n </ModalBase>\n )}\n </MotionPresence>\n </>\n )\n\n return restProps.ModalPortalChild ? (\n ModalWithShroud\n ) : (\n <ModalPortal targetId={globalIds.ModalContainer}>\n {ModalWithShroud}\n </ModalPortal>\n )\n}\n\nModal.heights = ModalBase.heights\nModal.widths = ModalBase.widths\n\nModal.propTypes = {\n /**\n * The optional title to present to assistive devices in order to identify the Modal.\n * If not provided, the accessibility title will be set to the Modal.Header title instead.\n * If no Modal.Header is provided, the accessibility title will be set to 'current'\n */\n accessibilityTitle: PropTypes.string,\n\n /**\n * Accepts at most one each of Modal.Header, Modal.Body, and Modal.Footer\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Adds a close button to the Modal.\n *\n * The value should be a Modal.Close component, which takes an 'onClick'\n * prop whose value should be a function to invoke when it is clicked.\n */\n closeButton: PropTypes.node,\n\n /**\n * Height of the modal.\n */\n height: PropTypes.oneOf(Modal.heights),\n\n /**\n * A function to invoke when the Modal requests to be closed.\n *\n * This request is made when:\n * - the \"Escape\" key is pressed\n * - the document receives a click outside of the Modal\n */\n onClose: PropTypes.func,\n\n /**\n * Whether the Modal is shrouded by another Modal displayed above it.\n *\n * The effect is to disable the Modal and dismiss the associated Shroud.\n */\n shrouded: PropTypes.bool,\n\n /**\n * Displays the modal.\n */\n visible: PropTypes.bool,\n\n /**\n * Width of the modal.\n */\n width: PropTypes.oneOf(Modal.widths),\n}\n\nModal.defaultProps = {\n accessibilityTitle: undefined,\n closeButton: undefined,\n height: 'content',\n onClose: undefined,\n shrouded: false,\n visible: false,\n width: 'medium',\n}\n\nModal.displayName = 'Modal'\nModalBase.displayName = 'Modal.Base'\nModalClose.displayName = 'Modal.Close'\nModalHeader.displayName = 'Modal.Header'\nModalBody.displayName = 'Modal.Body'\nModalFooter.displayName = 'Modal.Footer'\nModalPortal.displayName = 'Modal.Portal'\n\nModal.Base = ModalBase\nModal.Close = ModalClose\nModal.Header = ModalHeader\nModal.Body = ModalBody\nModal.Footer = ModalFooter\nModal.Portal = ModalPortal\n\nexport default Modal\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\nimport { DOMRef } from '../../../types'\nimport { CustomPropTypes } from '../../../support'\n\nexport interface TableBodyProps {\n /** Any number of Table.Row components */\n children: React.ReactNode\n /** Identifier for automated testing. */\n 'data-qa'?: string\n /** If provided will be attached to the underlying <tbody> element. */\n forwardedRef?: DOMRef<HTMLTableSectionElement>\n}\n\nexport function TableBody(props: TableBodyProps) {\n const { children, forwardedRef, ...restProps } = props\n\n return (\n <tbody ref={forwardedRef} {...dataProps(restProps)}>\n {children}\n </tbody>\n )\n}\n\nTableBody.propTypes = {\n /**\n * The 'children' prop accepts arbitrary nodes, but the normal usage pattern is:\n * <Table.Body>\n * ├─ <Table.Row />\n * └─ <Table.Row /> // any number of Table.Row components\n * </Table.Body>\n */\n children: PropTypes.node,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * If provided will be attached to the underlying <tbody> element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n}\n\nTableBody.defaultProps = {\n 'data-.*': undefined,\n children: undefined,\n forwardedRef: undefined,\n}\n","import { createContext, useContext } from 'react'\nimport { consoleWarn } from '../../logging'\n\nexport const TableContext = createContext<\n { border: string; striped: boolean; compact: boolean } | undefined\n>(undefined)\n\nexport const useTableContext = () => {\n const context = useContext(TableContext)\n if (!context) {\n consoleWarn(`It seems that you're using a Table.Cell, TableHeader.Cell or Table.Row component \n outside of a Table component. While this works, you will not see compact, border or striping styles applied.`)\n }\n return context\n}\n","import { breakpoints } from '../../../utilities'\nimport colors from '../../../theming/docusign-themes/olive/colors'\n\nexport default {\n default: {\n cell: {\n borderBottom: `1px solid ${colors.gray3}`,\n padding: '12px',\n\n '&:first-of-type': {\n borderLeft: '3px solid transparent',\n paddingLeft: '21px',\n },\n\n '&:last-child': {\n borderRight: 'none',\n paddingRight: '24px',\n },\n\n [breakpoints.lessThan(breakpoints.Sizes.Medium)]: {\n lineHeight: '20px',\n },\n },\n },\n\n withBorder: {\n cell: {\n borderRight: `1px solid ${colors.gray3}`,\n },\n },\n\n compact: {\n cell: {\n paddingBottom: '6px',\n paddingTop: '6px',\n },\n },\n}\n","import React from 'react'\n\nimport PropTypes from 'prop-types'\n\nimport { ariaProps, dataProps, onProps } from '@ds/react-utils'\nimport { useThemeStyles } from '../../../theming'\nimport { EventListenerAndAriaProps, DOMRef } from '../../../types'\nimport { CustomPropTypes } from '../../../support'\n\nimport { useTableContext } from '../TableContext'\nimport baseStyles from './styles'\n\nexport interface TableCellProps\n extends EventListenerAndAriaProps<HTMLTableCellElement> {\n /** The content of the cell. */\n children?: React.ReactNode\n /** Identifier for automated testing. */\n 'data-qa'?: string\n /** Indicates for how many columns the cell extends. */\n colSpan?: number\n /** Indicates for how many rows the cell extends. */\n rowSpan?: number\n /** Indicates that its element can be focused, and where it participates in sequential keyboard navigation. */\n tabIndex?: number\n /** If provided will be attached to the underlying <td> element. */\n forwardedRef?: DOMRef<HTMLTableDataCellElement>\n}\n\nexport const TableCell: React.FC<TableCellProps> = (props) => {\n const {\n children,\n tabIndex,\n forwardedRef,\n colSpan,\n rowSpan,\n ...restProps\n } = props\n\n const tableContext = useTableContext()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'TableCell')\n\n const cellStyles = [\n styles.default.cell,\n tableContext?.border && styles.withBorder.cell,\n tableContext?.compact && styles.compact.cell,\n ]\n\n return (\n <td\n {...ariaProps(restProps)}\n {...dataProps(restProps)}\n {...onProps(restProps)}\n tabIndex={tabIndex}\n css={cellStyles}\n role=\"gridcell\"\n colSpan={colSpan}\n rowSpan={rowSpan}\n ref={forwardedRef}\n >\n {children}\n </td>\n )\n}\n\nTableCell.propTypes = {\n /**\n * The content of the cell.\n */\n children: PropTypes.node,\n\n /**\n * Indicates for how many columns the cell extends.\n */\n colSpan: PropTypes.number,\n\n /**\n * Identifier for automated testing.\n */\n 'data-qa': PropTypes.string,\n\n /**\n * If provided will attach this ref to the underlying <td> element.\n */\n // @ts-ignore\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n // @ts-ignore\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * Indicates for how many rows the cell extends.\n */\n rowSpan: PropTypes.number,\n\n /**\n * Attribute for the <td> element.\n */\n tabIndex: PropTypes.number,\n}\n\nTableCell.defaultProps = {\n 'data-qa': undefined,\n // @ts-ignore\n 'on[A-Z].*': undefined,\n children: undefined,\n colSpan: undefined,\n forwardedRef: undefined,\n rowSpan: undefined,\n tabIndex: undefined,\n}\n\nTableCell.displayName = 'TableCell'\n\nexport default TableCell\n","import colors from '../../../theming/docusign-themes/olive/colors'\nimport { Tokens } from '../../../theming/types'\n\nimport { CreateFocusCss } from '../../../styles'\n\n/**\n * { variant: { cell, icon, button, text} }\n */\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n cell: {\n ...tokens.typography.sectionHeadline,\n borderBottom: `1px solid ${colors.gray3}`,\n padding: '8px 12px',\n textTransform: 'inherit',\n\n '&:first-of-type': {\n borderLeft: '3px solid transparent',\n paddingLeft: '21px',\n },\n\n '&:last-child': {\n borderRight: 'none',\n paddingRight: '24px',\n },\n\n '&:empty': {\n padding: 0,\n },\n },\n\n icon: {\n fill: tokens.icon.defaultColor,\n display: 'flex',\n flexShrink: 0,\n marginLeft: '4px',\n },\n\n button: {\n ...tokens.typography.sectionHeadline,\n alignItems: 'center',\n background: '0 0',\n border: 'none',\n borderRadius: 0,\n color: 'inherit',\n cursor: 'pointer',\n display: 'inline-flex',\n fontFamily: tokens.font.body,\n margin: 0,\n padding: 0,\n textTransform: 'inherit',\n whiteSpace: 'nowrap',\n\n '&:hover': {\n color: colors.funBlue,\n\n '& svg': {\n fill: colors.funBlue,\n },\n },\n\n ...CreateFocusCss(tokens.focus.outer),\n },\n\n text: {\n alignItems: 'center',\n display: 'inline-flex',\n },\n },\n\n withBorder: {\n cell: {\n borderRight: `1px solid ${colors.gray3}`,\n },\n },\n\n hideText: {\n cell: {\n lineHeight: '0 !important',\n paddingBottom: 0,\n paddingTop: 0,\n },\n\n icon: {\n height: 0,\n },\n\n text: {\n height: 0,\n visibility: 'hidden',\n },\n },\n }\n}\n","import React from 'react'\n\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps } from '@ds/react-utils'\nimport { useThemeStyles } from '../../../theming'\n\nimport IconSmall from '../../../internal/components/IconSmall'\n\nimport { useTableContext } from '../TableContext'\nimport baseStyles from './styles'\n\nimport { EventListenerProps } from '../../../types'\n\nexport type TableHeaderCellAlign = 'left' | 'center' | 'right'\n\nexport const tableHeaderCellAlignments: TableHeaderCellAlign[] = [\n 'left',\n 'center',\n 'right',\n]\n\nexport type TableHeaderCellSortDirection =\n | 'ascending'\n | 'descending'\n | 'sortable'\n\nexport const tableHeaderCellSortDirections: TableHeaderCellSortDirection[] = [\n 'ascending',\n 'descending',\n 'sortable',\n]\n\nconst ICON_KINDS = {\n ascending: 'menuTriangleUp',\n descending: 'menuTriangleDown',\n sortable: 'sort',\n} as const\n\nexport interface TableHeaderCellProps\n extends EventListenerProps<HTMLButtonElement> {\n /**\n * The node of the `Table.HeaderCell`.\n */\n text: React.ReactNode\n /**\n * The horizontal alignment of the contents of the Table.HeaderCell\n * and each of the Table.Cells in this column.\n */\n columnAlign?: TableHeaderCellAlign\n /**\n * The width of the `Table.HeaderCell` component's column.\n *\n * Accepts any valid CSS width value: length in px or em, percentage, keyword.\n */\n columnWidth?: string\n /**\n * Hides the `Table.HeaderCell` text.\n */\n hideText?: boolean\n /**\n * The sort direction to display for the `Table.HeaderCell`.\n */\n sortDirection?: TableHeaderCellSortDirection\n /**\n * Identifier for automated testing.\n */\n 'data-qa'?: string\n /**\n * Indicates for how many columns the cell extends.\n */\n colSpan?: number\n /**\n * Indicates for how many rows the cell extends.\n */\n rowSpan?: number\n /**\n * Defines the cells that the header element relates to.\n */\n scope?: HTMLTableHeaderCellElement['scope']\n}\n\nexport const TableHeaderCell = (props: TableHeaderCellProps): JSX.Element => {\n const {\n columnAlign,\n columnWidth,\n onClick,\n hideText,\n sortDirection,\n text,\n colSpan,\n rowSpan,\n scope = 'col',\n ...restProps\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'TableHeaderCell')\n const tableContext = useTableContext()\n\n // #region Inner button/text node\n const textStyles = [styles.default.text, hideText && styles.hideText.text]\n\n const iconStyles = [styles.default.icon, hideText && styles.hideText.icon]\n\n const SortDirectionNode = sortDirection && (\n <span css={iconStyles}>\n <IconSmall kind={ICON_KINDS[sortDirection]} />\n </span>\n )\n\n const InnerNode = onClick ? (\n <span css={textStyles}>\n <button\n {...onProps(restProps)}\n css={styles.default.button}\n className=\"olv-table-header-cell olv-ignore-transform\"\n onClick={onClick}\n type=\"button\"\n >\n {text}\n {SortDirectionNode}\n </button>\n </span>\n ) : (\n <span css={textStyles}>\n {text}\n {SortDirectionNode}\n </span>\n )\n // #endregion\n\n // #region Table header cell (th) node\n const cellStyles = [\n styles.default.cell,\n tableContext?.border && styles.withBorder.cell,\n hideText && styles.hideText.cell,\n ]\n\n const cellInlineStyles = {\n ...(columnAlign && { textAlign: columnAlign }),\n ...(columnWidth && { width: columnWidth }),\n ...(columnWidth && hideText && { maxWidth: columnWidth }),\n }\n // #endregion\n\n return (\n <th\n {...dataProps(restProps)}\n aria-sort={(sortDirection || 'none') as React.AriaAttributes['aria-sort']}\n css={cellStyles}\n role=\"columnheader\"\n scope={scope}\n style={cellInlineStyles}\n colSpan={colSpan}\n rowSpan={rowSpan}\n >\n {InnerNode}\n </th>\n )\n}\n\nTableHeaderCell.alignTypes = tableHeaderCellAlignments\n\nTableHeaderCell.sortDirections = tableHeaderCellSortDirections\n\nTableHeaderCell.propTypes = {\n /**\n * Indicates for how many columns the cell extends.\n */\n colSpan: PropTypes.number,\n\n /**\n * The horizontal alignment of the contents of the Table.HeaderCell\n * and each of the Table.Cells in this column.\n */\n columnAlign: PropTypes.oneOf(tableHeaderCellAlignments),\n\n /**\n * The width of the `Table.HeaderCell` component's column.\n *\n * Accepts any valid CSS width value: length in px or em, percentage, keyword.\n */\n columnWidth: PropTypes.string,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Hides the `Table.HeaderCell` text.\n */\n hideText: PropTypes.bool,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The click handler for the `Table.HeaderCell`.\n */\n onClick: PropTypes.func,\n\n /**\n * Indicates for how many rows the cell extends.\n */\n rowSpan: PropTypes.number,\n\n /**\n * Defines the cells that the header element relates to.\n */\n scope: PropTypes.string,\n\n /**\n * The sort direction to display for the `Table.HeaderCell`.\n */\n sortDirection: PropTypes.oneOf(tableHeaderCellSortDirections),\n\n /**\n * The node of the `Table.HeaderCell`.\n */\n text: PropTypes.node.isRequired,\n}\n\nTableHeaderCell.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n colSpan: undefined,\n columnAlign: 'left',\n columnWidth: undefined,\n hideText: false,\n onClick: undefined,\n rowSpan: undefined,\n scope: 'col',\n sortDirection: undefined,\n}\n\nexport default TableHeaderCell\n","import { useRef } from 'react'\n\n/**\n * Calls the initializer function once and returns the same value on every render.\n *\n * Unlike `React.useMemo` it's guaranteed to call the supplied function only once. Use React.useMemo\n * for performance optimizations, and use this when re-initializing the value might cause a bug.\n *\n * @example\n * const instance = useInitializer(() => new MyClass())\n */\nexport const useInitializer = <T>(initializer: () => T): T => {\n const valueRef = useRef<{ value: T }>()\n if (valueRef.current === undefined) {\n valueRef.current = {\n value: initializer(),\n }\n }\n return valueRef.current.value\n}\n","/**\n * @license\n * Copyright 2018 Google 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\n * all 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\n * THE SOFTWARE.\n *\n * https://github.com/material-components/material-components-web/blob/master/packages/mdc-dom/ponyfill.ts#L29\n */\n\nexport function matches(element: Element, selector: string): boolean {\n const nativeMatches =\n element.matches ||\n element.webkitMatchesSelector ||\n // @ts-ignore\n element.msMatchesSelector\n return nativeMatches.call(element, selector)\n}\n\nexport function closest(element: Element, selector: string): Element | null {\n if (element.closest) {\n return element.closest(selector)\n }\n\n let el: Element | null = element\n while (el) {\n if (matches(el, selector)) {\n return el\n }\n el = el.parentElement\n }\n return null\n}\n","import { useState, useCallback } from 'react'\nimport { closest } from '../../Ponyfills'\n\n/**\n * Ensures that multiple events do not fire.\n *\n * @returns true if the delegated click should be performed.\n */\nexport const shouldClick = ({\n targetElement,\n actionElement,\n ignoreKey,\n}: {\n targetElement: HTMLElement\n actionElement: HTMLElement\n ignoreKey?: string\n}) => {\n if (\n // The clicked element is the action element, or a child of it.\n actionElement.contains(targetElement) ||\n // The clicked element is an ignored element, or a child of one.\n (ignoreKey && closest(targetElement, `[data-delegate=${ignoreKey}]`))\n ) {\n return false\n }\n\n /*\n Labels can be associated with other elements by using the \"for\" attribute. \n When the user clicks a label the associated control will be activated. That \n happens without any intervention from this hook, and we need to stay out of \n the way to avoid activating it twice.\n \n If a label was clicked (or any of its children), and the label is associated \n with the delegate element, the delegated click will not be performed.\n */\n const labeledId = closest(targetElement, 'label[for]')?.getAttribute('for')\n if (labeledId && actionElement.id === labeledId) {\n return false\n }\n\n return true\n}\n\n/**\n * Takes a list of dependencies and fuses them into a single value: a number that\n * increments when any of the dependecies have changed.\n *\n * React dependency lists aren't allowed to change size between renders, and this\n * can be used as a workaround. Keep in mind that eslint will not be able to verify\n * whether you've passed the correct dependencies.\n *\n * @example\n * // Each line below represents a render:\n * const oneDep = useFuseDependencies([]) // oneDep === 0\n * const oneDep = useFuseDependencies([1, 2, 3]) // oneDep === 1\n * const oneDep = useFuseDependencies([1, 2, 3]) // oneDep === 1\n * const oneDep = useFuseDependencies([123]) // oneDep === 2\n *\n */\nexport const useFuseDependencies = (deps: unknown[]) => {\n const [previousDeps, setPreviousDeps] = useState<unknown[]>([])\n const [changeNumber, setChangeNumber] = useState(0)\n\n const update = useCallback((deps: unknown[]) => {\n setPreviousDeps(deps)\n setChangeNumber((n) => n + 1)\n }, [])\n\n if (deps.length !== previousDeps.length) {\n update(deps)\n } else if (deps.some((dep, i) => dep !== previousDeps[i])) {\n update(deps)\n }\n\n return changeNumber\n}\n","import { logWarnOnce } from '@ds/logging'\nimport { shouldClick } from './utils'\n\nexport interface Options {\n /** The value of the data-delegate attribute which is used to indicate the item to be clicked. */\n actionKey?: string\n /** The value of the data-delegate attribute which is used to indicate any items that should not trigger a click. */\n ignoreKey?: string\n}\n\n/**\n * Simulates a click on a descendent element (the \"action\" element) when the given\n * container is clicked. The action element is defined in the DOM by a setting its\n * `data-delegate` attribute to `action`.\n *\n * Clicking anywhere in the container will cause the delegated click to be performed,\n * unless the target element has `data-delegate=\"ignore\"`.\n *\n * The attribute values \"action\" and \"ignore\" can be changed if needed.\n *\n * @example\n * const container = document.createElement('div')\n * container.innerHTML = `\n * <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n * <a href=\"#\" data-delegate=\"action\">Learn more</a>\n * <a href=\"#\" data-delegate=\"ignore\">Learn less!</a>\n * `\n * const dc = new DelegatedClick()\n * dc.setContainerElement(container)\n */\nexport class DelegatedClick {\n private actionKey: string\n private ignoreKey: string\n private containerElement: Element | null = null\n private actionElement: HTMLElement | null = null\n\n constructor({ actionKey = 'action', ignoreKey = 'ignore' }: Options = {}) {\n this.actionKey = actionKey\n this.ignoreKey = ignoreKey\n\n this.handleContainerClick = this.handleContainerClick.bind(this)\n }\n\n /**\n * Re-process the container and click the action element. Check if the action element will\n * already be receiving a click event and in that case avoid firing a second one.\n */\n private handleContainerClick(event: Event) {\n this.findActionElement()\n if (!this.actionElement) {\n return\n }\n if (\n shouldClick({\n targetElement: event.target as HTMLElement,\n actionElement: this.actionElement,\n ignoreKey: this.ignoreKey,\n })\n ) {\n this.actionElement.click()\n }\n }\n\n /**\n * Search the container element for an action element, and add a click\n * handler to the container if one is found.\n */\n private findActionElement() {\n if (!this.containerElement) {\n return\n }\n const actionElements = this.containerElement.querySelectorAll(\n `[data-delegate=\"${this.actionKey}\"]`\n ) as NodeListOf<HTMLElement>\n\n if (actionElements.length === 0) {\n this.actionElement = null\n return\n }\n if (actionElements.length > 1) {\n logWarnOnce(\n `DelegatedClick: Only one element should have \"data-delegate=${this.actionKey}\", ${actionElements.length} were found.`\n )\n }\n this.actionElement = actionElements[0]\n this.containerElement.addEventListener('click', this.handleContainerClick)\n }\n\n /**\n * Store the new options and re-process the container (because these options can affect the result).\n */\n public setOptions({ actionKey = 'action', ignoreKey = 'ignore' }) {\n this.actionKey = actionKey\n this.ignoreKey = ignoreKey\n this.findActionElement()\n }\n\n /**\n * Remove the click handler from the container element and reset the related instance properties.\n * Note: Options for the instance remain unchanged.\n */\n public clearContainerElement() {\n if (this.containerElement) {\n this.containerElement.removeEventListener(\n 'click',\n this.handleContainerClick\n )\n }\n this.containerElement = null\n this.actionElement = null\n }\n\n /**\n * Set the container element, which will be searched for an action element.\n * @returns `true` if an action element is found.\n */\n public setContainerElement(containerElement: HTMLElement | null) {\n this.clearContainerElement()\n this.containerElement = containerElement\n this.findActionElement()\n\n return {\n hasActionElement: !!this.actionElement,\n }\n }\n}\n","import colors from '../../../theming/docusign-themes/olive/colors'\n\nexport default {\n withAction: {\n default: {\n row: {\n transition: 'background-color 0.2s ease',\n\n '&:hover td': {\n backgroundColor: colors.funBluePale2,\n cursor: 'pointer',\n },\n },\n },\n },\n\n selected: {\n row: {\n '& td': {\n backgroundColor: colors.funBluePale,\n },\n\n '&:hover td': {\n backgroundColor: colors.funBluePale,\n },\n },\n },\n}\n","import React, { useRef } from 'react'\n\nimport PropTypes from 'prop-types'\nimport {\n ariaProps,\n dataProps,\n mergeRefs,\n onProps,\n useDelegatedClick,\n} from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../../support'\nimport { consoleWarn } from '../../../logging'\nimport { useIsInk, useThemeStyles } from '../../../theming'\nimport { EventListenerAndAriaProps, DOMRef } from '../../../types'\n\nimport { useTableContext } from '../TableContext'\nimport baseStyles from './styles'\n\nexport type TableRowKinds = 'danger' | 'information' | 'warning'\n\nexport const tableRowKinds: TableRowKinds[] = [\n 'danger',\n 'information',\n 'warning',\n]\n\nexport interface TableRowProps\n extends EventListenerAndAriaProps<HTMLTableRowElement> {\n /**\n * The 'children' prop accepts arbitrary nodes, but the normal usage pattern is:\n * `<Table.Row>` `<Table.Cell />` `</Table.Row>`\n */\n children: React.ReactNode\n /**\n * Applies background color to the supplied table row\n * And left `kind` border to the first cell of that row\n * `Table.Row` component.\n * Only in Olive.\n */\n kind?: TableRowKinds\n /**\n * Applies background color to the selected table row\n * This overrides the background color of `kind` and `striped` if any\n * `Table.Row` component.\n */\n selected?: boolean\n /** Identifier for automated testing. */\n 'data-qa'?: string\n /** Indicates that its element can be focused, and where it participates in sequential keyboard navigation. */\n tabIndex?: number\n /** If provided will be attached to the underlying <tr> element. */\n forwardedRef?: DOMRef<HTMLTableRowElement>\n /** @ignore @internal Used internally for drag and drop. */\n _style?: React.CSSProperties\n}\n\nexport function TableRow(props: TableRowProps) {\n const {\n _style,\n children,\n kind,\n selected,\n forwardedRef,\n tabIndex,\n ...restProps\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'TableRow')\n const tableContext = useTableContext()\n const isInk = useIsInk()\n\n const TableRowRef = useRef<HTMLTableRowElement>(null)\n\n const isWithAction = useDelegatedClick(TableRowRef)\n\n if (isInk && kind) {\n consoleWarn(`\n Ink does not support the 'kind' prop for Table.Row and will not change the styling. Please remove kind from Table.Row to remove this warning.\n `)\n }\n\n const tableRowStyles = [\n kind && styles[kind]?.row,\n isWithAction && styles.withAction.default.row,\n isWithAction && kind && styles.withAction[kind]?.row,\n tableContext?.striped && styles.striped?.row,\n selected && styles.selected.row,\n ]\n\n return (\n <tr\n style={_style}\n {...ariaProps(restProps)}\n {...dataProps(restProps)}\n {...onProps(restProps)}\n tabIndex={tabIndex}\n css={tableRowStyles}\n ref={forwardedRef ? mergeRefs(TableRowRef, forwardedRef) : TableRowRef}\n >\n {children}\n </tr>\n )\n}\n\nTableRow.kinds = tableRowKinds\n\nTableRow.propTypes = {\n /**\n * The 'children' prop accepts arbitrary nodes, but the normal usage pattern is:\n * `<Table.Row>` `<Table.Cell />` `</Table.Row>`\n */\n children: PropTypes.node,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * A React ref to assign to the HTML node representing the TableRow element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Applies background color to the supplied table row\n * And left `kind` border to the first cell of that row\n * `Table.Row` component.\n * Only in Olive.\n */\n kind: PropTypes.oneOf(tableRowKinds),\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * Applies background color to the selected table row\n * This overrides the background color of `kind` and `striped` if any\n * `Table.Row` component.\n */\n selected: PropTypes.bool,\n}\n\nTableRow.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n children: undefined,\n forwardedRef: undefined,\n kind: undefined,\n selected: false,\n}\n","import React, { useEffect, useState } from 'react'\nimport { useInitializer } from '../useInitializer'\nimport { DelegatedClick } from './DelegatedClick'\nimport { useFuseDependencies } from './utils'\n\n/**\n * This hook provides a mechanism for \"delegating\" clicks which occur in a containing\n * DOM element to a child element of that same container.\n */\nexport function useDelegatedClick(\n /**\n * The container that will receive the click and delegate that click to a child.\n */\n containerRef: React.RefObject<HTMLElement>,\n /**\n * The data-delegate attribute's value that identifies which action will be taken\n * when the container is clicked.\n */\n dataDelegateValue?: string,\n /**\n * When any value in this dependency list changes, the containerRef will be\n * searched again for data-delegate items. Use this when the data-delegate will\n * change over time (e.g. it's based on an API call).\n */\n dependencies: unknown[] = []\n) {\n const [hasActionElement, setHasActionElement] = useState(false)\n const delegatedClick = useInitializer(() => new DelegatedClick())\n\n // Fuse external dependecies into a single value that will change when any of them change.\n // This allows the dependencies prop to change in length without triggering a warning from React.\n const externalDeps = useFuseDependencies(dependencies)\n\n useEffect(() => {\n delegatedClick.setOptions({ actionKey: dataDelegateValue })\n }, [dataDelegateValue, delegatedClick])\n\n useEffect(() => {\n const { hasActionElement } = delegatedClick.setContainerElement(\n containerRef.current\n )\n setHasActionElement(hasActionElement)\n return () => {\n delegatedClick.clearContainerElement()\n }\n }, [containerRef, delegatedClick, externalDeps])\n\n return hasActionElement\n}\n","import { zIndexes } from '../../../variables'\nimport colors from '../../../theming/docusign-themes/olive/colors'\n\nexport default {\n sticky: {\n th: {\n backgroundColor: colors.white,\n position: 'sticky',\n top: 0,\n zIndex: zIndexes.TableHeader,\n },\n },\n\n hidden: {\n th: {\n borderBottom: 'none',\n },\n },\n}\n","import React, { useState, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, useIntersectionObserver, mergeRefs } from '@ds/react-utils'\nimport { CSSObject } from '@emotion/core'\nimport { CustomPropTypes } from '../../../support'\nimport { useThemeStyles } from '../../../theming'\nimport { TableHeaderCell, TableHeaderCellProps } from '../TableHeaderCell'\nimport { TableRow, TableRowProps } from '../TableRow'\nimport baseStyles from './styles'\nimport { TableSectionForwardRef } from '../../../types'\nimport { consoleError } from '../../../logging'\n\nexport interface TableHeaderProps {\n /**\n * The 'children' prop accepts arbitrary nodes, but the normal usage pattern is:\n * `<Table.Header>` `<Table.HeaderCell />` `</Table.Header>`\n */\n children?: React.ReactNode\n /**\n * Identifier for automated testing.\n */\n 'data-qa'?: string\n /**\n * A React ref to assign to the HTML node representing the `Table.Header` element.\n */\n forwardedRef?: TableSectionForwardRef\n /**\n * Applies sticky positioning to each `Table.Header`.\n */\n sticky?: boolean\n /**\n * Hides the table header `<thead>`.\n */\n visuallyHidden?: boolean\n}\n\nexport const TableHeader = (props: TableHeaderProps): JSX.Element => {\n const { children, forwardedRef, sticky, visuallyHidden, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles, 'TableHeader')\n\n const mappedChildren = useMemo(() => {\n let hasRowChildren = false\n let hasNonRowChildren = false\n\n React.Children.forEach(children, (child) => {\n if (childIsRow(child)) {\n hasRowChildren = true\n } else {\n hasNonRowChildren = true\n }\n })\n\n if (hasRowChildren && !hasNonRowChildren) {\n return React.Children.map(\n children as React.ReactElement<TableRowProps>[],\n (child) =>\n React.cloneElement(child, {\n children: enhanceCells(child.props.children, visuallyHidden),\n })\n )\n }\n\n if (hasRowChildren && hasNonRowChildren) {\n consoleError(\n 'When passing a <Table.Row> as a child of <Table.Header> no other type of children can be passed.'\n )\n }\n\n return <tr>{enhanceCells(children, visuallyHidden)}</tr>\n }, [children, visuallyHidden])\n\n const [\n targetElement,\n setTargetElement,\n ] = useState<HTMLTableSectionElement | null>()\n\n const observe = useIntersectionObserver(targetElement)\n\n const tableHeaderStyles = [\n sticky && styles.sticky,\n observe && styles.stickyActive,\n visuallyHidden && styles.hidden,\n ]\n\n return (\n <thead\n {...dataProps(restProps)}\n css={tableHeaderStyles as CSSObject[]}\n ref={\n forwardedRef\n ? mergeRefs(setTargetElement, forwardedRef)\n : setTargetElement\n }\n >\n {mappedChildren}\n </thead>\n )\n}\n\nTableHeader.propTypes = {\n /**\n * The 'children' prop accepts arbitrary nodes, but the normal usage pattern is:\n * `<Table.Header>` `<Table.HeaderCell />` `</Table.Header>`\n */\n children: PropTypes.node,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Identifier for automated testing.\n */\n 'data-qa': PropTypes.string,\n\n /**\n * A React ref to assign to the HTML node representing the `Table.Header` element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Applies sticky positioning to each `Table.Header`.\n */\n sticky: PropTypes.bool,\n\n /**\n * Hides the table header `<thead>`.\n */\n visuallyHidden: PropTypes.bool,\n}\n\nTableHeader.defaultProps = {\n 'data-.*': undefined,\n 'data-qa': undefined,\n children: undefined,\n forwardedRef: undefined,\n sticky: false,\n visuallyHidden: false,\n}\n\n// *** Utils ***\n\nconst enhanceCells = (children: React.ReactNode, visuallyHidden?: boolean) =>\n React.Children.map(children, (child) => {\n if (childIsHeaderCell(child)) {\n return React.cloneElement(child, {\n ...(visuallyHidden && { hideText: true }),\n })\n }\n return child\n })\n\nconst childIsHeaderCell = (\n child: React.ReactNode\n): child is React.ReactElement<TableHeaderCellProps> =>\n React.isValidElement(child) && child.type === TableHeaderCell\n\nconst childIsRow = (\n child: React.ReactNode\n): child is React.ReactElement<TableRowProps> =>\n React.isValidElement(child) && child.type === TableRow\n","import colors from '../../theming/docusign-themes/olive/colors'\nimport { Tokens } from '../../theming/types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n table: {\n ...tokens.typography.bodyMedium,\n backgroundColor: colors.white,\n borderCollapse: 'separate',\n borderSpacing: 0,\n borderTop: `1px solid ${colors.gray3}`,\n color: tokens.text.defaultColor,\n width: '100%',\n },\n },\n }\n}\n","import React, { useEffect, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\nimport { consoleWarn } from '../../logging'\nimport { useIsInk, useThemeStyles } from '../../theming'\n\nimport { TableBody } from './TableBody'\nimport TableCell from './TableCell'\nimport { TableHeader } from './TableHeader'\nimport { TableHeaderCell } from './TableHeaderCell'\nimport { TableRow } from './TableRow'\nimport { TableContext } from './TableContext'\n\nimport baseStyles from './styles'\n\n/**\n * Tables display data organized into columns and rows. They allow users to easily recognize patterns and analyze large amounts of data.\n * Tables display a repetitive pattern of data organized into an array allowing the user to easily recognize patterns or absorb a large amount of data at a glance.\n */\nfunction Table(props) {\n const { border, children, compact, striped, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles, 'Table')\n\n const TableRef = useRef()\n\n const isInk = useIsInk()\n if (isInk && striped) {\n consoleWarn(`\n Ink does not support the 'striped' prop for Table and will not change the styling. Please remove striped from Table to remove this warning.\n `)\n }\n\n const setColumnStyle = () => {\n const TableHeaderRow = TableRef.current.querySelector('thead tr')\n const TableBodyRows = Array.from(\n TableRef.current.querySelectorAll('tbody tr')\n )\n\n if (!(TableHeaderRow && TableBodyRows.length)) {\n return\n }\n\n const columnStyles = Array.from(TableHeaderRow.querySelectorAll('th')).map(\n (tableHeader) => ({\n width: tableHeader.style.width,\n textAlign: tableHeader.style.textAlign,\n })\n )\n\n columnStyles.forEach((colStyle, colIndex) => {\n TableBodyRows.forEach((tableRow) => {\n const TableRowCells = Array.from(tableRow.querySelectorAll('td'))\n const cell = TableRowCells[colIndex]\n if (!cell) {\n return\n }\n if (colStyle.textAlign) {\n cell.style.textAlign = colStyle.textAlign\n } else {\n cell.style.textAlign = null\n }\n cell.style.width = colStyle.width\n })\n })\n }\n\n useEffect(setColumnStyle)\n\n return (\n <TableContext.Provider value={{ border, compact, striped }}>\n <table\n {...dataProps(restProps)}\n css={styles.default.table}\n ref={TableRef}\n >\n {children}\n </table>\n </TableContext.Provider>\n )\n}\n\nTable.propTypes = {\n /**\n * Applies a border to cells by forwarding the prop to child\n * `Table.Header` and `Table.Body` components.\n */\n border: PropTypes.bool,\n\n /**\n * The 'children' prop accepts arbitrary nodes, but the normal usage pattern is:\n * `<Table>` `<Table.Header />` `<Table.Body />` `</Table>`\n */\n children: PropTypes.node,\n\n /**\n * Applies tight padding to the table by forwarding the prop to a child\n * Table.Body component.\n */\n compact: PropTypes.bool,\n\n /**\n * Applies zebra stripes to the table by forwarding the prop to a child\n * `Table.Body` component.\n * Only in Olive.\n */\n striped: PropTypes.bool,\n}\n\nTable.defaultProps = {\n border: false,\n children: undefined,\n compact: false,\n striped: false,\n}\n\nTable.displayName = 'Table'\n\nTableBody.displayName = 'Table.Body'\nTableCell.displayName = 'Table.Cell'\nTableHeader.displayName = 'Table.Header'\nTableHeaderCell.displayName = 'Table.HeaderCell'\nTableRow.displayName = 'Table.Row'\n\nTable.Body = TableBody\nTable.Cell = TableCell\nTable.Header = TableHeader\nTable.HeaderCell = TableHeaderCell\nTable.Row = TableRow\n\nexport default Table\n","module.exports = {};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","module.exports = {};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict'\n\nvar assign = Object.assign\n\nmodule.exports = assign\n","'use strict'\n\nmodule.exports = wrap\n\nvar u = require('unist-builder')\n\n// Wrap `nodes` with line feeds between each entry.\n// Optionally adds line feeds at the start and end.\nfunction wrap(nodes, loose) {\n var result = []\n var index = -1\n var length = nodes.length\n\n if (loose) {\n result.push(u('text', '\\n'))\n }\n\n while (++index < length) {\n if (index) {\n result.push(u('text', '\\n'))\n }\n\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push(u('text', '\\n'))\n }\n\n return result\n}\n","/**\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","module.exports = require(\"core-js-pure/stable/object/assign\");","import _Object$setPrototypeOf from \"@babel/runtime-corejs3/core-js/object/set-prototype-of\";\nimport _Object$getPrototypeOf from \"@babel/runtime-corejs3/core-js/object/get-prototype-of\";\nexport 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}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import { invert, isFunction } from 'lodash'\nimport { KazMon } from '../Kazmon'\nimport isBrowser from '../Utility/isBrowser'\n\n/*\n This module stores configuration properties to be used by any component\n\n Apps should set these configuration properties at startup (before any depndendent\n component is used).\n\n WARNING. app description properties environment/site MUST be in in the server whitelist if you set them!\n https://github.docusignhq.com/pages/FrontEndShared/components/docs/recipes/logging/kazmonsdk\n\n NOTE: To guard against more than one componentsConfig on the page we attempt to store it's state\n on the global object (fall back to the singleton if unsuccessful).\n\n*/\n\nexport const STANDARD_LOG_URLS = {\n PROD: 'https://telemetry.docusign.net',\n DEMO: 'https://telemetry-d.docusign.net',\n STAGE: 'https://telemetry-s.docusign.net',\n TEST: 'https://telemetry.dev.docusign.net',\n}\n\ninterface AppDescription {\n appId?: string\n appVersion?: string\n environment?: string\n}\n\ntype StringAccessor = () => string\n\n// CAUTION! Consider other instances that might be in memory if you\n// are altering the types of these properties.\ninterface ConfigState {\n appDescription: AppDescription\n simulateAnalytics: boolean\n loggingUrl?: string\n accountAPIUrl?: StringAccessor | string\n accountAccessToken?: StringAccessor | string\n suppressDeprecations: boolean\n kazmon?: KazMon\n}\n\nconst initialState: ConfigState = {\n appDescription: {},\n simulateAnalytics: false,\n suppressDeprecations: false,\n}\n\nconst STATE_WINDOW_VAR_NAME = 'DocuSignComponentsConfig'\n\nclass Config {\n private state: ConfigState\n constructor() {\n if (isBrowser()) {\n try {\n if (self[STATE_WINDOW_VAR_NAME]) {\n this.state = self[STATE_WINDOW_VAR_NAME] as unknown as ConfigState\n } else {\n this.state = initialState\n self[STATE_WINDOW_VAR_NAME] = this.state\n }\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log(\n 'warning...problem getting/setting from self: docusign componentConfig may not be global if more than one config instance'\n )\n this.state = initialState\n }\n } else {\n this.state = initialState\n }\n }\n\n setAppDescription(appDescription: AppDescription) {\n this.state.appDescription = appDescription\n }\n\n getAppDescription() {\n return this.state.appDescription || {}\n }\n\n setLoggingUrl(urlOrName: string) {\n this.state.loggingUrl = urlOrName\n ? STANDARD_LOG_URLS[urlOrName.toUpperCase()]\n : urlOrName\n if (!this.state.loggingUrl) {\n this.state.loggingUrl = urlOrName\n }\n }\n\n getLoggingUrl() {\n return this.state.loggingUrl\n }\n\n clearLoggingURL() {\n this.state.loggingUrl = undefined\n }\n\n isProdLogging() {\n return this.state.loggingUrl === STANDARD_LOG_URLS.PROD\n }\n\n getLoggingEnvironment() {\n if (this.getAppDescription().environment) {\n return this.getAppDescription().environment\n }\n if (this.state.loggingUrl) {\n return (\n invert(STANDARD_LOG_URLS)[this.state.loggingUrl] ||\n this.state.loggingUrl\n )\n }\n return 'UNSPECIFIED'\n }\n setAccountAPIAccessToken(tokenOrAccessor: string | StringAccessor) {\n this.state.accountAccessToken = tokenOrAccessor\n }\n\n getAccountAPIAccessToken() {\n return isFunction(this.state.accountAccessToken)\n ? this.state.accountAccessToken()\n : this.state.accountAccessToken\n }\n\n /*\n Example: https://demo.docusign.net/restapi/v2.1\n */\n setAccountAPIRootUrl(urlOrAccessor: string | StringAccessor) {\n this.state.accountAPIUrl = urlOrAccessor\n }\n\n getAccountAPIRootUrl() {\n return isFunction(this.state.accountAPIUrl)\n ? this.state.accountAPIUrl()\n : this.state.accountAPIUrl\n }\n\n setSimulateAnalytics(simulate: boolean) {\n this.state.simulateAnalytics = simulate\n }\n\n isSimulatingAnalytics() {\n return this.state.simulateAnalytics\n }\n\n setSuppressDeprecationWarnings(suppress: boolean) {\n this.state.suppressDeprecations = suppress\n }\n\n isSuppressingDeprecationWarnings() {\n return this.state.suppressDeprecations\n }\n\n setComponentsKazMon(kazmon: KazMon) {\n this.state.kazmon = kazmon\n }\n\n getComponentsKazMon() {\n return this.state.kazmon\n }\n}\n\nconst componentsConfig = new Config()\n\nexport default componentsConfig\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import _Object$setPrototypeOf from \"@babel/runtime-corejs3/core-js/object/set-prototype-of\";\nimport _Object$getPrototypeOf from \"@babel/runtime-corejs3/core-js/object/get-prototype-of\";\nexport 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}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import { HelveticaNeue, MavenPro } from '@olive/fonts'\n\nexport default [HelveticaNeue, MavenPro]\n","import fontGroups from '../../fontGroups';\nimport { fontGroupDeclarations, normalizedBaseUrl } from '../../utilities';\nexport default (function (path) {\n var baseUrl = normalizedBaseUrl(path);\n return fontGroupDeclarations(fontGroups.helvetica_neue, baseUrl);\n});","import fontGroups from '../../fontGroups';\nimport { fontGroupDeclarations, normalizedBaseUrl } from '../../utilities';\nexport default (function (path) {\n var baseUrl = normalizedBaseUrl(path);\n return fontGroupDeclarations(fontGroups.maven_pro, baseUrl);\n});","var icons = {\n 'actionRequired': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0C3.615 0 0 3.581 0 8c0 4.419 3.615 8 8 8s8-3.581 8-8c0-4.419-3.538-8-8-8zm1 13H7v-2h2v2zm0-4H7V3h2v6z\\\"/>\\n</svg>\",\n 'addLogic': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2h2v2h-2v2h-2V4h-2V2h2V0h2v2zM3.5 7a3.5 3.5 0 110-7 3.5 3.5 0 010 7zm0-2a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm9 11a3.5 3.5 0 110-7 3.5 3.5 0 010 7zm0-2a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM3 8c.6 0 1 .4 1 1v1c0 .6-.4 1-1 1s-1-.4-1-1V9c0-.6.4-1 1-1zm-1 5c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1-1-.4-1-1zm3 0c0-.6.4-1 1-1h1c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1z\\\" fill-rule=\\\"evenodd\\\"/>\\n</svg>\",\n 'alignBottom': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 0h3v12H1V0zm10 2h3v10h-3V2zM0 14h15v2H0v-2zm6-8h3v6H6V6z\\\"/>\\n</svg>\",\n 'alignLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 1h12v3H4V1zm0 5h6v3H4V6zM0 0h2v15H0V0zm4 11h10v3H4v-3z\\\"/>\\n</svg>\",\n 'alignRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 1h12v3H0V1zm6 5h6v3H6V6zm8-6h2v15h-2V0zM2 11h10v3H2v-3z\\\"/>\\n</svg>\",\n 'alignTop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 4h3v12H1V4zm10 0h3v10h-3V4zM0 0h15v2H0V0zm6 4h3v6H6V4z\\\"/>\\n</svg>\",\n 'approve': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12.118 1.14l-1.473 1.473a6 6 0 103.35 5.135l1.752-1.752a8 8 0 11-3.63-4.856zm-6.91 5.153L7.5 8.586l6.293-6.293 1.414 1.414L7.5 11.414 3.793 7.707l1.414-1.414z\\\"/>\\n</svg>\",\n 'arrowDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 9l-6 6-6-6 1.34-1.34L7 11.31V1h2v10.31l3.66-3.65L14 9z\\\"/>\\n</svg>\",\n 'arrowLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 2L1 8l6 6 1.34-1.34L4.69 9H15V7H4.69l3.65-3.66L7 2z\\\"/>\\n</svg>\",\n 'arrowRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 2l6 6-6 6-1.34-1.34L11.31 9H1V7h10.31L7.66 3.34 9 2z\\\"/>\\n</svg>\",\n 'arrowUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 7L8 1 2 7l1.34 1.34L7 4.69V15h2V4.69l3.66 3.65L14 7z\\\"/>\\n</svg>\",\n 'arrowUpLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15 13.66L4.34 3H9V1H1v8h2V4.34L13.66 15 15 13.66z\\\"/>\\n</svg>\",\n 'at': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 9V8a6 6 0 10-2.876 5.124l1.444 1.444A8 8 0 1116 8v1.01A2.997 2.997 0 0113 12a2.99 2.99 0 01-2.289-1.06A3.986 3.986 0 018 12c-2.21 0-4-1.795-4-4 0-2.21 1.795-4 4-4 .729 0 1.412.195 2 .5h1c.552 0 1 .458 1 .994V9c0 .556.448 1 1 1 .556 0 1-.448 1-1zM6 8c0 1.112.895 2 2 2 1.112 0 2-.895 2-2 0-1.112-.895-2-2-2-1.112 0-2 .895-2 2z\\\"/>\\n</svg>\",\n 'authentication': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 14l-2 2-2-2 6.608-6.608a5 5 0 112 2L7 11l2 2-3 3-2-2zm8-8.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\\\"/>\\n</svg>\",\n 'autoFill': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 14H3a2 2 0 01-2-2V2a2 2 0 012-2h10a2 2 0 012 2v3h-2V2H3v10h3zm8-3.58L12.59 9l-4.88 4.88L7 16l2.12-.71zm1.7-1.71A1 1 0 0016 8a1 1 0 00-.3-.7 1 1 0 00-1.41 0l-.71.7L15 9.42zM11 4H5v2h6zM9 8H5v2h4z\\\"/>\\n</svg>\",\n 'award': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4.46 9.709a5.5 5.5 0 117.081 0l1.793 4.927-2.563-1.195-1.196 2.564L8 11.676l-1.575 4.329-1.196-2.564-2.563 1.195L4.459 9.71zM8 9a3.5 3.5 0 100-7 3.5 3.5 0 000 7z\\\"/>\\n</svg>\",\n 'bell': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 12H0l3-3V5.002A5.005 5.005 0 018 0c2.761 0 5 2.229 5 5.002V9l3 3zm-6 1v.995a2 2 0 01-4 0V13h4z\\\"/>\\n</svg>\",\n 'block': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11.477 3.109a6.002 6.002 0 00-8.368 8.368l8.368-8.368zM4.523 12.89a6.002 6.002 0 008.368-8.368L4.523 12.89zm-2.18.766A8 8 0 1113.657 2.343 8 8 0 012.343 13.657z\\\"/>\\n</svg>\",\n 'bold': \"<svg viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M8.59 6.33l.157-.006c.369 0 .674-.09.907-.267.219-.168.33-.45.33-.843 0-.22-.035-.397-.11-.54a.826.826 0 00-.288-.313 1.417 1.417 0 00-.444-.156 3.36 3.36 0 00-.562-.049H6.595V6.33H8.59zm.292 4.534c.203 0 .408-.024.61-.067a1.42 1.42 0 00.486-.202.93.93 0 00.316-.364c.079-.152.117-.351.117-.61 0-.502-.126-.844-.388-1.047-.275-.213-.633-.316-1.097-.316H6.595v2.606h2.287zM4 13V2h5.044c.504 0 .97.046 1.386.137.42.092.791.248 1.1.463.316.223.56.518.726.88.17.354.256.801.256 1.327 0 .58-.126 1.05-.386 1.44-.194.295-.46.549-.794.76.504.209.896.52 1.17.931.336.507.498 1.097.498 1.803 0 .575-.105 1.058-.322 1.475-.216.42-.51.765-.87 1.024a3.755 3.755 0 01-1.229.577 5.283 5.283 0 01-1.4.183H4z\\\"/>\\n</svg>\",\n 'boolean': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 3a3 3 0 113 3 3 3 0 01-3-3zm13-3H5.77A4.06 4.06 0 017 2h6a1 1 0 010 2H7a4.06 4.06 0 01-1.23 2H13a3 3 0 000-6zm3 13a3 3 0 10-3 3 3 3 0 003-3zm-7 1H3a1 1 0 010-2h6a4.06 4.06 0 011.19-2H3a3 3 0 000 6h7.23A4.06 4.06 0 019 14z\\\"/>\\n</svg>\",\n 'boxPlusAbove': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path d=\\\"M0 4h2v10H0zm14 10v2H2v-2zm0-10h2v10h-2zM2 2h1v2H2zm11 0h1v2h-1zM2 2v2H0c0-1.1.9-2 2-2zm14 2h-2V2a2 2 0 012 2zM2 14v2a2 2 0 01-2-2h2zm14 0a2 2 0 01-2 2v-2h2z\\\"/>\\n <path d=\\\"M16 10H0V8h16zM9 2h2v2H9v2H7V4H5V2h2V0h2v2z\\\"/>\\n </g>\\n</svg>\",\n 'boxPlusAfter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path d=\\\"M12 0v2H2V0zM2 14H0V2h2zm10 0v2H2v-2zm2-12v1h-2V2zm0 11v1h-2v-1zm0-11h-2V0a2 2 0 012 2zm-2 14v-2h2a2 2 0 01-2 2zM2 2H0C0 .9.9 0 2 0v2zm0 14a2 2 0 01-2-2h2v2z\\\"/>\\n <path d=\\\"M6 16V0h2v16zm8-7v2h-2V9h-2V7h2V5h2v2h2v2h-2z\\\"/>\\n </g>\\n</svg>\",\n 'boxPlusBefore': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path d=\\\"M4 16v-2h10v2zM14 2h2v12h-2zM4 2V0h10v2zM2 14v-1h2v1zM2 3V2h2v1zm0 11h2v2a2 2 0 01-2-2zM4 0v2H2c0-1.1.9-2 2-2zm10 14h2a2 2 0 01-2 2v-2zm0-14a2 2 0 012 2h-2V0z\\\"/>\\n <path d=\\\"M10 0v16H8V0zM2 7V5h2v2h2v2H4v2H2V9H0V7h2z\\\"/>\\n </g>\\n</svg>\",\n 'boxPlusBelow': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path d=\\\"M16 12h-2V2h2zM2 2V0h12v2zm0 10H0V2h2zm12 2h-1v-2h1zM3 14H2v-2h1zm11 0v-2h2a2 2 0 01-2 2zM0 12h2v2a2 2 0 01-2-2zM14 2V0a2 2 0 012 2h-2zM0 2C0 .9.9 0 2 0v2H0z\\\"/>\\n <path d=\\\"M0 6h16v2H0zm7 8H5v-2h2v-2h2v2h2v2H9v2H7v-2z\\\"/>\\n </g>\\n</svg>\",\n 'bulkSend': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2v8H6V2h8m0-2H6a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2V2a2 2 0 00-2-2zm-1 4H7v1h6zm-2 3H7v1h4zm-9 7V5a2 2 0 00-2 2v7a2 2 0 002 2h7a2 2 0 002-2H2z\\\"/>\\n</svg>\",\n 'bulletedList': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 4a1 1 0 112 0 1 1 0 11-2 0zm4-1h12v2H4V3zM0 8a1 1 0 112 0 1 1 0 11-2 0zm4-1h12v2H4V7zm-4 5a1 1 0 112 0 1 1 0 11-2 0zm4-1h12v2H4v-2z\\\"/>\\n</svg>\",\n 'calendar': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2H2C.9 2 0 2.9 0 4v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM2 14V6h12v8H2zM3 0h2v2H3zm8 0h2v2h-2z\\\"/>\\n</svg>\",\n 'camera': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 3v-.5A1.5 1.5 0 015.505 1h4.99A1.5 1.5 0 0112 2.5V3h2.006C15.107 3 16 3.9 16 4.992v7.016c0 1.1-.895 1.992-1.994 1.992H1.994C.893 14 0 13.1 0 12.008V4.992C0 3.892.895 3 1.994 3H4zm4 9a4 4 0 100-8 4 4 0 000 8zm0-2a2 2 0 110-4 2 2 0 010 4z\\\"/>\\n</svg>\",\n 'caretLargeDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2.81 4L1.4 5.41 7.98 12l.02-.02.02.02 6.58-6.59L13.19 4 8 9.19z\\\"/>\\n</svg>\",\n 'caretLargeLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12 2.81L10.59 1.4 4 7.98l.02.02-.02.02 6.59 6.58L12 13.19 6.81 8z\\\"/>\\n</svg>\",\n 'caretLargeRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 13.19l1.41 1.41L12 8.02 11.98 8l.02-.02L5.41 1.4 4 2.81 9.19 8z\\\"/>\\n</svg>\",\n 'caretLargeUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.19 12l1.41-1.41L8.02 4 8 4.02 7.98 4 1.4 10.59 2.81 12 8 6.81z\\\"/>\\n</svg>\",\n 'caretXlargeDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 6l8 8 8-8-1.5-1.5L8 11 1.5 4.5z\\\"/>\\n</svg>\",\n 'caretXlargeLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10 0L2 8l8 8 1.5-1.5L5 8l6.5-6.5z\\\"/>\\n</svg>\",\n 'caretXlargeRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 0l8 8-8 8-1.5-1.5L11 8 4.5 1.5z\\\"/>\\n</svg>\",\n 'caretXlargeUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 10l8-8 8 8-1.5 1.5L8 5l-6.5 6.5z\\\"/>\\n</svg>\",\n 'certificate': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 0v1.999L2.006 2C2 2 2 14.006 2 14.006c0-.007 9.994-.006 9.994-.006.002 0 .003-1.797.004-4H14v4.006A2 2 0 0111.994 16H2.006A2.001 2.001 0 010 14.006V1.994A2 2 0 012.006 0H9zM4 6h3v2H4V6zm0 4h6v2H4v-2zm7.5-3.134L8.719 9 9.79 5.56 7 3.437l3.443.008L11.5 0l1.057 3.446L16 3.438l-2.79 2.121L14.281 9 11.5 6.866z\\\"/>\\n</svg>\",\n 'check': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 3.41L14.58 2l-8.92 8.92-4.25-4.24L0 8.09l5.66 5.66z\\\"/>\\n</svg>\",\n 'checkbox': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.7 2c.2 0 .3.1.3.3v11.4c0 .2-.1.3-.3.3H2.3c-.2 0-.3-.1-.3-.3V2.3c0-.2.1-.3.3-.3h11.4m0-2H2.3C1 0 0 1 0 2.3v11.4C0 15 1 16 2.3 16h11.4c1.3 0 2.3-1 2.3-2.3V2.3C16 1 15 0 13.7 0z\\\"/>\\n <path d=\\\"M13 5.5l-1.4-1.4L6.7 9 4.4 6.8 3 8.2l3.7 3.7z\\\"/>\\n</svg>\",\n 'checkmark': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 4.91L12.58 3.5 6.4 9.68 3.42 6.7 2 8.11l4.4 4.39z\\\"/>\\n</svg>\",\n 'chevronDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13 6.2l-1.4-1.4L8 8.4 4.4 4.8 3 6.2l5 5z\\\"/>\\n</svg>\",\n 'chevronLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.8 13l1.4-1.4L7.6 8l3.6-3.6L9.8 3l-5 5z\\\"/>\\n</svg>\",\n 'chevronRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6.2 13l-1.4-1.4L8.4 8 4.8 4.4 6.2 3l5 5z\\\"/>\\n</svg>\",\n 'chevronUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13 9.8l-1.4 1.4L8 7.6l-3.6 3.6L3 9.8l5-5z\\\"/>\\n</svg>\",\n 'circleStatus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 3C5.2 3 3 5.2 3 8s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5z\\\"/>\\n</svg>\",\n 'circleStatusClosed': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 3C5.2 3 3 5.2 3 8s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm3 6H5V7h6v2z\\\"/>\\n</svg>\",\n 'circleX': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm4.2 10.8l-1.4 1.4L8 9.4l-2.8 2.8-1.4-1.4L6.6 8 3.8 5.2l1.4-1.4L8 6.6l2.8-2.8 1.4 1.4L9.4 8l2.8 2.8z\\\"/>\\n</svg>\",\n 'clipboard': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8.5 16H2.998A2.001 2.001 0 011 13.994V4.006C1 2.898 1.894 2 3.003 2H4.67a3.001 3.001 0 015.658 0h1.668C13.103 2 14 2.896 14 3.997V11l-1 1-4 4h-.5zm3.5-6V6H3v8h5v-4h4zM7.5 4a1 1 0 100-2 1 1 0 000 2z\\\"/>\\n</svg>\",\n 'clock': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 9H5V7h2V4h2v5zm-1 7A8 8 0 118 0a8 8 0 010 16zm0-2A6 6 0 108 2a6 6 0 000 12z\\\"/>\\n</svg>\",\n 'close': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12.95 11.536L9.414 8l3.536-3.536-1.414-1.414L8 6.586 4.464 3.05 3.05 4.464 6.586 8 3.05 11.536l1.414 1.414L8 9.414l3.536 3.536z\\\"/>\\n</svg>\",\n 'closeSmall': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6.5l-3-3L3.5 5l3 3-3 3L5 12.5l3-3 3 3 1.5-1.5-3-3 3-3L11 3.5z\\\"/>\\n</svg>\",\n 'closeXlarge': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6.5L1.5 0 0 1.5 6.5 8 0 14.5 1.5 16 8 9.5l6.5 6.5 1.5-1.5L9.5 8 16 1.5 14.5 0z\\\"/>\\n</svg>\",\n 'cloudUpload': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 13h3a4 4 0 10-.253-7.992A4.502 4.502 0 003.027 7H3a3 3 0 100 6h4V9l-1.5 1.5L4 9l4-4 4 4-1.5 1.5L9 9v4z\\\"/>\\n</svg>\",\n 'cluster': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 3v1H3V3zm0 5H3v1h3V8zm0 2H3v1h3v-1zm10-6v10a2 2 0 01-2 2H9a2 2 0 01-2-2H2a2 2 0 01-2-2V2a2 2 0 012-2h5a2 2 0 012 2h5a2 2 0 012 2zm-9 8V2H2v10zm7-8H9v10h5zm-1 1h-3v1h3V5zm0 5h-3v1h3v-1zm0 2h-3v1h3v-1z\\\"/>\\n</svg>\",\n 'collapse': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 1v5a1 1 0 01-1 1H1V5h2.66L0 1.34 1.34 0 5 3.66V1zm9 13.66L12.34 11H15V9h-5a1 1 0 00-1 1v5h2v-2.66L14.66 16z\\\"/>\\n</svg>\",\n 'collapseSection': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.994 9v2.1a2.01 2.01 0 01-2 1.9h-8c-1.1 0-2-.9-2-2V9H0V7h1.994V5c0-1.066.846-1.945 1.9-1.998l8.1-.002c1.1 0 2 .9 2 2v2H16v2h-2.006zM4 9h2V7H4v2zm3 0h2V7H7v2zm3 0h2V7h-2v2z\\\"/>\\n</svg>\",\n 'column': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 1H2a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V3a2 2 0 00-2-2zm-4 4v8H6V5zM2 5h3v8H2zm9 8V5h3v8z\\\"/>\\n</svg>\",\n 'comment': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 12h6.006c1.1 0 1.994-.9 1.994-2.009V2.01A2.003 2.003 0 0014.006 0H1.994C.894 0 0 .9 0 2.009V9.99C0 11.098.893 12 1.994 12H2v4l6-4z\\\"/>\\n</svg>\",\n 'commentAdd': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2h2v2h-2v2h-2V4h-2V2h2V0h2v2zm2 3.004v4.987A2.003 2.003 0 0114.006 12H8l-6 4v-4h-.006C.894 12 0 11.1 0 9.991V2.01C0 .902.893 0 1.994 0h9.009H8v2.002c-2.998.001-5.994.003-5.994.007 0 0 .001 7.991-.006 7.991 0 0 11.994-.002 11.994-.009V8H16V5.004z\\\"/>\\n</svg>\",\n 'company': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 0v16h4v-4h4v4h4V0H2zm4 10H4V8h2v2zm0-3H4V5h2v2zm0-3H4V2h2v2zm3 6H7V8h2v2zm0-3H7V5h2v2zm0-3H7V2h2v2zm3 6h-2V8h2v2zm0-3h-2V5h2v2zm0-3h-2V2h2v2z\\\"/>\\n</svg>\",\n 'contacts': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 0c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2H0v-2h2V4H0V2h2c0-1.1.9-2 2-2h10zM9 9c-2 0-4 1-4 2v1h8v-1c0-1-2-2-4-2zm0-5c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\\\"/>\\n</svg>\",\n 'courthouse': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 7v6h3V7H4zM2 7H0V4l8-3 8 3v3h-2v6h2v3H0v-3h2V7zm10 0H9v6h3V7z\\\"/>\\n</svg>\",\n 'creditCard': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 2H2C.9 2 0 2.9 0 4v1h16V4c0-1.1-.9-2-2-2zM0 7v5c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V7H0zm7 4c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1v-1c0-.6.4-1 1-1h3c.6 0 1 .4 1 1v1z\\\"/>\\n</svg>\",\n 'crop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 12h6v2H2V4H0V2h2V0h2zm12 0h-2V2H6v2h6v12h2v-2h2z\\\"/>\\n</svg>\",\n 'currency': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.61 11l.39 1.9a5.47 5.47 0 01-1 .1 5 5 0 01-4.58-3H9V9h1.1a5.47 5.47 0 01-.1-1 5.47 5.47 0 01.1-1H9V6h1.42A5 5 0 0115 3a5.47 5.47 0 011 .1L15.61 5a3 3 0 00-.61-.1A3.08 3.08 0 0012.65 6H15v1h-2.92a2.87 2.87 0 000 2H15v1h-2.35A3.08 3.08 0 0015 11.1a3 3 0 00.61-.1zM6 6V4H4V3H2v1a2 2 0 00-2 2v1a2 2 0 002 2h2v1H0v2h2v1h2v-1a2 2 0 002-2V9a2 2 0 00-2-2H2V6z\\\"/>\\n</svg>\",\n 'dataRead': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M16 10l-4-4v3.01H4v2h8V14z\\\"/>\\n</svg>\",\n 'dataReadWrite': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n s\\n <path d=\\\"M18 7l-4-4v3.01H9v2h5V11zm-7 4.01H6V8l-4 4 4 4v-2.99h5z\\\"/>\\n</svg>\",\n 'database': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 14v-2h3a2 2 0 002-2V2a2 2 0 00-2-2H4a2 2 0 00-2 2v8a2 2 0 002 2h3v2H0v2h16v-2zm3-12v1H4V2zM4 4h8v6H4zm5 1h2v2H9z\\\"/>\\n</svg>\",\n 'decline': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6.586l2.293-2.293 1.414 1.414L9.414 8l2.293 2.293-1.414 1.414L8 9.414l-2.293 2.293-1.414-1.414L6.586 8 4.293 5.707l1.414-1.414L8 6.586zM8 16A8 8 0 118 0a8 8 0 010 16zm0-2A6 6 0 108 2a6 6 0 000 12z\\\"/>\\n</svg>\",\n 'desktop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 2v9h12V2H2zm8 11l.92 2.08c.23.51-.05.92-.62.92H5.7c-.57 0-.84-.42-.62-.92L6 13H1.6A1.6 1.6 0 010 11.38V1.62C0 .72.72 0 1.6 0h12.8c.89 0 1.6.73 1.6 1.62v9.76c0 .9-.72 1.62-1.6 1.62H10z\\\"/>\\n</svg>\",\n 'detailView': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 6H6V2h10zM4 2H0v4h4zm0 8H0v4h4zm12 0H6v4h10z\\\"/>\\n</svg>\",\n 'document': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 0v5.997A2 2 0 009.003 8H15v6.003A2.001 2.001 0 0112.994 16H3.006A2.001 2.001 0 011 14.006V1.994C1 .893 1.887 0 3.006 0H7zm2 0l6 6H9V0z\\\"/>\\n</svg>\",\n 'download': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 11v3H2v-3H0v5h16v-5z\\\"/>\\n <path d=\\\"M14 6l-1.4-1.4L9 8.2V0H7v8.2L3.4 4.6 2 6l6 6z\\\"/>\\n</svg>\",\n 'draft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11 8l2 2-5 5-3 1 1-3 5-5zm1-1l1.29-1.29a1 1 0 011.42 0l.58.58a1.01 1.01 0 010 1.42L14 9l-2-2zm-1-2V2H2v9h3l-2 2h-.997A2 2 0 010 10.997V2.003A2 2 0 012.001 0h8.988c1.105 0 2.002.894 2.003 2.003v1.004L11 5z\\\"/>\\n</svg>\",\n 'duplicate': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M3 12V2h8V0H3C1.9 0 1 .9 1 2v10h2zm10-6.1V14H6.9v2H13c1.1 0 2-.9 2-2V5.9h-2z\\\"/>\\n <path d=\\\"M13 4H7c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 10H7V6h6v8z\\\"/>\\n</svg>\",\n 'envelope': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 7.8L16 3c0-1.1-.9-2-2-2H2C.9 1 0 1.9 0 3v.1l8 4.7z\\\"/>\\n <path d=\\\"M8 10.2L0 5.4V13c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V5.3l-8 4.9z\\\"/>\\n</svg>\",\n 'expression': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.34 8L11 9.66 9.66 11 8 9.34 6.34 11 5 9.66 6.65 8 5 6.34 6.34 5 8 6.65 9.66 5 11 6.34zM16 7h-1V3a2 2 0 00-2-2h-2v2h2v10h-2v2h2a2 2 0 002-2V9h1zM0 9h1v4a2 2 0 002 2h2v-2H3V3h2V1H3a2 2 0 00-2 2v4H0z\\\"/>\\n</svg>\",\n 'externalLink': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12.586 2H9V0h7v7h-2V3.414l-7.5 7.5L5.086 9.5l7.5-7.5zM7 3v2H2v9h9V9h2v4.997A2 2 0 0110.997 16H2.003A2 2 0 010 13.997V5.003A2 2 0 012.003 3H7z\\\"/>\\n</svg>\",\n 'eye': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 2C2 2 0 8 0 8s2 6 8 6 8-6 8-6-2-6-8-6zm0 9.5c-1.9 0-3.5-1.6-3.5-3.5S6.1 4.5 8 4.5s3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"1.5\\\"/>\\n</svg>\",\n 'eyeSlash': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 4.5c1.9 0 3.5 1.6 3.5 3.5 0 .3 0 .6-.1.9l2.5 2.5C15.4 9.8 16 8 16 8s-2-6-8-6c-1.1 0-2.1.2-2.9.5l2.1 2.1c.2-.1.5-.1.8-.1zm8 10.4l-2.8-2.8L11 9.8 9.5 8.3 7.7 6.5 6.1 5l-2-2-3-3-1 1.1 2.8 2.8C.8 5.6 0 8 0 8s2 6 8 6c1.6 0 2.9-.4 3.9-1l3 3 1.1-1.1zm-8-3.4c-1.9 0-3.5-1.6-3.5-3.5 0-.7.2-1.4.6-1.9l1.5 1.5c0 .1-.1.3-.1.4 0 .8.7 1.5 1.5 1.5.1 0 .3 0 .4-.1l1.5 1.5c-.5.4-1.2.6-1.9.6z\\\"/>\\n</svg>\",\n 'eyedropper': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2.088 10.283L.541 14.04l.983.96 3.817-1.515 6.164-6.067-3.254-3.203zM15.162 3.81c.838-.893.83-2.28-.053-3.143a2.33 2.33 0 00-3.193-.052L11.91.608 10.15 2.34l-.77-.757c-.366-.36-.93-.375-1.265-.045-.335.33-.32.892.046 1.245l.77.757 3.26 3.202.77.758c.366.36.93.375 1.265.045.335-.33.32-.893-.046-1.245l-.77-.757 1.753-1.733z\\\"/>\\n</svg>\",\n 'field': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 11H2V5h12v6zm0-8H2a2 2 0 00-2 2v6a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2z\\\"/>\\n</svg>\",\n 'fieldMerge': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 12H5v-2h6a2 2 0 002-2V7h1v5zM2 8V3h9v2H5a2 2 0 00-2 2v1H2zm12-3h-1V3a2 2 0 00-2-2H2a2 2 0 00-2 2v5a2 2 0 002 2h1v2a2 2 0 002 2h9a2 2 0 002-2V7a2 2 0 00-2-2z\\\"/>\\n</svg>\",\n 'fieldsCustom': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M.55 16l6.407-6.407a4.001 4.001 0 015.426-4.72L9.407 7.85l2.12 2.121 2.977-2.976a4.001 4.001 0 01-4.719 5.426L6.206 16H.55zM0 9.008V1.992C0 .9.893 0 1.994 0h12.012C15.106 0 16 .894 16 1.998V6l-2-2V2H2v7h3l-2 2h-.999A2 2 0 010 9.008z\\\"/>\\n</svg>\",\n 'filter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4.063 12H0v1h4.063a2 2 0 003.874 0H16v-1H7.937a2 2 0 00-3.874 0zm6-5H0v1h10.063a2 2 0 003.874 0H16V7h-2.063a2 2 0 00-3.874 0zm-8-5H0v1h2.063a2 2 0 003.874 0H16V2H5.937a2 2 0 00-3.874 0z\\\"/>\\n</svg>\",\n 'flag': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 10H2v6H0V0h8c1.113 0 2 .895 2 2h6v10H8c-1.113 0-2-.895-2-2zm8 0V4h-4v6h4zM2 2v6h6V2H2z\\\"/>\\n</svg>\",\n 'focusButton': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 0H2a2 2 0 00-2 2v4a2 2 0 002 2h5v4.66L4.34 10 3 11.34l4.39 4.4a.85.85 0 001.22 0l4.39-4.4L11.66 10 9 12.66V8h5a2 2 0 002-2V2a2 2 0 00-2-2zm0 6H2V2h12z\\\"/>\\n</svg>\",\n 'folder': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 3H8c0-1.1-.9-2-2-2H2C.9 1 0 1.9 0 3v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\\\"/>\\n</svg>\",\n 'folderOpen': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 5H0V3c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2h6c1.1 0 2 .9 2 2zM0 7h16v6.002A1.997 1.997 0 0114.006 15H1.994A1.991 1.991 0 010 13.002V7z\\\"/>\\n</svg>\",\n 'followerDatabase': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 4H6a2 2 0 00-2 2v3h2V8h8v6H6v-1H4v1a2 2 0 002 2h8a2 2 0 002-2V6a2 2 0 00-2-2zM6 7V6h8v1zm6-5v1h-2V2H2v8h6V9l1.69 1.35a.84.84 0 010 1.3L8 13v-1H2a2 2 0 01-2-2V2a2 2 0 012-2h8a2 2 0 012 2zm-1 7h2v2h-2z\\\"/>\\n</svg>\",\n 'function': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2.9 5.2h1.7L5.1 3c.1-.4.3-.8.4-1.2.2-.4.4-.7.6-1 .3-.3.6-.5 1-.6.5-.1 1-.2 1.6-.2h.6c.2 0 .4.1.6.1l-.5 1.6c-.2-.1-.4-.1-.7-.1-.3 0-.5 0-.7.1-.1.1-.3.2-.4.4-.1.1-.2.3-.3.5-.1.2-.1.5-.2.7l-.5 1.9h1.9l-.4 1.5H6.2l-1.7 5.9c-.1.4-.3.9-.4 1.3-.1.4-.4.8-.7 1.1-.3.3-.6.6-1.1.7-.4.2-.9.2-1.3.2H.4c-.2 0-.4 0-.6-.1l.4-1.6c.1 0 .3.1.5.1.5 0 .8-.1 1-.4s.4-.6.5-1l1.7-6.3H2.5l.4-1.4zM7 12.8h2.2l2.1-2.6 1.2 2.6h2.1l-2-4 3.2-3.6-2.1-.1-1.9 2.4-.9-2.3H8.8l1.7 3.6z\\\"/>\\n</svg>\",\n 'functionFolder': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 5v8a2 2 0 01-2 2H8.72A7.12 7.12 0 009 13.87l.43-2.67H11V8.69l.14-.63.19-1.06.2-.93-.89-.33A3.7 3.7 0 0010 5.5a3.26 3.26 0 00-.72-.07 2.6 2.6 0 00-2.4 1.25A4.85 4.85 0 006.38 8H4.79v3.2h1l-.34 2.05v.26L4.49 13l-.32 1.47-.12.53H2a2 2 0 01-2-2V3a2 2 0 012-2h4a2 2 0 012 2h6a2 2 0 012 2zM9.85 9.12h-1.2c0-.23.08-.44.11-.63A2.38 2.38 0 018.91 8a.58.58 0 01.25-.28.78.78 0 01.31-.06.69.69 0 01.25 0 1.19 1.19 0 01.29.13l.24-1.11a2.54 2.54 0 00-.48-.14 2.59 2.59 0 00-.51 0 1.55 1.55 0 00-1.44.72 6.69 6.69 0 00-.56 1.87H5.89v1H7.1l-.56 3.33a5.74 5.74 0 01-.28 1.14.48.48 0 01-.48.3.8.8 0 01-.24 0 1.36 1.36 0 01-.3-.15l-.07.25-.17.79a3.09 3.09 0 00.51.15A2.35 2.35 0 006 16a1.59 1.59 0 001.45-.85s0-.11.06-.15a3.39 3.39 0 00.22-.57 5.83 5.83 0 00.17-.74l.59-3.59h1.36z\\\"/>\\n</svg>\",\n 'gear': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.753 2.26c.372.114.728.262 1.065.442l2.132-1.066 1.414 1.414-1.066 2.132c.18.337.328.693.442 1.065L16 7v2l-2.26.753a5.963 5.963 0 01-.442 1.065l1.066 2.132-1.414 1.414-2.132-1.066c-.337.18-.693.328-1.065.442L9 16H7l-.753-2.26a5.963 5.963 0 01-1.065-.442L3.05 14.364 1.636 12.95l1.066-2.132a5.963 5.963 0 01-.442-1.065L0 9V7l2.26-.753c.114-.372.262-.728.442-1.065L1.636 3.05 3.05 1.636l2.132 1.066c.337-.18.693-.328 1.065-.442L7 0h2l.753 2.26zM8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\\\"/>\\n</svg>\",\n 'globeLanguage': \"<svg viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M8.018 0C12.416 0 16.006 3.592 16 7.987c-.006 4.395-3.576 7.969-7.987 7.997C3.628 16.011-.003 12.385 0 7.982.003 3.564 3.584-.001 8.018 0zm2.556 7.331c-.055-.862-.289-1.653-.603-2.421-.027-.067-.188-.111-.287-.112a252.678 252.678 0 00-3.372-.001c-.099.001-.258.048-.286.116-.315.768-.546 1.559-.602 2.418h5.15zm.002 1.317H5.345l.566 2.318c1.372 0 2.658.002 3.944-.004.074-.001.193-.055.215-.113.27-.706.467-1.43.506-2.201zm4.134-1.313a6.47 6.47 0 00-1.309-3.393l-2.138.648.642 2.745h2.805zM4.733 4.59a1552.9 1552.9 0 00-2.148-.646C1.851 4.955 1.39 6.064 1.29 7.337h2.8l.643-2.747zm7.166 4.047l-.549 2.529 2.184.683a6.536 6.536 0 001.181-3.212h-2.816zm-9.414 3.207l2.159-.68-.545-2.53H1.325c-.052.865.515 2.419 1.16 3.21zm4.09.31l-.067.113 1.496 2.231 1.552-2.344H6.575zm2.951 2.415c1.204-.309 2.225-.833 3.145-1.729-.604-.162-1.124-.31-1.65-.434-.087-.021-.247.031-.289.1-.403.664-.787 1.339-1.206 2.063zm-3.069-.021c-.407-.705-.793-1.381-1.189-2.052-.033-.056-.139-.119-.193-.105-.564.135-1.125.285-1.762.45.957.888 1.962 1.442 3.144 1.707zM9.401 3.59L7.993 1.531 6.605 3.59h2.796zm-5.913-.625c.634.155 1.178.292 1.725.417.047.011.137-.039.166-.086.372-.611.736-1.227 1.135-1.895-1.138.265-2.098.752-3.026 1.564zm8.922.022l.002-.112c-.844-.716-1.791-1.227-2.928-1.469.394.66.754 1.269 1.126 1.87.036.058.16.109.228.094.526-.118 1.048-.253 1.572-.383z\\\"/>\\n</svg>\",\n 'gridView': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h7v7H0V0zm9 0h7v7H9V0zM0 9h7v7H0V9zm9 0h7v7H9V9z\\\"/>\\n</svg>\",\n 'gripperBar': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 1h2v2H5V1zm4 0h2v2H9V1zM5 5h2v2H5V5zm4 0h2v2H9V5zM5 9h2v2H5V9zm4 0h2v2H9V9zm-4 4h2v2H5v-2zm4 0h2v2H9v-2z\\\"/>\\n</svg>\",\n 'gripperCorner': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 1h2v2H1V1zm12 0h2v2h-2V1zM5 1h2v2H5V1zm4 0h2v2H9V1zM1 5h2v2H1V5zm4 0h2v2H5V5zm4 0h2v2H9V5zM1 9h2v2H1V9zm4 0h2v2H5V9zm-4 4h2v2H1v-2z\\\"/>\\n</svg>\",\n 'gripperRectangleHorizontal': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" d=\\\"M15 5v2h-2V5h2zm0 4v2h-2V9h2zm-4-4v2H9V5h2zm0 4v2H9V9h2zM7 5v2H5V5h2zm0 4v2H5V9h2zM3 5v2H1V5h2zm0 4v2H1V9h2z\\\"/>\\n</svg>\",\n 'hanko': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 1.7c3.4 0 6.2 2.8 6.2 6.2s-2.8 6.2-6.2 6.2S1.8 11.4 1.8 8 4.6 1.7 8 1.7M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/>\\n <path d=\\\"M4 4.3l.7.2c.7-.3 1.4-.7 1.9-1.1l1.3 1.2c-.1.1-.2.1-.3.1-.6.3-1.4.7-2.2 1v1.1h2.1v1.3H5.4v1.6h2.1V11H5.4v.7H4V4.3zm8 .1v5.5c0 1-.3 1.6-2 1.6 0-.5-.3-1.2-.5-1.6h.6c.4 0 .4 0 .4-.2v-4H9.3v6.8H7.9V4.4H12z\\\"/>\\n</svg>\",\n 'heartPlus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.38 2.23A4.32 4.32 0 008 1.93a4.32 4.32 0 00-7.38.3A5.91 5.91 0 001.5 8.8L8 16l6.5-7.2a5.91 5.91 0 00.88-6.57zM11 8H9v2H7V8H5V6h2V4h2v2h2z\\\"/>\\n</svg>\",\n 'highlighter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.66 3.74L12.72.81a1 1 0 00-.7-.3 1 1 0 00-.65.24L2.87 8a2 2 0 00-.7 1.52v3.32L.05 15h2.83l.7-.71h3.33a2 2 0 001.52-.7l7.28-8.49a1 1 0 00.29-.66 1 1 0 00-.34-.7zm-8.75 8.65H4.37l-.3-.3V9.56a.09.09 0 010-.08l.21-.18 2.84 2.85-.12.21a.09.09 0 01-.09.03zm1.5-1.69L5.76 8.06 12 2.74l1.75 1.75z\\\"/>\\n</svg>\",\n 'home': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0L0 7h2v9h4v-6h4v6h4V7h2z\\\"/>\\n</svg>\",\n 'idBadge': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 14H2c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h12c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2zM6 9V6c0-.6-.4-1-1-1H3c-.5 0-1 .5-1 1v3c0 .6.5 1 1 1h2c.6 0 1-.4 1-1zm8-4H8v1h6V5zm0 2H8v1h6V7zm0 2H8v1h6V9z\\\"/>\\n</svg>\",\n 'identityVerification': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" d=\\\"M11.058 8.442L7.5 12H0V9.857C0 8.43 3 7 6 7c1.969 0 3.937.615 5.058 1.442zM6 6a3 3 0 110-6 3 3 0 010 6zm5.5 7l3-3 1.5 1.5-4.5 4.5-3-3 1.5-1.5 1.5 1.5z\\\"/>\\n</svg>\",\n 'image': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 0H2C.9 0 0 1 0 2.3v11.4C0 15 .9 16 2 16h12c1.1 0 2-1 2-2.3V2.3C16 1 15.1 0 14 0zm0 4v7.5l-2.1-2.6-1.7 2.4-4.3-5.4L2 11.5V4h12zm0 0H2V2h12v2zm-3.5 3a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\\\"/>\\n</svg>\",\n 'inbox': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 5c0 1.653 1.343 3 3 3 1.653 0 3-1.343 3-3h5v7.003A1.997 1.997 0 0114.006 14H1.994A1.997 1.997 0 010 12.003V5h5zM2 1h12v2H2V1z\\\"/>\\n</svg>\",\n 'indicatorCurrent': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 2c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6m0-2C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"3.5\\\"/>\\n</svg>\",\n 'indicatorIncomplete': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 2c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm0-2C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/>\\n</svg>\",\n 'initials': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 14h16v2H0v-2zM3.72.74c.79 0 1.42.13 1.91.39s.86.62 1.13 1.1c.26.48.44 1.05.54 1.73.09.67.14 1.42.14 2.25 0 .99-.06 1.85-.18 2.58s-.33 1.33-.62 1.81c-.29.47-.69.83-1.18 1.06-.5.22-1.13.34-1.88.34H0V.74h3.72zm-.44 9.59c.4 0 .72-.07.96-.21.24-.14.43-.36.58-.68.14-.31.23-.73.28-1.24.05-.51.07-1.16.07-1.92 0-.64-.02-1.2-.06-1.69-.04-.49-.13-.89-.26-1.21-.13-.32-.33-.56-.59-.72-.26-.16-.6-.24-1.03-.24h-.96v7.91h1.01zm7.5-1.52c0 .26.02.5.06.72.04.22.12.4.24.54.12.15.27.26.46.35.19.08.44.13.73.13.35 0 .66-.11.94-.34.28-.23.42-.58.42-1.05 0-.25-.03-.47-.1-.65a1.35 1.35 0 00-.34-.5c-.16-.15-.37-.28-.62-.4a7.91 7.91 0 00-.95-.37c-.5-.17-.94-.35-1.31-.55-.37-.2-.68-.43-.92-.7-.25-.28-.43-.59-.55-.94-.11-.35-.17-.76-.17-1.22 0-1.11.31-1.94.93-2.49.62-.55 1.47-.82 2.55-.82.5 0 .97.05 1.39.17.42.12.79.29 1.1.54.31.25.55.56.73.95.17.38.26.84.26 1.38v.32h-2.17c0-.54-.09-.95-.28-1.24-.19-.29-.5-.43-.95-.43-.25 0-.46.04-.63.11a1.011 1.011 0 00-.61.71c-.04.16-.06.32-.06.49 0 .35.07.64.22.87.15.24.46.45.95.65l1.75.76c.43.19.78.39 1.06.59.27.21.49.43.65.66.16.24.28.5.34.78.07.27.1.59.1.93 0 1.19-.34 2.05-1.03 2.59s-1.65.81-2.88.81c-1.28 0-2.2-.28-2.75-.84-.55-.56-.83-1.36-.83-2.4v-.44h2.27v.33z\\\"/>\\n</svg>\",\n 'insert': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12 8L8 4v3.01H0v2h8V12z\\\"/>\\n <path d=\\\"M14 1H4c-1.1 0-2 .9-2 2v2h2V3h10v10H4v-2H2v2c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2z\\\"/>\\n</svg>\",\n 'italics': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 2v2h1.8l-3.101 7.5H3.6v2h5.999v-2H7.8L11 4h1.999V2z\\\"/>\\n</svg>\",\n 'keyboard': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 6H7V4h2zM6 4H4v2h2zM3 4H1v2h2zm9 0h-2v2h2zm3 0h-2v2h2zm-3 6H4v2h8zm-9 0H1v2h2zm12 0h-2v2h2zM6 7H4v2h2zM3 7H1v2h2zm6 0H7v2h2zm6 0h-5v2h5z\\\"/>\\n</svg>\",\n 'line': \"<svg viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M1.636 12.95L12.95 1.636l1.414 1.414L3.05 14.364z\\\" fill-rule=\\\"evenodd\\\"/>\\n</svg>\",\n 'lineHeight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 12h2l-3 3-3-3h2V4H0l3-3 3 3H4zM16 2H8v2h8zm0 5H8v2h8zm0 5H8v2h8z\\\"/>\\n</svg>\",\n 'link': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <g fill-rule=\\\"evenodd\\\">\\n <path fill-rule=\\\"nonzero\\\" d=\\\"M12.243 10.828l-1.415-1.414-1.414 1.414 1.414 1.414-2.12 2.122a5 5 0 11-7.072-7.071L3.757 5.17l1.415 1.415L6.586 5.17 5.172 3.757l2.12-2.121a5 5 0 017.072 7.07l-2.121 2.122zM3.05 8.707a3 3 0 104.243 4.242l5.657-5.656A3 3 0 008.707 3.05L3.05 8.707z\\\"/>\\n <path d=\\\"M4.464 10.121l5.657-5.657 1.415 1.414-5.657 5.657z\\\"/>\\n </g>\\n</svg>\",\n 'locationPin': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12.981 5.439C12.747 8.285 10.373 13.152 8 16 5.626 13.152 3.253 8.286 3.019 5.438a5 5 0 119.962.001zM5.25 5a2.75 2.75 0 105.5 0 2.75 2.75 0 00-5.5 0z\\\"/>\\n</svg>\",\n 'lock': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.5 6H13V5c0-2.8-2.2-5-5-5S3 2.2 3 5v1h-.5C1.7 6 1 6.7 1 7.5v7c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5zM8 12.5c-.8 0-1.5-.7-1.5-1.5S7.2 9.5 8 9.5s1.5.7 1.5 1.5-.7 1.5-1.5 1.5zM11 6H5V5c0-1.7 1.3-3 3-3s3 1.3 3 3v1z\\\"/>\\n</svg>\",\n 'menu': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 2h16v2H0V2zm0 5h16v2H0V7zm0 5h16v2H0v-2z\\\"/>\\n</svg>\",\n 'menuTriangleDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 5h8l-4 6z\\\"/>\\n</svg>\",\n 'menuTriangleLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11 4v8L5 8z\\\"/>\\n</svg>\",\n 'menuTriangleRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 4v8l6-4z\\\"/>\\n</svg>\",\n 'menuTriangleUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4 11h8L8 5z\\\"/>\\n</svg>\",\n 'mergeCell': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 12H2v2h12v-2h-3v2H9v-2H7v2H5v-2zm4-8V2h2v2h3V2H2v2h3V2h2v2h2zm-7 6h12V6H2v4zM14 0c1.1 0 2 1 2 2.3v11.4c0 1.3-.9 2.3-2 2.3H2c-1.1 0-2-1-2-2.3V2.3C0 1 .9 0 2 0h12z\\\" fill-rule=\\\"evenodd\\\"/>\\n</svg>\",\n 'mergeFieldsDynamic': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 13a4.09 4.09 0 01.14-1H5v-2h5.38a4 4 0 012.33-1A2 2 0 0013 8V7h1v2.14a4 4 0 012 1.24V7a2 2 0 00-2-2h-1V3a2 2 0 00-2-2H2a2 2 0 00-2 2v5a2 2 0 002 2h1v2a2 2 0 002 2h4.14A4.09 4.09 0 019 13zm2-5H5V7h6zM3 7v1H2V3h9v2H5a2 2 0 00-2 2zm10 3a3 3 0 103 3 3 3 0 00-3-3zm0 5h-1l.5-1.75h-1L13 11h1l-.5 1.5h1z\\\"/>\\n</svg>\",\n 'messages': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11 0H2C.9 0 0 .9 0 2v6c0 1.1.9 2 2 2h1v3l4-3h4c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z\\\"/>\\n <path d=\\\"M14 3v1c.55 0 1 .45 1 1v6c0 .55-.45 1-1 1h-2v2l-1.33-1-1.33-1H7.31l-1.33 1H9l2.4 1.8L13 16v-3h1c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\\\"/>\\n</svg>\",\n 'minus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 7h14v2H1z\\\"/>\\n</svg>\",\n 'mobilePhone': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M3 1.994C3 .893 3.887 0 5 0h6c1.105 0 2 .895 2 1.994v12.012A1.992 1.992 0 0111 16H5c-1.105 0-2-.895-2-1.994V1.994zM7 14c0 .556.448 1 1 1 .556 0 1-.448 1-1 0-.556-.448-1-1-1-.556 0-1 .448-1 1zM5 2v10h6V2H5z\\\"/>\\n</svg>\",\n 'multiArrow': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 8l-3-3v2H9V3h2L8 0 5 3h2v4H3V5L0 8l3 3V9h4v4H5l3 3 3-3H9V9h4v2z\\\"/>\\n</svg>\",\n 'nameFirst': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 9c4 0 8 2 8 4v3H0v-3c0-2 4-4 8-4zm6 5v-1s-2-2-6-2l.018 3H14zM8 8a4 4 0 110-8 4 4 0 010 8zm0-2a2 2 0 100-4v4z\\\"/>\\n</svg>\",\n 'nameLast': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 9c4 0 8 2 8 4v3H0v-3c0-2 4-4 8-4zm-6 5h5.982L8 11c-4 0-6 2-6 2v1zm6-6a4 4 0 110-8 4 4 0 010 8zm0-2V2a2 2 0 100 4z\\\"/>\\n</svg>\",\n 'notary': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14.129 7.387L15 10h-2l-.671-2.013a4.054 4.054 0 01-.658 0L11 10H9l.871-2.613a4 4 0 114.258 0zM6 1v2H2v11h11v-2h2v2a2 2 0 01-2 2H2a2 2 0 01-2-2V3a2 2 0 012-2h4zm6 5a2 2 0 100-4 2 2 0 000 4z\\\"/>\\n</svg>\",\n 'note': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 1H2C.9 1 0 1.9 0 3v10c0 1.1.9 2 2 2h10l4-4V3c0-1.1-.9-2-2-2zm-5 9H4V9h5v1zm3-2H4V7h8v1zm0-2H4V5h8v1z\\\"/>\\n</svg>\",\n 'number': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.531 3l-.312 2h-2.5l-.938 6h2.5l-.312 2h-2.5L11 16H9l.469-3h-4.5L4.5 16h-2l.469-3h-2.5l.312-2h2.5l.938-6h-2.5l.312-2h2.5L5 0h2l-.469 3h4.5l.469-3h2l-.469 3h2.5zm-10.25 8h4.5l.938-6h-4.5l-.938 6z\\\"/>\\n</svg>\",\n 'numberedList': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 6H0V4h2V3h2v10H2V6zm8-3h6v2h-6V3zm0 4h5v2h-5V7zm-4 5a1 1 0 112 0 1 1 0 11-2 0zm4-1h6v2h-6v-2z\\\"/>\\n</svg>\",\n 'overflowHorizontal': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <circle cx=\\\"2\\\" cy=\\\"8\\\" r=\\\"2\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"2\\\"/>\\n <circle cx=\\\"14\\\" cy=\\\"8\\\" r=\\\"2\\\"/>\\n</svg>\",\n 'overflowVertical': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <circle cx=\\\"8\\\" cy=\\\"2\\\" r=\\\"2\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"2\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"14\\\" r=\\\"2\\\"/>\\n</svg>\",\n 'pageBreak': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 2c0-1.1.9-2 2-2h10a2 2 0 012 2v12a2 2 0 01-2 2H3a2 2 0 01-2-2V2zm9 5v2h2V7h-2zM6 7h9V5h-2V2H3v3H1v2h3v2H1v2h2v3h10v-3h2V9H6V7zM1 9H0V7h1v2zm15 0h-1V7h1v2z\\\"/>\\n</svg>\",\n 'paintBucket': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.19 9.78a1.43 1.43 0 01-.43 2 1.44 1.44 0 01-1.52 0 1.43 1.43 0 01-.43-2L14 8zm-2.58-3.42L7 12a2 2 0 01-2.83 0L.59 8.49A2 2 0 010 7.07a2 2 0 01.59-1.41L6.24 0zM6.24 2.69L1.93 7h7.35l.64-.64z\\\"/>\\n</svg>\",\n 'paintRoller': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10 14a2 2 0 01-2 2 2 2 0 01-2-2v-3h4zm3-14H3a2 2 0 00-2 2v2a2 2 0 002 2h10v2H8a1 1 0 00-1 1v1h7a1 1 0 001-1V2a2 2 0 00-2-2z\\\"/>\\n</svg>\",\n 'palette': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5.172 5.172a.996.996 0 00-1.413-.003L2.341 6.588c-.39.39-.922.488-1.412-.002-.942-.942.057-2.892 1.414-4.243 3.132-3.117 8.19-3.124 11.314 0a8 8 0 010 11.314c-3.124 3.124-8.254 3.063-11.314 0-1.18-1.182-1.251-1.646-1.251-1.646-.265-.497-.13-1.216.262-1.607l3.82-3.82a1.003 1.003 0 00-.002-1.412zm1.767 6.717a1.5 1.5 0 10-2.121-2.121 1.5 1.5 0 002.121 2.121zm5.304.354a1 1 0 10-1.415-1.415 1 1 0 001.415 1.415zm1.414-3.536a1 1 0 10-1.414-1.414 1 1 0 001.414 1.414zm-1.414-3.535a1 1 0 10-1.415-1.415 1 1 0 001.415 1.415zM9.06 3.404A1 1 0 107.646 1.99a1 1 0 001.415 1.414z\\\"/>\\n</svg>\",\n 'paperclip': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 14.8c-1.6 1.6-4.2 1.6-5.8 0S.6 10.6 2.2 9L10.3.9c1.2-1.2 3.1-1.2 4.2 0s1.2 3.1 0 4.2l-7 7c-.7.7-1.9.7-2.7 0s-.7-1.9 0-2.7L11.3 3l.8.8-6.5 6.5c-.3.3-.3.8 0 1.1s.8.3 1.1 0l7-7c.7-.7.7-1.9 0-2.7s-1.9-.7-2.7 0L3 9.8C1.8 11 1.8 12.9 3 14s3.1 1.2 4.2 0l7.5-7.5.8.8L8 14.8z\\\"/>\\n</svg>\",\n 'pebbleCheck': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zM6.1 12L2.5 8.5l1.4-1.4L6 9.2l5.3-5.3 1.4 1.4L6.1 12z\\\"/>\\n</svg>\",\n 'pebbleError': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.9 14.6L8.9.7C8.8.3 8.4 0 8 0s-.8.2-.9.6l-7 13.9c-.1.2-.1.3-.1.5 0 .6.4 1 1 1h14c.6 0 1-.4 1-1 0-.2 0-.3-.1-.4zM9 14H7v-2h2v2zm0-4H7V5h2v5z\\\"/>\\n</svg>\",\n 'pebbleInfo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 6H7V4h2v2zm0 6H7V7h2v5z\\\"/>\\n <path d=\\\"M8 2c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6 2.69-6 6-6m0-2C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8z\\\"/>\\n</svg>\",\n 'pebbleQuestion': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 16A8 8 0 118 0a8 8 0 010 16zm0-2A6 6 0 108 2a6 6 0 000 12zm-1-3.5h2v2H7v-2zm0-1v-2h1a1 1 0 10-1-1H5a3 3 0 113 3H7z\\\"/>\\n</svg>\",\n 'pebbleWarning': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.9 14.6L8.9.7C8.8.3 8.4 0 8 0s-.8.2-.9.6l-7 13.9c-.1.2-.1.3-.1.5 0 .6.4 1 1 1h14c.6 0 1-.4 1-1 0-.2 0-.3-.1-.4zM9 14H7v-2h2v2zm0-4H7V5h2v5z\\\"/>\\n</svg>\",\n 'pencil': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 16l2-5 7.923-7.923 3 3L5 14l-5 2zM12.44.56a1.496 1.496 0 012.126.006l.868.868c.589.589.592 1.54.006 2.127l-1.81 1.81-3-3L12.44.56z\\\"/>\\n</svg>\",\n 'people': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12 13h4v-2.5c0-1-2.5-2.5-5-2.5-.099 0-.198.002-.297.007C11.5 8.716 12 9.57 12 10.5V13zM5 8c2.5 0 5 1.5 5 2.5V13H0v-2.5C0 9.5 2.5 8 5 8zm0-1a2.5 2.5 0 110-5 2.5 2.5 0 010 5zm7 0a2.5 2.5 0 110-5 2.5 2.5 0 010 5z\\\"/>\\n</svg>\",\n 'percent': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 14.65L14.65 0 16 1.35 1.35 16zM3 1.9A1.1 1.1 0 104.1 3 1.1 1.1 0 003 1.9M3 0a3 3 0 11-3 3 3 3 0 013-3zm10 11.9a1.1 1.1 0 101.1 1.1 1.1 1.1 0 00-1.1-1.1m0-1.9a3 3 0 11-3 3 3 3 0 013-3z\\\"/>\\n</svg>\",\n 'person': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 8a4 4 0 110-8 4 4 0 010 8zm0 1c4 0 8 2 8 4v3H0v-3c0-2 4-4 8-4z\\\"/>\\n</svg>\",\n 'personPlus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10.5 8.5c3 0 5.5 1.5 5.5 3V14H5v-2.5c0-1.5 2.5-3 5.5-3zm0-1a2.75 2.75 0 110-5.5 2.75 2.75 0 010 5.5zM0 3h2V1h2v2h2v2H4v2H2V5H0V3z\\\"/>\\n</svg>\",\n 'phone': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.309 12.691l2.335-2.335a.99.99 0 01.846-.233l3.019.755a.665.665 0 01.491.612V15a1 1 0 01-1 1C6.716 16 0 9.284 0 1a1 1 0 011-1h3.51c.27 0 .544.215.613.49l.754 3.02a.99.99 0 01-.233.846L3.309 6.691a13.048 13.048 0 006 6z\\\"/>\\n</svg>\",\n 'play': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 0v16l12.48-7.13a1 1 0 000-1.74z\\\"/>\\n</svg>\",\n 'plus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 7H9V2H7v5H2v2h5v5h2V9h5z\\\"/>\\n</svg>\",\n 'powerform': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 1H2C.9 1 0 1.9 0 3v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zM6 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM3 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 11H2V5h12v8z\\\"/>\\n <path d=\\\"M4 7h8v1H4zm0 3h8v1H4z\\\"/>\\n</svg>\",\n 'printer': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 4.001c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2v4H2v-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h12zm-12-1V0h12.001v3.001H2zm2 11h8v-5H4v5z\\\"/>\\n</svg>\",\n 'radio': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 2c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6m0-2C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\\\"/>\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"3.5\\\"/>\\n</svg>\",\n 'receivesCopy': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7.7 4.291L6.3 5.718C5.826 5.254 5.233 5 4.607 5 3.192 5 2 6.321 2 8s1.192 3 2.608 3c.624 0 1.217-.253 1.689-.716l1.4 1.43C6.858 12.533 5.767 13 4.607 13 2.04 13 0 10.74 0 8s2.039-5 4.608-5c1.162 0 2.254.468 3.093 1.291zm8 0l-1.4 1.427C13.826 5.254 13.233 5 12.607 5 11.192 5 10 6.321 10 8s1.192 3 2.608 3c.624 0 1.217-.253 1.689-.716l1.4 1.43c-.838.82-1.929 1.286-3.089 1.286C10.04 13 8 10.74 8 8s2.039-5 4.608-5c1.162 0 2.254.468 3.093 1.291z\\\"/>\\n</svg>\",\n 'recipientUpdate': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14.135 2.865L16 1v5h-5l1.713-1.713A6 6 0 1013.917 9h2.021A8.001 8.001 0 010 8a8 8 0 0114.135-5.135zM8 7a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm0 1c1.031 0 3 .5 3 1.5V11H5V9.5C5 8.5 6.969 8 8 8z\\\"/>\\n</svg>\",\n 'redo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 0l7 5-7 5V6H5.01A3.005 3.005 0 002 9.01v1.98C2 12.65 3.347 14 4.996 14H13v2H4.996C2.24 16 0 13.754 0 10.99V9.01C0 6.238 2.24 4 5.01 4H9V0z\\\"/>\\n</svg>\",\n 'refresh': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 6h-6l6-6zM0 10h6l-6 6z\\\"/>\\n <path d=\\\"M2.4 6c.8-2.3 3-4 5.6-4s4.8 1.7 5.6 4h2.1c-.9-3.4-4-6-7.7-6S1.2 2.6.3 6h2.1zm11.2 4c-.8 2.3-3 4-5.6 4s-4.8-1.7-5.6-4H.3c.9 3.4 4 6 7.7 6s6.8-2.6 7.7-6h-2.1z\\\"/>\\n</svg>\",\n 'reports': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 16V8h4v8H0zm12 0V0h4v16h-4zm-6 0V4h4v12H6z\\\"/>\\n</svg>\",\n 'rotateLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 4l5 5V3c0-.556.443-1 1-1h3V0H6C4.338 0 3 1.341 3 3v1H0z\\\"/>\\n <path d=\\\"M8.8 4h5.4c.99 0 1.8.825 1.8 1.833v7.334C16 14.175 15.19 15 14.2 15H8.8c-.99 0-1.8-.825-1.8-1.833V5.833C7 4.825 7.81 4 8.8 4zm.2 9h5V6H9v7z\\\"/>\\n</svg>\",\n 'rotateRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 4l-5 5V3c0-.556-.443-1-1-1H7V0h3c1.662 0 3 1.341 3 3v1h3z\\\"/>\\n <path d=\\\"M7.2 4H1.8C.81 4 0 4.825 0 5.833v7.334C0 14.175.81 15 1.8 15h5.4c.99 0 1.8-.825 1.8-1.833V5.833C9 4.825 8.19 4 7.2 4zM7 13H2V6h5v7z\\\"/>\\n</svg>\",\n 'search': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10.926 9.426L16 14.5 14.5 16l-5.074-5.074a6 6 0 111.5-1.5zM6 10a4 4 0 100-8 4 4 0 000 8z\\\"/>\\n</svg>\",\n 'select': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M4.5 5.6h7L8 10.9z\\\"/>\\n <path d=\\\"M13.7 2c.2 0 .3.1.3.3v11.4c0 .2-.1.3-.3.3H2.3c-.2 0-.3-.1-.3-.3V2.3c0-.2.1-.3.3-.3h11.4m0-2H2.3C1 0 0 1 0 2.3v11.4C0 15 1 16 2.3 16h11.4c1.3 0 2.3-1 2.3-2.3V2.3C16 1 15 0 13.7 0z\\\"/>\\n</svg>\",\n 'selectSignatureType': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 16H0v-1h16zM13.8.3c-.4-.4-1.1-.4-1.4 0L11 1.7v-.1c-.4-.4-1-.4-1.4 0l-.9 1-6.6 6.6L4.9 12 11 5.9l.5-.5.9-.9c.4-.4.4-1 0-1.4l1.4-1.4c.4-.4.4-1 0-1.4zM0 14.1l4.2-1.4-2.8-2.8zM10 10h2V8h2v2h2v2h-2v2h-2v-2h-2z\\\"/>\\n</svg>\",\n 'send': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11.377 3.209L2.806 5.887l2.946 2.947 5.625-5.625zm1.448 1.38l-5.659 5.659 2.965 2.964 2.694-8.623zm-6.553 7.593L3 13l.818-3.272L.466 6.376c-.78-.78-.558-1.678.49-2.006L14.606.104c1.05-.328 1.635.26 1.308 1.307l-4.266 13.651c-.328 1.05-1.223 1.273-2.006.49l-3.37-3.37z\\\"/>\\n</svg>\",\n 'shield': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 0v8.58c.03.52.13 1.04.34 1.56.25.62.55 1.17.91 1.65s.79.95 1.3 1.4c.5.45.96.83 1.39 1.13.42.3.87.58 1.33.85.46.27.79.45.98.54.19.1.35.17.47.22.08.05.18.07.28.07s.2-.02.29-.07c.12-.05.27-.12.47-.22.19-.09.52-.28.98-.54.46-.27.9-.55 1.33-.85.43-.3.89-.68 1.39-1.13.5-.45.93-.92 1.3-1.4.36-.48.67-1.03.91-1.65.2-.52.3-1.04.34-1.56V0H1zm12 8.51c-.03.34-.09.63-.2.9-.18.45-.4.84-.65 1.18-.29.38-.64.75-1.04 1.12-.44.4-.84.73-1.2.98-.37.26-.77.52-1.18.76-.31.17-.56.31-.73.4V2h5v6.51z\\\"/>\\n</svg>\",\n 'shieldCfrPart11': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15 1c0-.1-.1-.1-.1-.1-.6.3-2.1.5-3.3.5C9 1.4 8.3 0 8 0S7 1.4 4.5 1.4c-1.2 0-2.7-.2-3.3-.5C1.1.9 1 1 1 1v6.8c0 5.7 6.3 8 7 8.2.6-.2 7-2.5 7-8.2V1zm-7 9.5l-1.4 1.4-1.4-1.4-2.1-2.1L4.5 7l2.1 2.1 4.9-4.9 1.4 1.4L8 10.5z\\\"/>\\n</svg>\",\n 'sign': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 16H0v-1h16zM13.8.3c.4.4.4 1 0 1.4L11 4.5c-.4.4-1 .4-1.4 0-.4-.4-.4-1 0-1.4L12.4.3c.3-.4 1-.4 1.4 0zM1.4 9.9L0 14.1l4.2-1.4z\\\"/>\\n <path d=\\\"M4.9 12L11 5.9l.5-.5.9-.9c.4-.4.4-1 0-1.4L11 1.7c-.4-.4-1-.4-1.4 0l-.9.9-6.6 6.6L4.9 12z\\\"/>\\n</svg>\",\n 'signInPerson': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9.406 7.594L5 12H0V9.857C0 8.43 3 7 6 7c1.2 0 2.399.228 3.406.594zM5 16l1.5-3.5L14 5l2 2-7.5 7.5L5 16zm4 0l1-1h6v1H9zM6 6a3 3 0 110-6 3 3 0 010 6z\\\"/>\\n</svg>\",\n 'signWithWitness': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6a3 3 0 110-6 3 3 0 010 6zm0 .75c3 0 6 1.5 6 3V11H2V9.75c0-1.5 3-3 6-3zM15 14v2H1v-2H0v-2h16v2z\\\" fill-rule=\\\"evenodd\\\"/>\\n</svg>\",\n 'smartClause': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" d=\\\"M4 12.5v-1h8v1H4zm-.25-3v-3h8.5v3h-8.5zm.25-5v-1h8v1H4zM2 14h12V2H2v12zM2 0h12a2 2 0 012 2v12a2 2 0 01-2 2H2a2 2 0 01-2-2V2a2 2 0 012-2z\\\"/>\\n</svg>\",\n 'smartSections': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6 5a2 2 0 012 2v4h6V2H6v3zm0 2H2v5h4V7zm8 9H2a2 2 0 01-2-2V7a2 2 0 012-2h2V2a2 2 0 012-2h8a2 2 0 012 2v12a2 2 0 01-2 2zm-4-2a1 1 0 100-2 1 1 0 000 2zm-6 1a1 1 0 100-2 1 1 0 000 2z\\\"/>\\n</svg>\",\n 'smartTag': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M9 7H4V5h5zm3 2H4v2h8zm2 5H2V2h8V0H2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V7h-2zm0-14l-4 4h2.5L12 7l4-4h-2.5z\\\"/>\\n</svg>\",\n 'sort': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 1l4 6H4zm0 14l4-6H4z\\\"/>\\n</svg>\",\n 'squiggle': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15.05 16h-.21l-8.21-1.89a1.3 1.3 0 01-.41-2.37L10.69 9H3.3a1.3 1.3 0 01-.62-2.44L9.27 3H3.19A3.84 3.84 0 01.48 1.83l-.15-.16A1 1 0 010 1 1 1 0 01.28.28 1 1 0 011 0a1 1 0 01.67.33l.16.15a1.89 1.89 0 001.36.57h8.51a1.3 1.3 0 01.62 2.44L5.73 7.05h7a1.3 1.3 0 01.69 2.4l-4.95 3.13 6.79 1.54a1 1 0 01.74.93 1.49 1.49 0 010 .21 1 1 0 01-.95.74z\\\"/>\\n</svg>\",\n 'stamp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 14h12v2H2z\\\"/>\\n <path d=\\\"M14 14H2v2h12v-2zm-4-5V6.4c.9-.6 1.5-1.7 1.5-2.9C11.5 1.6 9.9 0 8 0S4.5 1.6 4.5 3.5c0 1.2.6 2.2 1.5 2.9V9H0v4h16V9h-6z\\\"/>\\n</svg>\",\n 'star': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5.214 12.504l2.32-1.22a1 1 0 01.931 0l2.321 1.22-.443-2.585a1 1 0 01.288-.885l1.877-1.83-2.595-.378a1 1 0 01-.752-.547L8 3.928 6.84 6.279a1 1 0 01-.753.547l-2.595.378 1.877 1.83a1 1 0 01.288.885l-.443 2.585zM8 13.298l-3.65 1.919a1 1 0 01-1.45-1.054l.697-4.064L.645 7.221a1 1 0 01.554-1.705l4.08-.593 1.824-3.697a1 1 0 011.794 0l1.824 3.697 4.08.593a1 1 0 01.554 1.705L12.403 10.1l.697 4.064a1 1 0 01-1.45 1.054L8 13.298z\\\"/>\\n</svg>\",\n 'starFilled': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 13.298l-3.65 1.919a1 1 0 01-1.45-1.054l.697-4.064L.645 7.221a1 1 0 01.554-1.705l4.08-.593 1.824-3.697a1 1 0 011.794 0l1.824 3.697 4.08.593a1 1 0 01.554 1.705L12.403 10.1l.697 4.064a1 1 0 01-1.45 1.054\\\"/>\\n</svg>\",\n 'stop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 1h14v14H1z\\\"/>\\n</svg>\",\n 'strikethrough': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 9H0V7h16zM7 3h4.67L12 4h1V1H7a4 4 0 00-4 4h2a2 2 0 012-2zm2 10H4.33L4 12H3v3h6a4 4 0 004-4h-2a2 2 0 01-2 2z\\\"/>\\n</svg>\",\n 'suggest': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 8v2a2 2 0 01-2 2H8l-6 4v-4a2 2 0 01-2-2V2a2 2 0 012-2h7v2H2v8h12V8zm-1.59-5L13 1.59 8.71 5.88 8 8l2.12-.71zm1.3-2.71a1 1 0 00-1.42 0l-.7.71L15 2.41l.71-.7a1 1 0 000-1.42zM8 4H4v1h4zM7 7H4v1h3z\\\"/>\\n</svg>\",\n 'suggested': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11 11.197V14a2 2 0 01-2 2H7a2 2 0 01-2-2v-2.803a6 6 0 116 0zM8 10a4 4 0 100-8 4 4 0 000 8zm-1 1v1h2v-1H7zm0 2v1h2v-1H7z\\\"/>\\n</svg>\",\n 'support': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14.471 11.945c.882-.211 1.529-1 1.529-1.943V7.998a2 2 0 00-1.04-1.752A6.995 6.995 0 008 0a7.006 7.006 0 00-6.96 6.243A1.994 1.994 0 000 7.998v2.004a2 2 0 004 0V7.998c0-.717-.38-1.348-.951-1.7A5.006 5.006 0 018 2a4.995 4.995 0 014.951 4.294A1.994 1.994 0 0012 7.998v2.004c0 .914.62 1.69 1.463 1.925A2.499 2.499 0 0111 14h-.085c-.205-.585-.762-1-1.416-1h-.998C7.679 13 7 13.672 7 14.5c0 .834.672 1.5 1.5 1.5h1c.647 0 1.206-.417 1.414-1H11a3.5 3.5 0 003.471-3.055z\\\"/>\\n</svg>\",\n 'table': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10 7H6v2h4V7zm2 0v2h2V7h-2zm-2 4H6v3H4v-3H2v3h12v-3h-2v3h-2v-3zm0-6V2h2v3h2V2H2v3h2V2h2v3h4zM4 7H2v2h2V7zm10-7c1.1 0 2 1 2 2.3v11.4c0 1.3-.9 2.3-2 2.3H2c-1.1 0-2-1-2-2.3V2.3C0 1 .9 0 2 0h12z\\\"/>\\n</svg>\",\n 'tableAlt': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 1H2a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V3a2 2 0 00-2-2zm0 6H7V5h7zM7 8h7v2H7zm-1 2H2V8h4zm0-5v2H2V5zm-4 6h4v2H2zm5 2v-2h7v2z\\\"/>\\n</svg>\",\n 'tableFolder': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 5v1H6v9H2a2 2 0 01-2-2V3a2 2 0 012-2h4a2 2 0 012 2h6a2 2 0 012 2zm-5 11h5v-2h-5zm-3 0h2v-2H8zm3-3h5v-2h-5zm-3 0h2v-2H8zm0-3h8V8H8z\\\"/>\\n</svg>\",\n 'tablet': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" d=\\\"M13.25 0C14.215 0 15 .78 15 1.74v12.52c0 .96-.785 1.74-1.75 1.74H2.75C1.785 16 1 15.22 1 14.26V1.74C1 .78 1.785 0 2.75 0h10.5zM13 12V2H3v10h10zm-5 3a1 1 0 100-2 1 1 0 000 2z\\\"/>\\n</svg>\",\n 'tag': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 3.39L12.61 0 8 .93.59 8.34A2 2 0 000 9.75a2 2 0 00.59 1.42l4.24 4.24a2 2 0 001.42.59 2 2 0 001.41-.59L15.07 8zM4.05 10.54l-.71-.71L8 5.17l.71.71zm6.57-5.16a1.29 1.29 0 111.83 0 1.29 1.29 0 01-1.83 0zm-4.45 7.28L5.46 12l2.81-2.86.73.71z\\\"/>\\n</svg>\",\n 'templates': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M1 1.994A2 2 0 013.006 0h9.988C14.102 0 15 .895 15 1.994v12.012A2 2 0 0112.994 16H3.006A2.001 2.001 0 011 14.006V1.994zM3 2v3h10V2H3zm0 5v7h3V7H3zm5 0v7h5V7H8z\\\"/>\\n</svg>\",\n 'text': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 2h2v12H7z\\\"/>\\n <path d=\\\"M2 2h12v2H2zm3 10h6v2H5z\\\"/>\\n <path d=\\\"M2 2h2v4H2zm10 0h2v4h-2z\\\"/>\\n</svg>\",\n 'textAlignCenter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h16v2H0V0zm3 4h10v2H3V4zm0 8h10v2H3v-2zM0 8h16v2H0V8z\\\"/>\\n</svg>\",\n 'textAlignLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h16v2H0V0zm0 4h10v2H0V4zm0 8h10v2H0v-2zm0-4h16v2H0V8z\\\"/>\\n</svg>\",\n 'textAlignRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h16v2H0V0zm6 4h10v2H6V4zm0 8h10v2H6v-2zM0 8h16v2H0V8z\\\"/>\\n</svg>\",\n 'textColor': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M6.653 8.748h2.65L8.015 4.71h-.028L6.653 8.748zM6.868 2h2.307L13 13h-2.335l-.774-2.45H6.066L5.264 13H3L6.868 2z\\\"/>\\n</svg>\",\n 'textIndentLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 1h16v2H0zm0 6h8V5H0zm0 4h8V9H0zm0 4h16v-2H0zm16-4V5l-5 3z\\\"/>\\n</svg>\",\n 'textIndentRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M16 3H0V1h16zm0 2H8v2h8zm0 4H8v2h8zm0 4H0v2h16zM5 8L0 5v6z\\\"/>\\n</svg>\",\n 'textJustifyCenter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h16v2H0V0zm0 4h16v2H0V4zm0 8h16v2H0v-2zm0-4h16v2H0V8z\\\"/>\\n</svg>\",\n 'thumbnails': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M2 4v10h9v2H1.992C.892 16 0 15.098 0 13.991V4h2zm2-1.991C4 .899 4.898 0 5.998 0H10l5 5v4.994C15 11.102 14.1 12 13.008 12H5.992C4.892 12 4 11.098 4 9.991V2.01z\\\"/>\\n</svg>\",\n 'thumbsDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M12 1h4v8h-4zM0 8c0 1.1.9 2 2 2h3v5h1l4.4-4.4c.4-.4.6-.9.6-1.4V3c0-1.1-.9-2-2-2H4c-.7 0-1.4.4-1.7 1L.2 6.2c-.1.2-.2.5-.2.8v1z\\\"/>\\n</svg>\",\n 'thumbsUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 7h4v8H0zm16 1c0-1.1-.9-2-2-2h-3V1h-1L5.6 5.4c-.4.4-.6.9-.6 1.4V13c0 1.1.9 2 2 2h5c.7 0 1.4-.4 1.7-1l2.1-4.2c.1-.2.2-.5.2-.8V8z\\\"/>\\n</svg>\",\n 'title': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14.5 4H12V2c0-1.1-.9-2-2-2H6C4.9 0 4 .9 4 2v2H1.5C.7 4 0 4.7 0 5.5v8c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-8c0-.8-.7-1.5-1.5-1.5zM6 2h4v2H6V2z\\\"/>\\n</svg>\",\n 'trash': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 14c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V4h12v10zM11 1h4v2H1V1h4l1-1h4l1 1z\\\"/>\\n</svg>\",\n 'underline': \"<svg viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M1 14h14v2H1zM2.846 2H4.98v5.956c0 .384.02.773.06 1.168.04.395.154.75.342 1.064.187.315.472.573.853.776.381.203.918.304 1.612.304.695 0 1.231-.101 1.612-.304.381-.203.667-.461.854-.776.192-.33.308-.692.34-1.064.04-.395.06-.784.06-1.168V2h2.134v6.612c0 .736-.12 1.376-.359 1.92a3.7 3.7 0 01-1.014 1.368 4.322 4.322 0 01-1.58.824 7.22 7.22 0 01-2.047.272 7.2 7.2 0 01-2.048-.272 4.322 4.322 0 01-1.577-.824 3.701 3.701 0 01-1.016-1.368c-.239-.544-.359-1.184-.359-1.92V2z\\\"/>\\n</svg>\",\n 'undo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7 0L0 5l7 5V6h3.99A3.005 3.005 0 0114 9.01v1.98c0 1.66-1.347 3.01-2.996 3.01H3v2h8.004C13.76 16 16 13.754 16 10.99V9.01C16 6.238 13.76 4 10.99 4H7V0z\\\"/>\\n</svg>\",\n 'unlock': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M13.5 6H13V5c0-2.8-2.2-5-5-5-2.4 0-4.4 1.7-4.9 4h2.1C5.6 2.8 6.7 2 8 2c1.7 0 3 1.3 3 3v1H2.5C1.7 6 1 6.7 1 7.5v7c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5zM8 12.5c-.8 0-1.5-.7-1.5-1.5S7.2 9.5 8 9.5s1.5.7 1.5 1.5-.7 1.5-1.5 1.5z\\\"/>\\n</svg>\",\n 'upload': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M14 11v3H2v-3H0v5h16v-5z\\\"/>\\n <path d=\\\"M14 6L8 0 2 6l1.4 1.4L7 3.8V12h2V3.8l3.6 3.6z\\\"/>\\n</svg>\",\n 'uploadList': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 0l5 5-1.5 1.5L9 4v4H7V4L4.5 6.5 3 5l5-5zM1 12v-2h2v2H1zm4 0v-2h10v2H5zm-4 4v-2h2v2H1zm4 0v-2h10v2H5z\\\"/>\\n</svg>\",\n 'waffle': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M0 0h4v4H0zm6 0h4v4H6zm6 0h4v4h-4zM0 6h4v4H0zm6 0h4v4H6zm6 0h4v4h-4zM0 12h4v4H0zm6 0h4v4H6zm6 0h4v4h-4z\\\"/>\\n</svg>\",\n 'wallet': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M5 8a2 2 0 012 2h5a2 2 0 011.999-2V5A2 2 0 0112 3H7a2 2 0 01-1.999 2v3zM3 2.992C3 1.892 3.894 1 5.003 1h8.994C15.103 1 16 1.9 16 2.992v7.016c0 1.1-.894 1.992-2.003 1.992H5.003C3.897 12 3 11.1 3 10.008V2.992zM2 4v9h11v2H2a2 2 0 01-2-2V4h2zm7.5 4a1.5 1.5 0 110-3 1.5 1.5 0 010 3z\\\"/>\\n</svg>\",\n 'workflow': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M15 10V6H9v1H5V4h2V0H1v4h2v11h6v1h6v-4H9v1H5V9h4v1z\\\"/>\\n</svg>\",\n 'wrench': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M7.193 5.807A4.5 4.5 0 0113.522.478L10.5 3.5l2 2 3.021-3.021a4.5 4.5 0 01-5.329 6.329L3 16l-3-3 7.193-7.193z\\\"/>\\n</svg>\",\n 'zoomIn': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M8 6h2v2H8v2H6V8H4V6h2V4h2v2zm2.788 6.912a7.009 7.009 0 112.124-2.124L16 13.876 13.876 16l-3.088-3.088zM7 12A5 5 0 107 2a5 5 0 000 10z\\\"/>\\n</svg>\",\n 'zoomOut': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M10 6v2H4V6h6zm.788 6.912a7.009 7.009 0 112.124-2.124L16 13.876 13.876 16l-3.088-3.088zM7 12A5 5 0 107 2a5 5 0 000 10z\\\"/>\\n</svg>\"\n};\nexport var oliveSystem = {\n size: 16,\n icons: icons\n};","/*\n Indicate if the current runtime is a browser (or mock browser)\n*/\n\nexport default function isBrowser() {\n return typeof window !== 'undefined'\n}\n","/**\n * A list of all valid MotionProps.\n *\n * @internalremarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nvar validMotionProps = new Set([\n \"initial\",\n \"animate\",\n \"exit\",\n \"style\",\n \"variants\",\n \"transition\",\n \"transformTemplate\",\n \"transformValues\",\n \"custom\",\n \"inherit\",\n \"layout\",\n \"layoutId\",\n \"_layoutResetTransform\",\n \"onLayoutAnimationComplete\",\n \"onViewportBoxUpdate\",\n \"onLayoutMeasure\",\n \"onBeforeLayoutMeasure\",\n \"onAnimationStart\",\n \"onAnimationComplete\",\n \"onUpdate\",\n \"onDragStart\",\n \"onDrag\",\n \"onDragEnd\",\n \"onMeasureDragConstraints\",\n \"onDirectionLock\",\n \"onDragTransitionEnd\",\n \"drag\",\n \"dragControls\",\n \"dragListener\",\n \"dragConstraints\",\n \"dragDirectionLock\",\n \"_dragX\",\n \"_dragY\",\n \"dragElastic\",\n \"dragMomentum\",\n \"dragPropagation\",\n \"dragTransition\",\n \"whileDrag\",\n \"onPan\",\n \"onPanStart\",\n \"onPanEnd\",\n \"onPanSessionStart\",\n \"onTap\",\n \"onTapStart\",\n \"onTapCancel\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"whileFocus\",\n \"whileTap\",\n \"whileHover\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n return validMotionProps.has(key);\n}\n\nexport { isValidMotionProp };\n","import {\n PluralPhrases,\n TranslationDictionary,\n TranslationSubstitutionData,\n} from './types'\nimport { Locale } from '../Common/types'\nimport {\n getPluralCategory,\n toLowerCaseLocale,\n PluralCategory,\n PLURAL_DEFAULT_CATEGORY,\n SupportedLocaleName,\n} from '@ds/i18nlayer'\nimport { isBrowser } from '@ds/logging'\n\n/*\n\n Utility functions for translations\n\n*/\n\nconst DICTIONARY_LOCALE_PROP = '_LOCALE'\nconst PLURAL_COUNT_PROP = 'PLURAL_COUNT'\n\n/**\n * Output a translation given an ID, dictionaries, and optionally, substitution data.\n *\n * @param textId The ID you wish to provide a translation for\n * @param dictionaries The dictionaries to search for a translation...in the sequence you want then searched\n * @param substitutionData An object containing the text which should be inserted for each substitution\n *\n\n This function will translate a given text ID to it's corresponding translation.\n It expects a set of one or more dictionaries to to be used for finding the translation.\n The search will begin in the first dictionary and continue until found, i.e., the default\n dictionary should be the last in the list. If the ID is not found it will return the ID.\n\n Once the translation string is found the function will \"interpolate\" any substitution data.\n Example:\n The translation ID is \"COPYRIGHT\"\n The translation text is \"Copyright {{CURRENT_YEAR}} DocuSign\"\n\n The translate function will replace {{CURRENT_YEAR}} with the data parameter.\n\n translate(\"COPYRIGHT\", {CURRENT_YEAR, 2019}); // returns \"Copyright 2019 DocuSign\"\n\n\n Plural Handling.\n\n As noted above the translated phrase is normally a string, possibly with substitution parameters.\n However, the framework also supports a special translation type: plurals. Plural translations are\n represented as an object. The key is the plural category, the value is the phrase which should be\n used for that category. Example:\n\n \"SEND_TO\": {\n \"zero\": \"Send {{NAME}} nothing\",\n \"one\": \"Send {{NAME}} {{PLURAL_COUNT}} notice\",\n \"two\": \"Send {{NAME}} {{PLURAL_COUNT}} notices\",\n \"few\": \"Send {{NAME}} {{PLURAL_COUNT}} notices\",\n \"many\": \"Send {{NAME}} {{PLURAL_COUNT}} notices\"\n \"other\": \"Send {{NAME}} {{PLURAL_COUNT}} notices\"\n },\n\n To be properly interpreted the translateText function must be called with:\n 1.) Substitution data. The substitution data must include the prop PLURAL_COUNT. This\n count (string or number) will be used to calculate which plural phrase is the best fit.\n 2.) Pass TranslationDictionary objects which know the locale. This is done via the _LOCALE prop\n on the dictionary. Example:\n {\n \"_LOCALE\": \"fr\",\n \"POWERED_BY\": \"Technologie {{DOCUSIGN_LOGO}}\",\n \"CONTACT_US\": \"Nous contacter\",\n . . .\n The locale is used by the algorithm to decide which phrase is the best fit (varies by language)\n\n NOTE: All languages do not use all categories. You might see less phrases. For example english\n will only include \"one\" and \"other\".\n \"SEND_TO\": {\n \"one\": \"Send {{NAME}} {{PLURAL_COUNT}} notice\",\n \"other\": \"Send {{NAME}} {{PLURAL_COUNT}} notices\"\n },\n\n NOTE: All plural translations MUST include the \"other\" category. This is used to determine if the\n object is for plural translations AND it is also used as the fallback if the category calculated is\n not found.\n\n*/\nexport const translateText = (\n textId: string,\n dictionaries: TranslationDictionary[],\n substitutionData?: TranslationSubstitutionData\n) => {\n const dictionary = dictionaries.find((dict) => dict[textId] !== undefined)\n if (dictionary) {\n const translatedPhrase = dictionary[textId]\n if (typeof translatedPhrase === 'string') {\n return interpolateTranslation(translatedPhrase, substitutionData)\n }\n const translatedPlural = getPluralPhrase(\n textId,\n dictionary,\n substitutionData\n )\n if (translatedPlural) {\n return interpolateTranslation(translatedPlural, substitutionData)\n }\n }\n return textId\n}\n\nexport const interpolateTranslation = (\n text: string,\n data?: TranslationSubstitutionData\n) => {\n if (data) {\n return Object.keys(data).reduce(\n (interpolatedString: string, substitutionParameter: string) => {\n return interpolatedString.replace(\n '{{' + substitutionParameter + '}}',\n data[substitutionParameter] + ''\n )\n },\n text\n )\n }\n return text\n}\n\nconst getPluralPhrase = (\n textId: string,\n dictionary: TranslationDictionary,\n data?: TranslationSubstitutionData\n) => {\n const pluralPhrases = dictionary[textId] as PluralPhrases\n if (typeof pluralPhrases === 'object') {\n const count = data ? data[PLURAL_COUNT_PROP] : undefined\n const locale = dictionary[DICTIONARY_LOCALE_PROP] as Locale\n const pluralOtherTranslation = pluralPhrases[PLURAL_DEFAULT_CATEGORY]\n if (pluralOtherTranslation && locale && count !== undefined) {\n const pluralCategory = calculatePluralCategory(\n toLowerCaseLocale(locale as SupportedLocaleName),\n count,\n pluralPhrases\n )\n // try and find a phrase for this count.\n const translation = pluralPhrases[pluralCategory]\n // fall back to =\"other\" if no specialization for this count\n // (being extra cautious here...the algorithm for deciding\n // catgegory knows the available phrases so this should not occur)\n return translation ? translation : pluralPhrases[PLURAL_DEFAULT_CATEGORY]\n }\n }\n return undefined\n}\n\nconst calculatePluralCategory = (\n locale: Locale,\n count: number | string,\n phrases: PluralPhrases\n): string => {\n const num = typeof count === 'string' ? parseInt(count, 10) : count\n if (isNaN(num)) {\n return PLURAL_DEFAULT_CATEGORY\n }\n return getPluralCategory(\n locale as SupportedLocaleName,\n num,\n new Set(Object.keys(phrases)) as Set<PluralCategory>\n )\n}\n\n/*\n The following lang get/set & listening functions support both a browser\n and node environment and allow for reactive handling of locale changes.\n In a browser the active locale is put on the HTML lang attribute as this\n provides a common source of truth for all code on the page (it is also\n an accessability requirement). In a node environment the active locale\n is stored on a global.\n*/\n\nconst NODE_LANGUAGE_GLOBAL = 'DocuSignLanguage'\n\nexport type LangListener = (locale?: Locale) => void\ntype LangListenerRemover = () => void\n\nconst langListeners: Map<LangListener, LangListenerRemover> = new Map()\n\nexport const getLang = (): string | undefined => {\n return isBrowser()\n ? document.documentElement!.lang\n : global[NODE_LANGUAGE_GLOBAL]\n}\n\nexport const setLang = (lang: Locale) => {\n if (isBrowser()) {\n document.documentElement.lang = lang\n } else {\n // eslint-disable-next-line no-undef\n const oldLang = global[NODE_LANGUAGE_GLOBAL]\n // eslint-disable-next-line no-undef\n global[NODE_LANGUAGE_GLOBAL] = lang\n if (oldLang !== lang) {\n langListeners.forEach((_, listener) => listener(lang))\n }\n }\n}\n\nexport const addLangListener = (listener: LangListener) => {\n if (isBrowser()) {\n const mutationObserver = new MutationObserver(() => {\n listener(getLang())\n })\n mutationObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['lang'],\n })\n langListeners.set(listener, () => {\n mutationObserver.disconnect()\n langListeners.delete(listener)\n })\n } else {\n langListeners.set(listener, () => langListeners.delete(listener))\n }\n}\n\nexport const removeLangListener = (listener: LangListener) => {\n const remover = langListeners.get(listener)\n remover && remover()\n}\n","import {\n LocalePolicy,\n SupportedGroup1LocaleName,\n SupportedLocaleName,\n} from '../types'\nimport {\n setTelemetry,\n reportException,\n getPerformance,\n} from '../telemetry/telemetry'\n/*\n * @ds/i18nlayer - localePolicy\n */\n\nconst _languageToLocale = {\n bg: 'bg_bg',\n cs: 'cs_cz',\n da: 'da_dk',\n de: 'de_de',\n el: 'el_gr',\n en: 'en_us',\n es: 'es_es',\n et: 'et_ee',\n fa: 'fa_ir',\n fi: 'fi_fi',\n fr: 'fr_fr',\n he: 'he_il',\n hi: 'hi_in',\n hr: 'hr_hr',\n hu: 'hu_hu',\n hy: 'hy_am',\n id: 'id_id',\n it: 'it_it',\n ja: 'ja_jp',\n ko: 'ko_kr',\n lt: 'lt_lt',\n lv: 'lv_lv',\n ms: 'ms_my',\n nb: 'nb_no',\n no: 'nb_no',\n nl: 'nl_nl',\n pl: 'pl_pl',\n pt: 'pt_pt',\n ro: 'ro_ro',\n ru: 'ru_ru',\n sk: 'sk_sk',\n sl: 'sl_si',\n sv: 'sv_se',\n th: 'th_th',\n tr: 'tr_tr',\n uk: 'uk_ua',\n vi: 'vi_vn',\n}\n\n// predefined locale poliy at client side.\n// These values are used as default format value for each regional format.\nconst predefinedPolicy: LocalePolicy[] = [\n {\n cultureName: 'de',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'leading_1_period_234_period_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_period_234_period_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'en',\n effectiveTimeZone: 'tz_66_pacific',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'opar_csym_1_comma_234_comma_567_period_89_cpar',\n effectiveCurrencyCode: 'usd',\n },\n {\n cultureName: 'en_au',\n effectiveTimeZone: 'tz_28_east_australia',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'aud',\n },\n {\n cultureName: 'en_us',\n effectiveTimeZone: 'tz_66_pacific',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'opar_csym_1_comma_234_comma_567_period_89_cpar',\n effectiveCurrencyCode: 'usd',\n },\n {\n cultureName: 'en_gb',\n effectiveTimeZone: 'tz_37_gmt',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'gbp',\n },\n {\n cultureName: 'es',\n effectiveTimeZone: 'tz_70_romance',\n effectiveCurrencyPositiveFormat:\n 'leading_1_period_234_period_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_period_234_period_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'es_mx',\n effectiveTimeZone: 'tz_24_central_mexico',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'mxn',\n },\n {\n cultureName: 'fr',\n effectiveTimeZone: 'tz_70_romance',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'fr_ca',\n effectiveTimeZone: 'tz_13_canada_central',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'opar_1_space_234_space_567_comma_89_space_csym_cpar',\n effectiveCurrencyCode: 'cad',\n },\n {\n cultureName: 'it',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'ja',\n effectiveTimeZone: 'tz_83_tokyo',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveAddressFormat: 'ja_jp',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89', // 'csym_1_comma_234_comma_567',\n effectiveCurrencyNegativeFormat:\n 'csym_minus_12_comma_34_comma_567_period_89', // minus_csym_1_comma_234_comma_567',\n effectiveCurrencyCode: 'jpy',\n },\n {\n cultureName: 'ko',\n effectiveTimeZone: 'tz_48_korea',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveAddressFormat: 'ja_jp',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89', // 'csym_1_comma_234_comma_567',\n effectiveCurrencyNegativeFormat:\n 'csym_minus_12_comma_34_comma_567_period_89', // 'minus_csym_1_comma_234_comma_567',\n effectiveCurrencyCode: 'krw',\n },\n {\n cultureName: 'nl',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'csym_space_minus_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'pt',\n effectiveTimeZone: 'tz_37_gmt',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'pt_br',\n effectiveTimeZone: 'tz_30_east_south_america',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'brl',\n },\n {\n cultureName: 'ru',\n effectiveTimeZone: 'tz_71_russian',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'rub',\n },\n {\n cultureName: 'zh_cn',\n effectiveTimeZone: 'tz_25_china',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_minus_12_comma_34_comma_567_period_89',\n effectiveCurrencyCode: 'cny',\n },\n {\n cultureName: 'zh_tw',\n effectiveTimeZone: 'tz_81_taipei',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'twd',\n },\n]\nconst baseLocalePolicy: LocalePolicy = {\n effectiveNameFormat: 'first_middle_last',\n effectiveInitialFormat: 'first1last1',\n effectiveAddressFormat: 'en_us',\n effectiveCalendarType: 'gregorian',\n effectiveDateFormat: 'default',\n effectiveTimeZone: 'tz_37_gmt',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat: 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'usd',\n}\nconst predefinedPolicyV2: LocalePolicy[] = [\n {\n cultureName: 'ar',\n effectiveTimeZone: 'tz_05_arabic',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_1_comma_234_comma_567_period_89_minus',\n effectiveCurrencyCode: 'ars',\n },\n {\n cultureName: 'bg_bg',\n effectiveTimeZone: 'tz_35_fli',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'bgn',\n },\n {\n cultureName: 'cs_cz',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'czk',\n },\n {\n cultureName: 'da_dk',\n effectiveTimeZone: 'tz_70_romance',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'csym_space_minus_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'dkk',\n },\n {\n cultureName: 'de_de',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'el_gr',\n effectiveTimeZone: 'tz_40_gtb',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'en_au',\n effectiveTimeZone: 'tz_28_east_australia',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'aud',\n },\n {\n cultureName: 'en_gb',\n effectiveTimeZone: 'tz_37_gmt',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'gbp',\n },\n {\n cultureName: 'en_us',\n effectiveTimeZone: 'tz_66_pacific',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'opar_csym_1_comma_234_comma_567_period_89_cpar',\n effectiveCurrencyCode: 'usd',\n },\n {\n cultureName: 'es_es',\n effectiveTimeZone: 'tz_70_romance',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'es_mx',\n effectiveTimeZone: 'tz_24_central_mexico',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'mxn',\n },\n {\n cultureName: 'et_ee',\n effectiveTimeZone: 'tz_35_fli',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_period_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_period_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'fa_ir',\n effectiveTimeZone: 'tz_43_iran',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'irr',\n },\n {\n cultureName: 'fi_fi',\n effectiveTimeZone: 'tz_35_fli',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'fr_ca',\n effectiveTimeZone: 'tz_13_canada_central',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'opar_1_space_234_space_567_comma_89_space_csym_cpar',\n effectiveCurrencyCode: 'cad',\n },\n {\n cultureName: 'fr_fr',\n effectiveTimeZone: 'tz_70_romance',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'he_il',\n effectiveTimeZone: 'tz_44_israel',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_minus_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'ils',\n },\n {\n cultureName: 'hi_in',\n effectiveTimeZone: 'tz_42_india',\n effectiveCurrencyPositiveFormat: 'csym_12_comma_34_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_12_comma_34_comma_567_period_89',\n effectiveCurrencyCode: 'inr',\n },\n {\n cultureName: 'hr_hr',\n effectiveTimeZone: 'tz_21_central_european',\n effectiveCurrencyCode: 'hrk',\n },\n {\n cultureName: 'hu_hu',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'huf',\n },\n {\n cultureName: 'hy_am',\n effectiveTimeZone: 'tz_15_caucasus',\n effectiveCurrencyPositiveFormat:\n 'leading_1_comma_234_comma_567_period_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_comma_234_comma_567_period_89_space_csym',\n effectiveCurrencyCode: 'amd',\n },\n {\n cultureName: 'id_id',\n effectiveTimeZone: 'tz_76_se_asia',\n effectiveCurrencyPositiveFormat: 'csym_1_period_234_period_567',\n effectiveCurrencyNegativeFormat: 'opar_csym_1_period_234_period_567_cpar',\n effectiveCurrencyCode: 'idr',\n },\n {\n cultureName: 'it_it',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'ja_jp',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveAddressFormat: 'ja_jp',\n effectiveTimeZone: 'tz_83_tokyo',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567',\n effectiveCurrencyNegativeFormat: 'minus_csym_1_comma_234_comma_567',\n effectiveCurrencyCode: 'jpy',\n },\n {\n cultureName: 'ko_kr',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveAddressFormat: 'ja_jp',\n effectiveTimeZone: 'tz_48_korea',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567',\n effectiveCurrencyNegativeFormat: 'minus_csym_1_comma_234_comma_567',\n effectiveCurrencyCode: 'krw',\n },\n {\n cultureName: 'lt_lt',\n effectiveTimeZone: 'tz_35_fli',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'lv_lv',\n effectiveTimeZone: 'tz_35_fli',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_space_234_space_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_space_1_space_234_space_567_comma_89',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'ms_my',\n effectiveTimeZone: 'tz_77_singapore',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567',\n effectiveCurrencyNegativeFormat: 'opar_csym_1_comma_234_comma_567_cpar',\n effectiveCurrencyCode: 'myr',\n },\n {\n cultureName: 'nb_no',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_space_234_space_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'csym_space_minus_1_space_234_space_567_comma_89',\n effectiveCurrencyCode: 'nok',\n },\n {\n cultureName: 'nl_nl',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'csym_space_minus_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'pl_pl',\n effectiveTimeZone: 'tz_21_central_european',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'pln',\n },\n {\n cultureName: 'pt_br',\n effectiveTimeZone: 'tz_30_east_south_america',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'brl',\n },\n {\n cultureName: 'pt_pt',\n effectiveTimeZone: 'tz_37_gmt',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'ro_ro',\n effectiveTimeZone: 'tz_40_gtb',\n effectiveCurrencyCode: 'ron',\n },\n {\n cultureName: 'ru_ru',\n effectiveTimeZone: 'tz_71_russian',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'rub',\n },\n {\n cultureName: 'sk_sk',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'sl_si',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'sr',\n effectiveTimeZone: 'tz_72_sa_eastern',\n effectiveCurrencyCode: 'rsd',\n },\n {\n cultureName: 'sv_se',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyCode: 'sek',\n },\n {\n cultureName: 'th_th',\n effectiveTimeZone: 'tz_76_se_asia',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'thb',\n },\n {\n cultureName: 'tr_tr',\n effectiveTimeZone: 'tz_85_turkey',\n effectiveCurrencyCode: 'try',\n },\n {\n cultureName: 'uk_ua',\n effectiveTimeZone: 'tz_35_fli',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_csym',\n effectiveCurrencyCode: 'uah',\n },\n {\n cultureName: 'vi_vn',\n effectiveTimeZone: 'tz_76_se_asia',\n effectiveCurrencyCode: 'vnd',\n },\n {\n cultureName: 'zh_cn',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveAddressFormat: 'zh_cn_tw',\n effectiveTimeZone: 'tz_25_china',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_minus_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'cny',\n },\n {\n cultureName: 'zh_tw',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveAddressFormat: 'zh_cn_tw',\n effectiveTimeZone: 'tz_81_taipei',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'twd',\n },\n // expand regions\n {\n cultureName: 'en_ca',\n effectiveTimeZone: 'tz_13_canada_central',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'cad',\n },\n {\n cultureName: 'en_ie',\n effectiveTimeZone: 'tz_37_gmt',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'en_ph',\n effectiveTimeZone: 'tz_77_singapore',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'opar_csym_1_comma_234_comma_567_period_89_cpar',\n effectiveCurrencyCode: 'php',\n },\n {\n cultureName: 'en_in',\n effectiveTimeZone: 'tz_42_india',\n effectiveCurrencyPositiveFormat:\n 'csym_space_12_comma_34_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_space_minus_12_comma_34_comma_567_period_89',\n effectiveCurrencyCode: 'inr',\n },\n {\n cultureName: 'en_za',\n effectiveTimeZone: 'tz_78_south_africa',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_space_234_space_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'csym_minus_1_space_234_space_567_comma_89',\n effectiveCurrencyCode: 'zar',\n },\n {\n cultureName: 'en_nz',\n effectiveTimeZone: 'tz_61_new_zealand',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'nzd',\n },\n {\n cultureName: 'es_co',\n effectiveTimeZone: 'tz_73_sa_pacific',\n effectiveCurrencyPositiveFormat: 'csym_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'cop',\n },\n {\n cultureName: 'es_pr',\n effectiveTimeZone: 'tz_07_atlantic',\n effectiveCurrencyPositiveFormat: 'csym_1234_comma_567_period_89',\n effectiveCurrencyNegativeFormat: 'minus_csym_1234_comma_567_period_89',\n effectiveCurrencyCode: 'usd',\n },\n {\n cultureName: 'fr_be',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'nl_be',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'csym_space_minus_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'es_ar',\n effectiveTimeZone: 'tz_06_argentina',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'csym_minus_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'ars',\n },\n {\n cultureName: 'es_cr',\n effectiveTimeZone: 'tz_17_central_america',\n effectiveCurrencyPositiveFormat: 'csym_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'opar_csym_1_period_234_period_567_comma_89_cpar',\n effectiveCurrencyCode: 'crc',\n },\n {\n cultureName: 'es_cl',\n effectiveTimeZone: 'tz_69_paraguay',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_space_1_period_234_period_567_comma_89',\n effectiveCurrencyCode: 'clp',\n },\n {\n cultureName: 'es_pe',\n effectiveTimeZone: 'tz_73_sa_pacific',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_space_minus_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'pen',\n },\n {\n cultureName: 'ar_ae',\n effectiveTimeZone: 'tz_04_arabian',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_1_comma_234_comma_567_period_89_minus',\n effectiveCurrencyCode: 'aed',\n },\n {\n cultureName: 'ar_qa',\n effectiveTimeZone: 'tz_03_arab',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_1_comma_234_comma_567_period_89_minus',\n effectiveCurrencyCode: 'qar',\n },\n {\n cultureName: 'ar_sa',\n effectiveTimeZone: 'tz_03_arab',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_1_comma_234_comma_567_period_89_minus',\n effectiveCurrencyCode: 'sar',\n },\n {\n cultureName: 'de_at',\n effectiveTimeZone: 'tz_20_central_europe',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'de_ch',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_quote_234_quote_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_minus_1_quote_234_quote_567_period_89',\n effectiveCurrencyCode: 'chf',\n },\n {\n cultureName: 'de_lu',\n effectiveTimeZone: 'tz_20_central_europe',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'fr_lu',\n effectiveTimeZone: 'tz_20_central_europe',\n effectiveCurrencyPositiveFormat:\n 'leading_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_space_234_space_567_comma_89_space_csym',\n effectiveCurrencyCode: 'eur',\n },\n {\n cultureName: 'fr_ch',\n effectiveTimeZone: 'tz_70_romance',\n effectiveCurrencyPositiveFormat:\n 'leading_1_quote_234_quote_567_period_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_quote_234_quote_567_period_89_space_csym',\n effectiveCurrencyCode: 'chf',\n },\n {\n cultureName: 'it_ch',\n effectiveTimeZone: 'tz_93_west_europe',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_quote_234_quote_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_minus_1_quote_234_quote_567_period_89',\n effectiveCurrencyCode: 'chf',\n },\n {\n cultureName: 'zh_hk',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveAddressFormat: 'zh_cn_tw',\n effectiveTimeZone: 'tz_25_china',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'opar_csym_1_comma_234_comma_567_period_89_cpar',\n effectiveCurrencyCode: 'hkd',\n },\n {\n cultureName: 'zh_sg',\n effectiveNameFormat: 'last_first_cjk',\n effectiveInitialFormat: 'last2_cjk',\n effectiveAddressFormat: 'zh_cn_tw',\n effectiveTimeZone: 'tz_77_singapore',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'opar_csym_1_comma_234_comma_567_period_89_cpar',\n effectiveCurrencyCode: 'sgd',\n },\n {\n cultureName: 'sw_ke',\n effectiveTimeZone: 'tz_27_east_africa',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'opar_csym_1_comma_234_comma_567_period_89_cpar',\n effectiveCurrencyCode: 'kes',\n },\n {\n cultureName: 'ur_pk',\n effectiveTimeZone: 'tz_68_pakistan',\n effectiveCurrencyPositiveFormat: 'csym_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'csym_1_comma_234_comma_567_period_89_minus',\n effectiveCurrencyCode: 'pkr',\n },\n {\n cultureName: 'yo_ng',\n effectiveTimeZone: 'tz_92_west_central_africa',\n effectiveCurrencyPositiveFormat:\n 'csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyNegativeFormat:\n 'minus_csym_space_1_comma_234_comma_567_period_89',\n effectiveCurrencyCode: 'ngn',\n },\n]\n\nconst baseLocalePolicyV2: LocalePolicy = {\n effectiveNameFormat: 'full',\n effectiveInitialFormat: 'first1last1',\n effectiveAddressFormat: 'en_us',\n effectiveCalendarType: 'gregorian',\n effectiveDateFormat: 'default',\n effectiveTimeZone: 'tz_37_gmt',\n effectiveCurrencyPositiveFormat:\n 'leading_1_period_234_period_567_comma_89_space_csym',\n effectiveCurrencyNegativeFormat:\n 'minus_1_period_234_period_567_comma_89_space_csym',\n effectiveCurrencyCode: 'usd',\n}\n\n// return base locale policy of specified language defined by server side\nfunction _getBaseLocalePolicy(\n lang: string,\n predefinedPolicies: LocalePolicy[],\n baseLocalePolicies: LocalePolicy\n) {\n let k\n const policy = { cultureName: lang }\n for (k in baseLocalePolicies) {\n policy[k] = baseLocalePolicies[k]\n }\n const predefined = predefinedPolicies.filter(function (obj: LocalePolicy) {\n return obj.cultureName === lang\n })[0]\n for (k in predefined) {\n policy[k] = predefined[k]\n }\n return policy\n}\n\nfunction _getSupportedCultureName(\n languageOrRegion: string | undefined,\n regionOnly: boolean\n): string {\n const region = languageOrRegion\n ? languageOrRegion.replace('-', '_').toLowerCase()\n : 'en'\n if (\n _languageToLocale[region] ||\n predefinedPolicyV2.find(function (obj) {\n return obj.cultureName === region\n })\n ) {\n return regionOnly ? _languageToLocale[region] || region : region // supported language or region\n }\n if (\n region.length > 2 &&\n region[2] === '_' &&\n _languageToLocale[region.substr(0, 2)]\n ) {\n const fallback = region.substr(0, 2)\n return regionOnly ? _languageToLocale[fallback] : fallback // fallback language\n }\n return regionOnly ? 'en_us' : 'en'\n}\n\nfunction _getLocalePolicy(\n language: SupportedGroup1LocaleName | string | undefined\n): LocalePolicy {\n const lang = _getSupportedCultureName(language, false)\n return _getBaseLocalePolicy(lang, predefinedPolicy, baseLocalePolicy)\n}\n\nfunction _getRegionLocalePolicy(\n languageOrRegion: SupportedLocaleName | string | null\n): LocalePolicy {\n const region = _getSupportedCultureName(languageOrRegion as string, true)\n return _getBaseLocalePolicy(region, predefinedPolicyV2, baseLocalePolicyV2)\n}\n\nfunction getSupportedCultureName(\n languageOrRegion: string | undefined,\n regionOnly: boolean\n): string {\n try {\n const t0 = getPerformance()\n const result = _getSupportedCultureName(languageOrRegion, regionOnly)\n setTelemetry(getSupportedCultureName.name, t0)\n return result\n } catch (ex) {\n reportException(getSupportedCultureName.name, ex)\n return 'en'\n }\n}\nfunction getLocalePolicy(\n language: SupportedGroup1LocaleName | string | undefined\n): LocalePolicy {\n try {\n const t0 = getPerformance()\n const result = _getLocalePolicy(language)\n setTelemetry(getLocalePolicy.name, t0)\n return result\n } catch (ex) {\n reportException(getLocalePolicy.name, ex)\n return _getLocalePolicy('en')\n }\n}\nfunction getRegionLocalePolicy(\n languageOrRegion: SupportedLocaleName | string | null\n): LocalePolicy {\n try {\n const t0 = getPerformance()\n const result = _getRegionLocalePolicy(languageOrRegion)\n setTelemetry(getRegionLocalePolicy.name, t0)\n return result\n } catch (ex) {\n reportException(getRegionLocalePolicy.name, ex)\n return _getRegionLocalePolicy('en')\n }\n}\n\nfunction toLowerCaseLocale(locale: SupportedLocaleName): SupportedLocaleName {\n if (!locale) {\n return 'en_us'\n }\n return locale.toLowerCase().replace('-', '_') as SupportedLocaleName\n}\n\nfunction toUpperCaseLocale(locale: SupportedLocaleName): string {\n if (!locale) {\n return 'en_US'\n }\n if (locale.length < 3) {\n return locale.toLowerCase()\n }\n return locale.substr(0, 2) + locale.slice(2).toUpperCase().replace('-', '_')\n}\n\nfunction languageToLocale(language: string): SupportedLocaleName {\n return _getSupportedCultureName(language, true) as SupportedLocaleName\n}\n\nexport {\n toLowerCaseLocale,\n toUpperCaseLocale,\n languageToLocale,\n getLocalePolicy,\n getRegionLocalePolicy,\n _getRegionLocalePolicy,\n getSupportedCultureName,\n _languageToLocale,\n}\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","'use strict';\n\nvar randomFromSeed = require('./random/random-from-seed');\n\nvar ORIGINAL = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-';\nvar alphabet;\nvar previousSeed;\n\nvar shuffled;\n\nfunction reset() {\n shuffled = false;\n}\n\nfunction setCharacters(_alphabet_) {\n if (!_alphabet_) {\n if (alphabet !== ORIGINAL) {\n alphabet = ORIGINAL;\n reset();\n }\n return;\n }\n\n if (_alphabet_ === alphabet) {\n return;\n }\n\n if (_alphabet_.length !== ORIGINAL.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. You submitted ' + _alphabet_.length + ' characters: ' + _alphabet_);\n }\n\n var unique = _alphabet_.split('').filter(function(item, ind, arr){\n return ind !== arr.lastIndexOf(item);\n });\n\n if (unique.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. These characters were not unique: ' + unique.join(', '));\n }\n\n alphabet = _alphabet_;\n reset();\n}\n\nfunction characters(_alphabet_) {\n setCharacters(_alphabet_);\n return alphabet;\n}\n\nfunction setSeed(seed) {\n randomFromSeed.seed(seed);\n if (previousSeed !== seed) {\n reset();\n previousSeed = seed;\n }\n}\n\nfunction shuffle() {\n if (!alphabet) {\n setCharacters(ORIGINAL);\n }\n\n var sourceArray = alphabet.split('');\n var targetArray = [];\n var r = randomFromSeed.nextValue();\n var characterIndex;\n\n while (sourceArray.length > 0) {\n r = randomFromSeed.nextValue();\n characterIndex = Math.floor(r * sourceArray.length);\n targetArray.push(sourceArray.splice(characterIndex, 1)[0]);\n }\n return targetArray.join('');\n}\n\nfunction getShuffled() {\n if (shuffled) {\n return shuffled;\n }\n shuffled = shuffle();\n return shuffled;\n}\n\n/**\n * lookup shuffled letter\n * @param index\n * @returns {string}\n */\nfunction lookup(index) {\n var alphabetShuffled = getShuffled();\n return alphabetShuffled[index];\n}\n\nfunction get () {\n return alphabet || ORIGINAL;\n}\n\nmodule.exports = {\n get: get,\n characters: characters,\n seed: setSeed,\n lookup: lookup,\n shuffled: getShuffled\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict'\n\nvar fromCharCode = String.fromCharCode\n\nmodule.exports = fromCharCode\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('./factory-space.js')\n\nvar partialBlankLine = {\n tokenize: tokenizePartialBlankLine,\n partial: true\n}\n\nfunction tokenizePartialBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n\nmodule.exports = partialBlankLine\n","'use strict'\n\nvar sizeChunks = require('./size-chunks.js')\n\nfunction prefixSize(events, type) {\n var tail = events[events.length - 1]\n if (!tail || tail[1].type !== type) return 0\n return sizeChunks(tail[2].sliceStream(tail[1]))\n}\n\nmodule.exports = prefixSize\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n\nmodule.exports = asciiAlphanumeric\n","\n'use strict';\n\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\n\nmodule.exports = encode;\n","'use strict'\n\nvar powers = 0\n\nexports.boolean = increment()\nexports.booleanish = increment()\nexports.overloadedBoolean = increment()\nexports.number = increment()\nexports.spaceSeparated = increment()\nexports.commaSeparated = increment()\nexports.commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return Math.pow(2, ++powers)\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = all;\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction all() {\n for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\n validators[_key] = arguments[_key];\n }\n\n function allPropTypes() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var error = null;\n\n validators.forEach(function (validator) {\n if (error != null) {\n return;\n }\n\n var result = validator.apply(undefined, args);\n if (result != null) {\n error = result;\n }\n });\n\n return error;\n }\n\n return (0, _createChainableTypeChecker2.default)(allPropTypes);\n}\nmodule.exports = exports['default'];","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","module.exports = require(\"core-js-pure/features/object/keys\");","module.exports = require(\"core-js-pure/features/object/define-properties\");","module.exports = require(\"core-js-pure/features/object/create\");","module.exports = require(\"core-js-pure/features/object/set-prototype-of\");","import _Reflect$construct from \"@babel/runtime-corejs3/core-js/reflect/construct\";\nexport default function _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 Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _getIteratorMethod from \"@babel/runtime-corejs3/core-js/get-iterator-method\";\nimport _Array$isArray from \"@babel/runtime-corejs3/core-js/array/is-array\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof _Symbol !== \"undefined\" && _getIteratorMethod(o) || o[\"@@iterator\"];\n\n if (!it) {\n if (_Array$isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","module.exports = require(\"core-js-pure/features/instance/slice\");","module.exports = require(\"core-js-pure/features/array/from\");","module.exports = require(\"core-js-pure/stable/url-search-params\");","module.exports = require(\"core-js-pure/stable/instance/keys\");","/**\n * A wrapper for an expression that should not be evaluated until needed.\n *\n * @example\n * const lazyDocument = new Lazy(() => document);\n */\nexport class Lazy<V> {\n private thunk: () => V\n\n constructor(thunk: () => V) {\n this.thunk = thunk\n }\n\n get value(): V {\n return this.thunk()\n }\n}\n\nexport const lazyWindow = new Lazy(() => window)\n\nexport const lazyDocument = new Lazy(() => document)\n","import tokens from '../tokens'\n\nexport default () =>\n ({\n html: {\n ...tokens.typography.bodyMedium,\n fontFamily: tokens.font.body,\n },\n\n body: {\n background: '#ffffff',\n color: tokens.text.defaultColor,\n fontFamily: tokens.font.body,\n },\n } as const)\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","module.exports = require(\"core-js-pure/stable/map\");","module.exports = require(\"core-js-pure/stable/instance/repeat\");","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require(\"classnames\");\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// import styles from \"./styles\"\n\nvar cleanups = {\n // some useless stuff for us\n // that svgo doesn't remove\n title: /<title>.*<\\/title>/gi,\n desc: /<desc>.*<\\/desc>/gi,\n comment: /<!--.*-->/gi,\n defs: /<defs>.*<\\/defs>/gi,\n\n // remove hardcoded dimensions\n width: / +width=\"\\d+(\\.\\d+)?(px)?\"/gi,\n height: / +height=\"\\d+(\\.\\d+)?(px)?\"/gi,\n\n // remove fill\n fill: / +fill=\"(none|#[0-9a-f]+)\"/gi,\n\n // Sketch.app shit\n sketchMSShapeGroup: / +sketch:type=\"MSShapeGroup\"/gi,\n sketchMSPage: / +sketch:type=\"MSPage\"/gi,\n sketchMSLayerGroup: / +sketch:type=\"MSLayerGroup\"/gi\n};\n\n// @styled(styles)\n\nvar SVGInline = function (_Component) {\n _inherits(SVGInline, _Component);\n\n function SVGInline() {\n _classCallCheck(this, SVGInline);\n\n return _possibleConstructorReturn(this, (SVGInline.__proto__ || Object.getPrototypeOf(SVGInline)).apply(this, arguments));\n }\n\n _createClass(SVGInline, [{\n key: \"render\",\n value: function render() {\n var _props = this.props,\n className = _props.className,\n component = _props.component,\n svg = _props.svg,\n fill = _props.fill,\n width = _props.width,\n accessibilityLabel = _props.accessibilityLabel,\n accessibilityDesc = _props.accessibilityDesc,\n classSuffix = _props.classSuffix,\n cleanupExceptions = _props.cleanupExceptions,\n componentProps = _objectWithoutProperties(_props, [\"className\", \"component\", \"svg\", \"fill\", \"width\", \"accessibilityLabel\", \"accessibilityDesc\", \"classSuffix\", \"cleanupExceptions\"]);\n\n var _props2 = this.props,\n cleanup = _props2.cleanup,\n height = _props2.height;\n\n\n if (\n // simple way to enable entire cleanup\n cleanup === true ||\n // passing cleanupExceptions enable cleanup as well\n cleanup.length === 0 && cleanupExceptions.length > 0) {\n cleanup = Object.keys(cleanups);\n }\n cleanup = cleanup.filter(function (key) {\n return !(cleanupExceptions.indexOf(key) > -1);\n });\n\n if (width && height === undefined) {\n height = width;\n }\n\n // remove useless props for wrapper\n delete componentProps.cleanup;\n delete componentProps.height;\n\n var classes = (0, _classnames2.default)(_defineProperty({\n SVGInline: true,\n \"SVGInline--cleaned\": cleanup.length\n }, className, className));\n var svgClasses = classes.split(\" \").join(classSuffix + \" \") + classSuffix;\n var svgStr = SVGInline.cleanupSvg(svg, cleanup).replace(/<svg/, \"<svg class=\\\"\" + svgClasses + \"\\\"\" + (fill ? \" fill=\\\"\" + fill + \"\\\"\" : \"\") + (width || height ? ' style=\"' + (width ? \"width: \" + width + \";\" : \"\") + (height ? \"height: \" + height + \";\" : \"\") + '\"' : \"\"));\n var match = void 0;\n if (accessibilityDesc) {\n match = /<svg(.|\\n|\\r\\n)*?>/.exec(svgStr);\n var pos = match.index + match[0].length;\n svgStr = svgStr.substr(0, pos) + (\"<desc>\" + accessibilityDesc + \"</desc>\") + svgStr.substr(pos);\n }\n if (accessibilityLabel) {\n match = match || /<svg(.|\\n|\\r\\n)*?>/.exec(svgStr);\n var _pos = match.index + match[0].length - 1;\n var id = \"SVGInline-\" + SVGInline.idCount++ + \"-title\";\n svgStr = svgStr.substr(0, _pos) + (\" role=\\\"img\\\" aria-labelledby=\\\"\" + id + \"\\\"\") + svgStr.substr(_pos, 1) + (\"<title id=\\\"\" + id + \"\\\">\" + accessibilityLabel + \"</title>\") + svgStr.substr(_pos + 1);\n }\n return _react2.default.createElement(component, _extends({}, componentProps, { // take most props\n className: classes,\n dangerouslySetInnerHTML: {\n __html: svgStr\n }\n }));\n }\n }]);\n\n return SVGInline;\n}(_react.Component);\n\nSVGInline.propTypes = {\n className: _propTypes2.default.string,\n classSuffix: _propTypes2.default.string,\n component: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func]),\n svg: _propTypes2.default.string.isRequired,\n fill: _propTypes2.default.string,\n cleanup: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.array]),\n cleanupExceptions: _propTypes2.default.array,\n width: _propTypes2.default.string,\n height: _propTypes2.default.string,\n accessibilityLabel: _propTypes2.default.string,\n accessibilityDesc: _propTypes2.default.string\n};\n\nSVGInline.defaultProps = {\n component: \"span\",\n classSuffix: \"-svg\",\n cleanup: [],\n cleanupExceptions: []\n};\n\nSVGInline.idCount = 0;\n\nSVGInline.cleanupSvg = function (svg) {\n var cleanup = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n return Object.keys(cleanups).filter(function (key) {\n return cleanup.indexOf(key) > -1;\n }).reduce(function (acc, key) {\n return acc.replace(cleanups[key], \"\");\n }, svg).trim();\n};\n\nexports.default = SVGInline;","import { ValueOf } from 'type-fest'\n\nexport const docuSignThemeName = {\n olive: 'Olive',\n ink: 'Ink',\n} as const\n\nexport type DocuSignThemeName = ValueOf<typeof docuSignThemeName>\n","module.exports = require(\"core-js-pure/features/object/keys\");","module.exports = require(\"core-js-pure/features/object/define-properties\");","module.exports = require(\"core-js-pure/features/array/from\");","module.exports = require(\"core-js-pure/features/instance/slice\");","var normalizedPath = function normalizedPath(path) {\n return path ? \"\".concat(path, \"/\").replace(/\\/+$/, '/') : '';\n};\n\nexport default (function () {\n var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'https://docucdn-a.akamaihd.net/olive/images/2.38.0';\n var baseUrl = normalizedPath(path);\n return {\n logoDsWhite: \"\".concat(baseUrl, \"Logo-DS-White.svg\"),\n navArrow: \"\".concat(baseUrl, \"admin/nav-arrow.svg\"),\n accountsBlue: \"\".concat(baseUrl, \"admin/tiles/accounts-blue.png\"),\n accounts: \"\".concat(baseUrl, \"admin/tiles/accounts.svg\"),\n adminTiles: \"\".concat(baseUrl, \"admin/tiles/admin-tiles.svg\"),\n appliancePoolsBlue: \"\".concat(baseUrl, \"admin/tiles/appliance-pools-blue.png\"),\n appliancePools: \"\".concat(baseUrl, \"admin/tiles/appliance-pools.svg\"),\n auditLogsBlue: \"\".concat(baseUrl, \"admin/tiles/audit-logs-blue.png\"),\n auditLogs: \"\".concat(baseUrl, \"admin/tiles/audit-logs.svg\"),\n bulkActionsBlue: \"\".concat(baseUrl, \"admin/tiles/bulk-actions-blue.png\"),\n bulkActions: \"\".concat(baseUrl, \"admin/tiles/bulk-actions.svg\"),\n connectedAppsBlue: \"\".concat(baseUrl, \"admin/tiles/connected-apps-blue.png\"),\n connectedApps: \"\".concat(baseUrl, \"admin/tiles/connected-apps.svg\"),\n dataFeedsBlue: \"\".concat(baseUrl, \"admin/tiles/data-feeds-blue.png\"),\n dataFeeds: \"\".concat(baseUrl, \"admin/tiles/data-feeds.svg\"),\n directoryRoutingBlue: \"\".concat(baseUrl, \"admin/tiles/directory-routing-blue.png\"),\n directoryRouting: \"\".concat(baseUrl, \"admin/tiles/directory-routing.svg\"),\n displayBlue: \"\".concat(baseUrl, \"admin/tiles/display-blue.png\"),\n display: \"\".concat(baseUrl, \"admin/tiles/display.svg\"),\n domainsBlue: \"\".concat(baseUrl, \"admin/tiles/domains-blue.png\"),\n domains: \"\".concat(baseUrl, \"admin/tiles/domains.svg\"),\n envelopeTransferBlue: \"\".concat(baseUrl, \"admin/tiles/envelope-transfer-blue.png\"),\n envelopeTransfer: \"\".concat(baseUrl, \"admin/tiles/envelope-transfer.svg\"),\n groupsBlue: \"\".concat(baseUrl, \"admin/tiles/groups-blue.png\"),\n groups: \"\".concat(baseUrl, \"admin/tiles/groups.svg\"),\n orgAdminsBlue: \"\".concat(baseUrl, \"admin/tiles/org-admins-blue.png\"),\n orgAdmins: \"\".concat(baseUrl, \"admin/tiles/org-admins.svg\"),\n organizationDetailsBlue: \"\".concat(baseUrl, \"admin/tiles/organization-details-blue.png\"),\n organizationDetails: \"\".concat(baseUrl, \"admin/tiles/organization-details.svg\"),\n permissionSetsBlue: \"\".concat(baseUrl, \"admin/tiles/permission-sets-blue.png\"),\n permissionSets: \"\".concat(baseUrl, \"admin/tiles/permission-sets.svg\"),\n profileBlue: \"\".concat(baseUrl, \"admin/tiles/profile-blue.png\"),\n profile: \"\".concat(baseUrl, \"admin/tiles/profile.svg\"),\n providersBlue: \"\".concat(baseUrl, \"admin/tiles/providers-blue.png\"),\n providers: \"\".concat(baseUrl, \"admin/tiles/providers.svg\"),\n securityBlue: \"\".concat(baseUrl, \"admin/tiles/security-blue.png\"),\n security: \"\".concat(baseUrl, \"admin/tiles/security.svg\"),\n usersBlue: \"\".concat(baseUrl, \"admin/tiles/users-blue.png\"),\n users: \"\".concat(baseUrl, \"admin/tiles/users.svg\"),\n avatarPlaceholderWhite: \"\".concat(baseUrl, \"avatar-placeholder-white.png\"),\n avatarPlaceholder: \"\".concat(baseUrl, \"avatar-placeholder.svg\"),\n badgeBriefcase: \"\".concat(baseUrl, \"badges/badge_briefcase.svg\"),\n badgeCalendar: \"\".concat(baseUrl, \"badges/badge_calendar.svg\"),\n badgeCrown: \"\".concat(baseUrl, \"badges/badge_crown.svg\"),\n badgeDocument: \"\".concat(baseUrl, \"badges/badge_document.svg\"),\n badgeDocumentAdd: \"\".concat(baseUrl, \"badges/badge_document_add.svg\"),\n badgeDraft: \"\".concat(baseUrl, \"badges/badge_draft.png\"),\n badgeDraftHover: \"\".concat(baseUrl, \"badges/badge_draft_hover.png\"),\n badgeHouse: \"\".concat(baseUrl, \"badges/badge_house.svg\"),\n badgeOffice: \"\".concat(baseUrl, \"badges/badge_office.svg\"),\n badgePhone: \"\".concat(baseUrl, \"badges/badge_phone.svg\"),\n badgeSign: \"\".concat(baseUrl, \"badges/badge_sign.png\"),\n badgeSignHover: \"\".concat(baseUrl, \"badges/badge_sign_hover.png\"),\n badgeSupport: \"\".concat(baseUrl, \"badges/badge_support.svg\"),\n badgeTemplate: \"\".concat(baseUrl, \"badges/badge_template.png\"),\n badgeTemplateHover: \"\".concat(baseUrl, \"badges/badge_template_hover.png\"),\n badgeUpgrade: \"\".concat(baseUrl, \"badges/badge_upgrade.png\"),\n badgeUpgradeHover: \"\".concat(baseUrl, \"badges/badge_upgrade_hover.png\"),\n badgeUpload: \"\".concat(baseUrl, \"badges/badge_upload.png\"),\n badgeUploadHover: \"\".concat(baseUrl, \"badges/badge_upload_hover.png\"),\n badgeUser: \"\".concat(baseUrl, \"badges/badge_user.svg\"),\n badgeUserPlaceholder: \"\".concat(baseUrl, \"badges/badge_user_placeholder.svg\"),\n badgeUsers: \"\".concat(baseUrl, \"badges/badge_users.svg\"),\n planbadgeBusinesspro: \"\".concat(baseUrl, \"badges/planbadge_businesspro.svg\"),\n planbadgeDeveloper: \"\".concat(baseUrl, \"badges/planbadge_developer.svg\"),\n planbadgeEnterprisepro: \"\".concat(baseUrl, \"badges/planbadge_enterprisepro.svg\"),\n planbadgeFree: \"\".concat(baseUrl, \"badges/planbadge_free.svg\"),\n planbadgePersonal: \"\".concat(baseUrl, \"badges/planbadge_personal.svg\"),\n planbadgeRealestate: \"\".concat(baseUrl, \"badges/planbadge_realestate.svg\"),\n planbadgeStandard: \"\".concat(baseUrl, \"badges/planbadge_standard.svg\"),\n bgHeroMyAccount: \"\".concat(baseUrl, \"bg-hero-my-account.png\"),\n bgHero: \"\".concat(baseUrl, \"bg-hero.png\"),\n close: \"\".concat(baseUrl, \"close.svg\"),\n docusignAppLogoAdmin: \"\".concat(baseUrl, \"docusign-app-logos/docusignAppLogoAdmin.svg\"),\n docusignAppLogoClm: \"\".concat(baseUrl, \"docusign-app-logos/docusignAppLogoClm.svg\"),\n docusignAppLogoDtr: \"\".concat(baseUrl, \"docusign-app-logos/docusignAppLogoDtr.svg\"),\n docusignAppLogoEsign: \"\".concat(baseUrl, \"docusign-app-logos/docusignAppLogoEsign.svg\"),\n logoAndNameAdmin: \"\".concat(baseUrl, \"docusign-app-logos/logoAndNameAdmin.svg\"),\n logoAndNameAdmin2: \"\".concat(baseUrl, \"docusign-app-logos/logoAndNameAdmin2.svg\"),\n logoAndNameClm: \"\".concat(baseUrl, \"docusign-app-logos/logoAndNameCLM.svg\"),\n logoAndNameDtr: \"\".concat(baseUrl, \"docusign-app-logos/logoAndNameDTR.svg\"),\n logoAndNameESign: \"\".concat(baseUrl, \"docusign-app-logos/logoAndNameESign.svg\"),\n logoAndNameInsight: \"\".concat(baseUrl, \"docusign-app-logos/logoAndNameInsight.svg\"),\n logoAndNameInsightBlack: \"\".concat(baseUrl, \"docusign-app-logos/logoAndNameInsightBlack.svg\"),\n logoAndNameNonProduct: \"\".concat(baseUrl, \"docusign-app-logos/logoAndNameNonProduct.svg\"),\n logoAndNameSeal: \"\".concat(baseUrl, \"docusign-app-logos/logoAndNameSeal.svg\"),\n easySignAddUserIcon: \"\".concat(baseUrl, \"easy-sign/easySignAddUserIcon.svg\"),\n easySignAdminAvatar: \"\".concat(baseUrl, \"easy-sign/easySignAdminAvatar.svg\"),\n easySignAmexLogo: \"\".concat(baseUrl, \"easy-sign/easySignAmexLogo.svg\"),\n easySignCheckmark: \"\".concat(baseUrl, \"easy-sign/easySignCheckmark.gif\"),\n easySignCustomAvatar: \"\".concat(baseUrl, \"easy-sign/easySignCustomAvatar.svg\"),\n easySignDirectDebitLogo: \"\".concat(baseUrl, \"easy-sign/easySignDirectDebitLogo.svg\"),\n easySignMastercardLogo: \"\".concat(baseUrl, \"easy-sign/easySignMastercardLogo.svg\"),\n easySignPaypalLogo: \"\".concat(baseUrl, \"easy-sign/easySignPaypalLogo.svg\"),\n easySignSenderAvatar: \"\".concat(baseUrl, \"easy-sign/easySignSenderAvatar.svg\"),\n easySignSepaLogo: \"\".concat(baseUrl, \"easy-sign/easySignSepaLogo.svg\"),\n easySignViewerAvatar: \"\".concat(baseUrl, \"easy-sign/easySignViewerAvatar.svg\"),\n easySignVisaLogo: \"\".concat(baseUrl, \"easy-sign/easySignVisaLogo.svg\"),\n agreementsEmptyState: \"\".concat(baseUrl, \"empty-state/agreements-empty-state.svg\"),\n emptyStateManageBgd: \"\".concat(baseUrl, \"empty-state/emptyStateManageBgd.svg\"),\n androidChrome_192x192: \"\".concat(baseUrl, \"favicons/android-chrome-192x192.png\"),\n androidChrome_512x512: \"\".concat(baseUrl, \"favicons/android-chrome-512x512.png\"),\n appleTouchIcon: \"\".concat(baseUrl, \"favicons/apple-touch-icon.png\"),\n favicon_16x16: \"\".concat(baseUrl, \"favicons/favicon-16x16.png\"),\n favicon_32x32: \"\".concat(baseUrl, \"favicons/favicon-32x32.png\"),\n favicon: \"\".concat(baseUrl, \"favicons/favicon.ico\"),\n mstile_144x144: \"\".concat(baseUrl, \"favicons/mstile-144x144.png\"),\n mstile_150x150: \"\".concat(baseUrl, \"favicons/mstile-150x150.png\"),\n mstile_310x150: \"\".concat(baseUrl, \"favicons/mstile-310x150.png\"),\n mstile_310x310: \"\".concat(baseUrl, \"favicons/mstile-310x310.png\"),\n mstile_70x70: \"\".concat(baseUrl, \"favicons/mstile-70x70.png\"),\n safariPinnedTab: \"\".concat(baseUrl, \"favicons/safari-pinned-tab.svg\"),\n branding: \"\".concat(baseUrl, \"feature-wall/branding.gif\"),\n bulksend: \"\".concat(baseUrl, \"feature-wall/bulksend.gif\"),\n correct: \"\".concat(baseUrl, \"feature-wall/correct.gif\"),\n powerforms: \"\".concat(baseUrl, \"feature-wall/powerforms.gif\"),\n templates: \"\".concat(baseUrl, \"feature-wall/templates.gif\"),\n \"default\": \"\".concat(baseUrl, \"file-types/default.svg\"),\n documentCsv_2x: \"\".concat(baseUrl, \"file-types/document_CSV@2x.png\"),\n documentDoc_2x: \"\".concat(baseUrl, \"file-types/document_DOC@2x.png\"),\n documentDocx_2x: \"\".concat(baseUrl, \"file-types/document_DOCX@2x.png\"),\n documentGif_2x: \"\".concat(baseUrl, \"file-types/document_GIF@2x.png\"),\n documentJpeg_2x: \"\".concat(baseUrl, \"file-types/document_JPEG@2x.png\"),\n documentJpg_2x: \"\".concat(baseUrl, \"file-types/document_JPG@2x.png\"),\n documentNone_2x: \"\".concat(baseUrl, \"file-types/document_None@2x.png\"),\n documentPdf_2x: \"\".concat(baseUrl, \"file-types/document_PDF@2x.png\"),\n documentPng_2x: \"\".concat(baseUrl, \"file-types/document_PNG@2x.png\"),\n documentPpt_2x: \"\".concat(baseUrl, \"file-types/document_PPT@2x.png\"),\n documentPptx_2x: \"\".concat(baseUrl, \"file-types/document_PPTX@2x.png\"),\n documentRtf_2x: \"\".concat(baseUrl, \"file-types/document_RTF@2x.png\"),\n documentTif_2x: \"\".concat(baseUrl, \"file-types/document_TIF@2x.png\"),\n documentTiff_2x: \"\".concat(baseUrl, \"file-types/document_TIFF@2x.png\"),\n documentTxt_2x: \"\".concat(baseUrl, \"file-types/document_TXT@2x.png\"),\n documentUnknown_2x: \"\".concat(baseUrl, \"file-types/document_Unknown@2x.png\"),\n documentXls_2x: \"\".concat(baseUrl, \"file-types/document_XLS@2x.png\"),\n documentXlsx_2x: \"\".concat(baseUrl, \"file-types/document_XLSX@2x.png\"),\n folder: \"\".concat(baseUrl, \"file-types/folder.svg\"),\n image: \"\".concat(baseUrl, \"file-types/image.svg\"),\n pdf: \"\".concat(baseUrl, \"file-types/pdf.svg\"),\n presentation: \"\".concat(baseUrl, \"file-types/presentation.svg\"),\n spreadsheet: \"\".concat(baseUrl, \"file-types/spreadsheet.svg\"),\n text: \"\".concat(baseUrl, \"file-types/text.svg\"),\n unknown: \"\".concat(baseUrl, \"file-types/unknown.svg\"),\n unsupported: \"\".concat(baseUrl, \"file-types/unsupported.svg\"),\n flagAd: \"\".concat(baseUrl, \"flags/flag-ad.svg\"),\n flagAe: \"\".concat(baseUrl, \"flags/flag-ae.svg\"),\n flagAf: \"\".concat(baseUrl, \"flags/flag-af.svg\"),\n flagAg: \"\".concat(baseUrl, \"flags/flag-ag.svg\"),\n flagAi: \"\".concat(baseUrl, \"flags/flag-ai.svg\"),\n flagAl: \"\".concat(baseUrl, \"flags/flag-al.svg\"),\n flagAm: \"\".concat(baseUrl, \"flags/flag-am.svg\"),\n flagAo: \"\".concat(baseUrl, \"flags/flag-ao.svg\"),\n flagAq: \"\".concat(baseUrl, \"flags/flag-aq.svg\"),\n flagAr: \"\".concat(baseUrl, \"flags/flag-ar.svg\"),\n flagAs: \"\".concat(baseUrl, \"flags/flag-as.svg\"),\n flagAt: \"\".concat(baseUrl, \"flags/flag-at.svg\"),\n flagAu: \"\".concat(baseUrl, \"flags/flag-au.svg\"),\n flagAw: \"\".concat(baseUrl, \"flags/flag-aw.svg\"),\n flagAx: \"\".concat(baseUrl, \"flags/flag-ax.svg\"),\n flagAz: \"\".concat(baseUrl, \"flags/flag-az.svg\"),\n flagBa: \"\".concat(baseUrl, \"flags/flag-ba.svg\"),\n flagBb: \"\".concat(baseUrl, \"flags/flag-bb.svg\"),\n flagBd: \"\".concat(baseUrl, \"flags/flag-bd.svg\"),\n flagBe: \"\".concat(baseUrl, \"flags/flag-be.svg\"),\n flagBf: \"\".concat(baseUrl, \"flags/flag-bf.svg\"),\n flagBg: \"\".concat(baseUrl, \"flags/flag-bg.svg\"),\n flagBh: \"\".concat(baseUrl, \"flags/flag-bh.svg\"),\n flagBi: \"\".concat(baseUrl, \"flags/flag-bi.svg\"),\n flagBj: \"\".concat(baseUrl, \"flags/flag-bj.svg\"),\n flagBl: \"\".concat(baseUrl, \"flags/flag-bl.svg\"),\n flagBm: \"\".concat(baseUrl, \"flags/flag-bm.svg\"),\n flagBn: \"\".concat(baseUrl, \"flags/flag-bn.svg\"),\n flagBo: \"\".concat(baseUrl, \"flags/flag-bo.svg\"),\n flagBq: \"\".concat(baseUrl, \"flags/flag-bq.svg\"),\n flagBr: \"\".concat(baseUrl, \"flags/flag-br.svg\"),\n flagBs: \"\".concat(baseUrl, \"flags/flag-bs.svg\"),\n flagBt: \"\".concat(baseUrl, \"flags/flag-bt.svg\"),\n flagBv: \"\".concat(baseUrl, \"flags/flag-bv.svg\"),\n flagBw: \"\".concat(baseUrl, \"flags/flag-bw.svg\"),\n flagBy: \"\".concat(baseUrl, \"flags/flag-by.svg\"),\n flagBz: \"\".concat(baseUrl, \"flags/flag-bz.svg\"),\n flagCa: \"\".concat(baseUrl, \"flags/flag-ca.svg\"),\n flagCc: \"\".concat(baseUrl, \"flags/flag-cc.svg\"),\n flagCd: \"\".concat(baseUrl, \"flags/flag-cd.svg\"),\n flagCf: \"\".concat(baseUrl, \"flags/flag-cf.svg\"),\n flagCg: \"\".concat(baseUrl, \"flags/flag-cg.svg\"),\n flagCh: \"\".concat(baseUrl, \"flags/flag-ch.svg\"),\n flagCi: \"\".concat(baseUrl, \"flags/flag-ci.svg\"),\n flagCk: \"\".concat(baseUrl, \"flags/flag-ck.svg\"),\n flagCl: \"\".concat(baseUrl, \"flags/flag-cl.svg\"),\n flagCm: \"\".concat(baseUrl, \"flags/flag-cm.svg\"),\n flagCn: \"\".concat(baseUrl, \"flags/flag-cn.svg\"),\n flagCo: \"\".concat(baseUrl, \"flags/flag-co.svg\"),\n flagCr: \"\".concat(baseUrl, \"flags/flag-cr.svg\"),\n flagCu: \"\".concat(baseUrl, \"flags/flag-cu.svg\"),\n flagCv: \"\".concat(baseUrl, \"flags/flag-cv.svg\"),\n flagCw: \"\".concat(baseUrl, \"flags/flag-cw.svg\"),\n flagCx: \"\".concat(baseUrl, \"flags/flag-cx.svg\"),\n flagCy: \"\".concat(baseUrl, \"flags/flag-cy.svg\"),\n flagCz: \"\".concat(baseUrl, \"flags/flag-cz.svg\"),\n flagDe: \"\".concat(baseUrl, \"flags/flag-de.svg\"),\n flagDj: \"\".concat(baseUrl, \"flags/flag-dj.svg\"),\n flagDk: \"\".concat(baseUrl, \"flags/flag-dk.svg\"),\n flagDm: \"\".concat(baseUrl, \"flags/flag-dm.svg\"),\n flagDo: \"\".concat(baseUrl, \"flags/flag-do.svg\"),\n flagDz: \"\".concat(baseUrl, \"flags/flag-dz.svg\"),\n flagEc: \"\".concat(baseUrl, \"flags/flag-ec.svg\"),\n flagEe: \"\".concat(baseUrl, \"flags/flag-ee.svg\"),\n flagEg: \"\".concat(baseUrl, \"flags/flag-eg.svg\"),\n flagEh: \"\".concat(baseUrl, \"flags/flag-eh.svg\"),\n flagEr: \"\".concat(baseUrl, \"flags/flag-er.svg\"),\n flagEsCa: \"\".concat(baseUrl, \"flags/flag-es-ca.svg\"),\n flagEsGa: \"\".concat(baseUrl, \"flags/flag-es-ga.svg\"),\n flagEs: \"\".concat(baseUrl, \"flags/flag-es.svg\"),\n flagEt: \"\".concat(baseUrl, \"flags/flag-et.svg\"),\n flagEu: \"\".concat(baseUrl, \"flags/flag-eu.svg\"),\n flagFi: \"\".concat(baseUrl, \"flags/flag-fi.svg\"),\n flagFj: \"\".concat(baseUrl, \"flags/flag-fj.svg\"),\n flagFk: \"\".concat(baseUrl, \"flags/flag-fk.svg\"),\n flagFm: \"\".concat(baseUrl, \"flags/flag-fm.svg\"),\n flagFo: \"\".concat(baseUrl, \"flags/flag-fo.svg\"),\n flagFr: \"\".concat(baseUrl, \"flags/flag-fr.svg\"),\n flagGa: \"\".concat(baseUrl, \"flags/flag-ga.svg\"),\n flagGbEng: \"\".concat(baseUrl, \"flags/flag-gb-eng.svg\"),\n flagGbNir: \"\".concat(baseUrl, \"flags/flag-gb-nir.svg\"),\n flagGbSct: \"\".concat(baseUrl, \"flags/flag-gb-sct.svg\"),\n flagGbWls: \"\".concat(baseUrl, \"flags/flag-gb-wls.svg\"),\n flagGb: \"\".concat(baseUrl, \"flags/flag-gb.svg\"),\n flagGd: \"\".concat(baseUrl, \"flags/flag-gd.svg\"),\n flagGe: \"\".concat(baseUrl, \"flags/flag-ge.svg\"),\n flagGf: \"\".concat(baseUrl, \"flags/flag-gf.svg\"),\n flagGg: \"\".concat(baseUrl, \"flags/flag-gg.svg\"),\n flagGh: \"\".concat(baseUrl, \"flags/flag-gh.svg\"),\n flagGi: \"\".concat(baseUrl, \"flags/flag-gi.svg\"),\n flagGl: \"\".concat(baseUrl, \"flags/flag-gl.svg\"),\n flagGm: \"\".concat(baseUrl, \"flags/flag-gm.svg\"),\n flagGn: \"\".concat(baseUrl, \"flags/flag-gn.svg\"),\n flagGp: \"\".concat(baseUrl, \"flags/flag-gp.svg\"),\n flagGq: \"\".concat(baseUrl, \"flags/flag-gq.svg\"),\n flagGr: \"\".concat(baseUrl, \"flags/flag-gr.svg\"),\n flagGs: \"\".concat(baseUrl, \"flags/flag-gs.svg\"),\n flagGt: \"\".concat(baseUrl, \"flags/flag-gt.svg\"),\n flagGu: \"\".concat(baseUrl, \"flags/flag-gu.svg\"),\n flagGw: \"\".concat(baseUrl, \"flags/flag-gw.svg\"),\n flagGy: \"\".concat(baseUrl, \"flags/flag-gy.svg\"),\n flagHk: \"\".concat(baseUrl, \"flags/flag-hk.svg\"),\n flagHm: \"\".concat(baseUrl, \"flags/flag-hm.svg\"),\n flagHn: \"\".concat(baseUrl, \"flags/flag-hn.svg\"),\n flagHr: \"\".concat(baseUrl, \"flags/flag-hr.svg\"),\n flagHt: \"\".concat(baseUrl, \"flags/flag-ht.svg\"),\n flagHu: \"\".concat(baseUrl, \"flags/flag-hu.svg\"),\n flagId: \"\".concat(baseUrl, \"flags/flag-id.svg\"),\n flagIe: \"\".concat(baseUrl, \"flags/flag-ie.svg\"),\n flagIl: \"\".concat(baseUrl, \"flags/flag-il.svg\"),\n flagIm: \"\".concat(baseUrl, \"flags/flag-im.svg\"),\n flagIn: \"\".concat(baseUrl, \"flags/flag-in.svg\"),\n flagIo: \"\".concat(baseUrl, \"flags/flag-io.svg\"),\n flagIq: \"\".concat(baseUrl, \"flags/flag-iq.svg\"),\n flagIr: \"\".concat(baseUrl, \"flags/flag-ir.svg\"),\n flagIs: \"\".concat(baseUrl, \"flags/flag-is.svg\"),\n flagIt: \"\".concat(baseUrl, \"flags/flag-it.svg\"),\n flagJe: \"\".concat(baseUrl, \"flags/flag-je.svg\"),\n flagJm: \"\".concat(baseUrl, \"flags/flag-jm.svg\"),\n flagJo: \"\".concat(baseUrl, \"flags/flag-jo.svg\"),\n flagJp: \"\".concat(baseUrl, \"flags/flag-jp.svg\"),\n flagKe: \"\".concat(baseUrl, \"flags/flag-ke.svg\"),\n flagKg: \"\".concat(baseUrl, \"flags/flag-kg.svg\"),\n flagKh: \"\".concat(baseUrl, \"flags/flag-kh.svg\"),\n flagKi: \"\".concat(baseUrl, \"flags/flag-ki.svg\"),\n flagKm: \"\".concat(baseUrl, \"flags/flag-km.svg\"),\n flagKn: \"\".concat(baseUrl, \"flags/flag-kn.svg\"),\n flagKp: \"\".concat(baseUrl, \"flags/flag-kp.svg\"),\n flagKr: \"\".concat(baseUrl, \"flags/flag-kr.svg\"),\n flagKw: \"\".concat(baseUrl, \"flags/flag-kw.svg\"),\n flagKy: \"\".concat(baseUrl, \"flags/flag-ky.svg\"),\n flagKz: \"\".concat(baseUrl, \"flags/flag-kz.svg\"),\n flagLa: \"\".concat(baseUrl, \"flags/flag-la.svg\"),\n flagLb: \"\".concat(baseUrl, \"flags/flag-lb.svg\"),\n flagLc: \"\".concat(baseUrl, \"flags/flag-lc.svg\"),\n flagLi: \"\".concat(baseUrl, \"flags/flag-li.svg\"),\n flagLk: \"\".concat(baseUrl, \"flags/flag-lk.svg\"),\n flagLr: \"\".concat(baseUrl, \"flags/flag-lr.svg\"),\n flagLs: \"\".concat(baseUrl, \"flags/flag-ls.svg\"),\n flagLt: \"\".concat(baseUrl, \"flags/flag-lt.svg\"),\n flagLu: \"\".concat(baseUrl, \"flags/flag-lu.svg\"),\n flagLv: \"\".concat(baseUrl, \"flags/flag-lv.svg\"),\n flagLy: \"\".concat(baseUrl, \"flags/flag-ly.svg\"),\n flagMa: \"\".concat(baseUrl, \"flags/flag-ma.svg\"),\n flagMc: \"\".concat(baseUrl, \"flags/flag-mc.svg\"),\n flagMd: \"\".concat(baseUrl, \"flags/flag-md.svg\"),\n flagMe: \"\".concat(baseUrl, \"flags/flag-me.svg\"),\n flagMf: \"\".concat(baseUrl, \"flags/flag-mf.svg\"),\n flagMg: \"\".concat(baseUrl, \"flags/flag-mg.svg\"),\n flagMh: \"\".concat(baseUrl, \"flags/flag-mh.svg\"),\n flagMk: \"\".concat(baseUrl, \"flags/flag-mk.svg\"),\n flagMl: \"\".concat(baseUrl, \"flags/flag-ml.svg\"),\n flagMm: \"\".concat(baseUrl, \"flags/flag-mm.svg\"),\n flagMn: \"\".concat(baseUrl, \"flags/flag-mn.svg\"),\n flagMo: \"\".concat(baseUrl, \"flags/flag-mo.svg\"),\n flagMp: \"\".concat(baseUrl, \"flags/flag-mp.svg\"),\n flagMq: \"\".concat(baseUrl, \"flags/flag-mq.svg\"),\n flagMr: \"\".concat(baseUrl, \"flags/flag-mr.svg\"),\n flagMs: \"\".concat(baseUrl, \"flags/flag-ms.svg\"),\n flagMt: \"\".concat(baseUrl, \"flags/flag-mt.svg\"),\n flagMu: \"\".concat(baseUrl, \"flags/flag-mu.svg\"),\n flagMv: \"\".concat(baseUrl, \"flags/flag-mv.svg\"),\n flagMw: \"\".concat(baseUrl, \"flags/flag-mw.svg\"),\n flagMx: \"\".concat(baseUrl, \"flags/flag-mx.svg\"),\n flagMy: \"\".concat(baseUrl, \"flags/flag-my.svg\"),\n flagMz: \"\".concat(baseUrl, \"flags/flag-mz.svg\"),\n flagNa: \"\".concat(baseUrl, \"flags/flag-na.svg\"),\n flagNc: \"\".concat(baseUrl, \"flags/flag-nc.svg\"),\n flagNe: \"\".concat(baseUrl, \"flags/flag-ne.svg\"),\n flagNf: \"\".concat(baseUrl, \"flags/flag-nf.svg\"),\n flagNg: \"\".concat(baseUrl, \"flags/flag-ng.svg\"),\n flagNi: \"\".concat(baseUrl, \"flags/flag-ni.svg\"),\n flagNl: \"\".concat(baseUrl, \"flags/flag-nl.svg\"),\n flagNo: \"\".concat(baseUrl, \"flags/flag-no.svg\"),\n flagNp: \"\".concat(baseUrl, \"flags/flag-np.svg\"),\n flagNr: \"\".concat(baseUrl, \"flags/flag-nr.svg\"),\n flagNu: \"\".concat(baseUrl, \"flags/flag-nu.svg\"),\n flagNz: \"\".concat(baseUrl, \"flags/flag-nz.svg\"),\n flagOm: \"\".concat(baseUrl, \"flags/flag-om.svg\"),\n flagPa: \"\".concat(baseUrl, \"flags/flag-pa.svg\"),\n flagPe: \"\".concat(baseUrl, \"flags/flag-pe.svg\"),\n flagPf: \"\".concat(baseUrl, \"flags/flag-pf.svg\"),\n flagPg: \"\".concat(baseUrl, \"flags/flag-pg.svg\"),\n flagPh: \"\".concat(baseUrl, \"flags/flag-ph.svg\"),\n flagPk: \"\".concat(baseUrl, \"flags/flag-pk.svg\"),\n flagPl: \"\".concat(baseUrl, \"flags/flag-pl.svg\"),\n flagPm: \"\".concat(baseUrl, \"flags/flag-pm.svg\"),\n flagPn: \"\".concat(baseUrl, \"flags/flag-pn.svg\"),\n flagPr: \"\".concat(baseUrl, \"flags/flag-pr.svg\"),\n flagPs: \"\".concat(baseUrl, \"flags/flag-ps.svg\"),\n flagPt: \"\".concat(baseUrl, \"flags/flag-pt.svg\"),\n flagPw: \"\".concat(baseUrl, \"flags/flag-pw.svg\"),\n flagPy: \"\".concat(baseUrl, \"flags/flag-py.svg\"),\n flagQa: \"\".concat(baseUrl, \"flags/flag-qa.svg\"),\n flagRe: \"\".concat(baseUrl, \"flags/flag-re.svg\"),\n flagRo: \"\".concat(baseUrl, \"flags/flag-ro.svg\"),\n flagRs: \"\".concat(baseUrl, \"flags/flag-rs.svg\"),\n flagRu: \"\".concat(baseUrl, \"flags/flag-ru.svg\"),\n flagRw: \"\".concat(baseUrl, \"flags/flag-rw.svg\"),\n flagSa: \"\".concat(baseUrl, \"flags/flag-sa.svg\"),\n flagSb: \"\".concat(baseUrl, \"flags/flag-sb.svg\"),\n flagSc: \"\".concat(baseUrl, \"flags/flag-sc.svg\"),\n flagSd: \"\".concat(baseUrl, \"flags/flag-sd.svg\"),\n flagSe: \"\".concat(baseUrl, \"flags/flag-se.svg\"),\n flagSg: \"\".concat(baseUrl, \"flags/flag-sg.svg\"),\n flagSh: \"\".concat(baseUrl, \"flags/flag-sh.svg\"),\n flagSi: \"\".concat(baseUrl, \"flags/flag-si.svg\"),\n flagSj: \"\".concat(baseUrl, \"flags/flag-sj.svg\"),\n flagSk: \"\".concat(baseUrl, \"flags/flag-sk.svg\"),\n flagSl: \"\".concat(baseUrl, \"flags/flag-sl.svg\"),\n flagSm: \"\".concat(baseUrl, \"flags/flag-sm.svg\"),\n flagSn: \"\".concat(baseUrl, \"flags/flag-sn.svg\"),\n flagSo: \"\".concat(baseUrl, \"flags/flag-so.svg\"),\n flagSr: \"\".concat(baseUrl, \"flags/flag-sr.svg\"),\n flagSs: \"\".concat(baseUrl, \"flags/flag-ss.svg\"),\n flagSt: \"\".concat(baseUrl, \"flags/flag-st.svg\"),\n flagSv: \"\".concat(baseUrl, \"flags/flag-sv.svg\"),\n flagSx: \"\".concat(baseUrl, \"flags/flag-sx.svg\"),\n flagSy: \"\".concat(baseUrl, \"flags/flag-sy.svg\"),\n flagSz: \"\".concat(baseUrl, \"flags/flag-sz.svg\"),\n flagTc: \"\".concat(baseUrl, \"flags/flag-tc.svg\"),\n flagTd: \"\".concat(baseUrl, \"flags/flag-td.svg\"),\n flagTf: \"\".concat(baseUrl, \"flags/flag-tf.svg\"),\n flagTg: \"\".concat(baseUrl, \"flags/flag-tg.svg\"),\n flagTh: \"\".concat(baseUrl, \"flags/flag-th.svg\"),\n flagTj: \"\".concat(baseUrl, \"flags/flag-tj.svg\"),\n flagTk: \"\".concat(baseUrl, \"flags/flag-tk.svg\"),\n flagTl: \"\".concat(baseUrl, \"flags/flag-tl.svg\"),\n flagTm: \"\".concat(baseUrl, \"flags/flag-tm.svg\"),\n flagTn: \"\".concat(baseUrl, \"flags/flag-tn.svg\"),\n flagTo: \"\".concat(baseUrl, \"flags/flag-to.svg\"),\n flagTr: \"\".concat(baseUrl, \"flags/flag-tr.svg\"),\n flagTt: \"\".concat(baseUrl, \"flags/flag-tt.svg\"),\n flagTv: \"\".concat(baseUrl, \"flags/flag-tv.svg\"),\n flagTw: \"\".concat(baseUrl, \"flags/flag-tw.svg\"),\n flagTz: \"\".concat(baseUrl, \"flags/flag-tz.svg\"),\n flagUa: \"\".concat(baseUrl, \"flags/flag-ua.svg\"),\n flagUg: \"\".concat(baseUrl, \"flags/flag-ug.svg\"),\n flagUm: \"\".concat(baseUrl, \"flags/flag-um.svg\"),\n flagUn: \"\".concat(baseUrl, \"flags/flag-un.svg\"),\n flagUs: \"\".concat(baseUrl, \"flags/flag-us.svg\"),\n flagUy: \"\".concat(baseUrl, \"flags/flag-uy.svg\"),\n flagUz: \"\".concat(baseUrl, \"flags/flag-uz.svg\"),\n flagVa: \"\".concat(baseUrl, \"flags/flag-va.svg\"),\n flagVc: \"\".concat(baseUrl, \"flags/flag-vc.svg\"),\n flagVe: \"\".concat(baseUrl, \"flags/flag-ve.svg\"),\n flagVg: \"\".concat(baseUrl, \"flags/flag-vg.svg\"),\n flagVi: \"\".concat(baseUrl, \"flags/flag-vi.svg\"),\n flagVn: \"\".concat(baseUrl, \"flags/flag-vn.svg\"),\n flagVu: \"\".concat(baseUrl, \"flags/flag-vu.svg\"),\n flagWf: \"\".concat(baseUrl, \"flags/flag-wf.svg\"),\n flagWs: \"\".concat(baseUrl, \"flags/flag-ws.svg\"),\n flagXk: \"\".concat(baseUrl, \"flags/flag-xk.svg\"),\n flagYe: \"\".concat(baseUrl, \"flags/flag-ye.svg\"),\n flagYt: \"\".concat(baseUrl, \"flags/flag-yt.svg\"),\n flagZa: \"\".concat(baseUrl, \"flags/flag-za.svg\"),\n flagZm: \"\".concat(baseUrl, \"flags/flag-zm.svg\"),\n flagZw: \"\".concat(baseUrl, \"flags/flag-zw.svg\"),\n carbonCloud: \"\".concat(baseUrl, \"green-score/carbonCloud.svg\"),\n greenScoreLogo: \"\".concat(baseUrl, \"green-score/greenScoreLogo.svg\"),\n pineTree: \"\".concat(baseUrl, \"green-score/pineTree.svg\"),\n trashBin: \"\".concat(baseUrl, \"green-score/trashBin.svg\"),\n waterDrop: \"\".concat(baseUrl, \"green-score/waterDrop.svg\"),\n barcodeGhostLandscape: \"\".concat(baseUrl, \"identity/barcode-ghost-landscape.png\"),\n barcodeGhostPortrait: \"\".concat(baseUrl, \"identity/barcode-ghost-portrait.png\"),\n idcardDesktopBack: \"\".concat(baseUrl, \"identity/idcard-desktop-back.png\"),\n idcardDesktopFront: \"\".concat(baseUrl, \"identity/idcard-desktop-front.png\"),\n idcardGhostLandscape: \"\".concat(baseUrl, \"identity/idcard-ghost-landscape.png\"),\n idcardGhostPortrait: \"\".concat(baseUrl, \"identity/idcard-ghost-portrait.png\"),\n idcardLaptopBack: \"\".concat(baseUrl, \"identity/idcard-laptop-back.svg\"),\n idcardLaptopFront: \"\".concat(baseUrl, \"identity/idcard-laptop-front.svg\"),\n idcardMobileBack: \"\".concat(baseUrl, \"identity/idcard-mobile-back.png\"),\n idcardMobileFront: \"\".concat(baseUrl, \"identity/idcard-mobile-front.png\"),\n idcardPhoneBack: \"\".concat(baseUrl, \"identity/idcard-phone-back.svg\"),\n idcardPhoneFront: \"\".concat(baseUrl, \"identity/idcard-phone-front.svg\"),\n idvLogoAuthentify: \"\".concat(baseUrl, \"idv/IdvLogoAuthentify.svg\"),\n idvLogoDigitalId: \"\".concat(baseUrl, \"identity/idvLogoDigitalId.svg\"),\n idvLogoFranceConnect: \"\".concat(baseUrl, \"identity/idvLogoFranceConnect.svg\"),\n idvPhotoidDesktopPassport: \"\".concat(baseUrl, \"identity/idvPhotoidDesktopPassport.svg\"),\n idvPhotoidDesktopPhotoidBack: \"\".concat(baseUrl, \"identity/idvPhotoidDesktopPhotoidBack.svg\"),\n idvPhotoidDesktopPhotoidFront: \"\".concat(baseUrl, \"identity/idvPhotoidDesktopPhotoidFront.svg\"),\n idvPhotoidHowtoDeskTopPassport: \"\".concat(baseUrl, \"identity/idvPhotoidHowtoDeskTopPassport.png\"),\n idvPhotoidHowtoDeskTopPhotoidBack: \"\".concat(baseUrl, \"identity/idvPhotoidHowtoDeskTopPhotoidBack.png\"),\n idvPhotoidHowtoDeskTopPhotoidFront: \"\".concat(baseUrl, \"identity/idvPhotoidHowtoDeskTopPhotoidFront.png\"),\n idvPhotoidHowtoMobilePassport: \"\".concat(baseUrl, \"identity/idvPhotoidHowtoMobilePassport.png\"),\n idvPhotoidHowtoMobilePhotoidBack: \"\".concat(baseUrl, \"identity/idvPhotoidHowtoMobilePhotoidBack.png\"),\n idvPhotoidHowtoMobilePhotoidFront: \"\".concat(baseUrl, \"identity/idvPhotoidHowtoMobilePhotoidFront.png\"),\n idvPhotoidMobilePassport: \"\".concat(baseUrl, \"identity/idvPhotoidMobilePassport.svg\"),\n idvPhotoidMobilePhotoidBack: \"\".concat(baseUrl, \"identity/idvPhotoidMobilePhotoidBack.svg\"),\n idvPhotoidMobilePhotoidFront: \"\".concat(baseUrl, \"identity/idvPhotoidMobilePhotoidFront.svg\"),\n idvPhotoidValidationNameMatching: \"\".concat(baseUrl, \"identity/idvPhotoidValidationNameMatching.gif\"),\n idvPhotoidValidationUpload: \"\".concat(baseUrl, \"identity/idvPhotoidValidationUpload.gif\"),\n idvPhotoidValidationVerification: \"\".concat(baseUrl, \"identity/idvPhotoidValidationVerification.gif\"),\n idvPhotoidValidationVerified: \"\".concat(baseUrl, \"identity/idvPhotoidValidationVerified.gif\"),\n idvSignerheldInstructions: \"\".concat(baseUrl, \"identity/idvSignerheldInstructions.svg\"),\n idvUserConsent: \"\".concat(baseUrl, \"identity/idvUserConsent.svg\"),\n passportDesktop: \"\".concat(baseUrl, \"identity/passport-desktop.png\"),\n passportGhostLandscape: \"\".concat(baseUrl, \"identity/passport-ghost-landscape.png\"),\n passportGhostPortrait: \"\".concat(baseUrl, \"identity/passport-ghost-portrait.png\"),\n passportLaptop: \"\".concat(baseUrl, \"identity/passport-laptop.svg\"),\n passportMobile: \"\".concat(baseUrl, \"identity/passport-mobile.png\"),\n passportPhone: \"\".concat(baseUrl, \"identity/passport-phone.svg\"),\n smartcard: \"\".concat(baseUrl, \"identity/smartcard.svg\"),\n verifyPhoneCall: \"\".concat(baseUrl, \"identity/verifyPhoneCall.svg\"),\n verifySms: \"\".concat(baseUrl, \"identity/verifySms.svg\"),\n idvIconCamera: \"\".concat(baseUrl, \"idv/idvIconCamera.svg\"),\n idvIconFlip: \"\".concat(baseUrl, \"idv/idvIconFlip.svg\"),\n idvIconImageUpload: \"\".concat(baseUrl, \"idv/idvIconImageUpload.svg\"),\n idvIconPassport: \"\".concat(baseUrl, \"idv/idvIconPassport.svg\"),\n idvIconPhotoId: \"\".concat(baseUrl, \"idv/idvIconPhotoId.svg\"),\n idvIconPhotoIdBack: \"\".concat(baseUrl, \"idv/idvIconPhotoIdBack.svg\"),\n idvIconSmartCardEId: \"\".concat(baseUrl, \"idv/idvIconSmartCardEId.svg\"),\n idvInstructionsPassportFrame: \"\".concat(baseUrl, \"idv/idvInstructionsPassportFrame.png\"),\n idvKbaSuccess: \"\".concat(baseUrl, \"idv/idvKbaSuccess.svg\"),\n idvLogoBankIdMobNo: \"\".concat(baseUrl, \"idv/idvLogoBankIdMobNo.png\"),\n idvLogoBankIdNo: \"\".concat(baseUrl, \"idv/idvLogoBankIdNo.png\"),\n idvLogoBankIdNoIconOnly: \"\".concat(baseUrl, \"idv/idvLogoBankIdNoIconOnly.png\"),\n idvLogoBankIdSe: \"\".concat(baseUrl, \"idv/idvLogoBankIdSe.svg\"),\n idvLogoFinnishBank: \"\".concat(baseUrl, \"idv/idvLogoFinnishBank.svg\"),\n idvLogoFtn: \"\".concat(baseUrl, \"idv/idvLogoFtn.png\"),\n idvLogoFtnIconOnly: \"\".concat(baseUrl, \"idv/idvLogoFtnIconOnly.png\"),\n idvLogoIdIn: \"\".concat(baseUrl, \"idv/idvLogoIdIn.svg\"),\n idvLogoItsMe: \"\".concat(baseUrl, \"idv/idvLogoItsMe.png\"),\n idvLogoKba: \"\".concat(baseUrl, \"idv/idvLogoKba.svg\"),\n idvLogoNemId: \"\".concat(baseUrl, \"idv/idvLogoNemId.svg\"),\n idvLogoOneId: \"\".concat(baseUrl, \"idv/idvLogoOneID.svg\"),\n idvLogoOtherCountry: \"\".concat(baseUrl, \"idv/idvLogoOtherCountry.svg\"),\n idvManualReviewAccepted: \"\".concat(baseUrl, \"idv/idvManualReviewAccepted.svg\"),\n idvManualReviewRejected: \"\".concat(baseUrl, \"idv/idvManualReviewRejected.svg\"),\n idvManuelReviewPending: \"\".concat(baseUrl, \"idv/idvManuelReviewPending.svg\"),\n idvNoIdentification: \"\".concat(baseUrl, \"idv/idvNoIdentification.svg\"),\n idvVerifiedMe: \"\".concat(baseUrl, \"idv/idvVerifiedMe.svg\"),\n anotherIcon: \"\".concat(baseUrl, \"illustrations/another_icon.svg\"),\n brandingIcon: \"\".concat(baseUrl, \"illustrations/branding_icon.svg\"),\n checklistBanner_320: \"\".concat(baseUrl, \"illustrations/checklist_banner_320.svg\"),\n checklistBanner_544: \"\".concat(baseUrl, \"illustrations/checklist_banner_544.svg\"),\n checklistBanner_768: \"\".concat(baseUrl, \"illustrations/checklist_banner_768.svg\"),\n clickwrap: \"\".concat(baseUrl, \"illustrations/clickwrap.svg\"),\n deviceMobileFrameDisabled: \"\".concat(baseUrl, \"illustrations/device-mobile-frame-disabled.svg\"),\n deviceMobileFrame: \"\".concat(baseUrl, \"illustrations/device-mobile-frame.svg\"),\n deviceMonitorFrame: \"\".concat(baseUrl, \"illustrations/device-monitor-frame.svg\"),\n deviceTabletFrame: \"\".concat(baseUrl, \"illustrations/device-tablet-frame.svg\"),\n emptyStateBulkRooms: \"\".concat(baseUrl, \"illustrations/empty_state_bulk_rooms.svg\"),\n fileAdd: \"\".concat(baseUrl, \"illustrations/file-add.svg\"),\n fileDrop: \"\".concat(baseUrl, \"illustrations/file-drop.svg\"),\n getTheApp_150px: \"\".concat(baseUrl, \"illustrations/get_the_app_150px.svg\"),\n meerkatWelcome: \"\".concat(baseUrl, \"illustrations/meerkat-welcome.svg\"),\n ndseFunctionalEmptyState: \"\".concat(baseUrl, \"illustrations/ndse-functional-emptyState.svg\"),\n ndseFunctionalTemplates: \"\".concat(baseUrl, \"illustrations/ndse-functional-templates.svg\"),\n ndseGoToMobileApp: \"\".concat(baseUrl, \"illustrations/ndse-go-to-mobile-app.svg\"),\n ndseManage: \"\".concat(baseUrl, \"illustrations/ndse-manage.svg\"),\n ndseMe: \"\".concat(baseUrl, \"illustrations/ndse-me.svg\"),\n ndseOthers: \"\".concat(baseUrl, \"illustrations/ndse-others.svg\"),\n ndseOutOfSends: \"\".concat(baseUrl, \"illustrations/ndse-out-of-sends.svg\"),\n ndsePaidConversion: \"\".concat(baseUrl, \"illustrations/ndse-paidConversion.svg\"),\n ndsePaidTrial: \"\".concat(baseUrl, \"illustrations/ndse-paidTrial.svg\"),\n ndseSelected: \"\".concat(baseUrl, \"illustrations/ndse-selected.svg\"),\n ndseSendAnother: \"\".concat(baseUrl, \"illustrations/ndse-send-another.png\"),\n ndseSendDocuments: \"\".concat(baseUrl, \"illustrations/ndse-send-documents.svg\"),\n ndseTemplates: \"\".concat(baseUrl, \"illustrations/ndse-templates.png\"),\n ndseTryTemplates: \"\".concat(baseUrl, \"illustrations/ndse-try-templates.svg\"),\n ndseUpgrade: \"\".concat(baseUrl, \"illustrations/ndse-upgrade.png\"),\n ndseUseTemplates: \"\".concat(baseUrl, \"illustrations/ndse-use-templates.svg\"),\n ndseWelcome_2: \"\".concat(baseUrl, \"illustrations/ndse-welcome-2.svg\"),\n ndseWelcome: \"\".concat(baseUrl, \"illustrations/ndse-welcome.svg\"),\n ndseNoTemplates: \"\".concat(baseUrl, \"illustrations/ndseNoTemplates.svg\"),\n onTheGo: \"\".concat(baseUrl, \"illustrations/onTheGo.svg\"),\n onboardingModalBg_320: \"\".concat(baseUrl, \"illustrations/onboarding_modal_bg_320.svg\"),\n onboardingModalBg_544: \"\".concat(baseUrl, \"illustrations/onboarding_modal_bg_544.svg\"),\n onboardingModalBg_768: \"\".concat(baseUrl, \"illustrations/onboarding_modal_bg_768.svg\"),\n postSendingAddUser: \"\".concat(baseUrl, \"illustrations/post_sending_add_user.svg\"),\n postSendingBranding: \"\".concat(baseUrl, \"illustrations/post_sending_branding.svg\"),\n postSendingCelebration: \"\".concat(baseUrl, \"illustrations/post_sending_celebration.svg\"),\n postSendingCloudIntegrations: \"\".concat(baseUrl, \"illustrations/post_sending_cloud_integrations.svg\"),\n postSendingEmpty: \"\".concat(baseUrl, \"illustrations/post_sending_empty.svg\"),\n postSendingExceed: \"\".concat(baseUrl, \"illustrations/post_sending_exceed.svg\"),\n postSendingFavoriteTemplate: \"\".concat(baseUrl, \"illustrations/post_sending_favorite_template.svg\"),\n postSendingFirstsent: \"\".concat(baseUrl, \"illustrations/post_sending_firstsent.svg\"),\n postSendingFlying: \"\".concat(baseUrl, \"illustrations/post_sending_flying.svg\"),\n postSendingForest: \"\".concat(baseUrl, \"illustrations/post_sending_forest.svg\"),\n postSendingScale: \"\".concat(baseUrl, \"illustrations/post_sending_scale.svg\"),\n postSendingSend: \"\".concat(baseUrl, \"illustrations/post_sending_send.svg\"),\n postSendingTemplate: \"\".concat(baseUrl, \"illustrations/post_sending_template.svg\"),\n postSendingThumbnail: \"\".concat(baseUrl, \"illustrations/post_sending_thumbnail.svg\"),\n postSendingTrack: \"\".concat(baseUrl, \"illustrations/post_sending_track.svg\"),\n postSendingUpgrade: \"\".concat(baseUrl, \"illustrations/post_sending_upgrade.svg\"),\n postSendingUrgent: \"\".concat(baseUrl, \"illustrations/post_sending_urgent.svg\"),\n promoAddUser_100px: \"\".concat(baseUrl, \"illustrations/promo_add_user_100px.svg\"),\n promoAddUser_320px: \"\".concat(baseUrl, \"illustrations/promo_add_user_320px.svg\"),\n promoAddUser_544px: \"\".concat(baseUrl, \"illustrations/promo_add_user_544px.svg\"),\n promoAnother_100px: \"\".concat(baseUrl, \"illustrations/promo_another_100px.svg\"),\n promoAnother_320px: \"\".concat(baseUrl, \"illustrations/promo_another_320px.svg\"),\n promoAnother_544px: \"\".concat(baseUrl, \"illustrations/promo_another_544px.svg\"),\n promoApp_100px: \"\".concat(baseUrl, \"illustrations/promo_app_100px.svg\"),\n promoApp_320px: \"\".concat(baseUrl, \"illustrations/promo_app_320px.svg\"),\n promoApp_544px: \"\".concat(baseUrl, \"illustrations/promo_app_544px.svg\"),\n promoBanner: \"\".concat(baseUrl, \"illustrations/promo_banner.svg\"),\n promoBanner_320px: \"\".concat(baseUrl, \"illustrations/promo_banner_320px.svg\"),\n promoBanner_544px: \"\".concat(baseUrl, \"illustrations/promo_banner_544px.svg\"),\n promoBanner_980px: \"\".concat(baseUrl, \"illustrations/promo_banner_980px.svg\"),\n promoBulkRooms_100px: \"\".concat(baseUrl, \"illustrations/promo_bulk_rooms_100px.svg\"),\n promoBulkRooms_320px: \"\".concat(baseUrl, \"illustrations/promo_bulk_rooms_320px.svg\"),\n promoBulkRooms_544px: \"\".concat(baseUrl, \"illustrations/promo_bulk_rooms_544px.svg\"),\n promoBulkSend_100px: \"\".concat(baseUrl, \"illustrations/promo_bulk_send_100px.svg\"),\n promoBulkSend_320px: \"\".concat(baseUrl, \"illustrations/promo_bulk_send_320px.svg\"),\n promoBulkSend_544px: \"\".concat(baseUrl, \"illustrations/promo_bulk_send_544px.svg\"),\n promoLivechat_100px: \"\".concat(baseUrl, \"illustrations/promo_livechat_100px.svg\"),\n promoLivechat_320px: \"\".concat(baseUrl, \"illustrations/promo_livechat_320px.svg\"),\n promoLivechat_544px: \"\".concat(baseUrl, \"illustrations/promo_livechat_544px.svg\"),\n promoManage_100px: \"\".concat(baseUrl, \"illustrations/promo_manage_100px.svg\"),\n promoManage_320px: \"\".concat(baseUrl, \"illustrations/promo_manage_320px.svg\"),\n promoManage_544px: \"\".concat(baseUrl, \"illustrations/promo_manage_544px.svg\"),\n promoPaidConversion_100px: \"\".concat(baseUrl, \"illustrations/promo_paidConversion_100px.svg\"),\n promoPaidConversion_320px: \"\".concat(baseUrl, \"illustrations/promo_paidConversion_320px.svg\"),\n promoPaidConversion_544px: \"\".concat(baseUrl, \"illustrations/promo_paidConversion_544px.svg\"),\n promoReferral_100px: \"\".concat(baseUrl, \"illustrations/promo_referral_100px.svg\"),\n promoReferral_320px: \"\".concat(baseUrl, \"illustrations/promo_referral_320px.svg\"),\n promoReferral_544px: \"\".concat(baseUrl, \"illustrations/promo_referral_544px.svg\"),\n promoSandbox_100px: \"\".concat(baseUrl, \"illustrations/promo_sandbox_100px.png\"),\n promoSandbox_320px: \"\".concat(baseUrl, \"illustrations/promo_sandbox_320px.png\"),\n promoSandbox_544px: \"\".concat(baseUrl, \"illustrations/promo_sandbox_544px.png\"),\n promoTemplate_100px: \"\".concat(baseUrl, \"illustrations/promo_template_100px.svg\"),\n promoTemplate_320px: \"\".concat(baseUrl, \"illustrations/promo_template_320px.svg\"),\n promoTemplate_544px: \"\".concat(baseUrl, \"illustrations/promo_template_544px.svg\"),\n promoUpgradeAlt_100px: \"\".concat(baseUrl, \"illustrations/promo_upgrade-alt_100px.svg\"),\n promoUpgradeAlt_320px: \"\".concat(baseUrl, \"illustrations/promo_upgrade-alt_320px.svg\"),\n promoUpgradeAlt_544px: \"\".concat(baseUrl, \"illustrations/promo_upgrade-alt_544px.svg\"),\n promoUpgrade_100px: \"\".concat(baseUrl, \"illustrations/promo_upgrade_100px.svg\"),\n promoUpgrade_320px: \"\".concat(baseUrl, \"illustrations/promo_upgrade_320px.svg\"),\n promoUpgrade_544px: \"\".concat(baseUrl, \"illustrations/promo_upgrade_544px.svg\"),\n promoZipform_100px: \"\".concat(baseUrl, \"illustrations/promo_zipform_100px.svg\"),\n promoZipform_320px: \"\".concat(baseUrl, \"illustrations/promo_zipform_320px.svg\"),\n promoZipform_544px: \"\".concat(baseUrl, \"illustrations/promo_zipform_544px.svg\"),\n reTrialChecklistForSale: \"\".concat(baseUrl, \"illustrations/reTrialChecklistForSale.svg\"),\n reTrialChecklistRealtorLogo: \"\".concat(baseUrl, \"illustrations/reTrialChecklistRealtorLogo.svg\"),\n reTrialModalFiles: \"\".concat(baseUrl, \"illustrations/reTrialModalFiles.svg\"),\n reTrialModalSigs: \"\".concat(baseUrl, \"illustrations/reTrialModalSigs.svg\"),\n reTrialModalStrikethrough: \"\".concat(baseUrl, \"illustrations/reTrialModalStrikethrough.svg\"),\n reTrialPostSendNarSig: \"\".concat(baseUrl, \"illustrations/reTrialPostSendNARSig.svg\"),\n reTrialPostSendTemplates: \"\".concat(baseUrl, \"illustrations/reTrialPostSendTemplates.svg\"),\n sampleDoc: \"\".concat(baseUrl, \"illustrations/sample-doc.gif\"),\n searchResultsSummary: \"\".concat(baseUrl, \"illustrations/searchResultsSummary.svg\"),\n searchWelcome: \"\".concat(baseUrl, \"illustrations/searchWelcome.svg\"),\n switchToDesktop: \"\".concat(baseUrl, \"illustrations/switchToDesktop.svg\"),\n systemDownMaintenance: \"\".concat(baseUrl, \"illustrations/system-down-maintenance.svg\"),\n templateIcon: \"\".concat(baseUrl, \"illustrations/template_icon.svg\"),\n trackIcon: \"\".concat(baseUrl, \"illustrations/track_icon.svg\"),\n upgradeMonthlyAnnual: \"\".concat(baseUrl, \"illustrations/upgrade-monthly-annual.svg\"),\n upgradeTrialPaid: \"\".concat(baseUrl, \"illustrations/upgrade-trial-paid.svg\"),\n au: \"\".concat(baseUrl, \"ink-country-flags/AU.svg\"),\n bg: \"\".concat(baseUrl, \"ink-country-flags/BG.svg\"),\n br: \"\".concat(baseUrl, \"ink-country-flags/BR.svg\"),\n ca: \"\".concat(baseUrl, \"ink-country-flags/CA.svg\"),\n cz: \"\".concat(baseUrl, \"ink-country-flags/CZ.svg\"),\n de: \"\".concat(baseUrl, \"ink-country-flags/DE.svg\"),\n dk: \"\".concat(baseUrl, \"ink-country-flags/DK.svg\"),\n ee: \"\".concat(baseUrl, \"ink-country-flags/EE.svg\"),\n es: \"\".concat(baseUrl, \"ink-country-flags/ES.svg\"),\n fi: \"\".concat(baseUrl, \"ink-country-flags/FI.svg\"),\n fr: \"\".concat(baseUrl, \"ink-country-flags/FR.svg\"),\n gb: \"\".concat(baseUrl, \"ink-country-flags/GB.svg\"),\n ie: \"\".concat(baseUrl, \"ink-country-flags/IE.svg\"),\n jp: \"\".concat(baseUrl, \"ink-country-flags/JP.svg\"),\n nl: \"\".concat(baseUrl, \"ink-country-flags/NL.svg\"),\n no: \"\".concat(baseUrl, \"ink-country-flags/NO.svg\"),\n se: \"\".concat(baseUrl, \"ink-country-flags/SE.svg\"),\n us: \"\".concat(baseUrl, \"ink-country-flags/US.svg\"),\n fbwpChatBubbleSign: \"\".concat(baseUrl, \"integrations/fbwpChatBubbleSign.png\"),\n fbwpCommentReceived: \"\".concat(baseUrl, \"integrations/fbwpCommentReceived.png\"),\n fbwpCompleted: \"\".concat(baseUrl, \"integrations/fbwpCompleted.png\"),\n fbwpDeclined: \"\".concat(baseUrl, \"integrations/fbwpDeclined.png\"),\n fbwpNeedsToView: \"\".concat(baseUrl, \"integrations/fbwpNeedsToView.png\"),\n fbwpRecipientCompleted: \"\".concat(baseUrl, \"integrations/fbwpRecipientCompleted.png\"),\n fbwpReview: \"\".concat(baseUrl, \"integrations/fbwpReview.png\"),\n fbwpVoided: \"\".concat(baseUrl, \"integrations/fbwpVoided.png\"),\n ndiSignatureArea: \"\".concat(baseUrl, \"integrations/ndiSignatureArea.png\"),\n ndiSignatureArea_2x: \"\".concat(baseUrl, \"integrations/ndiSignatureArea@2x.png\"),\n ndiSingpassIcon: \"\".concat(baseUrl, \"integrations/ndiSingpassIcon.png\"),\n ndiSingpassIcon_2x: \"\".concat(baseUrl, \"integrations/ndiSingpassIcon@2x.png\"),\n ndiSingpassLogo: \"\".concat(baseUrl, \"integrations/ndiSingpassLogo.png\"),\n ndiSingpassLogo_2x: \"\".concat(baseUrl, \"integrations/ndiSingpassLogo@2x.png\"),\n ndiSingpassQrFrame: \"\".concat(baseUrl, \"integrations/ndiSingpassQRFrame.png\"),\n ndiSingpassQrFrame_2x: \"\".concat(baseUrl, \"integrations/ndiSingpassQRFrame@2x.png\"),\n ndiTranssped: \"\".concat(baseUrl, \"integrations/ndiTranssped.png\"),\n ndiTranssped_2x: \"\".concat(baseUrl, \"integrations/ndiTranssped@2x.png\"),\n ndiWatermark: \"\".concat(baseUrl, \"integrations/ndiWatermark.png\"),\n ndiWatermark_2x: \"\".concat(baseUrl, \"integrations/ndiWatermark@2x.png\"),\n tspLogoGeneric: \"\".concat(baseUrl, \"integrations/tspLogoGeneric.svg\"),\n tspLogoSingPass: \"\".concat(baseUrl, \"integrations/tspLogoSingPass.svg\"),\n tspLogoTransSped: \"\".concat(baseUrl, \"integrations/tspLogoTransSped.png\"),\n error: \"\".concat(baseUrl, \"login/error.svg\"),\n info: \"\".concat(baseUrl, \"login/info.svg\"),\n selectTypeAuthenticatorAppActive: \"\".concat(baseUrl, \"login/selectTypeAuthenticatorAppActive.svg\"),\n selectTypeAuthenticatorAppDisabled: \"\".concat(baseUrl, \"login/selectTypeAuthenticatorAppDisabled.svg\"),\n selectTypeEmailActive: \"\".concat(baseUrl, \"login/selectTypeEmailActive.svg\"),\n selectTypeEmailDsiabled: \"\".concat(baseUrl, \"login/selectTypeEmailDsiabled.svg\"),\n selectTypePhoneNumberActive: \"\".concat(baseUrl, \"login/selectTypePhoneNumberActive.svg\"),\n selectTypePhoneNumberDisabled: \"\".concat(baseUrl, \"login/selectTypePhoneNumberDisabled.svg\"),\n selectTypeSecurityKeyActive: \"\".concat(baseUrl, \"login/selectTypeSecurityKeyActive.svg\"),\n selectTypeSecurityKeyDisabled: \"\".concat(baseUrl, \"login/selectTypeSecurityKeyDisabled.svg\"),\n twoStepVerificationAuthenticatorApp: \"\".concat(baseUrl, \"login/twoStepVerificationAuthenticatorApp.svg\"),\n twoStepVerificationEmail: \"\".concat(baseUrl, \"login/twoStepVerificationEmail.svg\"),\n twoStepVerificationPhoneNumberPhoneCall: \"\".concat(baseUrl, \"login/twoStepVerificationPhoneNumberPhoneCall.svg\"),\n twoStepVerificationPhoneNumberSms: \"\".concat(baseUrl, \"login/twoStepVerificationPhoneNumberSMS.svg\"),\n twoStepVerificationPhoneNumberSelectDeliveryMethod: \"\".concat(baseUrl, \"login/twoStepVerificationPhoneNumberSelectDeliveryMethod.svg\"),\n twoStepVerificationSecurityKey: \"\".concat(baseUrl, \"login/twoStepVerificationSecurityKey.svg\"),\n logoDocusignBlack: \"\".concat(baseUrl, \"logo-docusign-black.png\"),\n logoDocusignBlueBlack: \"\".concat(baseUrl, \"logo-docusign-blue-black.png\"),\n logoDocusignBlue: \"\".concat(baseUrl, \"logo-docusign-blue.png\"),\n logoDocusignGray: \"\".concat(baseUrl, \"logo-docusign-gray.png\"),\n logoDocusignSansBlack: \"\".concat(baseUrl, \"logo-docusign-sans-black.png\"),\n logoDocusignSansWhite: \"\".concat(baseUrl, \"logo-docusign-sans-white.png\"),\n logoDocusignSans: \"\".concat(baseUrl, \"logo-docusign-sans.svg\"),\n logoDocusignWhite: \"\".concat(baseUrl, \"logo-docusign-white.png\"),\n logoDocusign: \"\".concat(baseUrl, \"logo-docusign.svg\"),\n logoDsSansWhite: \"\".concat(baseUrl, \"logo-ds-sans-white.svg\"),\n boxDefault: \"\".concat(baseUrl, \"logos/Box-default.png\"),\n boxGray: \"\".concat(baseUrl, \"logos/Box-gray.png\"),\n boxWhite: \"\".concat(baseUrl, \"logos/Box-white.png\"),\n box: \"\".concat(baseUrl, \"logos/Box.svg\"),\n dropboxDefault: \"\".concat(baseUrl, \"logos/Dropbox-default.png\"),\n dropboxGray: \"\".concat(baseUrl, \"logos/Dropbox-gray.png\"),\n dropboxWhite: \"\".concat(baseUrl, \"logos/Dropbox-white.png\"),\n dropbox: \"\".concat(baseUrl, \"logos/Dropbox.svg\"),\n dtrDefault: \"\".concat(baseUrl, \"logos/Dtr-default.png\"),\n dtrGray: \"\".concat(baseUrl, \"logos/Dtr-gray.png\"),\n dtrWhite: \"\".concat(baseUrl, \"logos/Dtr-white.png\"),\n dtr: \"\".concat(baseUrl, \"logos/Dtr.svg\"),\n eoriginalDefault: \"\".concat(baseUrl, \"logos/Eoriginal-default.png\"),\n eoriginalGray: \"\".concat(baseUrl, \"logos/Eoriginal-gray.png\"),\n eoriginalWhite: \"\".concat(baseUrl, \"logos/Eoriginal-white.png\"),\n eoriginal: \"\".concat(baseUrl, \"logos/Eoriginal.svg\"),\n facebookDefault: \"\".concat(baseUrl, \"logos/Facebook-default.png\"),\n facebookGray: \"\".concat(baseUrl, \"logos/Facebook-gray.png\"),\n facebookWhite: \"\".concat(baseUrl, \"logos/Facebook-white.png\"),\n facebook: \"\".concat(baseUrl, \"logos/Facebook.svg\"),\n googleDriveDefault: \"\".concat(baseUrl, \"logos/GoogleDrive-default.png\"),\n googleDriveGray: \"\".concat(baseUrl, \"logos/GoogleDrive-gray.png\"),\n googleDriveWhite: \"\".concat(baseUrl, \"logos/GoogleDrive-white.png\"),\n googleDrive: \"\".concat(baseUrl, \"logos/GoogleDrive.svg\"),\n googlePlusDefault: \"\".concat(baseUrl, \"logos/GooglePlus-default.png\"),\n googlePlusGray: \"\".concat(baseUrl, \"logos/GooglePlus-gray.png\"),\n googlePlusWhite: \"\".concat(baseUrl, \"logos/GooglePlus-white.png\"),\n googlePlus: \"\".concat(baseUrl, \"logos/GooglePlus.svg\"),\n linkedInDefault: \"\".concat(baseUrl, \"logos/LinkedIn-default.png\"),\n linkedInGray: \"\".concat(baseUrl, \"logos/LinkedIn-gray.png\"),\n linkedInWhite: \"\".concat(baseUrl, \"logos/LinkedIn-white.png\"),\n linkedIn: \"\".concat(baseUrl, \"logos/LinkedIn.svg\"),\n microsoftDefault: \"\".concat(baseUrl, \"logos/Microsoft-default.png\"),\n microsoftGray: \"\".concat(baseUrl, \"logos/Microsoft-gray.png\"),\n microsoftWhite: \"\".concat(baseUrl, \"logos/Microsoft-white.png\"),\n microsoft: \"\".concat(baseUrl, \"logos/Microsoft.svg\"),\n office365Default: \"\".concat(baseUrl, \"logos/Office365-default.png\"),\n office365Gray: \"\".concat(baseUrl, \"logos/Office365-gray.png\"),\n office365White: \"\".concat(baseUrl, \"logos/Office365-white.png\"),\n office365: \"\".concat(baseUrl, \"logos/Office365.svg\"),\n oneDriveDefault: \"\".concat(baseUrl, \"logos/OneDrive-default.png\"),\n oneDriveGray: \"\".concat(baseUrl, \"logos/OneDrive-gray.png\"),\n oneDriveWhite: \"\".concat(baseUrl, \"logos/OneDrive-white.png\"),\n oneDrive: \"\".concat(baseUrl, \"logos/OneDrive.svg\"),\n roomsDefault: \"\".concat(baseUrl, \"logos/Rooms-default.png\"),\n roomsGray: \"\".concat(baseUrl, \"logos/Rooms-gray.png\"),\n roomsWhite: \"\".concat(baseUrl, \"logos/Rooms-white.png\"),\n rooms: \"\".concat(baseUrl, \"logos/Rooms.svg\"),\n salesforceDefault: \"\".concat(baseUrl, \"logos/Salesforce-default.png\"),\n salesforceGray: \"\".concat(baseUrl, \"logos/Salesforce-gray.png\"),\n salesforceWhite: \"\".concat(baseUrl, \"logos/Salesforce-white.png\"),\n salesforce: \"\".concat(baseUrl, \"logos-products/salesforce.svg\"),\n twitterDefault: \"\".concat(baseUrl, \"logos/Twitter-default.png\"),\n twitterGray: \"\".concat(baseUrl, \"logos/Twitter-gray.png\"),\n twitterWhite: \"\".concat(baseUrl, \"logos/Twitter-white.png\"),\n twitter: \"\".concat(baseUrl, \"logos/Twitter.svg\"),\n yahooDefault: \"\".concat(baseUrl, \"logos/Yahoo-default.png\"),\n yahooGray: \"\".concat(baseUrl, \"logos/Yahoo-gray.png\"),\n yahooWhite: \"\".concat(baseUrl, \"logos/Yahoo-white.png\"),\n yahoo: \"\".concat(baseUrl, \"logos/Yahoo.svg\"),\n appStoreBadge: \"\".concat(baseUrl, \"logos-products/app-store-badge.svg\"),\n docusignClmBlack: \"\".concat(baseUrl, \"logos-products/docusignCLM-black.png\"),\n docusignClmWhite: \"\".concat(baseUrl, \"logos-products/docusignCLM-white.png\"),\n docusignClMspringBlack: \"\".concat(baseUrl, \"logos-products/docusignCLMspring-black.png\"),\n docusignClMspringWhite: \"\".concat(baseUrl, \"logos-products/docusignCLMspring-white.png\"),\n googleChrome: \"\".concat(baseUrl, \"logos-products/google-chrome.svg\"),\n googleGmail: \"\".concat(baseUrl, \"logos-products/google-gmail.svg\"),\n googlePlayBadge: \"\".concat(baseUrl, \"logos-products/google-play-badge.svg\"),\n logoSpringcm: \"\".concat(baseUrl, \"logos-products/logo-springcm.svg\"),\n microsoftOutlook: \"\".concat(baseUrl, \"logos-products/microsoft-outlook.svg\"),\n mobileWeb: \"\".concat(baseUrl, \"mobile-web/mobile-web.svg\"),\n mwComments_24x24: \"\".concat(baseUrl, \"mobile-web/mw-comments-24x24.svg\"),\n mwPlus_24x24: \"\".concat(baseUrl, \"mobile-web/mw-plus-24x24.svg\"),\n addMarkup: \"\".concat(baseUrl, \"ndse/add-markup.gif\"),\n addingFields: \"\".concat(baseUrl, \"ndse/adding-fields.gif\"),\n autoTagging: \"\".concat(baseUrl, \"ndse/auto-tagging.gif\"),\n deletePdfFormFields: \"\".concat(baseUrl, \"ndse/delete-pdf-form-fields.svg\"),\n diagramOutlines: \"\".concat(baseUrl, \"ndse/diagram-outlines.svg\"),\n firstEnvelope: \"\".concat(baseUrl, \"ndse/first_envelope.png\"),\n flattenPdfFormFields: \"\".concat(baseUrl, \"ndse/flatten-pdf-form-fields.svg\"),\n homeBulkRooms: \"\".concat(baseUrl, \"ndse/home-bulk-rooms.svg\"),\n homeBulkSend: \"\".concat(baseUrl, \"ndse/home-bulk-send.svg\"),\n homeHeroBg_768px: \"\".concat(baseUrl, \"ndse/home-hero-bg-768px.svg\"),\n homeHeroBg: \"\".concat(baseUrl, \"ndse/home-hero-bg.svg\"),\n homeOptIn: \"\".concat(baseUrl, \"ndse/home-optIn.svg\"),\n iconBranding: \"\".concat(baseUrl, \"ndse/icon-branding.svg\"),\n iconHeadset: \"\".concat(baseUrl, \"ndse/icon-headset.svg\"),\n iconMobilephone: \"\".concat(baseUrl, \"ndse/icon-mobilephone.svg\"),\n iconOfficehours: \"\".concat(baseUrl, \"ndse/icon-officehours.svg\"),\n iconReferafriend: \"\".concat(baseUrl, \"ndse/icon-referafriend.svg\"),\n iconUploadprofilepic: \"\".concat(baseUrl, \"ndse/icon-uploadprofilepic.svg\"),\n inAppChatAgent: \"\".concat(baseUrl, \"ndse/in-app-chat-agent.svg\"),\n inAppChatBot: \"\".concat(baseUrl, \"ndse/in-app-chat-bot.svg\"),\n mergePdfFormFields: \"\".concat(baseUrl, \"ndse/merge-pdf-form-fields.svg\"),\n onboardingBrandYourAccount: \"\".concat(baseUrl, \"ndse/onboarding-brand-your-account.svg\"),\n onboardingCreateTemplate: \"\".concat(baseUrl, \"ndse/onboarding-create-template.svg\"),\n onboardingProfilePhoto: \"\".concat(baseUrl, \"ndse/onboarding-profile-photo.svg\"),\n onboardingSend: \"\".concat(baseUrl, \"ndse/onboarding-send.svg\"),\n onboardingSignDoc: \"\".concat(baseUrl, \"ndse/onboarding-sign-doc.svg\"),\n onboardingSignUp: \"\".concat(baseUrl, \"ndse/onboarding-sign-up.svg\"),\n onboardingSignYourDoc: \"\".concat(baseUrl, \"ndse/onboarding-sign-your-doc.svg\"),\n paymentDescriptionHint: \"\".concat(baseUrl, \"ndse/payment-description-hint.svg\"),\n reLogoCar: \"\".concat(baseUrl, \"ndse/reLogoCar.svg\"),\n reLogoGar: \"\".concat(baseUrl, \"ndse/reLogoGar.png\"),\n reLogoNar: \"\".concat(baseUrl, \"ndse/reLogoNAR.svg\"),\n reLogoNwmls: \"\".concat(baseUrl, \"ndse/reLogoNWMLS.png\"),\n responsiveSigning: \"\".concat(baseUrl, \"ndse/responsive-signing.gif\"),\n sigPlaceholder: \"\".concat(baseUrl, \"ndse/sig-placeholder.svg\"),\n strikethrough: \"\".concat(baseUrl, \"ndse/strikethrough.gif\"),\n successBgShapes: \"\".concat(baseUrl, \"ndse/success-bg-shapes.svg\"),\n success: \"\".concat(baseUrl, \"ndse/success.png\"),\n welcomeAddDocument: \"\".concat(baseUrl, \"ndse/welcome_add_document.svg\"),\n welcomeArrow: \"\".concat(baseUrl, \"ndse/welcome_arrow.svg\"),\n welcomeGetSignatures: \"\".concat(baseUrl, \"ndse/welcome_get_signatures.svg\"),\n welcomeShareAndManage: \"\".concat(baseUrl, \"ndse/welcome_share_and_manage.svg\"),\n newFavicon: \"\".concat(baseUrl, \"new_favicon.png\"),\n paymentAmex: \"\".concat(baseUrl, \"payments/PaymentAmex.svg\"),\n paymentAth: \"\".concat(baseUrl, \"payments/PaymentAth.svg\"),\n paymentBccard: \"\".concat(baseUrl, \"payments/PaymentBccard.svg\"),\n paymentCartesBancaires: \"\".concat(baseUrl, \"payments/PaymentCartesBancaires.svg\"),\n paymentChinaUnionPay: \"\".concat(baseUrl, \"payments/PaymentChinaUnionPay.svg\"),\n paymentDinacard: \"\".concat(baseUrl, \"payments/PaymentDinacard.svg\"),\n paymentDinersClub: \"\".concat(baseUrl, \"payments/PaymentDinersClub.svg\"),\n paymentDiscover: \"\".concat(baseUrl, \"payments/PaymentDiscover.svg\"),\n paymentInterac: \"\".concat(baseUrl, \"payments/PaymentInterac.svg\"),\n paymentJcb: \"\".concat(baseUrl, \"payments/PaymentJcb.svg\"),\n paymentMaestro: \"\".concat(baseUrl, \"payments/PaymentMaestro.svg\"),\n paymentMastercard: \"\".concat(baseUrl, \"payments/PaymentMastercard.svg\"),\n paymentVisa: \"\".concat(baseUrl, \"payments/PaymentVisa.svg\"),\n personaAmyTempleton: \"\".concat(baseUrl, \"personas/persona-amy-templeton.png\"),\n personaArnoldMasterson: \"\".concat(baseUrl, \"personas/persona-arnold-masterson.png\"),\n personaBarbaraAgassi: \"\".concat(baseUrl, \"personas/persona-barbara-agassi.png\"),\n personaBrianMashiyama: \"\".concat(baseUrl, \"personas/persona-brian-mashiyama.png\"),\n personaCarlosSalvadores: \"\".concat(baseUrl, \"personas/persona-carlos-salvadores.png\"),\n personaCodyDwight: \"\".concat(baseUrl, \"personas/persona-cody-dwight.png\"),\n personaEricAlpert: \"\".concat(baseUrl, \"personas/persona-eric-alpert.png\"),\n personaFranzDeutsch: \"\".concat(baseUrl, \"personas/persona-franz-deutsch.png\"),\n personaIanConner: \"\".concat(baseUrl, \"personas/persona-ian-conner.png\"),\n personaIshaanUmed: \"\".concat(baseUrl, \"personas/persona-ishaan-umed.png\"),\n personaJoeColeman: \"\".concat(baseUrl, \"personas/persona-joe-coleman.png\"),\n personaKarenVincent: \"\".concat(baseUrl, \"personas/persona-karen-vincent.png\"),\n personaLawrenceConway: \"\".concat(baseUrl, \"personas/persona-lawrence-conway.png\"),\n personaMartinYang: \"\".concat(baseUrl, \"personas/persona-martin-yang.png\"),\n personaPaulaAdams: \"\".concat(baseUrl, \"personas/persona-paula-adams.png\"),\n personaRachelSimbell: \"\".concat(baseUrl, \"personas/persona-rachel-simbell.png\"),\n personaRonAndreas: \"\".concat(baseUrl, \"personas/persona-ron-andreas.png\"),\n personaSanjayIyer: \"\".concat(baseUrl, \"personas/persona-sanjay-iyer.png\"),\n personaSherylCeilmann: \"\".concat(baseUrl, \"personas/persona-sheryl-ceilmann.png\"),\n personaSophiaVilla: \"\".concat(baseUrl, \"personas/persona-sophia-villa.png\"),\n personaTamaraMargen: \"\".concat(baseUrl, \"personas/persona-tamara-margen.png\"),\n personaUmarAzad: \"\".concat(baseUrl, \"personas/persona-umar-azad.png\"),\n stepCompleteBlack: \"\".concat(baseUrl, \"progress-indicator/step-complete-black.png\"),\n stepCompleteBluedis: \"\".concat(baseUrl, \"progress-indicator/step-complete-bluedis.png\"),\n stepCompleteBluefun: \"\".concat(baseUrl, \"progress-indicator/step-complete-bluefun.png\"),\n stepCompleteGray6: \"\".concat(baseUrl, \"progress-indicator/step-complete-gray6.png\"),\n stepCompleteTurquoise: \"\".concat(baseUrl, \"progress-indicator/step-complete-turquoise.png\"),\n stepCompleteWhite: \"\".concat(baseUrl, \"progress-indicator/step-complete-white.png\"),\n stepComplete: \"\".concat(baseUrl, \"progress-indicator/step-complete.svg\"),\n stepIncompleteBlack: \"\".concat(baseUrl, \"progress-indicator/step-incomplete-black.png\"),\n stepIncompleteBluedis: \"\".concat(baseUrl, \"progress-indicator/step-incomplete-bluedis.png\"),\n stepIncompleteBluefun: \"\".concat(baseUrl, \"progress-indicator/step-incomplete-bluefun.png\"),\n stepIncompleteGray6: \"\".concat(baseUrl, \"progress-indicator/step-incomplete-gray6.png\"),\n stepIncompleteTurquoise: \"\".concat(baseUrl, \"progress-indicator/step-incomplete-turquoise.png\"),\n stepIncompleteWhite: \"\".concat(baseUrl, \"progress-indicator/step-incomplete-white.png\"),\n stepIncomplete: \"\".concat(baseUrl, \"progress-indicator/step-incomplete.svg\"),\n previewAllExpandedSection: \"\".concat(baseUrl, \"send-flow/previewAllExpandedSection.svg\"),\n previewOneExpandedSection: \"\".concat(baseUrl, \"send-flow/previewOneExpandedSection.svg\"),\n sigName: \"\".concat(baseUrl, \"sig-name.gif\"),\n tagApplied: \"\".concat(baseUrl, \"signing-tags/tag-applied.svg\"),\n tagAttachment: \"\".concat(baseUrl, \"tags/tag-attachment.svg\"),\n tagInitials: \"\".concat(baseUrl, \"signing-tags/tag-initials.svg\"),\n tagSignature: \"\".concat(baseUrl, \"signing-tags/tag-signature.svg\"),\n tagStampJp: \"\".concat(baseUrl, \"signing-tags/tag-stamp-jp.svg\"),\n tagStamp: \"\".concat(baseUrl, \"tags/tag-stamp.svg\"),\n taggerIcons: \"\".concat(baseUrl, \"tagger-icons.svg\"),\n deTagInitialsNew: \"\".concat(baseUrl, \"tags/de/de-tag-initials-new.svg\"),\n deTagInitials: \"\".concat(baseUrl, \"tags/de/de-tag-initials.svg\"),\n deTagSignatureNew: \"\".concat(baseUrl, \"tags/de/de-tag-signature-new.svg\"),\n deTagSignature: \"\".concat(baseUrl, \"tags/de/de-tag-signature.svg\"),\n enTagInitialsNew: \"\".concat(baseUrl, \"tags/en/en-tag-initials-new.svg\"),\n enTagInitials: \"\".concat(baseUrl, \"tags/en/en-tag-initials.svg\"),\n enTagSignatureNew: \"\".concat(baseUrl, \"tags/en/en-tag-signature-new.svg\"),\n enTagSignature: \"\".concat(baseUrl, \"tags/en/en-tag-signature.svg\"),\n esTagInitialsNew: \"\".concat(baseUrl, \"tags/es/es-tag-initials-new.svg\"),\n esTagInitials: \"\".concat(baseUrl, \"tags/es/es-tag-initials.svg\"),\n esTagSignatureNew: \"\".concat(baseUrl, \"tags/es/es-tag-signature-new.svg\"),\n esTagSignature: \"\".concat(baseUrl, \"tags/es/es-tag-signature.svg\"),\n frTagInitialsNew: \"\".concat(baseUrl, \"tags/fr/fr-tag-initials-new.svg\"),\n frTagInitials: \"\".concat(baseUrl, \"tags/fr/fr-tag-initials.svg\"),\n frTagSignatureNew: \"\".concat(baseUrl, \"tags/fr/fr-tag-signature-new.svg\"),\n frTagSignature: \"\".concat(baseUrl, \"tags/fr/fr-tag-signature.svg\"),\n itTagInitialsNew: \"\".concat(baseUrl, \"tags/it/it-tag-initials-new.svg\"),\n itTagInitials: \"\".concat(baseUrl, \"tags/it/it-tag-initials.svg\"),\n itTagSignatureNew: \"\".concat(baseUrl, \"tags/it/it-tag-signature-new.svg\"),\n itTagSignature: \"\".concat(baseUrl, \"tags/it/it-tag-signature.svg\"),\n jaTagInitialsNew: \"\".concat(baseUrl, \"tags/ja/ja-tag-initials-new.svg\"),\n jaTagInitials: \"\".concat(baseUrl, \"tags/ja/ja-tag-initials.svg\"),\n jaTagSignatureNew: \"\".concat(baseUrl, \"tags/ja/ja-tag-signature-new.svg\"),\n jaTagSignature: \"\".concat(baseUrl, \"tags/ja/ja-tag-signature.svg\"),\n koTagInitialsNew: \"\".concat(baseUrl, \"tags/ko/ko-tag-initials-new.svg\"),\n koTagInitials: \"\".concat(baseUrl, \"tags/ko/ko-tag-initials.svg\"),\n koTagSignatureNew: \"\".concat(baseUrl, \"tags/ko/ko-tag-signature-new.svg\"),\n koTagSignature: \"\".concat(baseUrl, \"tags/ko/ko-tag-signature.svg\"),\n nlTagInitialsNew: \"\".concat(baseUrl, \"tags/nl/nl-tag-initials-new.svg\"),\n nlTagInitials: \"\".concat(baseUrl, \"tags/nl/nl-tag-initials.svg\"),\n nlTagSignatureNew: \"\".concat(baseUrl, \"tags/nl/nl-tag-signature-new.svg\"),\n nlTagSignature: \"\".concat(baseUrl, \"tags/nl/nl-tag-signature.svg\"),\n plTagInitialsNew: \"\".concat(baseUrl, \"tags/pl/pl-tag-initials-new.svg\"),\n plTagInitials: \"\".concat(baseUrl, \"tags/pl/pl-tag-initials.svg\"),\n plTagSignatureNew: \"\".concat(baseUrl, \"tags/pl/pl-tag-signature-new.svg\"),\n plTagSignature: \"\".concat(baseUrl, \"tags/pl/pl-tag-signature.svg\"),\n ptTagInitialsNew: \"\".concat(baseUrl, \"tags/pt/pt-tag-initials-new.svg\"),\n ptTagInitials: \"\".concat(baseUrl, \"tags/pt/pt-tag-initials.svg\"),\n ptTagSignatureNew: \"\".concat(baseUrl, \"tags/pt/pt-tag-signature-new.svg\"),\n ptTagSignature: \"\".concat(baseUrl, \"tags/pt/pt-tag-signature.svg\"),\n ptBrTagInitialsNew: \"\".concat(baseUrl, \"tags/pt_BR/pt_BR-tag-initials-new.svg\"),\n ptBrTagInitials: \"\".concat(baseUrl, \"tags/pt_BR/pt_BR-tag-initials.svg\"),\n ptBrTagSignatureNew: \"\".concat(baseUrl, \"tags/pt_BR/pt_BR-tag-signature-new.svg\"),\n ptBrTagSignature: \"\".concat(baseUrl, \"tags/pt_BR/pt_BR-tag-signature.svg\"),\n ruTagInitialsNew: \"\".concat(baseUrl, \"tags/ru/ru-tag-initials-new.svg\"),\n ruTagInitials: \"\".concat(baseUrl, \"tags/ru/ru-tag-initials.svg\"),\n ruTagSignatureNew: \"\".concat(baseUrl, \"tags/ru/ru-tag-signature-new.svg\"),\n ruTagSignature: \"\".concat(baseUrl, \"tags/ru/ru-tag-signature.svg\"),\n tagHanko: \"\".concat(baseUrl, \"tags/tag-hanko.svg\"),\n zhCnTagInitialsNew: \"\".concat(baseUrl, \"tags/zh_CN/zh_CN-tag-initials-new.svg\"),\n zhCnTagInitials: \"\".concat(baseUrl, \"tags/zh_CN/zh_CN-tag-initials.svg\"),\n zhCnTagSignatureNew: \"\".concat(baseUrl, \"tags/zh_CN/zh_CN-tag-signature-new.svg\"),\n zhCnTagSignature: \"\".concat(baseUrl, \"tags/zh_CN/zh_CN-tag-signature.svg\"),\n zhTwTagInitialsNew: \"\".concat(baseUrl, \"tags/zh_TW/zh_TW-tag-initials-new.svg\"),\n zhTwTagInitials: \"\".concat(baseUrl, \"tags/zh_TW/zh_TW-tag-initials.svg\"),\n zhTwTagSignatureNew: \"\".concat(baseUrl, \"tags/zh_TW/zh_TW-tag-signature-new.svg\"),\n zhTwTagSignature: \"\".concat(baseUrl, \"tags/zh_TW/zh_TW-tag-signature.svg\"),\n tags: \"\".concat(baseUrl, \"tags.svg\"),\n applePay: \"\".concat(baseUrl, \"vendor/apple-pay.svg\"),\n paypal: \"\".concat(baseUrl, \"vendor/paypal.svg\"),\n stripe: \"\".concat(baseUrl, \"vendor/stripe.png\"),\n brandingFwGrey: \"\".concat(baseUrl, \"video-thumbnails/branding_fw_grey.png\"),\n brandingFwHover: \"\".concat(baseUrl, \"video-thumbnails/branding_fw_hover.png\"),\n bulksendFwGrey: \"\".concat(baseUrl, \"video-thumbnails/bulksend_fw_grey.png\"),\n bulksendFwHover: \"\".concat(baseUrl, \"video-thumbnails/bulksend_fw_hover.png\"),\n powerformFwGrey: \"\".concat(baseUrl, \"video-thumbnails/powerform_fw_grey.png\"),\n powerformFwHover: \"\".concat(baseUrl, \"video-thumbnails/powerform_fw_hover.png\"),\n sendHowToBulksend: \"\".concat(baseUrl, \"video-thumbnails/send_how_to_bulksend.png\"),\n templateFwGrey: \"\".concat(baseUrl, \"video-thumbnails/template_fw_grey.png\"),\n templateFwHover: \"\".concat(baseUrl, \"video-thumbnails/template_fw_hover.png\")\n };\n});","import _sliceInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/slice\";\nimport _Object$freeze from \"@babel/runtime-corejs3/core-js/object/freeze\";\nimport _Object$defineProperties from \"@babel/runtime-corejs3/core-js/object/define-properties\";\nexport default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = _sliceInstanceProperty(strings).call(strings, 0);\n }\n\n return _Object$freeze(_Object$defineProperties(strings, {\n raw: {\n value: _Object$freeze(raw)\n }\n }));\n}","module.exports = require(\"core-js-pure/features/object/create\");","module.exports = require(\"core-js-pure/features/object/set-prototype-of\");","import _Reflect$construct from \"@babel/runtime-corejs3/core-js/reflect/construct\";\nexport default function _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 Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","module.exports = require(\"core-js-pure/stable/instance/trim\");","import * as React from 'react'\nimport { Icon } from '@ds/ui'\nimport { isUpArrow, isDownArrow, useEventListener } from '@ds/react-utils'\nimport { Locale } from '@ds/base'\nimport { LocaleDescription } from './types'\nimport styles from './styles'\n\nexport interface FooterLanguageSelectorPhoneMenuProps {\n localeDescriptions: LocaleDescription[]\n currentLocale: Locale\n onLocaleSelected: (locale: Locale) => void\n}\n\nexport const FooterLanguageSelectorPhoneMenu: React.FunctionComponent<FooterLanguageSelectorPhoneMenuProps> =\n (props) => {\n const buttonsContainer = React.useRef<HTMLUListElement>(null)\n const currentFocusOrdinalRef = React.useRef<number>(0)\n const buttonsRef = React.useRef<HTMLButtonElement[]>([])\n\n React.useEffect(() => {\n buttonsRef.current = Array.from(\n buttonsContainer.current!.querySelectorAll('button')\n )\n if (buttonsRef.current.length > 0) {\n buttonsRef.current[currentFocusOrdinalRef.current].focus()\n }\n })\n\n useEventListener(\n 'keydown',\n (event) => handleKeydown(event as KeyboardEvent),\n document\n )\n\n return (\n <ul\n css={styles.footerPhoneLanguageSelectorContainerCSS}\n ref={buttonsContainer}\n >\n {props.localeDescriptions.map((localeDesc, index) => (\n <LocaleDescriptionRow\n localeDescription={localeDesc}\n isSelected={localeDesc.locale === props.currentLocale}\n onClick={(locale: Locale) => props.onLocaleSelected(locale)}\n key={localeDesc.locale}\n ordinal={index}\n />\n ))}\n </ul>\n )\n\n function handleKeydown(event: KeyboardEvent) {\n if (isUpArrow(event)) {\n handleUpDownPress(true, event)\n } else if (isDownArrow(event)) {\n handleUpDownPress(false, event)\n }\n }\n\n function handleUpDownPress(isUp: boolean, event: KeyboardEvent) {\n event.preventDefault()\n if (buttonsRef.current.length > 1) {\n const currentOrdinal = currentFocusOrdinalRef.current\n if (isUp) {\n currentFocusOrdinalRef.current =\n currentOrdinal === 0\n ? buttonsRef.current.length - 1\n : currentOrdinal - 1\n } else {\n currentFocusOrdinalRef.current =\n currentOrdinal === buttonsRef.current.length - 1\n ? 0\n : currentOrdinal + 1\n }\n buttonsRef.current[currentFocusOrdinalRef.current].focus()\n }\n }\n }\n\nconst LocaleDescriptionRow: React.FunctionComponent<{\n localeDescription: LocaleDescription\n isSelected: boolean\n onClick: (locale: Locale) => void\n ordinal: number\n}> = (props) => {\n return (\n <li>\n <button\n type=\"button\"\n data-ordinal={props.ordinal}\n css={styles.footerPhoneLanguageSelectorRowCSS}\n data-qa={'language-selection-' + props.localeDescription.locale}\n onClick={() => props.onClick(props.localeDescription.locale)}\n aria-label={props.localeDescription.displayName}\n lang={props.localeDescription.locale}\n >\n <span css={{ width: 20, marginRight: 10 }}>\n {props.isSelected && <Icon kind=\"checkmark\" />}\n </span>\n <span>{props.localeDescription.displayName}</span>\n </button>\n </li>\n )\n}\n","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(round(x * dpr) / dpr) || 0,\n y: round(round(y * dpr) / dpr) || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top) {\n sideY = bottom; // $FlowFixMe[prop-missing]\n\n y -= offsetParent[heightProp] - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right; // $FlowFixMe[prop-missing]\n\n x -= offsetParent[widthProp] - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","module.exports = require(\"core-js-pure/stable/instance/find\");","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import { useReducer } from 'react';\n/**\n * Returns a function that triggers a component update. the hook equivalent to\n * `this.forceUpdate()` in a class component. In most cases using a state value directly\n * is preferable but may be required in some advanced usages of refs for interop or\n * when direct DOM manipulation is required.\n *\n * ```ts\n * const forceUpdate = useForceUpdate();\n *\n * const updateOnClick = useCallback(() => {\n * forceUpdate()\n * }, [forceUpdate])\n *\n * return <button type=\"button\" onClick={updateOnClick}>Hi there</button>\n * ```\n */\n\nexport default function useForceUpdate() {\n // The toggling state value is designed to defeat React optimizations for skipping\n // updates when they are stricting equal to the last state value\n var _useReducer = useReducer(function (state) {\n return !state;\n }, false),\n dispatch = _useReducer[1];\n\n return dispatch;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"variant\", \"size\", \"active\", \"className\", \"block\", \"type\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport SafeAnchor from './SafeAnchor';\nvar defaultProps = {\n variant: 'primary',\n active: false,\n disabled: false\n};\nvar Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n variant = _ref.variant,\n size = _ref.size,\n active = _ref.active,\n className = _ref.className,\n block = _ref.block,\n type = _ref.type,\n as = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'btn');\n var classes = classNames(className, prefix, active && 'active', variant && prefix + \"-\" + variant, block && prefix + \"-block\", size && prefix + \"-\" + size);\n\n if (props.href) {\n return /*#__PURE__*/React.createElement(SafeAnchor, _extends({}, props, {\n as: as,\n ref: ref,\n className: classNames(classes, props.disabled && 'disabled')\n }));\n }\n\n if (ref) {\n props.ref = ref;\n }\n\n if (type) {\n props.type = type;\n } else if (!as) {\n props.type = 'button';\n }\n\n var Component = as || 'button';\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n className: classes\n }));\n});\nButton.displayName = 'Button';\nButton.defaultProps = defaultProps;\nexport default Button;","import unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default () =>\n ({\n placeholder: {\n avatar: {\n '& > svg': {\n borderRadius: 0,\n height: '50%',\n width: '50%',\n },\n },\n },\n } as const)\n","import { Tokens } from '../../../types'\nimport { isIE11 } from '../../../../styles'\nimport { breakpoints } from '../../../../utilities'\n\nconst ieMediaQueryVerticalFix = {\n [isIE11]: {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n} as const\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n const ButtonSize = {\n ...tokens.typography.button,\n minHeight: tokens.button.defaultSize,\n minWidth: '80px',\n padding: '4px 15px',\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n minHeight: tokens.button.mobileSize,\n },\n } as const\n\n return {\n Button: {\n default: {\n borderRadius: '2px',\n fontFamily: tokens.font.body,\n letterSpacing: 'normal',\n textTransform: 'none',\n\n '&:disabled, &:disabled:hover': {\n opacity: 0.25,\n },\n\n ...ieMediaQueryVerticalFix,\n },\n\n sizeSmall: ButtonSize,\n\n sizeMedium: ButtonSize,\n\n sizeLarge: ButtonSize,\n\n sizeXlarge: ButtonSize,\n },\n\n menuTrigger: {\n paddingRight: '12px',\n },\n\n caret: {\n marginLeft: '12px',\n },\n\n hideText: {\n minWidth: 'inherit',\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n padding: '11px',\n },\n },\n\n Icon: {\n default: {\n ...ieMediaQueryVerticalFix,\n },\n\n beforeText: {\n marginLeft: 0,\n marginRight: '8px',\n },\n\n afterText: {\n marginLeft: '8px',\n marginRight: 0,\n },\n\n hideText: {\n padding: '7px',\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n padding: 0,\n },\n },\n },\n\n iconButton: {\n beforeText: {\n padding: '7px 15px 7px 11px',\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n padding: '11px 15px 11px 11px',\n },\n },\n\n afterText: {\n padding: '7px 11px 7px 15px',\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n padding: '11px 11px 11px 15px',\n },\n },\n },\n\n pill: {\n borderRadius: '24px',\n },\n } as const\n}\n","import { Tokens } from '../../../types'\nimport { CreateFocusCss } from '../../../../styles'\n\n// These focus styles are used here and in RadioButton\nexport const sharedInkCheckboxRadioFocusStyles = {\n height: '22px',\n left: '1px',\n top: '9px',\n width: '22px',\n} as const\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n default: {\n input: {\n ...CreateFocusCss(\n {\n ...sharedInkCheckboxRadioFocusStyles,\n },\n (psuedoClass) => `${psuedoClass} + label .focusStyles::after`\n ),\n },\n\n label: {\n minHeight: '32px',\n paddingTop: '8px',\n paddingBottom: '8px',\n\n '::before': {\n borderWidth: '2px',\n margin: '2px',\n },\n\n '&::after': {\n background: '0 0',\n left: '6px',\n top: '16px',\n },\n\n '& > span': {\n '&::before': {\n height: '26px',\n left: '-1px',\n width: '26px',\n top: '7px',\n transitionDuration: '0.1s',\n },\n },\n\n '&:hover': {\n '&::before': {\n borderColor: tokens.form.hoverBorderColor,\n },\n\n '& > span': {\n '&::before': {\n borderColor: tokens.selectionControl.defaultHoverShadowColor,\n borderWidth: '7px',\n content: '\"\"',\n height: '32px',\n left: '-4px',\n top: '4px',\n width: '32px',\n },\n },\n },\n\n 'input:checked + &::before, input:indeterminate + &::before': {\n backgroundColor: tokens.selectionControl.selectedFillColor,\n borderColor: tokens.selectionControl.selectedFillColor,\n },\n\n 'input:checked + &::after, input:indeterminate + &::after': {\n borderBottomColor: tokens.form.defaultBackgroundColor,\n borderLeftColor: tokens.form.defaultBackgroundColor,\n },\n\n 'input:checked:hover + &::before, input:indeterminate:hover + &::before':\n {\n backgroundColor: tokens.selectionControl.selectedHoverFillColor,\n borderColor: tokens.selectionControl.selectedHoverFillColor,\n },\n\n 'input:checked:active + &::before, input:indeterminate:active + &::before':\n {\n backgroundColor: tokens.selectionControl.selectedActiveFillColor,\n borderColor: tokens.selectionControl.selectedActiveFillColor,\n },\n\n 'input:checked:disabled + &::before, input:checked:disabled + &::after':\n {\n backgroundColor: tokens.selectionControl.selectedFillColor,\n },\n\n 'input:active + &::before': {\n borderColor: tokens.form.hoverBorderColor,\n },\n\n 'input:indeterminate + &::after': {\n left: '5px',\n top: '19px',\n width: '14px',\n },\n },\n\n text: {\n paddingLeft: '8px',\n },\n\n description: {\n margin: '0 0 0 32px',\n },\n },\n\n beforeText: {\n icon: {\n marginRight: '8px',\n },\n },\n\n invalid: {\n label: {\n '&::before': {\n borderColor: `${tokens.form.errorBorderColor} !important`,\n },\n\n 'input:checked + &::before, input:indeterminate + &::before': {\n backgroundColor: `${tokens.form.errorBorderColor} !important`,\n },\n\n 'input:checked + &::after, input:indeterminate + &::after': {\n borderColor: tokens.form.defaultBackgroundColor,\n },\n },\n },\n } as const\n}\n","import colors from '../colors'\nimport { breakpoints } from '../../../../utilities'\nimport { Tokens } from '../../../types'\nimport { isIE11 } from '../../../../styles'\n\nconst getBorderImage = (hex: string) =>\n `url(\"data:image/svg+xml,<svg width='40' height='42' viewBox='0 0 42 44' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='1' y='1' width='40' height='42' rx='3' stroke='%23${hex}' stroke-opacity='0.9' stroke-width='2' stroke-dasharray='12 8' stroke-dashoffset='-10.5' /></svg>\") 2 round`.replace(\n '#',\n ''\n )\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n default: {\n wrap: {\n borderRadius: '4px',\n },\n\n content: {\n borderWidth: '2px',\n borderStyle: 'solid',\n borderImage: getBorderImage(colors.semanticNeutral[70]),\n borderRadius: '4px',\n backgroundColor: colors.semanticWhite[100],\n padding: '48px',\n ...tokens.typography.bodyMedium,\n fontFamily: tokens.font.body,\n [breakpoints.lessThan(breakpoints.Sizes.ExtraSmall)]: {\n padding: '24px',\n },\n '&:hover': {\n backgroundColor: colors.semanticNeutral.fade[5],\n borderImage: getBorderImage(colors.semanticNeutral[100]),\n },\n\n [isIE11]: {\n borderImage: 'none',\n border: `2px dashed ${colors.semanticNeutral[70]}`,\n },\n },\n\n imageWrap: {\n margin: '0 auto 12px auto',\n },\n\n icon: {\n '& path': {\n fill: colors.semanticNeutral[60],\n },\n },\n\n text: {\n ...tokens.typography.headingExtraSmall,\n fontFamily: tokens.font.heading,\n },\n },\n\n action: {\n order: 3,\n },\n\n disabled: {\n content: {\n backgroundColor: colors.semanticWhite[100],\n borderImage: getBorderImage(colors.semanticNeutral[20]),\n '&:hover': {\n cursor: 'not-allowed',\n borderImage: getBorderImage(colors.semanticNeutral[20]),\n backgroundColor: colors.semanticWhite[100],\n },\n [isIE11]: {\n borderImage: 'none',\n border: `2px dashed ${colors.semanticNeutral[100]}`,\n },\n },\n\n text: {\n color: colors.semanticNeutral[30],\n },\n\n optionalText: {\n color: colors.semanticNeutral[20],\n },\n\n icon: {\n '& path': {\n fill: colors.semanticNeutral[20],\n },\n },\n },\n\n dragging: {\n content: {\n backgroundColor: colors.semanticNeutral.fade[10],\n borderImage: getBorderImage(colors.semanticNeutral[100]),\n\n '&:hover': {\n backgroundColor: colors.semanticNeutral.fade[10],\n borderImage: getBorderImage(colors.semanticNeutral[100]),\n },\n [isIE11]: {\n borderImage: 'none',\n border: `2px dashed ${colors.semanticNeutral[10]}`,\n },\n },\n },\n\n backdrop: {\n wrap: {\n backgroundColor: colors.semanticWhite[100],\n },\n },\n\n optionalText: {\n color: colors.semanticNeutral[60],\n fontSize: '16px',\n order: 2,\n marginTop: '8px',\n },\n } as const\n}\n","import { breakpoints } from '../../../../utilities'\n\nconst triggerWidth = '32px'\n\nexport default () =>\n ({\n default: {\n wrap: {\n '&::after': {\n right: '15px',\n },\n },\n select: {\n height: '40px',\n padding: `0 ${triggerWidth} 0 16px`,\n MozPaddingStart: '8px',\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n height: '48px',\n },\n },\n },\n caret: {\n marginLeft: `-${triggerWidth}`,\n width: triggerWidth,\n },\n } as const)\n","import colors from '../colors'\n\nconst TOAST_WRAP = {\n backgroundColor: colors.semanticNeutral[100],\n border: `1px solid ${colors.semanticNeutral[50]}`,\n color: colors.semanticWhite[100],\n} as const\n\nexport default () =>\n ({\n default: {\n wrap: {\n borderRadius: '4px',\n maxWidth: '440px',\n minWidth: '144px',\n padding: '24px',\n width: 'auto',\n },\n\n action: {\n margin: '8px 0 0 -16px',\n },\n\n startElement: {\n marginRight: '16px',\n },\n\n closeButton: {\n margin: '-8px -8px -8px 24px',\n },\n },\n\n information: {\n wrap: TOAST_WRAP,\n icon: {\n color: colors.semanticWhite.fade[90],\n },\n },\n\n warning: {\n wrap: TOAST_WRAP,\n },\n\n success: {\n wrap: TOAST_WRAP,\n iconKind: 'pebbleCheck',\n },\n\n danger: {\n wrap: TOAST_WRAP,\n },\n\n loading: {\n wrap: TOAST_WRAP,\n },\n\n motionVariants: {\n toastWrap: {\n initial: {\n opacity: 0,\n },\n\n enter: (toastHeight: number) => ({\n y: [toastHeight, 0],\n opacity: 1,\n transition: {\n duration: 0.25,\n },\n }),\n\n exit: {\n opacity: 0,\n transition: {\n when: 'beforeChildren',\n duration: 0.25,\n ease: 'harmonize',\n },\n },\n },\n\n toastInner: {\n exit: (toastHeight: number) => ({\n height: [toastHeight, 0],\n padding: [24, 0],\n margin: [16, 0],\n transition: {\n duration: 0.25,\n },\n }),\n },\n },\n } as const)\n","import { breakpoints } from '../../../../utilities'\nimport { Tokens } from '../../../types'\nimport colors from '../colors'\nimport { TreeProps } from '../../../../components/Tree'\n\nconst TreeDisclosure = {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n} as const\n\nexport default (config: { props: TreeProps; tokens: Tokens }) => {\n const { props, tokens } = config\n\n const TreeActionButton = {\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n flex: '0 0 2.5rem',\n alignItems: 'center',\n\n height: tokens.button.defaultSize,\n width: tokens.button.defaultSize,\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n height: tokens.button.mobileSize,\n width: tokens.button.mobileSize,\n },\n } as const\n\n const TreeRow = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n fontSize: '16px',\n padding: '0 .5rem 0 .5rem',\n position: 'relative',\n userSelect: 'none',\n\n height: tokens.button.defaultSize,\n lineHeight: tokens.button.defaultSize,\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n height: tokens.button.mobileSize,\n lineHeight: tokens.button.mobileSize,\n },\n\n '&:hover': {\n border: `1px solid ${colors.semanticNeutral.fade[60]}`,\n },\n } as const\n\n return {\n TreeHeader: {\n ...TreeRow,\n border: '1px solid transparent',\n\n '& button': {\n opacity: 0,\n },\n\n '&:hover button': {\n opacity: 1,\n },\n },\n\n TreeHeaderTitle: {\n background: 'transparent',\n fontSize: '12px',\n letterSpacing: 0.8,\n lineHeight: '18px',\n flexGrow: 1,\n margin: 0,\n overflow: 'hidden',\n textTransform: 'uppercase',\n whiteSpace: 'nowrap',\n cursor: props?.onToggle ? 'pointer' : undefined,\n },\n\n TreeHeaderTitleButton: {\n background: 'transparent',\n cursor: 'pointer',\n display: 'flex',\n margin: 0,\n paddingLeft: 0,\n flexGrow: 1,\n textAlign: 'left',\n fontWeight: 700,\n fontSize: '13px',\n },\n\n TreeItem: {\n ...TreeRow,\n\n border: '1px solid transparent',\n\n '&:active': {\n background: colors.semanticNeutral.fade[20],\n },\n\n '& > div > button': {\n opacity: 0,\n },\n\n '&:hover > div > button': {\n opacity: 1,\n },\n },\n\n TreeItemSelected: {\n background: colors.semanticNeutral.fade[10],\n fontWeight: 600,\n\n '&::before': {\n zIndex: -1,\n },\n\n '& + ul li > div': {\n background: colors.semanticNeutral.fade[5],\n },\n },\n\n TreeItemElement: {\n height: '2.5rem',\n padding: 0,\n position: 'relative',\n },\n\n TreeItemIcon: {\n display: 'flex',\n flexShrink: 0,\n marginRight: '.5rem',\n width: '1.5rem',\n alignItems: 'center',\n justifyContent: 'center',\n },\n\n TreeHeaderDisclosure: {\n ...TreeDisclosure,\n width: '1.5rem',\n top: '1px',\n },\n\n TreeItemDisclosure: {\n ...TreeDisclosure,\n width: '1.5rem',\n position: 'relative',\n zIndex: 1,\n\n svg: {\n fill: colors.semanticNeutral.fade[60],\n },\n\n '&:hover': {\n background: 'none',\n },\n },\n\n TreeDisclosureWrap: {\n marginRight: '.5rem',\n flex: '0 0 24px',\n\n '&:empty': {\n flex: '0 0 8px',\n },\n },\n\n TreeHeaderActionButton: TreeActionButton,\n\n TreeItemActionButton: {\n marginLeft: '.5rem',\n },\n\n TreeChildren: {\n margin: 0,\n padding: 0,\n },\n\n TreeButton: {\n color: colors.semanticNeutral.fade[90],\n background: 'transparent',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 0,\n\n height: tokens.button.defaultSize,\n width: tokens.button.defaultSize,\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n height: tokens.button.mobileSize,\n width: tokens.button.mobileSize,\n },\n\n svg: {\n fill: colors.semanticNeutral.fade[60],\n },\n\n '&:hover': {\n background: colors.semanticNeutral.fade[5],\n },\n },\n\n TreeDisclosureButton: {\n '&:hover': {\n background: 'none',\n },\n },\n } as const\n}\n","import Avatar from './Avatar'\nimport AvatarGroup from './AvatarGroup'\nimport BaseCallout from './BaseCallout'\nimport BaseStepperItem from './BaseStepperItem'\nimport Button from './Button'\nimport Callout from './Callout'\nimport Checkbox from './Checkbox'\nimport DotBadge from './DotBadge'\nimport EmptyState from './EmptyState'\nimport FileDrop from './FileDrop'\nimport GlobalBaseCss from './GlobalBaseCss'\nimport GlobalMessage from './GlobalMessage'\nimport Header from './Header'\nimport HeaderActionItem from './HeaderActionItem'\nimport HeaderLogo from './HeaderLogo'\nimport InlineMessage from './InlineMessage'\nimport InputRangeSlider from './InputRangeSlider'\nimport InputRequiredAsterisk from './InputRequiredAsterisk'\nimport InputTextArea from './InputTextArea'\nimport InputTextBox from './InputTextBox'\nimport Link from './Link'\nimport Menu from './Menu'\nimport MenuContainer from './MenuContainer'\nimport MenuGroup from './MenuGroup'\nimport MenuItem from './MenuItem'\nimport Meter from './Meter'\nimport { ModalBase, ModalBody, ModalFooter, ModalHeader } from './Modal'\nimport Overlay from './Overlay'\nimport OverlayAction from './OverlayAction'\nimport PopoverFooter from './PopoverFooter'\nimport ProgressBar from './ProgressBar'\nimport ProgressCircle from './ProgressCircle'\nimport ProgressCircleIndeterminate from './ProgressCircleIndeterminate'\nimport RadioButton from './RadioButton'\nimport RangeSlider from './RangeSlider'\nimport Select from './Select'\nimport SelectMenuBox from './SelectMenuBox'\nimport SelectMenuCustomOption from './SelectMenuCustomOption'\nimport Slider from './Slider'\nimport StatusLight from './StatusLight'\nimport Switch from './Switch'\nimport {\n Table,\n TableCell,\n TableHeader,\n TableHeaderCell,\n TableRow,\n} from './Table'\nimport { Tabs, TabsPanel, TabsTab } from './Tabs'\nimport Tag from './Tag'\nimport TextBox from './TextBox'\nimport Timeline from './Timeline'\nimport ToastMessage from './ToastMessage'\nimport ToastMessageAction from './ToastMessageAction'\nimport ToolbarDropdownInput from './ToolbarDropdownInput'\nimport Tooltip from './Tooltip'\nimport Tree from './Tree'\nimport WorkflowStepperItem from './WorkflowStepperItem'\n\nexport default {\n Avatar,\n AvatarGroup,\n BaseCallout,\n BaseStepperItem,\n Button,\n Callout,\n Checkbox,\n DotBadge,\n EmptyState,\n FileDrop,\n GlobalBaseCss,\n GlobalMessage,\n Header,\n HeaderActionItem,\n HeaderLogo,\n InlineMessage,\n InputRangeSlider,\n InputRequiredAsterisk,\n InputTextArea,\n InputTextBox,\n Link,\n Menu,\n MenuContainer,\n MenuGroup,\n MenuItem,\n Meter,\n ModalBase,\n ModalBody,\n ModalFooter,\n ModalHeader,\n Overlay,\n OverlayAction,\n PopoverFooter,\n ProgressBar,\n ProgressCircle,\n ProgressCircleIndeterminate,\n RadioButton,\n RangeSlider,\n Select,\n SelectMenuBox,\n SelectMenuCustomOption,\n Slider,\n StatusLight,\n Switch,\n Table,\n TableCell,\n TableHeader,\n TableHeaderCell,\n TableRow,\n Tabs,\n TabsPanel,\n TabsTab,\n Tag,\n TextBox,\n Timeline,\n ToastMessage,\n ToastMessageAction,\n ToolbarDropdownInput,\n Tooltip,\n Tree,\n WorkflowStepperItem,\n} as const\n","import { Tokens } from '../../../types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n hiddenAvatars: {\n fontSize: tokens.avatar.mediumFontSize,\n },\n },\n\n link: {\n wrap: {\n '&:hover': {\n span: {\n '& > *': {\n pointerEvents: 'none',\n },\n },\n },\n },\n },\n } as const\n}\n","import { isPhoneInLandscape } from '../../../../styles'\n\nexport default () =>\n ({\n default: {\n popover: {\n [isPhoneInLandscape]: {\n maxWidth: 'calc(100vw - 48px)',\n },\n },\n\n wrap: {\n minHeight: '88px',\n\n '&::before': {\n content: 'none',\n },\n\n '&::after': {\n content: 'none',\n },\n },\n },\n\n widthSmall: {\n maxWidth: '320px',\n },\n\n widthMedium: {\n maxWidth: '384px',\n },\n\n widthLarge: {\n maxWidth: '480px',\n },\n\n widthXlarge: {\n maxWidth: '640px',\n },\n\n preventOverflowArrow: {\n '&::before': {\n content: 'none',\n },\n\n '&::after': {\n content: 'none',\n },\n },\n } as const)\n","import { BaseStepperItemProps } from '../../../../internal/components/BaseStepper'\nimport colors from '../colors'\n\nexport default (config: { props: BaseStepperItemProps }) => {\n const { props } = config\n\n return {\n default: {\n wrap: {\n '&:not(:last-child)::after': {\n borderRightColor: props.isNextVisited\n ? colors.semanticNeutral.fade[90]\n : colors.semanticNeutral.fade[15],\n },\n },\n },\n } as const\n}\n","import { Tokens } from '../../../types'\nimport { isPhoneInLandscape } from '../../../../styles'\nimport { CalloutProps } from '../../../..'\n\nexport default (config: { props: CalloutProps; tokens: Tokens }) => {\n const { props, tokens } = config\n\n return {\n default: {\n wrap: {\n padding: props.noPadding ? '0px' : '32px',\n },\n\n header: {\n color: tokens.text.defaultColor,\n marginBottom: '16px',\n },\n\n footer: {\n margin: '32px 0 0 0',\n display: 'flex',\n justifyContent: 'flex-end',\n\n '& > button': {\n '&:first-of-type': {\n marginRight: '16px',\n\n [isPhoneInLandscape]: {\n marginBottom: '8px',\n marginRight: '0',\n },\n },\n },\n\n [isPhoneInLandscape]: {\n display: 'flex',\n flexDirection: 'column',\n },\n },\n },\n } as const\n}\n","import colors from '../colors'\n\nexport default () =>\n ({\n colorRed: {\n backgroundColor: colors.semanticCoolRed[60],\n },\n } as const)\n","import { breakpoints } from '../../../../utilities'\n\nexport default () =>\n ({\n default: {\n wrap: {\n maxWidth: '544px',\n paddingTop: '96px',\n\n [breakpoints.lessThan(breakpoints.Sizes.ExtraSmall)]: {\n paddingTop: '56px',\n },\n },\n\n content: {\n alignItems: 'flex-start',\n margin: '0',\n },\n\n header: {\n margin: '0 0 16px 0',\n },\n\n body: {\n margin: '0 0 40px 0',\n },\n\n cta: {\n margin: '0 0 8px 0',\n },\n\n footer: {\n marginTop: '0',\n },\n },\n } as const)\n","import tokens from '../tokens'\n\nexport default () =>\n ({\n html: {\n ...tokens.typography.bodyMedium,\n fontFamily: tokens.font.body,\n },\n\n body: {\n background: '#ffffff',\n color: tokens.text.defaultColor,\n fontFamily: tokens.font.body,\n },\n } as const)\n","import { breakpoints } from '../../../../utilities'\nimport colors from '../colors'\n\nexport default () =>\n ({\n default: {\n outerWrap: {\n color: colors.semanticWhite[100],\n minHeight: '56px',\n padding: '16px 80px',\n position: 'relative',\n\n [breakpoints.lessThan(breakpoints.Sizes.ExtraSmall)]: {\n padding: '16px',\n textAlign: 'left',\n },\n },\n\n children: {\n display: 'block',\n color: 'white',\n paddingRight: '32px',\n paddingLeft: '8px',\n },\n\n closeButton: {\n margin: '-8px -12px',\n right: '80px',\n top: '16px',\n\n [breakpoints.lessThan(breakpoints.Sizes.ExtraSmall)]: {\n right: '16px',\n },\n },\n\n icon: {\n display: 'inline-flex',\n },\n },\n\n danger: {\n outerWrap: {\n background: colors.semanticNeutral[100],\n },\n\n icon: {\n color: colors.semanticCoolRed[60],\n },\n },\n\n information: {\n outerWrap: {\n background: colors.semanticNeutral[100],\n },\n\n icon: {\n color: colors.semanticNeutral,\n },\n },\n\n neutral: {\n outerWrap: {\n backgroundColor: colors.semanticNeutral[100],\n },\n },\n\n promo: {\n outerWrap: {\n backgroundColor: colors.semanticBlue[60],\n },\n },\n\n success: {\n outerWrap: {\n backgroundColor: colors.semanticNeutral[100],\n },\n\n icon: {\n color: colors.semanticGreen[60],\n },\n },\n\n upgrade: {\n outerWrap: {\n backgroundColor: colors.semanticBlue[60],\n },\n },\n\n warning: {\n outerWrap: {\n backgroundColor: colors.semanticNeutral[100],\n },\n\n icon: {\n color: colors.extendedYellow[30],\n },\n },\n } as const)\n","import { Tokens } from '../../../types'\nimport colors from '../colors'\nimport { CreateFocusCss } from '../../../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n Header: {\n default: {\n backgroundColor: colors.semanticWhite[100],\n },\n\n wrap: {\n borderBottom: '1px solid #eaeaea',\n height: '64px',\n padding: '0 4px',\n },\n },\n\n Title: {\n default: {\n color: colors.semanticNeutral.fade[60],\n paddingRight: '15px',\n },\n\n leftVerticalSeparator: {\n borderLeftColor: colors.semanticNeutral.fade[45],\n },\n },\n\n Avatar: {\n default: {\n height: '64px',\n },\n\n wrap: {\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n backgroundColor: colors.semanticNeutral.fade[5],\n },\n\n ...CreateFocusCss(tokens.focus.inner),\n },\n },\n\n Nav: {\n '> li': {\n margin: 0,\n },\n },\n } as const\n}\n","import { Tokens } from '../../../types'\nimport colors from '../colors'\nimport { CreateFocusCss } from '../../../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n default: {\n wrap: {\n color: colors.semanticNeutral.fade[60],\n fontFamily: tokens.font.body,\n fontSize: '16px',\n fontWeight: 600,\n height: '64px',\n letterSpacing: 'normal',\n textTransform: 'initial',\n padding: '0 24px',\n\n '&::after': {\n bottom: 0,\n height: '3px',\n width: '100%',\n },\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n backgroundColor: colors.semanticNeutral.fade[5],\n color: colors.semanticNeutral.fade[90],\n\n '&::after': {\n backgroundColor: 'transparent',\n },\n\n svg: {\n color: colors.semanticNeutral.fade[90],\n },\n },\n\n ...CreateFocusCss(tokens.focus.inner),\n },\n\n icon: {\n 'svg, img': {\n width: '20px',\n height: '20px',\n },\n },\n\n badge: {\n right: '15px',\n top: '6px',\n },\n },\n\n selected: {\n wrap: {\n color: colors.semanticNeutral.fade[90],\n\n '&::after': {\n backgroundColor: colors.semanticNeutral[100],\n },\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n color: colors.semanticNeutral.fade[90],\n\n '&::after': {\n backgroundColor: colors.semanticNeutral[100],\n },\n },\n },\n },\n\n isIconOnly: {\n badge: {\n right: '7px',\n },\n },\n\n underlineOnHover: {\n wrap: {\n color: colors.semanticNeutral.fade[60],\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n backgroundColor: colors.semanticNeutral.fade[5],\n color: colors.semanticNeutral.fade[90],\n\n svg: {\n color: colors.semanticNeutral.fade[90],\n },\n\n '&::after': {\n backgroundColor: 'transparent',\n },\n },\n },\n },\n } as const\n}\n","import { Tokens } from '../../../types'\nimport colors from '../colors'\nimport { CreateFocusCss } from '../../../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n link: {\n paddingLeft: '12px',\n paddingTop: '3px',\n\n ...CreateFocusCss(tokens.focus.outer),\n },\n\n image: {\n width: '111px',\n\n svg: {\n fill: '#000000',\n },\n },\n\n text: {\n borderLeftColor: colors.semanticNeutral.fade[45],\n color: colors.semanticNeutral[100],\n fontFamily: tokens.font.body,\n fontSize: '16px',\n fontWeight: 500,\n height: '24px',\n lineHeight: '24px',\n marginLeft: '12px',\n paddingLeft: '12px',\n },\n } as const\n}\n","import colors from '../colors'\nimport { breakpoints } from '../../../../utilities'\nimport { Tokens } from '../../../types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n default: {\n wrap: {\n padding: '7px 16px 7px 24px',\n borderRadius: '4px',\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n padding: '3px 16px 3px 24px',\n },\n },\n\n icon: {\n marginRight: '16px',\n alignItems: 'center',\n display: 'flex',\n minHeight: tokens.button.defaultSize,\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n minHeight: tokens.button.mobileSize,\n },\n },\n\n content: {\n padding: '8px 0',\n minHeight: tokens.button.defaultSize,\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n padding: '12px 0',\n minHeight: tokens.button.mobileSize,\n },\n },\n\n action: {\n marginLeft: '24px',\n [breakpoints.lessThan(breakpoints.Sizes.ExtraSmall)]: {\n marginLeft: '-16px',\n },\n },\n\n closeButton: {\n marginLeft: '24px',\n alignItems: 'center',\n display: 'flex',\n minHeight: tokens.button.defaultSize,\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n minHeight: tokens.button.mobileSize,\n },\n },\n },\n\n information: {\n wrap: {\n background: colors.semanticNeutral[10],\n border: `1px solid ${colors.semanticNeutral[100]}`,\n },\n icon: {\n color: colors.semanticNeutral[60],\n },\n iconKind: 'pebbleInfo',\n },\n\n warning: {\n wrap: {\n background: colors.extendedYellow[10],\n border: `1px solid ${colors.extendedYellow[50]}`,\n },\n icon: {\n color: colors.extendedYellow[60],\n },\n iconKind: 'pebbleWarning',\n },\n\n success: {\n wrap: {\n background: colors.semanticGreen[10],\n border: `1px solid ${colors.semanticGreen[60]}`,\n },\n icon: {\n color: colors.semanticGreen[60],\n },\n iconKind: 'pebbleCheck',\n },\n\n danger: {\n wrap: {\n background: colors.semanticCoolRed[10],\n border: `1px solid ${colors.semanticCoolRed[60]}`,\n },\n icon: {\n color: colors.semanticCoolRed[60],\n },\n iconKind: 'pebbleError',\n },\n } as const\n}\n","import { CSSObject } from '@emotion/core'\nimport { Tokens } from '../../../types'\nimport colors from '../colors'\n\nexport default (config: { tokens: Tokens }): CSSObject => {\n const { tokens } = config\n\n return {\n default: {\n slider: {\n color: tokens.text.defaultColor,\n padding: '20px 0',\n\n ':disabled': {\n opacity: 0.25,\n },\n\n ':focus::-webkit-slider-thumb': {\n ...tokens.focus.outer,\n },\n\n ':focus::-moz-range-thumb': {\n ...tokens.focus.outer,\n },\n\n ':focus::-ms-thumb': {\n ...tokens.focus.outer,\n },\n\n '::-webkit-slider-runnable-track': {\n height: '2px',\n },\n\n '::-webkit-slider-thumb': {\n background: colors.semanticNeutral[90],\n border: 'none',\n height: '16px',\n marginTop: '-8px',\n width: '16px',\n },\n\n '::-moz-range-track': {\n background: tokens.bar.defaultTrackColor,\n height: '2px',\n },\n\n '::-moz-range-thumb': {\n background: colors.semanticNeutral[90],\n border: 'none',\n height: '16px',\n width: '16px',\n },\n\n '::-moz-range-progress': {\n background: colors.semanticNeutral[90],\n },\n\n '::-ms-track': {\n height: '2px',\n },\n\n '::-ms-fill-lower': {\n background: colors.semanticNeutral[90],\n },\n\n '::-ms-fill-upper': {\n background: colors.semanticNeutral[90],\n },\n\n '::-ms-thumb': {\n background: colors.semanticNeutral[90],\n border: 'none',\n height: '16px',\n width: '16px',\n },\n },\n },\n } as const\n}\n","export default () =>\n ({\n default: {\n asterisk: {\n fontWeight: 600,\n paddingLeft: '8px',\n },\n },\n } as const)\n","export default () =>\n ({\n default: {\n textarea: {\n padding: '8px 16px',\n },\n },\n } as const)\n","import { Tokens } from '../../../types'\nimport { breakpoints } from '../../../../utilities'\nimport { InputTextBoxProps } from '../../../../components/InputTextBox'\n\nexport default (config: { props: InputTextBoxProps; tokens: Tokens }) => {\n const { props, tokens } = config\n\n return {\n default: {\n wrapper: {\n maxHeight: '48px',\n },\n\n input: {\n paddingTop: '7px',\n paddingBottom: '7px',\n paddingLeft: props.leftElement ? 0 : '16px',\n paddingRight: props.rightElement ? 0 : '16px',\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n minHeight: tokens.button.mobileSize,\n },\n },\n },\n } as const\n}\n","export default () =>\n ({\n default: {\n link: {\n textDecoration: 'underline',\n\n '&:active': {\n textDecoration: 'underline',\n },\n },\n },\n\n discrete: {\n link: {\n textDecoration: 'none',\n },\n },\n } as const)\n","const menuMaxWidth = '304px'\n\nexport default () =>\n ({\n menuWidthHelper: {\n width: menuMaxWidth,\n },\n } as const)\n","export default () =>\n ({\n container: {\n maxWidth: '304px',\n minWidth: '168px',\n },\n } as const)\n","export default () =>\n ({\n default: {\n title: {\n marginTop: '16px',\n padding: '0 24px',\n },\n },\n } as const)\n","import { breakpoints } from '../../../../utilities'\n\nexport default () =>\n ({\n default: {\n content: {\n padding: '8px 24px',\n textTransform: 'none',\n minHeight: '40px',\n\n [breakpoints.lessThan(breakpoints.Sizes.ExtraSmall)]: {\n minHeight: '48px',\n },\n },\n\n startElement: {\n marginRight: '16px',\n },\n\n endElement: {\n '& svg': {\n height: '20px !important',\n width: '20px !important',\n },\n },\n\n contentWithEndElement: {\n padding: '8px 12px 8px 24px',\n },\n\n textWithoutIcon: {\n marginLeft: '40px',\n },\n\n badge: {\n top: '-12px',\n },\n },\n\n selectedOption: {\n iconWrap: {\n marginLeft: '-12px',\n marginRight: '12px',\n },\n },\n } as const)\n","export default () =>\n ({\n default: {\n textWrap: {\n marginBottom: '16px',\n },\n },\n } as const)\n","import { ModalBaseProps } from '../../../../components/Modal/ModalBase'\nimport { CreateFocusCss, isPhoneInLandscape } from '../../../../styles'\nimport { Tokens } from '../../../types'\nimport colors from '../colors'\n\nexport const ModalBase = (config: {\n props: ModalBaseProps\n tokens: Tokens\n}) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n boxShadow: tokens.elevation.highest,\n maxWidth: 'calc(100% - 96px)',\n minHeight: '256px',\n\n [isPhoneInLandscape]: {\n maxWidth: `calc(100% - ${tokens.modal.marginTopSmallScreen})`,\n },\n\n // This is an arbitrary media query based on height due to the ample whitespace that Ink provides in order to provide more space to show the entirety of the modal\n '@media screen and (max-height: 400px)': {\n marginTop: tokens.modal.marginTopSmallScreen,\n maxHeight: `calc(100vh - ${tokens.modal.marginTopSmallScreen} * 2)`,\n },\n },\n\n close: {\n right: '16px',\n top: '16px',\n\n '> button': {\n backgroundColor: 'rgba(255, 255, 255, 0.7)',\n borderRadius: '50%',\n },\n },\n\n modalBase: {\n minHeight: '254px',\n },\n },\n } as const\n}\n\nexport const ModalBody = (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n body: {\n minHeight: '100px',\n padding: '8px 48px 0',\n\n [isPhoneInLandscape]: {\n padding: '8px 32px 0',\n },\n },\n },\n\n scrollShadow: {\n body: {\n background: `${colors.semanticWhite[100]}`,\n borderBottom: '1px solid rgba(17, 16, 25, 0.10)',\n borderTop: '1px solid rgba(17, 16, 25, 0.10)',\n marginTop: '32px',\n paddingTop: '0 !important', // force override of isPhoneInLandscape styles above\n\n ...CreateFocusCss(tokens.focus.inner),\n },\n },\n } as const\n}\n\nexport const ModalFooter = () =>\n ({\n default: {\n wrap: {\n padding: '32px 48px 40px',\n\n [isPhoneInLandscape]: {\n padding: '32px',\n },\n },\n },\n\n children: {\n wrap: {\n padding: '16px 48px 40px',\n\n [isPhoneInLandscape]: {\n display: 'flex',\n flexDirection: 'column',\n padding: '16px 32px 32px',\n },\n\n '& > button': {\n '&:first-of-type': {\n marginRight: '16px',\n\n [isPhoneInLandscape]: {\n marginBottom: '8px',\n marginRight: 0,\n },\n },\n },\n },\n },\n } as const)\n\nexport const ModalHeader = () =>\n ({\n default: {\n header: {\n padding: '40px 48px 8px',\n minHeight: '56px',\n\n [isPhoneInLandscape]: {\n padding: '48px 32px 8px',\n },\n },\n },\n } as const)\n","export default () =>\n ({\n default: {\n closeButton: {\n right: '16px',\n },\n },\n } as const)\n","import colors from '../colors'\n\nexport default () =>\n ({\n default: {\n button: {\n background: 'transparent',\n height: '40px',\n transition: 'none',\n width: '40px',\n\n '&:hover': {\n background: 'transparent',\n },\n\n '&:hover svg': {\n fill: colors.semanticNeutral.fade[60],\n },\n },\n },\n } as const)\n","import { isPhoneInLandscape } from '../../../../styles'\n\nexport default () =>\n ({\n default: {\n wrap: {\n justifyContent: 'flex-end',\n },\n\n content: {\n flex: '1 0 auto',\n margin: '0 16px 0 0',\n\n [isPhoneInLandscape]: {\n alignItems: 'stretch',\n flexDirection: 'column',\n margin: '0 0 16px 0',\n width: '100%',\n },\n },\n\n buttons: {\n flex: '0 1 auto',\n\n '> :nth-of-type(2)': {\n margin: '0 0 0 16px',\n },\n\n [isPhoneInLandscape]: {\n alignItems: 'stretch',\n flexDirection: 'column-reverse',\n width: '100%',\n\n '> :nth-of-type(2)': {\n margin: '0 0 8px 0',\n },\n },\n },\n },\n } as const)\n","export default () =>\n ({\n default: {\n wrap: {\n marginBottom: '16px',\n },\n },\n } as const)\n","import colors from '../colors'\n\nexport default () =>\n ({\n default: {\n circleFill: {\n stroke: colors.semanticBlue[60],\n },\n },\n\n small: {\n height: '16px',\n centerPointX: 8,\n centerPointY: 8,\n radius: 6,\n strokeWidth: 4,\n width: '16px',\n },\n\n medium: {\n height: '40px',\n centerPointX: 20,\n centerPointY: 20,\n radius: 17,\n strokeWidth: 6,\n width: '40px',\n },\n\n large: {\n height: '80px',\n centerPointX: 40,\n centerPointY: 40,\n radius: 36,\n strokeWidth: 8,\n width: '80px',\n },\n } as const)\n","export default () =>\n ({\n small: {\n circle: {\n height: '16px',\n width: '16px',\n },\n\n circleMask: {\n height: '8px',\n top: 'calc(50% - 4px)',\n left: 'calc(50% - 4px)',\n width: '8px',\n },\n },\n\n medium: {\n circle: {\n height: '40px',\n width: '40px',\n },\n\n circleMask: {\n height: '28px',\n top: 'calc(50% - 14px)',\n left: 'calc(50% - 14px)',\n width: '28px',\n },\n },\n\n large: {\n circle: {\n height: '80px',\n width: '80px',\n },\n\n circleMask: {\n height: '64px',\n top: 'calc(50% - 32px)',\n left: 'calc(50% - 32px)',\n width: '64px',\n },\n },\n } as const)\n","import { Tokens } from '../../../types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n label: {\n paddingTop: '8px',\n paddingBottom: '8px',\n },\n\n radioButtonHover: {\n borderRadius: '50%',\n boxShadow: `0 0 0 6px ${tokens.selectionControl.defaultHoverShadowColor}`,\n position: 'absolute',\n left: -2,\n top: -2,\n height: tokens.selectionControl.size,\n width: tokens.selectionControl.size,\n opacity: 0,\n },\n\n radioButtonBorder: {\n borderWidth: '2px',\n boxShadow: `none`,\n margin: '2px',\n },\n\n radioButtonFill: {\n borderWidth: '4px',\n marginLeft: '4px',\n },\n\n labelText: {\n paddingLeft: '8px',\n },\n\n description: {\n margin: '0 0 0 32px',\n },\n },\n\n motionVariants: {\n radioButtonHover: {\n hoverWhenChecked: {\n opacity: 1,\n transition: { duration: 0.1 },\n },\n hoverWhenUnchecked: {\n opacity: 1,\n transition: { duration: 0.1 },\n },\n tapWhenChecked: {\n opacity: 0,\n transition: { duration: 0 },\n },\n tapWhenUnchecked: {\n opacity: 0,\n transition: { duration: 0 },\n },\n },\n radioButtonFill: {\n tapWhenChecked: {\n opacity: 1,\n transition: { duration: 0.15 },\n },\n },\n },\n } as const\n}\n","export default () =>\n ({\n default: {\n startElement: {\n marginRight: '8px',\n },\n\n endElement: {\n marginLeft: '8px',\n },\n },\n } as const)\n","export default () =>\n ({\n default: {\n button: {\n padding: '0 46px 0 16px',\n },\n },\n caret: {\n marginLeft: '-32px',\n },\n } as const)\n","export default () =>\n ({\n default: {\n customButton: {\n padding: '8px 24px',\n },\n },\n } as const)\n","import { Tokens } from '../../../types'\nimport { CreateFocusCss } from '../../../../styles'\nimport colors from '../colors'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n default: {\n input: {\n height: '16px',\n top: '13px',\n ...CreateFocusCss(\n { ...tokens.focus.outer },\n (psuedoClass) => `&${psuedoClass} + .sliderTrack .sliderThumb`\n ),\n },\n\n startElement: {\n marginRight: '8px',\n },\n\n endElement: {\n marginLeft: '8px',\n },\n\n slider: {\n color: tokens.text.defaultColor,\n margin: '20px 0',\n\n '&:hover': {\n cursor: 'pointer',\n\n '.sliderThumb': {\n background: tokens.selectionControl.selectedHoverFillColor,\n boxShadow: `0 0 0 6px ${tokens.selectionControl.defaultHoverShadowColor}`,\n },\n },\n\n '&:active .sliderThumb': {\n background: tokens.selectionControl.selectedActiveFillColor,\n },\n },\n\n sliderTrack: {\n height: '2px',\n },\n sliderTrackFill: {\n background: colors.semanticNeutral[90],\n height: '2px',\n },\n sliderThumb: {\n background: colors.semanticNeutral[90],\n border: 'none',\n height: '16px',\n width: '16px',\n },\n },\n disabled: {\n wrap: {\n opacity: tokens.form.disabledOpacity,\n },\n slider: {\n '&:hover .sliderThumb': {\n background: colors.semanticNeutral[90],\n boxShadow: 'none',\n },\n },\n },\n } as const\n}\n","export default () =>\n ({\n default: {\n dot: {\n marginTop: '8px',\n },\n },\n text: {\n paddingLeft: '24px',\n },\n } as const)\n","import { Tokens } from '../../../types'\nimport { CreateFocusCss } from '../../../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n default: {\n input: {\n ...CreateFocusCss(\n {\n height: '20px',\n left: '2px',\n top: '10px',\n width: '36px',\n },\n (psuedoClass) => `${psuedoClass} ~ .focusStyle::after`\n ),\n },\n\n label: {\n position: 'relative',\n },\n\n toggleBorder: {\n borderWidth: '2px',\n margin: '2px',\n },\n\n toggleButton: {\n border: 'none',\n borderRadius: '6px',\n margin: '2px',\n },\n\n text: {\n marginLeft: '8px',\n },\n },\n\n sizeDefault: {\n label: {\n height: '40px',\n },\n\n toggleBorder: {\n height: '20px',\n width: '36px',\n },\n\n toggleButton: {\n height: '12px',\n width: '12px',\n },\n\n description: {\n marginLeft: '48px',\n },\n },\n\n motionVariants: {\n toggleButton: {\n on: {\n backgroundColor: tokens.form.defaultBackgroundColor,\n /* @ds/motion animation doesn't work if 'on' and 'off' animation is the same value, so using 17.9px instead of 18px */\n width: ['12px', '17.9px'],\n transition: {\n duration: 0.2,\n width: { duration: 0.1, repeat: 1, repeatType: 'reverse' },\n },\n },\n off: {\n backgroundColor: tokens.form.defaultBorderColor,\n width: ['12px', '18px'],\n transition: {\n duration: 0.2,\n width: { duration: 0.1, repeat: 1, repeatType: 'reverse' },\n },\n },\n hoverWhenOn: {\n boxShadow: `0 0 0 10px ${tokens.selectionControl.defaultHoverShadowColor}`,\n backgroundColor: tokens.form.defaultBackgroundColor,\n transition: { duration: 0.1 },\n },\n hoverWhenOff: {\n boxShadow: `0 0 0 10px ${tokens.selectionControl.defaultHoverShadowColor}`,\n backgroundColor: tokens.form.hoverBorderColor,\n transition: { duration: 0.1 },\n },\n tapWhenOn: {\n boxShadow: `0 0 0 0 ${tokens.selectionControl.defaultHoverShadowColor}`,\n transition: { duration: 0 },\n },\n tapWhenOff: {\n boxShadow: `0 0 0 0 ${tokens.selectionControl.defaultHoverShadowColor}`,\n transition: { duration: 0 },\n },\n },\n\n toggleBorder: {\n on: {\n transition: { duration: 0.2 },\n },\n off: {\n backgroundColor: tokens.form.defaultBackgroundColor,\n transition: { duration: 0.2 },\n },\n hoverWhenOn: {\n borderColor: tokens.selectionControl.selectedHoverFillColor,\n backgroundColor: tokens.selectionControl.selectedHoverFillColor,\n transition: { duration: 0.1 },\n },\n hoverWhenOff: {\n borderColor: tokens.form.hoverBorderColor,\n backgroundColor: tokens.form.defaultBackgroundColor,\n transition: { duration: 0.1 },\n },\n tapWhenOn: {\n borderColor: tokens.selectionControl.selectedActiveFillColor,\n backgroundColor: tokens.selectionControl.selectedActiveFillColor,\n },\n tapWhenOff: {\n borderColor: tokens.form.defaultBorderColor,\n },\n },\n },\n } as const\n}\n","import colors from '../colors'\n\nexport const Table = () =>\n ({\n default: {\n table: {\n borderTop: 'none',\n },\n },\n\n backgroundColor: {\n document: {\n backgroundColor: colors.semanticWarmGray[20],\n },\n\n page: {\n backgroundColor: colors.semanticWarmGray[10],\n },\n },\n } as const)\n\nexport const TableRow = () =>\n ({\n withAction: {\n default: {\n row: {\n backgroundColor: 'transparent',\n '&:active': {\n backgroundColor: 'transparent !important',\n },\n\n '&:active td': {\n transition: 'background-color 0.2s ease',\n backgroundColor: `${colors.semanticNeutral.fade[20]} !important`,\n },\n\n '[data-delegate=\"ignore\"]:active, [data-delegate=\"ignore\"]:active ~ td':\n {\n transition: 'none',\n backgroundColor: `${colors.semanticNeutral.fade[10]} !important`,\n },\n\n '&:hover': {\n backgroundColor: 'transparent !important',\n },\n\n '&:hover td': {\n transition: 'background-color 0.2s ease',\n backgroundColor: `${colors.semanticNeutral.fade[10]} !important`,\n },\n\n '&:last-child td': {\n borderBottomColor: 'transparent',\n },\n },\n },\n },\n\n selected: {\n row: {\n '& td': {\n backgroundColor: 'inherit',\n },\n\n '&:hover td': {\n backgroundColor: 'inherit',\n },\n },\n },\n\n backgroundColor: {\n document: {\n backgroundColor: colors.semanticWarmGray[20],\n },\n\n page: {\n backgroundColor: colors.semanticWarmGray[10],\n },\n },\n } as const)\n\nexport const TableCell = () =>\n ({\n default: {\n cell: {\n borderBottom: '1px solid transparent',\n padding: '8px 16px',\n\n '&:first-of-type': {\n borderLeft: 'none',\n paddingLeft: '16px',\n },\n\n '&:last-child': {\n borderRight: 'none',\n paddingRight: '16px',\n },\n },\n },\n\n withBorder: {\n cell: {\n borderColor: colors.semanticNeutral.fade[15],\n },\n },\n\n backgroundColor: {\n document: {\n '&:first-of-type': {\n backgroundColor: colors.semanticWarmGray[20],\n },\n },\n\n page: {\n '&:first-of-type': {\n backgroundColor: colors.semanticWarmGray[10],\n },\n },\n },\n } as const)\n\nexport const TableHeader = () =>\n ({\n stickyActive: {\n th: {\n borderBottom: `1px solid ${colors.semanticNeutral.fade[10]}`,\n },\n },\n\n border: {\n th: {\n borderBottom: `1px solid ${colors.semanticNeutral.fade[10]}`,\n borderTop: `1px solid ${colors.semanticNeutral.fade[10]}`,\n },\n\n 'tr + tr': {\n th: {\n borderTop: 'none',\n },\n },\n },\n\n backgroundColor: {\n document: {\n '& th': {\n backgroundColor: colors.semanticWarmGray[20],\n },\n },\n\n page: {\n '& th': {\n backgroundColor: colors.semanticWarmGray[10],\n },\n },\n },\n } as const)\n\nexport const TableHeaderCell = () =>\n ({\n default: {\n cell: {\n borderBottom: 'none',\n borderRight: '1px solid transparent',\n padding: '16px',\n\n '&:first-of-type': {\n borderLeft: 'none',\n paddingLeft: '16px',\n },\n\n '&:last-child': {\n borderRight: 'none',\n paddingRight: '16px',\n },\n },\n\n button: {\n '&:hover': {\n color: 'currentColor',\n\n '& svg': {\n fill: 'inherit',\n },\n },\n },\n },\n\n withBorder: {\n cell: {\n borderRightColor: colors.semanticNeutral.fade[15],\n },\n },\n\n freezeColumn: {\n cell: {\n '&:first-of-type::after': {\n right: '-21px',\n },\n },\n },\n\n backgroundColor: {\n document: {\n '&:first-of-type': {\n backgroundColor: colors.semanticWarmGray[20],\n },\n },\n\n page: {\n '&:first-of-type': {\n backgroundColor: colors.semanticWarmGray[10],\n },\n },\n },\n } as const)\n","export const Tabs = () =>\n ({\n default: {\n wrap: {\n borderBottom: 'none',\n margin: '0',\n padding: '0',\n },\n\n tabList: {\n flexWrap: 'nowrap',\n overflowX: 'auto',\n },\n },\n } as const)\n\nexport const TabsPanel = () =>\n ({\n default: {\n panel: {\n margin: 0,\n padding: 0,\n },\n },\n } as const)\n\nexport const TabsTab = () =>\n ({\n default: {\n wrap: {\n margin: '0',\n flexShrink: 0,\n },\n\n tabAction: {\n height: '56px',\n minWidth: '80px',\n padding: '16px 24px',\n textTransform: 'none',\n\n transition:\n 'background-color 100ms, color 100ms, border-bottom-color 300ms, border-bottom-width 300ms',\n\n '&:active': {\n transition: 'background-color 150ms',\n },\n },\n\n badge: {\n top: 0,\n },\n },\n\n selected: {\n tabAction: {\n transition:\n 'background-color 250ms, color 100ms, border-bottom-color 300ms, border-bottom-width 300ms',\n },\n },\n } as const)\n","import { Tokens } from '../../../types'\nimport colors from '../colors'\nimport { breakpoints } from '../../../../utilities'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n default: {\n wrap: {\n ...tokens.typography.bodyMedium,\n backgroundColor: colors.semanticWhite[100],\n border: `1px solid ${tokens.border.defaultColor}`,\n borderRadius: '40px',\n color: tokens.text.defaultColor,\n minHeight: '40px',\n padding: '4px 0',\n transitionDuration: '0.2s',\n transitionProperty: 'background-color, border-color',\n transitionTimingFunction: 'ease',\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n minHeight: '48px',\n },\n },\n\n dismissIcon: {\n padding: '0 16px 0 0',\n },\n\n text: {\n padding: '0 16px',\n },\n\n textDismissible: {\n paddingRight: '8px',\n },\n },\n\n clickable: {\n wrap: {\n '&:hover': {\n borderColor: tokens.border.emphasisColor,\n color: 'currentColor',\n },\n\n '&:active': {\n backgroundColor: colors.semanticNeutral.fade[5],\n borderColor: tokens.border.emphasisColor,\n boxShadow: `0 0 0 1px ${tokens.border.emphasisColor}`,\n },\n },\n },\n } as const\n}\n","export default () =>\n ({\n default: {\n textBoxLeftElement: {\n minWidth: '40px',\n },\n\n textBoxRightElement: {\n minWidth: '40px',\n },\n\n help: {\n marginLeft: '8px',\n },\n },\n } as const)\n","import { TimelineStepProps } from '../../../../components/Timeline'\nimport { Tokens } from '../../../types'\nimport colors from '../colors'\n\nexport default (config: { props: TimelineStepProps; tokens: Tokens }) => {\n const { props } = config\n return {\n default: {\n wrap: {\n '&:first-of-type > span': {\n paddingTop: '5px',\n top: 0,\n },\n },\n\n date: {\n marginTop: props.date ? 'inherit' : '-3px',\n },\n\n content: {\n marginLeft: '7px',\n paddingBottom: '24px',\n paddingLeft: '25px',\n\n '&::before': {\n bottom: '-1px',\n left: '7px',\n top: '17px',\n },\n },\n\n icon: {\n height: '24px',\n },\n\n indicatorWrap: {\n padding: '4px',\n top: '1px',\n },\n\n indicator: {\n height: '8px',\n width: '8px',\n },\n\n collapsibleDisclosure: {\n height: '20px',\n },\n },\n\n complete: {\n indicator: {\n backgroundColor: colors.semanticNeutral.fade[90],\n },\n },\n\n current: {\n indicatorWrap: {\n padding: '4px 0',\n top: '-3px',\n },\n\n indicator: {\n backgroundColor: colors.semanticBlue[60],\n height: '16px',\n width: '16px',\n },\n\n labelWrap: {\n color: colors.semanticBlue[60],\n },\n },\n\n incomplete: {\n indicator: {\n backgroundColor: colors.semanticNeutral.fade[90],\n },\n },\n\n currentContent: {\n '&::before': {\n top: '25px',\n },\n },\n\n solidBorder: {\n content: {\n '&::before': {\n border: `1px solid ${colors.semanticNeutral.fade[90]}`,\n },\n },\n },\n\n dashedBorder: {\n content: {\n '&::before': {\n border: `1px solid ${colors.semanticNeutral.fade[90]}`,\n },\n },\n },\n } as const\n}\n","export default () =>\n ({\n wrap: {\n '& a, & button': {\n justifyContent: 'flex-start',\n },\n },\n } as const)\n","import { Tokens } from '../../../types'\nimport { breakpoints } from '../../../../utilities'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n ToolbarDropdownInput: {\n input: {\n ...tokens.typography.bodyMedium,\n },\n\n '.input-text-box-wrapper': {\n backgroundColor: tokens.form.defaultBackgroundColor,\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n height: tokens.toolbar.mobileHeight,\n },\n },\n\n button: {\n backgroundColor: tokens.toolbar.defaultBackgroundColor,\n paddingLeft: '9px',\n\n [breakpoints.lessThan(breakpoints.Sizes.Large)]: {\n minWidth: '40px',\n },\n },\n\n '&:hover, &[aria-expanded=\"true\"]': {\n backgroundColor: 'transparent',\n\n '.input-text-box-wrapper': {\n backgroundColor: tokens.toolbar.hoverBackgroundColor,\n },\n\n button: {\n borderLeft: '1px solid transparent',\n backgroundColor: tokens.toolbar.hoverBackgroundColor,\n\n '&:active': {\n backgroundColor: tokens.toolbar.activeBackgroundColor,\n },\n },\n },\n },\n } as const\n}\n","export default () =>\n ({\n Tooltip: {\n maxWidth: '272px',\n padding: '12px 16px',\n },\n } as const)\n","import { WorkflowStepperItemProps } from '../../../..'\n\n// pull description closer to stepper item text\nconst DESCRIPTION_OFFSET = -6\n\nexport default (config: { props?: WorkflowStepperItemProps }) => {\n const { props } = config\n return {\n default: {\n description: {\n marginBottom: '28px',\n marginTop: DESCRIPTION_OFFSET,\n },\n\n content: {\n marginLeft: '48px',\n marginTop: props?.description ? `${12 + DESCRIPTION_OFFSET}px` : '12px',\n },\n },\n } as const\n}\n","/**\n * Adds a scroll shadow to a container that shows a shadow at the\n * bottom of content that can be scrolled.\n *\n * @param {string} color - The color of the shadow.\n * @param {number} height - The height of the shadow.\n * @param {string} bg - The background color.\n *\n * @returns {scrollShadowStyles} scrollShadowStyles - The scroll shadow styles.\n */\n\nimport { CSSObject } from '@emotion/core'\n\nconst scrollShadow = (bg: string, color: string, height: number): CSSObject => {\n const scrollShadowStyles = {\n backgroundAttachment: 'local, local, scroll, scroll',\n backgroundColor: bg,\n\n backgroundImage: `\n /* top cover */\n linear-gradient(${bg} 30%, rgba(255, 255, 255, 0)),\n \n /* bottom cover */\n linear-gradient(rgba(255, 255, 255, 0), ${bg} 70%),\n \n /* top shadow */\n linear-gradient(${color}, rgba(255, 255, 255, 0)),\n \n /* bottom shadow */\n linear-gradient(rgba(255, 255, 255, 0), ${color})\n `,\n\n backgroundPosition: '0 0, 0 100%, 0 0, 0 100%',\n backgroundRepeat: 'no-repeat',\n\n backgroundSize: `\n 100% ${height * 3}px, \n 100% ${height * 3}px, \n 100% ${height}px, \n 100% ${height}px\n `,\n\n overflowY: 'auto' as const,\n }\n\n return scrollShadowStyles\n}\n\nexport default scrollShadow\n","import colors from '../colors'\nimport fontFamilies from '../fontFamilies'\nimport { TreeProps } from '../../../../components/Tree'\n\nconst TreeRow = {\n display: 'flex',\n fontSize: '13px',\n lineHeight: '18px',\n margin: '1px 0px',\n padding: '0px 18px 0px 24px',\n position: 'relative',\n userSelect: 'none',\n} as const\n\nconst TreeRowFullWidth = {\n bottom: 0,\n content: '\"\"',\n left: '-1000px',\n pointerEvents: 'none',\n position: 'absolute',\n right: '-1000px',\n top: 0,\n zIndex: -1,\n} as const\n\nconst TreeDisclosure = {\n left: '4px',\n position: 'absolute',\n} as const\n\nconst TreeActionButton = {\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n\n '& button:hover svg': {\n fill: colors.funBlue,\n },\n\n '& button:active svg': {\n fill: colors.funBlueDark,\n },\n} as const\n\nexport default ({ props }: { props?: TreeProps }) =>\n ({\n Tree: {\n margin: '-1px 0px',\n },\n\n TreeHeader: {\n ...TreeRow,\n\n '& + ul': {\n paddingTop: '8px',\n },\n\n '& button': {\n opacity: 1,\n },\n },\n\n TreeHeaderTitle: {\n background: 'transparent',\n fontFamily: fontFamilies.MavenPro,\n fontWeight: 700,\n flexGrow: 1,\n margin: 0,\n overflow: 'hidden',\n textTransform: 'uppercase',\n whiteSpace: 'nowrap',\n cursor: props?.onToggle ? 'pointer' : undefined,\n },\n\n TreeHeaderTitleButton: {\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n display: 'flex',\n margin: 0,\n paddingLeft: 0,\n flexGrow: 1,\n textAlign: 'left',\n fontFamily: fontFamilies.MavenPro,\n fontWeight: 700,\n fontSize: '13px',\n },\n\n TreeItem: {\n ...TreeRow,\n\n '&::before': TreeRowFullWidth,\n\n '&:hover': {\n background: colors.gray3,\n textDecoration: 'none',\n\n '&::before': {\n background: colors.gray3,\n },\n },\n\n '& > div > button': {\n opacity: 0,\n },\n\n '&:hover > div > button': {\n opacity: 1,\n },\n },\n\n TreeItemSelected: {\n background: colors.gray3,\n fontWeight: 700,\n\n '&::before': {\n background: colors.gray3,\n zIndex: -1,\n },\n },\n\n TreeItemElement: {\n padding: '6px 0px',\n },\n\n TreeItemIcon: {\n color: colors.gray8,\n display: 'flex',\n flexShrink: 0,\n marginRight: '8px',\n },\n\n TreeHeaderDisclosure: {\n ...TreeDisclosure,\n top: '1px',\n },\n\n TreeItemDisclosure: {\n ...TreeDisclosure,\n top: '7px',\n },\n\n TreeHeaderActionButton: TreeActionButton,\n\n TreeChildren: {\n overflow: 'hidden',\n margin: '-4px 0px',\n padding: '3px 0px',\n },\n\n TreeItemChildren: {\n paddingLeft: '8px',\n },\n\n TreeButton: {\n svg: {\n fill: colors.gray8,\n },\n },\n } as const)\n","import { BaseStepperItemProps } from '../../../../internal/components/BaseStepper'\nimport colors from '../colors'\n\nexport default (config: { props: BaseStepperItemProps }) => {\n const { props } = config\n\n return {\n current: {\n number: {\n backgroundColor: colors.white,\n border: `2px solid ${colors.funBlue}`,\n color: colors.funBlue,\n fill: colors.funBlue,\n },\n\n text: {\n color: colors.black,\n },\n },\n\n visited: {\n number: {\n backgroundColor: colors.mantisGreen,\n },\n\n text: {\n color: colors.black,\n },\n },\n\n incomplete: {\n wrap: {\n backgroundColor: colors.gray2,\n },\n\n number: {\n border: `2px solid ${colors.gray7}`,\n backgroundColor: colors.white,\n color: colors.gray6,\n },\n },\n\n directionColumn: {\n wrap: {\n borderBottom: `1px solid ${colors.gray4}`,\n minHeight: '48px',\n paddingLeft: '16px',\n paddingRight: '16px',\n\n '&:nth-of-type(1)': {\n borderTop: `1px solid ${colors.gray4}`,\n },\n\n '&:not(:last-child)::after': {\n borderRightWidth: '2px',\n borderRightStyle: props.isNextVisited ? 'solid' : 'dashed',\n borderRightColor: props.isNextVisited\n ? colors.mantisGreen\n : colors.gray5,\n height: 'calc(100% - 32px)',\n left: '32px',\n width: '1px',\n zIndex: 1,\n },\n\n innerContent: {\n width: '100%',\n },\n\n text: {\n flexGrow: 1,\n },\n },\n },\n } as const\n}\n","import { Tokens } from '../../../types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n\n return {\n default: {\n item: {\n '&:last-child a + span': {\n display: 'none',\n },\n\n '&:last-child button + span': {\n display: 'none',\n },\n },\n text: {\n color: tokens.text.subtleColor,\n },\n },\n } as const\n}\n","import { Tokens } from '../../../types'\nimport { CalloutProps } from '../../../..'\n\nexport default (config: { props: CalloutProps; tokens: Tokens }) => {\n const { props, tokens } = config\n\n return {\n default: {\n wrap: {\n padding: props.noPadding ? '0px' : '20px',\n },\n\n header: {\n color: tokens.text.subtleColor,\n marginBottom: '12px',\n },\n\n footer: {\n margin: '24px 0 0 0',\n },\n },\n } as const\n}\n","import colors from '../colors'\nimport fontFamilies from '../fontFamilies'\n\nexport default () =>\n ({\n default: {\n content: {\n backgroundColor: colors.white,\n border: `2px dashed ${colors.gray5}`,\n color: colors.gray9,\n fontFamily: fontFamilies.HelveticaNeue,\n },\n\n imageWrap: {\n maxWidth: '25%',\n },\n\n icon: {\n fill: colors.gray6,\n },\n },\n\n dark: {\n content: {\n backgroundColor: colors.gray2,\n },\n },\n\n disabled: {\n content: {\n borderColor: colors.gray4,\n color: colors.gray7,\n\n '&:hover': {\n cursor: 'not-allowed',\n },\n },\n\n icon: {\n fill: colors.gray4,\n },\n },\n\n dragging: {\n content: {\n backgroundColor: colors.funBluePale2,\n borderColor: colors.funBlueLight,\n color: colors.funBlue,\n },\n\n icon: {\n fill: colors.funBlueLight,\n },\n },\n\n sizeSmall: {\n content: {\n fontSize: '15px',\n lineHeight: '20px',\n padding: '24px',\n },\n\n icon: {\n svg: {\n width: '48px',\n },\n },\n },\n\n sizeLarge: {\n content: {\n fontSize: '18px',\n lineHeight: '24px',\n padding: '32px',\n },\n\n icon: {\n svg: {\n width: '64px',\n },\n },\n },\n\n directionColumn: {\n inner: {\n flexDirection: 'column',\n flexGrow: 1,\n width: '100%',\n },\n\n imageWrap: {\n margin: '0 auto 12px auto',\n },\n },\n\n directionRow: {\n inner: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n width: '100%',\n },\n\n imageWrap: {\n marginRight: '12px',\n },\n },\n\n hidden: {\n visibility: 'hidden',\n },\n\n optionalText: {\n opacity: 0.8,\n fontSize: '12px',\n lineHeight: '16px',\n marginTop: '20px',\n },\n\n optionalTextItem: {\n directionRow: {\n display: 'inline-block',\n\n '& + &': {\n borderLeft: '1px solid currentColor',\n marginLeft: '8px',\n paddingLeft: '8px',\n },\n },\n },\n } as const)\n","import { Tokens } from '../../../types'\nimport { InputTextBoxProps } from '../../../../components/InputTextBox'\n\nexport default (config: { props: InputTextBoxProps; tokens: Tokens }) => {\n const { props } = config\n\n return {\n default: {\n wrapper: {\n maxHeight: '28px',\n },\n\n input: {\n paddingTop: '4px',\n paddingBottom: '5px',\n paddingLeft: props?.leftElement ? 0 : '8px',\n paddingRight: props?.rightElement ? 0 : '8px',\n },\n },\n } as const\n}\n","import { CreateFocusCss, isPhoneInLandscape } from '../../../../styles'\nimport { scrollShadow } from '../../../../utilities'\nimport { Tokens } from '../../../types'\nimport colors from '../colors'\n\nexport const ModalBase = (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n boxShadow: tokens.elevation.low,\n maxWidth: 'calc(100% - 48px)',\n minHeight: 0,\n\n [isPhoneInLandscape]: {\n maxWidth: `calc(100% - ${tokens.modal.marginTopSmallScreen} * 2)`,\n },\n },\n\n close: {\n right: 0,\n top: 0,\n },\n\n modalBase: {\n minHeight: '100%',\n },\n },\n } as const\n}\n\nexport const ModalBody = (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n body: {\n padding: '24px',\n\n [isPhoneInLandscape]: {\n padding: '10px',\n },\n },\n },\n\n scrollShadow: {\n body: {\n ...scrollShadow(\n tokens.scrollShadow.background,\n tokens.scrollShadow.color,\n tokens.scrollShadow.height\n ),\n\n ...CreateFocusCss(tokens.focus.inner),\n },\n },\n } as const\n}\n\nexport const ModalFooter = () =>\n ({\n default: {\n wrap: {\n borderTop: `1px solid ${colors.gray3}`,\n padding: '12px 24px',\n\n [isPhoneInLandscape]: {\n padding: '10px',\n },\n },\n },\n\n children: {\n wrap: {\n [isPhoneInLandscape]: {\n padding: '10px',\n },\n\n '& > button': {\n '&:first-of-type': {\n marginRight: '10px',\n },\n },\n },\n },\n } as const)\n\nexport const ModalHeader = (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n header: {\n borderBottom: `1px solid ${tokens.border.subtleColor}`,\n padding: '20px 24px',\n\n [isPhoneInLandscape]: {\n padding: '10px',\n },\n },\n },\n } as const\n}\n","import colors from '../colors'\n\nexport default () =>\n ({\n default: {\n date: {\n marginTop: '-3px',\n },\n\n content: {\n marginLeft: '5px',\n paddingBottom: '20px',\n paddingLeft: '22px',\n\n '&::before': {\n bottom: 0,\n left: '5px',\n top: '12px',\n },\n },\n\n icon: {\n height: '16px',\n },\n\n indicator: {\n height: '12px',\n width: '12px',\n },\n\n collapsibleDisclosure: {\n height: '16px',\n },\n },\n\n complete: {\n indicator: {\n backgroundColor: colors.gray5,\n },\n },\n\n current: {\n indicator: {\n backgroundColor: colors.funBlue,\n },\n },\n\n incomplete: {\n indicator: {\n border: `1px solid ${colors.gray5}`,\n },\n },\n\n currentActive: {\n indicator: {\n boxShadow: `0 0 0 7px ${colors.funBluePale2}`,\n },\n },\n\n errorActive: {\n indicator: {\n boxShadow: `0 0 0 7px ${colors.persianRedPale2}`,\n },\n },\n\n solidBorder: {\n content: {\n '&::before': {\n border: `1px solid ${colors.gray4}`,\n },\n },\n },\n\n dashedBorder: {\n content: {\n '&::before': {\n border: `1px dashed ${colors.gray4}`,\n },\n },\n },\n } as const)\n","const OLIVE_DESCRIPTION_OFFSET = -8\n\nexport default () =>\n ({\n default: {\n description: {\n marginBottom: '12px',\n marginTop: OLIVE_DESCRIPTION_OFFSET,\n },\n\n content: {\n marginLeft: '60px',\n marginTop: '12px',\n },\n },\n } as const)\n","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"active\", \"className\", \"eventKey\", \"onSelect\", \"onClick\", \"as\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport warning from 'warning';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nvar defaultProps = {\n disabled: false\n};\nvar AbstractNavItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var active = _ref.active,\n className = _ref.className,\n eventKey = _ref.eventKey,\n onSelect = _ref.onSelect,\n onClick = _ref.onClick,\n Component = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var navKey = makeEventKey(eventKey, props.href);\n var parentOnSelect = useContext(SelectableContext);\n var navContext = useContext(NavContext);\n var isActive = active;\n\n if (navContext) {\n if (!props.role && navContext.role === 'tablist') props.role = 'tab';\n var contextControllerId = navContext.getControllerId(navKey);\n var contextControlledId = navContext.getControlledId(navKey);\n process.env.NODE_ENV !== \"production\" ? warning(!contextControllerId || !props.id, \"[react-bootstrap] The provided id '\" + props.id + \"' was overwritten by the current navContext with '\" + contextControllerId + \"'.\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!contextControlledId || !props['aria-controls'], \"[react-bootstrap] The provided aria-controls value '\" + props['aria-controls'] + \"' was overwritten by the current navContext with '\" + contextControlledId + \"'.\") : void 0;\n props['data-rb-event-key'] = navKey;\n props.id = contextControllerId || props.id;\n props['aria-controls'] = contextControlledId || props['aria-controls'];\n isActive = active == null && navKey != null ? navContext.activeKey === navKey : active;\n }\n\n if (props.role === 'tab') {\n if (props.disabled) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n props['aria-selected'] = isActive;\n }\n\n var handleOnclick = useEventCallback(function (e) {\n if (onClick) onClick(e);\n if (navKey == null) return;\n if (onSelect) onSelect(navKey, e);\n if (parentOnSelect) parentOnSelect(navKey, e);\n });\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n onClick: handleOnclick,\n className: classNames(className, isActive && 'active')\n }));\n});\nAbstractNavItem.defaultProps = defaultProps;\nexport default AbstractNavItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"disabled\", \"className\", \"href\", \"eventKey\", \"onSelect\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport SafeAnchor from './SafeAnchor';\nimport AbstractNavItem from './AbstractNavItem';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar defaultProps = {\n disabled: false,\n as: SafeAnchor\n};\nvar NavLink = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n disabled = _ref.disabled,\n className = _ref.className,\n href = _ref.href,\n eventKey = _ref.eventKey,\n onSelect = _ref.onSelect,\n as = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-link');\n return /*#__PURE__*/React.createElement(AbstractNavItem, _extends({}, props, {\n href: href,\n ref: ref,\n eventKey: eventKey,\n as: as,\n disabled: disabled,\n onSelect: onSelect,\n className: classNames(className, bsPrefix, disabled && 'disabled')\n }));\n});\nNavLink.displayName = 'NavLink';\nNavLink.defaultProps = defaultProps;\nexport default NavLink;","import {\n pascalCase,\n pascalCaseTransform,\n pascalCaseTransformMerge,\n Options,\n} from \"pascal-case\";\n\nexport { Options };\n\nexport function camelCaseTransform(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransform(input, index);\n}\n\nexport function camelCaseTransformMerge(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransformMerge(input);\n}\n\nexport function camelCase(input: string, options: Options = {}) {\n return pascalCase(input, {\n transform: camelCaseTransform,\n ...options,\n });\n}\n","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { max as mathMax, min as mathMin } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis || checkAltAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n if (checkMainAxis) {\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(tether ? mathMin(_min, tetherMin) : _min, _offset, tether ? mathMax(_max, tetherMax) : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory(require(\"react\")) : \"function\" == typeof define && define.amd ? define([ \"react\" ], factory) : \"object\" == typeof exports ? exports.MediaQuery = factory(require(\"react\")) : root.MediaQuery = factory(root.React);\n}(\"undefined\" != typeof self ? self : this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\n return function(modules) {\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), \n module.l = !0, module.exports;\n }\n var installedModules = {};\n return __webpack_require__.m = modules, __webpack_require__.c = installedModules, \n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n configurable: !1,\n enumerable: !0,\n get: getter\n });\n }, __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n return __webpack_require__.d(getter, \"a\", getter), getter;\n }, __webpack_require__.o = function(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n }, __webpack_require__.p = \"\", __webpack_require__(__webpack_require__.s = 7);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (o) {\n if (\"string\" == typeof o) return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n return \"Object\" === n && o.constructor && (n = o.constructor.name), \"Map\" === n || \"Set\" === n ? Array.from(o) : \"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _arrayLikeToArray(o, minLen) : void 0;\n }\n }\n function _arrayLikeToArray(arr, len) {\n (null == len || len > arr.length) && (len = arr.length);\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _iterableToArrayLimit(arr, i) {\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(arr)) {\n var _arr = [], _n = !0, _d = !1, _e = void 0;\n try {\n for (var _s, _i = arr[Symbol.iterator](); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), \n !i || _arr.length !== i); _n = !0) ;\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n _n || null == _i.return || _i.return();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n }\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1), __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__), __WEBPACK_IMPORTED_MODULE_1_matchmediaquery__ = __webpack_require__(8), __WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_matchmediaquery__), __WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__ = __webpack_require__(2), __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__ = __webpack_require__(10), __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__), __WEBPACK_IMPORTED_MODULE_4__toQuery__ = __webpack_require__(3), __WEBPACK_IMPORTED_MODULE_5__Context__ = __webpack_require__(6), makeQuery = function(settings) {\n return settings.query || Object(__WEBPACK_IMPORTED_MODULE_4__toQuery__.a)(settings);\n }, hyphenateKeys = function(obj) {\n if (!obj) return null;\n var keys = Object.keys(obj);\n return 0 === keys.length ? null : keys.reduce(function(result, key) {\n return result[Object(__WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__.a)(key)] = obj[key], \n result;\n }, {});\n }, useIsUpdate = function() {\n var ref = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useRef(!1);\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n ref.current = !0;\n }, []), ref.current;\n }, useDevice = function(deviceFromProps) {\n var deviceFromContext = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useContext(__WEBPACK_IMPORTED_MODULE_5__Context__.a), getDevice = function() {\n return hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext);\n }, _React$useState = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getDevice), _React$useState2 = _slicedToArray(_React$useState, 2), device = _React$useState2[0], setDevice = _React$useState2[1];\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n var newDevice = getDevice();\n __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default()(device, newDevice) || setDevice(newDevice);\n }, [ deviceFromProps, deviceFromContext ]), device;\n }, useQuery = function(settings) {\n var getQuery = function() {\n return makeQuery(settings);\n }, _React$useState3 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getQuery), _React$useState4 = _slicedToArray(_React$useState3, 2), query = _React$useState4[0], setQuery = _React$useState4[1];\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n var newQuery = getQuery();\n query !== newQuery && setQuery(newQuery);\n }, [ settings ]), query;\n }, useMatchMedia = function(query, device) {\n var getMatchMedia = function() {\n return __WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default()(query, device || {}, !!device);\n }, _React$useState5 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getMatchMedia), _React$useState6 = _slicedToArray(_React$useState5, 2), mq = _React$useState6[0], setMq = _React$useState6[1], isUpdate = useIsUpdate();\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n return isUpdate && setMq(getMatchMedia()), function() {\n mq.dispose();\n };\n }, [ query, device ]), mq;\n }, useMatches = function(mediaQuery) {\n var _React$useState7 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(mediaQuery.matches), _React$useState8 = _slicedToArray(_React$useState7, 2), matches = _React$useState8[0], setMatches = _React$useState8[1];\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n var updateMatches = function() {\n setMatches(mediaQuery.matches);\n };\n return mediaQuery.addListener(updateMatches), updateMatches(), function() {\n mediaQuery.removeListener(updateMatches);\n };\n }, [ mediaQuery ]), matches;\n }, useMediaQuery = function(settings, device, onChange) {\n var deviceSettings = useDevice(device), query = useQuery(settings);\n if (!query) throw new Error(\"Invalid or missing MediaQuery!\");\n var mq = useMatchMedia(query, deviceSettings), matches = useMatches(mq), isUpdate = useIsUpdate();\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n isUpdate && onChange && onChange(matches);\n }, [ matches ]), matches;\n };\n __webpack_exports__.a = useMediaQuery;\n }, function(module, exports) {\n module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n function toHyphenLower(match) {\n return \"-\" + match.toLowerCase();\n }\n function hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) return cache[name];\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? \"-\" + hName : hName;\n }\n var uppercasePattern = /[A-Z]/g, msPattern = /^ms-/, cache = {};\n __webpack_exports__.a = hyphenateStyleName;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n var __WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__ = __webpack_require__(2), __WEBPACK_IMPORTED_MODULE_1__mediaQuery__ = __webpack_require__(11), negate = function(cond) {\n return \"not \".concat(cond);\n }, keyVal = function(k, v) {\n var realKey = Object(__WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__.a)(k);\n return \"number\" == typeof v && (v = \"\".concat(v, \"px\")), !0 === v ? realKey : !1 === v ? negate(realKey) : \"(\".concat(realKey, \": \").concat(v, \")\");\n }, join = function(conds) {\n return conds.join(\" and \");\n }, toQuery = function(obj) {\n var rules = [];\n return Object.keys(__WEBPACK_IMPORTED_MODULE_1__mediaQuery__.a.all).forEach(function(k) {\n var v = obj[k];\n null != v && rules.push(keyVal(k, v));\n }), join(rules);\n };\n __webpack_exports__.a = toQuery;\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n module.exports = __webpack_require__(13);\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n module.exports = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1), __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__), Context = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createContext();\n __webpack_exports__.a = Context;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n Object.defineProperty(__webpack_exports__, \"__esModule\", {\n value: !0\n });\n var __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__ = __webpack_require__(0), __WEBPACK_IMPORTED_MODULE_1__Component__ = __webpack_require__(17), __WEBPACK_IMPORTED_MODULE_2__toQuery__ = __webpack_require__(3), __WEBPACK_IMPORTED_MODULE_3__Context__ = __webpack_require__(6);\n __webpack_require__.d(__webpack_exports__, \"default\", function() {\n return __WEBPACK_IMPORTED_MODULE_1__Component__.a;\n }), __webpack_require__.d(__webpack_exports__, \"useMediaQuery\", function() {\n return __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__.a;\n }), __webpack_require__.d(__webpack_exports__, \"toQuery\", function() {\n return __WEBPACK_IMPORTED_MODULE_2__toQuery__.a;\n }), __webpack_require__.d(__webpack_exports__, \"Context\", function() {\n return __WEBPACK_IMPORTED_MODULE_3__Context__.a;\n });\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function Mql(query, values, forceStatic) {\n function addListener(listener) {\n mql && mql.addListener(listener);\n }\n function removeListener(listener) {\n mql && mql.removeListener(listener);\n }\n function update(evt) {\n self.matches = evt.matches, self.media = evt.media;\n }\n function dispose() {\n mql && mql.removeListener(update);\n }\n var self = this;\n if (dynamicMatch && !forceStatic) {\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches, this.media = mql.media, mql.addListener(update);\n } else this.matches = staticMatch(query, values), this.media = query;\n this.addListener = addListener, this.removeListener = removeListener, this.dispose = dispose;\n }\n function matchMedia(query, values, forceStatic) {\n return new Mql(query, values, forceStatic);\n }\n var staticMatch = __webpack_require__(9).match, dynamicMatch = \"undefined\" != typeof window ? window.matchMedia : null;\n module.exports = matchMedia;\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function(query) {\n var inverse = query.inverse, typeMatch = \"all\" === query.type || values.type === query.type;\n if (typeMatch && inverse || !typeMatch && !inverse) return !1;\n var expressionsMatch = query.expressions.every(function(expression) {\n var feature = expression.feature, modifier = expression.modifier, expValue = expression.value, value = values[feature];\n if (!value) return !1;\n switch (feature) {\n case \"orientation\":\n case \"scan\":\n return value.toLowerCase() === expValue.toLowerCase();\n\n case \"width\":\n case \"height\":\n case \"device-width\":\n case \"device-height\":\n expValue = toPx(expValue), value = toPx(value);\n break;\n\n case \"resolution\":\n expValue = toDpi(expValue), value = toDpi(value);\n break;\n\n case \"aspect-ratio\":\n case \"device-aspect-ratio\":\n case \"device-pixel-ratio\":\n expValue = toDecimal(expValue), value = toDecimal(value);\n break;\n\n case \"grid\":\n case \"color\":\n case \"color-index\":\n case \"monochrome\":\n expValue = parseInt(expValue, 10) || 1, value = parseInt(value, 10) || 0;\n }\n switch (modifier) {\n case \"min\":\n return value >= expValue;\n\n case \"max\":\n return value <= expValue;\n\n default:\n return value === expValue;\n }\n });\n return expressionsMatch && !inverse || !expressionsMatch && inverse;\n });\n }\n function parseQuery(mediaQuery) {\n return mediaQuery.split(\",\").map(function(query) {\n query = query.trim();\n var captures = query.match(RE_MEDIA_QUERY), modifier = captures[1], type = captures[2], expressions = captures[3] || \"\", parsed = {};\n return parsed.inverse = !!modifier && \"not\" === modifier.toLowerCase(), parsed.type = type ? type.toLowerCase() : \"all\", \n expressions = expressions.match(/\\([^\\)]+\\)/g) || [], parsed.expressions = expressions.map(function(expression) {\n var captures = expression.match(RE_MQ_EXPRESSION), feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n return {\n modifier: feature[1],\n feature: feature[2],\n value: captures[2]\n };\n }), parsed;\n });\n }\n function toDecimal(ratio) {\n var numbers, decimal = Number(ratio);\n return decimal || (numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/), decimal = numbers[1] / numbers[2]), \n decimal;\n }\n function toDpi(resolution) {\n var value = parseFloat(resolution);\n switch (String(resolution).match(RE_RESOLUTION_UNIT)[1]) {\n case \"dpcm\":\n return value / 2.54;\n\n case \"dppx\":\n return 96 * value;\n\n default:\n return value;\n }\n }\n function toPx(length) {\n var value = parseFloat(length);\n switch (String(length).match(RE_LENGTH_UNIT)[1]) {\n case \"em\":\n case \"rem\":\n return 16 * value;\n\n case \"cm\":\n return 96 * value / 2.54;\n\n case \"mm\":\n return 96 * value / 2.54 / 10;\n\n case \"in\":\n return 96 * value;\n\n case \"pt\":\n return 72 * value;\n\n case \"pc\":\n return 72 * value / 12;\n\n default:\n return value;\n }\n }\n exports.match = matchQuery, exports.parse = parseQuery;\n var RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i, RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/, RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/, RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/, RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function shallowEqualObjects(objA, objB) {\n if (objA === objB) return !0;\n if (!objA || !objB) return !1;\n var aKeys = Object.keys(objA), bKeys = Object.keys(objB), len = aKeys.length;\n if (bKeys.length !== len) return !1;\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) return !1;\n }\n return !0;\n }\n module.exports = shallowEqualObjects;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function(key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n return key in obj ? Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(12), __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__), stringOrNumber = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOfType([ __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number ]), matchers = {\n orientation: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOf([ \"portrait\", \"landscape\" ]),\n scan: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOf([ \"progressive\", \"interlace\" ]),\n aspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n deviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n color: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n colorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n monochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n resolution: stringOrNumber\n }, features = _objectSpread({\n minAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n maxAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n minDeviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n maxDeviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n minColor: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxColor: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minColorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxColorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minMonochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxMonochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber\n }, matchers), types = {\n all: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n grid: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n aural: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n braille: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n handheld: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n print: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n projection: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n screen: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n tty: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n tv: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n embossed: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool\n }, all = _objectSpread(_objectSpread({}, types), features);\n matchers.type = Object.keys(types), __webpack_exports__.a = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n };\n }, function(module, exports, __webpack_require__) {\n var ReactIs = __webpack_require__(4);\n module.exports = __webpack_require__(14)(ReactIs.isElement, !0);\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n !function() {\n function isValidElementType(type) {\n return \"string\" == typeof type || \"function\" == typeof type || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || \"object\" == typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n }\n function typeOf(object) {\n if (\"object\" == typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n }\n function isAsyncMode(object) {\n return hasWarnedAboutDeprecatedIsAsyncMode || (hasWarnedAboutDeprecatedIsAsyncMode = !0, \n console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")), \n isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n }\n function isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n }\n function isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n }\n function isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n }\n function isElement(object) {\n return \"object\" == typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n function isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n }\n function isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n }\n function isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n }\n function isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n }\n function isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n }\n function isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n }\n function isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n }\n function isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n }\n var hasSymbol = \"function\" == typeof Symbol && Symbol.for, REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for(\"react.element\") : 60103, REACT_PORTAL_TYPE = hasSymbol ? Symbol.for(\"react.portal\") : 60106, REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for(\"react.fragment\") : 60107, REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.strict_mode\") : 60108, REACT_PROFILER_TYPE = hasSymbol ? Symbol.for(\"react.profiler\") : 60114, REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for(\"react.provider\") : 60109, REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for(\"react.context\") : 60110, REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for(\"react.async_mode\") : 60111, REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.concurrent_mode\") : 60111, REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for(\"react.forward_ref\") : 60112, REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for(\"react.suspense\") : 60113, REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for(\"react.suspense_list\") : 60120, REACT_MEMO_TYPE = hasSymbol ? Symbol.for(\"react.memo\") : 60115, REACT_LAZY_TYPE = hasSymbol ? Symbol.for(\"react.lazy\") : 60116, REACT_BLOCK_TYPE = hasSymbol ? Symbol.for(\"react.block\") : 60121, REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for(\"react.fundamental\") : 60117, REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for(\"react.responder\") : 60118, REACT_SCOPE_TYPE = hasSymbol ? Symbol.for(\"react.scope\") : 60119, AsyncMode = REACT_ASYNC_MODE_TYPE, ConcurrentMode = REACT_CONCURRENT_MODE_TYPE, ContextConsumer = REACT_CONTEXT_TYPE, ContextProvider = REACT_PROVIDER_TYPE, Element = REACT_ELEMENT_TYPE, ForwardRef = REACT_FORWARD_REF_TYPE, Fragment = REACT_FRAGMENT_TYPE, Lazy = REACT_LAZY_TYPE, Memo = REACT_MEMO_TYPE, Portal = REACT_PORTAL_TYPE, Profiler = REACT_PROFILER_TYPE, StrictMode = REACT_STRICT_MODE_TYPE, Suspense = REACT_SUSPENSE_TYPE, hasWarnedAboutDeprecatedIsAsyncMode = !1;\n exports.AsyncMode = AsyncMode, exports.ConcurrentMode = ConcurrentMode, exports.ContextConsumer = ContextConsumer, \n exports.ContextProvider = ContextProvider, exports.Element = Element, exports.ForwardRef = ForwardRef, \n exports.Fragment = Fragment, exports.Lazy = Lazy, exports.Memo = Memo, exports.Portal = Portal, \n exports.Profiler = Profiler, exports.StrictMode = StrictMode, exports.Suspense = Suspense, \n exports.isAsyncMode = isAsyncMode, exports.isConcurrentMode = isConcurrentMode, \n exports.isContextConsumer = isContextConsumer, exports.isContextProvider = isContextProvider, \n exports.isElement = isElement, exports.isForwardRef = isForwardRef, exports.isFragment = isFragment, \n exports.isLazy = isLazy, exports.isMemo = isMemo, exports.isPortal = isPortal, exports.isProfiler = isProfiler, \n exports.isStrictMode = isStrictMode, exports.isSuspense = isSuspense, exports.isValidElementType = isValidElementType, \n exports.typeOf = typeOf;\n }();\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function emptyFunctionThatReturnsNull() {\n return null;\n }\n var ReactIs = __webpack_require__(4), assign = __webpack_require__(15), ReactPropTypesSecret = __webpack_require__(5), checkPropTypes = __webpack_require__(16), has = Function.call.bind(Object.prototype.hasOwnProperty), printWarning = function() {};\n printWarning = function(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n try {\n throw new Error(message);\n } catch (x) {}\n }, module.exports = function(isValidElement, throwOnDirectAccess) {\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (\"function\" == typeof iteratorFn) return iteratorFn;\n }\n function is(x, y) {\n return x === y ? 0 !== x || 1 / x == 1 / y : x !== x && y !== y;\n }\n function PropTypeError(message) {\n this.message = message, this.stack = \"\";\n }\n function createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n if (componentName = componentName || ANONYMOUS, propFullName = propFullName || propName, \n secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n var err = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");\n throw err.name = \"Invariant Violation\", err;\n }\n if (\"undefined\" != typeof console) {\n var cacheKey = componentName + \":\" + propName;\n !manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3 && (printWarning(\"You are manually calling a React.PropTypes validation function for the `\" + propFullName + \"` prop on `\" + componentName + \"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.\"), \n manualPropTypeCallCache[cacheKey] = !0, manualPropTypeWarningCount++);\n }\n }\n return null == props[propName] ? isRequired ? new PropTypeError(null === props[propName] ? \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `null`.\" : \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `undefined`.\") : null : validate(props, propName, componentName, location, propFullName);\n }\n var manualPropTypeCallCache = {}, manualPropTypeWarningCount = 0, chainedCheckType = checkType.bind(null, !1);\n return chainedCheckType.isRequired = checkType.bind(null, !0), chainedCheckType;\n }\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n if (getPropType(propValue) !== expectedType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPreciseType(propValue) + \"` supplied to `\" + componentName + \"`, expected `\" + expectedType + \"`.\");\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside arrayOf.\");\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected an array.\");\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + \"[\" + i + \"]\", ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getClassName(props[propName]) + \"` supplied to `\" + componentName + \"`, expected instance of `\" + expectedClassName + \"`.\");\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createEnumTypeChecker(expectedValues) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var propValue = props[propName], i = 0; i < expectedValues.length; i++) if (is(propValue, expectedValues[i])) return null;\n var valuesString = JSON.stringify(expectedValues, function(key, value) {\n return \"symbol\" === getPreciseType(value) ? String(value) : value;\n });\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of value `\" + String(propValue) + \"` supplied to `\" + componentName + \"`, expected one of \" + valuesString + \".\");\n }\n return Array.isArray(expectedValues) ? createChainableTypeChecker(validate) : (printWarning(arguments.length > 1 ? \"Invalid arguments supplied to oneOf, expected an array, got \" + arguments.length + \" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).\" : \"Invalid argument supplied to oneOf, expected an array.\"), \n emptyFunctionThatReturnsNull);\n }\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside objectOf.\");\n var propValue = props[propName], propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected an object.\");\n for (var key in propValue) if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n if (null == (0, arrayOfTypeCheckers[i])(props, propName, componentName, location, propFullName, ReactPropTypesSecret)) return null;\n }\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`.\");\n }\n if (!Array.isArray(arrayOfTypeCheckers)) return printWarning(\"Invalid argument supplied to oneOfType, expected an instance of array.\"), \n emptyFunctionThatReturnsNull;\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (\"function\" != typeof checker) return printWarning(\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received \" + getPostfixForTypeWarning(checker) + \" at index \" + i + \".\"), \n emptyFunctionThatReturnsNull;\n }\n return createChainableTypeChecker(validate);\n }\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName], propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (checker) {\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName], propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` key `\" + key + \"` supplied to `\" + componentName + \"`.\\nBad object: \" + JSON.stringify(props[propName], null, \" \") + \"\\nValid keys: \" + JSON.stringify(Object.keys(shapeTypes), null, \" \"));\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function isNode(propValue) {\n switch (typeof propValue) {\n case \"number\":\n case \"string\":\n case \"undefined\":\n return !0;\n\n case \"boolean\":\n return !propValue;\n\n case \"object\":\n if (Array.isArray(propValue)) return propValue.every(isNode);\n if (null === propValue || isValidElement(propValue)) return !0;\n var iteratorFn = getIteratorFn(propValue);\n if (!iteratorFn) return !1;\n var step, iterator = iteratorFn.call(propValue);\n if (iteratorFn !== propValue.entries) {\n for (;!(step = iterator.next()).done; ) if (!isNode(step.value)) return !1;\n } else for (;!(step = iterator.next()).done; ) {\n var entry = step.value;\n if (entry && !isNode(entry[1])) return !1;\n }\n return !0;\n\n default:\n return !1;\n }\n }\n function isSymbol(propType, propValue) {\n return \"symbol\" === propType || !!propValue && (\"Symbol\" === propValue[\"@@toStringTag\"] || \"function\" == typeof Symbol && propValue instanceof Symbol);\n }\n function getPropType(propValue) {\n var propType = typeof propValue;\n return Array.isArray(propValue) ? \"array\" : propValue instanceof RegExp ? \"object\" : isSymbol(propType, propValue) ? \"symbol\" : propType;\n }\n function getPreciseType(propValue) {\n if (void 0 === propValue || null === propValue) return \"\" + propValue;\n var propType = getPropType(propValue);\n if (\"object\" === propType) {\n if (propValue instanceof Date) return \"date\";\n if (propValue instanceof RegExp) return \"regexp\";\n }\n return propType;\n }\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case \"array\":\n case \"object\":\n return \"an \" + type;\n\n case \"boolean\":\n case \"date\":\n case \"regexp\":\n return \"a \" + type;\n\n default:\n return type;\n }\n }\n function getClassName(propValue) {\n return propValue.constructor && propValue.constructor.name ? propValue.constructor.name : ANONYMOUS;\n }\n var ITERATOR_SYMBOL = \"function\" == typeof Symbol && Symbol.iterator, FAUX_ITERATOR_SYMBOL = \"@@iterator\", ANONYMOUS = \"<<anonymous>>\", ReactPropTypes = {\n array: createPrimitiveTypeChecker(\"array\"),\n bool: createPrimitiveTypeChecker(\"boolean\"),\n func: createPrimitiveTypeChecker(\"function\"),\n number: createPrimitiveTypeChecker(\"number\"),\n object: createPrimitiveTypeChecker(\"object\"),\n string: createPrimitiveTypeChecker(\"string\"),\n symbol: createPrimitiveTypeChecker(\"symbol\"),\n any: function() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }(),\n arrayOf: createArrayOfTypeChecker,\n element: function() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement.\");\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }(),\n elementType: function() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement type.\");\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }(),\n instanceOf: createInstanceTypeChecker,\n node: function() {\n function validate(props, propName, componentName, location, propFullName) {\n return isNode(props[propName]) ? null : new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`, expected a ReactNode.\");\n }\n return createChainableTypeChecker(validate);\n }(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker\n };\n return PropTypeError.prototype = Error.prototype, ReactPropTypes.checkPropTypes = checkPropTypes, \n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache, ReactPropTypes.PropTypes = ReactPropTypes, \n ReactPropTypes;\n };\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function toObject(val) {\n if (null === val || void 0 === val) throw new TypeError(\"Object.assign cannot be called with null or undefined\");\n return Object(val);\n }\n /*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n var getOwnPropertySymbols = Object.getOwnPropertySymbols, hasOwnProperty = Object.prototype.hasOwnProperty, propIsEnumerable = Object.prototype.propertyIsEnumerable;\n module.exports = function() {\n try {\n if (!Object.assign) return !1;\n var test1 = new String(\"abc\");\n if (test1[5] = \"de\", \"5\" === Object.getOwnPropertyNames(test1)[0]) return !1;\n for (var test2 = {}, i = 0; i < 10; i++) test2[\"_\" + String.fromCharCode(i)] = i;\n if (\"0123456789\" !== Object.getOwnPropertyNames(test2).map(function(n) {\n return test2[n];\n }).join(\"\")) return !1;\n var test3 = {};\n return \"abcdefghijklmnopqrst\".split(\"\").forEach(function(letter) {\n test3[letter] = letter;\n }), \"abcdefghijklmnopqrst\" === Object.keys(Object.assign({}, test3)).join(\"\");\n } catch (err) {\n return !1;\n }\n }() ? Object.assign : function(target, source) {\n for (var from, symbols, to = toObject(target), s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n for (var key in from) hasOwnProperty.call(from, key) && (to[key] = from[key]);\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n for (var i = 0; i < symbols.length; i++) propIsEnumerable.call(from, symbols[i]) && (to[symbols[i]] = from[symbols[i]]);\n }\n }\n return to;\n };\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n for (var typeSpecName in typeSpecs) if (has(typeSpecs, typeSpecName)) {\n var error;\n try {\n if (\"function\" != typeof typeSpecs[typeSpecName]) {\n var err = Error((componentName || \"React class\") + \": \" + location + \" type `\" + typeSpecName + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof typeSpecs[typeSpecName] + \"`.\");\n throw err.name = \"Invariant Violation\", err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (!error || error instanceof Error || printWarning((componentName || \"React class\") + \": type specification of \" + location + \" `\" + typeSpecName + \"` is invalid; the type checker function must return `null` or an `Error` but returned a \" + typeof error + \". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\"), \n error instanceof Error && !(error.message in loggedTypeFailures)) {\n loggedTypeFailures[error.message] = !0;\n var stack = getStack ? getStack() : \"\";\n printWarning(\"Failed \" + location + \" type: \" + error.message + (null != stack ? stack : \"\"));\n }\n }\n }\n var printWarning = function() {}, ReactPropTypesSecret = __webpack_require__(5), loggedTypeFailures = {}, has = Function.call.bind(Object.prototype.hasOwnProperty);\n printWarning = function(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n try {\n throw new Error(message);\n } catch (x) {}\n }, checkPropTypes.resetWarningCache = function() {\n loggedTypeFailures = {};\n }, module.exports = checkPropTypes;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n function _objectWithoutProperties(source, excluded) {\n if (null == source) return {};\n var key, i, target = _objectWithoutPropertiesLoose(source, excluded);\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) key = sourceSymbolKeys[i], excluded.indexOf(key) >= 0 || Object.prototype.propertyIsEnumerable.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (null == source) return {};\n var key, i, target = {}, sourceKeys = Object.keys(source);\n for (i = 0; i < sourceKeys.length; i++) key = sourceKeys[i], excluded.indexOf(key) >= 0 || (target[key] = source[key]);\n return target;\n }\n function MediaQuery(_ref) {\n var children = _ref.children, device = _ref.device, onChange = _ref.onChange, settings = _objectWithoutProperties(_ref, [ \"children\", \"device\", \"onChange\" ]), matches = Object(__WEBPACK_IMPORTED_MODULE_0__useMediaQuery__.a)(settings, device, onChange);\n return \"function\" == typeof children ? children(matches) : matches ? children : null;\n }\n __webpack_exports__.a = MediaQuery;\n var __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__ = __webpack_require__(0);\n } ]);\n});\n//# sourceMappingURL=react-responsive.js.map","export type DocuSignThemeName = Capitalize<keyof typeof docuSignThemeName>\n\nexport const docuSignThemeName = {\n olive: 'Olive',\n ink: 'Ink',\n} as const\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _Flexbox = require('./Flexbox');\n\nvar _Flexbox2 = _interopRequireDefault(_Flexbox);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Flexbox2.default;","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { PluralCategory, SupportedLocaleName } from '../types'\nimport { logComponentErrorOnce } from '@ds/logging'\n\nexport const PLURAL_DEFAULT_CATEGORY = 'other'\n\n/**\n * Given a count, provide the best category for a plural phrase\n *\n * @param locale\n * @param count number of items being referenced in the plural phrase, e.g, \"{{PLURAL_COUNT}} envelopes\"\n * @param availableCategories category names provided for this translation, e.g. (\"one\", \"other\", \"many\")\n */\nexport function getPluralCategory(\n locale: SupportedLocaleName,\n count: number,\n availableCategories?: Set<PluralCategory>\n): PluralCategory {\n try {\n // Check if the count matches a specified exact match (e.g. \"=0\", \"=1\")\n const exactCat = `=${count}` as PluralCategory\n if (availableCategories?.has(exactCat)) {\n return exactCat\n }\n\n if (isIntlPluralRulesSupported()) {\n // Otherwise get the category from CLDR data\n const categoryFromCLDR = new Intl.PluralRules(locale).select(\n count\n ) as PluralCategory\n\n // We need to track when the category from CLDR is not available\n if (\n availableCategories === undefined ||\n availableCategories.size === 0 ||\n availableCategories.has(categoryFromCLDR)\n ) {\n return categoryFromCLDR\n }\n throw new Error(\n 'The available categories set does not contain the category from the CLDR.'\n )\n }\n } catch (err) {\n logComponentErrorOnce(\n {\n message: `Translation plural error locale=${locale} count=${count} categories=${availableCategories}`,\n error: err,\n meta: {\n locale,\n count,\n availableCategories: availableCategories\n ? Array.from(availableCategories)\n : [],\n },\n },\n 'i18nlayer.plurals'\n )\n }\n return count === 1 && availableCategories?.has('one') ? 'one' : 'other'\n}\n\nfunction isIntlPluralRulesSupported() {\n return window.Intl && window.Intl.PluralRules\n}\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","/**\n * Copyright (c) 2014-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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> 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 PromiseImpl(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, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\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","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.15.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) {\n if (options && options.unsafe && target[key]) target[key] = src[key];\n else redefine(target, key, src[key], options);\n } return target;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function () { /* empty */ };\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n","(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 }\n\n 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 }\n\n 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 }\n\n function _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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n 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\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n 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\n 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\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 }\n\n var Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback, options) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push({\n callback: callback,\n options: options\n });\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i].callback === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[event.type];\n var stackToCall = stack.slice();\n\n for (var i = 0, l = stackToCall.length; i < l; i++) {\n var listener = stackToCall[i];\n\n try {\n listener.callback.call(this, event);\n } catch (e) {\n Promise.resolve().then(function () {\n throw e;\n });\n }\n\n if (listener.options && listener.options.once) {\n this.removeEventListener(event.type, listener.callback);\n }\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this;\n\n _classCallCheck(this, AbortSignal);\n\n _this = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this.listeners) {\n Emitter.call(_assertThisInitialized(_this));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n /**\n * Note: the \"fetch.Request\" default value is available for fetch imported from\n * the \"node-fetch\" package and not in browsers. This is OK since browsers\n * will be importing umd-polyfill.js from that path \"self\" is passed the\n * decorator so the default value will not be used (because browsers that define\n * fetch also has Request). One quirky setup where self.fetch exists but\n * self.Request does not is when the \"unfetch\" minimal fetch polyfill is used\n * on top of IE11; for this case the browser will try to use the fetch.Request\n * default value which in turn will be undefined but then then \"if (Request)\"\n * will ensure that you get a patched fetch but still no Request (as expected).\n * @param {fetch, Request = fetch.Request}\n * @returns {fetch: abortableFetch, Request: AbortableRequest}\n */\n\n function abortableFetchDecorator(patchTargets) {\n if ('function' === typeof patchTargets) {\n patchTargets = {\n fetch: patchTargets\n };\n }\n\n var _patchTargets = patchTargets,\n fetch = _patchTargets.fetch,\n _patchTargets$Request = _patchTargets.Request,\n NativeRequest = _patchTargets$Request === void 0 ? fetch.Request : _patchTargets$Request,\n NativeAbortController = _patchTargets.AbortController,\n _patchTargets$__FORCE = _patchTargets.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL = _patchTargets$__FORCE === void 0 ? false : _patchTargets$__FORCE;\n\n if (!polyfillNeeded({\n fetch: fetch,\n Request: NativeRequest,\n AbortController: NativeAbortController,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL: __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL\n })) {\n return {\n fetch: fetch,\n Request: Request\n };\n }\n\n var Request = NativeRequest; // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // hence we only patch it if it's available. Also we don't patch it if signal\n // is already available on the Request prototype because in this case support\n // is present and the patching below can cause a crash since it assigns to\n // request.signal which is technically a read-only property. This latter error\n // happens when you run the main5.js node-fetch example in the repo\n // \"abortcontroller-polyfill-examples\". The exact error is:\n // request.signal = init.signal;\n // ^\n // TypeError: Cannot set property signal of #<Request> which has only a getter\n\n if (Request && !Request.prototype.hasOwnProperty('signal') || __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n Request = function Request(input, init) {\n var signal;\n\n if (init && init.signal) {\n signal = init.signal; // Never pass init.signal to the native Request implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.\n\n delete init.signal;\n }\n\n var request = new NativeRequest(input, init);\n\n if (signal) {\n Object.defineProperty(request, 'signal', {\n writable: false,\n enumerable: false,\n configurable: true,\n value: signal\n });\n }\n\n return request;\n };\n\n Request.prototype = NativeRequest.prototype;\n }\n\n var realFetch = fetch;\n\n var abortableFetch = function abortableFetch(input, init) {\n var signal = Request && Request.prototype.isPrototypeOf(input) ? input.signal : init ? init.signal : undefined;\n\n if (signal) {\n var abortError;\n\n try {\n abortError = new DOMException('Aborted', 'AbortError');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n abortError = new Error('Aborted');\n abortError.name = 'AbortError';\n } // Return early if already aborted, thus avoiding making an HTTP request\n\n\n if (signal.aborted) {\n return Promise.reject(abortError);\n } // Turn an event into a promise, reject it once `abort` is dispatched\n\n\n var cancellation = new Promise(function (_, reject) {\n signal.addEventListener('abort', function () {\n return reject(abortError);\n }, {\n once: true\n });\n });\n\n if (init && init.signal) {\n // Never pass .signal to the native implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to execute 'fetch' on 'Window': member signal is not of type AbortSignal.\n delete init.signal;\n } // Return the fastest promise (don't need to wait for request to finish)\n\n\n return Promise.race([cancellation, realFetch(input, init)]);\n }\n\n return realFetch(input, init);\n };\n\n return {\n fetch: abortableFetch,\n Request: Request\n };\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n if (!self.fetch) {\n console.warn('fetch() is not available, cannot install abortcontroller-polyfill');\n return;\n }\n\n var _abortableFetch = abortableFetchDecorator(self),\n fetch = _abortableFetch.fetch,\n Request = _abortableFetch.Request;\n\n self.fetch = fetch;\n self.Request = Request;\n Object.defineProperty(self, 'AbortController', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: AbortController\n });\n Object.defineProperty(self, 'AbortSignal', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: AbortSignal\n });\n })(typeof self !== 'undefined' ? self : global);\n\n})));\n","/*!\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","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","module.exports = function () { /* empty */ };\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.21.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.21.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) {\n if (options && options.unsafe && target[key]) target[key] = src[key];\n else redefine(target, key, src[key], options);\n } return target;\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","// Do not edit this file; automatically generated.\n\n/* eslint-disable */\n;(function(root, factory) {\n if (typeof define === 'function' && define.amd) { // AMD\n define([], factory);\n } else if (typeof exports === 'object') { // Node.js\n module.exports = factory();\n } else { // Browser\n root.Blockly = factory();\n }\n}(this, function() {\nconst $={};\n/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\nvar $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.createTemplateTagFirstArg=function(a){return a.raw=a};$jscomp.createTemplateTagFirstArgWithRaw=function(a,b){a.raw=b;return a};$jscomp.arrayIteratorImpl=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}};$jscomp.arrayIterator=function(a){return{next:$jscomp.arrayIteratorImpl(a)}};$jscomp.makeIterator=function(a){var b=\"undefined\"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):$jscomp.arrayIterator(a)};\n$jscomp.arrayFromIterator=function(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c};$jscomp.arrayFromIterable=function(a){return a instanceof Array?a:$jscomp.arrayFromIterator($jscomp.makeIterator(a))};$jscomp.owns=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;$jscomp.FORCE_POLYFILL_PROMISE=!1;\n$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};\n$jscomp.getGlobal=function(a){a=[\"object\"==typeof globalThis&&globalThis,a,\"object\"==typeof window&&window,\"object\"==typeof self&&self,\"object\"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error(\"Cannot find global object\");};$jscomp.global=$jscomp.getGlobal(this);$jscomp.IS_SYMBOL_NATIVE=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol(\"x\");$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE;$jscomp.polyfills={};\n$jscomp.propertyToPolyfillSymbol={};$jscomp.POLYFILL_PREFIX=\"$jscp$\";var $jscomp$lookupPolyfilledValue=function(a,b){var c=$jscomp.propertyToPolyfillSymbol[b];if(null==c)return a[b];c=a[c];return void 0!==c?c:a[b]};$jscomp.polyfill=function(a,b,c,d){b&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(a,b,c,d):$jscomp.polyfillUnisolated(a,b,c,d))};\n$jscomp.polyfillUnisolated=function(a,b,c,d){c=$jscomp.global;a=a.split(\".\");for(d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))return;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})};\n$jscomp.polyfillIsolated=function(a,b,c,d){var e=a.split(\".\");a=1===e.length;d=e[0];d=!a&&d in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var f=0;f<e.length-1;f++){var g=e[f];if(!(g in d))return;d=d[g]}e=e[e.length-1];c=$jscomp.IS_SYMBOL_NATIVE&&\"es6\"===c?d[e]:null;b=b(c);null!=b&&(a?$jscomp.defineProperty($jscomp.polyfills,e,{configurable:!0,writable:!0,value:b}):b!==c&&(void 0===$jscomp.propertyToPolyfillSymbol[e]&&(c=1E9*Math.random()>>>0,$jscomp.propertyToPolyfillSymbol[e]=$jscomp.IS_SYMBOL_NATIVE?\n$jscomp.global.Symbol(e):$jscomp.POLYFILL_PREFIX+c+\"$\"+e),$jscomp.defineProperty(d,$jscomp.propertyToPolyfillSymbol[e],{configurable:!0,writable:!0,value:b})))};$jscomp.assign=$jscomp.TRUST_ES6_POLYFILLS&&\"function\"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)$jscomp.owns(d,e)&&(a[e]=d[e])}return a};$jscomp.polyfill(\"Object.assign\",function(a){return a||$jscomp.assign},\"es6\",\"es3\");\n$jscomp.objectCreate=$jscomp.ASSUME_ES5||\"function\"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b};\n$jscomp.getConstructImplementation=function(){function a(){function c(){}new c;Reflect.construct(c,[],function(){});return new c instanceof c}if($jscomp.TRUST_ES6_POLYFILLS&&\"undefined\"!=typeof Reflect&&Reflect.construct){if(a())return Reflect.construct;var b=Reflect.construct;return function(c,d,e){c=b(c,d);e&&Reflect.setPrototypeOf(c,e.prototype);return c}}return function(c,d,e){void 0===e&&(e=c);e=$jscomp.objectCreate(e.prototype||Object.prototype);return Function.prototype.apply.call(c,e,d)||\ne}};$jscomp.construct={valueOf:$jscomp.getConstructImplementation}.valueOf();$jscomp.underscoreProtoCanBeSet=function(){var a={a:!0},b={};try{return b.__proto__=a,b.a}catch(c){}return!1};$jscomp.setPrototypeOf=$jscomp.TRUST_ES6_POLYFILLS&&\"function\"==typeof Object.setPrototypeOf?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+\" is not extensible\");return a}:null;\n$jscomp.inherits=function(a,b){a.prototype=$jscomp.objectCreate(b.prototype);a.prototype.constructor=a;if($jscomp.setPrototypeOf){var c=$jscomp.setPrototypeOf;c(a,b)}else for(c in b)if(\"prototype\"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.superClass_=b.prototype};$jscomp.polyfill(\"Reflect\",function(a){return a?a:{}},\"es6\",\"es3\");$jscomp.polyfill(\"Reflect.construct\",function(a){return $jscomp.construct},\"es6\",\"es3\");\n$jscomp.polyfill(\"Reflect.setPrototypeOf\",function(a){if(a)return a;if($jscomp.setPrototypeOf){var b=$jscomp.setPrototypeOf;return function(c,d){try{return b(c,d),!0}catch(e){return!1}}}return null},\"es6\",\"es5\");$jscomp.polyfill(\"globalThis\",function(a){return a||$jscomp.global},\"es_2020\",\"es3\");\n$jscomp.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError(\"The 'this' value for String.prototype.\"+c+\" must not be null or undefined\");if(b instanceof RegExp)throw new TypeError(\"First argument to String.prototype.\"+c+\" must not be a regular expression\");return a+\"\"};\n$jscomp.polyfill(\"String.prototype.startsWith\",function(a){return a?a:function(b,c){var d=$jscomp.checkStringArgs(this,b,\"startsWith\");b+=\"\";var e=d.length,f=b.length;c=Math.max(0,Math.min(c|0,d.length));for(var g=0;g<f&&c<e;)if(d[c++]!=b[g++])return!1;return g>=f}},\"es6\",\"es3\");$jscomp.initSymbol=function(){};\n$jscomp.polyfill(\"Symbol\",function(a){if(a)return a;var b=function(f,g){this.$jscomp$symbol$id_=f;$jscomp.defineProperty(this,\"description\",{configurable:!0,writable:!0,value:g})};b.prototype.toString=function(){return this.$jscomp$symbol$id_};var c=\"jscomp_symbol_\"+(1E9*Math.random()>>>0)+\"_\",d=0,e=function(f){if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return new b(c+(f||\"\")+\"_\"+d++,f)};return e},\"es6\",\"es3\");\n$jscomp.polyfill(\"Symbol.iterator\",function(a){if(a)return a;a=Symbol(\"Symbol.iterator\");for(var b=\"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array\".split(\" \"),c=0;c<b.length;c++){var d=$jscomp.global[b[c]];\"function\"===typeof d&&\"function\"!=typeof d.prototype[a]&&$jscomp.defineProperty(d.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}})}return a},\"es6\",\n\"es3\");$jscomp.iteratorPrototype=function(a){a={next:a};a[Symbol.iterator]=function(){return this};return a};$jscomp.iteratorFromArray=function(a,b){a instanceof String&&(a+=\"\");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var f=c++;return{value:b(f,a[f]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e};$jscomp.polyfill(\"Array.prototype.keys\",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b){return b})}},\"es6\",\"es3\");\n$jscomp.polyfill(\"Object.setPrototypeOf\",function(a){return a||$jscomp.setPrototypeOf},\"es6\",\"es5\");$jscomp.polyfill(\"Array.prototype.values\",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,c){return c})}},\"es8\",\"es3\");$jscomp.polyfill(\"Object.entries\",function(a){return a?a:function(b){var c=[],d;for(d in b)$jscomp.owns(b,d)&&c.push([d,b[d]]);return c}},\"es8\",\"es3\");\n$jscomp.polyfill(\"Object.getOwnPropertySymbols\",function(a){return a?a:function(){return[]}},\"es6\",\"es5\");$jscomp.polyfill(\"Reflect.ownKeys\",function(a){return a?a:function(b){var c=[],d=Object.getOwnPropertyNames(b);b=Object.getOwnPropertySymbols(b);for(var e=0;e<d.length;e++)(\"jscomp_symbol_\"==d[e].substring(0,14)?b:c).push(d[e]);return c.concat(b)}},\"es6\",\"es5\");\n$jscomp.polyfill(\"Object.getOwnPropertyDescriptors\",function(a){return a?a:function(b){for(var c={},d=Reflect.ownKeys(b),e=0;e<d.length;e++)c[d[e]]=Object.getOwnPropertyDescriptor(b,d[e]);return c}},\"es8\",\"es5\");$jscomp.polyfill(\"Array.prototype.fill\",function(a){return a?a:function(b,c,d){var e=this.length||0;0>c&&(c=Math.max(0,e+c));if(null==d||d>e)d=e;d=Number(d);0>d&&(d=Math.max(0,e+d));for(c=Number(c||0);c<d;c++)this[c]=b;return this}},\"es6\",\"es3\");\n$jscomp.typedArrayFill=function(a){return a?a:Array.prototype.fill};$jscomp.polyfill(\"Int8Array.prototype.fill\",$jscomp.typedArrayFill,\"es6\",\"es5\");$jscomp.polyfill(\"Uint8Array.prototype.fill\",$jscomp.typedArrayFill,\"es6\",\"es5\");$jscomp.polyfill(\"Uint8ClampedArray.prototype.fill\",$jscomp.typedArrayFill,\"es6\",\"es5\");$jscomp.polyfill(\"Int16Array.prototype.fill\",$jscomp.typedArrayFill,\"es6\",\"es5\");$jscomp.polyfill(\"Uint16Array.prototype.fill\",$jscomp.typedArrayFill,\"es6\",\"es5\");\n$jscomp.polyfill(\"Int32Array.prototype.fill\",$jscomp.typedArrayFill,\"es6\",\"es5\");$jscomp.polyfill(\"Uint32Array.prototype.fill\",$jscomp.typedArrayFill,\"es6\",\"es5\");$jscomp.polyfill(\"Float32Array.prototype.fill\",$jscomp.typedArrayFill,\"es6\",\"es5\");$jscomp.polyfill(\"Float64Array.prototype.fill\",$jscomp.typedArrayFill,\"es6\",\"es5\");$jscomp.polyfill(\"Object.is\",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}},\"es6\",\"es3\");\n$jscomp.polyfill(\"Array.prototype.includes\",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var f=d[c];if(f===b||Object.is(f,b))return!0}return!1}},\"es7\",\"es3\");$jscomp.polyfill(\"String.prototype.includes\",function(a){return a?a:function(b,c){return-1!==$jscomp.checkStringArgs(this,b,\"includes\").indexOf(b,c||0)}},\"es6\",\"es3\");var COMPILED=!0,goog=goog||{};goog.global=globalThis||root;\ngoog.define=function(a,b){return b};goog.DEBUG=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.provide=function(a){};goog.module=function(a){};goog.module.get=function(a){};goog.module.declareLegacyNamespace=function(){};goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||\"\",Error(\"Importing test-only code into non-debug environment\"+(a?\": \"+a:\".\"));};goog.require=function(a){};goog.requireType=function(a){};var module$exports$Blockly$utils$deprecation={warn:function(a,b,c,d){a=a+\" was deprecated on \"+b+\" and will be deleted on \"+c+\".\";d&&(a+=\"\\nUse \"+d+\" instead.\");console.warn(a)}};var module$exports$Blockly$Css={},module$contents$Blockly$Css_injected=!1;module$exports$Blockly$Css.register=function(a){if(module$contents$Blockly$Css_injected)throw Error(\"CSS already injected\");Array.isArray(a)?((0,module$exports$Blockly$utils$deprecation.warn)(\"Registering CSS by passing an array of strings\",\"September 2021\",\"September 2022\",\"css.register passing a multiline string\"),module$exports$Blockly$Css.content+=\"\\n\"+a.join(\"\\n\")):module$exports$Blockly$Css.content+=\"\\n\"+a};\nmodule$exports$Blockly$Css.inject=function(a,b){module$contents$Blockly$Css_injected||(module$contents$Blockly$Css_injected=!0,a&&(a=b.replace(/[\\\\/]$/,\"\"),b=module$exports$Blockly$Css.content.replace(/<<<PATH>>>/g,a),module$exports$Blockly$Css.content=\"\",a=document.createElement(\"style\"),a.id=\"blockly-common-style\",b=document.createTextNode(b),a.appendChild(b),document.head.insertBefore(a,document.head.firstChild)))};module$exports$Blockly$Css.content='\\n .blocklySvg {\\n background-color: #fff;\\n outline: none;\\n overflow: hidden; /* IE overflows by default. */\\n position: absolute;\\n display: block;\\n }\\n\\n .blocklyWidgetDiv {\\n display: none;\\n position: absolute;\\n z-index: 99999; /* big value for bootstrap3 compatibility */\\n }\\n\\n .injectionDiv {\\n height: 100%;\\n position: relative;\\n overflow: hidden; /* So blocks in drag surface disappear at edges */\\n touch-action: none;\\n }\\n\\n .blocklyNonSelectable {\\n user-select: none;\\n -ms-user-select: none;\\n -webkit-user-select: none;\\n }\\n\\n .blocklyWsDragSurface {\\n display: none;\\n position: absolute;\\n top: 0;\\n left: 0;\\n }\\n\\n /* Added as a separate rule with multiple classes to make it more specific\\n than a bootstrap rule that selects svg:root. See issue #1275 for context.\\n */\\n .blocklyWsDragSurface.blocklyOverflowVisible {\\n overflow: visible;\\n }\\n\\n .blocklyBlockDragSurface {\\n display: none;\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n overflow: visible !important;\\n z-index: 50; /* Display below toolbox, but above everything else. */\\n }\\n\\n .blocklyBlockCanvas.blocklyCanvasTransitioning,\\n .blocklyBubbleCanvas.blocklyCanvasTransitioning {\\n transition: transform .5s;\\n }\\n\\n .blocklyTooltipDiv {\\n background-color: #ffffc7;\\n border: 1px solid #ddc;\\n box-shadow: 4px 4px 20px 1px rgba(0,0,0,.15);\\n color: #000;\\n display: none;\\n font: 9pt sans-serif;\\n opacity: .9;\\n padding: 2px;\\n position: absolute;\\n z-index: 100000; /* big value for bootstrap3 compatibility */\\n }\\n\\n .blocklyDropDownDiv {\\n position: absolute;\\n left: 0;\\n top: 0;\\n z-index: 1000;\\n display: none;\\n border: 1px solid;\\n border-color: #dadce0;\\n background-color: #fff;\\n border-radius: 2px;\\n padding: 4px;\\n box-shadow: 0 0 3px 1px rgba(0,0,0,.3);\\n }\\n\\n .blocklyDropDownDiv.blocklyFocused {\\n box-shadow: 0 0 6px 1px rgba(0,0,0,.3);\\n }\\n\\n .blocklyDropDownContent {\\n max-height: 300px; // @todo: spec for maximum height.\\n overflow: auto;\\n overflow-x: hidden;\\n position: relative;\\n }\\n\\n .blocklyDropDownArrow {\\n position: absolute;\\n left: 0;\\n top: 0;\\n width: 16px;\\n height: 16px;\\n z-index: -1;\\n background-color: inherit;\\n border-color: inherit;\\n }\\n\\n .blocklyDropDownButton {\\n display: inline-block;\\n float: left;\\n padding: 0;\\n margin: 4px;\\n border-radius: 4px;\\n outline: none;\\n border: 1px solid;\\n transition: box-shadow .1s;\\n cursor: pointer;\\n }\\n\\n .blocklyArrowTop {\\n border-top: 1px solid;\\n border-left: 1px solid;\\n border-top-left-radius: 4px;\\n border-color: inherit;\\n }\\n\\n .blocklyArrowBottom {\\n border-bottom: 1px solid;\\n border-right: 1px solid;\\n border-bottom-right-radius: 4px;\\n border-color: inherit;\\n }\\n\\n .blocklyResizeSE {\\n cursor: se-resize;\\n fill: #aaa;\\n }\\n\\n .blocklyResizeSW {\\n cursor: sw-resize;\\n fill: #aaa;\\n }\\n\\n .blocklyResizeLine {\\n stroke: #515A5A;\\n stroke-width: 1;\\n }\\n\\n .blocklyHighlightedConnectionPath {\\n fill: none;\\n stroke: #fc3;\\n stroke-width: 4px;\\n }\\n\\n .blocklyPathLight {\\n fill: none;\\n stroke-linecap: round;\\n stroke-width: 1;\\n }\\n\\n .blocklySelected>.blocklyPathLight {\\n display: none;\\n }\\n\\n .blocklyDraggable {\\n /* backup for browsers (e.g. IE11) that don\\'t support grab */\\n cursor: url(\"<<<PATH>>>/handopen.cur\"), auto;\\n cursor: grab;\\n cursor: -webkit-grab;\\n }\\n\\n /* backup for browsers (e.g. IE11) that don\\'t support grabbing */\\n .blocklyDragging {\\n /* backup for browsers (e.g. IE11) that don\\'t support grabbing */\\n cursor: url(\"<<<PATH>>>/handclosed.cur\"), auto;\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n }\\n\\n /* Changes cursor on mouse down. Not effective in Firefox because of\\n https://bugzilla.mozilla.org/show_bug.cgi?id=771241 */\\n .blocklyDraggable:active {\\n /* backup for browsers (e.g. IE11) that don\\'t support grabbing */\\n cursor: url(\"<<<PATH>>>/handclosed.cur\"), auto;\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n }\\n\\n /* Change the cursor on the whole drag surface in case the mouse gets\\n ahead of block during a drag. This way the cursor is still a closed hand.\\n */\\n .blocklyBlockDragSurface .blocklyDraggable {\\n /* backup for browsers (e.g. IE11) that don\\'t support grabbing */\\n cursor: url(\"<<<PATH>>>/handclosed.cur\"), auto;\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n }\\n\\n .blocklyDragging.blocklyDraggingDelete {\\n cursor: url(\"<<<PATH>>>/handdelete.cur\"), auto;\\n }\\n\\n .blocklyDragging>.blocklyPath,\\n .blocklyDragging>.blocklyPathLight {\\n fill-opacity: .8;\\n stroke-opacity: .8;\\n }\\n\\n .blocklyDragging>.blocklyPathDark {\\n display: none;\\n }\\n\\n .blocklyDisabled>.blocklyPath {\\n fill-opacity: .5;\\n stroke-opacity: .5;\\n }\\n\\n .blocklyDisabled>.blocklyPathLight,\\n .blocklyDisabled>.blocklyPathDark {\\n display: none;\\n }\\n\\n .blocklyInsertionMarker>.blocklyPath,\\n .blocklyInsertionMarker>.blocklyPathLight,\\n .blocklyInsertionMarker>.blocklyPathDark {\\n fill-opacity: .2;\\n stroke: none;\\n }\\n\\n .blocklyMultilineText {\\n font-family: monospace;\\n }\\n\\n .blocklyNonEditableText>text {\\n pointer-events: none;\\n }\\n\\n .blocklyFlyout {\\n position: absolute;\\n z-index: 20;\\n }\\n\\n .blocklyText text {\\n cursor: default;\\n }\\n\\n /*\\n Don\\'t allow users to select text. It gets annoying when trying to\\n drag a block and selected text moves instead.\\n */\\n .blocklySvg text,\\n .blocklyBlockDragSurface text {\\n user-select: none;\\n -ms-user-select: none;\\n -webkit-user-select: none;\\n cursor: inherit;\\n }\\n\\n .blocklyHidden {\\n display: none;\\n }\\n\\n .blocklyFieldDropdown:not(.blocklyHidden) {\\n display: block;\\n }\\n\\n .blocklyIconGroup {\\n cursor: default;\\n }\\n\\n .blocklyIconGroup:not(:hover),\\n .blocklyIconGroupReadonly {\\n opacity: .6;\\n }\\n\\n .blocklyIconShape {\\n fill: #00f;\\n stroke: #fff;\\n stroke-width: 1px;\\n }\\n\\n .blocklyIconSymbol {\\n fill: #fff;\\n }\\n\\n .blocklyMinimalBody {\\n margin: 0;\\n padding: 0;\\n }\\n\\n .blocklyHtmlInput {\\n border: none;\\n border-radius: 4px;\\n height: 100%;\\n margin: 0;\\n outline: none;\\n padding: 0;\\n width: 100%;\\n text-align: center;\\n display: block;\\n box-sizing: border-box;\\n }\\n\\n /* Edge and IE introduce a close icon when the input value is longer than a\\n certain length. This affects our sizing calculations of the text input.\\n Hiding the close icon to avoid that. */\\n .blocklyHtmlInput::-ms-clear {\\n display: none;\\n }\\n\\n .blocklyMainBackground {\\n stroke-width: 1;\\n stroke: #c6c6c6; /* Equates to #ddd due to border being off-pixel. */\\n }\\n\\n .blocklyMutatorBackground {\\n fill: #fff;\\n stroke: #ddd;\\n stroke-width: 1;\\n }\\n\\n .blocklyFlyoutBackground {\\n fill: #ddd;\\n fill-opacity: .8;\\n }\\n\\n .blocklyMainWorkspaceScrollbar {\\n z-index: 20;\\n }\\n\\n .blocklyFlyoutScrollbar {\\n z-index: 30;\\n }\\n\\n .blocklyScrollbarHorizontal,\\n .blocklyScrollbarVertical {\\n position: absolute;\\n outline: none;\\n }\\n\\n .blocklyScrollbarBackground {\\n opacity: 0;\\n }\\n\\n .blocklyScrollbarHandle {\\n fill: #ccc;\\n }\\n\\n .blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,\\n .blocklyScrollbarHandle:hover {\\n fill: #bbb;\\n }\\n\\n /* Darken flyout scrollbars due to being on a grey background. */\\n /* By contrast, workspace scrollbars are on a white background. */\\n .blocklyFlyout .blocklyScrollbarHandle {\\n fill: #bbb;\\n }\\n\\n .blocklyFlyout .blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,\\n .blocklyFlyout .blocklyScrollbarHandle:hover {\\n fill: #aaa;\\n }\\n\\n .blocklyInvalidInput {\\n background: #faa;\\n }\\n\\n .blocklyVerticalMarker {\\n stroke-width: 3px;\\n fill: rgba(255,255,255,.5);\\n pointer-events: none;\\n }\\n\\n .blocklyComputeCanvas {\\n position: absolute;\\n width: 0;\\n height: 0;\\n }\\n\\n .blocklyNoPointerEvents {\\n pointer-events: none;\\n }\\n\\n .blocklyContextMenu {\\n border-radius: 4px;\\n max-height: 100%;\\n }\\n\\n .blocklyDropdownMenu {\\n border-radius: 2px;\\n padding: 0 !important;\\n }\\n\\n .blocklyDropdownMenu .blocklyMenuItem {\\n /* 28px on the left for icon or checkbox. */\\n padding-left: 28px;\\n }\\n\\n /* BiDi override for the resting state. */\\n .blocklyDropdownMenu .blocklyMenuItemRtl {\\n /* Flip left/right padding for BiDi. */\\n padding-left: 5px;\\n padding-right: 28px;\\n }\\n\\n .blocklyWidgetDiv .blocklyMenu {\\n background: #fff;\\n border: 1px solid transparent;\\n box-shadow: 0 0 3px 1px rgba(0,0,0,.3);\\n font: normal 13px Arial, sans-serif;\\n margin: 0;\\n outline: none;\\n padding: 4px 0;\\n position: absolute;\\n overflow-y: auto;\\n overflow-x: hidden;\\n max-height: 100%;\\n z-index: 20000; /* Arbitrary, but some apps depend on it... */\\n }\\n\\n .blocklyWidgetDiv .blocklyMenu.blocklyFocused {\\n box-shadow: 0 0 6px 1px rgba(0,0,0,.3);\\n }\\n\\n .blocklyDropDownDiv .blocklyMenu {\\n background: inherit; /* Compatibility with gapi, reset from goog-menu */\\n border: inherit; /* Compatibility with gapi, reset from goog-menu */\\n font: normal 13px \"Helvetica Neue\", Helvetica, sans-serif;\\n outline: none;\\n position: relative; /* Compatibility with gapi, reset from goog-menu */\\n z-index: 20000; /* Arbitrary, but some apps depend on it... */\\n }\\n\\n /* State: resting. */\\n .blocklyMenuItem {\\n border: none;\\n color: #000;\\n cursor: pointer;\\n list-style: none;\\n margin: 0;\\n /* 7em on the right for shortcut. */\\n min-width: 7em;\\n padding: 6px 15px;\\n white-space: nowrap;\\n }\\n\\n /* State: disabled. */\\n .blocklyMenuItemDisabled {\\n color: #ccc;\\n cursor: inherit;\\n }\\n\\n /* State: hover. */\\n .blocklyMenuItemHighlight {\\n background-color: rgba(0,0,0,.1);\\n }\\n\\n /* State: selected/checked. */\\n .blocklyMenuItemCheckbox {\\n height: 16px;\\n position: absolute;\\n width: 16px;\\n }\\n\\n .blocklyMenuItemSelected .blocklyMenuItemCheckbox {\\n background: url(<<<PATH>>>/sprites.png) no-repeat -48px -16px;\\n float: left;\\n margin-left: -24px;\\n position: static; /* Scroll with the menu. */\\n }\\n\\n .blocklyMenuItemRtl .blocklyMenuItemCheckbox {\\n float: right;\\n margin-right: -24px;\\n }\\n';var module$contents$Blockly$utils$string_wrapLine,module$contents$Blockly$utils$string_wrapScore,module$contents$Blockly$utils$string_wrapMutate,module$contents$Blockly$utils$string_wrapToText;\n$.module$exports$Blockly$utils$string={startsWith:function(a,b){return 0===a.lastIndexOf(b,0)},shortestStringLength:function(a){return a.length?a.reduce(function(b,c){return b.length<c.length?b:c}).length:0},commonWordPrefix:function(a,b){if(!a.length)return 0;if(1===a.length)return a[0].length;var c=0;b=b||(0,$.module$exports$Blockly$utils$string.shortestStringLength)(a);var d;for(d=0;d<b;d++){for(var e=a[0][d],f=1;f<a.length;f++)if(e!==a[f][d])return c;\" \"===e&&(c=d+1)}for(e=1;e<a.length;e++)if((f=\na[e][d])&&\" \"!==f)return c;return b},commonWordSuffix:function(a,b){if(!a.length)return 0;if(1===a.length)return a[0].length;var c=0;b=b||(0,$.module$exports$Blockly$utils$string.shortestStringLength)(a);var d;for(d=0;d<b;d++){for(var e=a[0].substr(-d-1,1),f=1;f<a.length;f++)if(e!==a[f].substr(-d-1,1))return c;\" \"===e&&(c=d+1)}for(e=1;e<a.length;e++)if((f=a[e].charAt(a[e].length-d-1))&&\" \"!==f)return c;return b},wrap:function(a,b){a=a.split(\"\\n\");for(var c=0;c<a.length;c++)a[c]=module$contents$Blockly$utils$string_wrapLine(a[c],\nb);return a.join(\"\\n\")}};module$contents$Blockly$utils$string_wrapLine=function(a,b){if(a.length<=b)return a;for(var c=a.trim().split(/\\s+/),d=0;d<c.length;d++)c[d].length>b&&(b=c[d].length);var e=-Infinity,f=1;do{d=e;var g=a;a=[];e=c.length/f;for(var h=1,k=0;k<c.length-1;k++)h<(k+1.5)/e?(h++,a[k]=!0):a[k]=!1;a=module$contents$Blockly$utils$string_wrapMutate(c,a,b);e=module$contents$Blockly$utils$string_wrapScore(c,a,b);a=module$contents$Blockly$utils$string_wrapToText(c,a);f++}while(e>d);return g};\nmodule$contents$Blockly$utils$string_wrapScore=function(a,b,c){for(var d=[0],e=[],f=0;f<a.length;f++)d[d.length-1]+=a[f].length,!0===b[f]?(d.push(0),e.push(a[f].charAt(a[f].length-1))):!1===b[f]&&d[d.length-1]++;a=Math.max.apply(Math,d);for(f=b=0;f<d.length;f++)b-=2*Math.pow(Math.abs(c-d[f]),1.5),b-=Math.pow(a-d[f],1.5),-1!==\".?!\".indexOf(e[f])?b+=c/3:-1!==\",;)]}\".indexOf(e[f])&&(b+=c/4);1<d.length&&d[d.length-1]<=d[d.length-2]&&(b+=.5);return b};\nmodule$contents$Blockly$utils$string_wrapMutate=function(a,b,c){for(var d=module$contents$Blockly$utils$string_wrapScore(a,b,c),e,f=0;f<b.length-1;f++)if(b[f]!==b[f+1]){var g=[].concat(b);g[f]=!g[f];g[f+1]=!g[f+1];var h=module$contents$Blockly$utils$string_wrapScore(a,g,c);h>d&&(d=h,e=g)}return e?module$contents$Blockly$utils$string_wrapMutate(a,e,c):b};module$contents$Blockly$utils$string_wrapToText=function(a,b){for(var c=[],d=0;d<a.length;d++)c.push(a[d]),void 0!==b[d]&&c.push(b[d]?\"\\n\":\" \");return c.join(\"\")};\n$.module$exports$Blockly$utils$string.isNumber=function(a){return/^\\s*-?\\d+(\\.\\d+)?\\s*$/.test(a)};$.module$exports$Blockly$ConnectionType={ConnectionType:{INPUT_VALUE:1,OUTPUT_VALUE:2,NEXT_STATEMENT:3,PREVIOUS_STATEMENT:4}};$.module$exports$Blockly$internalConstants={LINE_MODE_MULTIPLIER:40,PAGE_MODE_MULTIPLIER:125,DRAG_RADIUS:5,FLYOUT_DRAG_RADIUS:10,SNAP_RADIUS:28};$.module$exports$Blockly$internalConstants.CONNECTING_SNAP_RADIUS=$.module$exports$Blockly$internalConstants.SNAP_RADIUS;$.module$exports$Blockly$internalConstants.CURRENT_CONNECTION_PREFERENCE=8;$.module$exports$Blockly$internalConstants.BUMP_DELAY=250;$.module$exports$Blockly$internalConstants.BUMP_RANDOMNESS=10;\n$.module$exports$Blockly$internalConstants.COLLAPSE_CHARS=30;$.module$exports$Blockly$internalConstants.LONGPRESS=750;$.module$exports$Blockly$internalConstants.SOUND_LIMIT=100;$.module$exports$Blockly$internalConstants.DRAG_STACK=!0;$.module$exports$Blockly$internalConstants.SPRITE={width:96,height:124,url:\"sprites.png\"};$.module$exports$Blockly$internalConstants.DRAG_NONE=0;$.module$exports$Blockly$internalConstants.DRAG_STICKY=1;$.module$exports$Blockly$internalConstants.DRAG_BEGIN=1;\n$.module$exports$Blockly$internalConstants.DRAG_FREE=2;$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE=[];$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE]=$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE;$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE]=$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;\n$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT]=$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT;$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT]=$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT;$.module$exports$Blockly$internalConstants.RENAME_VARIABLE_ID=\"RENAME_VARIABLE_ID\";\n$.module$exports$Blockly$internalConstants.DELETE_VARIABLE_ID=\"DELETE_VARIABLE_ID\";$.module$exports$Blockly$utils$global={};$.module$exports$Blockly$utils$global.globalThis=function(){return\"object\"===typeof globalThis?globalThis:\"object\"===typeof self?self:\"object\"===typeof window?window:\"object\"===typeof global?global:this}();var module$exports$Blockly$Touch={};module$exports$Blockly$Touch.TOUCH_ENABLED=\"ontouchstart\"in $.module$exports$Blockly$utils$global.globalThis||!!($.module$exports$Blockly$utils$global.globalThis.document&&document.documentElement&&\"ontouchstart\"in document.documentElement)||!(!$.module$exports$Blockly$utils$global.globalThis.navigator||!$.module$exports$Blockly$utils$global.globalThis.navigator.maxTouchPoints&&!$.module$exports$Blockly$utils$global.globalThis.navigator.msMaxTouchPoints);\nvar module$contents$Blockly$Touch_touchIdentifier_=null;module$exports$Blockly$Touch.TOUCH_MAP={};\n$.module$exports$Blockly$utils$global.globalThis.PointerEvent?module$exports$Blockly$Touch.TOUCH_MAP={mousedown:[\"pointerdown\"],mouseenter:[\"pointerenter\"],mouseleave:[\"pointerleave\"],mousemove:[\"pointermove\"],mouseout:[\"pointerout\"],mouseover:[\"pointerover\"],mouseup:[\"pointerup\",\"pointercancel\"],touchend:[\"pointerup\"],touchcancel:[\"pointercancel\"]}:module$exports$Blockly$Touch.TOUCH_ENABLED&&(module$exports$Blockly$Touch.TOUCH_MAP={mousedown:[\"touchstart\"],mousemove:[\"touchmove\"],mouseup:[\"touchend\",\n\"touchcancel\"]});var module$contents$Blockly$Touch_longPid_=0;module$exports$Blockly$Touch.longStart=function(a,b){(0,module$exports$Blockly$Touch.longStop)();a.changedTouches&&1!==a.changedTouches.length||(module$contents$Blockly$Touch_longPid_=setTimeout(function(){a.changedTouches&&(a.button=2,a.clientX=a.changedTouches[0].clientX,a.clientY=a.changedTouches[0].clientY);b&&b.handleRightClick(a)},$.module$exports$Blockly$internalConstants.LONGPRESS))};\nmodule$exports$Blockly$Touch.longStop=function(){module$contents$Blockly$Touch_longPid_&&(clearTimeout(module$contents$Blockly$Touch_longPid_),module$contents$Blockly$Touch_longPid_=0)};module$exports$Blockly$Touch.clearTouchIdentifier=function(){module$contents$Blockly$Touch_touchIdentifier_=null};module$exports$Blockly$Touch.shouldHandleEvent=function(a){return!(0,module$exports$Blockly$Touch.isMouseOrTouchEvent)(a)||(0,module$exports$Blockly$Touch.checkTouchIdentifier)(a)};\nmodule$exports$Blockly$Touch.getTouchIdentifierFromEvent=function(a){return void 0!==a.pointerId?a.pointerId:a.changedTouches&&a.changedTouches[0]&&void 0!==a.changedTouches[0].identifier&&null!==a.changedTouches[0].identifier?a.changedTouches[0].identifier:\"mouse\"};\nmodule$exports$Blockly$Touch.checkTouchIdentifier=function(a){var b=(0,module$exports$Blockly$Touch.getTouchIdentifierFromEvent)(a);return void 0!==module$contents$Blockly$Touch_touchIdentifier_&&null!==module$contents$Blockly$Touch_touchIdentifier_?module$contents$Blockly$Touch_touchIdentifier_===b:\"mousedown\"===a.type||\"touchstart\"===a.type||\"pointerdown\"===a.type?(module$contents$Blockly$Touch_touchIdentifier_=b,!0):!1};\nmodule$exports$Blockly$Touch.setClientFromTouch=function(a){if((0,$.module$exports$Blockly$utils$string.startsWith)(a.type,\"touch\")){var b=a.changedTouches[0];a.clientX=b.clientX;a.clientY=b.clientY}};module$exports$Blockly$Touch.isMouseOrTouchEvent=function(a){return(0,$.module$exports$Blockly$utils$string.startsWith)(a.type,\"touch\")||(0,$.module$exports$Blockly$utils$string.startsWith)(a.type,\"mouse\")||(0,$.module$exports$Blockly$utils$string.startsWith)(a.type,\"pointer\")};\nmodule$exports$Blockly$Touch.isTouchEvent=function(a){return(0,$.module$exports$Blockly$utils$string.startsWith)(a.type,\"touch\")||(0,$.module$exports$Blockly$utils$string.startsWith)(a.type,\"pointer\")};\nmodule$exports$Blockly$Touch.splitEventByTouches=function(a){var b=[];if(a.changedTouches)for(var c=0;c<a.changedTouches.length;c++)b[c]={type:a.type,changedTouches:[a.changedTouches[c]],target:a.target,stopPropagation:function(){a.stopPropagation()},preventDefault:function(){a.preventDefault()}};else b.push(a);return b};var module$exports$Blockly$utils$userAgent={};\n(function(a){function b(d){return-1!==c.indexOf(d.toUpperCase())}module$exports$Blockly$utils$userAgent.raw=a;var c=module$exports$Blockly$utils$userAgent.raw.toUpperCase();module$exports$Blockly$utils$userAgent.IE=b(\"Trident\")||b(\"MSIE\");module$exports$Blockly$utils$userAgent.EDGE=b(\"Edge\");module$exports$Blockly$utils$userAgent.JavaFx=b(\"JavaFX\");module$exports$Blockly$utils$userAgent.CHROME=(b(\"Chrome\")||b(\"CriOS\"))&&!module$exports$Blockly$utils$userAgent.EDGE;module$exports$Blockly$utils$userAgent.WEBKIT=\nb(\"WebKit\")&&!module$exports$Blockly$utils$userAgent.EDGE;module$exports$Blockly$utils$userAgent.GECKO=b(\"Gecko\")&&!module$exports$Blockly$utils$userAgent.WEBKIT&&!module$exports$Blockly$utils$userAgent.IE&&!module$exports$Blockly$utils$userAgent.EDGE;module$exports$Blockly$utils$userAgent.ANDROID=b(\"Android\");a=$.module$exports$Blockly$utils$global.globalThis.navigator&&$.module$exports$Blockly$utils$global.globalThis.navigator.maxTouchPoints;module$exports$Blockly$utils$userAgent.IPAD=b(\"iPad\")||\nb(\"Macintosh\")&&0<a;module$exports$Blockly$utils$userAgent.IPOD=b(\"iPod\");module$exports$Blockly$utils$userAgent.IPHONE=b(\"iPhone\")&&!module$exports$Blockly$utils$userAgent.IPAD&&!module$exports$Blockly$utils$userAgent.IPOD;module$exports$Blockly$utils$userAgent.MAC=b(\"Macintosh\");module$exports$Blockly$utils$userAgent.TABLET=module$exports$Blockly$utils$userAgent.IPAD||module$exports$Blockly$utils$userAgent.ANDROID&&!b(\"Mobile\")||b(\"Silk\");module$exports$Blockly$utils$userAgent.MOBILE=!module$exports$Blockly$utils$userAgent.TABLET&&\n(module$exports$Blockly$utils$userAgent.IPOD||module$exports$Blockly$utils$userAgent.IPHONE||module$exports$Blockly$utils$userAgent.ANDROID||b(\"IEMobile\"))})($.module$exports$Blockly$utils$global.globalThis.navigator&&$.module$exports$Blockly$utils$global.globalThis.navigator.userAgent||\"\");var module$exports$Blockly$browserEvents={conditionalBind:function(a,b,c,d,e,f){var g=!1,h=function(p){var q=!e;p=(0,module$exports$Blockly$Touch.splitEventByTouches)(p);for(var r=0;r<p.length;r++){var t=p[r];if(!q||(0,module$exports$Blockly$Touch.shouldHandleEvent)(t))(0,module$exports$Blockly$Touch.setClientFromTouch)(t),c?d.call(c,t):d(t),g=!0}},k=[];if($.module$exports$Blockly$utils$global.globalThis.PointerEvent&&b in module$exports$Blockly$Touch.TOUCH_MAP)for(var l=0;l<module$exports$Blockly$Touch.TOUCH_MAP[b].length;l++){var m=\nmodule$exports$Blockly$Touch.TOUCH_MAP[b][l];a.addEventListener(m,h,!1);k.push([a,m,h])}else if(a.addEventListener(b,h,!1),k.push([a,b,h]),b in module$exports$Blockly$Touch.TOUCH_MAP)for(l=function(p){h(p);var q=!f;g&&q&&p.preventDefault()},m=0;m<module$exports$Blockly$Touch.TOUCH_MAP[b].length;m++){var n=module$exports$Blockly$Touch.TOUCH_MAP[b][m];a.addEventListener(n,l,!1);k.push([a,n,l])}return k},bind:function(a,b,c,d){var e=function(l){c?d.call(c,l):d(l)},f=[];if($.module$exports$Blockly$utils$global.globalThis.PointerEvent&&\nb in module$exports$Blockly$Touch.TOUCH_MAP)for(var g=0;g<module$exports$Blockly$Touch.TOUCH_MAP[b].length;g++){var h=module$exports$Blockly$Touch.TOUCH_MAP[b][g];a.addEventListener(h,e,!1);f.push([a,h,e])}else if(a.addEventListener(b,e,!1),f.push([a,b,e]),b in module$exports$Blockly$Touch.TOUCH_MAP)for(g=function(l){if(l.changedTouches&&1===l.changedTouches.length){var m=l.changedTouches[0];l.clientX=m.clientX;l.clientY=m.clientY}e(l);l.preventDefault()},h=0;h<module$exports$Blockly$Touch.TOUCH_MAP[b].length;h++){var k=\nmodule$exports$Blockly$Touch.TOUCH_MAP[b][h];a.addEventListener(k,g,!1);f.push([a,k,g])}return f},unbind:function(a){for(var b;a.length;){b=a.pop();var c=b[0],d=b[1];b=b[2];c.removeEventListener(d,b,!1)}return b},isTargetInput:function(a){return\"textarea\"===a.target.type||\"text\"===a.target.type||\"number\"===a.target.type||\"email\"===a.target.type||\"password\"===a.target.type||\"search\"===a.target.type||\"tel\"===a.target.type||\"url\"===a.target.type||a.target.isContentEditable||a.target.dataset&&\"true\"===\na.target.dataset.isTextInput},isRightButton:function(a){return a.ctrlKey&&module$exports$Blockly$utils$userAgent.MAC?!0:2===a.button},mouseToSvg:function(a,b,c){var d=b.createSVGPoint();d.x=a.clientX;d.y=a.clientY;c||(c=b.getScreenCTM().inverse());return d.matrixTransform(c)},getScrollDeltaPixels:function(a){switch(a.deltaMode){default:return{x:a.deltaX,y:a.deltaY};case 1:return{x:a.deltaX*$.module$exports$Blockly$internalConstants.LINE_MODE_MULTIPLIER,y:a.deltaY*$.module$exports$Blockly$internalConstants.LINE_MODE_MULTIPLIER};\ncase 2:return{x:a.deltaX*$.module$exports$Blockly$internalConstants.PAGE_MODE_MULTIPLIER,y:a.deltaY*$.module$exports$Blockly$internalConstants.PAGE_MODE_MULTIPLIER}}}};$.module$exports$Blockly$blocks={};$.module$exports$Blockly$blocks.Blocks=Object.create(null);var module$contents$Blockly$common_mainWorkspace;$.module$exports$Blockly$common={};$.module$exports$Blockly$common.getMainWorkspace=function(){return module$contents$Blockly$common_mainWorkspace};$.module$exports$Blockly$common.setMainWorkspace=function(a){module$contents$Blockly$common_mainWorkspace=a};var module$contents$Blockly$common_selected=null;$.module$exports$Blockly$common.getSelected=function(){return module$contents$Blockly$common_selected};\n$.module$exports$Blockly$common.setSelected=function(a){module$contents$Blockly$common_selected=a};var module$contents$Blockly$common_parentContainer;$.module$exports$Blockly$common.getParentContainer=function(){return module$contents$Blockly$common_parentContainer};$.module$exports$Blockly$common.setParentContainer=function(a){module$contents$Blockly$common_parentContainer=a};\n$.module$exports$Blockly$common.svgResize=function(a){for(;a.options.parentWorkspace;)a=a.options.parentWorkspace;var b=a.getParentSvg(),c=a.getCachedParentSvgSize(),d=b.parentNode;if(d){var e=d.offsetWidth;d=d.offsetHeight;c.width!==e&&(b.setAttribute(\"width\",e+\"px\"),a.setCachedParentSvgSize(e,null));c.height!==d&&(b.setAttribute(\"height\",d+\"px\"),a.setCachedParentSvgSize(null,d));a.resize()}};$.module$exports$Blockly$common.draggingConnections=[];\n$.module$exports$Blockly$common.getBlockTypeCounts=function(a,b){var c=Object.create(null),d=a.getDescendants(!0);b&&(a=a.getNextBlock())&&(a=d.indexOf(a),d.splice(a,d.length-a));for(a=0;b=d[a];a++)c[b.type]?c[b.type]++:c[b.type]=1;return c};var module$contents$Blockly$common_jsonInitFactory=function(a){return function(){this.jsonInit(a)}};\n$.module$exports$Blockly$common.defineBlocksWithJsonArray=function(a){for(var b=0;b<a.length;b++){var c=a[b];if(c){var d=c.type;d?($.module$exports$Blockly$blocks.Blocks[d]&&console.warn(\"Block definition #\"+b+' in JSON array overwrites prior definition of \"'+d+'\".'),$.module$exports$Blockly$blocks.Blocks[d]={init:module$contents$Blockly$common_jsonInitFactory(c)}):console.warn(\"Block definition #\"+b+\" in JSON array is missing a type attribute. Skipping.\")}else console.warn(\"Block definition #\"+b+\n\" in JSON array is \"+c+\". Skipping.\")}};var module$exports$Blockly$Tooltip={},module$contents$Blockly$Tooltip_visible=!1;module$exports$Blockly$Tooltip.isVisible=function(){return module$contents$Blockly$Tooltip_visible};Object.defineProperties(module$exports$Blockly$Tooltip,{visible:{get:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.Tooltip.visible\",\"September 2021\",\"September 2022\",\"Blockly.Tooltip.isVisible()\");return(0,module$exports$Blockly$Tooltip.isVisible)()}}});\nvar module$contents$Blockly$Tooltip_blocked=!1;module$exports$Blockly$Tooltip.LIMIT=50;var module$contents$Blockly$Tooltip_mouseOutPid=0,module$contents$Blockly$Tooltip_showPid=0,module$contents$Blockly$Tooltip_lastX=0,module$contents$Blockly$Tooltip_lastY=0,module$contents$Blockly$Tooltip_element=null,module$contents$Blockly$Tooltip_poisonedElement=null;module$exports$Blockly$Tooltip.OFFSET_X=0;module$exports$Blockly$Tooltip.OFFSET_Y=10;module$exports$Blockly$Tooltip.RADIUS_OK=10;\nmodule$exports$Blockly$Tooltip.HOVER_MS=750;module$exports$Blockly$Tooltip.MARGINS=5;var module$contents$Blockly$Tooltip_DIV=null;module$exports$Blockly$Tooltip.getDiv=function(){return module$contents$Blockly$Tooltip_DIV};Object.defineProperties(module$exports$Blockly$Tooltip,{DIV:{get:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.Tooltip.DIV\",\"September 2021\",\"September 2022\",\"Blockly.Tooltip.getDiv()\");return(0,module$exports$Blockly$Tooltip.getDiv)()}}});\nmodule$exports$Blockly$Tooltip.getTooltipOfObject=function(a){if(a=module$contents$Blockly$Tooltip_getTargetObject(a)){for(a=a.tooltip;\"function\"===typeof a;)a=a();if(\"string\"!==typeof a)throw Error(\"Tooltip function must return a string.\");return a}return\"\"};var module$contents$Blockly$Tooltip_getTargetObject=function(a){for(;a&&a.tooltip;){if(\"string\"===typeof a.tooltip||\"function\"===typeof a.tooltip)return a;a=a.tooltip}return null};\nmodule$exports$Blockly$Tooltip.createDom=function(){module$contents$Blockly$Tooltip_DIV||(module$contents$Blockly$Tooltip_DIV=document.createElement(\"div\"),module$contents$Blockly$Tooltip_DIV.className=\"blocklyTooltipDiv\",((0,$.module$exports$Blockly$common.getParentContainer)()||document.body).appendChild(module$contents$Blockly$Tooltip_DIV))};\nmodule$exports$Blockly$Tooltip.bindMouseEvents=function(a){a.mouseOverWrapper_=(0,module$exports$Blockly$browserEvents.bind)(a,\"mouseover\",null,module$contents$Blockly$Tooltip_onMouseOver);a.mouseOutWrapper_=(0,module$exports$Blockly$browserEvents.bind)(a,\"mouseout\",null,module$contents$Blockly$Tooltip_onMouseOut);a.addEventListener(\"mousemove\",module$contents$Blockly$Tooltip_onMouseMove,!1)};\nmodule$exports$Blockly$Tooltip.unbindMouseEvents=function(a){a&&((0,module$exports$Blockly$browserEvents.unbind)(a.mouseOverWrapper_),(0,module$exports$Blockly$browserEvents.unbind)(a.mouseOutWrapper_),a.removeEventListener(\"mousemove\",module$contents$Blockly$Tooltip_onMouseMove))};\nvar module$contents$Blockly$Tooltip_onMouseOver=function(a){module$contents$Blockly$Tooltip_blocked||(a=module$contents$Blockly$Tooltip_getTargetObject(a.currentTarget),module$contents$Blockly$Tooltip_element!==a&&((0,module$exports$Blockly$Tooltip.hide)(),module$contents$Blockly$Tooltip_poisonedElement=null,module$contents$Blockly$Tooltip_element=a),clearTimeout(module$contents$Blockly$Tooltip_mouseOutPid))},module$contents$Blockly$Tooltip_onMouseOut=function(a){module$contents$Blockly$Tooltip_blocked||\n(module$contents$Blockly$Tooltip_mouseOutPid=setTimeout(function(){module$contents$Blockly$Tooltip_poisonedElement=module$contents$Blockly$Tooltip_element=null;(0,module$exports$Blockly$Tooltip.hide)()},1),clearTimeout(module$contents$Blockly$Tooltip_showPid))},module$contents$Blockly$Tooltip_onMouseMove=function(a){if(module$contents$Blockly$Tooltip_element&&module$contents$Blockly$Tooltip_element.tooltip&&!module$contents$Blockly$Tooltip_blocked)if(module$contents$Blockly$Tooltip_visible){var b=\nmodule$contents$Blockly$Tooltip_lastX-a.pageX;a=module$contents$Blockly$Tooltip_lastY-a.pageY;Math.sqrt(b*b+a*a)>module$exports$Blockly$Tooltip.RADIUS_OK&&(0,module$exports$Blockly$Tooltip.hide)()}else module$contents$Blockly$Tooltip_poisonedElement!==module$contents$Blockly$Tooltip_element&&(clearTimeout(module$contents$Blockly$Tooltip_showPid),module$contents$Blockly$Tooltip_lastX=a.pageX,module$contents$Blockly$Tooltip_lastY=a.pageY,module$contents$Blockly$Tooltip_showPid=setTimeout(module$contents$Blockly$Tooltip_show,\nmodule$exports$Blockly$Tooltip.HOVER_MS))};module$exports$Blockly$Tooltip.dispose=function(){module$contents$Blockly$Tooltip_poisonedElement=module$contents$Blockly$Tooltip_element=null;(0,module$exports$Blockly$Tooltip.hide)()};module$exports$Blockly$Tooltip.hide=function(){module$contents$Blockly$Tooltip_visible&&(module$contents$Blockly$Tooltip_visible=!1,module$contents$Blockly$Tooltip_DIV&&(module$contents$Blockly$Tooltip_DIV.style.display=\"none\"));module$contents$Blockly$Tooltip_showPid&&clearTimeout(module$contents$Blockly$Tooltip_showPid)};\nmodule$exports$Blockly$Tooltip.block=function(){(0,module$exports$Blockly$Tooltip.hide)();module$contents$Blockly$Tooltip_blocked=!0};module$exports$Blockly$Tooltip.unblock=function(){module$contents$Blockly$Tooltip_blocked=!1};\nvar module$contents$Blockly$Tooltip_show=function(){if(!module$contents$Blockly$Tooltip_blocked&&(module$contents$Blockly$Tooltip_poisonedElement=module$contents$Blockly$Tooltip_element,module$contents$Blockly$Tooltip_DIV)){module$contents$Blockly$Tooltip_DIV.textContent=\"\";var a=(0,module$exports$Blockly$Tooltip.getTooltipOfObject)(module$contents$Blockly$Tooltip_element);a=(0,$.module$exports$Blockly$utils$string.wrap)(a,module$exports$Blockly$Tooltip.LIMIT);a=a.split(\"\\n\");for(var b=0;b<a.length;b++){var c=\ndocument.createElement(\"div\");c.appendChild(document.createTextNode(a[b]));module$contents$Blockly$Tooltip_DIV.appendChild(c)}a=module$contents$Blockly$Tooltip_element.RTL;b=document.documentElement.clientWidth;c=document.documentElement.clientHeight;module$contents$Blockly$Tooltip_DIV.style.direction=a?\"rtl\":\"ltr\";module$contents$Blockly$Tooltip_DIV.style.display=\"block\";module$contents$Blockly$Tooltip_visible=!0;var d=module$contents$Blockly$Tooltip_lastX;d=a?d-(module$exports$Blockly$Tooltip.OFFSET_X+\nmodule$contents$Blockly$Tooltip_DIV.offsetWidth):d+module$exports$Blockly$Tooltip.OFFSET_X;var e=module$contents$Blockly$Tooltip_lastY+module$exports$Blockly$Tooltip.OFFSET_Y;e+module$contents$Blockly$Tooltip_DIV.offsetHeight>c+window.scrollY&&(e-=module$contents$Blockly$Tooltip_DIV.offsetHeight+2*module$exports$Blockly$Tooltip.OFFSET_Y);a?d=Math.max(module$exports$Blockly$Tooltip.MARGINS-window.scrollX,d):d+module$contents$Blockly$Tooltip_DIV.offsetWidth>b+window.scrollX-2*module$exports$Blockly$Tooltip.MARGINS&&\n(d=b-module$contents$Blockly$Tooltip_DIV.offsetWidth-2*module$exports$Blockly$Tooltip.MARGINS);module$contents$Blockly$Tooltip_DIV.style.top=e+\"px\";module$contents$Blockly$Tooltip_DIV.style.left=d+\"px\"}};var module$exports$Blockly$utils$dom={SVG_NS:\"http://www.w3.org/2000/svg\",HTML_NS:\"http://www.w3.org/1999/xhtml\",XLINK_NS:\"http://www.w3.org/1999/xlink\",NodeType:{ELEMENT_NODE:1,TEXT_NODE:3,COMMENT_NODE:8,DOCUMENT_POSITION_CONTAINED_BY:16}},module$contents$Blockly$utils$dom_cacheWidths=null,module$contents$Blockly$utils$dom_cacheReference=0,module$contents$Blockly$utils$dom_canvasContext=null;\nmodule$exports$Blockly$utils$dom.createSvgElement=function(a,b,c){a=document.createElementNS(module$exports$Blockly$utils$dom.SVG_NS,String(a));for(var d in b)a.setAttribute(d,b[d]);document.body.runtimeStyle&&(a.runtimeStyle=a.currentStyle=a.style);c&&c.appendChild(a);return a};module$exports$Blockly$utils$dom.addClass=function(a,b){var c=a.getAttribute(\"class\")||\"\";if(-1!==(\" \"+c+\" \").indexOf(\" \"+b+\" \"))return!1;c&&(c+=\" \");a.setAttribute(\"class\",c+b);return!0};\nmodule$exports$Blockly$utils$dom.removeClasses=function(a,b){b=b.split(\" \");for(var c=0;c<b.length;c++)(0,module$exports$Blockly$utils$dom.removeClass)(a,b[c])};module$exports$Blockly$utils$dom.removeClass=function(a,b){var c=a.getAttribute(\"class\");if(-1===(\" \"+c+\" \").indexOf(\" \"+b+\" \"))return!1;c=c.split(/\\s+/);for(var d=0;d<c.length;d++)c[d]&&c[d]!==b||(c.splice(d,1),d--);c.length?a.setAttribute(\"class\",c.join(\" \")):a.removeAttribute(\"class\");return!0};\nmodule$exports$Blockly$utils$dom.hasClass=function(a,b){return-1!==(\" \"+a.getAttribute(\"class\")+\" \").indexOf(\" \"+b+\" \")};module$exports$Blockly$utils$dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};module$exports$Blockly$utils$dom.insertAfter=function(a,b){var c=b.nextSibling;b=b.parentNode;if(!b)throw Error(\"Reference node has no parent.\");c?b.insertBefore(a,c):b.appendChild(a)};\nmodule$exports$Blockly$utils$dom.containsNode=function(a,b){return!!(a.compareDocumentPosition(b)&module$exports$Blockly$utils$dom.NodeType.DOCUMENT_POSITION_CONTAINED_BY)};module$exports$Blockly$utils$dom.setCssTransform=function(a,b){a.style.transform=b;a.style[\"-webkit-transform\"]=b};module$exports$Blockly$utils$dom.startTextWidthCache=function(){module$contents$Blockly$utils$dom_cacheReference++;module$contents$Blockly$utils$dom_cacheWidths||(module$contents$Blockly$utils$dom_cacheWidths=Object.create(null))};\nmodule$exports$Blockly$utils$dom.stopTextWidthCache=function(){module$contents$Blockly$utils$dom_cacheReference--;module$contents$Blockly$utils$dom_cacheReference||(module$contents$Blockly$utils$dom_cacheWidths=null)};\nmodule$exports$Blockly$utils$dom.getTextWidth=function(a){var b=a.textContent+\"\\n\"+a.className.baseVal,c;if(module$contents$Blockly$utils$dom_cacheWidths&&(c=module$contents$Blockly$utils$dom_cacheWidths[b]))return c;try{c=module$exports$Blockly$utils$userAgent.IE||module$exports$Blockly$utils$userAgent.EDGE?a.getBBox().width:a.getComputedTextLength()}catch(d){return 8*a.textContent.length}module$contents$Blockly$utils$dom_cacheWidths&&(module$contents$Blockly$utils$dom_cacheWidths[b]=c);return c};\nmodule$exports$Blockly$utils$dom.getFastTextWidth=function(a,b,c,d){return(0,module$exports$Blockly$utils$dom.getFastTextWidthWithSizeString)(a,b+\"pt\",c,d)};\nmodule$exports$Blockly$utils$dom.getFastTextWidthWithSizeString=function(a,b,c,d){var e=a.textContent;a=e+\"\\n\"+a.className.baseVal;var f;if(module$contents$Blockly$utils$dom_cacheWidths&&(f=module$contents$Blockly$utils$dom_cacheWidths[a]))return f;module$contents$Blockly$utils$dom_canvasContext||(f=document.createElement(\"canvas\"),f.className=\"blocklyComputeCanvas\",document.body.appendChild(f),module$contents$Blockly$utils$dom_canvasContext=f.getContext(\"2d\"));module$contents$Blockly$utils$dom_canvasContext.font=\nc+\" \"+b+\" \"+d;f=module$contents$Blockly$utils$dom_canvasContext.measureText(e).width;module$contents$Blockly$utils$dom_cacheWidths&&(module$contents$Blockly$utils$dom_cacheWidths[a]=f);return f};\nmodule$exports$Blockly$utils$dom.measureFontMetrics=function(a,b,c,d){var e=document.createElement(\"span\");e.style.font=c+\" \"+b+\" \"+d;e.textContent=a;a=document.createElement(\"div\");a.style.width=\"1px\";a.style.height=0;b=document.createElement(\"div\");b.setAttribute(\"style\",\"position: fixed; top: 0; left: 0; display: flex;\");b.appendChild(e);b.appendChild(a);document.body.appendChild(b);c={height:0,baseline:0};try{b.style.alignItems=\"baseline\",c.baseline=a.offsetTop-e.offsetTop,b.style.alignItems=\n\"flex-end\",c.height=a.offsetTop-e.offsetTop}finally{document.body.removeChild(b)}return c};var module$exports$Blockly$WidgetDiv={},module$contents$Blockly$WidgetDiv_owner=null,module$contents$Blockly$WidgetDiv_dispose=null,module$contents$Blockly$WidgetDiv_rendererClassName=\"\",module$contents$Blockly$WidgetDiv_themeClassName=\"\",module$contents$Blockly$WidgetDiv_DIV;module$exports$Blockly$WidgetDiv.getDiv=function(){return module$contents$Blockly$WidgetDiv_DIV};module$exports$Blockly$WidgetDiv.testOnly_setDiv=function(a){module$contents$Blockly$WidgetDiv_DIV=a};\nObject.defineProperties(module$exports$Blockly$WidgetDiv,{DIV:{get:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.WidgetDiv.DIV\",\"September 2021\",\"September 2022\",\"Blockly.WidgetDiv.getDiv()\");return(0,module$exports$Blockly$WidgetDiv.getDiv)()}}});\nmodule$exports$Blockly$WidgetDiv.createDom=function(){module$contents$Blockly$WidgetDiv_DIV||(module$contents$Blockly$WidgetDiv_DIV=document.createElement(\"div\"),module$contents$Blockly$WidgetDiv_DIV.className=\"blocklyWidgetDiv\",((0,$.module$exports$Blockly$common.getParentContainer)()||document.body).appendChild(module$contents$Blockly$WidgetDiv_DIV))};\nmodule$exports$Blockly$WidgetDiv.show=function(a,b,c){(0,module$exports$Blockly$WidgetDiv.hide)();module$contents$Blockly$WidgetDiv_owner=a;module$contents$Blockly$WidgetDiv_dispose=c;a=module$contents$Blockly$WidgetDiv_DIV;a.style.direction=b?\"rtl\":\"ltr\";a.style.display=\"block\";b=(0,$.module$exports$Blockly$common.getMainWorkspace)();module$contents$Blockly$WidgetDiv_rendererClassName=b.getRenderer().getClassName();module$contents$Blockly$WidgetDiv_themeClassName=b.getTheme().getClassName();(0,module$exports$Blockly$utils$dom.addClass)(a,\nmodule$contents$Blockly$WidgetDiv_rendererClassName);(0,module$exports$Blockly$utils$dom.addClass)(a,module$contents$Blockly$WidgetDiv_themeClassName)};\nmodule$exports$Blockly$WidgetDiv.hide=function(){if((0,module$exports$Blockly$WidgetDiv.isVisible)()){module$contents$Blockly$WidgetDiv_owner=null;var a=module$contents$Blockly$WidgetDiv_DIV;a.style.display=\"none\";a.style.left=\"\";a.style.top=\"\";module$contents$Blockly$WidgetDiv_dispose&&module$contents$Blockly$WidgetDiv_dispose();module$contents$Blockly$WidgetDiv_dispose=null;a.textContent=\"\";module$contents$Blockly$WidgetDiv_rendererClassName&&((0,module$exports$Blockly$utils$dom.removeClass)(a,\nmodule$contents$Blockly$WidgetDiv_rendererClassName),module$contents$Blockly$WidgetDiv_rendererClassName=\"\");module$contents$Blockly$WidgetDiv_themeClassName&&((0,module$exports$Blockly$utils$dom.removeClass)(a,module$contents$Blockly$WidgetDiv_themeClassName),module$contents$Blockly$WidgetDiv_themeClassName=\"\");(0,$.module$exports$Blockly$common.getMainWorkspace)().markFocused()}};module$exports$Blockly$WidgetDiv.isVisible=function(){return!!module$contents$Blockly$WidgetDiv_owner};\nmodule$exports$Blockly$WidgetDiv.hideIfOwner=function(a){module$contents$Blockly$WidgetDiv_owner===a&&(0,module$exports$Blockly$WidgetDiv.hide)()};var module$contents$Blockly$WidgetDiv_positionInternal=function(a,b,c){module$contents$Blockly$WidgetDiv_DIV.style.left=a+\"px\";module$contents$Blockly$WidgetDiv_DIV.style.top=b+\"px\";module$contents$Blockly$WidgetDiv_DIV.style.height=c+\"px\"};\nmodule$exports$Blockly$WidgetDiv.positionWithAnchor=function(a,b,c,d){var e=module$contents$Blockly$WidgetDiv_calculateY(a,b,c);a=module$contents$Blockly$WidgetDiv_calculateX(a,b,c,d);0>e?module$contents$Blockly$WidgetDiv_positionInternal(a,0,c.height+e):module$contents$Blockly$WidgetDiv_positionInternal(a,e,c.height)};\nvar module$contents$Blockly$WidgetDiv_calculateX=function(a,b,c,d){return d?Math.min(Math.max(b.right-c.width,a.left),a.right-c.width):Math.max(Math.min(b.left,a.right-c.width),a.left)},module$contents$Blockly$WidgetDiv_calculateY=function(a,b,c){return b.bottom+c.height>=a.bottom?b.top-c.height:b.bottom};var module$exports$Blockly$utils$aria={},module$contents$Blockly$utils$aria_ARIA_PREFIX=\"aria-\",module$contents$Blockly$utils$aria_ROLE_ATTRIBUTE=\"role\";module$exports$Blockly$utils$aria.Role={GRID:\"grid\",GRIDCELL:\"gridcell\",GROUP:\"group\",LISTBOX:\"listbox\",MENU:\"menu\",MENUITEM:\"menuitem\",MENUITEMCHECKBOX:\"menuitemcheckbox\",OPTION:\"option\",PRESENTATION:\"presentation\",ROW:\"row\",TREE:\"tree\",TREEITEM:\"treeitem\"};\nmodule$exports$Blockly$utils$aria.State={ACTIVEDESCENDANT:\"activedescendant\",COLCOUNT:\"colcount\",DISABLED:\"disabled\",EXPANDED:\"expanded\",INVALID:\"invalid\",LABEL:\"label\",LABELLEDBY:\"labelledby\",LEVEL:\"level\",ORIENTATION:\"orientation\",POSINSET:\"posinset\",ROWCOUNT:\"rowcount\",SELECTED:\"selected\",SETSIZE:\"setsize\",VALUEMAX:\"valuemax\",VALUEMIN:\"valuemin\"};module$exports$Blockly$utils$aria.setRole=function(a,b){a.setAttribute(module$contents$Blockly$utils$aria_ROLE_ATTRIBUTE,b)};\nmodule$exports$Blockly$utils$aria.setState=function(a,b,c){Array.isArray(c)&&(c=c.join(\" \"));a.setAttribute(module$contents$Blockly$utils$aria_ARIA_PREFIX+b,c)};var module$exports$Blockly$utils$idGenerator={TEST_ONLY:{}},module$contents$Blockly$utils$idGenerator_nextId=0;module$exports$Blockly$utils$idGenerator.getNextUniqueId=function(){return\"blockly-\"+(module$contents$Blockly$utils$idGenerator_nextId++).toString(36)};var module$contents$Blockly$utils$idGenerator_soup=\"!#$%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\nmodule$exports$Blockly$utils$idGenerator.TEST_ONLY.genUid=function(){for(var a=module$contents$Blockly$utils$idGenerator_soup.length,b=[],c=0;20>c;c++)b[c]=module$contents$Blockly$utils$idGenerator_soup.charAt(Math.random()*a);return b.join(\"\")};module$exports$Blockly$utils$idGenerator.genUid=function(){return module$exports$Blockly$utils$idGenerator.TEST_ONLY.genUid()};var module$exports$Blockly$registry={},module$contents$Blockly$registry_typeMap=Object.create(null);module$exports$Blockly$registry.TEST_ONLY={typeMap:module$contents$Blockly$registry_typeMap};var module$contents$Blockly$registry_nameMap=Object.create(null);module$exports$Blockly$registry.DEFAULT=\"default\";module$exports$Blockly$registry.Type=function(a){this.name_=a};module$exports$Blockly$registry.Type.prototype.toString=function(){return this.name_};\nmodule$exports$Blockly$registry.Type.CONNECTION_CHECKER=new module$exports$Blockly$registry.Type(\"connectionChecker\");module$exports$Blockly$registry.Type.CURSOR=new module$exports$Blockly$registry.Type(\"cursor\");module$exports$Blockly$registry.Type.EVENT=new module$exports$Blockly$registry.Type(\"event\");module$exports$Blockly$registry.Type.FIELD=new module$exports$Blockly$registry.Type(\"field\");module$exports$Blockly$registry.Type.RENDERER=new module$exports$Blockly$registry.Type(\"renderer\");\nmodule$exports$Blockly$registry.Type.TOOLBOX=new module$exports$Blockly$registry.Type(\"toolbox\");module$exports$Blockly$registry.Type.THEME=new module$exports$Blockly$registry.Type(\"theme\");module$exports$Blockly$registry.Type.TOOLBOX_ITEM=new module$exports$Blockly$registry.Type(\"toolboxItem\");module$exports$Blockly$registry.Type.FLYOUTS_VERTICAL_TOOLBOX=new module$exports$Blockly$registry.Type(\"flyoutsVerticalToolbox\");module$exports$Blockly$registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX=new module$exports$Blockly$registry.Type(\"flyoutsHorizontalToolbox\");\nmodule$exports$Blockly$registry.Type.METRICS_MANAGER=new module$exports$Blockly$registry.Type(\"metricsManager\");module$exports$Blockly$registry.Type.BLOCK_DRAGGER=new module$exports$Blockly$registry.Type(\"blockDragger\");module$exports$Blockly$registry.Type.SERIALIZER=new module$exports$Blockly$registry.Type(\"serializer\");\nmodule$exports$Blockly$registry.register=function(a,b,c,d){if(!(a instanceof module$exports$Blockly$registry.Type)&&\"string\"!==typeof a||\"\"===String(a).trim())throw Error('Invalid type \"'+a+'\". The type must be a non-empty string or a Blockly.registry.Type.');a=String(a).toLowerCase();if(\"string\"!==typeof b||\"\"===b.trim())throw Error('Invalid name \"'+b+'\". The name must be a non-empty string.');var e=b.toLowerCase();if(!c)throw Error(\"Can not register a null value\");var f=module$contents$Blockly$registry_typeMap[a],\ng=module$contents$Blockly$registry_nameMap[a];f||(f=module$contents$Blockly$registry_typeMap[a]=Object.create(null),g=module$contents$Blockly$registry_nameMap[a]=Object.create(null));module$contents$Blockly$registry_validate(a,c);if(!d&&f[e])throw Error('Name \"'+e+'\" with type \"'+a+'\" already registered.');f[e]=c;g[e]=b};\nvar module$contents$Blockly$registry_validate=function(a,b){switch(a){case String(module$exports$Blockly$registry.Type.FIELD):if(\"function\"!==typeof b.fromJson)throw Error('Type \"'+a+'\" must have a fromJson function');}};\nmodule$exports$Blockly$registry.unregister=function(a,b){a=String(a).toLowerCase();b=b.toLowerCase();var c=module$contents$Blockly$registry_typeMap[a];c&&c[b]?(delete module$contents$Blockly$registry_typeMap[a][b],delete module$contents$Blockly$registry_nameMap[a][b]):console.warn(\"Unable to unregister [\"+b+\"][\"+a+\"] from the registry.\")};\nvar module$contents$Blockly$registry_getItem=function(a,b,c){a=String(a).toLowerCase();b=b.toLowerCase();var d=module$contents$Blockly$registry_typeMap[a];if(!d||!d[b]){b=\"Unable to find [\"+b+\"][\"+a+\"] in the registry.\";if(c)throw Error(b+\" You must require or register a \"+a+\" plugin.\");console.warn(b);return null}return d[b]};module$exports$Blockly$registry.hasItem=function(a,b){a=String(a).toLowerCase();b=b.toLowerCase();return(a=module$contents$Blockly$registry_typeMap[a])?!!a[b]:!1};\nmodule$exports$Blockly$registry.getClass=function(a,b,c){return module$contents$Blockly$registry_getItem(a,b,c)};module$exports$Blockly$registry.getObject=function(a,b,c){return module$contents$Blockly$registry_getItem(a,b,c)};\nmodule$exports$Blockly$registry.getAllItems=function(a,b,c){a=String(a).toLowerCase();var d=module$contents$Blockly$registry_typeMap[a];if(!d){d=\"Unable to find [\"+a+\"] in the registry.\";if(c)throw Error(d+\" You must require or register a \"+a+\" plugin.\");console.warn(d);return null}if(!b)return d;a=module$contents$Blockly$registry_nameMap[a];c=Object.create(null);b=Object.keys(d);for(var e=0;e<b.length;e++){var f=b[e];c[a[f]]=d[f]}return c};\nmodule$exports$Blockly$registry.getClassFromOptions=function(a,b,c){b=b.plugins[a.toString()]||module$exports$Blockly$registry.DEFAULT;return\"function\"===typeof b?b:(0,module$exports$Blockly$registry.getClass)(a,b,c)};var module$exports$Blockly$Events$utils={},module$contents$Blockly$Events$utils_group=\"\",module$contents$Blockly$Events$utils_recordUndo=!0;module$exports$Blockly$Events$utils.setRecordUndo=function(a){module$contents$Blockly$Events$utils_recordUndo=a};module$exports$Blockly$Events$utils.getRecordUndo=function(){return module$contents$Blockly$Events$utils_recordUndo};var module$contents$Blockly$Events$utils_disabled=0;module$exports$Blockly$Events$utils.CREATE=\"create\";\nmodule$exports$Blockly$Events$utils.BLOCK_CREATE=module$exports$Blockly$Events$utils.CREATE;module$exports$Blockly$Events$utils.DELETE=\"delete\";module$exports$Blockly$Events$utils.BLOCK_DELETE=module$exports$Blockly$Events$utils.DELETE;module$exports$Blockly$Events$utils.CHANGE=\"change\";module$exports$Blockly$Events$utils.BLOCK_CHANGE=module$exports$Blockly$Events$utils.CHANGE;module$exports$Blockly$Events$utils.MOVE=\"move\";module$exports$Blockly$Events$utils.BLOCK_MOVE=module$exports$Blockly$Events$utils.MOVE;\nmodule$exports$Blockly$Events$utils.VAR_CREATE=\"var_create\";module$exports$Blockly$Events$utils.VAR_DELETE=\"var_delete\";module$exports$Blockly$Events$utils.VAR_RENAME=\"var_rename\";module$exports$Blockly$Events$utils.UI=\"ui\";module$exports$Blockly$Events$utils.BLOCK_DRAG=\"drag\";module$exports$Blockly$Events$utils.SELECTED=\"selected\";module$exports$Blockly$Events$utils.CLICK=\"click\";module$exports$Blockly$Events$utils.MARKER_MOVE=\"marker_move\";module$exports$Blockly$Events$utils.BUBBLE_OPEN=\"bubble_open\";\nmodule$exports$Blockly$Events$utils.TRASHCAN_OPEN=\"trashcan_open\";module$exports$Blockly$Events$utils.TOOLBOX_ITEM_SELECT=\"toolbox_item_select\";module$exports$Blockly$Events$utils.THEME_CHANGE=\"theme_change\";module$exports$Blockly$Events$utils.VIEWPORT_CHANGE=\"viewport_change\";module$exports$Blockly$Events$utils.COMMENT_CREATE=\"comment_create\";module$exports$Blockly$Events$utils.COMMENT_DELETE=\"comment_delete\";module$exports$Blockly$Events$utils.COMMENT_CHANGE=\"comment_change\";\nmodule$exports$Blockly$Events$utils.COMMENT_MOVE=\"comment_move\";module$exports$Blockly$Events$utils.FINISHED_LOADING=\"finished_loading\";module$exports$Blockly$Events$utils.BUMP_EVENTS=[module$exports$Blockly$Events$utils.CREATE,module$exports$Blockly$Events$utils.MOVE,module$exports$Blockly$Events$utils.COMMENT_CREATE,module$exports$Blockly$Events$utils.COMMENT_MOVE];var module$contents$Blockly$Events$utils_FIRE_QUEUE=[];\nmodule$exports$Blockly$Events$utils.fire=function(a){(0,module$exports$Blockly$Events$utils.isEnabled)()&&(module$contents$Blockly$Events$utils_FIRE_QUEUE.length||setTimeout(module$contents$Blockly$Events$utils_fireNow,0),module$contents$Blockly$Events$utils_FIRE_QUEUE.push(a))};\nvar module$contents$Blockly$Events$utils_fireNow=function(){for(var a=(0,module$exports$Blockly$Events$utils.filter)(module$contents$Blockly$Events$utils_FIRE_QUEUE,!0),b=module$contents$Blockly$Events$utils_FIRE_QUEUE.length=0,c;c=a[b];b++)if(c.workspaceId){var d=module$exports$Blockly$Workspace.Workspace.getById(c.workspaceId);d&&d.fireChangeListener(c)}};\nmodule$exports$Blockly$Events$utils.filter=function(a,b){a=a.slice();b||a.reverse();for(var c=[],d=Object.create(null),e=0,f=void 0;f=a[e];e++)if(!f.isNull()){var g=[f.isUiEvent?module$exports$Blockly$Events$utils.UI:f.type,f.blockId,f.workspaceId].join(\" \"),h=d[g],k=h?h.event:null;if(!h)d[g]={event:f,index:e},c.push(f);else if(f.type===module$exports$Blockly$Events$utils.MOVE&&h.index===e-1)k.newParentId=f.newParentId,k.newInputName=f.newInputName,k.newCoordinate=f.newCoordinate,h.index=e;else if(f.type===\nmodule$exports$Blockly$Events$utils.CHANGE&&f.element===k.element&&f.name===k.name)k.newValue=f.newValue;else if(f.type===module$exports$Blockly$Events$utils.VIEWPORT_CHANGE)k.viewTop=f.viewTop,k.viewLeft=f.viewLeft,k.scale=f.scale,k.oldScale=f.oldScale;else if(f.type!==module$exports$Blockly$Events$utils.CLICK||k.type!==module$exports$Blockly$Events$utils.BUBBLE_OPEN)d[g]={event:f,index:e},c.push(f)}a=c.filter(function(l){return!l.isNull()});b||a.reverse();b=1;for(c=void 0;c=a[b];b++)c.type===module$exports$Blockly$Events$utils.CHANGE&&\n\"mutation\"===c.element&&a.unshift(a.splice(b,1)[0]);return a};module$exports$Blockly$Events$utils.clearPendingUndo=function(){for(var a=0,b;b=module$contents$Blockly$Events$utils_FIRE_QUEUE[a];a++)b.recordUndo=!1};module$exports$Blockly$Events$utils.disable=function(){module$contents$Blockly$Events$utils_disabled++};module$exports$Blockly$Events$utils.enable=function(){module$contents$Blockly$Events$utils_disabled--};module$exports$Blockly$Events$utils.isEnabled=function(){return 0===module$contents$Blockly$Events$utils_disabled};\nmodule$exports$Blockly$Events$utils.getGroup=function(){return module$contents$Blockly$Events$utils_group};module$exports$Blockly$Events$utils.setGroup=function(a){module$contents$Blockly$Events$utils_group=\"boolean\"===typeof a?a?(0,module$exports$Blockly$utils$idGenerator.genUid)():\"\":a};module$exports$Blockly$Events$utils.getDescendantIds=function(a){var b=[];a=a.getDescendants(!1);for(var c=0,d;d=a[c];c++)b[c]=d.id;return b};\nmodule$exports$Blockly$Events$utils.fromJson=function(a,b){var c=(0,module$exports$Blockly$Events$utils.get)(a.type);if(!c)throw Error(\"Unknown event type.\");c=new c;c.fromJson(a);c.workspaceId=b.id;return c};module$exports$Blockly$Events$utils.get=function(a){return(0,module$exports$Blockly$registry.getClass)(module$exports$Blockly$registry.Type.EVENT,a)};\nmodule$exports$Blockly$Events$utils.disableOrphans=function(a){if((a.type===module$exports$Blockly$Events$utils.MOVE||a.type===module$exports$Blockly$Events$utils.CREATE)&&a.workspaceId){var b=module$exports$Blockly$Workspace.Workspace.getById(a.workspaceId),c=b.getBlockById(a.blockId);if(c){a=module$contents$Blockly$Events$utils_recordUndo;try{module$contents$Blockly$Events$utils_recordUndo=!1;var d=c.getParent();if(d&&d.isEnabled()){var e=c.getDescendants(!1);b=0;for(d=void 0;d=e[b];b++)d.setEnabled(!0)}else if((c.outputConnection||\nc.previousConnection)&&!b.isDragging()){do c.setEnabled(!1),c=c.getNextBlock();while(c)}}finally{module$contents$Blockly$Events$utils_recordUndo=a}}}};module$exports$Blockly$Events$utils.TEST_ONLY={FIRE_QUEUE:module$contents$Blockly$Events$utils_FIRE_QUEUE,fireNow:module$contents$Blockly$Events$utils_fireNow};var module$exports$Blockly$utils$math={toRadians:function(a){return a*Math.PI/180},toDegrees:function(a){return 180*a/Math.PI},clamp:function(a,b,c){if(c<a){var d=c;c=a;a=d}return Math.max(a,Math.min(b,c))}};var module$exports$Blockly$bumpObjects={bumpIntoBounds:function(a,b,c){var d=c.getBoundingRectangle(),e=d.right-d.left,f=(0,module$exports$Blockly$utils$math.clamp)(b.top,d.top,b.top+b.height-(d.bottom-d.top))-d.top,g=b.left;b=b.left+b.width-e;a.RTL?g=Math.min(b,g):b=Math.max(g,b);return(a=(0,module$exports$Blockly$utils$math.clamp)(g,d.left,b)-d.left)||f?(c.moveBy(a,f),!0):!1},bumpIntoBoundsHandler:function(a){return function(b){var c=a.getMetricsManager();if(c.hasFixedEdges()&&!a.isDragging())if(-1!==\nmodule$exports$Blockly$Events$utils.BUMP_EVENTS.indexOf(b.type)){c=c.getScrollMetrics(!0);var d=module$contents$Blockly$bumpObjects_extractObjectFromEvent(a,b);if(d){var e=(0,module$exports$Blockly$Events$utils.getGroup)();(0,module$exports$Blockly$Events$utils.setGroup)(b.group);(0,module$exports$Blockly$bumpObjects.bumpIntoBounds)(a,c,d)&&!b.group&&console.warn(\"Moved object in bounds but there was no event group. This may break undo.\");null!==e&&(0,module$exports$Blockly$Events$utils.setGroup)(e)}}else b.type===\nmodule$exports$Blockly$Events$utils.VIEWPORT_CHANGE&&b.scale>b.oldScale&&(0,module$exports$Blockly$bumpObjects.bumpTopObjectsIntoBounds)(a)}}},module$contents$Blockly$bumpObjects_extractObjectFromEvent=function(a,b){var c=null;switch(b.type){case module$exports$Blockly$Events$utils.CREATE:case module$exports$Blockly$Events$utils.MOVE:(c=a.getBlockById(b.blockId))&&(c=c.getRootBlock());break;case module$exports$Blockly$Events$utils.COMMENT_CREATE:case module$exports$Blockly$Events$utils.COMMENT_MOVE:c=\na.getCommentById(b.commentId)}return c};module$exports$Blockly$bumpObjects.bumpTopObjectsIntoBounds=function(a){var b=a.getMetricsManager();if(b.hasFixedEdges()&&!a.isDragging()){b=b.getScrollMetrics(!0);for(var c=a.getTopBoundedElements(),d=0,e;e=c[d];d++)(0,module$exports$Blockly$bumpObjects.bumpIntoBounds)(a,b,e)}};var module$exports$Blockly$utils$Coordinate={Coordinate:function(a,b){this.x=a;this.y=b}};module$exports$Blockly$utils$Coordinate.Coordinate.equals=function(a,b){return a===b?!0:a&&b?a.x===b.x&&a.y===b.y:!1};module$exports$Blockly$utils$Coordinate.Coordinate.distance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return Math.sqrt(c*c+a*a)};module$exports$Blockly$utils$Coordinate.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};\nmodule$exports$Blockly$utils$Coordinate.Coordinate.difference=function(a,b){return new module$exports$Blockly$utils$Coordinate.Coordinate(a.x-b.x,a.y-b.y)};module$exports$Blockly$utils$Coordinate.Coordinate.sum=function(a,b){return new module$exports$Blockly$utils$Coordinate.Coordinate(a.x+b.x,a.y+b.y)};module$exports$Blockly$utils$Coordinate.Coordinate.prototype.clone=function(){return new module$exports$Blockly$utils$Coordinate.Coordinate(this.x,this.y)};\nmodule$exports$Blockly$utils$Coordinate.Coordinate.prototype.scale=function(a){this.x*=a;this.y*=a;return this};module$exports$Blockly$utils$Coordinate.Coordinate.prototype.translate=function(a,b){this.x+=a;this.y+=b;return this};var module$exports$Blockly$utils$Size={Size:function(a,b){this.width=a;this.height=b}};module$exports$Blockly$utils$Size.Size.equals=function(a,b){return a===b?!0:a&&b?a.width===b.width&&a.height===b.height:!1};var module$exports$Blockly$utils$style={getSize:function(a){if(\"none\"!==module$contents$Blockly$utils$style_getStyle(a,\"display\"))return module$contents$Blockly$utils$style_getSizeWithDisplay(a);var b=a.style,c=b.display,d=b.visibility,e=b.position;b.visibility=\"hidden\";b.position=\"absolute\";b.display=\"inline\";var f=a.offsetWidth;a=a.offsetHeight;b.display=c;b.position=e;b.visibility=d;return new module$exports$Blockly$utils$Size.Size(f,a)}},module$contents$Blockly$utils$style_getSizeWithDisplay=\nfunction(a){return new module$exports$Blockly$utils$Size.Size(a.offsetWidth,a.offsetHeight)},module$contents$Blockly$utils$style_getStyle=function(a,b){return(0,module$exports$Blockly$utils$style.getComputedStyle)(a,b)||(0,module$exports$Blockly$utils$style.getCascadedStyle)(a,b)||a.style&&a.style[b]};\nmodule$exports$Blockly$utils$style.getComputedStyle=function(a,b){return document.defaultView&&document.defaultView.getComputedStyle&&(a=document.defaultView.getComputedStyle(a,null))?a[b]||a.getPropertyValue(b)||\"\":\"\"};module$exports$Blockly$utils$style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:null};\nmodule$exports$Blockly$utils$style.getPageOffset=function(a){var b=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0);a=a.getBoundingClientRect();var c=document.documentElement;c=new module$exports$Blockly$utils$Coordinate.Coordinate(window.pageXOffset||c.scrollLeft,window.pageYOffset||c.scrollTop);b.x=a.left+c.x;b.y=a.top+c.y;return b};\nmodule$exports$Blockly$utils$style.getViewportPageOffset=function(){var a=document.body,b=document.documentElement;return new module$exports$Blockly$utils$Coordinate.Coordinate(a.scrollLeft||b.scrollLeft,a.scrollTop||b.scrollTop)};module$exports$Blockly$utils$style.setElementShown=function(a,b){a.style.display=b?\"\":\"none\"};module$exports$Blockly$utils$style.isRightToLeft=function(a){return\"rtl\"===module$contents$Blockly$utils$style_getStyle(a,\"direction\")};\nmodule$exports$Blockly$utils$style.getBorderBox=function(a){var b=(0,module$exports$Blockly$utils$style.getComputedStyle)(a,\"borderLeftWidth\"),c=(0,module$exports$Blockly$utils$style.getComputedStyle)(a,\"borderRightWidth\"),d=(0,module$exports$Blockly$utils$style.getComputedStyle)(a,\"borderTopWidth\");a=(0,module$exports$Blockly$utils$style.getComputedStyle)(a,\"borderBottomWidth\");return{top:parseFloat(d),right:parseFloat(c),bottom:parseFloat(a),left:parseFloat(b)}};\nmodule$exports$Blockly$utils$style.scrollIntoContainerView=function(a,b,c){a=(0,module$exports$Blockly$utils$style.getContainerOffsetToScrollInto)(a,b,c);b.scrollLeft=a.x;b.scrollTop=a.y};\nmodule$exports$Blockly$utils$style.getContainerOffsetToScrollInto=function(a,b,c){var d=(0,module$exports$Blockly$utils$style.getPageOffset)(a),e=(0,module$exports$Blockly$utils$style.getPageOffset)(b),f=(0,module$exports$Blockly$utils$style.getBorderBox)(b),g=d.x-e.x-f.left;d=d.y-e.y-f.top;e=module$contents$Blockly$utils$style_getSizeWithDisplay(a);a=b.clientWidth-e.width;e=b.clientHeight-e.height;f=b.scrollLeft;b=b.scrollTop;c?(f+=g-a/2,b+=d-e/2):(f+=Math.min(g,Math.max(g-a,0)),b+=Math.min(d,Math.max(d-\ne,0)));return new module$exports$Blockly$utils$Coordinate.Coordinate(f,b)};var module$exports$Blockly$utils$Rect={Rect:function(a,b,c,d){this.top=a;this.bottom=b;this.left=c;this.right=d}};module$exports$Blockly$utils$Rect.Rect.prototype.contains=function(a,b){return a>=this.left&&a<=this.right&&b>=this.top&&b<=this.bottom};module$exports$Blockly$utils$Rect.Rect.prototype.intersects=function(a){return!(this.left>a.right||this.right<a.left||this.top>a.bottom||this.bottom<a.top)};var module$exports$Blockly$utils$svgMath={},module$contents$Blockly$utils$svgMath_XY_REGEX=/translate\\(\\s*([-+\\d.e]+)([ ,]\\s*([-+\\d.e]+)\\s*)?/,module$contents$Blockly$utils$svgMath_XY_STYLE_REGEX=/transform:\\s*translate(?:3d)?\\(\\s*([-+\\d.e]+)\\s*px([ ,]\\s*([-+\\d.e]+)\\s*px)?/;\nmodule$exports$Blockly$utils$svgMath.getRelativeXY=function(a){var b=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0),c=a.getAttribute(\"x\");c&&(b.x=parseInt(c,10));if(c=a.getAttribute(\"y\"))b.y=parseInt(c,10);if(c=(c=a.getAttribute(\"transform\"))&&c.match(module$contents$Blockly$utils$svgMath_XY_REGEX))b.x+=Number(c[1]),c[3]&&(b.y+=Number(c[3]));(a=a.getAttribute(\"style\"))&&-1<a.indexOf(\"translate\")&&(a=a.match(module$contents$Blockly$utils$svgMath_XY_STYLE_REGEX))&&(b.x+=Number(a[1]),a[3]&&\n(b.y+=Number(a[3])));return b};module$exports$Blockly$utils$svgMath.getInjectionDivXY=function(a){for(var b=0,c=0;a;){var d=(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(a);b+=d.x;c+=d.y;if(-1!==(\" \"+(a.getAttribute(\"class\")||\"\")+\" \").indexOf(\" injectionDiv \"))break;a=a.parentNode}return new module$exports$Blockly$utils$Coordinate.Coordinate(b,c)};\nmodule$exports$Blockly$utils$svgMath.is3dSupported=function(){if(void 0!==module$exports$Blockly$utils$svgMath.is3dSupported.cached_)return module$exports$Blockly$utils$svgMath.is3dSupported.cached_;if(!$.module$exports$Blockly$utils$global.globalThis.getComputedStyle)return!1;var a=document.createElement(\"p\"),b=\"none\",c={webkitTransform:\"-webkit-transform\",OTransform:\"-o-transform\",msTransform:\"-ms-transform\",MozTransform:\"-moz-transform\",transform:\"transform\"};document.body.insertBefore(a,null);\nfor(var d in c)if(void 0!==a.style[d]){a.style[d]=\"translate3d(1px,1px,1px)\";b=$.module$exports$Blockly$utils$global.globalThis.getComputedStyle(a);if(!b)return document.body.removeChild(a),!1;b=b.getPropertyValue(c[d])}document.body.removeChild(a);module$exports$Blockly$utils$svgMath.is3dSupported.cached_=\"none\"!==b;return module$exports$Blockly$utils$svgMath.is3dSupported.cached_};\nmodule$exports$Blockly$utils$svgMath.getViewportBBox=function(){var a=(0,module$exports$Blockly$utils$style.getViewportPageOffset)();return new module$exports$Blockly$utils$Rect.Rect(a.y,document.documentElement.clientHeight+a.y,a.x,document.documentElement.clientWidth+a.x)};\nmodule$exports$Blockly$utils$svgMath.getDocumentScroll=function(){var a=document.documentElement,b=window;return module$exports$Blockly$utils$userAgent.IE&&b.pageYOffset!==a.scrollTop?new module$exports$Blockly$utils$Coordinate.Coordinate(a.scrollLeft,a.scrollTop):new module$exports$Blockly$utils$Coordinate.Coordinate(b.pageXOffset||a.scrollLeft,b.pageYOffset||a.scrollTop)};\nmodule$exports$Blockly$utils$svgMath.screenToWsCoordinates=function(a,b){var c=b.x;b=b.y;var d=a.getInjectionDiv().getBoundingClientRect();c=new module$exports$Blockly$utils$Coordinate.Coordinate(c-d.left,b-d.top);b=a.getOriginOffsetInPixels();return module$exports$Blockly$utils$Coordinate.Coordinate.difference(c,b).scale(1/a.scale)};\nmodule$exports$Blockly$utils$svgMath.svgSize=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.svgSize\",\"March 2021\",\"March 2022\",\"workspace.getCachedParentSvgSize\");return new module$exports$Blockly$utils$Size.Size(a.cachedWidth_,a.cachedHeight_)};module$exports$Blockly$utils$svgMath.TEST_ONLY={XY_REGEX:module$contents$Blockly$utils$svgMath_XY_REGEX,XY_STYLE_REGEX:module$contents$Blockly$utils$svgMath_XY_STYLE_REGEX};var module$exports$Blockly$utils$Svg={Svg:function(a){this.tagName_=a}};module$exports$Blockly$utils$Svg.Svg.prototype.toString=function(){return this.tagName_};module$exports$Blockly$utils$Svg.Svg.ANIMATE=new module$exports$Blockly$utils$Svg.Svg(\"animate\");module$exports$Blockly$utils$Svg.Svg.CIRCLE=new module$exports$Blockly$utils$Svg.Svg(\"circle\");module$exports$Blockly$utils$Svg.Svg.CLIPPATH=new module$exports$Blockly$utils$Svg.Svg(\"clipPath\");module$exports$Blockly$utils$Svg.Svg.DEFS=new module$exports$Blockly$utils$Svg.Svg(\"defs\");\nmodule$exports$Blockly$utils$Svg.Svg.FECOMPOSITE=new module$exports$Blockly$utils$Svg.Svg(\"feComposite\");module$exports$Blockly$utils$Svg.Svg.FECOMPONENTTRANSFER=new module$exports$Blockly$utils$Svg.Svg(\"feComponentTransfer\");module$exports$Blockly$utils$Svg.Svg.FEFLOOD=new module$exports$Blockly$utils$Svg.Svg(\"feFlood\");module$exports$Blockly$utils$Svg.Svg.FEFUNCA=new module$exports$Blockly$utils$Svg.Svg(\"feFuncA\");module$exports$Blockly$utils$Svg.Svg.FEGAUSSIANBLUR=new module$exports$Blockly$utils$Svg.Svg(\"feGaussianBlur\");\nmodule$exports$Blockly$utils$Svg.Svg.FEPOINTLIGHT=new module$exports$Blockly$utils$Svg.Svg(\"fePointLight\");module$exports$Blockly$utils$Svg.Svg.FESPECULARLIGHTING=new module$exports$Blockly$utils$Svg.Svg(\"feSpecularLighting\");module$exports$Blockly$utils$Svg.Svg.FILTER=new module$exports$Blockly$utils$Svg.Svg(\"filter\");module$exports$Blockly$utils$Svg.Svg.FOREIGNOBJECT=new module$exports$Blockly$utils$Svg.Svg(\"foreignObject\");module$exports$Blockly$utils$Svg.Svg.G=new module$exports$Blockly$utils$Svg.Svg(\"g\");\nmodule$exports$Blockly$utils$Svg.Svg.IMAGE=new module$exports$Blockly$utils$Svg.Svg(\"image\");module$exports$Blockly$utils$Svg.Svg.LINE=new module$exports$Blockly$utils$Svg.Svg(\"line\");module$exports$Blockly$utils$Svg.Svg.PATH=new module$exports$Blockly$utils$Svg.Svg(\"path\");module$exports$Blockly$utils$Svg.Svg.PATTERN=new module$exports$Blockly$utils$Svg.Svg(\"pattern\");module$exports$Blockly$utils$Svg.Svg.POLYGON=new module$exports$Blockly$utils$Svg.Svg(\"polygon\");\nmodule$exports$Blockly$utils$Svg.Svg.RECT=new module$exports$Blockly$utils$Svg.Svg(\"rect\");module$exports$Blockly$utils$Svg.Svg.SVG=new module$exports$Blockly$utils$Svg.Svg(\"svg\");module$exports$Blockly$utils$Svg.Svg.TEXT=new module$exports$Blockly$utils$Svg.Svg(\"text\");module$exports$Blockly$utils$Svg.Svg.TSPAN=new module$exports$Blockly$utils$Svg.Svg(\"tspan\");var module$exports$Blockly$BlockDragSurfaceSvg={BlockDragSurfaceSvg:function(a){this.container_=a;this.createDom()}};module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.SVG_=null;module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.dragGroup_=null;module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.container_=null;module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.scale_=1;\nmodule$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.surfaceXY_=null;module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.childSurfaceXY_=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0);\nmodule$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.SVG,{xmlns:module$exports$Blockly$utils$dom.SVG_NS,\"xmlns:html\":module$exports$Blockly$utils$dom.HTML_NS,\"xmlns:xlink\":module$exports$Blockly$utils$dom.XLINK_NS,version:\"1.1\",\"class\":\"blocklyBlockDragSurface\"},this.container_),this.dragGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,\n{},this.SVG_))};module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.setBlocksAndShow=function(a){if(this.dragGroup_.childNodes.length)throw Error(\"Already dragging a block.\");this.dragGroup_.appendChild(a);this.SVG_.style.display=\"block\";this.surfaceXY_=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0)};\nmodule$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.translateAndScaleGroup=function(a,b,c){this.scale_=c;a=a.toFixed(0);b=b.toFixed(0);this.childSurfaceXY_.x=parseInt(a,10);this.childSurfaceXY_.y=parseInt(b,10);this.dragGroup_.setAttribute(\"transform\",\"translate(\"+a+\",\"+b+\") scale(\"+c+\")\")};\nmodule$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.translateSurfaceInternal_=function(){var a=this.surfaceXY_.x,b=this.surfaceXY_.y;a=a.toFixed(0);b=b.toFixed(0);this.SVG_.style.display=\"block\";(0,module$exports$Blockly$utils$dom.setCssTransform)(this.SVG_,\"translate3d(\"+a+\"px, \"+b+\"px, 0)\")};\nmodule$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.translateBy=function(a,b){this.surfaceXY_=new module$exports$Blockly$utils$Coordinate.Coordinate(this.surfaceXY_.x+a,this.surfaceXY_.y+b);this.translateSurfaceInternal_()};module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.translateSurface=function(a,b){this.surfaceXY_=new module$exports$Blockly$utils$Coordinate.Coordinate(a*this.scale_,b*this.scale_);this.translateSurfaceInternal_()};\nmodule$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.getSurfaceTranslation=function(){var a=(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(this.SVG_);return new module$exports$Blockly$utils$Coordinate.Coordinate(a.x/this.scale_,a.y/this.scale_)};module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.getGroup=function(){return this.dragGroup_};module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.getSvgRoot=function(){return this.SVG_};\nmodule$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.getCurrentBlock=function(){return this.dragGroup_.firstChild};module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.getWsTranslation=function(){return this.childSurfaceXY_.clone()};\nmodule$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg.prototype.clearAndHide=function(a){a?a.appendChild(this.getCurrentBlock()):this.dragGroup_.removeChild(this.getCurrentBlock());this.SVG_.style.display=\"none\";if(this.dragGroup_.childNodes.length)throw Error(\"Drag group was not cleared.\");this.surfaceXY_=null};var module$exports$Blockly$DropDownDiv={DropDownDiv:function(){}};module$exports$Blockly$DropDownDiv.DropDownDiv.ARROW_SIZE=16;module$exports$Blockly$DropDownDiv.DropDownDiv.BORDER_SIZE=1;module$exports$Blockly$DropDownDiv.DropDownDiv.ARROW_HORIZONTAL_PADDING=12;module$exports$Blockly$DropDownDiv.DropDownDiv.PADDING_Y=16;module$exports$Blockly$DropDownDiv.DropDownDiv.ANIMATION_TIME=.25;module$exports$Blockly$DropDownDiv.DropDownDiv.animateOutTimer_=null;\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.onHide_=null;module$exports$Blockly$DropDownDiv.DropDownDiv.rendererClassName_=\"\";module$exports$Blockly$DropDownDiv.DropDownDiv.themeClassName_=\"\";module$exports$Blockly$DropDownDiv.DropDownDiv.boundsElement_=null;module$exports$Blockly$DropDownDiv.DropDownDiv.owner_=null;module$exports$Blockly$DropDownDiv.DropDownDiv.positionToField_=null;\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.createDom=function(){if(!module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_){var a=document.createElement(\"div\");a.className=\"blocklyDropDownDiv\";((0,$.module$exports$Blockly$common.getParentContainer)()||document.body).appendChild(a);module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_=a;a=document.createElement(\"div\");a.className=\"blocklyDropDownContent\";module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.appendChild(a);module$exports$Blockly$DropDownDiv.DropDownDiv.content_=\na;a=document.createElement(\"div\");a.className=\"blocklyDropDownArrow\";module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.appendChild(a);module$exports$Blockly$DropDownDiv.DropDownDiv.arrow_=a;module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.style.opacity=0;module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.style.transition=\"transform \"+module$exports$Blockly$DropDownDiv.DropDownDiv.ANIMATION_TIME+\"s, opacity \"+module$exports$Blockly$DropDownDiv.DropDownDiv.ANIMATION_TIME+\"s\";module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.addEventListener(\"focusin\",\nfunction(){(0,module$exports$Blockly$utils$dom.addClass)(module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_,\"blocklyFocused\")});module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.addEventListener(\"focusout\",function(){(0,module$exports$Blockly$utils$dom.removeClass)(module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_,\"blocklyFocused\")})}};module$exports$Blockly$DropDownDiv.DropDownDiv.setBoundsElement=function(a){module$exports$Blockly$DropDownDiv.DropDownDiv.boundsElement_=a};\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.getContentDiv=function(){return module$exports$Blockly$DropDownDiv.DropDownDiv.content_};module$exports$Blockly$DropDownDiv.DropDownDiv.clearContent=function(){module$exports$Blockly$DropDownDiv.DropDownDiv.content_.textContent=\"\";module$exports$Blockly$DropDownDiv.DropDownDiv.content_.style.width=\"\"};\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.setColour=function(a,b){module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.style.backgroundColor=a;module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.style.borderColor=b};module$exports$Blockly$DropDownDiv.DropDownDiv.showPositionedByBlock=function(a,b,c,d){return module$contents$Blockly$DropDownDiv_showPositionedByRect(module$contents$Blockly$DropDownDiv_getScaledBboxOfBlock(b),a,c,d)};\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.showPositionedByField=function(a,b,c){module$exports$Blockly$DropDownDiv.DropDownDiv.positionToField_=!0;return module$contents$Blockly$DropDownDiv_showPositionedByRect(module$contents$Blockly$DropDownDiv_getScaledBboxOfField(a),a,b,c)};\nvar module$contents$Blockly$DropDownDiv_internal={},module$contents$Blockly$DropDownDiv_getScaledBboxOfBlock=function(a){var b=a.getSvgRoot(),c=b.getBBox(),d=a.workspace.scale;a=c.height*d;c=c.width*d;b=(0,module$exports$Blockly$utils$style.getPageOffset)(b);return new module$exports$Blockly$utils$Rect.Rect(b.y,b.y+a,b.x,b.x+c)},module$contents$Blockly$DropDownDiv_getScaledBboxOfField=function(a){a=a.getScaledBBox();return new module$exports$Blockly$utils$Rect.Rect(a.top,a.bottom,a.left,a.right)},\nmodule$contents$Blockly$DropDownDiv_showPositionedByRect=function(a,b,c,d){var e=a.left+(a.right-a.left)/2,f=a.bottom;a=a.top;d&&(a+=d);d=b.getSourceBlock();for(var g=d.workspace;g.options.parentWorkspace;)g=g.options.parentWorkspace;module$exports$Blockly$DropDownDiv.DropDownDiv.setBoundsElement(g.getParentSvg().parentNode);return module$exports$Blockly$DropDownDiv.DropDownDiv.show(b,d.RTL,e,f,e,a,c)};\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.show=function(a,b,c,d,e,f,g){module$exports$Blockly$DropDownDiv.DropDownDiv.owner_=a;module$exports$Blockly$DropDownDiv.DropDownDiv.onHide_=g||null;a=module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_;a.style.direction=b?\"rtl\":\"ltr\";b=(0,$.module$exports$Blockly$common.getMainWorkspace)();module$exports$Blockly$DropDownDiv.DropDownDiv.rendererClassName_=b.getRenderer().getClassName();module$exports$Blockly$DropDownDiv.DropDownDiv.themeClassName_=b.getTheme().getClassName();\n(0,module$exports$Blockly$utils$dom.addClass)(a,module$exports$Blockly$DropDownDiv.DropDownDiv.rendererClassName_);(0,module$exports$Blockly$utils$dom.addClass)(a,module$exports$Blockly$DropDownDiv.DropDownDiv.themeClassName_);return module$contents$Blockly$DropDownDiv_positionInternal(c,d,e,f)};\nmodule$contents$Blockly$DropDownDiv_internal.getBoundsInfo=function(){var a=(0,module$exports$Blockly$utils$style.getPageOffset)(module$exports$Blockly$DropDownDiv.DropDownDiv.boundsElement_),b=(0,module$exports$Blockly$utils$style.getSize)(module$exports$Blockly$DropDownDiv.DropDownDiv.boundsElement_);return{left:a.x,right:a.x+b.width,top:a.y,bottom:a.y+b.height,width:b.width,height:b.height}};\nmodule$contents$Blockly$DropDownDiv_internal.getPositionMetrics=function(a,b,c,d){var e=module$contents$Blockly$DropDownDiv_internal.getBoundsInfo(),f=(0,module$exports$Blockly$utils$style.getSize)(module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_);return b+f.height<e.bottom?module$contents$Blockly$DropDownDiv_getPositionBelowMetrics(a,b,e,f):d-f.height>e.top?module$contents$Blockly$DropDownDiv_getPositionAboveMetrics(c,d,e,f):b+f.height<document.documentElement.clientHeight?module$contents$Blockly$DropDownDiv_getPositionBelowMetrics(a,\nb,e,f):d-f.height>document.documentElement.clientTop?module$contents$Blockly$DropDownDiv_getPositionAboveMetrics(c,d,e,f):module$contents$Blockly$DropDownDiv_getPositionTopOfPageMetrics(a,e,f)};\nvar module$contents$Blockly$DropDownDiv_getPositionBelowMetrics=function(a,b,c,d){a=module$exports$Blockly$DropDownDiv.DropDownDiv.getPositionX(a,c.left,c.right,d.width);return{initialX:a.divX,initialY:b,finalX:a.divX,finalY:b+module$exports$Blockly$DropDownDiv.DropDownDiv.PADDING_Y,arrowX:a.arrowX,arrowY:-(module$exports$Blockly$DropDownDiv.DropDownDiv.ARROW_SIZE/2+module$exports$Blockly$DropDownDiv.DropDownDiv.BORDER_SIZE),arrowAtTop:!0,arrowVisible:!0}},module$contents$Blockly$DropDownDiv_getPositionAboveMetrics=\nfunction(a,b,c,d){a=module$exports$Blockly$DropDownDiv.DropDownDiv.getPositionX(a,c.left,c.right,d.width);return{initialX:a.divX,initialY:b-d.height,finalX:a.divX,finalY:b-d.height-module$exports$Blockly$DropDownDiv.DropDownDiv.PADDING_Y,arrowX:a.arrowX,arrowY:d.height-2*module$exports$Blockly$DropDownDiv.DropDownDiv.BORDER_SIZE-module$exports$Blockly$DropDownDiv.DropDownDiv.ARROW_SIZE/2,arrowAtTop:!1,arrowVisible:!0}},module$contents$Blockly$DropDownDiv_getPositionTopOfPageMetrics=function(a,b,c){a=\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.getPositionX(a,b.left,b.right,c.width);return{initialX:a.divX,initialY:0,finalX:a.divX,finalY:0,arrowAtTop:null,arrowX:null,arrowY:null,arrowVisible:!1}};\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.getPositionX=function(a,b,c,d){b=(0,module$exports$Blockly$utils$math.clamp)(b,a-d/2,c-d);a=a-module$exports$Blockly$DropDownDiv.DropDownDiv.ARROW_SIZE/2-b;c=module$exports$Blockly$DropDownDiv.DropDownDiv.ARROW_HORIZONTAL_PADDING;a=(0,module$exports$Blockly$utils$math.clamp)(c,a,d-c-module$exports$Blockly$DropDownDiv.DropDownDiv.ARROW_SIZE);return{arrowX:a,divX:b}};module$exports$Blockly$DropDownDiv.DropDownDiv.isVisible=function(){return!!module$exports$Blockly$DropDownDiv.DropDownDiv.owner_};\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.hideIfOwner=function(a,b){return module$exports$Blockly$DropDownDiv.DropDownDiv.owner_===a?(b?module$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation():module$exports$Blockly$DropDownDiv.DropDownDiv.hide(),!0):!1};\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.hide=function(){module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.style.transform=\"translate(0, 0)\";module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_.style.opacity=0;module$exports$Blockly$DropDownDiv.DropDownDiv.animateOutTimer_=setTimeout(function(){module$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation()},1E3*module$exports$Blockly$DropDownDiv.DropDownDiv.ANIMATION_TIME);module$exports$Blockly$DropDownDiv.DropDownDiv.onHide_&&(module$exports$Blockly$DropDownDiv.DropDownDiv.onHide_(),\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.onHide_=null)};\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation=function(){if(module$exports$Blockly$DropDownDiv.DropDownDiv.isVisible()){module$exports$Blockly$DropDownDiv.DropDownDiv.animateOutTimer_&&clearTimeout(module$exports$Blockly$DropDownDiv.DropDownDiv.animateOutTimer_);var a=module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_;a.style.transform=\"\";a.style.left=\"\";a.style.top=\"\";a.style.opacity=0;a.style.display=\"none\";a.style.backgroundColor=\"\";a.style.borderColor=\"\";module$exports$Blockly$DropDownDiv.DropDownDiv.onHide_&&\n(module$exports$Blockly$DropDownDiv.DropDownDiv.onHide_(),module$exports$Blockly$DropDownDiv.DropDownDiv.onHide_=null);module$exports$Blockly$DropDownDiv.DropDownDiv.clearContent();module$exports$Blockly$DropDownDiv.DropDownDiv.owner_=null;module$exports$Blockly$DropDownDiv.DropDownDiv.rendererClassName_&&((0,module$exports$Blockly$utils$dom.removeClass)(a,module$exports$Blockly$DropDownDiv.DropDownDiv.rendererClassName_),module$exports$Blockly$DropDownDiv.DropDownDiv.rendererClassName_=\"\");module$exports$Blockly$DropDownDiv.DropDownDiv.themeClassName_&&\n((0,module$exports$Blockly$utils$dom.removeClass)(a,module$exports$Blockly$DropDownDiv.DropDownDiv.themeClassName_),module$exports$Blockly$DropDownDiv.DropDownDiv.themeClassName_=\"\");(0,$.module$exports$Blockly$common.getMainWorkspace)().markFocused()}};\nvar module$contents$Blockly$DropDownDiv_positionInternal=function(a,b,c,d){a=module$contents$Blockly$DropDownDiv_internal.getPositionMetrics(a,b,c,d);a.arrowVisible?(module$exports$Blockly$DropDownDiv.DropDownDiv.arrow_.style.display=\"\",module$exports$Blockly$DropDownDiv.DropDownDiv.arrow_.style.transform=\"translate(\"+a.arrowX+\"px,\"+a.arrowY+\"px) rotate(45deg)\",module$exports$Blockly$DropDownDiv.DropDownDiv.arrow_.setAttribute(\"class\",a.arrowAtTop?\"blocklyDropDownArrow blocklyArrowTop\":\"blocklyDropDownArrow blocklyArrowBottom\")):\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.arrow_.style.display=\"none\";b=Math.floor(a.initialX);c=Math.floor(a.initialY);d=Math.floor(a.finalX);var e=Math.floor(a.finalY),f=module$exports$Blockly$DropDownDiv.DropDownDiv.DIV_;f.style.left=b+\"px\";f.style.top=c+\"px\";f.style.display=\"block\";f.style.opacity=1;f.style.transform=\"translate(\"+(d-b)+\"px,\"+(e-c)+\"px)\";return!!a.arrowAtTop};\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.repositionForWindowResize=function(){if(module$exports$Blockly$DropDownDiv.DropDownDiv.owner_){var a=module$exports$Blockly$DropDownDiv.DropDownDiv.owner_,b=a.getSourceBlock();a=module$exports$Blockly$DropDownDiv.DropDownDiv.positionToField_?module$contents$Blockly$DropDownDiv_getScaledBboxOfField(a):module$contents$Blockly$DropDownDiv_getScaledBboxOfBlock(b);b=a.left+(a.right-a.left)/2;module$contents$Blockly$DropDownDiv_positionInternal(b,a.bottom,\nb,a.top)}else module$exports$Blockly$DropDownDiv.DropDownDiv.hide()};module$exports$Blockly$DropDownDiv.DropDownDiv.TEST_ONLY=module$contents$Blockly$DropDownDiv_internal;var module$exports$Blockly$Grid={Grid:function(a,b){this.gridPattern_=a;this.spacing_=b.spacing;this.length_=b.length;this.line2_=(this.line1_=a.firstChild)&&this.line1_.nextSibling;this.snapToGrid_=b.snap}};module$exports$Blockly$Grid.Grid.prototype.scale_=1;module$exports$Blockly$Grid.Grid.prototype.dispose=function(){this.gridPattern_=null};module$exports$Blockly$Grid.Grid.prototype.shouldSnap=function(){return this.snapToGrid_};module$exports$Blockly$Grid.Grid.prototype.getSpacing=function(){return this.spacing_};\nmodule$exports$Blockly$Grid.Grid.prototype.getPatternId=function(){return this.gridPattern_.id};module$exports$Blockly$Grid.Grid.prototype.update=function(a){this.scale_=a;var b=this.spacing_*a||100;this.gridPattern_.setAttribute(\"width\",b);this.gridPattern_.setAttribute(\"height\",b);b=Math.floor(this.spacing_/2)+.5;var c=b-this.length_/2,d=b+this.length_/2;b*=a;c*=a;d*=a;this.setLineAttributes_(this.line1_,a,c,d,b,b);this.setLineAttributes_(this.line2_,a,b,b,c,d)};\nmodule$exports$Blockly$Grid.Grid.prototype.setLineAttributes_=function(a,b,c,d,e,f){a&&(a.setAttribute(\"stroke-width\",b),a.setAttribute(\"x1\",c),a.setAttribute(\"y1\",e),a.setAttribute(\"x2\",d),a.setAttribute(\"y2\",f))};module$exports$Blockly$Grid.Grid.prototype.moveTo=function(a,b){this.gridPattern_.setAttribute(\"x\",a);this.gridPattern_.setAttribute(\"y\",b);(module$exports$Blockly$utils$userAgent.IE||module$exports$Blockly$utils$userAgent.EDGE)&&this.update(this.scale_)};\nmodule$exports$Blockly$Grid.Grid.createDom=function(a,b,c){a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATTERN,{id:\"blocklyGridPattern\"+a,patternUnits:\"userSpaceOnUse\"},c);0<b.length&&0<b.spacing?((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,{stroke:b.colour},a),1<b.length&&(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,{stroke:b.colour},a)):(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,\n{},a);return a};$.module$exports$Blockly$Msg={};$.module$exports$Blockly$Msg.Msg=Object.create(null);var module$contents$Blockly$utils$xml_xmlDocument;$.module$exports$Blockly$utils$xml={NAME_SPACE:\"https://developers.google.com/blockly/xml\"};module$contents$Blockly$utils$xml_xmlDocument=$.module$exports$Blockly$utils$global.globalThis.document;$.module$exports$Blockly$utils$xml.getDocument=function(){return module$contents$Blockly$utils$xml_xmlDocument};$.module$exports$Blockly$utils$xml.setDocument=function(a){module$contents$Blockly$utils$xml_xmlDocument=a};\n$.module$exports$Blockly$utils$xml.createElement=function(a){return module$contents$Blockly$utils$xml_xmlDocument.createElementNS($.module$exports$Blockly$utils$xml.NAME_SPACE,a)};$.module$exports$Blockly$utils$xml.createTextNode=function(a){return module$contents$Blockly$utils$xml_xmlDocument.createTextNode(a)};$.module$exports$Blockly$utils$xml.textToDomDocument=function(a){return(new DOMParser).parseFromString(a,\"text/xml\")};$.module$exports$Blockly$utils$xml.domToText=function(a){return(new XMLSerializer).serializeToString(a)};$.module$exports$Blockly$inputTypes={};$.module$exports$Blockly$inputTypes.inputTypes={VALUE:$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE,STATEMENT:$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT,DUMMY:5};var module$contents$Blockly$Xml_fieldToDom,module$contents$Blockly$Xml_allFieldsToDom;\n$.module$exports$Blockly$Xml={workspaceToDom:function(a,b){var c=(0,$.module$exports$Blockly$utils$xml.createElement)(\"xml\"),d=(0,$.module$exports$Blockly$Xml.variablesToDom)($.module$exports$Blockly$Variables.allUsedVarModels(a));d.hasChildNodes()&&c.appendChild(d);d=a.getTopComments(!0);for(var e=0;e<d.length;e++)c.appendChild(d[e].toXmlWithXY(b));a=a.getTopBlocks(!0);for(d=0;d<a.length;d++)c.appendChild((0,$.module$exports$Blockly$Xml.blockToDomWithXY)(a[d],b));return c},variablesToDom:function(a){for(var b=\n(0,$.module$exports$Blockly$utils$xml.createElement)(\"variables\"),c=0;c<a.length;c++){var d=a[c],e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"variable\");e.appendChild((0,$.module$exports$Blockly$utils$xml.createTextNode)(d.name));d.type&&e.setAttribute(\"type\",d.type);e.id=d.getId();b.appendChild(e)}return b},blockToDomWithXY:function(a,b){if(a.isInsertionMarker()&&(a=a.getChildren(!1)[0],!a))return new DocumentFragment;var c;a.workspace.RTL&&(c=a.workspace.getWidth());b=(0,$.module$exports$Blockly$Xml.blockToDom)(a,\nb);var d=a.getRelativeToSurfaceXY();b.setAttribute(\"x\",Math.round(a.workspace.RTL?c-d.x:d.x));b.setAttribute(\"y\",Math.round(d.y));return b}};module$contents$Blockly$Xml_fieldToDom=function(a){if(a.isSerializable()){var b=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\");b.setAttribute(\"name\",a.name||\"\");return a.toXml(b)}return null};\nmodule$contents$Blockly$Xml_allFieldsToDom=function(a,b){for(var c=0;c<a.inputList.length;c++)for(var d=a.inputList[c],e=0;e<d.fieldRow.length;e++){var f=module$contents$Blockly$Xml_fieldToDom(d.fieldRow[e]);f&&b.appendChild(f)}};\n$.module$exports$Blockly$Xml.blockToDom=function(a,b){if(a.isInsertionMarker())return(b=a.getChildren(!1)[0])?(0,$.module$exports$Blockly$Xml.blockToDom)(b):new DocumentFragment;var c=(0,$.module$exports$Blockly$utils$xml.createElement)(a.isShadow()?\"shadow\":\"block\");c.setAttribute(\"type\",a.type);b||c.setAttribute(\"id\",a.id);if(a.mutationToDom){var d=a.mutationToDom();d&&(d.hasChildNodes()||d.hasAttributes())&&c.appendChild(d)}module$contents$Blockly$Xml_allFieldsToDom(a,c);if(d=a.getCommentText()){var e=\na.commentModel.size,f=a.commentModel.pinned,g=(0,$.module$exports$Blockly$utils$xml.createElement)(\"comment\");g.appendChild((0,$.module$exports$Blockly$utils$xml.createTextNode)(d));g.setAttribute(\"pinned\",f);g.setAttribute(\"h\",e.height);g.setAttribute(\"w\",e.width);c.appendChild(g)}a.data&&(d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"data\"),d.appendChild((0,$.module$exports$Blockly$utils$xml.createTextNode)(a.data)),c.appendChild(d));for(d=0;d<a.inputList.length;d++)if(e=a.inputList[d],\nf=void 0,g=!0,e.type!==$.module$exports$Blockly$inputTypes.inputTypes.DUMMY){var h=e.connection.targetBlock();e.type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE?f=(0,$.module$exports$Blockly$utils$xml.createElement)(\"value\"):e.type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT&&(f=(0,$.module$exports$Blockly$utils$xml.createElement)(\"statement\"));var k=e.connection.getShadowDom();!k||h&&h.isShadow()||f.appendChild(module$contents$Blockly$Xml_cloneShadow(k,b));h&&(h=(0,$.module$exports$Blockly$Xml.blockToDom)(h,\nb),h.nodeType===module$exports$Blockly$utils$dom.NodeType.ELEMENT_NODE&&(f.appendChild(h),g=!1));f.setAttribute(\"name\",e.name);g||c.appendChild(f)}void 0!==a.inputsInline&&a.inputsInline!==a.inputsInlineDefault&&c.setAttribute(\"inline\",a.inputsInline);a.isCollapsed()&&c.setAttribute(\"collapsed\",!0);a.isEnabled()||c.setAttribute(\"disabled\",!0);a.isDeletable()||a.isShadow()||c.setAttribute(\"deletable\",!1);a.isMovable()||a.isShadow()||c.setAttribute(\"movable\",!1);a.isEditable()||c.setAttribute(\"editable\",\n!1);d=a.getNextBlock();if(d&&(e=(0,$.module$exports$Blockly$Xml.blockToDom)(d,b),e.nodeType===module$exports$Blockly$utils$dom.NodeType.ELEMENT_NODE)){var l=(0,$.module$exports$Blockly$utils$xml.createElement)(\"next\");l.appendChild(e);c.appendChild(l)}a=a.nextConnection&&a.nextConnection.getShadowDom();!a||d&&d.isShadow()||l.appendChild(module$contents$Blockly$Xml_cloneShadow(a,b));return c};\nvar module$contents$Blockly$Xml_cloneShadow=function(a,b){for(var c=a=a.cloneNode(!0),d;c;)if(b&&\"shadow\"===c.nodeName&&c.removeAttribute(\"id\"),c.firstChild)c=c.firstChild;else{for(;c&&!c.nextSibling;)d=c,c=c.parentNode,d.nodeType===module$exports$Blockly$utils$dom.NodeType.TEXT_NODE&&\"\"===d.data.trim()&&c.firstChild!==d&&(0,module$exports$Blockly$utils$dom.removeNode)(d);c&&(d=c,c=c.nextSibling,d.nodeType===module$exports$Blockly$utils$dom.NodeType.TEXT_NODE&&\"\"===d.data.trim()&&(0,module$exports$Blockly$utils$dom.removeNode)(d))}return a};\n$.module$exports$Blockly$Xml.domToText=function(a){return(0,$.module$exports$Blockly$utils$xml.domToText)(a).replace(/<(\\w+)([^<]*)\\/>/g,\"<$1$2></$1>\")};$.module$exports$Blockly$Xml.domToPrettyText=function(a){a=(0,$.module$exports$Blockly$Xml.domToText)(a).split(\"<\");for(var b=\"\",c=1;c<a.length;c++){var d=a[c];\"/\"===d[0]&&(b=b.substring(2));a[c]=b+\"<\"+d;\"/\"!==d[0]&&\"/>\"!==d.slice(-2)&&(b+=\" \")}a=a.join(\"\\n\");a=a.replace(/(<(\\w+)\\b[^>]*>[^\\n]*)\\n *<\\/\\2>/g,\"$1</$2>\");return a.replace(/^\\n/,\"\")};\n$.module$exports$Blockly$Xml.textToDom=function(a){var b=(0,$.module$exports$Blockly$utils$xml.textToDomDocument)(a);if(!b||!b.documentElement||b.getElementsByTagName(\"parsererror\").length)throw Error(\"textToDom was unable to parse: \"+a);return b.documentElement};$.module$exports$Blockly$Xml.clearWorkspaceAndLoadFromXml=function(a,b){b.setResizesEnabled(!1);b.clear();a=(0,$.module$exports$Blockly$Xml.domToWorkspace)(a,b);b.setResizesEnabled(!0);return a};\n$.module$exports$Blockly$Xml.domToWorkspace=function(a,b){if(a instanceof module$exports$Blockly$Workspace.Workspace){var c=a;a=b;b=c;console.warn(\"Deprecated call to domToWorkspace, swap the arguments.\")}var d;b.RTL&&(d=b.getWidth());c=[];(0,module$exports$Blockly$utils$dom.startTextWidthCache)();var e=(0,module$exports$Blockly$Events$utils.getGroup)();e||(0,module$exports$Blockly$Events$utils.setGroup)(!0);b.setResizesEnabled&&b.setResizesEnabled(!1);var f=!0;try{for(var g=0,h=void 0;h=a.childNodes[g];g++){var k=\nh.nodeName.toLowerCase(),l=h;if(\"block\"===k||\"shadow\"===k&&!(0,module$exports$Blockly$Events$utils.getRecordUndo)()){var m=(0,$.module$exports$Blockly$Xml.domToBlock)(l,b);c.push(m.id);var n=l.hasAttribute(\"x\")?parseInt(l.getAttribute(\"x\"),10):10,p=l.hasAttribute(\"y\")?parseInt(l.getAttribute(\"y\"),10):10;isNaN(n)||isNaN(p)||m.moveBy(b.RTL?d-n:n,p);f=!1}else{if(\"shadow\"===k)throw TypeError(\"Shadow block cannot be a top-level block.\");if(\"comment\"===k)if(b.rendered){var q=module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg;\nq?q.fromXml(l,b,d):console.warn(\"Missing require for Blockly.WorkspaceCommentSvg, ignoring workspace comment.\")}else{var r=module$exports$Blockly$WorkspaceComment.WorkspaceComment;r?r.fromXml(l,b):console.warn(\"Missing require for Blockly.WorkspaceComment, ignoring workspace comment.\")}else if(\"variables\"===k){if(f)(0,$.module$exports$Blockly$Xml.domToVariables)(l,b);else throw Error(\"'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.\");\nf=!1}}}}finally{e||(0,module$exports$Blockly$Events$utils.setGroup)(!1),(0,module$exports$Blockly$utils$dom.stopTextWidthCache)()}b.setResizesEnabled&&b.setResizesEnabled(!0);(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.FINISHED_LOADING))(b));return c};\n$.module$exports$Blockly$Xml.appendDomToWorkspace=function(a,b){var c;Object.prototype.hasOwnProperty.call(b,\"scale\")&&(c=b.getBlocksBoundingBox());a=(0,$.module$exports$Blockly$Xml.domToWorkspace)(a,b);if(c&&c.top!==c.bottom){var d=c.bottom;c=b.RTL?c.right:c.left;for(var e=Infinity,f=-Infinity,g=Infinity,h=0;h<a.length;h++){var k=b.getBlockById(a[h]).getRelativeToSurfaceXY();k.y<g&&(g=k.y);k.x<e&&(e=k.x);k.x>f&&(f=k.x)}d=d-g+10;c=b.RTL?c-f:c-e;for(e=0;e<a.length;e++)b.getBlockById(a[e]).moveBy(c,\nd)}return a};\n$.module$exports$Blockly$Xml.domToBlock=function(a,b){if(a instanceof module$exports$Blockly$Workspace.Workspace){var c=a;a=b;b=c;console.warn(\"Deprecated call to domToBlock, swap the arguments.\")}(0,module$exports$Blockly$Events$utils.disable)();c=b.getAllVariables();try{var d=module$contents$Blockly$Xml_domToBlockHeadless(a,b);var e=d.getDescendants(!1);if(b.rendered){d.setConnectionTracking(!1);for(var f=e.length-1;0<=f;f--)e[f].initSvg();for(var g=e.length-1;0<=g;g--)e[g].render(!1);setTimeout(function(){d.disposed||\nd.setConnectionTracking(!0)},1);d.updateDisabled();b.resizeContents()}else for(var h=e.length-1;0<=h;h--)e[h].initModel()}finally{(0,module$exports$Blockly$Events$utils.enable)()}if((0,module$exports$Blockly$Events$utils.isEnabled)()){a=$.module$exports$Blockly$Variables.getAddedVariables(b,c);for(b=0;b<a.length;b++)e=a[b],(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.VAR_CREATE))(e));(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CREATE))(d))}return d};\n$.module$exports$Blockly$Xml.domToVariables=function(a,b){for(var c=0;c<a.childNodes.length;c++){var d=a.childNodes[c];if(d.nodeType===module$exports$Blockly$utils$dom.NodeType.ELEMENT_NODE){var e=d.getAttribute(\"type\"),f=d.getAttribute(\"id\");b.createVariable(d.textContent,e,f)}}};\nvar module$contents$Blockly$Xml_childNodeTagMap,module$contents$Blockly$Xml_mapSupportedXmlTags=function(a){for(var b={mutation:[],comment:[],data:[],field:[],input:[],next:[]},c=0;c<a.childNodes.length;c++){var d=a.childNodes[c];if(d.nodeType!==module$exports$Blockly$utils$dom.NodeType.TEXT_NODE)switch(d.nodeName.toLowerCase()){case \"mutation\":b.mutation.push(d);break;case \"comment\":if(!module$exports$Blockly$Comment){console.warn(\"Missing require for Comment, ignoring block comment.\");break}b.comment.push(d);\nbreak;case \"data\":b.data.push(d);break;case \"title\":case \"field\":b.field.push(d);break;case \"value\":case \"statement\":b.input.push(d);break;case \"next\":b.next.push(d);break;default:console.warn(\"Ignoring unknown tag: \"+d.nodeName)}}return b},module$contents$Blockly$Xml_applyMutationTagNodes=function(a,b){for(var c=!1,d=0;d<a.length;d++){var e=a[d];b.domToMutation&&(b.domToMutation(e),b.initSvg&&(c=!0))}return c},module$contents$Blockly$Xml_applyCommentTagNodes=function(a,b){for(var c=0;c<a.length;c++){var d=\na[c],e=d.textContent,f=\"true\"===d.getAttribute(\"pinned\"),g=parseInt(d.getAttribute(\"w\"),10);d=parseInt(d.getAttribute(\"h\"),10);b.setCommentText(e);b.commentModel.pinned=f;isNaN(g)||isNaN(d)||(b.commentModel.size=new module$exports$Blockly$utils$Size.Size(g,d));f&&b.getCommentIcon&&!b.isInFlyout&&setTimeout(function(){b.getCommentIcon().setVisible(!0)},1)}},module$contents$Blockly$Xml_applyDataTagNodes=function(a,b){for(var c=0;c<a.length;c++)b.data=a[c].textContent},module$contents$Blockly$Xml_applyFieldTagNodes=\nfunction(a,b){for(var c=0;c<a.length;c++){var d=a[c],e=d.getAttribute(\"name\");module$contents$Blockly$Xml_domToField(b,e,d)}},module$contents$Blockly$Xml_findChildBlocks=function(a){for(var b={childBlockElement:null,childShadowElement:null},c=0;c<a.childNodes.length;c++){var d=a.childNodes[c];d.nodeType===module$exports$Blockly$utils$dom.NodeType.ELEMENT_NODE&&(\"block\"===d.nodeName.toLowerCase()?b.childBlockElement=d:\"shadow\"===d.nodeName.toLowerCase()&&(b.childShadowElement=d))}return b},module$contents$Blockly$Xml_applyInputTagNodes=\nfunction(a,b,c,d){for(var e=0;e<a.length;e++){var f=a[e],g=f.getAttribute(\"name\"),h=c.getInput(g);if(!h){console.warn(\"Ignoring non-existent input \"+g+\" in block \"+d);break}f=module$contents$Blockly$Xml_findChildBlocks(f);if(f.childBlockElement){if(!h.connection)throw TypeError(\"Input connection does not exist.\");module$contents$Blockly$Xml_domToBlockHeadless(f.childBlockElement,b,h.connection,!1)}f.childShadowElement&&h.connection.setShadowDom(f.childShadowElement)}},module$contents$Blockly$Xml_applyNextTagNodes=\nfunction(a,b,c){for(var d=0;d<a.length;d++){var e=module$contents$Blockly$Xml_findChildBlocks(a[d]);if(e.childBlockElement){if(!c.nextConnection)throw TypeError(\"Next statement does not exist.\");if(c.nextConnection.isConnected())throw TypeError(\"Next statement is already connected.\");module$contents$Blockly$Xml_domToBlockHeadless(e.childBlockElement,b,c.nextConnection,!0)}e.childShadowElement&&c.nextConnection&&c.nextConnection.setShadowDom(e.childShadowElement)}},module$contents$Blockly$Xml_domToBlockHeadless=\nfunction(a,b,c,d){var e=a.getAttribute(\"type\");if(!e)throw TypeError(\"Block type unspecified: \"+a.outerHTML);var f=a.getAttribute(\"id\");f=b.newBlock(e,f);var g=module$contents$Blockly$Xml_mapSupportedXmlTags(a),h=module$contents$Blockly$Xml_applyMutationTagNodes(g.mutation,f);module$contents$Blockly$Xml_applyCommentTagNodes(g.comment,f);module$contents$Blockly$Xml_applyDataTagNodes(g.data,f);if(c)if(d)if(f.previousConnection)c.connect(f.previousConnection);else throw TypeError(\"Next block does not have previous statement.\");\nelse if(f.outputConnection)c.connect(f.outputConnection);else if(f.previousConnection)c.connect(f.previousConnection);else throw TypeError(\"Child block does not have output or previous statement.\");module$contents$Blockly$Xml_applyFieldTagNodes(g.field,f);module$contents$Blockly$Xml_applyInputTagNodes(g.input,b,f,e);module$contents$Blockly$Xml_applyNextTagNodes(g.next,b,f);h&&f.initSvg();(b=a.getAttribute(\"inline\"))&&f.setInputsInline(\"true\"===b);(b=a.getAttribute(\"disabled\"))&&f.setEnabled(\"true\"!==\nb&&\"disabled\"!==b);(b=a.getAttribute(\"deletable\"))&&f.setDeletable(\"true\"===b);(b=a.getAttribute(\"movable\"))&&f.setMovable(\"true\"===b);(b=a.getAttribute(\"editable\"))&&f.setEditable(\"true\"===b);(b=a.getAttribute(\"collapsed\"))&&f.setCollapsed(\"true\"===b);if(\"shadow\"===a.nodeName.toLowerCase()){a=f.getChildren(!1);for(b=0;b<a.length;b++)if(!a[b].isShadow())throw TypeError(\"Shadow block not allowed non-shadow child.\");if(f.getVarModels().length)throw TypeError(\"Shadow blocks cannot have variable references.\");\nf.setShadow(!0)}return f},module$contents$Blockly$Xml_domToField=function(a,b,c){var d=a.getField(b);d?d.fromXml(c):console.warn(\"Ignoring non-existent field \"+b+\" in block \"+a.type)};$.module$exports$Blockly$Xml.deleteNext=function(a){for(var b=0;b<a.childNodes.length;b++){var c=a.childNodes[b];if(\"next\"===c.nodeName.toLowerCase()){a.removeChild(c);break}}};var module$exports$Blockly$utils$toolbox={},module$contents$Blockly$utils$toolbox_CATEGORY_TOOLBOX_KIND=\"categoryToolbox\",module$contents$Blockly$utils$toolbox_FLYOUT_TOOLBOX_KIND=\"flyoutToolbox\";module$exports$Blockly$utils$toolbox.Position={TOP:0,BOTTOM:1,LEFT:2,RIGHT:3};\nmodule$exports$Blockly$utils$toolbox.convertToolboxDefToJson=function(a){if(!a)return null;if(a instanceof Element||\"string\"===typeof a)a=(0,module$exports$Blockly$utils$toolbox.parseToolboxTree)(a),a=module$contents$Blockly$utils$toolbox_convertToToolboxJson(a);module$contents$Blockly$utils$toolbox_validateToolbox(a);return a};\nvar module$contents$Blockly$utils$toolbox_validateToolbox=function(a){var b=a.kind;a=a.contents;if(b&&b!==module$contents$Blockly$utils$toolbox_FLYOUT_TOOLBOX_KIND&&b!==module$contents$Blockly$utils$toolbox_CATEGORY_TOOLBOX_KIND)throw Error(\"Invalid toolbox kind \"+b+\". Please supply either \"+module$contents$Blockly$utils$toolbox_FLYOUT_TOOLBOX_KIND+\" or \"+module$contents$Blockly$utils$toolbox_CATEGORY_TOOLBOX_KIND);if(!a)throw Error(\"Toolbox must have a contents attribute.\");};\nmodule$exports$Blockly$utils$toolbox.convertFlyoutDefToJsonArray=function(a){return a?a.contents?a.contents:Array.isArray(a)&&0<a.length&&!a[0].nodeType?a:module$contents$Blockly$utils$toolbox_xmlToJsonArray(a):[]};module$exports$Blockly$utils$toolbox.hasCategories=function(a){if(!a)return!1;var b=a.kind;return b?b===module$contents$Blockly$utils$toolbox_CATEGORY_TOOLBOX_KIND:!!a.contents.filter(function(c){return\"CATEGORY\"===c.kind.toUpperCase()}).length};\nmodule$exports$Blockly$utils$toolbox.isCategoryCollapsible=function(a){return a&&a.contents?!!a.contents.filter(function(b){return\"CATEGORY\"===b.kind.toUpperCase()}).length:!1};\nvar module$contents$Blockly$utils$toolbox_convertToToolboxJson=function(a){var b={contents:module$contents$Blockly$utils$toolbox_xmlToJsonArray(a)};a instanceof Node&&module$contents$Blockly$utils$toolbox_addAttributes(a,b);return b},module$contents$Blockly$utils$toolbox_xmlToJsonArray=function(a){var b=[],c=a.childNodes;c||(c=a);a=0;for(var d;d=c[a];a++)if(d.tagName){var e={},f=d.tagName.toUpperCase();e.kind=f;\"BLOCK\"===f?e.blockxml=d:d.childNodes&&0<d.childNodes.length&&(e.contents=module$contents$Blockly$utils$toolbox_xmlToJsonArray(d));\nmodule$contents$Blockly$utils$toolbox_addAttributes(d,e);b.push(e)}return b},module$contents$Blockly$utils$toolbox_addAttributes=function(a,b){for(var c=0;c<a.attributes.length;c++){var d=a.attributes[c];-1<d.nodeName.indexOf(\"css-\")?(b.cssconfig=b.cssconfig||{},b.cssconfig[d.nodeName.replace(\"css-\",\"\")]=d.value):b[d.nodeName]=d.value}};\nmodule$exports$Blockly$utils$toolbox.parseToolboxTree=function(a){if(a){if(\"string\"!==typeof a&&(module$exports$Blockly$utils$userAgent.IE&&a.outerHTML?a=a.outerHTML:a instanceof Element||(a=null)),\"string\"===typeof a&&(a=(0,$.module$exports$Blockly$Xml.textToDom)(a),\"xml\"!==a.nodeName.toLowerCase()))throw TypeError(\"Toolbox should be an <xml> document.\");}else a=null;return a};$.module$exports$Blockly$utils$object={inherits:function(a,b){a.superClass_=b.prototype;Object.setPrototypeOf(a,b);a.prototype=Object.create(b.prototype);a.prototype.constructor=a},mixin:function(a,b){for(var c in b)a[c]=b[c]},deepMerge:function(a,b){for(var c in b)a[c]=null!==b[c]&&\"object\"===typeof b[c]?(0,$.module$exports$Blockly$utils$object.deepMerge)(a[c]||Object.create(null),b[c]):b[c];return a},values:function(a){return Object.values?Object.values(a):Object.keys(a).map(function(b){return a[b]})}};var module$exports$Blockly$Theme={Theme:function(a,b,c,d){this.name=a;this.blockStyles=b||Object.create(null);this.categoryStyles=c||Object.create(null);this.componentStyles=d||Object.create(null);this.fontStyle=Object.create(null);this.startHats=null;(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.THEME,a,this)}};module$exports$Blockly$Theme.Theme.prototype.getClassName=function(){return this.name+\"-theme\"};\nmodule$exports$Blockly$Theme.Theme.prototype.setBlockStyle=function(a,b){this.blockStyles[a]=b};module$exports$Blockly$Theme.Theme.prototype.setCategoryStyle=function(a,b){this.categoryStyles[a]=b};module$exports$Blockly$Theme.Theme.prototype.getComponentStyle=function(a){return(a=this.componentStyles[a])&&\"string\"===typeof a&&this.getComponentStyle(a)?this.getComponentStyle(a):a?String(a):null};module$exports$Blockly$Theme.Theme.prototype.setComponentStyle=function(a,b){this.componentStyles[a]=b};\nmodule$exports$Blockly$Theme.Theme.prototype.setFontStyle=function(a){this.fontStyle=a};module$exports$Blockly$Theme.Theme.prototype.setStartHats=function(a){this.startHats=a};\nmodule$exports$Blockly$Theme.Theme.defineTheme=function(a,b){var c=new module$exports$Blockly$Theme.Theme(a),d=b.base;d&&(\"string\"===typeof d&&(d=(0,module$exports$Blockly$registry.getObject)(module$exports$Blockly$registry.Type.THEME,d)),d instanceof module$exports$Blockly$Theme.Theme&&((0,$.module$exports$Blockly$utils$object.deepMerge)(c,d),c.name=a));(0,$.module$exports$Blockly$utils$object.deepMerge)(c.blockStyles,b.blockStyles);(0,$.module$exports$Blockly$utils$object.deepMerge)(c.categoryStyles,\nb.categoryStyles);(0,$.module$exports$Blockly$utils$object.deepMerge)(c.componentStyles,b.componentStyles);(0,$.module$exports$Blockly$utils$object.deepMerge)(c.fontStyle,b.fontStyle);null!==b.startHats&&(c.startHats=b.startHats);return c};var module$exports$Blockly$Themes$Classic={},module$contents$Blockly$Themes$Classic_defaultBlockStyles={colour_blocks:{colourPrimary:\"20\"},list_blocks:{colourPrimary:\"260\"},logic_blocks:{colourPrimary:\"210\"},loop_blocks:{colourPrimary:\"120\"},math_blocks:{colourPrimary:\"230\"},procedure_blocks:{colourPrimary:\"290\"},text_blocks:{colourPrimary:\"160\"},variable_blocks:{colourPrimary:\"330\"},variable_dynamic_blocks:{colourPrimary:\"310\"},hat_blocks:{colourPrimary:\"330\",hat:\"cap\"}},module$contents$Blockly$Themes$Classic_categoryStyles=\n{colour_category:{colour:\"20\"},list_category:{colour:\"260\"},logic_category:{colour:\"210\"},loop_category:{colour:\"120\"},math_category:{colour:\"230\"},procedure_category:{colour:\"290\"},text_category:{colour:\"160\"},variable_category:{colour:\"330\"},variable_dynamic_category:{colour:\"310\"}};module$exports$Blockly$Themes$Classic.Classic=new module$exports$Blockly$Theme.Theme(\"classic\",module$contents$Blockly$Themes$Classic_defaultBlockStyles,module$contents$Blockly$Themes$Classic_categoryStyles);var module$exports$Blockly$Options={Options:function(a){var b=null,c=!1,d=!1,e=!1,f=!1,g=!1,h=!1,k=!!a.readOnly;k||(b=(0,module$exports$Blockly$utils$toolbox.convertToolboxDefToJson)(a.toolbox),c=(0,module$exports$Blockly$utils$toolbox.hasCategories)(b),d=a.trashcan,void 0===d&&(d=c),e=a.collapse,void 0===e&&(e=c),f=a.comments,void 0===f&&(f=c),g=a.disable,void 0===g&&(g=c),h=a.sounds,void 0===h&&(h=!0));var l=a.maxTrashcanContents;d?void 0===l&&(l=32):l=0;var m=!!a.rtl,n=a.horizontalLayout;void 0===\nn&&(n=!1);var p=a.toolboxPosition;p=\"end\"!==p;p=n?p?module$exports$Blockly$utils$toolbox.Position.TOP:module$exports$Blockly$utils$toolbox.Position.BOTTOM:p===m?module$exports$Blockly$utils$toolbox.Position.RIGHT:module$exports$Blockly$utils$toolbox.Position.LEFT;var q=a.css;void 0===q&&(q=!0);var r=\"https://blockly-demo.appspot.com/static/media/\";a.media?r=a.media:a.path&&(r=a.path+\"media/\");var t=void 0===a.oneBasedIndex?!0:!!a.oneBasedIndex;var u=a.renderer||\"geras\",v=a.plugins||{};this.RTL=m;\nthis.oneBasedIndex=t;this.collapse=e;this.comments=f;this.disable=g;this.readOnly=k;this.maxBlocks=a.maxBlocks||Infinity;this.maxInstances=a.maxInstances;this.pathToMedia=r;this.hasCategories=c;this.moveOptions=module$exports$Blockly$Options.Options.parseMoveOptions_(a,c);this.hasScrollbars=!!this.moveOptions.scrollbars;this.hasTrashcan=d;this.maxTrashcanContents=l;this.hasSounds=h;this.hasCss=q;this.horizontalLayout=n;this.languageTree=b;this.gridOptions=module$exports$Blockly$Options.Options.parseGridOptions_(a);\nthis.zoomOptions=module$exports$Blockly$Options.Options.parseZoomOptions_(a);this.toolboxPosition=p;this.theme=module$exports$Blockly$Options.Options.parseThemeOptions_(a);this.renderer=u;this.rendererOverrides=a.rendererOverrides;this.gridPattern=null;this.parentWorkspace=a.parentWorkspace;this.plugins=v}};\nmodule$exports$Blockly$Options.Options.parseMoveOptions_=function(a,b){var c=a.move||{},d={};void 0===c.scrollbars&&void 0===a.scrollbars?d.scrollbars=b:\"object\"===typeof c.scrollbars?(d.scrollbars={},d.scrollbars.horizontal=!!c.scrollbars.horizontal,d.scrollbars.vertical=!!c.scrollbars.vertical,d.scrollbars.horizontal&&d.scrollbars.vertical?d.scrollbars=!0:d.scrollbars.horizontal||d.scrollbars.vertical||(d.scrollbars=!1)):d.scrollbars=!!c.scrollbars||!!a.scrollbars;d.wheel=d.scrollbars&&void 0!==\nc.wheel?!!c.wheel:\"object\"===typeof d.scrollbars;d.drag=d.scrollbars?void 0===c.drag?!0:!!c.drag:!1;return d};\nmodule$exports$Blockly$Options.Options.parseZoomOptions_=function(a){a=a.zoom||{};var b={};b.controls=void 0===a.controls?!1:!!a.controls;b.wheel=void 0===a.wheel?!1:!!a.wheel;b.startScale=void 0===a.startScale?1:Number(a.startScale);b.maxScale=void 0===a.maxScale?3:Number(a.maxScale);b.minScale=void 0===a.minScale?.3:Number(a.minScale);b.scaleSpeed=void 0===a.scaleSpeed?1.2:Number(a.scaleSpeed);b.pinch=void 0===a.pinch?b.wheel||b.controls:!!a.pinch;return b};\nmodule$exports$Blockly$Options.Options.parseGridOptions_=function(a){a=a.grid||{};var b={};b.spacing=Number(a.spacing)||0;b.colour=a.colour||\"#888\";b.length=void 0===a.length?1:Number(a.length);b.snap=0<b.spacing&&!!a.snap;return b};\nmodule$exports$Blockly$Options.Options.parseThemeOptions_=function(a){a=a.theme||module$exports$Blockly$Themes$Classic.Classic;return\"string\"===typeof a?(0,module$exports$Blockly$registry.getObject)(module$exports$Blockly$registry.Type.THEME,a):a instanceof module$exports$Blockly$Theme.Theme?a:module$exports$Blockly$Theme.Theme.defineTheme(a.name||\"builtin\"+(0,module$exports$Blockly$utils$idGenerator.getNextUniqueId)(),a)};var module$exports$Blockly$Scrollbar={Scrollbar:function(a,b,c,d,e){this.workspace_=a;this.pair_=c||!1;this.horizontal_=b;this.margin_=void 0!==e?e:module$exports$Blockly$Scrollbar.Scrollbar.DEFAULT_SCROLLBAR_MARGIN;this.ratio=this.oldHostMetrics_=null;this.createDom_(d);this.position=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0);a=module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness;b?(this.svgBackground_.setAttribute(\"height\",a),this.outerSvg_.setAttribute(\"height\",a),this.svgHandle_.setAttribute(\"height\",\na-5),this.svgHandle_.setAttribute(\"y\",2.5),this.lengthAttribute_=\"width\",this.positionAttribute_=\"x\"):(this.svgBackground_.setAttribute(\"width\",a),this.outerSvg_.setAttribute(\"width\",a),this.svgHandle_.setAttribute(\"width\",a-5),this.svgHandle_.setAttribute(\"x\",2.5),this.lengthAttribute_=\"height\",this.positionAttribute_=\"y\");this.onMouseDownBarWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgBackground_,\"mousedown\",this,this.onMouseDownBar_);this.onMouseDownHandleWrapper_=\n(0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgHandle_,\"mousedown\",this,this.onMouseDownHandle_)}};module$exports$Blockly$Scrollbar.Scrollbar.prototype.origin_=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0);module$exports$Blockly$Scrollbar.Scrollbar.prototype.startDragMouse_=0;module$exports$Blockly$Scrollbar.Scrollbar.prototype.scrollbarLength_=0;module$exports$Blockly$Scrollbar.Scrollbar.prototype.handleLength_=0;\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.handlePosition_=0;module$exports$Blockly$Scrollbar.Scrollbar.prototype.isVisible_=!0;module$exports$Blockly$Scrollbar.Scrollbar.prototype.containerVisible_=!0;module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness=15;module$exports$Blockly$Touch.TOUCH_ENABLED&&(module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness=25);module$exports$Blockly$Scrollbar.Scrollbar.DEFAULT_SCROLLBAR_MARGIN=.5;\nmodule$exports$Blockly$Scrollbar.Scrollbar.metricsAreEquivalent_=function(a,b){return a.viewWidth===b.viewWidth&&a.viewHeight===b.viewHeight&&a.viewLeft===b.viewLeft&&a.viewTop===b.viewTop&&a.absoluteTop===b.absoluteTop&&a.absoluteLeft===b.absoluteLeft&&a.scrollWidth===b.scrollWidth&&a.scrollHeight===b.scrollHeight&&a.scrollLeft===b.scrollLeft&&a.scrollTop===b.scrollTop};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.dispose=function(){this.cleanUp_();(0,module$exports$Blockly$browserEvents.unbind)(this.onMouseDownBarWrapper_);this.onMouseDownBarWrapper_=null;(0,module$exports$Blockly$browserEvents.unbind)(this.onMouseDownHandleWrapper_);this.onMouseDownHandleWrapper_=null;(0,module$exports$Blockly$utils$dom.removeNode)(this.outerSvg_);this.svgBackground_=this.svgGroup_=this.outerSvg_=null;this.svgHandle_&&(this.workspace_.getThemeManager().unsubscribe(this.svgHandle_),\nthis.svgHandle_=null);this.workspace_=null};module$exports$Blockly$Scrollbar.Scrollbar.prototype.constrainHandleLength_=function(a){return a=0>=a||isNaN(a)?0:Math.min(a,this.scrollbarLength_)};module$exports$Blockly$Scrollbar.Scrollbar.prototype.setHandleLength_=function(a){this.handleLength_=a;this.svgHandle_.setAttribute(this.lengthAttribute_,this.handleLength_)};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.constrainHandlePosition_=function(a){return a=0>=a||isNaN(a)?0:Math.min(a,this.scrollbarLength_-this.handleLength_)};module$exports$Blockly$Scrollbar.Scrollbar.prototype.setHandlePosition=function(a){this.handlePosition_=a;this.svgHandle_.setAttribute(this.positionAttribute_,this.handlePosition_)};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.setScrollbarLength_=function(a){this.scrollbarLength_=a;this.outerSvg_.setAttribute(this.lengthAttribute_,this.scrollbarLength_);this.svgBackground_.setAttribute(this.lengthAttribute_,this.scrollbarLength_)};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.setPosition=function(a,b){this.position.x=a;this.position.y=b;(0,module$exports$Blockly$utils$dom.setCssTransform)(this.outerSvg_,\"translate(\"+(this.position.x+this.origin_.x)+\"px,\"+(this.position.y+this.origin_.y)+\"px)\")};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.resize=function(a){if(!a&&(a=this.workspace_.getMetrics(),!a))return;this.oldHostMetrics_&&module$exports$Blockly$Scrollbar.Scrollbar.metricsAreEquivalent_(a,this.oldHostMetrics_)||(this.horizontal_?this.resizeHorizontal_(a):this.resizeVertical_(a),this.oldHostMetrics_=a,this.updateMetrics_())};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.requiresViewResize_=function(a){return this.oldHostMetrics_?this.oldHostMetrics_.viewWidth!==a.viewWidth||this.oldHostMetrics_.viewHeight!==a.viewHeight||this.oldHostMetrics_.absoluteLeft!==a.absoluteLeft||this.oldHostMetrics_.absoluteTop!==a.absoluteTop:!0};module$exports$Blockly$Scrollbar.Scrollbar.prototype.resizeHorizontal_=function(a){this.requiresViewResize_(a)?this.resizeViewHorizontal(a):this.resizeContentHorizontal(a)};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.resizeViewHorizontal=function(a){var b=a.viewWidth-2*this.margin_;this.pair_&&(b-=module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness);this.setScrollbarLength_(Math.max(0,b));b=a.absoluteLeft+this.margin_;this.pair_&&this.workspace_.RTL&&(b+=module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness);this.setPosition(b,a.absoluteTop+a.viewHeight-module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness-this.margin_);this.resizeContentHorizontal(a)};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.resizeContentHorizontal=function(a){if(a.viewWidth>=a.scrollWidth)this.setHandleLength_(this.scrollbarLength_),this.setHandlePosition(0),this.pair_||this.setVisible(!1);else{this.pair_||this.setVisible(!0);var b=this.scrollbarLength_*a.viewWidth/a.scrollWidth;b=this.constrainHandleLength_(b);this.setHandleLength_(b);b=a.scrollWidth-a.viewWidth;var c=this.scrollbarLength_-this.handleLength_;a=(a.viewLeft-a.scrollLeft)/b*c;a=this.constrainHandlePosition_(a);\nthis.setHandlePosition(a);this.ratio=c/b}};module$exports$Blockly$Scrollbar.Scrollbar.prototype.resizeVertical_=function(a){this.requiresViewResize_(a)?this.resizeViewVertical(a):this.resizeContentVertical(a)};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.resizeViewVertical=function(a){var b=a.viewHeight-2*this.margin_;this.pair_&&(b-=module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness);this.setScrollbarLength_(Math.max(0,b));this.setPosition(this.workspace_.RTL?a.absoluteLeft+this.margin_:a.absoluteLeft+a.viewWidth-module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness-this.margin_,a.absoluteTop+this.margin_);this.resizeContentVertical(a)};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.resizeContentVertical=function(a){if(a.viewHeight>=a.scrollHeight)this.setHandleLength_(this.scrollbarLength_),this.setHandlePosition(0),this.pair_||this.setVisible(!1);else{this.pair_||this.setVisible(!0);var b=this.scrollbarLength_*a.viewHeight/a.scrollHeight;b=this.constrainHandleLength_(b);this.setHandleLength_(b);b=a.scrollHeight-a.viewHeight;var c=this.scrollbarLength_-this.handleLength_;a=(a.viewTop-a.scrollTop)/b*c;a=this.constrainHandlePosition_(a);\nthis.setHandlePosition(a);this.ratio=c/b}};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.createDom_=function(a){var b=\"blocklyScrollbar\"+(this.horizontal_?\"Horizontal\":\"Vertical\");a&&(b+=\" \"+a);this.outerSvg_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.SVG,{\"class\":b},null);this.svgGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{},this.outerSvg_);this.svgBackground_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blocklyScrollbarBackground\"},\nthis.svgGroup_);a=Math.floor((module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness-5)/2);this.svgHandle_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blocklyScrollbarHandle\",rx:a,ry:a},this.svgGroup_);this.workspace_.getThemeManager().subscribe(this.svgHandle_,\"scrollbarColour\",\"fill\");this.workspace_.getThemeManager().subscribe(this.svgHandle_,\"scrollbarOpacity\",\"fill-opacity\");(0,module$exports$Blockly$utils$dom.insertAfter)(this.outerSvg_,\nthis.workspace_.getParentSvg())};module$exports$Blockly$Scrollbar.Scrollbar.prototype.isVisible=function(){return this.isVisible_};module$exports$Blockly$Scrollbar.Scrollbar.prototype.setContainerVisible=function(a){var b=a!==this.containerVisible_;this.containerVisible_=a;b&&this.updateDisplay_()};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.setVisible=function(a){var b=a!==this.isVisible();if(this.pair_)throw Error(\"Unable to toggle visibility of paired scrollbars.\");this.isVisible_=a;b&&this.updateDisplay_()};module$exports$Blockly$Scrollbar.Scrollbar.prototype.updateDisplay_=function(){this.containerVisible_&&this.isVisible()?this.outerSvg_.setAttribute(\"display\",\"block\"):this.outerSvg_.setAttribute(\"display\",\"none\")};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.onMouseDownBar_=function(a){this.workspace_.markFocused();(0,module$exports$Blockly$Touch.clearTouchIdentifier)();this.cleanUp_();if((0,module$exports$Blockly$browserEvents.isRightButton)(a))a.stopPropagation();else{var b=(0,module$exports$Blockly$browserEvents.mouseToSvg)(a,this.workspace_.getParentSvg(),this.workspace_.getInverseScreenCTM());b=this.horizontal_?b.x:b.y;var c=(0,module$exports$Blockly$utils$svgMath.getInjectionDivXY)(this.svgHandle_);\nc=this.horizontal_?c.x:c.y;var d=this.handlePosition_,e=.95*this.handleLength_;b<=c?d-=e:b>=c+this.handleLength_&&(d+=e);this.setHandlePosition(this.constrainHandlePosition_(d));this.updateMetrics_();a.stopPropagation();a.preventDefault()}};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.onMouseDownHandle_=function(a){this.workspace_.markFocused();this.cleanUp_();(0,module$exports$Blockly$browserEvents.isRightButton)(a)?a.stopPropagation():(this.startDragHandle=this.handlePosition_,this.workspace_.setupDragSurface(),this.startDragMouse_=this.horizontal_?a.clientX:a.clientY,module$exports$Blockly$Scrollbar.Scrollbar.onMouseUpWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mouseup\",this,this.onMouseUpHandle_),\nmodule$exports$Blockly$Scrollbar.Scrollbar.onMouseMoveWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mousemove\",this,this.onMouseMoveHandle_),a.stopPropagation(),a.preventDefault())};module$exports$Blockly$Scrollbar.Scrollbar.prototype.onMouseMoveHandle_=function(a){this.setHandlePosition(this.constrainHandlePosition_(this.startDragHandle+((this.horizontal_?a.clientX:a.clientY)-this.startDragMouse_)));this.updateMetrics_()};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.onMouseUpHandle_=function(){this.workspace_.resetDragSurface();(0,module$exports$Blockly$Touch.clearTouchIdentifier)();this.cleanUp_()};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.cleanUp_=function(){this.workspace_.hideChaff(!0);module$exports$Blockly$Scrollbar.Scrollbar.onMouseUpWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(module$exports$Blockly$Scrollbar.Scrollbar.onMouseUpWrapper_),module$exports$Blockly$Scrollbar.Scrollbar.onMouseUpWrapper_=null);module$exports$Blockly$Scrollbar.Scrollbar.onMouseMoveWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(module$exports$Blockly$Scrollbar.Scrollbar.onMouseMoveWrapper_),\nmodule$exports$Blockly$Scrollbar.Scrollbar.onMouseMoveWrapper_=null)};module$exports$Blockly$Scrollbar.Scrollbar.prototype.getRatio_=function(){var a=this.handlePosition_/(this.scrollbarLength_-this.handleLength_);isNaN(a)&&(a=0);return a};module$exports$Blockly$Scrollbar.Scrollbar.prototype.updateMetrics_=function(){var a=this.getRatio_(),b={};this.horizontal_?b.x=a:b.y=a;this.workspace_.setMetrics(b)};\nmodule$exports$Blockly$Scrollbar.Scrollbar.prototype.set=function(a,b){this.setHandlePosition(this.constrainHandlePosition_(a*this.ratio));(b||void 0===b)&&this.updateMetrics_()};module$exports$Blockly$Scrollbar.Scrollbar.prototype.setOrigin=function(a,b){this.origin_=new module$exports$Blockly$utils$Coordinate.Coordinate(a,b)};var module$exports$Blockly$ScrollbarPair={ScrollbarPair:function(a,b,c,d,e){this.workspace_=a;b=void 0===b?!0:b;c=void 0===c?!0:c;var f=b&&c;b&&(this.hScroll=new module$exports$Blockly$Scrollbar.Scrollbar(a,!0,f,d,e));c&&(this.vScroll=new module$exports$Blockly$Scrollbar.Scrollbar(a,!1,f,d,e));f&&(this.corner_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{height:module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness,width:module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness,\n\"class\":\"blocklyScrollbarBackground\"},null),(0,module$exports$Blockly$utils$dom.insertAfter)(this.corner_,a.getBubbleCanvas()));this.oldHostMetrics_=null}};module$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.dispose=function(){(0,module$exports$Blockly$utils$dom.removeNode)(this.corner_);this.oldHostMetrics_=this.workspace_=this.corner_=null;this.hScroll&&(this.hScroll.dispose(),this.hScroll=null);this.vScroll&&(this.vScroll.dispose(),this.vScroll=null)};\nmodule$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.resize=function(){var a=this.workspace_.getMetrics();if(a){var b=!1,c=!1;this.oldHostMetrics_&&this.oldHostMetrics_.viewWidth===a.viewWidth&&this.oldHostMetrics_.viewHeight===a.viewHeight&&this.oldHostMetrics_.absoluteTop===a.absoluteTop&&this.oldHostMetrics_.absoluteLeft===a.absoluteLeft?(this.oldHostMetrics_&&this.oldHostMetrics_.scrollWidth===a.scrollWidth&&this.oldHostMetrics_.viewLeft===a.viewLeft&&this.oldHostMetrics_.scrollLeft===\na.scrollLeft||(b=!0),this.oldHostMetrics_&&this.oldHostMetrics_.scrollHeight===a.scrollHeight&&this.oldHostMetrics_.viewTop===a.viewTop&&this.oldHostMetrics_.scrollTop===a.scrollTop||(c=!0)):c=b=!0;if(b||c){try{(0,module$exports$Blockly$Events$utils.disable)(),this.hScroll&&b&&this.hScroll.resize(a),this.vScroll&&c&&this.vScroll.resize(a)}finally{(0,module$exports$Blockly$Events$utils.enable)()}this.workspace_.maybeFireViewportChangeEvent()}this.hScroll&&this.vScroll&&(this.oldHostMetrics_&&this.oldHostMetrics_.viewWidth===\na.viewWidth&&this.oldHostMetrics_.absoluteLeft===a.absoluteLeft||this.corner_.setAttribute(\"x\",this.vScroll.position.x),this.oldHostMetrics_&&this.oldHostMetrics_.viewHeight===a.viewHeight&&this.oldHostMetrics_.absoluteTop===a.absoluteTop||this.corner_.setAttribute(\"y\",this.hScroll.position.y));this.oldHostMetrics_=a}};module$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.canScrollHorizontally=function(){return!!this.hScroll};\nmodule$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.canScrollVertically=function(){return!!this.vScroll};module$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.setOrigin=function(a,b){this.hScroll&&this.hScroll.setOrigin(a,b);this.vScroll&&this.vScroll.setOrigin(a,b)};\nmodule$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.set=function(a,b,c){this.hScroll&&this.hScroll.set(a,!1);this.vScroll&&this.vScroll.set(b,!1);if(c||void 0===c)a={},this.hScroll&&(a.x=this.hScroll.getRatio_()),this.vScroll&&(a.y=this.vScroll.getRatio_()),this.workspace_.setMetrics(a)};module$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.setX=function(a){this.hScroll&&this.hScroll.set(a,!0)};\nmodule$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.setY=function(a){this.vScroll&&this.vScroll.set(a,!0)};module$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.setContainerVisible=function(a){this.hScroll&&this.hScroll.setContainerVisible(a);this.vScroll&&this.vScroll.setContainerVisible(a)};module$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.isVisible=function(){var a=!1;this.hScroll&&(a=this.hScroll.isVisible());this.vScroll&&(a=a||this.vScroll.isVisible());return a};\nmodule$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.resizeContent=function(a){this.hScroll&&this.hScroll.resizeContentHorizontal(a);this.vScroll&&this.vScroll.resizeContentVertical(a)};module$exports$Blockly$ScrollbarPair.ScrollbarPair.prototype.resizeView=function(a){this.hScroll&&this.hScroll.resizeViewHorizontal(a);this.vScroll&&this.vScroll.resizeViewVertical(a)};var module$exports$Blockly$utils$KeyCodes={KeyCodes:{WIN_KEY_FF_LINUX:0,MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PLUS_SIGN:43,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,FF_DASH:173,FF_HASH:163,QUESTION_MARK:63,AT_SIGN:64,A:65,B:66,C:67,D:68,E:69,F:70,G:71,\nH:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SCROLL_LOCK:145,FIRST_MEDIA_KEY:166,LAST_MEDIA_KEY:183,SEMICOLON:186,\nDASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,MAC_WK_CMD_LEFT:91,MAC_WK_CMD_RIGHT:93,WIN_IME:229,VK_NONAME:252,PHANTOM:255}};var module$exports$Blockly$ShortcutRegistry={ShortcutRegistry:function(){module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry=this;this.registry_=Object.create(null);this.keyMap_=Object.create(null)}};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.modifierKeys={Shift:module$exports$Blockly$utils$KeyCodes.KeyCodes.SHIFT,Control:module$exports$Blockly$utils$KeyCodes.KeyCodes.CTRL,Alt:module$exports$Blockly$utils$KeyCodes.KeyCodes.ALT,Meta:module$exports$Blockly$utils$KeyCodes.KeyCodes.META};\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.register=function(a,b){if(this.registry_[a.name]&&!b)throw Error('Shortcut with name \"'+a.name+'\" already exists.');this.registry_[a.name]=a};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.unregister=function(a){if(!this.registry_[a])return console.warn('Keyboard shortcut with name \"'+a+'\" not found.'),!1;this.removeAllKeyMappings(a);delete this.registry_[a];return!0};\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.addKeyMapping=function(a,b,c){a=String(a);var d=this.keyMap_[a];if(d&&!c)throw Error('Shortcut with name \"'+b+'\" collides with shortcuts '+d.toString());d&&c?d.unshift(b):this.keyMap_[a]=[b]};\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.removeKeyMapping=function(a,b,c){var d=this.keyMap_[a];if(!d&&!c)return console.warn('No keyboard shortcut with name \"'+b+'\" registered with key code \"'+a+'\"'),!1;var e=d.indexOf(b);if(-1<e)return d.splice(e,1),0===d.length&&delete this.keyMap_[a],!0;c||console.warn('No keyboard shortcut with name \"'+b+'\" registered with key code \"'+a+'\"');return!1};\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.removeAllKeyMappings=function(a){for(var b in this.keyMap_)this.removeKeyMapping(b,a,!0)};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.setKeyMap=function(a){this.keyMap_=a};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.getKeyMap=function(){return(0,$.module$exports$Blockly$utils$object.deepMerge)(Object.create(null),this.keyMap_)};\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.getRegistry=function(){return(0,$.module$exports$Blockly$utils$object.deepMerge)(Object.create(null),this.registry_)};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.onKeyDown=function(a,b){var c=this.serializeKeyEvent_(b);c=this.getShortcutNamesByKeyCode(c);if(!c)return!1;for(var d=0,e;e=c[d];d++)if(e=this.registry_[e],(!e.preconditionFn||e.preconditionFn(a))&&e.callback&&e.callback(a,b,e))return!0;return!1};\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.getShortcutNamesByKeyCode=function(a){return this.keyMap_[a]||[]};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.getKeyCodesByShortcutName=function(a){var b=[],c;for(c in this.keyMap_)-1<this.keyMap_[c].indexOf(a)&&b.push(c);return b};\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.serializeKeyEvent_=function(a){var b=\"\",c;for(c in module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.modifierKeys)a.getModifierState(c)&&(\"\"!==b&&(b+=\"+\"),b+=c);\"\"!==b&&a.keyCode?b=b+\"+\"+a.keyCode:a.keyCode&&(b=a.keyCode.toString());return b};\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.checkModifiers_=function(a){for(var b=(0,$.module$exports$Blockly$utils$object.values)(module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.modifierKeys),c=0,d;d=a[c];c++)if(0>b.indexOf(d))throw Error(d+\" is not a valid modifier key.\");};\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.prototype.createSerializedKey=function(a,b){var c=\"\";if(b){this.checkModifiers_(b);for(var d in module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.modifierKeys)-1<b.indexOf(module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.modifierKeys[d])&&(\"\"!==c&&(c+=\"+\"),c+=d)}\"\"!==c&&a?c=c+\"+\"+a:a&&(c=a.toString());return c};new module$exports$Blockly$ShortcutRegistry.ShortcutRegistry;var module$exports$Blockly$WorkspaceDragSurfaceSvg={WorkspaceDragSurfaceSvg:function(a){this.container_=a;this.createDom()}};module$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg.prototype.SVG_=null;module$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg.prototype.container_=null;\nmodule$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.SVG,{xmlns:module$exports$Blockly$utils$dom.SVG_NS,\"xmlns:html\":module$exports$Blockly$utils$dom.HTML_NS,\"xmlns:xlink\":module$exports$Blockly$utils$dom.XLINK_NS,version:\"1.1\",\"class\":\"blocklyWsDragSurface blocklyOverflowVisible\"},null),this.container_.appendChild(this.SVG_))};\nmodule$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg.prototype.translateSurface=function(a,b){a=a.toFixed(0);b=b.toFixed(0);this.SVG_.style.display=\"block\";(0,module$exports$Blockly$utils$dom.setCssTransform)(this.SVG_,\"translate3d(\"+a+\"px, \"+b+\"px, 0)\")};module$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg.prototype.getSurfaceTranslation=function(){return(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(this.SVG_)};\nmodule$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg.prototype.clearAndHide=function(a){if(!a)throw Error(\"Couldn't clear and hide the drag surface: missing new surface.\");var b=this.SVG_.childNodes[0],c=this.SVG_.childNodes[1];if(!(b&&c&&(0,module$exports$Blockly$utils$dom.hasClass)(b,\"blocklyBlockCanvas\")&&(0,module$exports$Blockly$utils$dom.hasClass)(c,\"blocklyBubbleCanvas\")))throw Error(\"Couldn't clear and hide the drag surface. A node was missing.\");null!==this.previousSibling_?\n(0,module$exports$Blockly$utils$dom.insertAfter)(b,this.previousSibling_):a.insertBefore(b,a.firstChild);(0,module$exports$Blockly$utils$dom.insertAfter)(c,b);this.SVG_.style.display=\"none\";if(this.SVG_.childNodes.length)throw Error(\"Drag surface was not cleared.\");(0,module$exports$Blockly$utils$dom.setCssTransform)(this.SVG_,\"\");this.previousSibling_=null};\nmodule$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg.prototype.setContentsAndShow=function(a,b,c,d,e,f){if(this.SVG_.childNodes.length)throw Error(\"Already dragging a block.\");this.previousSibling_=c;a.setAttribute(\"transform\",\"translate(0, 0) scale(\"+f+\")\");b.setAttribute(\"transform\",\"translate(0, 0) scale(\"+f+\")\");this.SVG_.setAttribute(\"width\",d);this.SVG_.setAttribute(\"height\",e);this.SVG_.appendChild(a);this.SVG_.appendChild(b);this.SVG_.style.display=\"block\"};var module$exports$Blockly$clipboard={},module$contents$Blockly$clipboard_copyData=null;module$exports$Blockly$clipboard.copy=function(a){module$contents$Blockly$clipboard_copyData=a.toCopyData()};\nmodule$exports$Blockly$clipboard.paste=function(){if(!module$contents$Blockly$clipboard_copyData)return!1;var a=module$contents$Blockly$clipboard_copyData.source;a.isFlyout&&(a=a.targetWorkspace);return module$contents$Blockly$clipboard_copyData.typeCounts&&a.isCapacityAvailable(module$contents$Blockly$clipboard_copyData.typeCounts)?((0,module$exports$Blockly$Events$utils.setGroup)(!0),a.paste(module$contents$Blockly$clipboard_copyData.saveInfo),(0,module$exports$Blockly$Events$utils.setGroup)(!1),\n!0):!1};module$exports$Blockly$clipboard.duplicate=function(a){var b=module$contents$Blockly$clipboard_copyData;(0,module$exports$Blockly$clipboard.copy)(a);a.workspace.paste(module$contents$Blockly$clipboard_copyData.saveInfo);module$contents$Blockly$clipboard_copyData=b};var module$exports$Blockly$MenuItem={MenuItem:function(a,b){this.content_=a;this.value_=b;this.enabled_=!0;this.element_=null;this.rightToLeft_=!1;this.roleName_=null;this.highlight_=this.checked_=this.checkable_=!1;this.actionHandler_=null}};\nmodule$exports$Blockly$MenuItem.MenuItem.prototype.createDom=function(){var a=document.createElement(\"div\");a.id=(0,module$exports$Blockly$utils$idGenerator.getNextUniqueId)();this.element_=a;a.className=\"blocklyMenuItem goog-menuitem \"+(this.enabled_?\"\":\"blocklyMenuItemDisabled goog-menuitem-disabled \")+(this.checked_?\"blocklyMenuItemSelected goog-option-selected \":\"\")+(this.highlight_?\"blocklyMenuItemHighlight goog-menuitem-highlight \":\"\")+(this.rightToLeft_?\"blocklyMenuItemRtl goog-menuitem-rtl \":\n\"\");var b=document.createElement(\"div\");b.className=\"blocklyMenuItemContent goog-menuitem-content\";if(this.checkable_){var c=document.createElement(\"div\");c.className=\"blocklyMenuItemCheckbox goog-menuitem-checkbox\";b.appendChild(c)}c=this.content_;\"string\"===typeof this.content_&&(c=document.createTextNode(this.content_));b.appendChild(c);a.appendChild(b);this.roleName_&&(0,module$exports$Blockly$utils$aria.setRole)(a,this.roleName_);(0,module$exports$Blockly$utils$aria.setState)(a,module$exports$Blockly$utils$aria.State.SELECTED,\nthis.checkable_&&this.checked_||!1);(0,module$exports$Blockly$utils$aria.setState)(a,module$exports$Blockly$utils$aria.State.DISABLED,!this.enabled_);return a};module$exports$Blockly$MenuItem.MenuItem.prototype.dispose=function(){this.element_=null};module$exports$Blockly$MenuItem.MenuItem.prototype.getElement=function(){return this.element_};module$exports$Blockly$MenuItem.MenuItem.prototype.getId=function(){return this.element_.id};module$exports$Blockly$MenuItem.MenuItem.prototype.getValue=function(){return this.value_};\nmodule$exports$Blockly$MenuItem.MenuItem.prototype.setRightToLeft=function(a){this.rightToLeft_=a};module$exports$Blockly$MenuItem.MenuItem.prototype.setRole=function(a){this.roleName_=a};module$exports$Blockly$MenuItem.MenuItem.prototype.setCheckable=function(a){this.checkable_=a};module$exports$Blockly$MenuItem.MenuItem.prototype.setChecked=function(a){this.checked_=a};\nmodule$exports$Blockly$MenuItem.MenuItem.prototype.setHighlighted=function(a){this.highlight_=a;var b=this.getElement();b&&this.isEnabled()&&(a?((0,module$exports$Blockly$utils$dom.addClass)(b,\"blocklyMenuItemHighlight\"),(0,module$exports$Blockly$utils$dom.addClass)(b,\"goog-menuitem-highlight\")):((0,module$exports$Blockly$utils$dom.removeClass)(b,\"blocklyMenuItemHighlight\"),(0,module$exports$Blockly$utils$dom.removeClass)(b,\"goog-menuitem-highlight\")))};\nmodule$exports$Blockly$MenuItem.MenuItem.prototype.isEnabled=function(){return this.enabled_};module$exports$Blockly$MenuItem.MenuItem.prototype.setEnabled=function(a){this.enabled_=a};module$exports$Blockly$MenuItem.MenuItem.prototype.performAction=function(){this.isEnabled()&&this.actionHandler_&&this.actionHandler_(this)};module$exports$Blockly$MenuItem.MenuItem.prototype.onAction=function(a,b){this.actionHandler_=a.bind(b)};var module$exports$Blockly$Menu={Menu:function(){this.menuItems_=[];this.roleName_=this.element_=this.onKeyDownHandler_=this.mouseLeaveHandler_=this.mouseEnterHandler_=this.clickHandler_=this.mouseOverHandler_=this.highlightedItem_=this.openingCoords=null}};module$exports$Blockly$Menu.Menu.prototype.addChild=function(a){this.menuItems_.push(a)};\nmodule$exports$Blockly$Menu.Menu.prototype.render=function(a){var b=document.createElement(\"div\");b.className=\"blocklyMenu goog-menu blocklyNonSelectable\";b.tabIndex=0;this.roleName_&&(0,module$exports$Blockly$utils$aria.setRole)(b,this.roleName_);this.element_=b;for(var c=0,d;d=this.menuItems_[c];c++)b.appendChild(d.createDom());this.mouseOverHandler_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"mouseover\",this,this.handleMouseOver_,!0);this.clickHandler_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\n\"click\",this,this.handleClick_,!0);this.mouseEnterHandler_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"mouseenter\",this,this.handleMouseEnter_,!0);this.mouseLeaveHandler_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"mouseleave\",this,this.handleMouseLeave_,!0);this.onKeyDownHandler_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"keydown\",this,this.handleKeyEvent_);a.appendChild(b)};module$exports$Blockly$Menu.Menu.prototype.getElement=function(){return this.element_};\nmodule$exports$Blockly$Menu.Menu.prototype.focus=function(){var a=this.getElement();a&&(a.focus({preventScroll:!0}),(0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyFocused\"))};module$exports$Blockly$Menu.Menu.prototype.blur_=function(){var a=this.getElement();a&&(a.blur(),(0,module$exports$Blockly$utils$dom.removeClass)(a,\"blocklyFocused\"))};module$exports$Blockly$Menu.Menu.prototype.setRole=function(a){this.roleName_=a};\nmodule$exports$Blockly$Menu.Menu.prototype.dispose=function(){this.mouseOverHandler_&&((0,module$exports$Blockly$browserEvents.unbind)(this.mouseOverHandler_),this.mouseOverHandler_=null);this.clickHandler_&&((0,module$exports$Blockly$browserEvents.unbind)(this.clickHandler_),this.clickHandler_=null);this.mouseEnterHandler_&&((0,module$exports$Blockly$browserEvents.unbind)(this.mouseEnterHandler_),this.mouseEnterHandler_=null);this.mouseLeaveHandler_&&((0,module$exports$Blockly$browserEvents.unbind)(this.mouseLeaveHandler_),\nthis.mouseLeaveHandler_=null);this.onKeyDownHandler_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onKeyDownHandler_),this.onKeyDownHandler_=null);for(var a=0,b;b=this.menuItems_[a];a++)b.dispose();this.element_=null};module$exports$Blockly$Menu.Menu.prototype.getMenuItem_=function(a){for(var b=this.getElement();a&&a!==b;){if((0,module$exports$Blockly$utils$dom.hasClass)(a,\"blocklyMenuItem\"))for(var c=0,d;d=this.menuItems_[c];c++)if(d.getElement()===a)return d;a=a.parentElement}return null};\nmodule$exports$Blockly$Menu.Menu.prototype.setHighlighted=function(a){var b=this.highlightedItem_;b&&(b.setHighlighted(!1),this.highlightedItem_=null);a&&(a.setHighlighted(!0),this.highlightedItem_=a,b=this.getElement(),(0,module$exports$Blockly$utils$style.scrollIntoContainerView)(a.getElement(),b),(0,module$exports$Blockly$utils$aria.setState)(b,module$exports$Blockly$utils$aria.State.ACTIVEDESCENDANT,a.getId()))};\nmodule$exports$Blockly$Menu.Menu.prototype.highlightNext=function(){var a=this.menuItems_.indexOf(this.highlightedItem_);this.highlightHelper_(a,1)};module$exports$Blockly$Menu.Menu.prototype.highlightPrevious=function(){var a=this.menuItems_.indexOf(this.highlightedItem_);this.highlightHelper_(0>a?this.menuItems_.length:a,-1)};module$exports$Blockly$Menu.Menu.prototype.highlightFirst_=function(){this.highlightHelper_(-1,1)};\nmodule$exports$Blockly$Menu.Menu.prototype.highlightLast_=function(){this.highlightHelper_(this.menuItems_.length,-1)};module$exports$Blockly$Menu.Menu.prototype.highlightHelper_=function(a,b){a+=b;for(var c;c=this.menuItems_[a];){if(c.isEnabled()){this.setHighlighted(c);break}a+=b}};module$exports$Blockly$Menu.Menu.prototype.handleMouseOver_=function(a){(a=this.getMenuItem_(a.target))&&(a.isEnabled()?this.highlightedItem_!==a&&this.setHighlighted(a):this.setHighlighted(null))};\nmodule$exports$Blockly$Menu.Menu.prototype.handleClick_=function(a){var b=this.openingCoords;this.openingCoords=null;if(b&&\"number\"===typeof a.clientX){var c=new module$exports$Blockly$utils$Coordinate.Coordinate(a.clientX,a.clientY);if(1>module$exports$Blockly$utils$Coordinate.Coordinate.distance(b,c))return}(a=this.getMenuItem_(a.target))&&a.performAction()};module$exports$Blockly$Menu.Menu.prototype.handleMouseEnter_=function(a){this.focus()};\nmodule$exports$Blockly$Menu.Menu.prototype.handleMouseLeave_=function(a){this.getElement()&&(this.blur_(),this.setHighlighted(null))};\nmodule$exports$Blockly$Menu.Menu.prototype.handleKeyEvent_=function(a){if(this.menuItems_.length&&!(a.shiftKey||a.ctrlKey||a.metaKey||a.altKey)){var b=this.highlightedItem_;switch(a.keyCode){case module$exports$Blockly$utils$KeyCodes.KeyCodes.ENTER:case module$exports$Blockly$utils$KeyCodes.KeyCodes.SPACE:b&&b.performAction();break;case module$exports$Blockly$utils$KeyCodes.KeyCodes.UP:this.highlightPrevious();break;case module$exports$Blockly$utils$KeyCodes.KeyCodes.DOWN:this.highlightNext();break;\ncase module$exports$Blockly$utils$KeyCodes.KeyCodes.PAGE_UP:case module$exports$Blockly$utils$KeyCodes.KeyCodes.HOME:this.highlightFirst_();break;case module$exports$Blockly$utils$KeyCodes.KeyCodes.PAGE_DOWN:case module$exports$Blockly$utils$KeyCodes.KeyCodes.END:this.highlightLast_();break;default:return}a.preventDefault();a.stopPropagation()}};\nmodule$exports$Blockly$Menu.Menu.prototype.getSize=function(){var a=this.getElement(),b=(0,module$exports$Blockly$utils$style.getSize)(a);b.height=a.scrollHeight;return b};var module$exports$Blockly$serialization$priorities={VARIABLES:100,BLOCKS:50};var module$exports$Blockly$serialization$registry={register:function(a,b){(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.SERIALIZER,a,b)},unregister:function(a){(0,module$exports$Blockly$registry.unregister)(module$exports$Blockly$registry.Type.SERIALIZER,a)}};var module$exports$Blockly$serialization$exceptions={DeserializationError:function(){var a=Error.apply(this,arguments);this.message=a.message;\"stack\"in a&&(this.stack=a.stack)}};$jscomp.inherits(module$exports$Blockly$serialization$exceptions.DeserializationError,Error);\nmodule$exports$Blockly$serialization$exceptions.MissingBlockType=function(a){module$exports$Blockly$serialization$exceptions.DeserializationError.call(this,\"Expected to find a 'type' property, defining the block type\");this.state=a};$jscomp.inherits(module$exports$Blockly$serialization$exceptions.MissingBlockType,module$exports$Blockly$serialization$exceptions.DeserializationError);\nmodule$exports$Blockly$serialization$exceptions.MissingConnection=function(a,b,c){module$exports$Blockly$serialization$exceptions.DeserializationError.call(this,\"The block \"+b.toDevString()+\" is missing a(n) \"+a+\"\\nconnection\");this.block=b;this.state=c};$jscomp.inherits(module$exports$Blockly$serialization$exceptions.MissingConnection,module$exports$Blockly$serialization$exceptions.DeserializationError);\nmodule$exports$Blockly$serialization$exceptions.BadConnectionCheck=function(a,b,c,d){module$exports$Blockly$serialization$exceptions.DeserializationError.call(this,\"The block \"+c.toDevString()+\" could not connect its\\n\"+b+\" to its parent, because: \"+a);this.childBlock=c;this.childState=d};$jscomp.inherits(module$exports$Blockly$serialization$exceptions.BadConnectionCheck,module$exports$Blockly$serialization$exceptions.DeserializationError);\nmodule$exports$Blockly$serialization$exceptions.RealChildOfShadow=function(a){module$exports$Blockly$serialization$exceptions.DeserializationError.call(this,\"Encountered a real block which is defined as a child of a shadow\\nblock. It is an invariant of Blockly that shadow blocks only have shadow\\nchildren\");this.state=a};$jscomp.inherits(module$exports$Blockly$serialization$exceptions.RealChildOfShadow,module$exports$Blockly$serialization$exceptions.DeserializationError);var module$exports$Blockly$serialization$ISerializer={ISerializer:function(){}};module$exports$Blockly$serialization$ISerializer.ISerializer.prototype.save=function(a){};module$exports$Blockly$serialization$ISerializer.ISerializer.prototype.load=function(a,b){};module$exports$Blockly$serialization$ISerializer.ISerializer.prototype.clear=function(a){};var module$exports$Blockly$serialization$blocks={save:function(a,b){var c=void 0===b?{}:b;b=void 0===c.addCoordinates?!1:c.addCoordinates;var d=void 0===c.addInputBlocks?!0:c.addInputBlocks,e=void 0===c.addNextBlocks?!0:c.addNextBlocks;c=void 0===c.doFullSerialization?!0:c.doFullSerialization;if(a.isInsertionMarker())return null;var f={type:a.type,id:a.id};b&&module$contents$Blockly$serialization$blocks_saveCoords(a,f);module$contents$Blockly$serialization$blocks_saveAttributes(a,f);module$contents$Blockly$serialization$blocks_saveExtraState(a,\nf);module$contents$Blockly$serialization$blocks_saveIcons(a,f);module$contents$Blockly$serialization$blocks_saveFields(a,f,c);d&&module$contents$Blockly$serialization$blocks_saveInputBlocks(a,f,c);e&&module$contents$Blockly$serialization$blocks_saveNextBlocks(a,f,c);return f}},module$contents$Blockly$serialization$blocks_saveAttributes=function(a,b){a.isCollapsed()&&(b.collapsed=!0);a.isEnabled()||(b.enabled=!1);void 0!==a.inputsInline&&a.inputsInline!==a.inputsInlineDefault&&(b.inline=a.inputsInline);\na.data&&(b.data=a.data)},module$contents$Blockly$serialization$blocks_saveCoords=function(a,b){var c=a.workspace;a=a.getRelativeToSurfaceXY();b.x=Math.round(c.RTL?c.getWidth()-a.x:a.x);b.y=Math.round(a.y)},module$contents$Blockly$serialization$blocks_saveExtraState=function(a,b){a.saveExtraState?(a=a.saveExtraState(),null!==a&&(b.extraState=a)):a.mutationToDom&&(a=a.mutationToDom(),null!==a&&(b.extraState=(0,$.module$exports$Blockly$Xml.domToText)(a).replace(' xmlns=\"https://developers.google.com/blockly/xml\"',\n\"\")))},module$contents$Blockly$serialization$blocks_saveIcons=function(a,b){a.getCommentText()&&(b.icons={comment:{text:a.getCommentText(),pinned:a.commentModel.pinned,height:Math.round(a.commentModel.size.height),width:Math.round(a.commentModel.size.width)}})},module$contents$Blockly$serialization$blocks_saveFields=function(a,b,c){for(var d=Object.create(null),e=0;e<a.inputList.length;e++)for(var f=a.inputList[e],g=0;g<f.fieldRow.length;g++){var h=f.fieldRow[g];h.isSerializable()&&(d[h.name]=h.saveState(c))}Object.keys(d).length&&\n(b.fields=d)},module$contents$Blockly$serialization$blocks_saveInputBlocks=function(a,b,c){for(var d=Object.create(null),e=0;e<a.inputList.length;e++){var f=a.inputList[e];if(f.type!==$.module$exports$Blockly$inputTypes.inputTypes.DUMMY){var g=module$contents$Blockly$serialization$blocks_saveConnection(f.connection,c);g&&(d[f.name]=g)}}Object.keys(d).length&&(b.inputs=d)},module$contents$Blockly$serialization$blocks_saveNextBlocks=function(a,b,c){a.nextConnection&&(a=module$contents$Blockly$serialization$blocks_saveConnection(a.nextConnection,\nc))&&(b.next=a)},module$contents$Blockly$serialization$blocks_saveConnection=function(a,b){var c=a.getShadowState(!0);a=a.targetBlock();if(!c&&!a)return null;var d=Object.create(null);c&&(d.shadow=c);a&&!a.isShadow()&&(d.block=(0,module$exports$Blockly$serialization$blocks.save)(a,{doFullSerialization:b}));return d};\nmodule$exports$Blockly$serialization$blocks.append=function(a,b,c){c=void 0===c?{}:c;return(0,module$exports$Blockly$serialization$blocks.appendInternal)(a,b,{recordUndo:void 0===c.recordUndo?!1:c.recordUndo})};\nmodule$exports$Blockly$serialization$blocks.appendInternal=function(a,b,c){var d=void 0===c?{}:c;c=void 0===d.parentConnection?void 0:d.parentConnection;var e=void 0===d.isShadow?!1:d.isShadow,f=void 0===d.recordUndo?!1:d.recordUndo;d=(0,module$exports$Blockly$Events$utils.getRecordUndo)();(0,module$exports$Blockly$Events$utils.setRecordUndo)(f);(f=(0,module$exports$Blockly$Events$utils.getGroup)())||(0,module$exports$Blockly$Events$utils.setGroup)(!0);(0,module$exports$Blockly$Events$utils.disable)();\nvar g=module$contents$Blockly$serialization$blocks_appendPrivate(a,b,{parentConnection:c,isShadow:e});(0,module$exports$Blockly$Events$utils.enable)();(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CREATE))(g));(0,module$exports$Blockly$Events$utils.setGroup)(f);(0,module$exports$Blockly$Events$utils.setRecordUndo)(d);b.rendered&&setTimeout(function(){g.disposed||g.setConnectionTracking(!0)},1);return g};\nvar module$contents$Blockly$serialization$blocks_appendPrivate=function(a,b,c){var d=void 0===c?{}:c;c=void 0===d.parentConnection?void 0:d.parentConnection;d=void 0===d.isShadow?!1:d.isShadow;if(!a.type)throw new module$exports$Blockly$serialization$exceptions.MissingBlockType(a);var e=b.newBlock(a.type,a.id);e.setShadow(d);module$contents$Blockly$serialization$blocks_loadCoords(e,a);module$contents$Blockly$serialization$blocks_loadAttributes(e,a);module$contents$Blockly$serialization$blocks_loadExtraState(e,\na);module$contents$Blockly$serialization$blocks_tryToConnectParent(c,e,a);module$contents$Blockly$serialization$blocks_loadIcons(e,a);module$contents$Blockly$serialization$blocks_loadFields(e,a);module$contents$Blockly$serialization$blocks_loadInputBlocks(e,a);module$contents$Blockly$serialization$blocks_loadNextBlocks(e,a);module$contents$Blockly$serialization$blocks_initBlock(e,b.rendered);return e},module$contents$Blockly$serialization$blocks_loadCoords=function(a,b){var c=void 0===b.x?0:b.x;b=\nvoid 0===b.y?0:b.y;var d=a.workspace;c=d.RTL?d.getWidth()-c:c;a.moveBy(c,b)},module$contents$Blockly$serialization$blocks_loadAttributes=function(a,b){b.collapsed&&a.setCollapsed(!0);!1===b.enabled&&a.setEnabled(!1);void 0!==b.inline&&a.setInputsInline(b.inline);void 0!==b.data&&(a.data=b.data)},module$contents$Blockly$serialization$blocks_loadExtraState=function(a,b){b.extraState&&(a.loadExtraState?a.loadExtraState(b.extraState):a.domToMutation((0,$.module$exports$Blockly$Xml.textToDom)(b.extraState)))},\nmodule$contents$Blockly$serialization$blocks_tryToConnectParent=function(a,b,c){if(a){if(a.getSourceBlock().isShadow()&&!b.isShadow())throw new module$exports$Blockly$serialization$exceptions.RealChildOfShadow(c);if(a.type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE){var d=b.outputConnection;if(!d)throw new module$exports$Blockly$serialization$exceptions.MissingConnection(\"output\",b,c);}else if(d=b.previousConnection,!d)throw new module$exports$Blockly$serialization$exceptions.MissingConnection(\"previous\",\nb,c);if(!a.connect(d)){var e=b.workspace.connectionChecker;throw new module$exports$Blockly$serialization$exceptions.BadConnectionCheck(e.getErrorMessage(e.canConnectWithReason(d,a,!1),d,a),a.type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE?\"output connection\":\"previous connection\",b,c);}}},module$contents$Blockly$serialization$blocks_loadIcons=function(a,b){b.icons&&(b=b.icons.comment)&&(a.setCommentText(b.text),a.commentModel.pinned=b.pinned,a.commentModel.size=new module$exports$Blockly$utils$Size.Size(b.width,\nb.height),b.pinned&&a.getCommentIcon&&!a.isInFlyout&&setTimeout(function(){return a.getCommentIcon().setVisible(!0)},1))},module$contents$Blockly$serialization$blocks_loadFields=function(a,b){if(b.fields)for(var c=Object.keys(b.fields),d=0;d<c.length;d++){var e=c[d],f=b.fields[e],g=a.getField(e);g?g.loadState(f):console.warn(\"Ignoring non-existant field \"+e+\" in block \"+a.type)}},module$contents$Blockly$serialization$blocks_loadInputBlocks=function(a,b){if(b.inputs)for(var c=Object.keys(b.inputs),\nd=0;d<c.length;d++){var e=c[d],f=a.getInput(e);if(!f||!f.connection)throw new module$exports$Blockly$serialization$exceptions.MissingConnection(e,a,b);module$contents$Blockly$serialization$blocks_loadConnection(f.connection,b.inputs[e])}},module$contents$Blockly$serialization$blocks_loadNextBlocks=function(a,b){if(b.next){if(!a.nextConnection)throw new module$exports$Blockly$serialization$exceptions.MissingConnection(\"next\",a,b);module$contents$Blockly$serialization$blocks_loadConnection(a.nextConnection,\nb.next)}},module$contents$Blockly$serialization$blocks_loadConnection=function(a,b){b.shadow&&a.setShadowState(b.shadow);b.block&&module$contents$Blockly$serialization$blocks_appendPrivate(b.block,a.getSourceBlock().workspace,{parentConnection:a})},module$contents$Blockly$serialization$blocks_initBlock=function(a,b){b?(a.setConnectionTracking(!1),a.initSvg(),a.render(!1)):a.initModel()},module$contents$Blockly$serialization$blocks_saveBlock=module$exports$Blockly$serialization$blocks.save,module$contents$Blockly$serialization$blocks_BlockSerializer=\nfunction(){this.priority=module$exports$Blockly$serialization$priorities.BLOCKS};module$contents$Blockly$serialization$blocks_BlockSerializer.prototype.save=function(a){var b=[];a=$jscomp.makeIterator(a.getTopBlocks(!1));for(var c=a.next();!c.done;c=a.next())(c=module$contents$Blockly$serialization$blocks_saveBlock(c.value,{addCoordinates:!0,doFullSerialization:!1}))&&b.push(c);return b.length?{languageVersion:0,blocks:b}:null};\nmodule$contents$Blockly$serialization$blocks_BlockSerializer.prototype.load=function(a,b){a=$jscomp.makeIterator(a.blocks);for(var c=a.next();!c.done;c=a.next())(0,module$exports$Blockly$serialization$blocks.append)(c.value,b,{recordUndo:(0,module$exports$Blockly$Events$utils.getRecordUndo)()})};module$contents$Blockly$serialization$blocks_BlockSerializer.prototype.clear=function(a){a=$jscomp.makeIterator(a.getTopBlocks(!1));for(var b=a.next();!b.done;b=a.next())b.value.dispose(!1)};\n(0,module$exports$Blockly$serialization$registry.register)(\"blocks\",new module$contents$Blockly$serialization$blocks_BlockSerializer);var module$exports$Blockly$Events$Abstract=function(){this.isBlank=null;this.workspaceId=void 0;this.group=(0,module$exports$Blockly$Events$utils.getGroup)();this.recordUndo=(0,module$exports$Blockly$Events$utils.getRecordUndo)()};module$exports$Blockly$Events$Abstract.prototype.isUiEvent=!1;module$exports$Blockly$Events$Abstract.prototype.toJson=function(){var a={type:this.type};this.group&&(a.group=this.group);return a};\nmodule$exports$Blockly$Events$Abstract.prototype.fromJson=function(a){this.isBlank=!1;this.group=a.group};module$exports$Blockly$Events$Abstract.prototype.isNull=function(){return!1};module$exports$Blockly$Events$Abstract.prototype.run=function(a){};\nmodule$exports$Blockly$Events$Abstract.prototype.getEventWorkspace_=function(){var a;this.workspaceId&&(a=module$exports$Blockly$Workspace.Workspace.getById(this.workspaceId));if(!a)throw Error(\"Workspace is null. Event must have been generated from real Blockly events.\");return a};var module$exports$Blockly$Events$BlockBase={BlockBase:function(a){module$exports$Blockly$Events$BlockBase.BlockBase.superClass_.constructor.call(this);this.blockId=(this.isBlank=\"undefined\"===typeof a)?\"\":a.id;this.workspaceId=this.isBlank?\"\":a.workspace.id}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$BlockBase.BlockBase,module$exports$Blockly$Events$Abstract);\nmodule$exports$Blockly$Events$BlockBase.BlockBase.prototype.toJson=function(){var a=module$exports$Blockly$Events$BlockBase.BlockBase.superClass_.toJson.call(this);a.blockId=this.blockId;return a};module$exports$Blockly$Events$BlockBase.BlockBase.prototype.fromJson=function(a){module$exports$Blockly$Events$BlockBase.BlockBase.superClass_.fromJson.call(this,a);this.blockId=a.blockId};var module$exports$Blockly$Events$BlockCreate={BlockCreate:function(a){module$exports$Blockly$Events$BlockCreate.BlockCreate.superClass_.constructor.call(this,a);a&&(a.isShadow()&&(this.recordUndo=!1),this.xml=(0,$.module$exports$Blockly$Xml.blockToDomWithXY)(a),this.ids=(0,module$exports$Blockly$Events$utils.getDescendantIds)(a),this.json=(0,module$exports$Blockly$serialization$blocks.save)(a,{addCoordinates:!0}))}};\n(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$BlockCreate.BlockCreate,module$exports$Blockly$Events$BlockBase.BlockBase);module$exports$Blockly$Events$BlockCreate.BlockCreate.prototype.type=module$exports$Blockly$Events$utils.CREATE;\nmodule$exports$Blockly$Events$BlockCreate.BlockCreate.prototype.toJson=function(){var a=module$exports$Blockly$Events$BlockCreate.BlockCreate.superClass_.toJson.call(this);a.xml=(0,$.module$exports$Blockly$Xml.domToText)(this.xml);a.ids=this.ids;a.json=this.json;this.recordUndo||(a.recordUndo=this.recordUndo);return a};\nmodule$exports$Blockly$Events$BlockCreate.BlockCreate.prototype.fromJson=function(a){module$exports$Blockly$Events$BlockCreate.BlockCreate.superClass_.fromJson.call(this,a);this.xml=(0,$.module$exports$Blockly$Xml.textToDom)(a.xml);this.ids=a.ids;this.json=a.json;void 0!==a.recordUndo&&(this.recordUndo=a.recordUndo)};\nmodule$exports$Blockly$Events$BlockCreate.BlockCreate.prototype.run=function(a){var b=this.getEventWorkspace_();if(a)(0,module$exports$Blockly$serialization$blocks.append)(this.json,b);else for(a=0;a<this.ids.length;a++){var c=this.ids[a],d=b.getBlockById(c);d?d.dispose(!1):c===this.blockId&&console.warn(\"Can't uncreate non-existent block: \"+c)}};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.CREATE,module$exports$Blockly$Events$BlockCreate.BlockCreate);var module$contents$Blockly$ContextMenu_currentBlock;$.module$exports$Blockly$ContextMenu={};module$contents$Blockly$ContextMenu_currentBlock=null;$.module$exports$Blockly$ContextMenu.getCurrentBlock=function(){return module$contents$Blockly$ContextMenu_currentBlock};$.module$exports$Blockly$ContextMenu.setCurrentBlock=function(a){module$contents$Blockly$ContextMenu_currentBlock=a};\nObject.defineProperties($.module$exports$Blockly$ContextMenu,{currentBlock:{get:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.ContextMenu.currentBlock\",\"September 2021\",\"September 2022\",\"Blockly.Tooltip.getCurrentBlock()\");return(0,$.module$exports$Blockly$ContextMenu.getCurrentBlock)()},set:function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.ContextMenu.currentBlock\",\"September 2021\",\"September 2022\",\"Blockly.Tooltip.setCurrentBlock(block)\");(0,$.module$exports$Blockly$ContextMenu.setCurrentBlock)(a)}}});\nvar module$contents$Blockly$ContextMenu_menu_=null;$.module$exports$Blockly$ContextMenu.show=function(a,b,c){(0,module$exports$Blockly$WidgetDiv.show)($.module$exports$Blockly$ContextMenu,c,$.module$exports$Blockly$ContextMenu.dispose);if(b.length){var d=module$contents$Blockly$ContextMenu_populate_(b,c);module$contents$Blockly$ContextMenu_menu_=d;module$contents$Blockly$ContextMenu_position_(d,a,c);setTimeout(function(){d.focus()},1);module$contents$Blockly$ContextMenu_currentBlock=null}else(0,$.module$exports$Blockly$ContextMenu.hide)()};\nvar module$contents$Blockly$ContextMenu_populate_=function(a,b){var c=new module$exports$Blockly$Menu.Menu;c.setRole(module$exports$Blockly$utils$aria.Role.MENU);for(var d=0;d<a.length;d++){var e=a[d],f=new module$exports$Blockly$MenuItem.MenuItem(e.text);f.setRightToLeft(b);f.setRole(module$exports$Blockly$utils$aria.Role.MENUITEM);c.addChild(f);f.setEnabled(e.enabled);if(e.enabled)f.onAction(function(g){(0,$.module$exports$Blockly$ContextMenu.hide)();this.callback(this.scope)},e)}return c},module$contents$Blockly$ContextMenu_position_=\nfunction(a,b,c){var d=(0,module$exports$Blockly$utils$svgMath.getViewportBBox)();b=new module$exports$Blockly$utils$Rect.Rect(b.clientY+d.top,b.clientY+d.top,b.clientX+d.left,b.clientX+d.left);module$contents$Blockly$ContextMenu_createWidget_(a);var e=a.getSize();c&&(b.left+=e.width,b.right+=e.width,d.left+=e.width,d.right+=e.width);(0,module$exports$Blockly$WidgetDiv.positionWithAnchor)(d,b,e,c);a.focus()},module$contents$Blockly$ContextMenu_createWidget_=function(a){var b=(0,module$exports$Blockly$WidgetDiv.getDiv)();\nif(!b)throw Error(\"Attempting to create a context menu when widget div is null\");a.render(b);b=a.getElement();(0,module$exports$Blockly$utils$dom.addClass)(b,\"blocklyContextMenu\");(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"contextmenu\",null,module$contents$Blockly$ContextMenu_haltPropagation);a.focus()},module$contents$Blockly$ContextMenu_haltPropagation=function(a){a.preventDefault();a.stopPropagation()};\n$.module$exports$Blockly$ContextMenu.hide=function(){(0,module$exports$Blockly$WidgetDiv.hideIfOwner)($.module$exports$Blockly$ContextMenu);module$contents$Blockly$ContextMenu_currentBlock=null};$.module$exports$Blockly$ContextMenu.dispose=function(){module$contents$Blockly$ContextMenu_menu_&&(module$contents$Blockly$ContextMenu_menu_.dispose(),module$contents$Blockly$ContextMenu_menu_=null)};\n$.module$exports$Blockly$ContextMenu.callbackFactory=function(a,b){return function(){(0,module$exports$Blockly$Events$utils.disable)();try{var c=(0,$.module$exports$Blockly$Xml.domToBlock)(b,a.workspace);var d=a.getRelativeToSurfaceXY();d.x=a.RTL?d.x-$.module$exports$Blockly$internalConstants.SNAP_RADIUS:d.x+$.module$exports$Blockly$internalConstants.SNAP_RADIUS;d.y+=2*$.module$exports$Blockly$internalConstants.SNAP_RADIUS;c.moveBy(d.x,d.y)}finally{(0,module$exports$Blockly$Events$utils.enable)()}(0,module$exports$Blockly$Events$utils.isEnabled)()&&\n!c.isShadow()&&(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CREATE))(c));c.select()}};$.module$exports$Blockly$ContextMenu.commentDeleteOption=function(a){return{text:$.module$exports$Blockly$Msg.Msg.REMOVE_COMMENT,enabled:!0,callback:function(){(0,module$exports$Blockly$Events$utils.setGroup)(!0);a.dispose();(0,module$exports$Blockly$Events$utils.setGroup)(!1)}}};\n$.module$exports$Blockly$ContextMenu.commentDuplicateOption=function(a){return{text:$.module$exports$Blockly$Msg.Msg.DUPLICATE_COMMENT,enabled:!0,callback:function(){(0,module$exports$Blockly$clipboard.duplicate)(a)}}};\n$.module$exports$Blockly$ContextMenu.workspaceCommentOption=function(a,b){var c=module$exports$Blockly$WorkspaceCommentSvg;if(!c)throw Error(\"Missing require for Blockly.WorkspaceCommentSvg\");var d={enabled:!module$exports$Blockly$utils$userAgent.IE};d.text=$.module$exports$Blockly$Msg.Msg.ADD_COMMENT;d.callback=function(){var e=new c(a,$.module$exports$Blockly$Msg.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT,c.DEFAULT_SIZE,c.DEFAULT_SIZE),f=a.getInjectionDiv().getBoundingClientRect();f=new module$exports$Blockly$utils$Coordinate.Coordinate(b.clientX-\nf.left,b.clientY-f.top);var g=a.getOriginOffsetInPixels();f=module$exports$Blockly$utils$Coordinate.Coordinate.difference(f,g);f.scale(1/a.scale);e.moveBy(f.x,f.y);a.rendered&&(e.initSvg(),e.render(),e.select())};return d};var module$exports$Blockly$utils$array={removeElem:function(a,b){b=a.indexOf(b);if(-1===b)return!1;a.splice(b,1);return!0}};var module$exports$Blockly$blockRendering$debug={},module$contents$Blockly$blockRendering$debug_useDebugger=!1;module$exports$Blockly$blockRendering$debug.isDebuggerEnabled=function(){return module$contents$Blockly$blockRendering$debug_useDebugger};module$exports$Blockly$blockRendering$debug.startDebugger=function(){module$contents$Blockly$blockRendering$debug_useDebugger=!0};\nmodule$exports$Blockly$blockRendering$debug.stopDebugger=function(){module$contents$Blockly$blockRendering$debug_useDebugger=!1};var module$exports$Blockly$blockRendering$Types={Types:{NONE:0,FIELD:1,HAT:2,ICON:4,SPACER:8,BETWEEN_ROW_SPACER:16,IN_ROW_SPACER:32,EXTERNAL_VALUE_INPUT:64,INPUT:128,INLINE_INPUT:256,STATEMENT_INPUT:512,CONNECTION:1024,PREVIOUS_CONNECTION:2048,NEXT_CONNECTION:4096,OUTPUT_CONNECTION:8192,CORNER:16384,LEFT_SQUARE_CORNER:32768,LEFT_ROUND_CORNER:65536,RIGHT_SQUARE_CORNER:131072,RIGHT_ROUND_CORNER:262144,JAGGED_EDGE:524288,ROW:1048576,TOP_ROW:2097152,BOTTOM_ROW:4194304,INPUT_ROW:8388608}};\nmodule$exports$Blockly$blockRendering$Types.Types.LEFT_CORNER=module$exports$Blockly$blockRendering$Types.Types.LEFT_SQUARE_CORNER|module$exports$Blockly$blockRendering$Types.Types.LEFT_ROUND_CORNER;module$exports$Blockly$blockRendering$Types.Types.RIGHT_CORNER=module$exports$Blockly$blockRendering$Types.Types.RIGHT_SQUARE_CORNER|module$exports$Blockly$blockRendering$Types.Types.RIGHT_ROUND_CORNER;module$exports$Blockly$blockRendering$Types.Types.nextTypeValue_=16777216;\nmodule$exports$Blockly$blockRendering$Types.Types.getType=function(a){Object.prototype.hasOwnProperty.call(module$exports$Blockly$blockRendering$Types.Types,a)||(module$exports$Blockly$blockRendering$Types.Types[a]=module$exports$Blockly$blockRendering$Types.Types.nextTypeValue_,module$exports$Blockly$blockRendering$Types.Types.nextTypeValue_<<=1);return module$exports$Blockly$blockRendering$Types.Types[a]};module$exports$Blockly$blockRendering$Types.Types.isField=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.FIELD};\nmodule$exports$Blockly$blockRendering$Types.Types.isHat=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.HAT};module$exports$Blockly$blockRendering$Types.Types.isIcon=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.ICON};module$exports$Blockly$blockRendering$Types.Types.isSpacer=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.SPACER};\nmodule$exports$Blockly$blockRendering$Types.Types.isInRowSpacer=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.IN_ROW_SPACER};module$exports$Blockly$blockRendering$Types.Types.isInput=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.INPUT};module$exports$Blockly$blockRendering$Types.Types.isExternalInput=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.EXTERNAL_VALUE_INPUT};\nmodule$exports$Blockly$blockRendering$Types.Types.isInlineInput=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.INLINE_INPUT};module$exports$Blockly$blockRendering$Types.Types.isStatementInput=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.STATEMENT_INPUT};module$exports$Blockly$blockRendering$Types.Types.isPreviousConnection=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.PREVIOUS_CONNECTION};\nmodule$exports$Blockly$blockRendering$Types.Types.isNextConnection=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.NEXT_CONNECTION};module$exports$Blockly$blockRendering$Types.Types.isPreviousOrNextConnection=function(a){return a.type&(module$exports$Blockly$blockRendering$Types.Types.PREVIOUS_CONNECTION|module$exports$Blockly$blockRendering$Types.Types.NEXT_CONNECTION)};module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.LEFT_ROUND_CORNER};\nmodule$exports$Blockly$blockRendering$Types.Types.isRightRoundedCorner=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.RIGHT_ROUND_CORNER};module$exports$Blockly$blockRendering$Types.Types.isLeftSquareCorner=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.LEFT_SQUARE_CORNER};module$exports$Blockly$blockRendering$Types.Types.isRightSquareCorner=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.RIGHT_SQUARE_CORNER};\nmodule$exports$Blockly$blockRendering$Types.Types.isCorner=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.CORNER};module$exports$Blockly$blockRendering$Types.Types.isJaggedEdge=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.JAGGED_EDGE};module$exports$Blockly$blockRendering$Types.Types.isRow=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.ROW};\nmodule$exports$Blockly$blockRendering$Types.Types.isBetweenRowSpacer=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.BETWEEN_ROW_SPACER};module$exports$Blockly$blockRendering$Types.Types.isTopRow=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.TOP_ROW};module$exports$Blockly$blockRendering$Types.Types.isBottomRow=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.BOTTOM_ROW};\nmodule$exports$Blockly$blockRendering$Types.Types.isTopOrBottomRow=function(a){return a.type&(module$exports$Blockly$blockRendering$Types.Types.TOP_ROW|module$exports$Blockly$blockRendering$Types.Types.BOTTOM_ROW)};module$exports$Blockly$blockRendering$Types.Types.isInputRow=function(a){return a.type&module$exports$Blockly$blockRendering$Types.Types.INPUT_ROW};var module$exports$Blockly$blockRendering$Row={Row:function(a){this.type=module$exports$Blockly$blockRendering$Types.Types.ROW;this.elements=[];this.xPos=this.yPos=this.widthWithConnectedBlocks=this.minWidth=this.minHeight=this.width=this.height=0;this.hasJaggedEdge=this.hasDummyInput=this.hasInlineInput=this.hasStatement=this.hasExternalInput=!1;this.constants_=a;this.notchOffset=this.constants_.NOTCH_OFFSET_LEFT;this.align=null}};\nmodule$exports$Blockly$blockRendering$Row.Row.prototype.getLastInput=function(){for(var a=this.elements.length-1;0<=a;a--){var b=this.elements[a];if(module$exports$Blockly$blockRendering$Types.Types.isInput(b))return b}return null};module$exports$Blockly$blockRendering$Row.Row.prototype.measure=function(){throw Error(\"Unexpected attempt to measure a base Row.\");};module$exports$Blockly$blockRendering$Row.Row.prototype.startsWithElemSpacer=function(){return!0};\nmodule$exports$Blockly$blockRendering$Row.Row.prototype.endsWithElemSpacer=function(){return!0};module$exports$Blockly$blockRendering$Row.Row.prototype.getFirstSpacer=function(){for(var a=0;a<this.elements.length;a++){var b=this.elements[a];if(module$exports$Blockly$blockRendering$Types.Types.isSpacer(b))return b}return null};module$exports$Blockly$blockRendering$Row.Row.prototype.getLastSpacer=function(){for(var a=this.elements.length-1;0<=a;a--){var b=this.elements[a];if(module$exports$Blockly$blockRendering$Types.Types.isSpacer(b))return b}return null};var module$exports$Blockly$blockRendering$BottomRow={BottomRow:function(a){module$exports$Blockly$blockRendering$BottomRow.BottomRow.superClass_.constructor.call(this,a);this.type|=module$exports$Blockly$blockRendering$Types.Types.BOTTOM_ROW;this.hasNextConnection=!1;this.connection=null;this.baseline=this.descenderHeight=0}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$BottomRow.BottomRow,module$exports$Blockly$blockRendering$Row.Row);\nmodule$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.hasLeftSquareCorner=function(a){return!!a.outputConnection||!!a.getNextBlock()};module$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.hasRightSquareCorner=function(a){return!0};\nmodule$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.measure=function(){for(var a=0,b=0,c=0,d=0;d<this.elements.length;d++){var e=this.elements[d];b+=e.width;module$exports$Blockly$blockRendering$Types.Types.isSpacer(e)||(module$exports$Blockly$blockRendering$Types.Types.isNextConnection(e)?c=Math.max(c,e.height):a=Math.max(a,e.height))}this.width=Math.max(this.minWidth,b);this.height=Math.max(this.minHeight,a)+c;this.descenderHeight=c;this.widthWithConnectedBlocks=this.width};\nmodule$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.startsWithElemSpacer=function(){return!1};module$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.endsWithElemSpacer=function(){return!1};var module$exports$Blockly$blockRendering$Measurable={Measurable:function(a){this.height=this.width=0;this.type=module$exports$Blockly$blockRendering$Types.Types.NONE;this.centerline=this.xPos=0;this.constants_=a;this.notchOffset=this.constants_.NOTCH_OFFSET_LEFT}};var module$exports$Blockly$blockRendering$Connection={Connection:function(a,b){module$exports$Blockly$blockRendering$Connection.Connection.superClass_.constructor.call(this,a);this.connectionModel=b;this.shape=this.constants_.shapeFor(b);this.isDynamicShape=!!this.shape.isDynamic;this.type|=module$exports$Blockly$blockRendering$Types.Types.CONNECTION}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$Connection.Connection,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$utils$colour={},module$contents$Blockly$utils$colour_hsvSaturation=.45;module$exports$Blockly$utils$colour.getHsvSaturation=function(){return module$contents$Blockly$utils$colour_hsvSaturation};module$exports$Blockly$utils$colour.setHsvSaturation=function(a){module$contents$Blockly$utils$colour_hsvSaturation=a};var module$contents$Blockly$utils$colour_hsvValue=.65;module$exports$Blockly$utils$colour.getHsvValue=function(){return module$contents$Blockly$utils$colour_hsvValue};\nmodule$exports$Blockly$utils$colour.setHsvValue=function(a){module$contents$Blockly$utils$colour_hsvValue=a};\nmodule$exports$Blockly$utils$colour.parse=function(a){a=String(a).toLowerCase().trim();var b=module$exports$Blockly$utils$colour.names[a];if(b)return b;b=\"0x\"===a.substring(0,2)?\"#\"+a.substring(2):a;b=\"#\"===b[0]?b:\"#\"+b;if(/^#[0-9a-f]{6}$/.test(b))return b;if(/^#[0-9a-f]{3}$/.test(b))return[\"#\",b[1],b[1],b[2],b[2],b[3],b[3]].join(\"\");var c=a.match(/^(?:rgb)?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)$/);return c&&(a=Number(c[1]),b=Number(c[2]),c=Number(c[3]),0<=a&&256>a&&0<=b&&256>b&&0<=c&&256>c)?\n(0,module$exports$Blockly$utils$colour.rgbToHex)(a,b,c):null};module$exports$Blockly$utils$colour.rgbToHex=function(a,b,c){b=a<<16|b<<8|c;return 16>a?\"#\"+(16777216|b).toString(16).substr(1):\"#\"+b.toString(16)};module$exports$Blockly$utils$colour.hexToRgb=function(a){a=(0,module$exports$Blockly$utils$colour.parse)(a);if(!a)return[0,0,0];a=parseInt(a.substr(1),16);return[a>>16,a>>8&255,a&255]};\nmodule$exports$Blockly$utils$colour.hsvToHex=function(a,b,c){var d=0,e=0,f=0;if(0===b)f=e=d=c;else{var g=Math.floor(a/60),h=a/60-g;a=c*(1-b);var k=c*(1-b*h);b=c*(1-b*(1-h));switch(g){case 1:d=k;e=c;f=a;break;case 2:d=a;e=c;f=b;break;case 3:d=a;e=k;f=c;break;case 4:d=b;e=a;f=c;break;case 5:d=c;e=a;f=k;break;case 6:case 0:d=c,e=b,f=a}}return(0,module$exports$Blockly$utils$colour.rgbToHex)(Math.floor(d),Math.floor(e),Math.floor(f))};\nmodule$exports$Blockly$utils$colour.blend=function(a,b,c){a=(0,module$exports$Blockly$utils$colour.parse)(a);if(!a)return null;b=(0,module$exports$Blockly$utils$colour.parse)(b);if(!b)return null;a=(0,module$exports$Blockly$utils$colour.hexToRgb)(a);b=(0,module$exports$Blockly$utils$colour.hexToRgb)(b);return(0,module$exports$Blockly$utils$colour.rgbToHex)(Math.round(b[0]+c*(a[0]-b[0])),Math.round(b[1]+c*(a[1]-b[1])),Math.round(b[2]+c*(a[2]-b[2])))};\nmodule$exports$Blockly$utils$colour.names={aqua:\"#00ffff\",black:\"#000000\",blue:\"#0000ff\",fuchsia:\"#ff00ff\",gray:\"#808080\",green:\"#008000\",lime:\"#00ff00\",maroon:\"#800000\",navy:\"#000080\",olive:\"#808000\",purple:\"#800080\",red:\"#ff0000\",silver:\"#c0c0c0\",teal:\"#008080\",white:\"#ffffff\",yellow:\"#ffff00\"};module$exports$Blockly$utils$colour.hueToHex=function(a){return(0,module$exports$Blockly$utils$colour.hsvToHex)(a,module$contents$Blockly$utils$colour_hsvSaturation,255*module$contents$Blockly$utils$colour_hsvValue)};var module$exports$Blockly$utils$svgPaths={point:function(a,b){return\" \"+a+\",\"+b+\" \"},curve:function(a,b){return\" \"+a+b.join(\"\")},moveTo:function(a,b){return\" M \"+a+\",\"+b+\" \"},moveBy:function(a,b){return\" m \"+a+\",\"+b+\" \"},lineTo:function(a,b){return\" l \"+a+\",\"+b+\" \"},line:function(a){return\" l\"+a.join(\"\")},lineOnAxis:function(a,b){return\" \"+a+\" \"+b+\" \"},arc:function(a,b,c,d){return a+\" \"+c+\" \"+c+\" \"+b+d}};var module$exports$Blockly$utils$parsing={},module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal=function(a,b){var c=[],d=a.split(\"\");d.push(\"\");var e=0;a=[];for(var f=null,g=0;g<d.length;g++){var h=d[g];0===e?\"%\"===h?((e=a.join(\"\"))&&c.push(e),a.length=0,e=1):a.push(h):1===e?\"%\"===h?(a.push(h),e=0):b&&\"0\"<=h&&\"9\">=h?(e=2,f=h,(h=a.join(\"\"))&&c.push(h),a.length=0):\"{\"===h?e=3:(a.push(\"%\",h),e=0):2===e?\"0\"<=h&&\"9\">=h?f+=h:(c.push(parseInt(f,10)),g--,e=0):3===e&&(\"\"===h?(a.splice(0,0,\n\"%{\"),g--,e=0):\"}\"!==h?a.push(h):(e=a.join(\"\"),/[A-Z]\\w*/i.test(e)?(h=e.toUpperCase(),(h=(0,$.module$exports$Blockly$utils$string.startsWith)(h,\"BKY_\")?h.substring(4):null)&&h in $.module$exports$Blockly$Msg.Msg?(e=$.module$exports$Blockly$Msg.Msg[h],\"string\"===typeof e?Array.prototype.push.apply(c,module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal(e,b)):b?c.push(String(e)):c.push(e)):c.push(\"%{\"+e+\"}\")):c.push(\"%{\"+e+\"}\"),e=a.length=0))}(b=a.join(\"\"))&&c.push(b);d=[];for(f=a.length=\n0;f<c.length;f++)\"string\"===typeof c[f]?a.push(c[f]):((b=a.join(\"\"))&&d.push(b),a.length=0,d.push(c[f]));(b=a.join(\"\"))&&d.push(b);a.length=0;return d};module$exports$Blockly$utils$parsing.tokenizeInterpolation=function(a){return module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal(a,!0)};\nmodule$exports$Blockly$utils$parsing.replaceMessageReferences=function(a){if(\"string\"!==typeof a)return a;a=module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal(a,!1);return a.length?String(a[0]):\"\"};module$exports$Blockly$utils$parsing.checkMessageReferences=function(a){for(var b=!0,c=$.module$exports$Blockly$Msg.Msg,d=a.match(/%{BKY_[A-Z]\\w*}/ig),e=0;e<d.length;e++){var f=d[e].toUpperCase();void 0===c[f.slice(6,-1)]&&(console.warn(\"No message string for \"+d[e]+\" in \"+a),b=!1)}return b};\nmodule$exports$Blockly$utils$parsing.parseBlockColour=function(a){var b=\"string\"===typeof a?(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a):a,c=Number(b);if(!isNaN(c)&&0<=c&&360>=c)return{hue:c,hex:(0,module$exports$Blockly$utils$colour.hsvToHex)(c,(0,module$exports$Blockly$utils$colour.getHsvSaturation)(),255*(0,module$exports$Blockly$utils$colour.getHsvValue)())};if(c=(0,module$exports$Blockly$utils$colour.parse)(b))return{hue:null,hex:c};c='Invalid colour: \"'+b+'\"';a!==b&&\n(c+=' (from \"'+a+'\")');throw Error(c);};var module$exports$Blockly$blockRendering$ConstantProvider={ConstantProvider:function(){this.NO_PADDING=0;this.SMALL_PADDING=3;this.MEDIUM_PADDING=5;this.MEDIUM_LARGE_PADDING=8;this.LARGE_PADDING=10;this.TALL_INPUT_FIELD_OFFSET_Y=this.MEDIUM_PADDING;this.TAB_HEIGHT=15;this.TAB_OFFSET_FROM_TOP=5;this.TAB_VERTICAL_OVERLAP=2.5;this.TAB_WIDTH=8;this.NOTCH_WIDTH=15;this.NOTCH_HEIGHT=4;this.MIN_BLOCK_WIDTH=12;this.EMPTY_BLOCK_SPACER_HEIGHT=16;this.DUMMY_INPUT_SHADOW_MIN_HEIGHT=this.DUMMY_INPUT_MIN_HEIGHT=\nthis.TAB_HEIGHT;this.CORNER_RADIUS=8;this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT=15;this.STATEMENT_BOTTOM_SPACER=0;this.STATEMENT_INPUT_PADDING_LEFT=20;this.BETWEEN_STATEMENT_PADDING_Y=4;this.TOP_ROW_MIN_HEIGHT=this.MEDIUM_PADDING;this.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT=this.LARGE_PADDING;this.BOTTOM_ROW_MIN_HEIGHT=this.MEDIUM_PADDING;this.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT=this.LARGE_PADDING;this.ADD_START_HATS=!1;this.START_HAT_HEIGHT=15;this.START_HAT_WIDTH=100;this.SPACER_DEFAULT_HEIGHT=\n15;this.MIN_BLOCK_HEIGHT=24;this.EMPTY_INLINE_INPUT_PADDING=14.5;this.EMPTY_INLINE_INPUT_HEIGHT=this.TAB_HEIGHT+11;this.EXTERNAL_VALUE_INPUT_PADDING=2;this.EMPTY_STATEMENT_INPUT_HEIGHT=this.MIN_BLOCK_HEIGHT;this.START_POINT=(0,module$exports$Blockly$utils$svgPaths.moveBy)(0,0);this.JAGGED_TEETH_HEIGHT=12;this.JAGGED_TEETH_WIDTH=6;this.FIELD_TEXT_FONTSIZE=11;this.FIELD_TEXT_FONTWEIGHT=\"normal\";this.FIELD_TEXT_FONTFAMILY=\"sans-serif\";this.FIELD_TEXT_BASELINE=this.FIELD_TEXT_HEIGHT=-1;this.FIELD_BORDER_RECT_RADIUS=\n4;this.FIELD_BORDER_RECT_HEIGHT=16;this.FIELD_BORDER_RECT_X_PADDING=5;this.FIELD_BORDER_RECT_Y_PADDING=3;this.FIELD_BORDER_RECT_COLOUR=\"#fff\";this.FIELD_TEXT_BASELINE_CENTER=!module$exports$Blockly$utils$userAgent.IE&&!module$exports$Blockly$utils$userAgent.EDGE;this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=this.FIELD_BORDER_RECT_HEIGHT;this.FIELD_DROPDOWN_SVG_ARROW=this.FIELD_DROPDOWN_COLOURED_DIV=this.FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW=!1;this.FIELD_DROPDOWN_SVG_ARROW_PADDING=this.FIELD_BORDER_RECT_X_PADDING;\nthis.FIELD_DROPDOWN_SVG_ARROW_SIZE=12;this.FIELD_DROPDOWN_SVG_ARROW_DATAURI=\"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMi43MSIgaGVpZ2h0PSI4Ljc5IiB2aWV3Qm94PSIwIDAgMTIuNzEgOC43OSI+PHRpdGxlPmRyb3Bkb3duLWFycm93PC90aXRsZT48ZyBvcGFjaXR5PSIwLjEiPjxwYXRoIGQ9Ik0xMi43MSwyLjQ0QTIuNDEsMi40MSwwLDAsMSwxMiw0LjE2TDguMDgsOC4wOGEyLjQ1LDIuNDUsMCwwLDEtMy40NSwwTDAuNzIsNC4xNkEyLjQyLDIuNDIsMCwwLDEsMCwyLjQ0LDIuNDgsMi40OCwwLDAsMSwuNzEuNzFDMSwwLjQ3LDEuNDMsMCw2LjM2LDBTMTEuNzUsMC40NiwxMiwuNzFBMi40NCwyLjQ0LDAsMCwxLDEyLjcxLDIuNDRaIiBmaWxsPSIjMjMxZjIwIi8+PC9nPjxwYXRoIGQ9Ik02LjM2LDcuNzlhMS40MywxLjQzLDAsMCwxLTEtLjQyTDEuNDIsMy40NWExLjQ0LDEuNDQsMCwwLDEsMC0yYzAuNTYtLjU2LDkuMzEtMC41Niw5Ljg3LDBhMS40NCwxLjQ0LDAsMCwxLDAsMkw3LjM3LDcuMzdBMS40MywxLjQzLDAsMCwxLDYuMzYsNy43OVoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=\";\nthis.FIELD_COLOUR_FULL_BLOCK=this.FIELD_TEXTINPUT_BOX_SHADOW=!1;this.FIELD_COLOUR_DEFAULT_WIDTH=26;this.FIELD_COLOUR_DEFAULT_HEIGHT=this.FIELD_BORDER_RECT_HEIGHT;this.FIELD_CHECKBOX_X_OFFSET=this.FIELD_BORDER_RECT_X_PADDING-3;this.randomIdentifier=String(Math.random()).substring(2);this.defs_=null;this.embossFilterId=\"\";this.embossFilter_=null;this.disabledPatternId=\"\";this.disabledPattern_=null;this.debugFilterId=\"\";this.cssNode_=this.debugFilter_=null;this.CURSOR_COLOUR=\"#cc0a0a\";this.MARKER_COLOUR=\n\"#4286f4\";this.CURSOR_WS_WIDTH=100;this.WS_CURSOR_HEIGHT=5;this.CURSOR_STACK_PADDING=10;this.CURSOR_BLOCK_PADDING=2;this.CURSOR_STROKE_WIDTH=4;this.FULL_BLOCK_FIELDS=!1;this.INSERTION_MARKER_COLOUR=\"#000000\";this.INSERTION_MARKER_OPACITY=.2;this.SHAPES={PUZZLE:1,NOTCH:2}}};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.init=function(){this.JAGGED_TEETH=this.makeJaggedTeeth();this.NOTCH=this.makeNotch();this.START_HAT=this.makeStartHat();this.PUZZLE_TAB=this.makePuzzleTab();this.INSIDE_CORNERS=this.makeInsideCorners();this.OUTSIDE_CORNERS=this.makeOutsideCorners()};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.setTheme=function(a){this.blockStyles=Object.create(null);var b=a.blockStyles,c;for(c in b)this.blockStyles[c]=this.validatedBlockStyle_(b[c]);this.setDynamicProperties_(a)};module$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.setDynamicProperties_=function(a){this.setFontConstants_(a);this.setComponentConstants_(a);this.ADD_START_HATS=null!==a.startHats?a.startHats:this.ADD_START_HATS};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.setFontConstants_=function(a){this.FIELD_TEXT_FONTFAMILY=a.fontStyle&&void 0!==a.fontStyle.family?a.fontStyle.family:this.FIELD_TEXT_FONTFAMILY;this.FIELD_TEXT_FONTWEIGHT=a.fontStyle&&void 0!==a.fontStyle.weight?a.fontStyle.weight:this.FIELD_TEXT_FONTWEIGHT;this.FIELD_TEXT_FONTSIZE=a.fontStyle&&void 0!==a.fontStyle.size?a.fontStyle.size:this.FIELD_TEXT_FONTSIZE;a=(0,module$exports$Blockly$utils$dom.measureFontMetrics)(\"Hg\",\nthis.FIELD_TEXT_FONTSIZE+\"pt\",this.FIELD_TEXT_FONTWEIGHT,this.FIELD_TEXT_FONTFAMILY);this.FIELD_TEXT_HEIGHT=a.height;this.FIELD_TEXT_BASELINE=a.baseline};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.setComponentConstants_=function(a){this.CURSOR_COLOUR=a.getComponentStyle(\"cursorColour\")||this.CURSOR_COLOUR;this.MARKER_COLOUR=a.getComponentStyle(\"markerColour\")||this.MARKER_COLOUR;this.INSERTION_MARKER_COLOUR=a.getComponentStyle(\"insertionMarkerColour\")||this.INSERTION_MARKER_COLOUR;this.INSERTION_MARKER_OPACITY=Number(a.getComponentStyle(\"insertionMarkerOpacity\"))||this.INSERTION_MARKER_OPACITY};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.getBlockStyleForColour=function(a){var b=\"auto_\"+a;this.blockStyles[b]||(this.blockStyles[b]=this.createBlockStyle_(a));return{style:this.blockStyles[b],name:b}};module$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.getBlockStyle=function(a){return this.blockStyles[a||\"\"]||(a&&0===a.indexOf(\"auto_\")?this.getBlockStyleForColour(a.substring(5)).style:this.createBlockStyle_(\"#000000\"))};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.createBlockStyle_=function(a){return this.validatedBlockStyle_({colourPrimary:a})};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.validatedBlockStyle_=function(a){var b={};a&&(0,$.module$exports$Blockly$utils$object.mixin)(b,a);a=(0,module$exports$Blockly$utils$parsing.parseBlockColour)(b.colourPrimary||\"#000\");b.colourPrimary=a.hex;b.colourSecondary=b.colourSecondary?(0,module$exports$Blockly$utils$parsing.parseBlockColour)(b.colourSecondary).hex:this.generateSecondaryColour_(b.colourPrimary);b.colourTertiary=b.colourTertiary?(0,module$exports$Blockly$utils$parsing.parseBlockColour)(b.colourTertiary).hex:\nthis.generateTertiaryColour_(b.colourPrimary);b.hat=b.hat||\"\";return b};module$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.generateSecondaryColour_=function(a){return(0,module$exports$Blockly$utils$colour.blend)(\"#fff\",a,.6)||a};module$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.generateTertiaryColour_=function(a){return(0,module$exports$Blockly$utils$colour.blend)(\"#fff\",a,.3)||a};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.dispose=function(){this.embossFilter_&&(0,module$exports$Blockly$utils$dom.removeNode)(this.embossFilter_);this.disabledPattern_&&(0,module$exports$Blockly$utils$dom.removeNode)(this.disabledPattern_);this.debugFilter_&&(0,module$exports$Blockly$utils$dom.removeNode)(this.debugFilter_);this.cssNode_=null};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.makeJaggedTeeth=function(){var a=this.JAGGED_TEETH_HEIGHT,b=this.JAGGED_TEETH_WIDTH,c=(0,module$exports$Blockly$utils$svgPaths.line)([(0,module$exports$Blockly$utils$svgPaths.point)(b,a/4),(0,module$exports$Blockly$utils$svgPaths.point)(2*-b,a/2),(0,module$exports$Blockly$utils$svgPaths.point)(b,a/4)]);return{height:a,width:b,path:c}};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.makeStartHat=function(){var a=this.START_HAT_HEIGHT,b=this.START_HAT_WIDTH,c=(0,module$exports$Blockly$utils$svgPaths.curve)(\"c\",[(0,module$exports$Blockly$utils$svgPaths.point)(30,-a),(0,module$exports$Blockly$utils$svgPaths.point)(70,-a),(0,module$exports$Blockly$utils$svgPaths.point)(b,0)]);return{height:a,width:b,path:c}};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.makePuzzleTab=function(){function a(f){f=f?-1:1;var g=-f,h=c/2,k=h+2.5,l=h+.5,m=(0,module$exports$Blockly$utils$svgPaths.point)(-b,f*h);h=(0,module$exports$Blockly$utils$svgPaths.point)(b,f*h);return(0,module$exports$Blockly$utils$svgPaths.curve)(\"c\",[(0,module$exports$Blockly$utils$svgPaths.point)(0,f*k),(0,module$exports$Blockly$utils$svgPaths.point)(-b,g*l),m])+(0,module$exports$Blockly$utils$svgPaths.curve)(\"s\",\n[(0,module$exports$Blockly$utils$svgPaths.point)(b,2.5*g),h])}var b=this.TAB_WIDTH,c=this.TAB_HEIGHT,d=a(!0),e=a(!1);return{type:this.SHAPES.PUZZLE,width:b,height:c,pathDown:e,pathUp:d}};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.makeNotch=function(){function a(g){return(0,module$exports$Blockly$utils$svgPaths.line)([(0,module$exports$Blockly$utils$svgPaths.point)(g*d,c),(0,module$exports$Blockly$utils$svgPaths.point)(3*g,0),(0,module$exports$Blockly$utils$svgPaths.point)(g*d,-c)])}var b=this.NOTCH_WIDTH,c=this.NOTCH_HEIGHT,d=(b-3)/2,e=a(1),f=a(-1);return{type:this.SHAPES.NOTCH,width:b,height:c,pathLeft:e,pathRight:f}};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.makeInsideCorners=function(){var a=this.CORNER_RADIUS,b=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,0\",a,(0,module$exports$Blockly$utils$svgPaths.point)(-a,a)),c=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,0\",a,(0,module$exports$Blockly$utils$svgPaths.point)(a,a));return{width:a,height:a,pathTop:b,pathBottom:c}};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.makeOutsideCorners=function(){var a=this.CORNER_RADIUS,b=(0,module$exports$Blockly$utils$svgPaths.moveBy)(0,a)+(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",a,(0,module$exports$Blockly$utils$svgPaths.point)(a,-a)),c=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",a,(0,module$exports$Blockly$utils$svgPaths.point)(a,a)),d=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",a,(0,module$exports$Blockly$utils$svgPaths.point)(-a,\n-a)),e=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",a,(0,module$exports$Blockly$utils$svgPaths.point)(-a,a));return{topLeft:b,topRight:c,bottomRight:e,bottomLeft:d,rightHeight:a}};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.shapeFor=function(a){switch(a.type){case $.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE:case $.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE:return this.PUZZLE_TAB;case $.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT:case $.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT:return this.NOTCH;default:throw Error(\"Unknown connection type\");\n}};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.createDom=function(a,b,c){this.injectCSS_(b,c);this.defs_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.DEFS,{},a);a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FILTER,{id:\"blocklyEmbossFilter\"+this.randomIdentifier},this.defs_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEGAUSSIANBLUR,{\"in\":\"SourceAlpha\",\nstdDeviation:1,result:\"blur\"},a);b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FESPECULARLIGHTING,{\"in\":\"blur\",surfaceScale:1,specularConstant:.5,specularExponent:10,\"lighting-color\":\"white\",result:\"specOut\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEPOINTLIGHT,{x:-5E3,y:-1E4,z:2E4},b);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FECOMPOSITE,{\"in\":\"specOut\",\nin2:\"SourceAlpha\",operator:\"in\",result:\"specOut\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FECOMPOSITE,{\"in\":\"SourceGraphic\",in2:\"specOut\",operator:\"arithmetic\",k1:0,k2:1,k3:1,k4:0},a);this.embossFilterId=a.id;this.embossFilter_=a;a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATTERN,{id:\"blocklyDisabledPattern\"+this.randomIdentifier,patternUnits:\"userSpaceOnUse\",width:10,height:10},this.defs_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,\n{width:10,height:10,fill:\"#aaa\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{d:\"M 0 0 L 10 10 M 10 0 L 0 10\",stroke:\"#cc0\"},a);this.disabledPatternId=a.id;this.disabledPattern_=a;this.createDebugFilter()};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.createDebugFilter=function(){if(!this.debugFilter_){var a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FILTER,{id:\"blocklyDebugFilter\"+this.randomIdentifier,height:\"160%\",width:\"180%\",y:\"-30%\",x:\"-40%\"},this.defs_),b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FECOMPONENTTRANSFER,{result:\"outBlur\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEFUNCA,\n{type:\"table\",tableValues:\"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\"},b);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEFLOOD,{\"flood-color\":\"#ff0000\",\"flood-opacity\":.5,result:\"outColor\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FECOMPOSITE,{\"in\":\"outColor\",in2:\"outBlur\",operator:\"in\",result:\"outGlow\"},a);this.debugFilterId=a.id;this.debugFilter_=a}};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.injectCSS_=function(a,b){b=this.getCSS_(b);a=\"blockly-renderer-style-\"+a;this.cssNode_=document.getElementById(a);var c=b.join(\"\\n\");this.cssNode_?this.cssNode_.firstChild.textContent=c:(b=document.createElement(\"style\"),b.id=a,a=document.createTextNode(c),b.appendChild(a),document.head.insertBefore(b,document.head.firstChild),this.cssNode_=b)};\nmodule$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider.prototype.getCSS_=function(a){return[a+\" .blocklyText, \",a+\" .blocklyFlyoutLabelText {\",\"font: \"+this.FIELD_TEXT_FONTWEIGHT+\" \"+this.FIELD_TEXT_FONTSIZE+\"pt \"+this.FIELD_TEXT_FONTFAMILY+\";\",\"}\",a+\" .blocklyText {\",\"fill: #fff;\",\"}\",a+\" .blocklyNonEditableText>rect,\",a+\" .blocklyEditableText>rect {\",\"fill: \"+this.FIELD_BORDER_RECT_COLOUR+\";\",\"fill-opacity: .6;\",\"stroke: none;\",\"}\",a+\" .blocklyNonEditableText>text,\",a+\" .blocklyEditableText>text {\",\n\"fill: #000;\",\"}\",a+\" .blocklyFlyoutLabelText {\",\"fill: #000;\",\"}\",a+\" .blocklyText.blocklyBubbleText {\",\"fill: #000;\",\"}\",a+\" .blocklyEditableText:not(.editing):hover>rect {\",\"stroke: #fff;\",\"stroke-width: 2;\",\"}\",a+\" .blocklyHtmlInput {\",\"font-family: \"+this.FIELD_TEXT_FONTFAMILY+\";\",\"font-weight: \"+this.FIELD_TEXT_FONTWEIGHT+\";\",\"}\",a+\" .blocklySelected>.blocklyPath {\",\"stroke: #fc3;\",\"stroke-width: 3px;\",\"}\",a+\" .blocklyHighlightedConnectionPath {\",\"stroke: #fc3;\",\"}\",a+\" .blocklyReplaceable .blocklyPath {\",\n\"fill-opacity: .5;\",\"}\",a+\" .blocklyReplaceable .blocklyPathLight,\",a+\" .blocklyReplaceable .blocklyPathDark {\",\"display: none;\",\"}\",a+\" .blocklyInsertionMarker>.blocklyPath {\",\"fill-opacity: \"+this.INSERTION_MARKER_OPACITY+\";\",\"stroke: none;\",\"}\"]};var module$exports$Blockly$fieldRegistry={register:function(a,b){(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.FIELD,a,b)},unregister:function(a){(0,module$exports$Blockly$registry.unregister)(module$exports$Blockly$registry.Type.FIELD,a)},fromJson:function(a){var b=(0,module$exports$Blockly$registry.getObject)(module$exports$Blockly$registry.Type.FIELD,a.type);return b?b.fromJson(a):(console.warn(\"Blockly could not create a field of type \"+a.type+\". The field is probably not being registered. This could be because the file is not loaded, the field does not register itself (Issue #1584), or the registration is not being reached.\"),\nnull)}};var module$exports$Blockly$IASTNodeLocation={IASTNodeLocation:function(){}};var module$exports$Blockly$IASTNodeLocationSvg={IASTNodeLocationSvg:function(){}};var module$exports$Blockly$IASTNodeLocationWithBlock={IASTNodeLocationWithBlock:function(){}};var module$exports$Blockly$IKeyboardAccessible={IKeyboardAccessible:function(){}};var module$exports$Blockly$IRegistrable={IRegistrable:function(){}};var module$exports$Blockly$MarkerManager={MarkerManager:function(a){this.cursorSvg_=this.cursor_=null;this.markers_=Object.create(null);this.workspace_=a}};module$exports$Blockly$MarkerManager.MarkerManager.LOCAL_MARKER=\"local_marker_1\";\nmodule$exports$Blockly$MarkerManager.MarkerManager.prototype.registerMarker=function(a,b){this.markers_[a]&&this.unregisterMarker(a);b.setDrawer(this.workspace_.getRenderer().makeMarkerDrawer(this.workspace_,b));this.setMarkerSvg(b.getDrawer().createDom());this.markers_[a]=b};\nmodule$exports$Blockly$MarkerManager.MarkerManager.prototype.unregisterMarker=function(a){var b=this.markers_[a];if(b)b.dispose(),delete this.markers_[a];else throw Error(\"Marker with ID \"+a+\" does not exist. Can only unregister markers that exist.\");};module$exports$Blockly$MarkerManager.MarkerManager.prototype.getCursor=function(){return this.cursor_};module$exports$Blockly$MarkerManager.MarkerManager.prototype.getMarker=function(a){return this.markers_[a]||null};\nmodule$exports$Blockly$MarkerManager.MarkerManager.prototype.setCursor=function(a){this.cursor_&&this.cursor_.getDrawer()&&this.cursor_.getDrawer().dispose();if(this.cursor_=a)a=this.workspace_.getRenderer().makeMarkerDrawer(this.workspace_,this.cursor_),this.cursor_.setDrawer(a),this.setCursorSvg(this.cursor_.getDrawer().createDom())};\nmodule$exports$Blockly$MarkerManager.MarkerManager.prototype.setCursorSvg=function(a){a?(this.workspace_.getBlockCanvas().appendChild(a),this.cursorSvg_=a):this.cursorSvg_=null};module$exports$Blockly$MarkerManager.MarkerManager.prototype.setMarkerSvg=function(a){a?this.workspace_.getBlockCanvas()&&(this.cursorSvg_?this.workspace_.getBlockCanvas().insertBefore(a,this.cursorSvg_):this.workspace_.getBlockCanvas().appendChild(a)):this.markerSvg_=null};\nmodule$exports$Blockly$MarkerManager.MarkerManager.prototype.updateMarkers=function(){this.workspace_.keyboardAccessibilityMode&&this.cursorSvg_&&this.workspace_.getCursor().draw()};module$exports$Blockly$MarkerManager.MarkerManager.prototype.dispose=function(){for(var a=Object.keys(this.markers_),b=0,c;c=a[b];b++)this.unregisterMarker(c);this.markers_=null;this.cursor_&&(this.cursor_.dispose(),this.cursor_=null)};var module$exports$Blockly$Events$BlockChange={BlockChange:function(a,b,c,d,e){module$exports$Blockly$Events$BlockChange.BlockChange.superClass_.constructor.call(this,a);a&&(this.element=\"undefined\"===typeof b?\"\":b,this.name=\"undefined\"===typeof c?\"\":c,this.oldValue=\"undefined\"===typeof d?\"\":d,this.newValue=\"undefined\"===typeof e?\"\":e)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$BlockChange.BlockChange,module$exports$Blockly$Events$BlockBase.BlockBase);\nmodule$exports$Blockly$Events$BlockChange.BlockChange.prototype.type=module$exports$Blockly$Events$utils.CHANGE;module$exports$Blockly$Events$BlockChange.BlockChange.prototype.toJson=function(){var a=module$exports$Blockly$Events$BlockChange.BlockChange.superClass_.toJson.call(this);a.element=this.element;this.name&&(a.name=this.name);a.oldValue=this.oldValue;a.newValue=this.newValue;return a};\nmodule$exports$Blockly$Events$BlockChange.BlockChange.prototype.fromJson=function(a){module$exports$Blockly$Events$BlockChange.BlockChange.superClass_.fromJson.call(this,a);this.element=a.element;this.name=a.name;this.oldValue=a.oldValue;this.newValue=a.newValue};module$exports$Blockly$Events$BlockChange.BlockChange.prototype.isNull=function(){return this.oldValue===this.newValue};\nmodule$exports$Blockly$Events$BlockChange.BlockChange.prototype.run=function(a){var b=this.getEventWorkspace_().getBlockById(this.blockId);if(b)switch(b.mutator&&b.mutator.setVisible(!1),a=a?this.newValue:this.oldValue,this.element){case \"field\":(b=b.getField(this.name))?b.setValue(a):console.warn(\"Can't set non-existent field: \"+this.name);break;case \"comment\":b.setCommentText(a||null);break;case \"collapsed\":b.setCollapsed(!!a);break;case \"disabled\":b.setEnabled(!a);break;case \"inline\":b.setInputsInline(!!a);\nbreak;case \"mutation\":var c=module$exports$Blockly$Events$BlockChange.BlockChange.getExtraBlockState_(b);b.loadExtraState?b.loadExtraState(JSON.parse(a||\"{}\")):b.domToMutation&&b.domToMutation((0,$.module$exports$Blockly$Xml.textToDom)(a||\"<mutation/>\"));(0,module$exports$Blockly$Events$utils.fire)(new module$exports$Blockly$Events$BlockChange.BlockChange(b,\"mutation\",null,c,a));break;default:console.warn(\"Unknown change type: \"+this.element)}else console.warn(\"Can't change non-existent block: \"+\nthis.blockId)};module$exports$Blockly$Events$BlockChange.BlockChange.getExtraBlockState_=function(a){return a.saveExtraState?(a=a.saveExtraState())?JSON.stringify(a):\"\":a.mutationToDom?(a=a.mutationToDom())?(0,$.module$exports$Blockly$Xml.domToText)(a):\"\":\"\"};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.CHANGE,module$exports$Blockly$Events$BlockChange.BlockChange);var module$exports$Blockly$blockAnimations={},module$contents$Blockly$blockAnimations_disconnectPid=0,module$contents$Blockly$blockAnimations_disconnectGroup=null;\nmodule$exports$Blockly$blockAnimations.disposeUiEffect=function(a){var b=a.workspace,c=a.getSvgRoot();b.getAudioManager().play(\"delete\");a=b.getSvgXY(c);c=c.cloneNode(!0);c.translateX_=a.x;c.translateY_=a.y;c.setAttribute(\"transform\",\"translate(\"+a.x+\",\"+a.y+\")\");b.getParentSvg().appendChild(c);c.bBox_=c.getBBox();module$contents$Blockly$blockAnimations_disposeUiStep(c,b.RTL,new Date,b.scale)};\nvar module$contents$Blockly$blockAnimations_disposeUiStep=function(a,b,c,d){var e=(new Date-c)/150;1<e?(0,module$exports$Blockly$utils$dom.removeNode)(a):(a.setAttribute(\"transform\",\"translate(\"+(a.translateX_+(b?-1:1)*a.bBox_.width*d/2*e)+\",\"+(a.translateY_+a.bBox_.height*d*e)+\") scale(\"+(1-e)*d+\")\"),setTimeout(module$contents$Blockly$blockAnimations_disposeUiStep,10,a,b,c,d))};\nmodule$exports$Blockly$blockAnimations.connectionUiEffect=function(a){var b=a.workspace,c=b.scale;b.getAudioManager().play(\"click\");if(!(1>c)){var d=b.getSvgXY(a.getSvgRoot());a.outputConnection?(d.x+=(a.RTL?3:-3)*c,d.y+=13*c):a.previousConnection&&(d.x+=(a.RTL?-23:23)*c,d.y+=3*c);a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CIRCLE,{cx:d.x,cy:d.y,r:0,fill:\"none\",stroke:\"#888\",\"stroke-width\":10},b.getParentSvg());module$contents$Blockly$blockAnimations_connectionUiStep(a,\nnew Date,c)}};var module$contents$Blockly$blockAnimations_connectionUiStep=function(a,b,c){var d=(new Date-b)/150;1<d?(0,module$exports$Blockly$utils$dom.removeNode)(a):(a.setAttribute(\"r\",25*d*c),a.style.opacity=1-d,module$contents$Blockly$blockAnimations_disconnectPid=setTimeout(module$contents$Blockly$blockAnimations_connectionUiStep,10,a,b,c))};\nmodule$exports$Blockly$blockAnimations.disconnectUiEffect=function(a){a.workspace.getAudioManager().play(\"disconnect\");if(!(1>a.workspace.scale)){var b=a.getHeightWidth().height;b=Math.atan(10/b)/Math.PI*180;a.RTL||(b*=-1);module$contents$Blockly$blockAnimations_disconnectUiStep(a.getSvgRoot(),b,new Date)}};\nvar module$contents$Blockly$blockAnimations_disconnectUiStep=function(a,b,c){var d=(new Date-c)/200;1<d?a.skew_=\"\":(a.skew_=\"skewX(\"+Math.round(Math.sin(d*Math.PI*3)*(1-d)*b)+\")\",module$contents$Blockly$blockAnimations_disconnectGroup=a,module$contents$Blockly$blockAnimations_disconnectPid=setTimeout(module$contents$Blockly$blockAnimations_disconnectUiStep,10,a,b,c));a.setAttribute(\"transform\",a.translate_+a.skew_)};\nmodule$exports$Blockly$blockAnimations.disconnectUiStop=function(){if(module$contents$Blockly$blockAnimations_disconnectGroup){clearTimeout(module$contents$Blockly$blockAnimations_disconnectPid);var a=module$contents$Blockly$blockAnimations_disconnectGroup;a.skew_=\"\";a.setAttribute(\"transform\",a.translate_);module$contents$Blockly$blockAnimations_disconnectGroup=null}};var module$exports$Blockly$ComponentManager={ComponentManager:function(){this.componentData_=Object.create(null);this.capabilityToComponentIds_=Object.create(null)}};\nmodule$exports$Blockly$ComponentManager.ComponentManager.prototype.addComponent=function(a,b){var c=a.component.id;if(!b&&this.componentData_[c])throw Error('Plugin \"'+c+'\" with capabilities \"'+this.componentData_[c].capabilities+'\" already added.');this.componentData_[c]=a;b=[];for(var d=0;d<a.capabilities.length;d++){var e=String(a.capabilities[d]).toLowerCase();b.push(e);void 0===this.capabilityToComponentIds_[e]?this.capabilityToComponentIds_[e]=[c]:this.capabilityToComponentIds_[e].push(c)}this.componentData_[c].capabilities=\nb};module$exports$Blockly$ComponentManager.ComponentManager.prototype.removeComponent=function(a){var b=this.componentData_[a];if(b){for(var c=0;c<b.capabilities.length;c++){var d=String(b.capabilities[c]).toLowerCase();(0,module$exports$Blockly$utils$array.removeElem)(this.capabilityToComponentIds_[d],a)}delete this.componentData_[a]}};\nmodule$exports$Blockly$ComponentManager.ComponentManager.prototype.addCapability=function(a,b){if(!this.getComponent(a))throw Error('Cannot add capability, \"'+b+'\". Plugin \"'+a+'\" has not been added to the ComponentManager');this.hasCapability(a,b)?console.warn('Plugin \"'+a+'already has capability \"'+b+'\"'):(b=String(b).toLowerCase(),this.componentData_[a].capabilities.push(b),this.capabilityToComponentIds_[b].push(a))};\nmodule$exports$Blockly$ComponentManager.ComponentManager.prototype.removeCapability=function(a,b){if(!this.getComponent(a))throw Error('Cannot remove capability, \"'+b+'\". Plugin \"'+a+'\" has not been added to the ComponentManager');this.hasCapability(a,b)?(b=String(b).toLowerCase(),(0,module$exports$Blockly$utils$array.removeElem)(this.componentData_[a].capabilities,b),(0,module$exports$Blockly$utils$array.removeElem)(this.capabilityToComponentIds_[b],a)):console.warn('Plugin \"'+a+\"doesn't have capability \\\"\"+\nb+'\" to remove')};module$exports$Blockly$ComponentManager.ComponentManager.prototype.hasCapability=function(a,b){b=String(b).toLowerCase();return-1!==this.componentData_[a].capabilities.indexOf(b)};module$exports$Blockly$ComponentManager.ComponentManager.prototype.getComponent=function(a){return this.componentData_[a]&&this.componentData_[a].component};\nmodule$exports$Blockly$ComponentManager.ComponentManager.prototype.getComponents=function(a,b){a=String(a).toLowerCase();a=this.capabilityToComponentIds_[a];if(!a)return[];var c=[];if(b){var d=[],e=this.componentData_;a.forEach(function(g){d.push(e[g])});d.sort(function(g,h){return g.weight-h.weight});d.forEach(function(g){c.push(g.component)})}else{var f=this.componentData_;a.forEach(function(g){c.push(f[g].component)})}return c};\nmodule$exports$Blockly$ComponentManager.ComponentManager.Capability=function(a){this.name_=a};module$exports$Blockly$ComponentManager.ComponentManager.Capability.prototype.toString=function(){return this.name_};module$exports$Blockly$ComponentManager.ComponentManager.Capability.POSITIONABLE=new module$exports$Blockly$ComponentManager.ComponentManager.Capability(\"positionable\");module$exports$Blockly$ComponentManager.ComponentManager.Capability.DRAG_TARGET=new module$exports$Blockly$ComponentManager.ComponentManager.Capability(\"drag_target\");\nmodule$exports$Blockly$ComponentManager.ComponentManager.Capability.DELETE_AREA=new module$exports$Blockly$ComponentManager.ComponentManager.Capability(\"delete_area\");module$exports$Blockly$ComponentManager.ComponentManager.Capability.AUTOHIDEABLE=new module$exports$Blockly$ComponentManager.ComponentManager.Capability(\"autohideable\");var module$exports$Blockly$IContextMenu={IContextMenu:function(){}};var module$exports$Blockly$IDeletable={IDeletable:function(){}};var module$exports$Blockly$IDraggable={IDraggable:function(){}};var module$exports$Blockly$IBubble={IBubble:function(){}};var module$exports$Blockly$dialog={},module$contents$Blockly$dialog_alertImplementation=function(a,b){window.alert(a);b&&b()},module$contents$Blockly$dialog_confirmImplementation=function(a,b){b(window.confirm(a))},module$contents$Blockly$dialog_promptImplementation=function(a,b,c){c(window.prompt(a,b))};module$exports$Blockly$dialog.alert=function(a,b){module$contents$Blockly$dialog_alertImplementation(a,b)};\nmodule$exports$Blockly$dialog.setAlert=function(a){module$contents$Blockly$dialog_alertImplementation=a};module$exports$Blockly$dialog.confirm=function(a,b){module$contents$Blockly$dialog_confirmImplementation(a,b)};module$exports$Blockly$dialog.setConfirm=function(a){module$contents$Blockly$dialog_confirmImplementation=a};module$exports$Blockly$dialog.prompt=function(a,b,c){module$contents$Blockly$dialog_promptImplementation(a,b,c)};\nmodule$exports$Blockly$dialog.setPrompt=function(a){module$contents$Blockly$dialog_promptImplementation=a};var module$exports$Blockly$Events$VarBase={VarBase:function(a){module$exports$Blockly$Events$VarBase.VarBase.superClass_.constructor.call(this);this.varId=(this.isBlank=\"undefined\"===typeof a)?\"\":a.getId();this.workspaceId=this.isBlank?\"\":a.workspace.id}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$VarBase.VarBase,module$exports$Blockly$Events$Abstract);\nmodule$exports$Blockly$Events$VarBase.VarBase.prototype.toJson=function(){var a=module$exports$Blockly$Events$VarBase.VarBase.superClass_.toJson.call(this);a.varId=this.varId;return a};module$exports$Blockly$Events$VarBase.VarBase.prototype.fromJson=function(a){module$exports$Blockly$Events$VarBase.VarBase.superClass_.toJson.call(this);this.varId=a.varId};var module$exports$Blockly$Events$VarCreate={VarCreate:function(a){module$exports$Blockly$Events$VarCreate.VarCreate.superClass_.constructor.call(this,a);a&&(this.varType=a.type,this.varName=a.name)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$VarCreate.VarCreate,module$exports$Blockly$Events$VarBase.VarBase);module$exports$Blockly$Events$VarCreate.VarCreate.prototype.type=module$exports$Blockly$Events$utils.VAR_CREATE;\nmodule$exports$Blockly$Events$VarCreate.VarCreate.prototype.toJson=function(){var a=module$exports$Blockly$Events$VarCreate.VarCreate.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a};module$exports$Blockly$Events$VarCreate.VarCreate.prototype.fromJson=function(a){module$exports$Blockly$Events$VarCreate.VarCreate.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};\nmodule$exports$Blockly$Events$VarCreate.VarCreate.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.createVariable(this.varName,this.varType,this.varId):b.deleteVariableById(this.varId)};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.VAR_CREATE,module$exports$Blockly$Events$VarCreate.VarCreate);var module$exports$Blockly$VariableModel={VariableModel:function(a,b,c,d){this.workspace=a;this.name=b;this.type=c||\"\";this.id_=d||(0,module$exports$Blockly$utils$idGenerator.genUid)();(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.VAR_CREATE))(this))}};module$exports$Blockly$VariableModel.VariableModel.prototype.getId=function(){return this.id_};\nmodule$exports$Blockly$VariableModel.VariableModel.compareByName=function(a,b){return a.name.localeCompare(b.name,void 0,{sensitivity:\"base\"})};var module$contents$Blockly$Variables_ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE;$.module$exports$Blockly$Variables={CATEGORY_NAME:\"VARIABLE\",allUsedVarModels:function(a){var b=a.getAllBlocks(!1);a=Object.create(null);for(var c=0;c<b.length;c++){var d=b[c].getVarModels();if(d)for(var e=0;e<d.length;e++){var f=d[e],g=f.getId();g&&(a[g]=f)}}b=[];for(var h in a)b.push(a[h]);return b}};module$contents$Blockly$Variables_ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE={};\n$.module$exports$Blockly$Variables.allDeveloperVariables=function(a){a=a.getAllBlocks(!1);for(var b=Object.create(null),c=0,d;d=a[c];c++){var e=d.getDeveloperVariables;!e&&d.getDeveloperVars&&(e=d.getDeveloperVars,module$contents$Blockly$Variables_ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE[d.type]||(console.warn(\"Function getDeveloperVars() deprecated. Use getDeveloperVariables() (block type '\"+d.type+\"')\"),module$contents$Blockly$Variables_ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE[d.type]=!0));if(e)for(d=\ne(),e=0;e<d.length;e++)b[d[e]]=!0}return Object.keys(b)};$.module$exports$Blockly$Variables.flyoutCategory=function(a){var b=[],c=document.createElement(\"button\");c.setAttribute(\"text\",\"%{BKY_NEW_VARIABLE}\");c.setAttribute(\"callbackKey\",\"CREATE_VARIABLE\");a.registerButtonCallback(\"CREATE_VARIABLE\",function(d){(0,$.module$exports$Blockly$Variables.createVariableButtonHandler)(d.getTargetWorkspace())});b.push(c);a=(0,$.module$exports$Blockly$Variables.flyoutCategoryBlocks)(a);return b=b.concat(a)};\n$.module$exports$Blockly$Variables.flyoutCategoryBlocks=function(a){a=a.getVariablesOfType(\"\");var b=[];if(0<a.length){var c=a[a.length-1];if($.module$exports$Blockly$blocks.Blocks.variables_set){var d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");d.setAttribute(\"type\",\"variables_set\");d.setAttribute(\"gap\",$.module$exports$Blockly$blocks.Blocks.math_change?8:24);d.appendChild((0,$.module$exports$Blockly$Variables.generateVariableFieldDom)(c));b.push(d)}$.module$exports$Blockly$blocks.Blocks.math_change&&\n(d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\"),d.setAttribute(\"type\",\"math_change\"),d.setAttribute(\"gap\",$.module$exports$Blockly$blocks.Blocks.variables_get?20:8),d.appendChild((0,$.module$exports$Blockly$Variables.generateVariableFieldDom)(c)),c=(0,$.module$exports$Blockly$Xml.textToDom)('<value name=\"DELTA\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value>'),d.appendChild(c),b.push(d));if($.module$exports$Blockly$blocks.Blocks.variables_get)for(a.sort(module$exports$Blockly$VariableModel.VariableModel.compareByName),\nc=0;d=a[c];c++){var e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");e.setAttribute(\"type\",\"variables_get\");e.setAttribute(\"gap\",8);e.appendChild((0,$.module$exports$Blockly$Variables.generateVariableFieldDom)(d));b.push(e)}}return b};$.module$exports$Blockly$Variables.VAR_LETTER_OPTIONS=\"ijkmnopqrstuvwxyzabcdefgh\";\n$.module$exports$Blockly$Variables.generateUniqueName=function(a){return(0,$.module$exports$Blockly$Variables.generateUniqueNameFromOptions)($.module$exports$Blockly$Variables.VAR_LETTER_OPTIONS.charAt(0),a.getAllVariableNames())};\n$.module$exports$Blockly$Variables.generateUniqueNameFromOptions=function(a,b){if(!b.length)return a;for(var c=$.module$exports$Blockly$Variables.VAR_LETTER_OPTIONS,d=\"\",e=c.indexOf(a);;){for(var f=!1,g=0;g<b.length;g++)if(b[g].toLowerCase()===a){f=!0;break}if(!f)return a;e++;e===c.length&&(e=0,d=Number(d)+1);a=c.charAt(e)+d}};\n$.module$exports$Blockly$Variables.createVariableButtonHandler=function(a,b,c){var d=c||\"\",e=function(f){(0,$.module$exports$Blockly$Variables.promptName)($.module$exports$Blockly$Msg.Msg.NEW_VARIABLE_TITLE,f,function(g){if(g){var h=(0,$.module$exports$Blockly$Variables.nameUsedWithAnyType)(g,a);if(h){if(h.type===d)var k=$.module$exports$Blockly$Msg.Msg.VARIABLE_ALREADY_EXISTS.replace(\"%1\",h.name);else k=$.module$exports$Blockly$Msg.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE,k=k.replace(\"%1\",h.name).replace(\"%2\",\nh.type);(0,module$exports$Blockly$dialog.alert)(k,function(){e(g)})}else a.createVariable(g,d),b&&b(g)}else b&&b(null)})};e(\"\")};\n$.module$exports$Blockly$Variables.renameVariable=function(a,b,c){var d=function(e){var f=$.module$exports$Blockly$Msg.Msg.RENAME_VARIABLE_TITLE.replace(\"%1\",b.name);(0,$.module$exports$Blockly$Variables.promptName)(f,e,function(g){if(g){var h=module$contents$Blockly$Variables_nameUsedWithOtherType(g,b.type,a);h?(h=$.module$exports$Blockly$Msg.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE.replace(\"%1\",h.name).replace(\"%2\",h.type),(0,module$exports$Blockly$dialog.alert)(h,function(){d(g)})):(a.renameVariableById(b.getId(),\ng),c&&c(g))}else c&&c(null)})};d(\"\")};$.module$exports$Blockly$Variables.promptName=function(a,b,c){(0,module$exports$Blockly$dialog.prompt)(a,b,function(d){d&&(d=d.replace(/[\\s\\xa0]+/g,\" \").trim(),d===$.module$exports$Blockly$Msg.Msg.RENAME_VARIABLE||d===$.module$exports$Blockly$Msg.Msg.NEW_VARIABLE)&&(d=null);c(d)})};\nvar module$contents$Blockly$Variables_nameUsedWithOtherType=function(a,b,c){c=c.getVariableMap().getAllVariables();a=a.toLowerCase();for(var d=0,e;e=c[d];d++)if(e.name.toLowerCase()===a&&e.type!==b)return e;return null};$.module$exports$Blockly$Variables.nameUsedWithAnyType=function(a,b){b=b.getVariableMap().getAllVariables();a=a.toLowerCase();for(var c=0,d;d=b[c];c++)if(d.name.toLowerCase()===a)return d;return null};\n$.module$exports$Blockly$Variables.generateVariableFieldDom=function(a){var b=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\");b.setAttribute(\"name\",\"VAR\");b.setAttribute(\"id\",a.getId());b.setAttribute(\"variabletype\",a.type);a=(0,$.module$exports$Blockly$utils$xml.createTextNode)(a.name);b.appendChild(a);return b};\n$.module$exports$Blockly$Variables.getOrCreateVariablePackage=function(a,b,c,d){var e=(0,$.module$exports$Blockly$Variables.getVariable)(a,b,c,d);e||(e=module$contents$Blockly$Variables_createVariable(a,b,c,d));return e};\n$.module$exports$Blockly$Variables.getVariable=function(a,b,c,d){var e=a.getPotentialVariableMap(),f=null;if(b&&(f=a.getVariableById(b),!f&&e&&(f=e.getVariableById(b)),f))return f;if(c){if(void 0===d)throw Error(\"Tried to look up a variable by name without a type\");f=a.getVariable(c,d);!f&&e&&(f=e.getVariable(c,d))}return f};\nvar module$contents$Blockly$Variables_createVariable=function(a,b,c,d){var e=a.getPotentialVariableMap();c||(c=$.module$exports$Blockly$Variables.generateUniqueName(a.isFlyout?a.targetWorkspace:a));return e?e.createVariable(c,d,b):a.createVariable(c,d,b)};$.module$exports$Blockly$Variables.getAddedVariables=function(a,b){a=a.getAllVariables();var c=[];if(b.length!==a.length)for(var d=0;d<a.length;d++){var e=a[d];-1===b.indexOf(e)&&c.push(e)}return c};$.module$exports$Blockly$Names={Names:function(a,b){this.variablePrefix_=b||\"\";this.reservedDict_=Object.create(null);if(a)for(a=a.split(\",\"),b=0;b<a.length;b++)this.reservedDict_[a[b]]=!0;this.reset()},NameType:{DEVELOPER_VARIABLE:\"DEVELOPER_VARIABLE\",VARIABLE:\"VARIABLE\",PROCEDURE:\"PROCEDURE\"}};$.module$exports$Blockly$Names.Names.DEVELOPER_VARIABLE_TYPE=$.module$exports$Blockly$Names.NameType.DEVELOPER_VARIABLE;\n$.module$exports$Blockly$Names.Names.prototype.reset=function(){this.db_=Object.create(null);this.dbReverse_=Object.create(null);this.variableMap_=null};$.module$exports$Blockly$Names.Names.prototype.setVariableMap=function(a){this.variableMap_=a};\n$.module$exports$Blockly$Names.Names.prototype.getNameForUserVariable_=function(a){return this.variableMap_?(a=this.variableMap_.getVariableById(a))?a.name:null:(console.warn(\"Deprecated call to Names.prototype.getName without defining a variable map. To fix, add the following code in your generator's init() function:\\nBlockly.YourGeneratorName.nameDB_.setVariableMap(workspace.getVariableMap());\"),null)};\n$.module$exports$Blockly$Names.Names.prototype.populateVariables=function(a){a=(0,$.module$exports$Blockly$Variables.allUsedVarModels)(a);for(var b=0;b<a.length;b++)this.getName(a[b].getId(),$.module$exports$Blockly$Names.NameType.VARIABLE)};$.module$exports$Blockly$Names.Names.prototype.populateProcedures=function(a){a=$.module$exports$Blockly$Procedures.allProcedures(a);a=a[0].concat(a[1]);for(var b=0;b<a.length;b++)this.getName(a[b][0],$.module$exports$Blockly$Names.NameType.PROCEDURE)};\n$.module$exports$Blockly$Names.Names.prototype.getName=function(a,b){var c=a;b===$.module$exports$Blockly$Names.NameType.VARIABLE&&(a=this.getNameForUserVariable_(a))&&(c=a);a=c.toLowerCase();var d=b===$.module$exports$Blockly$Names.NameType.VARIABLE||b===$.module$exports$Blockly$Names.NameType.DEVELOPER_VARIABLE?this.variablePrefix_:\"\";b in this.db_||(this.db_[b]=Object.create(null));var e=this.db_[b];if(a in e)return d+e[a];b=this.getDistinctName(c,b);e[a]=b.substr(d.length);return b};\n$.module$exports$Blockly$Names.Names.prototype.getUserNames=function(a){return Object.keys(this.db_[a]||{})};$.module$exports$Blockly$Names.Names.prototype.getDistinctName=function(a,b){a=this.safeName_(a);for(var c=\"\";this.dbReverse_[a+c]||a+c in this.reservedDict_;)c=c?c+1:2;a+=c;this.dbReverse_[a]=!0;return(b===$.module$exports$Blockly$Names.NameType.VARIABLE||b===$.module$exports$Blockly$Names.NameType.DEVELOPER_VARIABLE?this.variablePrefix_:\"\")+a};\n$.module$exports$Blockly$Names.Names.prototype.safeName_=function(a){a?(a=encodeURI(a.replace(/ /g,\"_\")).replace(/[^\\w]/g,\"_\"),-1!==\"0123456789\".indexOf(a[0])&&(a=\"my_\"+a)):a=$.module$exports$Blockly$Msg.Msg.UNNAMED_KEY||\"unnamed\";return a};$.module$exports$Blockly$Names.Names.equals=function(a,b){return a.toLowerCase()===b.toLowerCase()};var module$exports$Blockly$Events$VarDelete={VarDelete:function(a){module$exports$Blockly$Events$VarDelete.VarDelete.superClass_.constructor.call(this,a);a&&(this.varType=a.type,this.varName=a.name)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$VarDelete.VarDelete,module$exports$Blockly$Events$VarBase.VarBase);module$exports$Blockly$Events$VarDelete.VarDelete.prototype.type=module$exports$Blockly$Events$utils.VAR_DELETE;\nmodule$exports$Blockly$Events$VarDelete.VarDelete.prototype.toJson=function(){var a=module$exports$Blockly$Events$VarDelete.VarDelete.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a};module$exports$Blockly$Events$VarDelete.VarDelete.prototype.fromJson=function(a){module$exports$Blockly$Events$VarDelete.VarDelete.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};\nmodule$exports$Blockly$Events$VarDelete.VarDelete.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.deleteVariableById(this.varId):b.createVariable(this.varName,this.varType,this.varId)};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.VAR_DELETE,module$exports$Blockly$Events$VarDelete.VarDelete);var module$exports$Blockly$Events$VarRename={VarRename:function(a,b){module$exports$Blockly$Events$VarRename.VarRename.superClass_.constructor.call(this,a);a&&(this.oldName=a.name,this.newName=\"undefined\"===typeof b?\"\":b)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$VarRename.VarRename,module$exports$Blockly$Events$VarBase.VarBase);module$exports$Blockly$Events$VarRename.VarRename.prototype.type=module$exports$Blockly$Events$utils.VAR_RENAME;\nmodule$exports$Blockly$Events$VarRename.VarRename.prototype.toJson=function(){var a=module$exports$Blockly$Events$VarRename.VarRename.superClass_.toJson.call(this);a.oldName=this.oldName;a.newName=this.newName;return a};module$exports$Blockly$Events$VarRename.VarRename.prototype.fromJson=function(a){module$exports$Blockly$Events$VarRename.VarRename.superClass_.fromJson.call(this,a);this.oldName=a.oldName;this.newName=a.newName};\nmodule$exports$Blockly$Events$VarRename.VarRename.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.renameVariableById(this.varId,this.newName):b.renameVariableById(this.varId,this.oldName)};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.VAR_RENAME,module$exports$Blockly$Events$VarRename.VarRename);var module$exports$Blockly$VariableMap={VariableMap:function(a){this.variableMap_=Object.create(null);this.workspace=a}};module$exports$Blockly$VariableMap.VariableMap.prototype.clear=function(){this.variableMap_=Object.create(null)};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.renameVariable=function(a,b){var c=this.getVariable(b,a.type),d=this.workspace.getAllBlocks(!1);(0,module$exports$Blockly$Events$utils.setGroup)(!0);try{c&&c.getId()!==a.getId()?this.renameVariableWithConflict_(a,b,c,d):this.renameVariableAndUses_(a,b,d)}finally{(0,module$exports$Blockly$Events$utils.setGroup)(!1)}};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.renameVariableById=function(a,b){var c=this.getVariableById(a);if(!c)throw Error(\"Tried to rename a variable that didn't exist. ID: \"+a);this.renameVariable(c,b)};module$exports$Blockly$VariableMap.VariableMap.prototype.renameVariableAndUses_=function(a,b,c){(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.VAR_RENAME))(a,b));a.name=b;for(b=0;b<c.length;b++)c[b].updateVarName(a)};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.renameVariableWithConflict_=function(a,b,c,d){var e=a.type;b!==c.name&&this.renameVariableAndUses_(c,b,d);for(b=0;b<d.length;b++)d[b].renameVarById(a.getId(),c.getId());(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.VAR_DELETE))(a));(0,module$exports$Blockly$utils$array.removeElem)(this.variableMap_[e],a)};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.createVariable=function(a,b,c){var d=this.getVariable(a,b);if(d){if(c&&d.getId()!==c)throw Error('Variable \"'+a+'\" is already in use and its id is \"'+d.getId()+'\" which conflicts with the passed in id, \"'+c+'\".');return d}if(c&&this.getVariableById(c))throw Error('Variable id, \"'+c+'\", is already in use.');d=c||(0,module$exports$Blockly$utils$idGenerator.genUid)();b=b||\"\";d=new module$exports$Blockly$VariableModel.VariableModel(this.workspace,\na,b,d);a=this.variableMap_[b]||[];a.push(d);delete this.variableMap_[b];this.variableMap_[b]=a;return d};module$exports$Blockly$VariableMap.VariableMap.prototype.deleteVariable=function(a){for(var b=a.getId(),c=this.variableMap_[a.type],d=0;d<c.length;d++)if(c[d].getId()===b){c.splice(d,1);(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.VAR_DELETE))(a));break}};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.deleteVariableById=function(a){var b=this.getVariableById(a);if(b){var c=b.name,d=this.getVariableUsesById(a);a=0;for(var e=void 0;e=d[a];a++)if(\"procedures_defnoreturn\"===e.type||\"procedures_defreturn\"===e.type){a=String(e.getFieldValue(\"NAME\"));c=$.module$exports$Blockly$Msg.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE.replace(\"%1\",c).replace(\"%2\",a);(0,module$exports$Blockly$dialog.alert)(c);return}var f=this;1<d.length?(c=$.module$exports$Blockly$Msg.Msg.DELETE_VARIABLE_CONFIRMATION.replace(\"%1\",\nString(d.length)).replace(\"%2\",c),(0,module$exports$Blockly$dialog.confirm)(c,function(g){g&&b&&f.deleteVariableInternal(b,d)})):f.deleteVariableInternal(b,d)}else console.warn(\"Can't delete non-existent variable: \"+a)};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.deleteVariableInternal=function(a,b){var c=(0,module$exports$Blockly$Events$utils.getGroup)();c||(0,module$exports$Blockly$Events$utils.setGroup)(!0);try{for(var d=0;d<b.length;d++)b[d].dispose(!0);this.deleteVariable(a)}finally{c||(0,module$exports$Blockly$Events$utils.setGroup)(!1)}};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.getVariable=function(a,b){if(b=this.variableMap_[b||\"\"])for(var c=0,d;d=b[c];c++)if($.module$exports$Blockly$Names.Names.equals(d.name,a))return d;return null};module$exports$Blockly$VariableMap.VariableMap.prototype.getVariableById=function(a){for(var b=Object.keys(this.variableMap_),c=0;c<b.length;c++)for(var d=b[c],e=0,f;f=this.variableMap_[d][e];e++)if(f.getId()===a)return f;return null};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.getVariablesOfType=function(a){return(a=this.variableMap_[a||\"\"])?a.slice():[]};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.getVariableTypes=function(a){var b={};(0,$.module$exports$Blockly$utils$object.mixin)(b,this.variableMap_);a&&a.getPotentialVariableMap()&&(0,$.module$exports$Blockly$utils$object.mixin)(b,a.getPotentialVariableMap().variableMap_);a=Object.keys(b);b=!1;for(var c=0;c<a.length;c++)\"\"===a[c]&&(b=!0);b||a.push(\"\");return a};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.getAllVariables=function(){var a=[],b;for(b in this.variableMap_)a=a.concat(this.variableMap_[b]);return a};module$exports$Blockly$VariableMap.VariableMap.prototype.getAllVariableNames=function(){var a=[],b;for(b in this.variableMap_)for(var c=this.variableMap_[b],d=0,e;e=c[d];d++)a.push(e.name);return a};\nmodule$exports$Blockly$VariableMap.VariableMap.prototype.getVariableUsesById=function(a){for(var b=[],c=this.workspace.getAllBlocks(!1),d=0;d<c.length;d++){var e=c[d].getVarModels();if(e)for(var f=0;f<e.length;f++)e[f].getId()===a&&b.push(c[d])}return b};var module$exports$Blockly$Events$BlockMove={BlockMove:function(a){module$exports$Blockly$Events$BlockMove.BlockMove.superClass_.constructor.call(this,a);a&&(a.isShadow()&&(this.recordUndo=!1),a=this.currentLocation_(),this.oldParentId=a.parentId,this.oldInputName=a.inputName,this.oldCoordinate=a.coordinate)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$BlockMove.BlockMove,module$exports$Blockly$Events$BlockBase.BlockBase);\nmodule$exports$Blockly$Events$BlockMove.BlockMove.prototype.type=module$exports$Blockly$Events$utils.MOVE;\nmodule$exports$Blockly$Events$BlockMove.BlockMove.prototype.toJson=function(){var a=module$exports$Blockly$Events$BlockMove.BlockMove.superClass_.toJson.call(this);this.newParentId&&(a.newParentId=this.newParentId);this.newInputName&&(a.newInputName=this.newInputName);this.newCoordinate&&(a.newCoordinate=Math.round(this.newCoordinate.x)+\",\"+Math.round(this.newCoordinate.y));this.recordUndo||(a.recordUndo=this.recordUndo);return a};\nmodule$exports$Blockly$Events$BlockMove.BlockMove.prototype.fromJson=function(a){module$exports$Blockly$Events$BlockMove.BlockMove.superClass_.fromJson.call(this,a);this.newParentId=a.newParentId;this.newInputName=a.newInputName;if(a.newCoordinate){var b=a.newCoordinate.split(\",\");this.newCoordinate=new module$exports$Blockly$utils$Coordinate.Coordinate(Number(b[0]),Number(b[1]))}void 0!==a.recordUndo&&(this.recordUndo=a.recordUndo)};\nmodule$exports$Blockly$Events$BlockMove.BlockMove.prototype.recordNew=function(){var a=this.currentLocation_();this.newParentId=a.parentId;this.newInputName=a.inputName;this.newCoordinate=a.coordinate};module$exports$Blockly$Events$BlockMove.BlockMove.prototype.currentLocation_=function(){var a=this.getEventWorkspace_().getBlockById(this.blockId),b={},c=a.getParent();if(c){if(b.parentId=c.id,a=c.getInputWithBlock(a))b.inputName=a.name}else b.coordinate=a.getRelativeToSurfaceXY();return b};\nmodule$exports$Blockly$Events$BlockMove.BlockMove.prototype.isNull=function(){return this.oldParentId===this.newParentId&&this.oldInputName===this.newInputName&&module$exports$Blockly$utils$Coordinate.Coordinate.equals(this.oldCoordinate,this.newCoordinate)};\nmodule$exports$Blockly$Events$BlockMove.BlockMove.prototype.run=function(a){var b=this.getEventWorkspace_(),c=b.getBlockById(this.blockId);if(c){var d=a?this.newParentId:this.oldParentId,e=a?this.newInputName:this.oldInputName;a=a?this.newCoordinate:this.oldCoordinate;if(d){var f=b.getBlockById(d);if(!f){console.warn(\"Can't connect to non-existent block: \"+d);return}}c.getParent()&&c.unplug();if(a)e=c.getRelativeToSurfaceXY(),c.moveBy(a.x-e.x,a.y-e.y);else{b=c.outputConnection;if(!b||c.previousConnection&&\nc.previousConnection.isConnected())b=c.previousConnection;c=b.type;if(e){if(c=f.getInput(e))var g=c.connection}else c===$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT&&(g=f.nextConnection);g?b.connect(g):console.warn(\"Can't connect to non-existent input: \"+e)}}else console.warn(\"Can't move non-existent block: \"+this.blockId)};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.MOVE,module$exports$Blockly$Events$BlockMove.BlockMove);var module$exports$Blockly$constants={COLLAPSED_INPUT_NAME:\"_TEMP_COLLAPSED_INPUT\",COLLAPSED_FIELD_NAME:\"_TEMP_COLLAPSED_FIELD\"};var module$exports$Blockly$Connection={Connection:function(a,b){this.sourceBlock_=a;this.type=b}};module$exports$Blockly$Connection.Connection.CAN_CONNECT=0;module$exports$Blockly$Connection.Connection.REASON_SELF_CONNECTION=1;module$exports$Blockly$Connection.Connection.REASON_WRONG_TYPE=2;module$exports$Blockly$Connection.Connection.REASON_TARGET_NULL=3;module$exports$Blockly$Connection.Connection.REASON_CHECKS_FAILED=4;module$exports$Blockly$Connection.Connection.REASON_DIFFERENT_WORKSPACES=5;\nmodule$exports$Blockly$Connection.Connection.REASON_SHADOW_PARENT=6;module$exports$Blockly$Connection.Connection.REASON_DRAG_CHECKS_FAILED=7;module$exports$Blockly$Connection.Connection.REASON_PREVIOUS_AND_OUTPUT=8;module$exports$Blockly$Connection.Connection.prototype.targetConnection=null;module$exports$Blockly$Connection.Connection.prototype.disposed=!1;module$exports$Blockly$Connection.Connection.prototype.check_=null;module$exports$Blockly$Connection.Connection.prototype.shadowDom_=null;\nmodule$exports$Blockly$Connection.Connection.prototype.x=0;module$exports$Blockly$Connection.Connection.prototype.y=0;\nmodule$exports$Blockly$Connection.Connection.prototype.connect_=function(a){var b=$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE,c=this.getSourceBlock(),d=a.getSourceBlock();a.isConnected()&&a.disconnect();if(this.isConnected()){var e=this.stashShadowState_(),f=this.targetBlock();if(f.isShadow())f.dispose(!1);else{this.disconnect();var g=f}this.applyShadowState_(e)}var h;(0,module$exports$Blockly$Events$utils.isEnabled)()&&(h=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.MOVE))(d));\nmodule$contents$Blockly$Connection_connectReciprocally(this,a);d.setParent(c);h&&(h.recordNew(),(0,module$exports$Blockly$Events$utils.fire)(h));if(g)if(a=this.type===b?g.outputConnection:g.previousConnection,d=module$exports$Blockly$Connection.Connection.getConnectionForOrphanedConnection(d,a))a.connect(d);else a.onFailedConnect(this)};\nmodule$exports$Blockly$Connection.Connection.prototype.dispose=function(){if(this.isConnected()){this.setShadowStateInternal_();var a=this.targetBlock();a&&a.unplug()}this.disposed=!0};module$exports$Blockly$Connection.Connection.prototype.getSourceBlock=function(){return this.sourceBlock_};module$exports$Blockly$Connection.Connection.prototype.isSuperior=function(){return this.type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE||this.type===$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT};\nmodule$exports$Blockly$Connection.Connection.prototype.isConnected=function(){return!!this.targetConnection};module$exports$Blockly$Connection.Connection.prototype.getConnectionChecker=function(){return this.sourceBlock_.workspace.connectionChecker};module$exports$Blockly$Connection.Connection.prototype.onFailedConnect=function(a){};\nmodule$exports$Blockly$Connection.Connection.prototype.connect=function(a){if(this.targetConnection===a)return!0;if(this.getConnectionChecker().canConnect(this,a,!1)){var b=(0,module$exports$Blockly$Events$utils.getGroup)();b||(0,module$exports$Blockly$Events$utils.setGroup)(!0);this.isSuperior()?this.connect_(a):a.connect_(this);b||(0,module$exports$Blockly$Events$utils.setGroup)(!1)}return this.isConnected()};\nvar module$contents$Blockly$Connection_connectReciprocally=function(a,b){if(!a||!b)throw Error(\"Cannot connect null connections.\");a.targetConnection=b;b.targetConnection=a},module$contents$Blockly$Connection_getSingleConnection=function(a,b){var c=null;b=b.outputConnection;for(var d=b.getConnectionChecker(),e=0,f;f=a.inputList[e];e++)if((f=f.connection)&&d.canConnect(b,f,!1)){if(c)return null;c=f}return c},module$contents$Blockly$Connection_getConnectionForOrphanedOutput=function(a,b){for(var c;c=\nmodule$contents$Blockly$Connection_getSingleConnection(a,b);)if(a=c.targetBlock(),!a||a.isShadow())return c;return null};module$exports$Blockly$Connection.Connection.getConnectionForOrphanedConnection=function(a,b){if(b.type===$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE)return module$contents$Blockly$Connection_getConnectionForOrphanedOutput(a,b.getSourceBlock());a=a.lastConnectionInStack(!0);var c=b.getConnectionChecker();return a&&c.canConnect(b,a,!1)?a:null};\nmodule$exports$Blockly$Connection.Connection.prototype.disconnect=function(){var a=this.targetConnection;if(!a)throw Error(\"Source connection not connected.\");if(a.targetConnection!==this)throw Error(\"Target connection not connected to source connection.\");if(this.isSuperior()){var b=this.sourceBlock_;var c=a.getSourceBlock();a=this}else b=a.getSourceBlock(),c=this.sourceBlock_;var d=(0,module$exports$Blockly$Events$utils.getGroup)();d||(0,module$exports$Blockly$Events$utils.setGroup)(!0);this.disconnectInternal_(b,\nc);c.isShadow()||a.respawnShadow_();d||(0,module$exports$Blockly$Events$utils.setGroup)(!1)};module$exports$Blockly$Connection.Connection.prototype.disconnectInternal_=function(a,b){var c;(0,module$exports$Blockly$Events$utils.isEnabled)()&&(c=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.MOVE))(b));this.targetConnection=this.targetConnection.targetConnection=null;b.setParent(null);c&&(c.recordNew(),(0,module$exports$Blockly$Events$utils.fire)(c))};\nmodule$exports$Blockly$Connection.Connection.prototype.respawnShadow_=function(){this.createShadowBlock_(!0)};module$exports$Blockly$Connection.Connection.prototype.targetBlock=function(){return this.isConnected()?this.targetConnection.getSourceBlock():null};module$exports$Blockly$Connection.Connection.prototype.onCheckChanged_=function(){!this.isConnected()||this.targetConnection&&this.getConnectionChecker().canConnect(this,this.targetConnection,!1)||(this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug()};\nmodule$exports$Blockly$Connection.Connection.prototype.setCheck=function(a){a?(Array.isArray(a)||(a=[a]),this.check_=a,this.onCheckChanged_()):this.check_=null;return this};module$exports$Blockly$Connection.Connection.prototype.getCheck=function(){return this.check_};module$exports$Blockly$Connection.Connection.prototype.setShadowDom=function(a){this.setShadowStateInternal_({shadowDom:a})};\nmodule$exports$Blockly$Connection.Connection.prototype.getShadowDom=function(a){return a&&this.targetBlock().isShadow()?(0,$.module$exports$Blockly$Xml.blockToDom)(this.targetBlock()):this.shadowDom_};module$exports$Blockly$Connection.Connection.prototype.setShadowState=function(a){this.setShadowStateInternal_({shadowState:a})};\nmodule$exports$Blockly$Connection.Connection.prototype.getShadowState=function(a){return a&&this.targetBlock()&&this.targetBlock().isShadow()?(0,module$exports$Blockly$serialization$blocks.save)(this.targetBlock()):this.shadowState_};module$exports$Blockly$Connection.Connection.prototype.neighbours=function(a){return[]};\nmodule$exports$Blockly$Connection.Connection.prototype.getParentInput=function(){for(var a=null,b=this.sourceBlock_.inputList,c=0;c<b.length;c++)if(b[c].connection===this){a=b[c];break}return a};\nmodule$exports$Blockly$Connection.Connection.prototype.toString=function(){var a=this.sourceBlock_;if(!a)return\"Orphan Connection\";if(a.outputConnection===this)var b=\"Output Connection of \";else if(a.previousConnection===this)b=\"Previous Connection of \";else if(a.nextConnection===this)b=\"Next Connection of \";else{b=null;for(var c=0,d;d=a.inputList[c];c++)if(d.connection===this){b=d;break}if(b)b='Input \"'+b.name+'\" connection on ';else return console.warn(\"Connection not actually connected to sourceBlock_\"),\n\"Orphan Connection\"}return b+a.toDevString()};module$exports$Blockly$Connection.Connection.prototype.stashShadowState_=function(){var a=this.getShadowDom(!0),b=this.getShadowState(!0);this.shadowState_=this.shadowDom_=null;return{shadowDom:a,shadowState:b}};module$exports$Blockly$Connection.Connection.prototype.applyShadowState_=function(a){var b=a.shadowState;this.shadowDom_=a.shadowDom;this.shadowState_=b};\nmodule$exports$Blockly$Connection.Connection.prototype.setShadowStateInternal_=function(a){a=void 0===a?{}:a;var b=void 0===a.shadowState?null:a.shadowState;this.shadowDom_=void 0===a.shadowDom?null:a.shadowDom;this.shadowState_=b;(a=this.targetBlock())?a.isShadow()?(a.dispose(!1),this.respawnShadow_(),this.targetBlock()&&this.targetBlock().isShadow()&&this.serializeShadow_(this.targetBlock())):(a=this.createShadowBlock_(!1),this.serializeShadow_(a),a&&a.dispose(!1)):(this.respawnShadow_(),this.targetBlock()&&\nthis.targetBlock().isShadow()&&this.serializeShadow_(this.targetBlock()))};\nmodule$exports$Blockly$Connection.Connection.prototype.createShadowBlock_=function(a){var b=this.getSourceBlock(),c=this.getShadowState(),d=this.getShadowDom();if(!b.workspace||!c&&!d)return null;if(c)return b=(0,module$exports$Blockly$serialization$blocks.appendInternal)(c,b.workspace,{parentConnection:a?this:void 0,isShadow:!0,recordUndo:!1});if(d){b=(0,$.module$exports$Blockly$Xml.domToBlock)(d,b.workspace);if(a)if(this.type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE){if(!b.outputConnection)throw Error(\"Shadow block is missing an output connection\");\nif(!this.connect(b.outputConnection))throw Error(\"Could not connect shadow block to connection\");}else if(this.type===$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT){if(!b.previousConnection)throw Error(\"Shadow block is missing previous connection\");if(!this.connect(b.previousConnection))throw Error(\"Could not connect shadow block to connection\");}else throw Error(\"Cannot connect a shadow block to a previous/output connection\");return b}return null};\nmodule$exports$Blockly$Connection.Connection.prototype.serializeShadow_=function(a){a&&(this.shadowDom_=(0,$.module$exports$Blockly$Xml.blockToDom)(a),this.shadowState_=(0,module$exports$Blockly$serialization$blocks.save)(a))};var module$exports$Blockly$IConnectionChecker={IConnectionChecker:function(){}};var module$exports$Blockly$ConnectionChecker={ConnectionChecker:function(){}};module$exports$Blockly$ConnectionChecker.ConnectionChecker.prototype.canConnect=function(a,b,c,d){return this.canConnectWithReason(a,b,c,d)===module$exports$Blockly$Connection.Connection.CAN_CONNECT};\nmodule$exports$Blockly$ConnectionChecker.ConnectionChecker.prototype.canConnectWithReason=function(a,b,c,d){var e=this.doSafetyChecks(a,b);return e!==module$exports$Blockly$Connection.Connection.CAN_CONNECT?e:this.doTypeChecks(a,b)?c&&!this.doDragChecks(a,b,d||0)?module$exports$Blockly$Connection.Connection.REASON_DRAG_CHECKS_FAILED:module$exports$Blockly$Connection.Connection.CAN_CONNECT:module$exports$Blockly$Connection.Connection.REASON_CHECKS_FAILED};\nmodule$exports$Blockly$ConnectionChecker.ConnectionChecker.prototype.getErrorMessage=function(a,b,c){switch(a){case module$exports$Blockly$Connection.Connection.REASON_SELF_CONNECTION:return\"Attempted to connect a block to itself.\";case module$exports$Blockly$Connection.Connection.REASON_DIFFERENT_WORKSPACES:return\"Blocks not on same workspace.\";case module$exports$Blockly$Connection.Connection.REASON_WRONG_TYPE:return\"Attempt to connect incompatible types.\";case module$exports$Blockly$Connection.Connection.REASON_TARGET_NULL:return\"Target connection is null.\";\ncase module$exports$Blockly$Connection.Connection.REASON_CHECKS_FAILED:return\"Connection checks failed. \"+(b+\" expected \"+b.getCheck()+\", found \"+c.getCheck());case module$exports$Blockly$Connection.Connection.REASON_SHADOW_PARENT:return\"Connecting non-shadow to shadow block.\";case module$exports$Blockly$Connection.Connection.REASON_DRAG_CHECKS_FAILED:return\"Drag checks failed.\";case module$exports$Blockly$Connection.Connection.REASON_PREVIOUS_AND_OUTPUT:return\"Block would have an output and a previous connection.\";\ndefault:return\"Unknown connection failure: this should never happen!\"}};\nmodule$exports$Blockly$ConnectionChecker.ConnectionChecker.prototype.doSafetyChecks=function(a,b){if(!a||!b)return module$exports$Blockly$Connection.Connection.REASON_TARGET_NULL;if(a.isSuperior()){var c=a.getSourceBlock();var d=b.getSourceBlock();var e=b}else d=a.getSourceBlock(),c=b.getSourceBlock(),e=a,a=b;return c===d?module$exports$Blockly$Connection.Connection.REASON_SELF_CONNECTION:e.type!==$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[a.type]?module$exports$Blockly$Connection.Connection.REASON_WRONG_TYPE:\nc.workspace!==d.workspace?module$exports$Blockly$Connection.Connection.REASON_DIFFERENT_WORKSPACES:c.isShadow()&&!d.isShadow()?module$exports$Blockly$Connection.Connection.REASON_SHADOW_PARENT:e.type===$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE&&d.previousConnection&&d.previousConnection.isConnected()||e.type===$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT&&d.outputConnection&&d.outputConnection.isConnected()?module$exports$Blockly$Connection.Connection.REASON_PREVIOUS_AND_OUTPUT:\nmodule$exports$Blockly$Connection.Connection.CAN_CONNECT};module$exports$Blockly$ConnectionChecker.ConnectionChecker.prototype.doTypeChecks=function(a,b){a=a.getCheck();b=b.getCheck();if(!a||!b)return!0;for(var c=0;c<a.length;c++)if(-1!==b.indexOf(a[c]))return!0;return!1};\nmodule$exports$Blockly$ConnectionChecker.ConnectionChecker.prototype.doDragChecks=function(a,b,c){if(a.distanceFrom(b)>c||b.getSourceBlock().isInsertionMarker())return!1;switch(b.type){case $.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(a,b);case $.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE:if(b.isConnected()&&!b.targetBlock().isInsertionMarker()||a.isConnected())return!1;break;case $.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE:if(b.isConnected()&&\n!b.targetBlock().isMovable()&&!b.targetBlock().isShadow())return!1;break;case $.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT:if(b.isConnected()&&!a.getSourceBlock().nextConnection&&!b.targetBlock().isShadow()&&b.targetBlock().nextConnection)return!1;break;default:return!1}return-1!==$.module$exports$Blockly$common.draggingConnections.indexOf(b)?!1:!0};\nmodule$exports$Blockly$ConnectionChecker.ConnectionChecker.prototype.canConnectToPrevious_=function(a,b){if(a.targetConnection||-1!==$.module$exports$Blockly$common.draggingConnections.indexOf(b))return!1;if(!b.targetConnection)return!0;a=b.targetBlock();return a.isInsertionMarker()?!a.getPreviousBlock():!1};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.CONNECTION_CHECKER,module$exports$Blockly$registry.DEFAULT,module$exports$Blockly$ConnectionChecker.ConnectionChecker);var module$exports$Blockly$Workspace={},module$contents$Blockly$Workspace_WorkspaceDB_=Object.create(null);\nmodule$exports$Blockly$Workspace.Workspace=function(a){this.id=(0,module$exports$Blockly$utils$idGenerator.genUid)();module$contents$Blockly$Workspace_WorkspaceDB_[this.id]=this;this.options=a||new module$exports$Blockly$Options.Options({});this.RTL=!!this.options.RTL;this.horizontalLayout=!!this.options.horizontalLayout;this.toolboxPosition=this.options.toolboxPosition;this.connectionChecker=new ((0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.CONNECTION_CHECKER,\nthis.options,!0))(this);this.topBlocks_=[];this.topComments_=[];this.commentDB_=Object.create(null);this.listeners_=[];this.undoStack_=[];this.redoStack_=[];this.blockDB_=Object.create(null);this.typedBlocksDB_=Object.create(null);this.variableMap_=new module$exports$Blockly$VariableMap.VariableMap(this);this.potentialVariableMap_=null};module$exports$Blockly$Workspace.Workspace.prototype.rendered=!1;module$exports$Blockly$Workspace.Workspace.prototype.isClearing=!1;\nmodule$exports$Blockly$Workspace.Workspace.prototype.MAX_UNDO=1024;module$exports$Blockly$Workspace.Workspace.prototype.connectionDBList=null;module$exports$Blockly$Workspace.Workspace.prototype.dispose=function(){this.listeners_.length=0;this.clear();delete module$contents$Blockly$Workspace_WorkspaceDB_[this.id]};module$exports$Blockly$Workspace.Workspace.SCAN_ANGLE=3;\nmodule$exports$Blockly$Workspace.Workspace.prototype.sortObjects_=function(a,b){a=a.getRelativeToSurfaceXY();b=b.getRelativeToSurfaceXY();return a.y+module$exports$Blockly$Workspace.Workspace.prototype.sortObjects_.offset*a.x-(b.y+module$exports$Blockly$Workspace.Workspace.prototype.sortObjects_.offset*b.x)};module$exports$Blockly$Workspace.Workspace.prototype.addTopBlock=function(a){this.topBlocks_.push(a)};\nmodule$exports$Blockly$Workspace.Workspace.prototype.removeTopBlock=function(a){if(!(0,module$exports$Blockly$utils$array.removeElem)(this.topBlocks_,a))throw Error(\"Block not present in workspace's list of top-most blocks.\");};\nmodule$exports$Blockly$Workspace.Workspace.prototype.getTopBlocks=function(a){var b=[].concat(this.topBlocks_);a&&1<b.length&&(this.sortObjects_.offset=Math.sin((0,module$exports$Blockly$utils$math.toRadians)(module$exports$Blockly$Workspace.Workspace.SCAN_ANGLE)),this.RTL&&(this.sortObjects_.offset*=-1),b.sort(this.sortObjects_));return b};module$exports$Blockly$Workspace.Workspace.prototype.addTypedBlock=function(a){this.typedBlocksDB_[a.type]||(this.typedBlocksDB_[a.type]=[]);this.typedBlocksDB_[a.type].push(a)};\nmodule$exports$Blockly$Workspace.Workspace.prototype.removeTypedBlock=function(a){(0,module$exports$Blockly$utils$array.removeElem)(this.typedBlocksDB_[a.type],a);this.typedBlocksDB_[a.type].length||delete this.typedBlocksDB_[a.type]};\nmodule$exports$Blockly$Workspace.Workspace.prototype.getBlocksByType=function(a,b){if(!this.typedBlocksDB_[a])return[];a=this.typedBlocksDB_[a].slice(0);b&&1<a.length&&(this.sortObjects_.offset=Math.sin((0,module$exports$Blockly$utils$math.toRadians)(module$exports$Blockly$Workspace.Workspace.SCAN_ANGLE)),this.RTL&&(this.sortObjects_.offset*=-1),a.sort(this.sortObjects_));return a.filter(function(c){return!c.isInsertionMarker()})};\nmodule$exports$Blockly$Workspace.Workspace.prototype.addTopComment=function(a){this.topComments_.push(a);this.commentDB_[a.id]&&console.warn('Overriding an existing comment on this workspace, with id \"'+a.id+'\"');this.commentDB_[a.id]=a};module$exports$Blockly$Workspace.Workspace.prototype.removeTopComment=function(a){if(!(0,module$exports$Blockly$utils$array.removeElem)(this.topComments_,a))throw Error(\"Comment not present in workspace's list of top-most comments.\");delete this.commentDB_[a.id]};\nmodule$exports$Blockly$Workspace.Workspace.prototype.getTopComments=function(a){var b=[].concat(this.topComments_);a&&1<b.length&&(this.sortObjects_.offset=Math.sin((0,module$exports$Blockly$utils$math.toRadians)(module$exports$Blockly$Workspace.Workspace.SCAN_ANGLE)),this.RTL&&(this.sortObjects_.offset*=-1),b.sort(this.sortObjects_));return b};\nmodule$exports$Blockly$Workspace.Workspace.prototype.getAllBlocks=function(a){if(a){var b=this.getTopBlocks(!0);a=[];for(var c=0;c<b.length;c++)a.push.apply(a,b[c].getDescendants(!0))}else for(a=this.getTopBlocks(!1),b=0;b<a.length;b++)a.push.apply(a,a[b].getChildren(!1));return a.filter(function(d){return!d.isInsertionMarker()})};\nmodule$exports$Blockly$Workspace.Workspace.prototype.clear=function(){this.isClearing=!0;try{var a=(0,module$exports$Blockly$Events$utils.getGroup)();for(a||(0,module$exports$Blockly$Events$utils.setGroup)(!0);this.topBlocks_.length;)this.topBlocks_[0].dispose(!1);for(;this.topComments_.length;)this.topComments_[this.topComments_.length-1].dispose();a||(0,module$exports$Blockly$Events$utils.setGroup)(!1);this.variableMap_.clear();this.potentialVariableMap_&&this.potentialVariableMap_.clear()}finally{this.isClearing=\n!1}};module$exports$Blockly$Workspace.Workspace.prototype.renameVariableById=function(a,b){this.variableMap_.renameVariableById(a,b)};module$exports$Blockly$Workspace.Workspace.prototype.createVariable=function(a,b,c){return this.variableMap_.createVariable(a,b,c)};module$exports$Blockly$Workspace.Workspace.prototype.getVariableUsesById=function(a){return this.variableMap_.getVariableUsesById(a)};module$exports$Blockly$Workspace.Workspace.prototype.deleteVariableById=function(a){this.variableMap_.deleteVariableById(a)};\nmodule$exports$Blockly$Workspace.Workspace.prototype.getVariable=function(a,b){return this.variableMap_.getVariable(a,b)};module$exports$Blockly$Workspace.Workspace.prototype.getVariableById=function(a){return this.variableMap_.getVariableById(a)};module$exports$Blockly$Workspace.Workspace.prototype.getVariablesOfType=function(a){return this.variableMap_.getVariablesOfType(a)};module$exports$Blockly$Workspace.Workspace.prototype.getVariableTypes=function(){return this.variableMap_.getVariableTypes(this)};\nmodule$exports$Blockly$Workspace.Workspace.prototype.getAllVariables=function(){return this.variableMap_.getAllVariables()};module$exports$Blockly$Workspace.Workspace.prototype.getAllVariableNames=function(){return this.variableMap_.getAllVariableNames()};module$exports$Blockly$Workspace.Workspace.prototype.getWidth=function(){return 0};module$exports$Blockly$Workspace.Workspace.prototype.newBlock=function(a,b){return new module$exports$Blockly$Block.Block(this,a,b)};\nmodule$exports$Blockly$Workspace.Workspace.prototype.remainingCapacity=function(){return isNaN(this.options.maxBlocks)?Infinity:this.options.maxBlocks-this.getAllBlocks(!1).length};module$exports$Blockly$Workspace.Workspace.prototype.remainingCapacityOfType=function(a){return this.options.maxInstances?(void 0!==this.options.maxInstances[a]?this.options.maxInstances[a]:Infinity)-this.getBlocksByType(a,!1).length:Infinity};\nmodule$exports$Blockly$Workspace.Workspace.prototype.isCapacityAvailable=function(a){if(!this.hasBlockLimits())return!0;var b=0,c;for(c in a){if(a[c]>this.remainingCapacityOfType(c))return!1;b+=a[c]}return b>this.remainingCapacity()?!1:!0};module$exports$Blockly$Workspace.Workspace.prototype.hasBlockLimits=function(){return Infinity!==this.options.maxBlocks||!!this.options.maxInstances};module$exports$Blockly$Workspace.Workspace.prototype.getUndoStack=function(){return this.undoStack_};\nmodule$exports$Blockly$Workspace.Workspace.prototype.getRedoStack=function(){return this.redoStack_};\nmodule$exports$Blockly$Workspace.Workspace.prototype.undo=function(a){var b=a?this.redoStack_:this.undoStack_,c=a?this.undoStack_:this.redoStack_,d=b.pop();if(d){for(var e=[d];b.length&&d.group&&d.group===b[b.length-1].group;)e.push(b.pop());for(b=0;b<e.length;b++)c.push(e[b]);e=(0,module$exports$Blockly$Events$utils.filter)(e,a);(0,module$exports$Blockly$Events$utils.setRecordUndo)(!1);try{for(c=0;c<e.length;c++)e[c].run(a)}finally{(0,module$exports$Blockly$Events$utils.setRecordUndo)(!0)}}};\nmodule$exports$Blockly$Workspace.Workspace.prototype.clearUndo=function(){this.undoStack_.length=0;this.redoStack_.length=0;(0,module$exports$Blockly$Events$utils.clearPendingUndo)()};module$exports$Blockly$Workspace.Workspace.prototype.addChangeListener=function(a){this.listeners_.push(a);return a};module$exports$Blockly$Workspace.Workspace.prototype.removeChangeListener=function(a){(0,module$exports$Blockly$utils$array.removeElem)(this.listeners_,a)};\nmodule$exports$Blockly$Workspace.Workspace.prototype.fireChangeListener=function(a){if(a.recordUndo)for(this.undoStack_.push(a),this.redoStack_.length=0;this.undoStack_.length>this.MAX_UNDO&&0<=this.MAX_UNDO;)this.undoStack_.shift();for(var b=0;b<this.listeners_.length;b++)(0,this.listeners_[b])(a)};module$exports$Blockly$Workspace.Workspace.prototype.getBlockById=function(a){return this.blockDB_[a]||null};\nmodule$exports$Blockly$Workspace.Workspace.prototype.setBlockById=function(a,b){this.blockDB_[a]=b};module$exports$Blockly$Workspace.Workspace.prototype.removeBlockById=function(a){delete this.blockDB_[a]};module$exports$Blockly$Workspace.Workspace.prototype.getCommentById=function(a){return this.commentDB_[a]||null};module$exports$Blockly$Workspace.Workspace.prototype.allInputsFilled=function(a){for(var b=this.getTopBlocks(!1),c=0;c<b.length;c++)if(!b[c].allInputsFilled(a))return!1;return!0};\nmodule$exports$Blockly$Workspace.Workspace.prototype.getPotentialVariableMap=function(){return this.potentialVariableMap_};module$exports$Blockly$Workspace.Workspace.prototype.createPotentialVariableMap=function(){this.potentialVariableMap_=new module$exports$Blockly$VariableMap.VariableMap(this)};module$exports$Blockly$Workspace.Workspace.prototype.getVariableMap=function(){return this.variableMap_};\nmodule$exports$Blockly$Workspace.Workspace.prototype.setVariableMap=function(a){this.variableMap_=a};module$exports$Blockly$Workspace.Workspace.getById=function(a){return module$contents$Blockly$Workspace_WorkspaceDB_[a]||null};module$exports$Blockly$Workspace.Workspace.getAll=function(){var a=[],b;for(b in module$contents$Blockly$Workspace_WorkspaceDB_)a.push(module$contents$Blockly$Workspace_WorkspaceDB_[b]);return a};var module$exports$Blockly$Bubble={Bubble:function(a,b,c,d,e,f){this.workspace_=a;this.content_=b;this.shape_=c;this.onMouseDownResizeWrapper_=this.onMouseDownBubbleWrapper_=this.moveCallback_=this.resizeCallback_=null;this.disposed=!1;c=module$exports$Blockly$Bubble.Bubble.ARROW_ANGLE;this.workspace_.RTL&&(c=-c);this.arrow_radians_=(0,module$exports$Blockly$utils$math.toRadians)(c);a.getBubbleCanvas().appendChild(this.createDom_(b,!(!e||!f)));this.setAnchorLocation(d);e&&f||(a=this.content_.getBBox(),\ne=a.width+2*module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH,f=a.height+2*module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH);this.setBubbleSize(e,f);this.positionBubble_();this.renderArrow_();this.rendered_=!0}};module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH=6;module$exports$Blockly$Bubble.Bubble.ARROW_THICKNESS=5;module$exports$Blockly$Bubble.Bubble.ARROW_ANGLE=20;module$exports$Blockly$Bubble.Bubble.ARROW_BEND=4;module$exports$Blockly$Bubble.Bubble.ANCHOR_RADIUS=8;\nmodule$exports$Blockly$Bubble.Bubble.onMouseUpWrapper_=null;module$exports$Blockly$Bubble.Bubble.onMouseMoveWrapper_=null;\nmodule$exports$Blockly$Bubble.Bubble.unbindDragEvents_=function(){module$exports$Blockly$Bubble.Bubble.onMouseUpWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(module$exports$Blockly$Bubble.Bubble.onMouseUpWrapper_),module$exports$Blockly$Bubble.Bubble.onMouseUpWrapper_=null);module$exports$Blockly$Bubble.Bubble.onMouseMoveWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(module$exports$Blockly$Bubble.Bubble.onMouseMoveWrapper_),module$exports$Blockly$Bubble.Bubble.onMouseMoveWrapper_=\nnull)};module$exports$Blockly$Bubble.Bubble.bubbleMouseUp_=function(a){(0,module$exports$Blockly$Touch.clearTouchIdentifier)();module$exports$Blockly$Bubble.Bubble.unbindDragEvents_()};module$exports$Blockly$Bubble.Bubble.prototype.rendered_=!1;module$exports$Blockly$Bubble.Bubble.prototype.anchorXY_=null;module$exports$Blockly$Bubble.Bubble.prototype.relativeLeft_=0;module$exports$Blockly$Bubble.Bubble.prototype.relativeTop_=0;module$exports$Blockly$Bubble.Bubble.prototype.width_=0;\nmodule$exports$Blockly$Bubble.Bubble.prototype.height_=0;module$exports$Blockly$Bubble.Bubble.prototype.autoLayout_=!0;\nmodule$exports$Blockly$Bubble.Bubble.prototype.createDom_=function(a,b){this.bubbleGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{},null);var c={filter:\"url(#\"+this.workspace_.getRenderer().getConstants().embossFilterId+\")\"};module$exports$Blockly$utils$userAgent.JAVA_FX&&(c={});c=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,c,this.bubbleGroup_);this.bubbleArrow_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,\n{},c);this.bubbleBack_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blocklyDraggable\",x:0,y:0,rx:module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH,ry:module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH},c);b?(this.resizeGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":this.workspace_.RTL?\"blocklyResizeSW\":\"blocklyResizeSE\"},this.bubbleGroup_),b=2*module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH,\n(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.POLYGON,{points:\"0,x x,x x,0\".replace(/x/g,b.toString())},this.resizeGroup_),(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,{\"class\":\"blocklyResizeLine\",x1:b/3,y1:b-1,x2:b-1,y2:b/3},this.resizeGroup_),(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,{\"class\":\"blocklyResizeLine\",x1:2*b/3,y1:b-1,x2:b-1,y2:2*b/3},this.resizeGroup_)):\nthis.resizeGroup_=null;this.workspace_.options.readOnly||(this.onMouseDownBubbleWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(this.bubbleBack_,\"mousedown\",this,this.bubbleMouseDown_),this.resizeGroup_&&(this.onMouseDownResizeWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(this.resizeGroup_,\"mousedown\",this,this.resizeMouseDown_)));this.bubbleGroup_.appendChild(a);return this.bubbleGroup_};module$exports$Blockly$Bubble.Bubble.prototype.getSvgRoot=function(){return this.bubbleGroup_};\nmodule$exports$Blockly$Bubble.Bubble.prototype.setSvgId=function(a){this.bubbleGroup_.dataset&&(this.bubbleGroup_.dataset.blockId=a)};module$exports$Blockly$Bubble.Bubble.prototype.bubbleMouseDown_=function(a){var b=this.workspace_.getGesture(a);b&&b.handleBubbleStart(a,this)};module$exports$Blockly$Bubble.Bubble.prototype.showContextMenu=function(a){};module$exports$Blockly$Bubble.Bubble.prototype.isDeletable=function(){return!1};module$exports$Blockly$Bubble.Bubble.prototype.setDeleteStyle=function(a){};\nmodule$exports$Blockly$Bubble.Bubble.prototype.resizeMouseDown_=function(a){this.promote();module$exports$Blockly$Bubble.Bubble.unbindDragEvents_();(0,module$exports$Blockly$browserEvents.isRightButton)(a)||(this.workspace_.startDrag(a,new module$exports$Blockly$utils$Coordinate.Coordinate(this.workspace_.RTL?-this.width_:this.width_,this.height_)),module$exports$Blockly$Bubble.Bubble.onMouseUpWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mouseup\",this,module$exports$Blockly$Bubble.Bubble.bubbleMouseUp_),\nmodule$exports$Blockly$Bubble.Bubble.onMouseMoveWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mousemove\",this,this.resizeMouseMove_),this.workspace_.hideChaff());a.stopPropagation()};module$exports$Blockly$Bubble.Bubble.prototype.resizeMouseMove_=function(a){this.autoLayout_=!1;a=this.workspace_.moveDrag(a);this.setBubbleSize(this.workspace_.RTL?-a.x:a.x,a.y);this.workspace_.RTL&&this.positionBubble_()};\nmodule$exports$Blockly$Bubble.Bubble.prototype.registerResizeEvent=function(a){this.resizeCallback_=a};module$exports$Blockly$Bubble.Bubble.prototype.registerMoveEvent=function(a){this.moveCallback_=a};module$exports$Blockly$Bubble.Bubble.prototype.promote=function(){var a=this.bubbleGroup_.parentNode;return a.lastChild!==this.bubbleGroup_?(a.appendChild(this.bubbleGroup_),!0):!1};module$exports$Blockly$Bubble.Bubble.prototype.setAnchorLocation=function(a){this.anchorXY_=a;this.rendered_&&this.positionBubble_()};\nmodule$exports$Blockly$Bubble.Bubble.prototype.layoutBubble_=function(){var a=this.workspace_.getMetricsManager().getViewMetrics(!0),b=this.getOptimalRelativeLeft_(a),c=this.getOptimalRelativeTop_(a),d=this.shape_.getBBox(),e={x:b,y:-this.height_-this.workspace_.getRenderer().getConstants().MIN_BLOCK_HEIGHT},f={x:-this.width_-30,y:c};c={x:d.width,y:c};var g={x:b,y:d.height};b=d.width<d.height?c:g;d=d.width<d.height?g:c;c=this.getOverlap_(e,a);g=this.getOverlap_(f,a);var h=this.getOverlap_(b,a);a=\nthis.getOverlap_(d,a);a=Math.max(c,g,h,a);c===a?(this.relativeLeft_=e.x,this.relativeTop_=e.y):g===a?(this.relativeLeft_=f.x,this.relativeTop_=f.y):h===a?(this.relativeLeft_=b.x,this.relativeTop_=b.y):(this.relativeLeft_=d.x,this.relativeTop_=d.y)};\nmodule$exports$Blockly$Bubble.Bubble.prototype.getOverlap_=function(a,b){var c=this.workspace_.RTL?this.anchorXY_.x-a.x-this.width_:a.x+this.anchorXY_.x;a=a.y+this.anchorXY_.y;return Math.max(0,Math.min(1,(Math.min(c+this.width_,b.left+b.width)-Math.max(c,b.left))*(Math.min(a+this.height_,b.top+b.height)-Math.max(a,b.top))/(this.width_*this.height_)))};\nmodule$exports$Blockly$Bubble.Bubble.prototype.getOptimalRelativeLeft_=function(a){var b=-this.width_/4;if(this.width_>a.width)return b;if(this.workspace_.RTL){var c=this.anchorXY_.x-b,d=a.left+a.width;a=a.left+module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness/this.workspace_.scale;c-this.width_<a?b=-(a-this.anchorXY_.x+this.width_):c>d&&(b=-(d-this.anchorXY_.x))}else{c=b+this.anchorXY_.x;d=c+this.width_;var e=a.left;a=a.left+a.width-module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness/\nthis.workspace_.scale;c<e?b=e-this.anchorXY_.x:d>a&&(b=a-this.anchorXY_.x-this.width_)}return b};module$exports$Blockly$Bubble.Bubble.prototype.getOptimalRelativeTop_=function(a){var b=-this.height_/4;if(this.height_>a.height)return b;var c=this.anchorXY_.y+b,d=c+this.height_,e=a.top;a=a.top+a.height-module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness/this.workspace_.scale;var f=this.anchorXY_.y;c<e?b=e-f:d>a&&(b=a-f-this.height_);return b};\nmodule$exports$Blockly$Bubble.Bubble.prototype.positionBubble_=function(){var a=this.anchorXY_.x;a=this.workspace_.RTL?a-(this.relativeLeft_+this.width_):a+this.relativeLeft_;this.moveTo(a,this.relativeTop_+this.anchorXY_.y)};module$exports$Blockly$Bubble.Bubble.prototype.moveTo=function(a,b){this.bubbleGroup_.setAttribute(\"transform\",\"translate(\"+a+\",\"+b+\")\")};module$exports$Blockly$Bubble.Bubble.prototype.setDragging=function(a){!a&&this.moveCallback_&&this.moveCallback_()};\nmodule$exports$Blockly$Bubble.Bubble.prototype.getBubbleSize=function(){return new module$exports$Blockly$utils$Size.Size(this.width_,this.height_)};\nmodule$exports$Blockly$Bubble.Bubble.prototype.setBubbleSize=function(a,b){var c=2*module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH;a=Math.max(a,c+45);b=Math.max(b,c+20);this.width_=a;this.height_=b;this.bubbleBack_.setAttribute(\"width\",a);this.bubbleBack_.setAttribute(\"height\",b);this.resizeGroup_&&(this.workspace_.RTL?this.resizeGroup_.setAttribute(\"transform\",\"translate(\"+2*module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH+\",\"+(b-c)+\") scale(-1 1)\"):this.resizeGroup_.setAttribute(\"transform\",\n\"translate(\"+(a-c)+\",\"+(b-c)+\")\"));this.autoLayout_&&this.layoutBubble_();this.positionBubble_();this.renderArrow_();this.resizeCallback_&&this.resizeCallback_()};\nmodule$exports$Blockly$Bubble.Bubble.prototype.renderArrow_=function(){var a=[],b=this.width_/2,c=this.height_/2,d=-this.relativeLeft_,e=-this.relativeTop_;if(b===d&&c===e)a.push(\"M \"+b+\",\"+c);else{e-=c;d-=b;this.workspace_.RTL&&(d*=-1);var f=Math.sqrt(e*e+d*d),g=Math.acos(d/f);0>e&&(g=2*Math.PI-g);var h=g+Math.PI/2;h>2*Math.PI&&(h-=2*Math.PI);var k=Math.sin(h),l=Math.cos(h),m=this.getBubbleSize();h=(m.width+m.height)/module$exports$Blockly$Bubble.Bubble.ARROW_THICKNESS;h=Math.min(h,m.width,m.height)/\n4;m=1-module$exports$Blockly$Bubble.Bubble.ANCHOR_RADIUS/f;d=b+m*d;e=c+m*e;m=b+h*l;var n=c+h*k;b-=h*l;c-=h*k;k=g+this.arrow_radians_;k>2*Math.PI&&(k-=2*Math.PI);g=Math.sin(k)*f/module$exports$Blockly$Bubble.Bubble.ARROW_BEND;f=Math.cos(k)*f/module$exports$Blockly$Bubble.Bubble.ARROW_BEND;a.push(\"M\"+m+\",\"+n);a.push(\"C\"+(m+f)+\",\"+(n+g)+\" \"+d+\",\"+e+\" \"+d+\",\"+e);a.push(\"C\"+d+\",\"+e+\" \"+(b+f)+\",\"+(c+g)+\" \"+b+\",\"+c)}a.push(\"z\");this.bubbleArrow_.setAttribute(\"d\",a.join(\" \"))};\nmodule$exports$Blockly$Bubble.Bubble.prototype.setColour=function(a){this.bubbleBack_.setAttribute(\"fill\",a);this.bubbleArrow_.setAttribute(\"fill\",a)};\nmodule$exports$Blockly$Bubble.Bubble.prototype.dispose=function(){this.onMouseDownBubbleWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.onMouseDownBubbleWrapper_);this.onMouseDownResizeWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.onMouseDownResizeWrapper_);module$exports$Blockly$Bubble.Bubble.unbindDragEvents_();(0,module$exports$Blockly$utils$dom.removeNode)(this.bubbleGroup_);this.disposed=!0};\nmodule$exports$Blockly$Bubble.Bubble.prototype.moveDuringDrag=function(a,b){a?a.translateSurface(b.x,b.y):this.moveTo(b.x,b.y);this.relativeLeft_=this.workspace_.RTL?this.anchorXY_.x-b.x-this.width_:b.x-this.anchorXY_.x;this.relativeTop_=b.y-this.anchorXY_.y;this.renderArrow_()};\nmodule$exports$Blockly$Bubble.Bubble.prototype.getRelativeToSurfaceXY=function(){return new module$exports$Blockly$utils$Coordinate.Coordinate(this.workspace_.RTL?-this.relativeLeft_+this.anchorXY_.x-this.width_:this.anchorXY_.x+this.relativeLeft_,this.anchorXY_.y+this.relativeTop_)};module$exports$Blockly$Bubble.Bubble.prototype.setAutoLayout=function(a){this.autoLayout_=a};\nmodule$exports$Blockly$Bubble.Bubble.textToDom=function(a){var b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.TEXT,{\"class\":\"blocklyText blocklyBubbleText blocklyNoPointerEvents\",y:module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH},null);a=a.split(\"\\n\");for(var c=0;c<a.length;c++){var d=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.TSPAN,{dy:\"1em\",x:module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH},b),e=document.createTextNode(a[c]);\nd.appendChild(e)}return b};module$exports$Blockly$Bubble.Bubble.createNonEditableBubble=function(a,b,c){c=new module$exports$Blockly$Bubble.Bubble(b.workspace,a,b.pathObject.svgPath,c,null,null);c.setSvgId(b.id);if(b.RTL){b=a.getBBox().width;for(var d=0,e;e=a.childNodes[d];d++)e.setAttribute(\"text-anchor\",\"end\"),e.setAttribute(\"x\",b+module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH)}return c};var module$exports$Blockly$Events$CommentBase={CommentBase:function(a){this.commentId=(this.isBlank=\"undefined\"===typeof a)?\"\":a.id;this.workspaceId=this.isBlank?\"\":a.workspace.id;this.group=(0,module$exports$Blockly$Events$utils.getGroup)();this.recordUndo=(0,module$exports$Blockly$Events$utils.getRecordUndo)()}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$CommentBase.CommentBase,module$exports$Blockly$Events$Abstract);\nmodule$exports$Blockly$Events$CommentBase.CommentBase.prototype.toJson=function(){var a=module$exports$Blockly$Events$CommentBase.CommentBase.superClass_.toJson.call(this);this.commentId&&(a.commentId=this.commentId);return a};module$exports$Blockly$Events$CommentBase.CommentBase.prototype.fromJson=function(a){module$exports$Blockly$Events$CommentBase.CommentBase.superClass_.fromJson.call(this,a);this.commentId=a.commentId};\nmodule$exports$Blockly$Events$CommentBase.CommentBase.CommentCreateDeleteHelper=function(a,b){var c=a.getEventWorkspace_();b?(b=(0,$.module$exports$Blockly$utils$xml.createElement)(\"xml\"),b.appendChild(a.xml),(0,$.module$exports$Blockly$Xml.domToWorkspace)(b,c)):(c=c.getCommentById(a.commentId))?c.dispose():console.warn(\"Can't uncreate non-existent comment: \"+a.commentId)};var module$exports$Blockly$Events$CommentMove={CommentMove:function(a){module$exports$Blockly$Events$CommentMove.CommentMove.superClass_.constructor.call(this,a);a&&(this.comment_=a,this.oldCoordinate_=a.getXY(),this.newCoordinate_=null)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$CommentMove.CommentMove,module$exports$Blockly$Events$CommentBase.CommentBase);\nmodule$exports$Blockly$Events$CommentMove.CommentMove.prototype.recordNew=function(){if(!this.comment_)throw Error(\"Tried to record the new position of a comment on the same event twice.\");this.newCoordinate_=this.comment_.getXY();this.comment_=null};module$exports$Blockly$Events$CommentMove.CommentMove.prototype.type=module$exports$Blockly$Events$utils.COMMENT_MOVE;module$exports$Blockly$Events$CommentMove.CommentMove.prototype.setOldCoordinate=function(a){this.oldCoordinate_=a};\nmodule$exports$Blockly$Events$CommentMove.CommentMove.prototype.toJson=function(){var a=module$exports$Blockly$Events$CommentMove.CommentMove.superClass_.toJson.call(this);this.oldCoordinate_&&(a.oldCoordinate=Math.round(this.oldCoordinate_.x)+\",\"+Math.round(this.oldCoordinate_.y));this.newCoordinate_&&(a.newCoordinate=Math.round(this.newCoordinate_.x)+\",\"+Math.round(this.newCoordinate_.y));return a};\nmodule$exports$Blockly$Events$CommentMove.CommentMove.prototype.fromJson=function(a){module$exports$Blockly$Events$CommentMove.CommentMove.superClass_.fromJson.call(this,a);if(a.oldCoordinate){var b=a.oldCoordinate.split(\",\");this.oldCoordinate_=new module$exports$Blockly$utils$Coordinate.Coordinate(Number(b[0]),Number(b[1]))}a.newCoordinate&&(a=a.newCoordinate.split(\",\"),this.newCoordinate_=new module$exports$Blockly$utils$Coordinate.Coordinate(Number(a[0]),Number(a[1])))};\nmodule$exports$Blockly$Events$CommentMove.CommentMove.prototype.isNull=function(){return module$exports$Blockly$utils$Coordinate.Coordinate.equals(this.oldCoordinate_,this.newCoordinate_)};module$exports$Blockly$Events$CommentMove.CommentMove.prototype.run=function(a){var b=this.getEventWorkspace_().getCommentById(this.commentId);if(b){a=a?this.newCoordinate_:this.oldCoordinate_;var c=b.getXY();b.moveBy(a.x-c.x,a.y-c.y)}else console.warn(\"Can't move non-existent comment: \"+this.commentId)};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.COMMENT_MOVE,module$exports$Blockly$Events$CommentMove.CommentMove);var module$exports$Blockly$BubbleDragger={BubbleDragger:function(a,b){this.draggingBubble_=a;this.workspace_=b;this.dragTarget_=null;this.wouldDeleteBubble_=!1;this.startXY_=this.draggingBubble_.getRelativeToSurfaceXY();this.dragSurface_=(0,module$exports$Blockly$utils$svgMath.is3dSupported)()&&b.getBlockDragSurface()?b.getBlockDragSurface():null}};module$exports$Blockly$BubbleDragger.BubbleDragger.prototype.dispose=function(){this.dragSurface_=this.workspace_=this.draggingBubble_=null};\nmodule$exports$Blockly$BubbleDragger.BubbleDragger.prototype.startBubbleDrag=function(){(0,module$exports$Blockly$Events$utils.getGroup)()||(0,module$exports$Blockly$Events$utils.setGroup)(!0);this.workspace_.setResizesEnabled(!1);this.draggingBubble_.setAutoLayout(!1);this.dragSurface_&&this.moveToDragSurface_();this.draggingBubble_.setDragging&&this.draggingBubble_.setDragging(!0)};\nmodule$exports$Blockly$BubbleDragger.BubbleDragger.prototype.dragBubble=function(a,b){b=this.pixelsToWorkspaceUnits_(b);b=module$exports$Blockly$utils$Coordinate.Coordinate.sum(this.startXY_,b);this.draggingBubble_.moveDuringDrag(this.dragSurface_,b);b=this.dragTarget_;this.dragTarget_=this.workspace_.getDragTarget(a);a=this.wouldDeleteBubble_;this.wouldDeleteBubble_=this.shouldDelete_(this.dragTarget_);a!==this.wouldDeleteBubble_&&this.updateCursorDuringBubbleDrag_();this.dragTarget_!==b&&(b&&b.onDragExit(this.draggingBubble_),\nthis.dragTarget_&&this.dragTarget_.onDragEnter(this.draggingBubble_));this.dragTarget_&&this.dragTarget_.onDragOver(this.draggingBubble_)};module$exports$Blockly$BubbleDragger.BubbleDragger.prototype.shouldDelete_=function(a){return a&&this.workspace_.getComponentManager().hasCapability(a.id,module$exports$Blockly$ComponentManager.ComponentManager.Capability.DELETE_AREA)?a.wouldDelete(this.draggingBubble_,!1):!1};\nmodule$exports$Blockly$BubbleDragger.BubbleDragger.prototype.updateCursorDuringBubbleDrag_=function(){this.draggingBubble_.setDeleteStyle(this.wouldDeleteBubble_)};\nmodule$exports$Blockly$BubbleDragger.BubbleDragger.prototype.endBubbleDrag=function(a,b){this.dragBubble(a,b);this.dragTarget_&&this.dragTarget_.shouldPreventMove(this.draggingBubble_)?a=this.startXY_:(a=this.pixelsToWorkspaceUnits_(b),a=module$exports$Blockly$utils$Coordinate.Coordinate.sum(this.startXY_,a));this.draggingBubble_.moveTo(a.x,a.y);if(this.dragTarget_)this.dragTarget_.onDrop(this.draggingBubble_);this.wouldDeleteBubble_?(this.fireMoveEvent_(),this.draggingBubble_.dispose(!1,!0)):(this.dragSurface_&&\nthis.dragSurface_.clearAndHide(this.workspace_.getBubbleCanvas()),this.draggingBubble_.setDragging&&this.draggingBubble_.setDragging(!1),this.fireMoveEvent_());this.workspace_.setResizesEnabled(!0);(0,module$exports$Blockly$Events$utils.setGroup)(!1)};\nmodule$exports$Blockly$BubbleDragger.BubbleDragger.prototype.fireMoveEvent_=function(){if(this.draggingBubble_.isComment){var a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.COMMENT_MOVE))(this.draggingBubble_);a.setOldCoordinate(this.startXY_);a.recordNew();(0,module$exports$Blockly$Events$utils.fire)(a)}};\nmodule$exports$Blockly$BubbleDragger.BubbleDragger.prototype.pixelsToWorkspaceUnits_=function(a){a=new module$exports$Blockly$utils$Coordinate.Coordinate(a.x/this.workspace_.scale,a.y/this.workspace_.scale);this.workspace_.isMutator&&a.scale(1/this.workspace_.options.parentWorkspace.scale);return a};module$exports$Blockly$BubbleDragger.BubbleDragger.prototype.moveToDragSurface_=function(){this.draggingBubble_.moveTo(0,0);this.dragSurface_.translateSurface(this.startXY_.x,this.startXY_.y);this.dragSurface_.setBlocksAndShow(this.draggingBubble_.getSvgRoot())};var module$exports$Blockly$WorkspaceDragger={WorkspaceDragger:function(a){this.workspace_=a;this.horizontalScrollEnabled_=this.workspace_.isMovableHorizontally();this.verticalScrollEnabled_=this.workspace_.isMovableVertically();this.startScrollXY_=new module$exports$Blockly$utils$Coordinate.Coordinate(a.scrollX,a.scrollY)}};module$exports$Blockly$WorkspaceDragger.WorkspaceDragger.prototype.dispose=function(){this.workspace_=null};\nmodule$exports$Blockly$WorkspaceDragger.WorkspaceDragger.prototype.startDrag=function(){(0,$.module$exports$Blockly$common.getSelected)()&&(0,$.module$exports$Blockly$common.getSelected)().unselect();this.workspace_.setupDragSurface()};module$exports$Blockly$WorkspaceDragger.WorkspaceDragger.prototype.endDrag=function(a){this.drag(a);this.workspace_.resetDragSurface()};\nmodule$exports$Blockly$WorkspaceDragger.WorkspaceDragger.prototype.drag=function(a){a=module$exports$Blockly$utils$Coordinate.Coordinate.sum(this.startScrollXY_,a);if(this.horizontalScrollEnabled_&&this.verticalScrollEnabled_)this.workspace_.scroll(a.x,a.y);else if(this.horizontalScrollEnabled_)this.workspace_.scroll(a.x,this.workspace_.scrollY);else if(this.verticalScrollEnabled_)this.workspace_.scroll(this.workspace_.scrollX,a.y);else throw new TypeError(\"Invalid state.\");};var module$exports$Blockly$IBlockDragger={IBlockDragger:function(){}};var module$exports$Blockly$InsertionMarkerManager={InsertionMarkerManager:function(a){(0,$.module$exports$Blockly$common.setSelected)(a);this.topBlock_=a;this.workspace_=a.workspace;this.lastMarker_=this.lastOnStack_=null;this.firstMarker_=this.createMarkerBlock_(this.topBlock_);this.localConnection_=this.closestConnection_=null;this.wouldDeleteBlock_=!1;this.fadedBlock_=this.highlightedBlock_=this.markerConnection_=null;this.availableConnections_=this.initAvailableConnections_()}};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.PREVIEW_TYPE={INSERTION_MARKER:0,INPUT_OUTLINE:1,REPLACEMENT_FADE:2};module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.DUPLICATE_BLOCK_ERROR=\"The insertion marker manager tried to create a marker but the result is missing %1. If you are using a mutator, make sure your domToMutation method is properly defined.\";\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.dispose=function(){this.availableConnections_.length=0;(0,module$exports$Blockly$Events$utils.disable)();try{this.firstMarker_&&this.firstMarker_.dispose(),this.lastMarker_&&this.lastMarker_.dispose()}finally{(0,module$exports$Blockly$Events$utils.enable)()}};module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.updateAvailableConnections=function(){this.availableConnections_=this.initAvailableConnections_()};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.wouldDeleteBlock=function(){return this.wouldDeleteBlock_};module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.wouldConnectBlock=function(){return!!this.closestConnection_};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.applyConnections=function(){if(this.closestConnection_&&((0,module$exports$Blockly$Events$utils.disable)(),this.hidePreview_(),(0,module$exports$Blockly$Events$utils.enable)(),this.localConnection_.connect(this.closestConnection_),this.topBlock_.rendered)){var a=this.localConnection_.isSuperior()?this.closestConnection_:this.localConnection_;(0,module$exports$Blockly$blockAnimations.connectionUiEffect)(a.getSourceBlock());\nthis.topBlock_.getRootBlock().bringToFront()}};module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.update=function(a,b){var c=this.getCandidate_(a);if((this.wouldDeleteBlock_=this.shouldDelete_(c,b))||this.shouldUpdatePreviews_(c,a))(0,module$exports$Blockly$Events$utils.disable)(),this.maybeHidePreview_(c),this.maybeShowPreview_(c),(0,module$exports$Blockly$Events$utils.enable)()};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.createMarkerBlock_=function(a){var b=a.type;(0,module$exports$Blockly$Events$utils.disable)();try{var c=this.workspace_.newBlock(b);c.setInsertionMarker(!0);if(a.saveExtraState){var d=a.saveExtraState();d&&c.loadExtraState(d)}else if(a.mutationToDom){var e=a.mutationToDom();e&&c.domToMutation(e)}for(b=0;b<a.inputList.length;b++){var f=a.inputList[b];if(f.name!==module$exports$Blockly$constants.COLLAPSED_INPUT_NAME){var g=\nc.inputList[b];if(!g)throw Error(module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.DUPLICATE_BLOCK_ERROR.replace(\"%1\",\"an input\"));for(d=0;d<f.fieldRow.length;d++){var h=f.fieldRow[d],k=g.fieldRow[d];if(!k)throw Error(module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.DUPLICATE_BLOCK_ERROR.replace(\"%1\",\"a field\"));k.setValue(h.getValue())}}}c.setCollapsed(a.isCollapsed());c.setInputsInline(a.getInputsInline());c.initSvg();c.getSvgRoot().setAttribute(\"visibility\",\n\"hidden\")}finally{(0,module$exports$Blockly$Events$utils.enable)()}return c};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.initAvailableConnections_=function(){var a=this.topBlock_.getConnections_(!1),b=this.topBlock_.lastConnectionInStack(!0);if(b&&b!==this.topBlock_.nextConnection){a.push(b);this.lastOnStack_=b;if(this.lastMarker_){(0,module$exports$Blockly$Events$utils.disable)();try{this.lastMarker_.dispose()}finally{(0,module$exports$Blockly$Events$utils.enable)()}}this.lastMarker_=this.createMarkerBlock_(b.getSourceBlock())}return a};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.shouldUpdatePreviews_=function(a,b){var c=a.local,d=a.closest;a=a.radius;if(c&&d){if(this.localConnection_&&this.closestConnection_){if(this.closestConnection_===d&&this.localConnection_===c)return!1;c=this.localConnection_.x+b.x-this.closestConnection_.x;b=this.localConnection_.y+b.y-this.closestConnection_.y;b=Math.sqrt(c*c+b*b);return!(d&&a>b-$.module$exports$Blockly$internalConstants.CURRENT_CONNECTION_PREFERENCE)}if(this.localConnection_||\nthis.closestConnection_)console.error(\"Only one of localConnection_ and closestConnection_ was set.\");else return!0}else return!(!this.localConnection_||!this.closestConnection_);console.error(\"Returning true from shouldUpdatePreviews, but it's not clear why.\");return!0};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.getCandidate_=function(a){for(var b=this.getStartRadius_(),c=null,d=null,e=0;e<this.availableConnections_.length;e++){var f=this.availableConnections_[e],g=f.closest(b,a);g.connection&&(c=g.connection,d=f,b=g.radius)}return{closest:c,local:d,radius:b}};module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.getStartRadius_=function(){return $.module$exports$Blockly$internalConstants.SNAP_RADIUS};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.shouldDelete_=function(a,b){return b&&this.workspace_.getComponentManager().hasCapability(b.id,module$exports$Blockly$ComponentManager.ComponentManager.Capability.DELETE_AREA)?b.wouldDelete(this.topBlock_,a&&!!a.closest):!1};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.maybeShowPreview_=function(a){if(!this.wouldDeleteBlock_){var b=a.closest;a=a.local;b&&(b===this.closestConnection_||b.getSourceBlock().isInsertionMarker()?console.log(\"Trying to connect to an insertion marker\"):(this.closestConnection_=b,this.localConnection_=a,this.showPreview_()))}};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.showPreview_=function(){var a=this.closestConnection_,b=this.workspace_.getRenderer();switch(b.getConnectionPreviewMethod(a,this.localConnection_,this.topBlock_)){case module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.PREVIEW_TYPE.INPUT_OUTLINE:this.showInsertionInputOutline_();break;case module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.PREVIEW_TYPE.INSERTION_MARKER:this.showInsertionMarker_();\nbreak;case module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.PREVIEW_TYPE.REPLACEMENT_FADE:this.showReplacementFade_()}a&&b.shouldHighlightConnection(a)&&a.highlight()};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.maybeHidePreview_=function(a){if(a.closest){var b=this.closestConnection_!==a.closest;a=this.localConnection_!==a.local;this.closestConnection_&&this.localConnection_&&(b||a||this.wouldDeleteBlock_)&&this.hidePreview_()}else this.hidePreview_();this.localConnection_=this.closestConnection_=this.markerConnection_=null};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.hidePreview_=function(){this.closestConnection_&&this.closestConnection_.targetBlock()&&this.workspace_.getRenderer().shouldHighlightConnection(this.closestConnection_)&&this.closestConnection_.unhighlight();this.fadedBlock_?this.hideReplacementFade_():this.highlightedBlock_?this.hideInsertionInputOutline_():this.markerConnection_&&this.hideInsertionMarker_()};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.showInsertionMarker_=function(){var a=this.localConnection_,b=this.closestConnection_,c=this.lastOnStack_&&a===this.lastOnStack_?this.lastMarker_:this.firstMarker_;a=c.getMatchingConnection(a.getSourceBlock(),a);if(a===this.markerConnection_)throw Error(\"Made it to showInsertionMarker_ even though the marker isn't changing\");c.render();c.rendered=!0;c.getSvgRoot().setAttribute(\"visibility\",\"visible\");a&&b&&c.positionNearConnection(a,\nb);b&&a.connect(b);this.markerConnection_=a};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.hideInsertionMarker_=function(){if(this.markerConnection_){var a=this.markerConnection_,b=a.getSourceBlock(),c=b.nextConnection,d=b.previousConnection,e=b.outputConnection;e=a.type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE&&!(e&&e.targetConnection);!(a!==c||d&&d.targetConnection)||e?a.targetBlock().unplug(!1):a.type===$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT&&a!==\nc?(c=a.targetConnection,c.getSourceBlock().unplug(!1),d=d?d.targetConnection:null,b.unplug(!0),d&&d.connect(c)):b.unplug(!0);if(a.targetConnection)throw Error(\"markerConnection_ still connected at the end of disconnectInsertionMarker\");this.markerConnection_=null;(a=b.getSvgRoot())&&a.setAttribute(\"visibility\",\"hidden\")}else console.log(\"No insertion marker connection to disconnect\")};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.showInsertionInputOutline_=function(){var a=this.closestConnection_;this.highlightedBlock_=a.getSourceBlock();this.highlightedBlock_.highlightShapeForInput(a,!0)};module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.hideInsertionInputOutline_=function(){this.highlightedBlock_.highlightShapeForInput(this.closestConnection_,!1);this.highlightedBlock_=null};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.showReplacementFade_=function(){this.fadedBlock_=this.closestConnection_.targetBlock();this.fadedBlock_.fadeForReplacement(!0)};module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.hideReplacementFade_=function(){this.fadedBlock_.fadeForReplacement(!1);this.fadedBlock_=null};\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.prototype.getInsertionMarkers=function(){var a=[];this.firstMarker_&&a.push(this.firstMarker_);this.lastMarker_&&a.push(this.lastMarker_);return a};var module$exports$Blockly$Events$UiBase={UiBase:function(a){module$exports$Blockly$Events$UiBase.UiBase.superClass_.constructor.call(this);this.isBlank=\"undefined\"===typeof a;this.workspaceId=a?a:\"\";this.recordUndo=!1}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$UiBase.UiBase,module$exports$Blockly$Events$Abstract);module$exports$Blockly$Events$UiBase.UiBase.prototype.isUiEvent=!0;var module$exports$Blockly$Events$BlockDrag={BlockDrag:function(a,b,c){module$exports$Blockly$Events$BlockDrag.BlockDrag.superClass_.constructor.call(this,a?a.workspace.id:void 0);this.blockId=a?a.id:null;this.isStart=b;this.blocks=c}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$BlockDrag.BlockDrag,module$exports$Blockly$Events$UiBase.UiBase);module$exports$Blockly$Events$BlockDrag.BlockDrag.prototype.type=module$exports$Blockly$Events$utils.BLOCK_DRAG;\nmodule$exports$Blockly$Events$BlockDrag.BlockDrag.prototype.toJson=function(){var a=module$exports$Blockly$Events$BlockDrag.BlockDrag.superClass_.toJson.call(this);a.isStart=this.isStart;a.blockId=this.blockId;a.blocks=this.blocks;return a};module$exports$Blockly$Events$BlockDrag.BlockDrag.prototype.fromJson=function(a){module$exports$Blockly$Events$BlockDrag.BlockDrag.superClass_.fromJson.call(this,a);this.isStart=a.isStart;this.blockId=a.blockId;this.blocks=a.blocks};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.BLOCK_DRAG,module$exports$Blockly$Events$BlockDrag.BlockDrag);var module$exports$Blockly$BlockDragger={BlockDragger:function(a,b){this.draggingBlock_=a;this.workspace_=b;this.draggedConnectionManager_=new module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager(this.draggingBlock_);this.dragTarget_=null;this.wouldDeleteBlock_=!1;this.startXY_=this.draggingBlock_.getRelativeToSurfaceXY();this.dragIconData_=module$contents$Blockly$BlockDragger_initIconData(a)}};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.dispose=function(){this.dragIconData_.length=0;this.draggedConnectionManager_&&this.draggedConnectionManager_.dispose()};var module$contents$Blockly$BlockDragger_initIconData=function(a){var b=[];a=a.getDescendants(!1);for(var c=0,d;d=a[c];c++){d=d.getIcons();for(var e=0;e<d.length;e++){var f={location:d[e].getIconLocation(),icon:d[e]};b.push(f)}}return b};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.startDrag=function(a,b){(0,module$exports$Blockly$Events$utils.getGroup)()||(0,module$exports$Blockly$Events$utils.setGroup)(!0);this.fireDragStartEvent_();this.workspace_.isMutator&&this.draggingBlock_.bringToFront();(0,module$exports$Blockly$utils$dom.startTextWidthCache)();this.workspace_.setResizesEnabled(!1);(0,module$exports$Blockly$blockAnimations.disconnectUiStop)();this.shouldDisconnect_(b)&&this.disconnectBlock_(b,a);this.draggingBlock_.setDragging(!0);\nthis.draggingBlock_.moveToDragSurface()};module$exports$Blockly$BlockDragger.BlockDragger.prototype.shouldDisconnect_=function(a){return!!(this.draggingBlock_.getParent()||a&&this.draggingBlock_.nextConnection&&this.draggingBlock_.nextConnection.targetBlock())};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.disconnectBlock_=function(a,b){this.draggingBlock_.unplug(a);a=this.pixelsToWorkspaceUnits_(b);a=module$exports$Blockly$utils$Coordinate.Coordinate.sum(this.startXY_,a);this.draggingBlock_.translate(a.x,a.y);(0,module$exports$Blockly$blockAnimations.disconnectUiEffect)(this.draggingBlock_);this.draggedConnectionManager_.updateAvailableConnections()};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.fireDragStartEvent_=function(){var a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.BLOCK_DRAG))(this.draggingBlock_,!0,this.draggingBlock_.getDescendants(!1));(0,module$exports$Blockly$Events$utils.fire)(a)};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.drag=function(a,b){b=this.pixelsToWorkspaceUnits_(b);var c=module$exports$Blockly$utils$Coordinate.Coordinate.sum(this.startXY_,b);this.draggingBlock_.moveDuringDrag(c);this.dragIcons_(b);c=this.dragTarget_;this.dragTarget_=this.workspace_.getDragTarget(a);this.draggedConnectionManager_.update(b,this.dragTarget_);a=this.wouldDeleteBlock_;this.wouldDeleteBlock_=this.draggedConnectionManager_.wouldDeleteBlock();a!==this.wouldDeleteBlock_&&this.updateCursorDuringBlockDrag_();\nthis.dragTarget_!==c&&(c&&c.onDragExit(this.draggingBlock_),this.dragTarget_&&this.dragTarget_.onDragEnter(this.draggingBlock_));this.dragTarget_&&this.dragTarget_.onDragOver(this.draggingBlock_)};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.endDrag=function(a,b){this.drag(a,b);this.dragIconData_=[];this.fireDragEndEvent_();(0,module$exports$Blockly$utils$dom.stopTextWidthCache)();(0,module$exports$Blockly$blockAnimations.disconnectUiStop)();if(this.dragTarget_&&this.dragTarget_.shouldPreventMove(this.draggingBlock_))a=this.startXY_;else{a=this.getNewLocationAfterDrag_(b);var c=a.delta;a=a.newLocation}this.draggingBlock_.moveOffDragSurface(a);if(this.dragTarget_)this.dragTarget_.onDrop(this.draggingBlock_);\nthis.maybeDeleteBlock_()||(this.draggingBlock_.setDragging(!1),c?this.updateBlockAfterMove_(c):(0,module$exports$Blockly$bumpObjects.bumpIntoBounds)(this.draggingBlock_.workspace,this.workspace_.getMetricsManager().getScrollMetrics(!0),this.draggingBlock_));this.workspace_.setResizesEnabled(!0);(0,module$exports$Blockly$Events$utils.setGroup)(!1)};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.getNewLocationAfterDrag_=function(a){var b={};b.delta=this.pixelsToWorkspaceUnits_(a);b.newLocation=module$exports$Blockly$utils$Coordinate.Coordinate.sum(this.startXY_,b.delta);return b};module$exports$Blockly$BlockDragger.BlockDragger.prototype.maybeDeleteBlock_=function(){return this.wouldDeleteBlock_?(this.fireMoveEvent_(),this.draggingBlock_.dispose(!1,!0),$.module$exports$Blockly$common.draggingConnections.length=0,!0):!1};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.updateBlockAfterMove_=function(a){this.draggingBlock_.moveConnections(a.x,a.y);this.fireMoveEvent_();this.draggedConnectionManager_.wouldConnectBlock()?this.draggedConnectionManager_.applyConnections():this.draggingBlock_.render();this.draggingBlock_.scheduleSnapAndBump()};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.fireDragEndEvent_=function(){var a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.BLOCK_DRAG))(this.draggingBlock_,!1,this.draggingBlock_.getDescendants(!1));(0,module$exports$Blockly$Events$utils.fire)(a)};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.updateToolboxStyle_=function(a){var b=this.workspace_.getToolbox();if(b){var c=this.draggingBlock_.isDeletable()?\"blocklyToolboxDelete\":\"blocklyToolboxGrab\";a&&\"function\"===typeof b.removeStyle?b.removeStyle(c):a||\"function\"!==typeof b.addStyle||b.addStyle(c)}};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.fireMoveEvent_=function(){var a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.MOVE))(this.draggingBlock_);a.oldCoordinate=this.startXY_;a.recordNew();(0,module$exports$Blockly$Events$utils.fire)(a)};module$exports$Blockly$BlockDragger.BlockDragger.prototype.updateCursorDuringBlockDrag_=function(){this.draggingBlock_.setDeleteStyle(this.wouldDeleteBlock_)};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.pixelsToWorkspaceUnits_=function(a){a=new module$exports$Blockly$utils$Coordinate.Coordinate(a.x/this.workspace_.scale,a.y/this.workspace_.scale);this.workspace_.isMutator&&a.scale(1/this.workspace_.options.parentWorkspace.scale);return a};\nmodule$exports$Blockly$BlockDragger.BlockDragger.prototype.dragIcons_=function(a){for(var b=0;b<this.dragIconData_.length;b++){var c=this.dragIconData_[b];c.icon.setIconLocation(module$exports$Blockly$utils$Coordinate.Coordinate.sum(c.location,a))}};module$exports$Blockly$BlockDragger.BlockDragger.prototype.getInsertionMarkers=function(){return this.draggedConnectionManager_&&this.draggedConnectionManager_.getInsertionMarkers?this.draggedConnectionManager_.getInsertionMarkers():[]};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.BLOCK_DRAGGER,module$exports$Blockly$registry.DEFAULT,module$exports$Blockly$BlockDragger.BlockDragger);var module$exports$Blockly$Events$Click={Click:function(a,b,c){module$exports$Blockly$Events$Click.Click.superClass_.constructor.call(this,a?a.workspace.id:b);this.blockId=a?a.id:null;this.targetType=c}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$Click.Click,module$exports$Blockly$Events$UiBase.UiBase);module$exports$Blockly$Events$Click.Click.prototype.type=module$exports$Blockly$Events$utils.CLICK;\nmodule$exports$Blockly$Events$Click.Click.prototype.toJson=function(){var a=module$exports$Blockly$Events$Click.Click.superClass_.toJson.call(this);a.targetType=this.targetType;this.blockId&&(a.blockId=this.blockId);return a};module$exports$Blockly$Events$Click.Click.prototype.fromJson=function(a){module$exports$Blockly$Events$Click.Click.superClass_.fromJson.call(this,a);this.targetType=a.targetType;this.blockId=a.blockId};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.CLICK,module$exports$Blockly$Events$Click.Click);var module$exports$Blockly$Gesture={Gesture:function(a,b){this.mouseDownXY_=null;this.currentDragDeltaXY_=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0);this.startWorkspace_=this.targetBlock_=this.startBlock_=this.startField_=this.startBubble_=null;this.creatorWorkspace_=b;this.isDraggingBubble_=this.isDraggingBlock_=this.isDraggingWorkspace_=this.hasExceededDragRadius_=!1;this.mostRecentEvent_=a;this.flyout_=this.workspaceDragger_=this.blockDragger_=this.bubbleDragger_=this.onUpWrapper_=\nthis.onMoveWrapper_=null;this.isEnding_=this.hasStarted_=this.calledUpdateIsDragging_=!1;this.healStack_=!$.module$exports$Blockly$internalConstants.DRAG_STACK}};\nmodule$exports$Blockly$Gesture.Gesture.prototype.dispose=function(){(0,module$exports$Blockly$Touch.clearTouchIdentifier)();(0,module$exports$Blockly$Tooltip.unblock)();this.creatorWorkspace_.clearGesture();this.onMoveWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.onMoveWrapper_);this.onUpWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.onUpWrapper_);this.blockDragger_&&this.blockDragger_.dispose();this.workspaceDragger_&&this.workspaceDragger_.dispose();this.bubbleDragger_&&\nthis.bubbleDragger_.dispose()};module$exports$Blockly$Gesture.Gesture.prototype.updateFromEvent_=function(a){var b=new module$exports$Blockly$utils$Coordinate.Coordinate(a.clientX,a.clientY);this.updateDragDelta_(b)&&(this.updateIsDragging_(),(0,module$exports$Blockly$Touch.longStop)());this.mostRecentEvent_=a};\nmodule$exports$Blockly$Gesture.Gesture.prototype.updateDragDelta_=function(a){this.currentDragDeltaXY_=module$exports$Blockly$utils$Coordinate.Coordinate.difference(a,this.mouseDownXY_);return this.hasExceededDragRadius_?!1:this.hasExceededDragRadius_=module$exports$Blockly$utils$Coordinate.Coordinate.magnitude(this.currentDragDeltaXY_)>(this.flyout_?$.module$exports$Blockly$internalConstants.FLYOUT_DRAG_RADIUS:$.module$exports$Blockly$internalConstants.DRAG_RADIUS)};\nmodule$exports$Blockly$Gesture.Gesture.prototype.updateIsDraggingFromFlyout_=function(){return this.targetBlock_&&this.flyout_.isBlockCreatable_(this.targetBlock_)?!this.flyout_.isScrollable()||this.flyout_.isDragTowardWorkspace(this.currentDragDeltaXY_)?(this.startWorkspace_=this.flyout_.targetWorkspace,this.startWorkspace_.updateScreenCalculationsIfScrolled(),(0,module$exports$Blockly$Events$utils.getGroup)()||(0,module$exports$Blockly$Events$utils.setGroup)(!0),this.startBlock_=null,this.targetBlock_=\nthis.flyout_.createBlock(this.targetBlock_),this.targetBlock_.select(),!0):!1:!1};module$exports$Blockly$Gesture.Gesture.prototype.updateIsDraggingBubble_=function(){if(!this.startBubble_)return!1;this.isDraggingBubble_=!0;this.startDraggingBubble_();return!0};\nmodule$exports$Blockly$Gesture.Gesture.prototype.updateIsDraggingBlock_=function(){if(!this.targetBlock_)return!1;this.flyout_?this.isDraggingBlock_=this.updateIsDraggingFromFlyout_():this.targetBlock_.isMovable()&&(this.isDraggingBlock_=!0);return this.isDraggingBlock_?(this.startDraggingBlock_(),!0):!1};\nmodule$exports$Blockly$Gesture.Gesture.prototype.updateIsDraggingWorkspace_=function(){if(this.flyout_?this.flyout_.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())this.workspaceDragger_=new module$exports$Blockly$WorkspaceDragger.WorkspaceDragger(this.startWorkspace_),this.isDraggingWorkspace_=!0,this.workspaceDragger_.startDrag()};\nmodule$exports$Blockly$Gesture.Gesture.prototype.updateIsDragging_=function(){if(this.calledUpdateIsDragging_)throw Error(\"updateIsDragging_ should only be called once per gesture.\");this.calledUpdateIsDragging_=!0;this.updateIsDraggingBubble_()||this.updateIsDraggingBlock_()||this.updateIsDraggingWorkspace_()};\nmodule$exports$Blockly$Gesture.Gesture.prototype.startDraggingBlock_=function(){this.blockDragger_=new ((0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.BLOCK_DRAGGER,this.creatorWorkspace_.options,!0))(this.targetBlock_,this.startWorkspace_);this.blockDragger_.startDrag(this.currentDragDeltaXY_,this.healStack_);this.blockDragger_.drag(this.mostRecentEvent_,this.currentDragDeltaXY_)};\nmodule$exports$Blockly$Gesture.Gesture.prototype.startDraggingBubble_=function(){this.bubbleDragger_=new module$exports$Blockly$BubbleDragger.BubbleDragger(this.startBubble_,this.startWorkspace_);this.bubbleDragger_.startBubbleDrag();this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_)};\nmodule$exports$Blockly$Gesture.Gesture.prototype.doStart=function(a){(0,module$exports$Blockly$browserEvents.isTargetInput)(a)?this.cancel():(this.hasStarted_=!0,(0,module$exports$Blockly$blockAnimations.disconnectUiStop)(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),this.startWorkspace_.hideChaff(!!this.flyout_),this.startWorkspace_.markFocused(),this.mostRecentEvent_=a,(0,module$exports$Blockly$Tooltip.block)(),this.targetBlock_&&\nthis.targetBlock_.select(),(0,module$exports$Blockly$browserEvents.isRightButton)(a)?this.handleRightClick(a):(\"touchstart\"!==a.type.toLowerCase()&&\"pointerdown\"!==a.type.toLowerCase()||\"mouse\"===a.pointerType||(0,module$exports$Blockly$Touch.longStart)(a,this),this.mouseDownXY_=new module$exports$Blockly$utils$Coordinate.Coordinate(a.clientX,a.clientY),this.healStack_=a.altKey||a.ctrlKey||a.metaKey,this.bindMouseEvents(a)))};\nmodule$exports$Blockly$Gesture.Gesture.prototype.bindMouseEvents=function(a){this.onMoveWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mousemove\",null,this.handleMove.bind(this));this.onUpWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mouseup\",null,this.handleUp.bind(this));a.preventDefault();a.stopPropagation()};\nmodule$exports$Blockly$Gesture.Gesture.prototype.handleMove=function(a){this.updateFromEvent_(a);this.isDraggingWorkspace_?this.workspaceDragger_.drag(this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.drag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBubble_&&this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_);a.preventDefault();a.stopPropagation()};\nmodule$exports$Blockly$Gesture.Gesture.prototype.handleUp=function(a){this.updateFromEvent_(a);(0,module$exports$Blockly$Touch.longStop)();this.isEnding_?console.log(\"Trying to end a gesture recursively.\"):(this.isEnding_=!0,this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(a,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endDrag(a,this.currentDragDeltaXY_):this.isDraggingWorkspace_?this.workspaceDragger_.endDrag(this.currentDragDeltaXY_):this.isBubbleClick_()?this.doBubbleClick_():\nthis.isFieldClick_()?this.doFieldClick_():this.isBlockClick_()?this.doBlockClick_():this.isWorkspaceClick_()&&this.doWorkspaceClick_(a),a.preventDefault(),a.stopPropagation(),this.dispose())};\nmodule$exports$Blockly$Gesture.Gesture.prototype.cancel=function(){this.isEnding_||((0,module$exports$Blockly$Touch.longStop)(),this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingWorkspace_&&this.workspaceDragger_.endDrag(this.currentDragDeltaXY_),this.dispose())};\nmodule$exports$Blockly$Gesture.Gesture.prototype.handleRightClick=function(a){this.targetBlock_?(this.bringBlockToFront_(),this.targetBlock_.workspace.hideChaff(!!this.flyout_),this.targetBlock_.showContextMenu(a)):this.startBubble_?this.startBubble_.showContextMenu(a):this.startWorkspace_&&!this.flyout_&&(this.startWorkspace_.hideChaff(),this.startWorkspace_.showContextMenu(a));a.preventDefault();a.stopPropagation();this.dispose()};\nmodule$exports$Blockly$Gesture.Gesture.prototype.handleWsStart=function(a,b){if(this.hasStarted_)throw Error(\"Tried to call gesture.handleWsStart, but the gesture had already been started.\");this.setStartWorkspace_(b);this.mostRecentEvent_=a;this.doStart(a)};module$exports$Blockly$Gesture.Gesture.prototype.fireWorkspaceClick_=function(a){(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CLICK))(null,a.id,\"workspace\"))};\nmodule$exports$Blockly$Gesture.Gesture.prototype.handleFlyoutStart=function(a,b){if(this.hasStarted_)throw Error(\"Tried to call gesture.handleFlyoutStart, but the gesture had already been started.\");this.setStartFlyout_(b);this.handleWsStart(a,b.getWorkspace())};\nmodule$exports$Blockly$Gesture.Gesture.prototype.handleBlockStart=function(a,b){if(this.hasStarted_)throw Error(\"Tried to call gesture.handleBlockStart, but the gesture had already been started.\");this.setStartBlock(b);this.mostRecentEvent_=a};module$exports$Blockly$Gesture.Gesture.prototype.handleBubbleStart=function(a,b){if(this.hasStarted_)throw Error(\"Tried to call gesture.handleBubbleStart, but the gesture had already been started.\");this.setStartBubble(b);this.mostRecentEvent_=a};\nmodule$exports$Blockly$Gesture.Gesture.prototype.doBubbleClick_=function(){this.startBubble_.setFocus&&this.startBubble_.setFocus();this.startBubble_.select&&this.startBubble_.select()};module$exports$Blockly$Gesture.Gesture.prototype.doFieldClick_=function(){this.startField_.showEditor(this.mostRecentEvent_);this.bringBlockToFront_()};\nmodule$exports$Blockly$Gesture.Gesture.prototype.doBlockClick_=function(){if(this.flyout_&&this.flyout_.autoClose)this.targetBlock_.isEnabled()&&((0,module$exports$Blockly$Events$utils.getGroup)()||(0,module$exports$Blockly$Events$utils.setGroup)(!0),this.flyout_.createBlock(this.targetBlock_).scheduleSnapAndBump());else{var a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CLICK))(this.startBlock_,this.startWorkspace_.id,\"block\");(0,module$exports$Blockly$Events$utils.fire)(a)}this.bringBlockToFront_();\n(0,module$exports$Blockly$Events$utils.setGroup)(!1)};module$exports$Blockly$Gesture.Gesture.prototype.doWorkspaceClick_=function(a){a=this.creatorWorkspace_;(0,$.module$exports$Blockly$common.getSelected)()&&(0,$.module$exports$Blockly$common.getSelected)().unselect();this.fireWorkspaceClick_(this.startWorkspace_||a)};module$exports$Blockly$Gesture.Gesture.prototype.bringBlockToFront_=function(){this.targetBlock_&&!this.flyout_&&this.targetBlock_.bringToFront()};\nmodule$exports$Blockly$Gesture.Gesture.prototype.setStartField=function(a){if(this.hasStarted_)throw Error(\"Tried to call gesture.setStartField, but the gesture had already been started.\");this.startField_||(this.startField_=a)};module$exports$Blockly$Gesture.Gesture.prototype.setStartBubble=function(a){this.startBubble_||(this.startBubble_=a)};\nmodule$exports$Blockly$Gesture.Gesture.prototype.setStartBlock=function(a){this.startBlock_||this.startBubble_||(this.startBlock_=a,a.isInFlyout&&a!==a.getRootBlock()?this.setTargetBlock_(a.getRootBlock()):this.setTargetBlock_(a))};module$exports$Blockly$Gesture.Gesture.prototype.setTargetBlock_=function(a){a.isShadow()?this.setTargetBlock_(a.getParent()):this.targetBlock_=a};\nmodule$exports$Blockly$Gesture.Gesture.prototype.setStartWorkspace_=function(a){this.startWorkspace_||(this.startWorkspace_=a)};module$exports$Blockly$Gesture.Gesture.prototype.setStartFlyout_=function(a){this.flyout_||(this.flyout_=a)};module$exports$Blockly$Gesture.Gesture.prototype.isBubbleClick_=function(){return!!this.startBubble_&&!this.hasExceededDragRadius_};module$exports$Blockly$Gesture.Gesture.prototype.isBlockClick_=function(){return!!this.startBlock_&&!this.hasExceededDragRadius_&&!this.isFieldClick_()};\nmodule$exports$Blockly$Gesture.Gesture.prototype.isFieldClick_=function(){return(this.startField_?this.startField_.isClickable():!1)&&!this.hasExceededDragRadius_&&(!this.flyout_||!this.flyout_.autoClose)};module$exports$Blockly$Gesture.Gesture.prototype.isWorkspaceClick_=function(){return!this.startBlock_&&!this.startBubble_&&!this.startField_&&!this.hasExceededDragRadius_};\nmodule$exports$Blockly$Gesture.Gesture.prototype.isDragging=function(){return this.isDraggingWorkspace_||this.isDraggingBlock_||this.isDraggingBubble_};module$exports$Blockly$Gesture.Gesture.prototype.hasStarted=function(){return this.hasStarted_};module$exports$Blockly$Gesture.Gesture.prototype.getInsertionMarkers=function(){return this.blockDragger_?this.blockDragger_.getInsertionMarkers():[]};\nmodule$exports$Blockly$Gesture.Gesture.prototype.getCurrentDragger=function(){return this.isDraggingBlock_?this.blockDragger_:this.isDraggingWorkspace_?this.workspaceDragger_:this.isDraggingBubble_?this.bubbleDragger_:null};module$exports$Blockly$Gesture.Gesture.inProgress=function(){for(var a=module$exports$Blockly$Workspace.Workspace.getAll(),b=0,c;c=a[b];b++)if(c.currentGesture_)return!0;return!1};var module$exports$Blockly$Field={Field:function(a,b,c){this.value_=this.DEFAULT_VALUE;this.tooltip_=this.validator_=null;this.size_=new module$exports$Blockly$utils$Size.Size(0,0);this.constants_=this.mouseDownWrapper_=this.textContent_=this.textElement_=this.borderRect_=this.fieldGroup_=this.markerSvg_=this.cursorSvg_=null;c&&this.configure_(c);this.setValue(a);b&&this.setValidator(b)}};module$exports$Blockly$Field.Field.prototype.DEFAULT_VALUE=null;\nmodule$exports$Blockly$Field.Field.prototype.name=void 0;module$exports$Blockly$Field.Field.prototype.disposed=!1;module$exports$Blockly$Field.Field.prototype.maxDisplayLength=50;module$exports$Blockly$Field.Field.prototype.sourceBlock_=null;module$exports$Blockly$Field.Field.prototype.isDirty_=!0;module$exports$Blockly$Field.Field.prototype.visible_=!0;module$exports$Blockly$Field.Field.prototype.enabled_=!0;module$exports$Blockly$Field.Field.prototype.clickTarget_=null;\nmodule$exports$Blockly$Field.Field.NBSP=\"\\u00a0\";module$exports$Blockly$Field.Field.prototype.EDITABLE=!0;module$exports$Blockly$Field.Field.prototype.SERIALIZABLE=!1;module$exports$Blockly$Field.Field.prototype.configure_=function(a){var b=a.tooltip;\"string\"===typeof b&&(b=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.tooltip));b&&this.setTooltip(b)};\nmodule$exports$Blockly$Field.Field.prototype.setSourceBlock=function(a){if(this.sourceBlock_)throw Error(\"Field already bound to a block\");this.sourceBlock_=a};module$exports$Blockly$Field.Field.prototype.getConstants=function(){!this.constants_&&this.sourceBlock_&&this.sourceBlock_.workspace&&this.sourceBlock_.workspace.rendered&&(this.constants_=this.sourceBlock_.workspace.getRenderer().getConstants());return this.constants_};module$exports$Blockly$Field.Field.prototype.getSourceBlock=function(){return this.sourceBlock_};\nmodule$exports$Blockly$Field.Field.prototype.init=function(){this.fieldGroup_||(this.fieldGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{},null),this.isVisible()||(this.fieldGroup_.style.display=\"none\"),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.initView(),this.updateEditable(),this.setTooltip(this.tooltip_),this.bindEvents_(),this.initModel())};\nmodule$exports$Blockly$Field.Field.prototype.initView=function(){this.createBorderRect_();this.createTextElement_()};module$exports$Blockly$Field.Field.prototype.initModel=function(){};\nmodule$exports$Blockly$Field.Field.prototype.createBorderRect_=function(){this.borderRect_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{rx:this.getConstants().FIELD_BORDER_RECT_RADIUS,ry:this.getConstants().FIELD_BORDER_RECT_RADIUS,x:0,y:0,height:this.size_.height,width:this.size_.width,\"class\":\"blocklyFieldRect\"},this.fieldGroup_)};\nmodule$exports$Blockly$Field.Field.prototype.createTextElement_=function(){this.textElement_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.TEXT,{\"class\":\"blocklyText\"},this.fieldGroup_);this.getConstants().FIELD_TEXT_BASELINE_CENTER&&this.textElement_.setAttribute(\"dominant-baseline\",\"central\");this.textContent_=document.createTextNode(\"\");this.textElement_.appendChild(this.textContent_)};\nmodule$exports$Blockly$Field.Field.prototype.bindEvents_=function(){(0,module$exports$Blockly$Tooltip.bindMouseEvents)(this.getClickTarget_());this.mouseDownWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(this.getClickTarget_(),\"mousedown\",this,this.onMouseDown_)};module$exports$Blockly$Field.Field.prototype.fromXml=function(a){this.setValue(a.textContent)};module$exports$Blockly$Field.Field.prototype.toXml=function(a){a.textContent=this.getValue();return a};\nmodule$exports$Blockly$Field.Field.prototype.saveState=function(a){a=this.saveLegacyState(module$exports$Blockly$Field.Field);return null!==a?a:this.getValue()};module$exports$Blockly$Field.Field.prototype.loadState=function(a){this.loadLegacyState(module$exports$Blockly$Field.Field,a)||this.setValue(a)};\nmodule$exports$Blockly$Field.Field.prototype.saveLegacyState=function(a){return a.prototype.saveState===this.saveState&&a.prototype.toXml!==this.toXml?(a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\"),a.setAttribute(\"name\",this.name||\"\"),(0,$.module$exports$Blockly$Xml.domToText)(this.toXml(a)).replace(' xmlns=\"https://developers.google.com/blockly/xml\"',\"\")):null};\nmodule$exports$Blockly$Field.Field.prototype.loadLegacyState=function(a,b){return a.prototype.loadState===this.loadState&&a.prototype.fromXml!==this.fromXml?(this.fromXml((0,$.module$exports$Blockly$Xml.textToDom)(b)),!0):!1};\nmodule$exports$Blockly$Field.Field.prototype.dispose=function(){module$exports$Blockly$DropDownDiv.DropDownDiv.hideIfOwner(this);(0,module$exports$Blockly$WidgetDiv.hideIfOwner)(this);(0,module$exports$Blockly$Tooltip.unbindMouseEvents)(this.getClickTarget_());this.mouseDownWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.mouseDownWrapper_);(0,module$exports$Blockly$utils$dom.removeNode)(this.fieldGroup_);this.disposed=!0};\nmodule$exports$Blockly$Field.Field.prototype.updateEditable=function(){var a=this.fieldGroup_;this.EDITABLE&&a&&(this.enabled_&&this.sourceBlock_.isEditable()?((0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyEditableText\"),(0,module$exports$Blockly$utils$dom.removeClass)(a,\"blocklyNonEditableText\"),a.style.cursor=this.CURSOR):((0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyNonEditableText\"),(0,module$exports$Blockly$utils$dom.removeClass)(a,\"blocklyEditableText\"),a.style.cursor=\"\"))};\nmodule$exports$Blockly$Field.Field.prototype.setEnabled=function(a){this.enabled_=a;this.updateEditable()};module$exports$Blockly$Field.Field.prototype.isEnabled=function(){return this.enabled_};module$exports$Blockly$Field.Field.prototype.isClickable=function(){return this.enabled_&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()&&!!this.showEditor_&&\"function\"===typeof this.showEditor_};\nmodule$exports$Blockly$Field.Field.prototype.isCurrentlyEditable=function(){return this.enabled_&&this.EDITABLE&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()};module$exports$Blockly$Field.Field.prototype.isSerializable=function(){var a=!1;this.name&&(this.SERIALIZABLE?a=!0:this.EDITABLE&&(console.warn(\"Detected an editable field that was not serializable. Please define SERIALIZABLE property as true on all editable custom fields. Proceeding with serialization.\"),a=!0));return a};\nmodule$exports$Blockly$Field.Field.prototype.isVisible=function(){return this.visible_};module$exports$Blockly$Field.Field.prototype.setVisible=function(a){if(this.visible_!==a){this.visible_=a;var b=this.getSvgRoot();b&&(b.style.display=a?\"block\":\"none\")}};module$exports$Blockly$Field.Field.prototype.setValidator=function(a){this.validator_=a};module$exports$Blockly$Field.Field.prototype.getValidator=function(){return this.validator_};module$exports$Blockly$Field.Field.prototype.getSvgRoot=function(){return this.fieldGroup_};\nmodule$exports$Blockly$Field.Field.prototype.applyColour=function(){};module$exports$Blockly$Field.Field.prototype.render_=function(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_());this.updateSize_()};module$exports$Blockly$Field.Field.prototype.showEditor=function(a){this.isClickable()&&this.showEditor_(a)};\nmodule$exports$Blockly$Field.Field.prototype.updateSize_=function(a){var b=this.getConstants();a=void 0!==a?a:this.borderRect_?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;var c=2*a,d=b.FIELD_TEXT_HEIGHT,e=0;this.textElement_&&(e=(0,module$exports$Blockly$utils$dom.getFastTextWidth)(this.textElement_,b.FIELD_TEXT_FONTSIZE,b.FIELD_TEXT_FONTWEIGHT,b.FIELD_TEXT_FONTFAMILY),c+=e);this.borderRect_&&(d=Math.max(d,b.FIELD_BORDER_RECT_HEIGHT));this.size_.height=d;this.size_.width=c;this.positionTextElement_(a,\ne);this.positionBorderRect_()};module$exports$Blockly$Field.Field.prototype.positionTextElement_=function(a,b){if(this.textElement_){var c=this.getConstants(),d=this.size_.height/2;this.textElement_.setAttribute(\"x\",this.sourceBlock_.RTL?this.size_.width-b-a:a);this.textElement_.setAttribute(\"y\",c.FIELD_TEXT_BASELINE_CENTER?d:d-c.FIELD_TEXT_HEIGHT/2+c.FIELD_TEXT_BASELINE)}};\nmodule$exports$Blockly$Field.Field.prototype.positionBorderRect_=function(){this.borderRect_&&(this.borderRect_.setAttribute(\"width\",this.size_.width),this.borderRect_.setAttribute(\"height\",this.size_.height),this.borderRect_.setAttribute(\"rx\",this.getConstants().FIELD_BORDER_RECT_RADIUS),this.borderRect_.setAttribute(\"ry\",this.getConstants().FIELD_BORDER_RECT_RADIUS))};\nmodule$exports$Blockly$Field.Field.prototype.getSize=function(){if(!this.isVisible())return new module$exports$Blockly$utils$Size.Size(0,0);this.isDirty_?(this.render_(),this.isDirty_=!1):this.visible_&&0===this.size_.width&&(console.warn(\"Deprecated use of setting size_.width to 0 to rerender a field. Set field.isDirty_ to true instead.\"),this.render_());return this.size_};\nmodule$exports$Blockly$Field.Field.prototype.getScaledBBox=function(){if(this.borderRect_){var a=this.borderRect_.getBoundingClientRect();var b=(0,module$exports$Blockly$utils$style.getPageOffset)(this.borderRect_);var c=a.width;var d=a.height}else d=this.sourceBlock_.getHeightWidth(),a=this.sourceBlock_.workspace.scale,b=this.getAbsoluteXY_(),c=d.width*a,d=d.height*a,module$exports$Blockly$utils$userAgent.GECKO?(b.x+=1.5*a,b.y+=1.5*a):module$exports$Blockly$utils$userAgent.EDGE||module$exports$Blockly$utils$userAgent.IE||\n(b.x-=.5*a,b.y-=.5*a),c+=1*a,d+=1*a;return new module$exports$Blockly$utils$Rect.Rect(b.y,b.y+d,b.x,b.x+c)};module$exports$Blockly$Field.Field.prototype.getDisplayText_=function(){var a=this.getText();if(!a)return module$exports$Blockly$Field.Field.NBSP;a.length>this.maxDisplayLength&&(a=a.substring(0,this.maxDisplayLength-2)+\"\\u2026\");a=a.replace(/\\s/g,module$exports$Blockly$Field.Field.NBSP);this.sourceBlock_&&this.sourceBlock_.RTL&&(a+=\"\\u200f\");return a};\nmodule$exports$Blockly$Field.Field.prototype.getText=function(){if(this.getText_){var a=this.getText_.call(this);if(null!==a)return String(a)}return String(this.getValue())};module$exports$Blockly$Field.Field.prototype.markDirty=function(){this.isDirty_=!0;this.constants_=null};module$exports$Blockly$Field.Field.prototype.forceRerender=function(){this.isDirty_=!0;this.sourceBlock_&&this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours(),this.updateMarkers_())};\nmodule$exports$Blockly$Field.Field.prototype.setValue=function(a){if(null!==a){var b=this.doClassValidation_(a);a=this.processValidation_(a,b);if(!(a instanceof Error)){if(b=this.getValidator())if(b=b.call(this,a),a=this.processValidation_(a,b),a instanceof Error)return;b=this.sourceBlock_;if(!b||!b.disposed){var c=this.getValue();c===a?this.doValueUpdate_(a):(this.doValueUpdate_(a),b&&(0,module$exports$Blockly$Events$utils.isEnabled)()&&(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(b,\n\"field\",this.name||null,c,a)),this.isDirty_&&this.forceRerender())}}}};module$exports$Blockly$Field.Field.prototype.processValidation_=function(a,b){if(null===b)return this.doValueInvalid_(a),this.isDirty_&&this.forceRerender(),Error();void 0!==b&&(a=b);return a};module$exports$Blockly$Field.Field.prototype.getValue=function(){return this.value_};module$exports$Blockly$Field.Field.prototype.doClassValidation_=function(a){return null===a||void 0===a?null:a};\nmodule$exports$Blockly$Field.Field.prototype.doValueUpdate_=function(a){this.value_=a;this.isDirty_=!0};module$exports$Blockly$Field.Field.prototype.doValueInvalid_=function(a){};module$exports$Blockly$Field.Field.prototype.onMouseDown_=function(a){this.sourceBlock_&&this.sourceBlock_.workspace&&(a=this.sourceBlock_.workspace.getGesture(a))&&a.setStartField(this)};\nmodule$exports$Blockly$Field.Field.prototype.setTooltip=function(a){a||\"\"===a||(a=this.sourceBlock_);var b=this.getClickTarget_();b?b.tooltip=a:this.tooltip_=a};module$exports$Blockly$Field.Field.prototype.getTooltip=function(){var a=this.getClickTarget_();return a?(0,module$exports$Blockly$Tooltip.getTooltipOfObject)(a):(0,module$exports$Blockly$Tooltip.getTooltipOfObject)({tooltip:this.tooltip_})};\nmodule$exports$Blockly$Field.Field.prototype.getClickTarget_=function(){return this.clickTarget_||this.getSvgRoot()};module$exports$Blockly$Field.Field.prototype.getAbsoluteXY_=function(){return(0,module$exports$Blockly$utils$style.getPageOffset)(this.getClickTarget_())};module$exports$Blockly$Field.Field.prototype.referencesVariables=function(){return!1};\nmodule$exports$Blockly$Field.Field.prototype.getParentInput=function(){for(var a=null,b=this.sourceBlock_,c=b.inputList,d=0;d<b.inputList.length;d++)for(var e=c[d],f=e.fieldRow,g=0;g<f.length;g++)if(f[g]===this){a=e;break}return a};module$exports$Blockly$Field.Field.prototype.getFlipRtl=function(){return!1};module$exports$Blockly$Field.Field.prototype.isTabNavigable=function(){return!1};module$exports$Blockly$Field.Field.prototype.onShortcut=function(a){return!1};\nmodule$exports$Blockly$Field.Field.prototype.setCursorSvg=function(a){a?(this.fieldGroup_.appendChild(a),this.cursorSvg_=a):this.cursorSvg_=null};module$exports$Blockly$Field.Field.prototype.setMarkerSvg=function(a){a?(this.fieldGroup_.appendChild(a),this.markerSvg_=a):this.markerSvg_=null};\nmodule$exports$Blockly$Field.Field.prototype.updateMarkers_=function(){var a=this.sourceBlock_.workspace;a.keyboardAccessibilityMode&&this.cursorSvg_&&a.getCursor().draw();a.keyboardAccessibilityMode&&this.markerSvg_&&a.getMarker(module$exports$Blockly$MarkerManager.MarkerManager.LOCAL_MARKER).draw()};$.module$exports$Blockly$FieldLabel={FieldLabel:function(a,b,c){this.class_=null;$.module$exports$Blockly$FieldLabel.FieldLabel.superClass_.constructor.call(this,a,null,c);c||(this.class_=b||null)}};(0,$.module$exports$Blockly$utils$object.inherits)($.module$exports$Blockly$FieldLabel.FieldLabel,module$exports$Blockly$Field.Field);$.module$exports$Blockly$FieldLabel.FieldLabel.prototype.DEFAULT_VALUE=\"\";\n$.module$exports$Blockly$FieldLabel.FieldLabel.fromJson=function(a){return new this((0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.text),void 0,a)};$.module$exports$Blockly$FieldLabel.FieldLabel.prototype.EDITABLE=!1;$.module$exports$Blockly$FieldLabel.FieldLabel.prototype.configure_=function(a){$.module$exports$Blockly$FieldLabel.FieldLabel.superClass_.configure_.call(this,a);this.class_=a[\"class\"]};\n$.module$exports$Blockly$FieldLabel.FieldLabel.prototype.initView=function(){this.createTextElement_();this.class_&&(0,module$exports$Blockly$utils$dom.addClass)(this.textElement_,this.class_)};$.module$exports$Blockly$FieldLabel.FieldLabel.prototype.doClassValidation_=function(a){return null===a||void 0===a?null:String(a)};\n$.module$exports$Blockly$FieldLabel.FieldLabel.prototype.setClass=function(a){this.textElement_&&(this.class_&&(0,module$exports$Blockly$utils$dom.removeClass)(this.textElement_,this.class_),a&&(0,module$exports$Blockly$utils$dom.addClass)(this.textElement_,a));this.class_=a};(0,module$exports$Blockly$fieldRegistry.register)(\"field_label\",$.module$exports$Blockly$FieldLabel.FieldLabel);var module$exports$Blockly$blockRendering$Debug={Debug:function(a){this.debugElements_=[];this.svgRoot_=null;this.constants_=a}};module$exports$Blockly$blockRendering$Debug.Debug.config={rowSpacers:!0,elemSpacers:!0,rows:!0,elems:!0,connections:!0,blockBounds:!0,connectedBlockBounds:!0,render:!0};\nmodule$exports$Blockly$blockRendering$Debug.Debug.prototype.clearElems=function(){for(var a=0;a<this.debugElements_.length;a++)(0,module$exports$Blockly$utils$dom.removeNode)(this.debugElements_[a]);this.debugElements_=[]};\nmodule$exports$Blockly$blockRendering$Debug.Debug.prototype.drawSpacerRow=function(a,b,c){if(module$exports$Blockly$blockRendering$Debug.Debug.config.rowSpacers){var d=Math.abs(a.height),e=0>a.height;e&&(b-=d);this.debugElements_.push((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"rowSpacerRect blockRenderDebug\",x:c?-(a.xPos+a.width):a.xPos,y:b,width:a.width,height:d,stroke:e?\"black\":\"blue\",fill:\"blue\",\"fill-opacity\":\"0.5\",\"stroke-width\":\"1px\"},\nthis.svgRoot_))}};\nmodule$exports$Blockly$blockRendering$Debug.Debug.prototype.drawSpacerElem=function(a,b,c){if(module$exports$Blockly$blockRendering$Debug.Debug.config.elemSpacers){b=Math.abs(a.width);var d=0>a.width,e=d?a.xPos-b:a.xPos;c&&(e=-(e+b));this.debugElements_.push((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"elemSpacerRect blockRenderDebug\",x:e,y:a.centerline-a.height/2,width:b,height:a.height,stroke:\"pink\",fill:d?\"black\":\"pink\",\"fill-opacity\":\"0.5\",\n\"stroke-width\":\"1px\"},this.svgRoot_))}};\nmodule$exports$Blockly$blockRendering$Debug.Debug.prototype.drawRenderedElem=function(a,b){if(module$exports$Blockly$blockRendering$Debug.Debug.config.elems){var c=a.xPos;b&&(c=-(c+a.width));b=a.centerline-a.height/2;this.debugElements_.push((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"rowRenderingRect blockRenderDebug\",x:c,y:b,width:a.width,height:a.height,stroke:\"black\",fill:\"none\",\"stroke-width\":\"1px\"},this.svgRoot_));module$exports$Blockly$blockRendering$Types.Types.isField(a)&&\na.field instanceof $.module$exports$Blockly$FieldLabel.FieldLabel&&this.debugElements_.push((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"rowRenderingRect blockRenderDebug\",x:c,y:b+this.constants_.FIELD_TEXT_BASELINE,width:a.width,height:\"0.1px\",stroke:\"red\",fill:\"none\",\"stroke-width\":\"0.5px\"},this.svgRoot_))}module$exports$Blockly$blockRendering$Types.Types.isInput(a)&&module$exports$Blockly$blockRendering$Debug.Debug.config.connections&&\nthis.drawConnection(a.connectionModel)};\nmodule$exports$Blockly$blockRendering$Debug.Debug.prototype.drawConnection=function(a){if(module$exports$Blockly$blockRendering$Debug.Debug.config.connections){if(a.type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE){var b=4;var c=\"magenta\";var d=\"none\"}else a.type===$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE?(b=2,d=c=\"magenta\"):a.type===$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT?(b=4,c=\"goldenrod\",d=\"none\"):a.type===$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT&&\n(b=2,d=c=\"goldenrod\");this.debugElements_.push((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CIRCLE,{\"class\":\"blockRenderDebug\",cx:a.offsetInBlock_.x,cy:a.offsetInBlock_.y,r:b,fill:d,stroke:c},this.svgRoot_))}};\nmodule$exports$Blockly$blockRendering$Debug.Debug.prototype.drawRenderedRow=function(a,b,c){module$exports$Blockly$blockRendering$Debug.Debug.config.rows&&(this.debugElements_.push((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"elemRenderingRect blockRenderDebug\",x:c?-(a.xPos+a.width):a.xPos,y:a.yPos,width:a.width,height:a.height,stroke:\"red\",fill:\"none\",\"stroke-width\":\"1px\"},this.svgRoot_)),module$exports$Blockly$blockRendering$Types.Types.isTopOrBottomRow(a)||\nmodule$exports$Blockly$blockRendering$Debug.Debug.config.connectedBlockBounds&&this.debugElements_.push((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"connectedBlockWidth blockRenderDebug\",x:c?-(a.xPos+a.widthWithConnectedBlocks):a.xPos,y:a.yPos,width:a.widthWithConnectedBlocks,height:a.height,stroke:this.randomColour_,fill:\"none\",\"stroke-width\":\"1px\",\"stroke-dasharray\":\"3,3\"},this.svgRoot_)))};\nmodule$exports$Blockly$blockRendering$Debug.Debug.prototype.drawRowWithElements=function(a,b,c){for(var d=0;d<a.elements.length;d++){var e=a.elements[d];e?module$exports$Blockly$blockRendering$Types.Types.isSpacer(e)?this.drawSpacerElem(e,a.height,c):this.drawRenderedElem(e,c):console.warn(\"A row has an undefined or null element.\",a,e)}this.drawRenderedRow(a,b,c)};\nmodule$exports$Blockly$blockRendering$Debug.Debug.prototype.drawBoundingBox=function(a){if(module$exports$Blockly$blockRendering$Debug.Debug.config.blockBounds){var b=a.RTL?-a.width:0;this.debugElements_.push((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blockBoundingBox blockRenderDebug\",x:b,y:0,width:a.width,height:a.height,stroke:\"black\",fill:\"none\",\"stroke-width\":\"1px\",\"stroke-dasharray\":\"5,5\"},this.svgRoot_));module$exports$Blockly$blockRendering$Debug.Debug.config.connectedBlockBounds&&\n(b=a.RTL?-a.widthWithChildren:0,this.debugElements_.push((0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blockRenderDebug\",x:b,y:0,width:a.widthWithChildren,height:a.height,stroke:\"#DF57BC\",fill:\"none\",\"stroke-width\":\"1px\",\"stroke-dasharray\":\"3,3\"},this.svgRoot_)))}};\nmodule$exports$Blockly$blockRendering$Debug.Debug.prototype.drawDebug=function(a,b){this.clearElems();this.svgRoot_=a.getSvgRoot();this.randomColour_=\"#\"+Math.floor(16777215*Math.random()).toString(16);for(var c=0,d=0;d<b.rows.length;d++){var e=b.rows[d];module$exports$Blockly$blockRendering$Types.Types.isBetweenRowSpacer(e)?this.drawSpacerRow(e,c,b.RTL):this.drawRowWithElements(e,c,b.RTL);c+=e.height}a.previousConnection&&this.drawConnection(a.previousConnection);a.nextConnection&&this.drawConnection(a.nextConnection);\na.outputConnection&&this.drawConnection(a.outputConnection);b.rightSide&&this.drawRenderedElem(b.rightSide,b.RTL);this.drawBoundingBox(b);this.drawRender(a.pathObject.svgPath)};module$exports$Blockly$blockRendering$Debug.Debug.prototype.drawRender=function(a){module$exports$Blockly$blockRendering$Debug.Debug.config.render&&(a.setAttribute(\"filter\",\"url(#\"+this.constants_.debugFilterId+\")\"),setTimeout(function(){a.setAttribute(\"filter\",\"\")},100))};var module$exports$Blockly$blockRendering$Drawer={Drawer:function(a,b){this.block_=a;this.info_=b;this.topLeft_=a.getRelativeToSurfaceXY();this.inlinePath_=this.outlinePath_=\"\";this.constants_=b.getRenderer().getConstants()}};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.draw=function(){this.hideHiddenIcons_();this.drawOutline_();this.drawInternals_();this.block_.pathObject.setPath(this.outlinePath_+\"\\n\"+this.inlinePath_);this.info_.RTL&&this.block_.pathObject.flipRTL();(0,module$exports$Blockly$blockRendering$debug.isDebuggerEnabled)()&&this.block_.renderingDebugger.drawDebug(this.block_,this.info_);this.recordSizeOnBlock_()};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.recordSizeOnBlock_=function(){this.block_.height=this.info_.height;this.block_.width=this.info_.widthWithChildren};module$exports$Blockly$blockRendering$Drawer.Drawer.prototype.hideHiddenIcons_=function(){for(var a=0,b;b=this.info_.hiddenIcons[a];a++)b.icon.iconGroup_.setAttribute(\"display\",\"none\")};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawOutline_=function(){this.drawTop_();for(var a=1;a<this.info_.rows.length-1;a++){var b=this.info_.rows[a];b.hasJaggedEdge?this.drawJaggedEdge_(b):b.hasStatement?this.drawStatementInput_(b):b.hasExternalInput?this.drawValueInput_(b):this.drawRightSideRow_(b)}this.drawBottom_();this.drawLeft_()};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawTop_=function(){var a=this.info_.topRow,b=a.elements;this.positionPreviousConnection_();this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.moveBy)(a.xPos,this.info_.startY);for(var c=0,d;d=b[c];c++)module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(d)?this.outlinePath_+=this.constants_.OUTSIDE_CORNERS.topLeft:module$exports$Blockly$blockRendering$Types.Types.isRightRoundedCorner(d)?this.outlinePath_+=this.constants_.OUTSIDE_CORNERS.topRight:\nmodule$exports$Blockly$blockRendering$Types.Types.isPreviousConnection(d)?this.outlinePath_+=d.shape.pathLeft:module$exports$Blockly$blockRendering$Types.Types.isHat(d)?this.outlinePath_+=this.constants_.START_HAT.path:module$exports$Blockly$blockRendering$Types.Types.isSpacer(d)&&(this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",d.width));this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",a.height)};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawJaggedEdge_=function(a){this.outlinePath_+=this.constants_.JAGGED_TEETH.path+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",a.height-this.constants_.JAGGED_TEETH.height)};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawValueInput_=function(a){var b=a.getLastInput();this.positionExternalValueConnection_(a);var c=\"function\"===typeof b.shape.pathDown?b.shape.pathDown(b.height):b.shape.pathDown;this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",b.xPos+b.width)+c+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",a.height-b.connectionHeight)};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawStatementInput_=function(a){var b=a.getLastInput(),c=b.xPos+b.notchOffset+b.shape.width;b=b.shape.pathRight+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",-(b.notchOffset-this.constants_.INSIDE_CORNERS.width))+this.constants_.INSIDE_CORNERS.pathTop;var d=a.height-2*this.constants_.INSIDE_CORNERS.height;this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",c)+b+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",\nd)+this.constants_.INSIDE_CORNERS.pathBottom+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",a.xPos+a.width);this.positionStatementInputConnection_(a)};module$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawRightSideRow_=function(a){this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",a.yPos+a.height)};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawBottom_=function(){var a=this.info_.bottomRow,b=a.elements;this.positionNextConnection_();for(var c=0,d=\"\",e=b.length-1,f;f=b[e];e--)module$exports$Blockly$blockRendering$Types.Types.isNextConnection(f)?d+=f.shape.pathRight:module$exports$Blockly$blockRendering$Types.Types.isLeftSquareCorner(f)?d+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",a.xPos):module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(f)?\nd+=this.constants_.OUTSIDE_CORNERS.bottomLeft:module$exports$Blockly$blockRendering$Types.Types.isRightRoundedCorner(f)?(d+=this.constants_.OUTSIDE_CORNERS.bottomRight,c=this.constants_.OUTSIDE_CORNERS.rightHeight):module$exports$Blockly$blockRendering$Types.Types.isSpacer(f)&&(d+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",-1*f.width));this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",a.baseline-c);this.outlinePath_+=d};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawLeft_=function(){var a=this.info_.outputConnection;this.positionOutputConnection_();if(a){var b=a.connectionOffsetY+a.height;a=\"function\"===typeof a.shape.pathUp?a.shape.pathUp(a.height):a.shape.pathUp;this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",b)+a}this.outlinePath_+=\"z\"};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawInternals_=function(){for(var a=0,b;b=this.info_.rows[a];a++)for(var c=0,d;d=b.elements[c];c++)module$exports$Blockly$blockRendering$Types.Types.isInlineInput(d)?this.drawInlineInput_(d):(module$exports$Blockly$blockRendering$Types.Types.isIcon(d)||module$exports$Blockly$blockRendering$Types.Types.isField(d))&&this.layoutField_(d)};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.layoutField_=function(a){if(module$exports$Blockly$blockRendering$Types.Types.isField(a))var b=a.field.getSvgRoot();else module$exports$Blockly$blockRendering$Types.Types.isIcon(a)&&(b=a.icon.iconGroup_);var c=a.centerline-a.height/2,d=a.xPos,e=\"\";this.info_.RTL&&(d=-(d+a.width),a.flipRtl&&(d+=a.width,e=\"scale(-1 1)\"));module$exports$Blockly$blockRendering$Types.Types.isIcon(a)?(b.setAttribute(\"display\",\"block\"),b.setAttribute(\"transform\",\n\"translate(\"+d+\",\"+c+\")\"),a.icon.computeIconLocation()):b.setAttribute(\"transform\",\"translate(\"+d+\",\"+c+\")\"+e);this.info_.isInsertionMarker&&b.setAttribute(\"display\",\"none\")};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.drawInlineInput_=function(a){var b=a.width,c=a.height,d=a.connectionOffsetY,e=a.connectionHeight+d;this.inlinePath_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(a.xPos+a.connectionWidth,a.centerline-c/2)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",d)+a.shape.pathDown+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",c-e)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",b-a.connectionWidth)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",\n-c)+\"z\";this.positionInlineInputConnection_(a)};module$exports$Blockly$blockRendering$Drawer.Drawer.prototype.positionInlineInputConnection_=function(a){var b=a.centerline-a.height/2;if(a.connectionModel){var c=a.xPos+a.connectionWidth+a.connectionOffsetX;this.info_.RTL&&(c*=-1);a.connectionModel.setOffsetInBlock(c,b+a.connectionOffsetY)}};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.positionStatementInputConnection_=function(a){var b=a.getLastInput();if(b.connectionModel){var c=a.xPos+a.statementEdge+b.notchOffset;this.info_.RTL&&(c*=-1);b.connectionModel.setOffsetInBlock(c,a.yPos)}};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.positionExternalValueConnection_=function(a){var b=a.getLastInput();if(b.connectionModel){var c=a.xPos+a.width;this.info_.RTL&&(c*=-1);b.connectionModel.setOffsetInBlock(c,a.yPos)}};module$exports$Blockly$blockRendering$Drawer.Drawer.prototype.positionPreviousConnection_=function(){var a=this.info_.topRow;if(a.connection){var b=a.xPos+a.notchOffset;a.connection.connectionModel.setOffsetInBlock(this.info_.RTL?-b:b,0)}};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.positionNextConnection_=function(){var a=this.info_.bottomRow;if(a.connection){var b=a.connection,c=b.xPos;b.connectionModel.setOffsetInBlock(this.info_.RTL?-c:c,a.baseline)}};\nmodule$exports$Blockly$blockRendering$Drawer.Drawer.prototype.positionOutputConnection_=function(){if(this.info_.outputConnection){var a=this.info_.startX+this.info_.outputConnection.connectionOffsetX;this.block_.outputConnection.setOffsetInBlock(this.info_.RTL?-a:a,this.info_.outputConnection.connectionOffsetY)}};var module$exports$Blockly$blockRendering$InputConnection={InputConnection:function(a,b){module$exports$Blockly$blockRendering$InputConnection.InputConnection.superClass_.constructor.call(this,a,b.connection);this.type|=module$exports$Blockly$blockRendering$Types.Types.INPUT;this.input=b;this.align=b.align;(this.connectedBlock=b.connection&&b.connection.targetBlock()?b.connection.targetBlock():null)?(a=this.connectedBlock.getHeightWidth(),this.connectedBlockWidth=a.width,this.connectedBlockHeight=\na.height):this.connectedBlockHeight=this.connectedBlockWidth=0;this.connectionOffsetY=this.connectionOffsetX=0}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$InputConnection.InputConnection,module$exports$Blockly$blockRendering$Connection.Connection);var module$exports$Blockly$blockRendering$ExternalValueInput={ExternalValueInput:function(a,b){module$exports$Blockly$blockRendering$ExternalValueInput.ExternalValueInput.superClass_.constructor.call(this,a,b);this.type|=module$exports$Blockly$blockRendering$Types.Types.EXTERNAL_VALUE_INPUT;this.height=this.connectedBlock?this.connectedBlockHeight-this.constants_.TAB_OFFSET_FROM_TOP-this.constants_.MEDIUM_PADDING:this.shape.height;this.width=this.shape.width+this.constants_.EXTERNAL_VALUE_INPUT_PADDING;\nthis.connectionOffsetY=this.constants_.TAB_OFFSET_FROM_TOP;this.connectionHeight=this.shape.height;this.connectionWidth=this.shape.width}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$ExternalValueInput.ExternalValueInput,module$exports$Blockly$blockRendering$InputConnection.InputConnection);var module$exports$Blockly$blockRendering$Field={Field:function(a,b,c){module$exports$Blockly$blockRendering$Field.Field.superClass_.constructor.call(this,a);this.field=b;this.isEditable=b.EDITABLE;this.flipRtl=b.getFlipRtl();this.type|=module$exports$Blockly$blockRendering$Types.Types.FIELD;a=this.field.getSize();this.height=a.height;this.width=a.width;this.parentInput=c}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$Field.Field,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$blockRendering$Hat={Hat:function(a){module$exports$Blockly$blockRendering$Hat.Hat.superClass_.constructor.call(this,a);this.type|=module$exports$Blockly$blockRendering$Types.Types.HAT;this.height=this.constants_.START_HAT.height;this.width=this.constants_.START_HAT.width;this.ascenderHeight=this.height}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$Hat.Hat,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$blockRendering$IPathObject={IPathObject:function(a,b){}};var module$exports$Blockly$blockRendering$Icon={Icon:function(a,b){module$exports$Blockly$blockRendering$Icon.Icon.superClass_.constructor.call(this,a);this.icon=b;this.isVisible=b.isVisible();this.type|=module$exports$Blockly$blockRendering$Types.Types.ICON;a=b.getCorrectedSize();this.height=a.height;this.width=a.width}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$Icon.Icon,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$blockRendering$InRowSpacer={InRowSpacer:function(a,b){module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer.superClass_.constructor.call(this,a);this.type=this.type|module$exports$Blockly$blockRendering$Types.Types.SPACER|module$exports$Blockly$blockRendering$Types.Types.IN_ROW_SPACER;this.width=b;this.height=this.constants_.SPACER_DEFAULT_HEIGHT}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$blockRendering$InlineInput={InlineInput:function(a,b){module$exports$Blockly$blockRendering$InlineInput.InlineInput.superClass_.constructor.call(this,a,b);this.type|=module$exports$Blockly$blockRendering$Types.Types.INLINE_INPUT;this.connectedBlock?(this.width=this.connectedBlockWidth,this.height=this.connectedBlockHeight):(this.height=this.constants_.EMPTY_INLINE_INPUT_HEIGHT,this.width=this.constants_.EMPTY_INLINE_INPUT_PADDING);this.connectionHeight=this.isDynamicShape?\nthis.shape.height(this.height):this.shape.height;this.connectionWidth=this.isDynamicShape?this.shape.width(this.height):this.shape.width;this.connectedBlock||(this.width+=this.connectionWidth*(this.isDynamicShape?2:1));this.connectionOffsetY=this.isDynamicShape?this.shape.connectionOffsetY(this.connectionHeight):this.constants_.TAB_OFFSET_FROM_TOP;this.connectionOffsetX=this.isDynamicShape?this.shape.connectionOffsetX(this.connectionWidth):0}};\n(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$InlineInput.InlineInput,module$exports$Blockly$blockRendering$InputConnection.InputConnection);var module$exports$Blockly$blockRendering$InputRow={InputRow:function(a){module$exports$Blockly$blockRendering$InputRow.InputRow.superClass_.constructor.call(this,a);this.type|=module$exports$Blockly$blockRendering$Types.Types.INPUT_ROW;this.connectedBlockWidths=0}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$InputRow.InputRow,module$exports$Blockly$blockRendering$Row.Row);\nmodule$exports$Blockly$blockRendering$InputRow.InputRow.prototype.measure=function(){this.width=this.minWidth;this.height=this.minHeight;for(var a=0,b=0;b<this.elements.length;b++){var c=this.elements[b];this.width+=c.width;module$exports$Blockly$blockRendering$Types.Types.isInput(c)&&(module$exports$Blockly$blockRendering$Types.Types.isStatementInput(c)?a+=c.connectedBlockWidth:module$exports$Blockly$blockRendering$Types.Types.isExternalInput(c)&&0!==c.connectedBlockWidth&&(a+=c.connectedBlockWidth-\nc.connectionWidth));module$exports$Blockly$blockRendering$Types.Types.isSpacer(c)||(this.height=Math.max(this.height,c.height))}this.connectedBlockWidths=a;this.widthWithConnectedBlocks=this.width+a};module$exports$Blockly$blockRendering$InputRow.InputRow.prototype.endsWithElemSpacer=function(){return!this.hasExternalInput&&!this.hasStatement};var module$exports$Blockly$blockRendering$JaggedEdge={JaggedEdge:function(a){module$exports$Blockly$blockRendering$JaggedEdge.JaggedEdge.superClass_.constructor.call(this,a);this.type|=module$exports$Blockly$blockRendering$Types.Types.JAGGED_EDGE;this.height=this.constants_.JAGGED_TEETH.height;this.width=this.constants_.JAGGED_TEETH.width}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$JaggedEdge.JaggedEdge,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$ASTNode={ASTNode:function(a,b,c){if(!b)throw Error(\"Cannot create a node without a location.\");this.type_=a;this.isConnection_=module$exports$Blockly$ASTNode.ASTNode.isConnectionType_(a);this.location_=b;this.wsCoordinate_=null;this.processParams_(c||null)}};module$exports$Blockly$ASTNode.ASTNode.types={FIELD:\"field\",BLOCK:\"block\",INPUT:\"input\",OUTPUT:\"output\",NEXT:\"next\",PREVIOUS:\"previous\",STACK:\"stack\",WORKSPACE:\"workspace\"};\nmodule$exports$Blockly$ASTNode.ASTNode.NAVIGATE_ALL_FIELDS=!1;module$exports$Blockly$ASTNode.ASTNode.DEFAULT_OFFSET_Y=-20;module$exports$Blockly$ASTNode.ASTNode.isConnectionType_=function(a){switch(a){case module$exports$Blockly$ASTNode.ASTNode.types.PREVIOUS:case module$exports$Blockly$ASTNode.ASTNode.types.NEXT:case module$exports$Blockly$ASTNode.ASTNode.types.INPUT:case module$exports$Blockly$ASTNode.ASTNode.types.OUTPUT:return!0}return!1};\nmodule$exports$Blockly$ASTNode.ASTNode.createFieldNode=function(a){return a?new module$exports$Blockly$ASTNode.ASTNode(module$exports$Blockly$ASTNode.ASTNode.types.FIELD,a):null};\nmodule$exports$Blockly$ASTNode.ASTNode.createConnectionNode=function(a){if(!a)return null;var b=a.type;return b===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE||b===$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT&&a.getParentInput()?module$exports$Blockly$ASTNode.ASTNode.createInputNode(a.getParentInput()):b===$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT?new module$exports$Blockly$ASTNode.ASTNode(module$exports$Blockly$ASTNode.ASTNode.types.NEXT,\na):b===$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE?new module$exports$Blockly$ASTNode.ASTNode(module$exports$Blockly$ASTNode.ASTNode.types.OUTPUT,a):b===$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT?new module$exports$Blockly$ASTNode.ASTNode(module$exports$Blockly$ASTNode.ASTNode.types.PREVIOUS,a):null};\nmodule$exports$Blockly$ASTNode.ASTNode.createInputNode=function(a){return a&&a.connection?new module$exports$Blockly$ASTNode.ASTNode(module$exports$Blockly$ASTNode.ASTNode.types.INPUT,a.connection):null};module$exports$Blockly$ASTNode.ASTNode.createBlockNode=function(a){return a?new module$exports$Blockly$ASTNode.ASTNode(module$exports$Blockly$ASTNode.ASTNode.types.BLOCK,a):null};\nmodule$exports$Blockly$ASTNode.ASTNode.createStackNode=function(a){return a?new module$exports$Blockly$ASTNode.ASTNode(module$exports$Blockly$ASTNode.ASTNode.types.STACK,a):null};module$exports$Blockly$ASTNode.ASTNode.createWorkspaceNode=function(a,b){return b&&a?new module$exports$Blockly$ASTNode.ASTNode(module$exports$Blockly$ASTNode.ASTNode.types.WORKSPACE,a,{wsCoordinate:b}):null};\nvar module$contents$Blockly$ASTNode_getParentConnection=function(a){var b=a.outputConnection;if(!b||a.previousConnection&&a.previousConnection.isConnected())b=a.previousConnection;return b};module$exports$Blockly$ASTNode.ASTNode.createTopNode=function(a){var b=module$contents$Blockly$ASTNode_getParentConnection(a);return b?module$exports$Blockly$ASTNode.ASTNode.createConnectionNode(b):module$exports$Blockly$ASTNode.ASTNode.createBlockNode(a)};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.processParams_=function(a){a&&a.wsCoordinate&&(this.wsCoordinate_=a.wsCoordinate)};module$exports$Blockly$ASTNode.ASTNode.prototype.getLocation=function(){return this.location_};module$exports$Blockly$ASTNode.ASTNode.prototype.getType=function(){return this.type_};module$exports$Blockly$ASTNode.ASTNode.prototype.getWsCoordinate=function(){return this.wsCoordinate_};module$exports$Blockly$ASTNode.ASTNode.prototype.isConnection=function(){return this.isConnection_};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.findNextForInput_=function(){var a=this.location_.getParentInput(),b=a.getSourceBlock();for(a=b.inputList.indexOf(a)+1;a<b.inputList.length;a++){for(var c=b.inputList[a],d=c.fieldRow,e=0;e<d.length;e++){var f=d[e];if(f.isClickable()||module$exports$Blockly$ASTNode.ASTNode.NAVIGATE_ALL_FIELDS)return module$exports$Blockly$ASTNode.ASTNode.createFieldNode(f)}if(c.connection)return module$exports$Blockly$ASTNode.ASTNode.createInputNode(c)}return null};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.findNextForField_=function(){var a=this.location_,b=a.getParentInput(),c=a.getSourceBlock(),d=c.inputList.indexOf(b);for(a=b.fieldRow.indexOf(a)+1;d<c.inputList.length;d++){b=c.inputList[d];for(var e=b.fieldRow;a<e.length;){if(e[a].isClickable()||module$exports$Blockly$ASTNode.ASTNode.NAVIGATE_ALL_FIELDS)return module$exports$Blockly$ASTNode.ASTNode.createFieldNode(e[a]);a++}a=0;if(b.connection)return module$exports$Blockly$ASTNode.ASTNode.createInputNode(b)}return null};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.findPrevForInput_=function(){for(var a=this.location_.getParentInput(),b=a.getSourceBlock(),c=b.inputList.indexOf(a);0<=c;c--){var d=b.inputList[c];if(d.connection&&d!==a)return module$exports$Blockly$ASTNode.ASTNode.createInputNode(d);d=d.fieldRow;for(var e=d.length-1;0<=e;e--){var f=d[e];if(f.isClickable()||module$exports$Blockly$ASTNode.ASTNode.NAVIGATE_ALL_FIELDS)return module$exports$Blockly$ASTNode.ASTNode.createFieldNode(f)}}return null};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.findPrevForField_=function(){var a=this.location_,b=a.getParentInput(),c=a.getSourceBlock(),d=c.inputList.indexOf(b);for(a=b.fieldRow.indexOf(a)-1;0<=d;d--){var e=c.inputList[d];if(e.connection&&e!==b)return module$exports$Blockly$ASTNode.ASTNode.createInputNode(e);for(e=e.fieldRow;-1<a;){if(e[a].isClickable()||module$exports$Blockly$ASTNode.ASTNode.NAVIGATE_ALL_FIELDS)return module$exports$Blockly$ASTNode.ASTNode.createFieldNode(e[a]);a--}0<=d-1&&\n(a=c.inputList[d-1].fieldRow.length-1)}return null};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.navigateBetweenStacks_=function(a){var b=this.getLocation();b.getSourceBlock&&(b=b.getSourceBlock());if(!b||!b.workspace)return null;var c=b.getRootBlock();b=c.workspace.getTopBlocks(!0);for(var d=0;d<b.length;d++)if(c.id===b[d].id)return a=d+(a?1:-1),-1===a||a===b.length?null:module$exports$Blockly$ASTNode.ASTNode.createStackNode(b[a]);throw Error(\"Couldn't find \"+(a?\"next\":\"previous\")+\" stack?!\");};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.findTopASTNodeForBlock_=function(a){var b=module$contents$Blockly$ASTNode_getParentConnection(a);return b?module$exports$Blockly$ASTNode.ASTNode.createConnectionNode(b):module$exports$Blockly$ASTNode.ASTNode.createBlockNode(a)};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.getOutAstNodeForBlock_=function(a){if(!a)return null;a=a.getTopStackBlock();var b=module$contents$Blockly$ASTNode_getParentConnection(a);return b&&b.targetConnection&&b.targetConnection.getParentInput()?module$exports$Blockly$ASTNode.ASTNode.createInputNode(b.targetConnection.getParentInput()):module$exports$Blockly$ASTNode.ASTNode.createStackNode(a)};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.findFirstFieldOrInput_=function(a){a=a.inputList;for(var b=0;b<a.length;b++){for(var c=a[b],d=c.fieldRow,e=0;e<d.length;e++){var f=d[e];if(f.isClickable()||module$exports$Blockly$ASTNode.ASTNode.NAVIGATE_ALL_FIELDS)return module$exports$Blockly$ASTNode.ASTNode.createFieldNode(f)}if(c.connection)return module$exports$Blockly$ASTNode.ASTNode.createInputNode(c)}return null};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.getSourceBlock=function(){return this.getType()===module$exports$Blockly$ASTNode.ASTNode.types.BLOCK?this.getLocation():this.getType()===module$exports$Blockly$ASTNode.ASTNode.types.STACK?this.getLocation():this.getType()===module$exports$Blockly$ASTNode.ASTNode.types.WORKSPACE?null:this.getLocation().getSourceBlock()};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.next=function(){switch(this.type_){case module$exports$Blockly$ASTNode.ASTNode.types.STACK:return this.navigateBetweenStacks_(!0);case module$exports$Blockly$ASTNode.ASTNode.types.OUTPUT:return module$exports$Blockly$ASTNode.ASTNode.createBlockNode(this.location_.getSourceBlock());case module$exports$Blockly$ASTNode.ASTNode.types.FIELD:return this.findNextForField_();case module$exports$Blockly$ASTNode.ASTNode.types.INPUT:return this.findNextForInput_();\ncase module$exports$Blockly$ASTNode.ASTNode.types.BLOCK:return module$exports$Blockly$ASTNode.ASTNode.createConnectionNode(this.location_.nextConnection);case module$exports$Blockly$ASTNode.ASTNode.types.PREVIOUS:return module$exports$Blockly$ASTNode.ASTNode.createBlockNode(this.location_.getSourceBlock());case module$exports$Blockly$ASTNode.ASTNode.types.NEXT:return module$exports$Blockly$ASTNode.ASTNode.createConnectionNode(this.location_.targetConnection)}return null};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.in=function(){switch(this.type_){case module$exports$Blockly$ASTNode.ASTNode.types.WORKSPACE:var a=this.location_.getTopBlocks(!0);if(0<a.length)return module$exports$Blockly$ASTNode.ASTNode.createStackNode(a[0]);break;case module$exports$Blockly$ASTNode.ASTNode.types.STACK:return this.findTopASTNodeForBlock_(this.location_);case module$exports$Blockly$ASTNode.ASTNode.types.BLOCK:return this.findFirstFieldOrInput_(this.location_);case module$exports$Blockly$ASTNode.ASTNode.types.INPUT:return module$exports$Blockly$ASTNode.ASTNode.createConnectionNode(this.location_.targetConnection)}return null};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.prev=function(){switch(this.type_){case module$exports$Blockly$ASTNode.ASTNode.types.STACK:return this.navigateBetweenStacks_(!1);case module$exports$Blockly$ASTNode.ASTNode.types.FIELD:return this.findPrevForField_();case module$exports$Blockly$ASTNode.ASTNode.types.INPUT:return this.findPrevForInput_();case module$exports$Blockly$ASTNode.ASTNode.types.BLOCK:var a=module$contents$Blockly$ASTNode_getParentConnection(this.location_);return module$exports$Blockly$ASTNode.ASTNode.createConnectionNode(a);\ncase module$exports$Blockly$ASTNode.ASTNode.types.PREVIOUS:if((a=this.location_.targetConnection)&&!a.getParentInput())return module$exports$Blockly$ASTNode.ASTNode.createConnectionNode(a);break;case module$exports$Blockly$ASTNode.ASTNode.types.NEXT:return module$exports$Blockly$ASTNode.ASTNode.createBlockNode(this.location_.getSourceBlock())}return null};\nmodule$exports$Blockly$ASTNode.ASTNode.prototype.out=function(){switch(this.type_){case module$exports$Blockly$ASTNode.ASTNode.types.STACK:var a=this.location_,b=a.getRelativeToSurfaceXY();b=new module$exports$Blockly$utils$Coordinate.Coordinate(b.x,b.y+module$exports$Blockly$ASTNode.ASTNode.DEFAULT_OFFSET_Y);return module$exports$Blockly$ASTNode.ASTNode.createWorkspaceNode(a.workspace,b);case module$exports$Blockly$ASTNode.ASTNode.types.OUTPUT:return a=this.location_,(b=a.targetConnection)?module$exports$Blockly$ASTNode.ASTNode.createConnectionNode(b):\nmodule$exports$Blockly$ASTNode.ASTNode.createStackNode(a.getSourceBlock());case module$exports$Blockly$ASTNode.ASTNode.types.FIELD:return module$exports$Blockly$ASTNode.ASTNode.createBlockNode(this.location_.getSourceBlock());case module$exports$Blockly$ASTNode.ASTNode.types.INPUT:return module$exports$Blockly$ASTNode.ASTNode.createBlockNode(this.location_.getSourceBlock());case module$exports$Blockly$ASTNode.ASTNode.types.BLOCK:return this.getOutAstNodeForBlock_(this.location_);case module$exports$Blockly$ASTNode.ASTNode.types.PREVIOUS:return this.getOutAstNodeForBlock_(this.location_.getSourceBlock());\ncase module$exports$Blockly$ASTNode.ASTNode.types.NEXT:return this.getOutAstNodeForBlock_(this.location_.getSourceBlock())}return null};var module$exports$Blockly$Events$MarkerMove={MarkerMove:function(a,b,c,d){var e=a?a.workspace.id:void 0;d&&d.getType()===module$exports$Blockly$ASTNode.ASTNode.types.WORKSPACE&&(e=d.getLocation().id);module$exports$Blockly$Events$MarkerMove.MarkerMove.superClass_.constructor.call(this,e);this.blockId=a?a.id:null;this.oldNode=c;this.newNode=d;this.isCursor=b}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$MarkerMove.MarkerMove,module$exports$Blockly$Events$UiBase.UiBase);\nmodule$exports$Blockly$Events$MarkerMove.MarkerMove.prototype.type=module$exports$Blockly$Events$utils.MARKER_MOVE;module$exports$Blockly$Events$MarkerMove.MarkerMove.prototype.toJson=function(){var a=module$exports$Blockly$Events$MarkerMove.MarkerMove.superClass_.toJson.call(this);a.isCursor=this.isCursor;a.blockId=this.blockId;a.oldNode=this.oldNode;a.newNode=this.newNode;return a};\nmodule$exports$Blockly$Events$MarkerMove.MarkerMove.prototype.fromJson=function(a){module$exports$Blockly$Events$MarkerMove.MarkerMove.superClass_.fromJson.call(this,a);this.isCursor=a.isCursor;this.blockId=a.blockId;this.oldNode=a.oldNode;this.newNode=a.newNode};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.MARKER_MOVE,module$exports$Blockly$Events$MarkerMove.MarkerMove);var module$exports$Blockly$blockRendering$MarkerSvg={},module$contents$Blockly$blockRendering$MarkerSvg_CURSOR_CLASS=\"blocklyCursor\",module$contents$Blockly$blockRendering$MarkerSvg_MARKER_CLASS=\"blocklyMarker\",module$contents$Blockly$blockRendering$MarkerSvg_HEIGHT_MULTIPLIER=.75;\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg=function(a,b,c){this.workspace_=a;this.marker_=c;this.parent_=null;this.constants_=b;this.currentMarkerSvg=null;a=this.isCursor()?this.constants_.CURSOR_COLOUR:this.constants_.MARKER_COLOUR;this.colour_=c.colour||a};module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.getSvgRoot=function(){return this.svgGroup_};module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.getMarker=function(){return this.marker_};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.isCursor=function(){return\"cursor\"===this.marker_.type};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.createDom=function(){var a=this.isCursor()?module$contents$Blockly$blockRendering$MarkerSvg_CURSOR_CLASS:module$contents$Blockly$blockRendering$MarkerSvg_MARKER_CLASS;this.svgGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":a},null);this.createDomInternal_();return this.svgGroup_};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.setParent_=function(a){this.isCursor()?(this.parent_&&this.parent_.setCursorSvg(null),a.setCursorSvg(this.getSvgRoot())):(this.parent_&&this.parent_.setMarkerSvg(null),a.setMarkerSvg(this.getSvgRoot()));this.parent_=a};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.draw=function(a,b){if(b){this.constants_=this.workspace_.getRenderer().getConstants();var c=this.isCursor()?this.constants_.CURSOR_COLOUR:this.constants_.MARKER_COLOUR;this.colour_=this.marker_.colour||c;this.applyColour_(b);this.showAtLocation_(b);this.fireMarkerEvent_(a,b);a=this.currentMarkerSvg.childNodes[0];void 0!==a&&a.beginElement&&a.beginElement()}else this.hide()};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showAtLocation_=function(a){var b=a.getLocation().type;a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.BLOCK?this.showWithBlock_(a):a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.OUTPUT?this.showWithOutput_(a):b===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE?this.showWithInput_(a):b===$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT?this.showWithNext_(a):a.getType()===\nmodule$exports$Blockly$ASTNode.ASTNode.types.PREVIOUS?this.showWithPrevious_(a):a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.FIELD?this.showWithField_(a):a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.WORKSPACE?this.showWithCoordinates_(a):a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.STACK&&this.showWithStack_(a)};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showWithBlockPrevOutput_=function(a){a=a.getSourceBlock();var b=a.width,c=a.height,d=c*module$contents$Blockly$blockRendering$MarkerSvg_HEIGHT_MULTIPLIER,e=this.constants_.CURSOR_BLOCK_PADDING;a.previousConnection?(c=this.constants_.shapeFor(a.previousConnection),this.positionPrevious_(b,e,d,c)):a.outputConnection?(d=this.constants_.shapeFor(a.outputConnection),this.positionOutput_(b,c,d)):this.positionBlock_(b,e,d);this.setParent_(a);\nthis.showCurrent_()};module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showWithBlock_=function(a){this.showWithBlockPrevOutput_(a)};module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showWithPrevious_=function(a){this.showWithBlockPrevOutput_(a)};module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showWithOutput_=function(a){this.showWithBlockPrevOutput_(a)};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showWithCoordinates_=function(a){var b=a.getWsCoordinate();a=b.x;b=b.y;this.workspace_.RTL&&(a-=this.constants_.CURSOR_WS_WIDTH);this.positionLine_(a,b,this.constants_.CURSOR_WS_WIDTH);this.setParent_(this.workspace_);this.showCurrent_()};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showWithField_=function(a){a=a.getLocation();var b=a.getSize().width,c=a.getSize().height;this.positionRect_(0,0,b,c);this.setParent_(a);this.showCurrent_()};module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showWithInput_=function(a){a=a.getLocation();var b=a.getSourceBlock();this.positionInput_(a);this.setParent_(b);this.showCurrent_()};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showWithNext_=function(a){var b=a.getLocation();a=b.getSourceBlock();var c=0;b=b.getOffsetInBlock().y;var d=a.getHeightWidth().width;this.workspace_.RTL&&(c=-d);this.positionLine_(c,b,d);this.setParent_(a);this.showCurrent_()};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showWithStack_=function(a){a=a.getLocation();var b=a.getHeightWidth(),c=b.width+this.constants_.CURSOR_STACK_PADDING;b=b.height+this.constants_.CURSOR_STACK_PADDING;var d=-this.constants_.CURSOR_STACK_PADDING/2,e=-this.constants_.CURSOR_STACK_PADDING/2,f=d;this.workspace_.RTL&&(f=-(c+d));this.positionRect_(f,e,c,b);this.setParent_(a);this.showCurrent_()};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.showCurrent_=function(){this.hide();this.currentMarkerSvg.style.display=\"\"};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.positionBlock_=function(a,b,c){a=(0,module$exports$Blockly$utils$svgPaths.moveBy)(-b,c)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",-b)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",a+2*b)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",c);this.markerBlock_.setAttribute(\"d\",a);this.workspace_.RTL&&this.flipRtl_(this.markerBlock_);this.currentMarkerSvg=this.markerBlock_};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.positionInput_=function(a){var b=a.getOffsetInBlock().x,c=a.getOffsetInBlock().y;a=(0,module$exports$Blockly$utils$svgPaths.moveTo)(0,0)+this.constants_.shapeFor(a).pathDown;this.markerInput_.setAttribute(\"d\",a);this.markerInput_.setAttribute(\"transform\",\"translate(\"+b+\",\"+c+\")\"+(this.workspace_.RTL?\" scale(-1 1)\":\"\"));this.currentMarkerSvg=this.markerInput_};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.positionLine_=function(a,b,c){this.markerSvgLine_.setAttribute(\"x\",a);this.markerSvgLine_.setAttribute(\"y\",b);this.markerSvgLine_.setAttribute(\"width\",c);this.currentMarkerSvg=this.markerSvgLine_};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.positionOutput_=function(a,b,c){a=(0,module$exports$Blockly$utils$svgPaths.moveBy)(a,0)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",-(a-c.width))+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",this.constants_.TAB_OFFSET_FROM_TOP)+c.pathDown+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",b)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",a);this.markerBlock_.setAttribute(\"d\",a);this.workspace_.RTL&&\nthis.flipRtl_(this.markerBlock_);this.currentMarkerSvg=this.markerBlock_};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.positionPrevious_=function(a,b,c,d){a=(0,module$exports$Blockly$utils$svgPaths.moveBy)(-b,c)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",-b)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",this.constants_.NOTCH_OFFSET_LEFT)+d.pathLeft+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",a+2*b)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",c);this.markerBlock_.setAttribute(\"d\",a);this.workspace_.RTL&&\nthis.flipRtl_(this.markerBlock_);this.currentMarkerSvg=this.markerBlock_};module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.positionRect_=function(a,b,c,d){this.markerSvgRect_.setAttribute(\"x\",a);this.markerSvgRect_.setAttribute(\"y\",b);this.markerSvgRect_.setAttribute(\"width\",c);this.markerSvgRect_.setAttribute(\"height\",d);this.currentMarkerSvg=this.markerSvgRect_};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.flipRtl_=function(a){a.setAttribute(\"transform\",\"scale(-1 1)\")};module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.hide=function(){this.markerSvgLine_.style.display=\"none\";this.markerSvgRect_.style.display=\"none\";this.markerInput_.style.display=\"none\";this.markerBlock_.style.display=\"none\"};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.fireMarkerEvent_=function(a,b){var c=b.getSourceBlock();a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.MARKER_MOVE))(c,this.isCursor(),a,b);(0,module$exports$Blockly$Events$utils.fire)(a)};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.getBlinkProperties_=function(){return{attributeType:\"XML\",attributeName:\"fill\",dur:\"1s\",values:this.colour_+\";transparent;transparent;\",repeatCount:\"indefinite\"}};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.createDomInternal_=function(){this.markerSvg_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{width:this.constants_.CURSOR_WS_WIDTH,height:this.constants_.WS_CURSOR_HEIGHT},this.svgGroup_);this.markerSvgLine_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{width:this.constants_.CURSOR_WS_WIDTH,height:this.constants_.WS_CURSOR_HEIGHT,style:\"display: none\"},\nthis.markerSvg_);this.markerSvgRect_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blocklyVerticalMarker\",rx:10,ry:10,style:\"display: none\"},this.markerSvg_);this.markerInput_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{transform:\"\",style:\"display: none\"},this.markerSvg_);this.markerBlock_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{transform:\"\",\nstyle:\"display: none\",fill:\"none\",\"stroke-width\":this.constants_.CURSOR_STROKE_WIDTH},this.markerSvg_);if(this.isCursor()){var a=this.getBlinkProperties_();(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.ANIMATE,a,this.markerSvgLine_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.ANIMATE,a,this.markerInput_);a.attributeName=\"stroke\";(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.ANIMATE,\na,this.markerBlock_)}return this.markerSvg_};\nmodule$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.applyColour_=function(a){this.markerSvgLine_.setAttribute(\"fill\",this.colour_);this.markerSvgRect_.setAttribute(\"stroke\",this.colour_);this.markerInput_.setAttribute(\"fill\",this.colour_);this.markerBlock_.setAttribute(\"stroke\",this.colour_);this.isCursor()&&(a=this.colour_+\";transparent;transparent;\",this.markerSvgLine_.firstChild.setAttribute(\"values\",a),this.markerInput_.firstChild.setAttribute(\"values\",a),this.markerBlock_.firstChild.setAttribute(\"values\",\na))};module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg.prototype.dispose=function(){this.svgGroup_&&(0,module$exports$Blockly$utils$dom.removeNode)(this.svgGroup_)};var module$exports$Blockly$blockRendering$NextConnection={NextConnection:function(a,b){module$exports$Blockly$blockRendering$NextConnection.NextConnection.superClass_.constructor.call(this,a,b);this.type|=module$exports$Blockly$blockRendering$Types.Types.NEXT_CONNECTION;this.height=this.shape.height;this.width=this.shape.width}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$NextConnection.NextConnection,module$exports$Blockly$blockRendering$Connection.Connection);var module$exports$Blockly$blockRendering$OutputConnection={OutputConnection:function(a,b){module$exports$Blockly$blockRendering$OutputConnection.OutputConnection.superClass_.constructor.call(this,a,b);this.type|=module$exports$Blockly$blockRendering$Types.Types.OUTPUT_CONNECTION;this.height=this.isDynamicShape?0:this.shape.height;this.startX=this.width=this.isDynamicShape?0:this.shape.width;this.connectionOffsetY=this.constants_.TAB_OFFSET_FROM_TOP;this.connectionOffsetX=0}};\n(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$OutputConnection.OutputConnection,module$exports$Blockly$blockRendering$Connection.Connection);var module$exports$Blockly$blockRendering$PathObject={PathObject:function(a,b,c){this.constants=c;this.svgRoot=a;this.svgPath=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyPath\"},this.svgRoot);this.style=b;this.markerSvg=this.cursorSvg=null}};module$exports$Blockly$blockRendering$PathObject.PathObject.prototype.setPath=function(a){this.svgPath.setAttribute(\"d\",a)};\nmodule$exports$Blockly$blockRendering$PathObject.PathObject.prototype.flipRTL=function(){this.svgPath.setAttribute(\"transform\",\"scale(-1 1)\")};module$exports$Blockly$blockRendering$PathObject.PathObject.prototype.setCursorSvg=function(a){a?(this.svgRoot.appendChild(a),this.cursorSvg=a):this.cursorSvg=null};\nmodule$exports$Blockly$blockRendering$PathObject.PathObject.prototype.setMarkerSvg=function(a){a?(this.cursorSvg?this.svgRoot.insertBefore(a,this.cursorSvg):this.svgRoot.appendChild(a),this.markerSvg=a):this.markerSvg=null};\nmodule$exports$Blockly$blockRendering$PathObject.PathObject.prototype.applyColour=function(a){this.svgPath.setAttribute(\"stroke\",this.style.colourTertiary);this.svgPath.setAttribute(\"fill\",this.style.colourPrimary);this.updateShadow_(a.isShadow());this.updateDisabled_(!a.isEnabled()||a.getInheritedDisabled())};module$exports$Blockly$blockRendering$PathObject.PathObject.prototype.setStyle=function(a){this.style=a};\nmodule$exports$Blockly$blockRendering$PathObject.PathObject.prototype.setClass_=function(a,b){b?(0,module$exports$Blockly$utils$dom.addClass)(this.svgRoot,a):(0,module$exports$Blockly$utils$dom.removeClass)(this.svgRoot,a)};module$exports$Blockly$blockRendering$PathObject.PathObject.prototype.updateHighlighted=function(a){a?this.svgPath.setAttribute(\"filter\",\"url(#\"+this.constants.embossFilterId+\")\"):this.svgPath.setAttribute(\"filter\",\"none\")};\nmodule$exports$Blockly$blockRendering$PathObject.PathObject.prototype.updateShadow_=function(a){a&&(this.svgPath.setAttribute(\"stroke\",\"none\"),this.svgPath.setAttribute(\"fill\",this.style.colourSecondary))};module$exports$Blockly$blockRendering$PathObject.PathObject.prototype.updateDisabled_=function(a){this.setClass_(\"blocklyDisabled\",a);a&&this.svgPath.setAttribute(\"fill\",\"url(#\"+this.constants.disabledPatternId+\")\")};\nmodule$exports$Blockly$blockRendering$PathObject.PathObject.prototype.updateSelected=function(a){this.setClass_(\"blocklySelected\",a)};module$exports$Blockly$blockRendering$PathObject.PathObject.prototype.updateDraggingDelete=function(a){this.setClass_(\"blocklyDraggingDelete\",a)};module$exports$Blockly$blockRendering$PathObject.PathObject.prototype.updateInsertionMarker=function(a){this.setClass_(\"blocklyInsertionMarker\",a)};\nmodule$exports$Blockly$blockRendering$PathObject.PathObject.prototype.updateMovable=function(a){this.setClass_(\"blocklyDraggable\",a)};module$exports$Blockly$blockRendering$PathObject.PathObject.prototype.updateReplacementFade=function(a){this.setClass_(\"blocklyReplaceable\",a)};module$exports$Blockly$blockRendering$PathObject.PathObject.prototype.updateShapeForInputHighlight=function(a,b){};var module$exports$Blockly$blockRendering$PreviousConnection={PreviousConnection:function(a,b){module$exports$Blockly$blockRendering$PreviousConnection.PreviousConnection.superClass_.constructor.call(this,a,b);this.type|=module$exports$Blockly$blockRendering$Types.Types.PREVIOUS_CONNECTION;this.height=this.shape.height;this.width=this.shape.width}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$PreviousConnection.PreviousConnection,module$exports$Blockly$blockRendering$Connection.Connection);$.module$exports$Blockly$Input={Align:{LEFT:-1,CENTRE:0,RIGHT:1},Input:function(a,b,c,d){if(a!==$.module$exports$Blockly$inputTypes.inputTypes.DUMMY&&!b)throw Error(\"Value inputs and statement inputs must have non-empty name.\");this.type=a;this.name=b;this.sourceBlock_=c;this.connection=d;this.fieldRow=[]}};$.module$exports$Blockly$Input.Input.prototype.align=$.module$exports$Blockly$Input.Align.LEFT;$.module$exports$Blockly$Input.Input.prototype.visible_=!0;\n$.module$exports$Blockly$Input.Input.prototype.getSourceBlock=function(){return this.sourceBlock_};$.module$exports$Blockly$Input.Input.prototype.appendField=function(a,b){this.insertFieldAt(this.fieldRow.length,a,b);return this};\n$.module$exports$Blockly$Input.Input.prototype.insertFieldAt=function(a,b,c){if(0>a||a>this.fieldRow.length)throw Error(\"index \"+a+\" out of bounds.\");if(!(b||\"\"===b&&c))return a;\"string\"===typeof b&&(b=(0,module$exports$Blockly$fieldRegistry.fromJson)({type:\"field_label\",text:b}));b.setSourceBlock(this.sourceBlock_);this.sourceBlock_.rendered&&(b.init(),b.applyColour());b.name=c;b.setVisible(this.isVisible());b.prefixField&&(a=this.insertFieldAt(a,b.prefixField));this.fieldRow.splice(a,0,b);a++;b.suffixField&&\n(a=this.insertFieldAt(a,b.suffixField));this.sourceBlock_.rendered&&(this.sourceBlock_=this.sourceBlock_,this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours());return a};\n$.module$exports$Blockly$Input.Input.prototype.removeField=function(a,b){for(var c=0,d;d=this.fieldRow[c];c++)if(d.name===a)return d.dispose(),this.fieldRow.splice(c,1),this.sourceBlock_.rendered&&(this.sourceBlock_=this.sourceBlock_,this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours()),!0;if(b)return!1;throw Error('Field \"'+a+'\" not found.');};$.module$exports$Blockly$Input.Input.prototype.isVisible=function(){return this.visible_};\n$.module$exports$Blockly$Input.Input.prototype.setVisible=function(a){var b=[];if(this.visible_===a)return b;this.visible_=a;for(var c=0,d;d=this.fieldRow[c];c++)d.setVisible(a);this.connection&&(this.connection=this.connection,a?b=this.connection.startTrackingAll():this.connection.stopTrackingAll(),c=this.connection.targetBlock())&&(c.getSvgRoot().style.display=a?\"block\":\"none\");return b};$.module$exports$Blockly$Input.Input.prototype.markDirty=function(){for(var a=0,b;b=this.fieldRow[a];a++)b.markDirty()};\n$.module$exports$Blockly$Input.Input.prototype.setCheck=function(a){if(!this.connection)throw Error(\"This input does not have a connection.\");this.connection.setCheck(a);return this};$.module$exports$Blockly$Input.Input.prototype.setAlign=function(a){this.align=a;this.sourceBlock_.rendered&&(this.sourceBlock_=this.sourceBlock_,this.sourceBlock_.render());return this};\n$.module$exports$Blockly$Input.Input.prototype.setShadowDom=function(a){if(!this.connection)throw Error(\"This input does not have a connection.\");this.connection.setShadowDom(a);return this};$.module$exports$Blockly$Input.Input.prototype.getShadowDom=function(){if(!this.connection)throw Error(\"This input does not have a connection.\");return this.connection.getShadowDom()};$.module$exports$Blockly$Input.Input.prototype.init=function(){if(this.sourceBlock_.workspace.rendered)for(var a=0;a<this.fieldRow.length;a++)this.fieldRow[a].init()};\n$.module$exports$Blockly$Input.Input.prototype.dispose=function(){for(var a=0,b;b=this.fieldRow[a];a++)b.dispose();this.connection&&this.connection.dispose();this.sourceBlock_=null};var module$exports$Blockly$blockRendering$RoundCorner={RoundCorner:function(a,b){module$exports$Blockly$blockRendering$RoundCorner.RoundCorner.superClass_.constructor.call(this,a);this.type=(b&&\"left\"!==b?module$exports$Blockly$blockRendering$Types.Types.RIGHT_ROUND_CORNER:module$exports$Blockly$blockRendering$Types.Types.LEFT_ROUND_CORNER)|module$exports$Blockly$blockRendering$Types.Types.CORNER;this.width=this.constants_.CORNER_RADIUS;this.height=this.constants_.CORNER_RADIUS/2}};\n(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$RoundCorner.RoundCorner,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$blockRendering$SpacerRow={SpacerRow:function(a,b,c){module$exports$Blockly$blockRendering$SpacerRow.SpacerRow.superClass_.constructor.call(this,a);this.type=this.type|module$exports$Blockly$blockRendering$Types.Types.SPACER|module$exports$Blockly$blockRendering$Types.Types.BETWEEN_ROW_SPACER;this.width=c;this.height=b;this.followsStatement=!1;this.widthWithConnectedBlocks=0;this.elements=[new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,\nc)]}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$SpacerRow.SpacerRow,module$exports$Blockly$blockRendering$Row.Row);module$exports$Blockly$blockRendering$SpacerRow.SpacerRow.prototype.measure=function(){};var module$exports$Blockly$blockRendering$SquareCorner={SquareCorner:function(a,b){module$exports$Blockly$blockRendering$SquareCorner.SquareCorner.superClass_.constructor.call(this,a);this.type=(b&&\"left\"!==b?module$exports$Blockly$blockRendering$Types.Types.RIGHT_SQUARE_CORNER:module$exports$Blockly$blockRendering$Types.Types.LEFT_SQUARE_CORNER)|module$exports$Blockly$blockRendering$Types.Types.CORNER;this.width=this.height=this.constants_.NO_PADDING}};\n(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$SquareCorner.SquareCorner,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$blockRendering$StatementInput={StatementInput:function(a,b){module$exports$Blockly$blockRendering$StatementInput.StatementInput.superClass_.constructor.call(this,a,b);this.type|=module$exports$Blockly$blockRendering$Types.Types.STATEMENT_INPUT;this.height=this.connectedBlock?this.connectedBlockHeight+this.constants_.STATEMENT_BOTTOM_SPACER:this.constants_.EMPTY_STATEMENT_INPUT_HEIGHT;this.width=this.constants_.STATEMENT_INPUT_NOTCH_OFFSET+this.shape.width}};\n(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$StatementInput.StatementInput,module$exports$Blockly$blockRendering$InputConnection.InputConnection);var module$exports$Blockly$blockRendering$TopRow={TopRow:function(a){module$exports$Blockly$blockRendering$TopRow.TopRow.superClass_.constructor.call(this,a);this.type|=module$exports$Blockly$blockRendering$Types.Types.TOP_ROW;this.ascenderHeight=this.capline=0;this.hasPreviousConnection=!1;this.connection=null}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$TopRow.TopRow,module$exports$Blockly$blockRendering$Row.Row);\nmodule$exports$Blockly$blockRendering$TopRow.TopRow.prototype.hasLeftSquareCorner=function(a){var b=(a.hat?\"cap\"===a.hat:this.constants_.ADD_START_HATS)&&!a.outputConnection&&!a.previousConnection,c=a.getPreviousBlock();return!!a.outputConnection||b||(c?c.getNextBlock()===a:!1)};module$exports$Blockly$blockRendering$TopRow.TopRow.prototype.hasRightSquareCorner=function(a){return!0};\nmodule$exports$Blockly$blockRendering$TopRow.TopRow.prototype.measure=function(){for(var a=0,b=0,c=0,d=0;d<this.elements.length;d++){var e=this.elements[d];b+=e.width;module$exports$Blockly$blockRendering$Types.Types.isSpacer(e)||(module$exports$Blockly$blockRendering$Types.Types.isHat(e)?c=Math.max(c,e.ascenderHeight):a=Math.max(a,e.height))}this.width=Math.max(this.minWidth,b);this.height=Math.max(this.minHeight,a)+c;this.capline=this.ascenderHeight=c;this.widthWithConnectedBlocks=this.width};\nmodule$exports$Blockly$blockRendering$TopRow.TopRow.prototype.startsWithElemSpacer=function(){return!1};module$exports$Blockly$blockRendering$TopRow.TopRow.prototype.endsWithElemSpacer=function(){return!1};var module$exports$Blockly$blockRendering$RenderInfo={RenderInfo:function(a,b){this.block_=b;this.renderer_=a;this.constants_=this.renderer_.getConstants();this.outputConnection=b.outputConnection?new module$exports$Blockly$blockRendering$OutputConnection.OutputConnection(this.constants_,b.outputConnection):null;this.isInline=b.getInputsInline()&&!b.isCollapsed();this.isCollapsed=b.isCollapsed();this.isInsertionMarker=b.isInsertionMarker();this.RTL=b.RTL;this.statementEdge=this.width=this.widthWithChildren=\nthis.height=0;this.rows=[];this.inputRows=[];this.hiddenIcons=[];this.topRow=new module$exports$Blockly$blockRendering$TopRow.TopRow(this.constants_);this.bottomRow=new module$exports$Blockly$blockRendering$BottomRow.BottomRow(this.constants_);this.startY=this.startX=0}};module$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.getRenderer=function(){return this.renderer_};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.measure=function(){this.createRows_();this.addElemSpacing_();this.addRowSpacing_();this.computeBounds_();this.alignRowElements_();this.finalize_()};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.createRows_=function(){this.populateTopRow_();this.rows.push(this.topRow);var a=new module$exports$Blockly$blockRendering$InputRow.InputRow(this.constants_);this.inputRows.push(a);for(var b=this.block_.getIcons(),c=0,d;d=b[c];c++){var e=new module$exports$Blockly$blockRendering$Icon.Icon(this.constants_,d);this.isCollapsed&&d.collapseHidden?this.hiddenIcons.push(e):a.elements.push(e)}d=null;for(b=0;c=this.block_.inputList[b];b++)if(c.isVisible()){this.shouldStartNewRow_(c,\nd)&&(this.rows.push(a),a=new module$exports$Blockly$blockRendering$InputRow.InputRow(this.constants_),this.inputRows.push(a));for(d=0;e=c.fieldRow[d];d++)a.elements.push(new module$exports$Blockly$blockRendering$Field.Field(this.constants_,e,c));this.addInput_(c,a);d=c}this.isCollapsed&&(a.hasJaggedEdge=!0,a.elements.push(new module$exports$Blockly$blockRendering$JaggedEdge.JaggedEdge(this.constants_)));(a.elements.length||a.hasDummyInput)&&this.rows.push(a);this.populateBottomRow_();this.rows.push(this.bottomRow)};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.populateTopRow_=function(){var a=!!this.block_.previousConnection,b=(this.block_.hat?\"cap\"===this.block_.hat:this.constants_.ADD_START_HATS)&&!this.outputConnection&&!a,c=this.topRow.hasLeftSquareCorner(this.block_)?module$exports$Blockly$blockRendering$SquareCorner.SquareCorner:module$exports$Blockly$blockRendering$RoundCorner.RoundCorner;this.topRow.elements.push(new c(this.constants_));b?(a=new module$exports$Blockly$blockRendering$Hat.Hat(this.constants_),\nthis.topRow.elements.push(a),this.topRow.capline=a.ascenderHeight):a&&(this.topRow.hasPreviousConnection=!0,this.topRow.connection=new module$exports$Blockly$blockRendering$PreviousConnection.PreviousConnection(this.constants_,this.block_.previousConnection),this.topRow.elements.push(this.topRow.connection));this.block_.inputList.length&&this.block_.inputList[0].type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT&&!this.block_.isCollapsed()?this.topRow.minHeight=this.constants_.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT:\nthis.topRow.minHeight=this.constants_.TOP_ROW_MIN_HEIGHT;c=this.topRow.hasRightSquareCorner(this.block_)?module$exports$Blockly$blockRendering$SquareCorner.SquareCorner:module$exports$Blockly$blockRendering$RoundCorner.RoundCorner;this.topRow.elements.push(new c(this.constants_,\"right\"))};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.populateBottomRow_=function(){this.bottomRow.hasNextConnection=!!this.block_.nextConnection;this.bottomRow.minHeight=this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1].type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT?this.constants_.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT:this.constants_.BOTTOM_ROW_MIN_HEIGHT;this.bottomRow.hasLeftSquareCorner(this.block_)?this.bottomRow.elements.push(new module$exports$Blockly$blockRendering$SquareCorner.SquareCorner(this.constants_)):\nthis.bottomRow.elements.push(new module$exports$Blockly$blockRendering$RoundCorner.RoundCorner(this.constants_));this.bottomRow.hasNextConnection&&(this.bottomRow.connection=new module$exports$Blockly$blockRendering$NextConnection.NextConnection(this.constants_,this.block_.nextConnection),this.bottomRow.elements.push(this.bottomRow.connection));this.bottomRow.hasRightSquareCorner(this.block_)?this.bottomRow.elements.push(new module$exports$Blockly$blockRendering$SquareCorner.SquareCorner(this.constants_,\n\"right\")):this.bottomRow.elements.push(new module$exports$Blockly$blockRendering$RoundCorner.RoundCorner(this.constants_,\"right\"))};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.addInput_=function(a,b){this.isInline&&a.type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE?(b.elements.push(new module$exports$Blockly$blockRendering$InlineInput.InlineInput(this.constants_,a)),b.hasInlineInput=!0):a.type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT?(b.elements.push(new module$exports$Blockly$blockRendering$StatementInput.StatementInput(this.constants_,a)),b.hasStatement=!0):a.type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE?\n(b.elements.push(new module$exports$Blockly$blockRendering$ExternalValueInput.ExternalValueInput(this.constants_,a)),b.hasExternalInput=!0):a.type===$.module$exports$Blockly$inputTypes.inputTypes.DUMMY&&(b.minHeight=Math.max(b.minHeight,a.getSourceBlock()&&a.getSourceBlock().isShadow()?this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT:this.constants_.DUMMY_INPUT_MIN_HEIGHT),b.hasDummyInput=!0);null===b.align&&(b.align=a.align)};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.shouldStartNewRow_=function(a,b){return b?a.type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT||b.type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT?!0:a.type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE||a.type===$.module$exports$Blockly$inputTypes.inputTypes.DUMMY?!this.isInline:!1:!1};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.addElemSpacing_=function(){for(var a=0,b;b=this.rows[a];a++){var c=b.elements;b.elements=[];b.startsWithElemSpacer()&&b.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,this.getInRowSpacing_(null,c[0])));if(c.length){for(var d=0;d<c.length-1;d++){b.elements.push(c[d]);var e=this.getInRowSpacing_(c[d],c[d+1]);b.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,\ne))}b.elements.push(c[c.length-1]);b.endsWithElemSpacer()&&b.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,this.getInRowSpacing_(c[c.length-1],null)))}}};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.getInRowSpacing_=function(a,b){if(!a&&b&&module$exports$Blockly$blockRendering$Types.Types.isStatementInput(b))return this.constants_.STATEMENT_INPUT_PADDING_LEFT;if(a&&module$exports$Blockly$blockRendering$Types.Types.isInput(a)&&!b){if(module$exports$Blockly$blockRendering$Types.Types.isExternalInput(a))return this.constants_.NO_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(a))return this.constants_.LARGE_PADDING;\nif(module$exports$Blockly$blockRendering$Types.Types.isStatementInput(a))return this.constants_.NO_PADDING}return a&&module$exports$Blockly$blockRendering$Types.Types.isLeftSquareCorner(a)&&b&&(module$exports$Blockly$blockRendering$Types.Types.isPreviousConnection(b)||module$exports$Blockly$blockRendering$Types.Types.isNextConnection(b))?b.notchOffset:a&&module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(a)&&b&&(module$exports$Blockly$blockRendering$Types.Types.isPreviousConnection(b)||\nmodule$exports$Blockly$blockRendering$Types.Types.isNextConnection(b))?b.notchOffset-this.constants_.CORNER_RADIUS:this.constants_.MEDIUM_PADDING};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.computeBounds_=function(){for(var a=0,b=0,c=0,d=0,e;e=this.rows[d];d++){e.measure();b=Math.max(b,e.width);if(e.hasStatement){var f=e.getLastInput();a=Math.max(a,e.width-f.width)}c=Math.max(c,e.widthWithConnectedBlocks)}this.statementEdge=a;this.width=b;for(a=0;d=this.rows[a];a++)d.hasStatement&&(d.statementEdge=this.statementEdge);this.widthWithChildren=Math.max(b,c);this.outputConnection&&(this.startX=this.outputConnection.width,\nthis.width+=this.outputConnection.width,this.widthWithChildren+=this.outputConnection.width)};module$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.alignRowElements_=function(){for(var a=0,b;b=this.rows[a];a++)if(b.hasStatement)this.alignStatementRow_(b);else{var c=b.width;c=this.getDesiredRowWidth_(b)-c;0<c&&this.addAlignmentPadding_(b,c);module$exports$Blockly$blockRendering$Types.Types.isTopOrBottomRow(b)&&(b.widthWithConnectedBlocks=b.width)}};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.getDesiredRowWidth_=function(a){return this.width-this.startX};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.addAlignmentPadding_=function(a,b){var c=a.getFirstSpacer(),d=a.getLastSpacer();if(a.hasExternalInput||a.hasStatement)a.widthWithConnectedBlocks+=b;a.align===$.module$exports$Blockly$Input.Align.LEFT?d.width+=b:a.align===$.module$exports$Blockly$Input.Align.CENTRE?(c.width+=b/2,d.width+=b/2):a.align===$.module$exports$Blockly$Input.Align.RIGHT?c.width+=b:d.width+=b;a.width+=b};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.alignStatementRow_=function(a){var b=a.getLastInput(),c=a.width-b.width,d=this.statementEdge;c=d-c;0<c&&this.addAlignmentPadding_(a,c);c=a.width;d=this.getDesiredRowWidth_(a);b.width+=d-c;b.height=Math.max(b.height,a.height);a.width+=d-c;a.widthWithConnectedBlocks=Math.max(a.width,this.statementEdge+a.connectedBlockWidths)};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.addRowSpacing_=function(){var a=this.rows;this.rows=[];for(var b=0;b<a.length;b++)this.rows.push(a[b]),b!==a.length-1&&this.rows.push(this.makeSpacerRow_(a[b],a[b+1]))};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.makeSpacerRow_=function(a,b){var c=this.getSpacerRowHeight_(a,b),d=this.getSpacerRowWidth_(a,b);c=new module$exports$Blockly$blockRendering$SpacerRow.SpacerRow(this.constants_,c,d);a.hasStatement&&(c.followsStatement=!0);b.hasStatement&&(c.precedesStatement=!0);return c};module$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.getSpacerRowWidth_=function(a,b){return this.width-this.startX};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.getSpacerRowHeight_=function(a,b){return this.constants_.MEDIUM_PADDING};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.getElemCenterline_=function(a,b){return module$exports$Blockly$blockRendering$Types.Types.isSpacer(b)?a.yPos+b.height/2:module$exports$Blockly$blockRendering$Types.Types.isBottomRow(a)?(a=a.yPos+a.height-a.descenderHeight,module$exports$Blockly$blockRendering$Types.Types.isNextConnection(b)?a+b.height/2:a-b.height/2):module$exports$Blockly$blockRendering$Types.Types.isTopRow(a)?module$exports$Blockly$blockRendering$Types.Types.isHat(b)?\na.capline-b.height/2:a.capline+b.height/2:a.yPos+a.height/2};module$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.recordElemPositions_=function(a){for(var b=a.xPos,c=0,d;d=a.elements[c];c++)module$exports$Blockly$blockRendering$Types.Types.isSpacer(d)&&(d.height=a.height),d.xPos=b,d.centerline=this.getElemCenterline_(a,d),b+=d.width};\nmodule$exports$Blockly$blockRendering$RenderInfo.RenderInfo.prototype.finalize_=function(){for(var a=0,b=0,c=0,d;d=this.rows[c];c++)d.yPos=b,d.xPos=this.startX,b+=d.height,a=Math.max(a,d.widthWithConnectedBlocks),this.recordElemPositions_(d);this.outputConnection&&this.block_.nextConnection&&this.block_.nextConnection.isConnected()&&(a=Math.max(a,this.block_.nextConnection.targetBlock().getHeightWidth().width));this.widthWithChildren=a+this.startX;this.height=b;this.startY=this.topRow.capline;this.bottomRow.baseline=\nb-this.bottomRow.descenderHeight};var module$exports$Blockly$blockRendering$Renderer={Renderer:function(a){this.name=a;this.overrides=this.constants_=null}};module$exports$Blockly$blockRendering$Renderer.Renderer.prototype.getClassName=function(){return this.name+\"-renderer\"};module$exports$Blockly$blockRendering$Renderer.Renderer.prototype.init=function(a,b){this.constants_=this.makeConstants_();b&&(this.overrides=b,(0,$.module$exports$Blockly$utils$object.mixin)(this.constants_,b));this.constants_.setTheme(a);this.constants_.init()};\nmodule$exports$Blockly$blockRendering$Renderer.Renderer.prototype.createDom=function(a,b){this.constants_.createDom(a,this.name+\"-\"+b.name,\".\"+this.getClassName()+\".\"+b.getClassName())};\nmodule$exports$Blockly$blockRendering$Renderer.Renderer.prototype.refreshDom=function(a,b){var c=this.getConstants();c.dispose();this.constants_=this.makeConstants_();this.overrides&&(0,$.module$exports$Blockly$utils$object.mixin)(this.constants_,this.overrides);this.constants_.randomIdentifier=c.randomIdentifier;this.constants_.setTheme(b);this.constants_.init();this.createDom(a,b)};module$exports$Blockly$blockRendering$Renderer.Renderer.prototype.dispose=function(){this.constants_&&this.constants_.dispose()};\nmodule$exports$Blockly$blockRendering$Renderer.Renderer.prototype.makeConstants_=function(){return new module$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider};module$exports$Blockly$blockRendering$Renderer.Renderer.prototype.makeRenderInfo_=function(a){return new module$exports$Blockly$blockRendering$RenderInfo.RenderInfo(this,a)};\nmodule$exports$Blockly$blockRendering$Renderer.Renderer.prototype.makeDrawer_=function(a,b){return new module$exports$Blockly$blockRendering$Drawer.Drawer(a,b)};module$exports$Blockly$blockRendering$Renderer.Renderer.prototype.makeDebugger_=function(){var a=module$exports$Blockly$blockRendering$Debug.Debug;if(!a)throw Error(\"Missing require for Blockly.blockRendering.Debug\");return new a(this.getConstants())};\nmodule$exports$Blockly$blockRendering$Renderer.Renderer.prototype.makeMarkerDrawer=function(a,b){return new module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg(a,this.getConstants(),b)};module$exports$Blockly$blockRendering$Renderer.Renderer.prototype.makePathObject=function(a,b){return new module$exports$Blockly$blockRendering$PathObject.PathObject(a,b,this.constants_)};module$exports$Blockly$blockRendering$Renderer.Renderer.prototype.getConstants=function(){return this.constants_};\nmodule$exports$Blockly$blockRendering$Renderer.Renderer.prototype.shouldHighlightConnection=function(a){return!0};module$exports$Blockly$blockRendering$Renderer.Renderer.prototype.orphanCanConnectAtEnd=function(a,b,c){return!!module$exports$Blockly$Connection.Connection.getConnectionForOrphanedConnection(a,c===$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE?b.outputConnection:b.previousConnection)};\nmodule$exports$Blockly$blockRendering$Renderer.Renderer.prototype.getConnectionPreviewMethod=function(a,b,c){return b.type===$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE||b.type===$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT?!a.isConnected()||this.orphanCanConnectAtEnd(c,a.targetBlock(),b.type)?module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.PREVIEW_TYPE.INSERTION_MARKER:module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.PREVIEW_TYPE.REPLACEMENT_FADE:\nmodule$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.PREVIEW_TYPE.INSERTION_MARKER};module$exports$Blockly$blockRendering$Renderer.Renderer.prototype.render=function(a){(0,module$exports$Blockly$blockRendering$debug.isDebuggerEnabled)()&&!a.renderingDebugger&&(a.renderingDebugger=this.makeDebugger_());var b=this.makeRenderInfo_(a);b.measure();this.makeDrawer_(a,b).draw()};var module$exports$Blockly$blockRendering={isDebuggerEnabled:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.blockRendering.isDebuggerEnabled()\",\"September 2021\",\"September 2022\",\"Blockly.blockRendering.debug.isDebuggerEnabled()\");return(0,module$exports$Blockly$blockRendering$debug.isDebuggerEnabled)()},register:function(a,b){(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.RENDERER,a,b)},unregister:function(a){(0,module$exports$Blockly$registry.unregister)(module$exports$Blockly$registry.Type.RENDERER,\na)},startDebugger:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.blockRendering.startDebugger()\",\"September 2021\",\"September 2022\",\"Blockly.blockRendering.debug.startDebugger()\");(0,module$exports$Blockly$blockRendering$debug.startDebugger)()},stopDebugger:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.blockRendering.stopDebugger()\",\"September 2021\",\"September 2022\",\"Blockly.blockRendering.debug.stopDebugger()\");(0,module$exports$Blockly$blockRendering$debug.stopDebugger)()},\ninit:function(a,b,c){a=new ((0,module$exports$Blockly$registry.getClass)(module$exports$Blockly$registry.Type.RENDERER,a))(a);a.init(b,c);return a}};module$exports$Blockly$blockRendering.BottomRow=module$exports$Blockly$blockRendering$BottomRow.BottomRow;module$exports$Blockly$blockRendering.Connection=module$exports$Blockly$blockRendering$Connection.Connection;module$exports$Blockly$blockRendering.ConstantProvider=module$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider;\nmodule$exports$Blockly$blockRendering.Debug=module$exports$Blockly$blockRendering$Debug.Debug;module$exports$Blockly$blockRendering.Drawer=module$exports$Blockly$blockRendering$Drawer.Drawer;module$exports$Blockly$blockRendering.ExternalValueInput=module$exports$Blockly$blockRendering$ExternalValueInput.ExternalValueInput;module$exports$Blockly$blockRendering.Field=module$exports$Blockly$blockRendering$Field.Field;module$exports$Blockly$blockRendering.Hat=module$exports$Blockly$blockRendering$Hat.Hat;\nmodule$exports$Blockly$blockRendering.Icon=module$exports$Blockly$blockRendering$Icon.Icon;module$exports$Blockly$blockRendering.InRowSpacer=module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer;module$exports$Blockly$blockRendering.InlineInput=module$exports$Blockly$blockRendering$InlineInput.InlineInput;module$exports$Blockly$blockRendering.InputConnection=module$exports$Blockly$blockRendering$InputConnection.InputConnection;module$exports$Blockly$blockRendering.InputRow=module$exports$Blockly$blockRendering$InputRow.InputRow;\nmodule$exports$Blockly$blockRendering.IPathObject=module$exports$Blockly$blockRendering$IPathObject.IPathObject;module$exports$Blockly$blockRendering.JaggedEdge=module$exports$Blockly$blockRendering$JaggedEdge.JaggedEdge;module$exports$Blockly$blockRendering.MarkerSvg=module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg;module$exports$Blockly$blockRendering.Measurable=module$exports$Blockly$blockRendering$Measurable.Measurable;module$exports$Blockly$blockRendering.NextConnection=module$exports$Blockly$blockRendering$NextConnection.NextConnection;\nmodule$exports$Blockly$blockRendering.OutputConnection=module$exports$Blockly$blockRendering$OutputConnection.OutputConnection;module$exports$Blockly$blockRendering.PathObject=module$exports$Blockly$blockRendering$PathObject.PathObject;module$exports$Blockly$blockRendering.PreviousConnection=module$exports$Blockly$blockRendering$PreviousConnection.PreviousConnection;module$exports$Blockly$blockRendering.Renderer=module$exports$Blockly$blockRendering$Renderer.Renderer;\nmodule$exports$Blockly$blockRendering.RenderInfo=module$exports$Blockly$blockRendering$RenderInfo.RenderInfo;module$exports$Blockly$blockRendering.RoundCorner=module$exports$Blockly$blockRendering$RoundCorner.RoundCorner;module$exports$Blockly$blockRendering.Row=module$exports$Blockly$blockRendering$Row.Row;module$exports$Blockly$blockRendering.SpacerRow=module$exports$Blockly$blockRendering$SpacerRow.SpacerRow;module$exports$Blockly$blockRendering.SquareCorner=module$exports$Blockly$blockRendering$SquareCorner.SquareCorner;\nmodule$exports$Blockly$blockRendering.StatementInput=module$exports$Blockly$blockRendering$StatementInput.StatementInput;module$exports$Blockly$blockRendering.TopRow=module$exports$Blockly$blockRendering$TopRow.TopRow;module$exports$Blockly$blockRendering.Types=module$exports$Blockly$blockRendering$Types.Types;module$exports$Blockly$blockRendering.debug=module$exports$Blockly$blockRendering$debug;var module$contents$Blockly$Extensions_allExtensions;$.module$exports$Blockly$Extensions={};module$contents$Blockly$Extensions_allExtensions=Object.create(null);$.module$exports$Blockly$Extensions.TEST_ONLY={allExtensions:module$contents$Blockly$Extensions_allExtensions};\n$.module$exports$Blockly$Extensions.register=function(a,b){if(\"string\"!==typeof a||\"\"===a.trim())throw Error('Error: Invalid extension name \"'+a+'\"');if(module$contents$Blockly$Extensions_allExtensions[a])throw Error('Error: Extension \"'+a+'\" is already registered.');if(\"function\"!==typeof b)throw Error('Error: Extension \"'+a+'\" must be a function');module$contents$Blockly$Extensions_allExtensions[a]=b};\n$.module$exports$Blockly$Extensions.registerMixin=function(a,b){if(!b||\"object\"!==typeof b)throw Error('Error: Mixin \"'+a+'\" must be a object');(0,$.module$exports$Blockly$Extensions.register)(a,function(){this.mixin(b)})};\n$.module$exports$Blockly$Extensions.registerMutator=function(a,b,c,d){var e='Error when registering mutator \"'+a+'\": ';module$contents$Blockly$Extensions_checkHasMutatorProperties(e,b);var f=module$contents$Blockly$Extensions_checkMutatorDialog(b,e);if(c&&\"function\"!==typeof c)throw Error(e+'Extension \"'+a+'\" is not a function');(0,$.module$exports$Blockly$Extensions.register)(a,function(){if(f){var g=$.module$exports$Blockly$Mutator.Mutator;if(!g)throw Error(e+\"Missing require for Blockly.Mutator\");\nthis.setMutator(new g(d||[]))}this.mixin(b);c&&c.apply(this)})};$.module$exports$Blockly$Extensions.unregister=function(a){(0,$.module$exports$Blockly$Extensions.isRegistered)(a)?delete module$contents$Blockly$Extensions_allExtensions[a]:console.warn('No extension mapping for name \"'+a+'\" found to unregister')};$.module$exports$Blockly$Extensions.isRegistered=function(a){return!!module$contents$Blockly$Extensions_allExtensions[a]};\n$.module$exports$Blockly$Extensions.apply=function(a,b,c){var d=module$contents$Blockly$Extensions_allExtensions[a];if(\"function\"!==typeof d)throw Error('Error: Extension \"'+a+'\" not found.');var e;c?module$contents$Blockly$Extensions_checkNoMutatorProperties(a,b):e=module$contents$Blockly$Extensions_getMutatorProperties(b);d.apply(b);if(c)module$contents$Blockly$Extensions_checkHasMutatorProperties('Error after applying mutator \"'+a+'\": ',b);else if(!module$contents$Blockly$Extensions_mutatorPropertiesMatch(e,\nb))throw Error('Error when applying extension \"'+a+'\": mutation properties changed when applying a non-mutator extension.');};\nvar module$contents$Blockly$Extensions_checkNoMutatorProperties=function(a,b){if(module$contents$Blockly$Extensions_getMutatorProperties(b).length)throw Error('Error: tried to apply mutation \"'+a+'\" to a block that already has mutator functions. Block id: '+b.id);},module$contents$Blockly$Extensions_checkXmlHooks=function(a,b){return module$contents$Blockly$Extensions_checkHasFunctionPair(a.mutationToDom,a.domToMutation,b+\" mutationToDom/domToMutation\")},module$contents$Blockly$Extensions_checkJsonHooks=\nfunction(a,b){return module$contents$Blockly$Extensions_checkHasFunctionPair(a.saveExtraState,a.loadExtraState,b+\" saveExtraState/loadExtraState\")},module$contents$Blockly$Extensions_checkMutatorDialog=function(a,b){return module$contents$Blockly$Extensions_checkHasFunctionPair(a.compose,a.decompose,b+\" compose/decompose\")},module$contents$Blockly$Extensions_checkHasFunctionPair=function(a,b,c){if(a&&b){if(\"function\"!==typeof a||\"function\"!==typeof b)throw Error(c+\" must be a function\");return!0}if(!a&&\n!b)return!1;throw Error(c+\"Must have both or neither functions\");},module$contents$Blockly$Extensions_checkHasMutatorProperties=function(a,b){var c=module$contents$Blockly$Extensions_checkXmlHooks(b,a),d=module$contents$Blockly$Extensions_checkJsonHooks(b,a);if(!c&&!d)throw Error(a+\"Mutations must contain either XML hooks, or JSON hooks, or both\");module$contents$Blockly$Extensions_checkMutatorDialog(b,a)},module$contents$Blockly$Extensions_getMutatorProperties=function(a){var b=[];void 0!==a.domToMutation&&\nb.push(a.domToMutation);void 0!==a.mutationToDom&&b.push(a.mutationToDom);void 0!==a.saveExtraState&&b.push(a.saveExtraState);void 0!==a.loadExtraState&&b.push(a.loadExtraState);void 0!==a.compose&&b.push(a.compose);void 0!==a.decompose&&b.push(a.decompose);return b},module$contents$Blockly$Extensions_mutatorPropertiesMatch=function(a,b){b=module$contents$Blockly$Extensions_getMutatorProperties(b);if(b.length!==a.length)return!1;for(var c=0;c<b.length;c++)if(a[c]!==b[c])return!1;return!0};\n$.module$exports$Blockly$Extensions.runAfterPageLoad=function(a){if(\"object\"!==typeof document)throw Error(\"runAfterPageLoad() requires browser document.\");if(\"complete\"===document.readyState)a();else var b=setInterval(function(){\"complete\"===document.readyState&&(clearInterval(b),a())},10)};\n$.module$exports$Blockly$Extensions.buildTooltipForDropdown=function(a,b){var c=[];\"object\"===typeof document&&(0,$.module$exports$Blockly$Extensions.runAfterPageLoad)(function(){for(var d in b)(0,module$exports$Blockly$utils$parsing.checkMessageReferences)(b[d])});return function(){this.type&&-1===c.indexOf(this.type)&&(module$contents$Blockly$Extensions_checkDropdownOptionsInTable(this,a,b),c.push(this.type));this.setTooltip(function(){var d=String(this.getFieldValue(a)),e=b[d];null===e?-1===c.indexOf(this.type)&&\n(d=\"No tooltip mapping for value \"+d+\" of field \"+a,null!==this.type&&(d+=\" of block type \"+this.type),console.warn(d+\".\")):e=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(e);return e}.bind(this))}};\nvar module$contents$Blockly$Extensions_checkDropdownOptionsInTable=function(a,b,c){var d=a.getField(b);if(!d.isOptionListDynamic()){d=d.getOptions();for(var e=0;e<d.length;e++){var f=d[e][1];null===c[f]&&console.warn(\"No tooltip mapping for value \"+f+\" of field \"+b+\" of block type \"+a.type)}}};\n$.module$exports$Blockly$Extensions.buildTooltipWithFieldText=function(a,b){\"object\"===typeof document&&(0,$.module$exports$Blockly$Extensions.runAfterPageLoad)(function(){(0,module$exports$Blockly$utils$parsing.checkMessageReferences)(a)});return function(){this.setTooltip(function(){var c=this.getField(b);return(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a).replace(\"%1\",c?c.getText():\"\")}.bind(this))}};\nvar module$contents$Blockly$Extensions_extensionParentTooltip=function(){this.tooltipWhenNotConnected=this.tooltip;this.setTooltip(function(){var a=this.getParent();return a&&a.getInputsInline()&&a.tooltip||this.tooltipWhenNotConnected}.bind(this))};(0,$.module$exports$Blockly$Extensions.register)(\"parent_tooltip_when_inline\",module$contents$Blockly$Extensions_extensionParentTooltip);var module$exports$Blockly$utils$Metrics={Metrics:function(){}};var module$exports$Blockly$utils={aria:module$exports$Blockly$utils$aria,colour:module$exports$Blockly$utils$colour};module$exports$Blockly$utils.Coordinate=module$exports$Blockly$utils$Coordinate.Coordinate;module$exports$Blockly$utils.deprecation=module$exports$Blockly$utils$deprecation;module$exports$Blockly$utils.dom=module$exports$Blockly$utils$dom;module$exports$Blockly$utils.global=$.module$exports$Blockly$utils$global.globalThis;module$exports$Blockly$utils.idGenerator=module$exports$Blockly$utils$idGenerator;\nmodule$exports$Blockly$utils.KeyCodes=module$exports$Blockly$utils$KeyCodes.KeyCodes;module$exports$Blockly$utils.math=module$exports$Blockly$utils$math;module$exports$Blockly$utils.Metrics=module$exports$Blockly$utils$Metrics.Metrics;module$exports$Blockly$utils.object=$.module$exports$Blockly$utils$object;module$exports$Blockly$utils.parsing=module$exports$Blockly$utils$parsing;module$exports$Blockly$utils.Rect=module$exports$Blockly$utils$Rect.Rect;module$exports$Blockly$utils.Size=module$exports$Blockly$utils$Size.Size;\nmodule$exports$Blockly$utils.string=$.module$exports$Blockly$utils$string;module$exports$Blockly$utils.style=module$exports$Blockly$utils$style;module$exports$Blockly$utils.Svg=module$exports$Blockly$utils$Svg.Svg;module$exports$Blockly$utils.svgPaths=module$exports$Blockly$utils$svgPaths;module$exports$Blockly$utils.svgMath=module$exports$Blockly$utils$svgMath;module$exports$Blockly$utils.toolbox=module$exports$Blockly$utils$toolbox;module$exports$Blockly$utils.userAgent=module$exports$Blockly$utils$userAgent;\nmodule$exports$Blockly$utils.xml=$.module$exports$Blockly$utils$xml;module$exports$Blockly$utils.noEvent=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.noEvent\",\"September 2021\",\"September 2022\");a.preventDefault();a.stopPropagation()};module$exports$Blockly$utils.isTargetInput=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.isTargetInput\",\"September 2021\",\"September 2022\",\"Blockly.browserEvents.isTargetInput\");return(0,module$exports$Blockly$browserEvents.isTargetInput)(a)};\nmodule$exports$Blockly$utils.getRelativeXY=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.getRelativeXY\",\"December 2021\",\"December 2022\",\"Blockly.utils.svgMath.getRelativeXY\");return(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(a)};module$exports$Blockly$utils.getInjectionDivXY_=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.getInjectionDivXY_\",\"December 2021\",\"December 2022\",\"Blockly.utils.svgMath.getInjectionDivXY\");return(0,module$exports$Blockly$utils$svgMath.getInjectionDivXY)(a)};\nmodule$exports$Blockly$utils.isRightButton=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.isRightButton\",\"September 2021\",\"September 2022\",\"Blockly.browserEvents.isRightButton\");return(0,module$exports$Blockly$browserEvents.isRightButton)(a)};\nmodule$exports$Blockly$utils.mouseToSvg=function(a,b,c){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.mouseToSvg\",\"September 2021\",\"September 2022\",\"Blockly.browserEvents.mouseToSvg\");return(0,module$exports$Blockly$browserEvents.mouseToSvg)(a,b,c)};module$exports$Blockly$utils.getScrollDeltaPixels=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.getScrollDeltaPixels\",\"September 2021\",\"September 2022\",\"Blockly.browserEvents.getScrollDeltaPixels\");return(0,module$exports$Blockly$browserEvents.getScrollDeltaPixels)(a)};\nmodule$exports$Blockly$utils.tokenizeInterpolation=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.tokenizeInterpolation\",\"December 2021\",\"December 2022\",\"Blockly.utils.parsing.tokenizeInterpolation\");return(0,module$exports$Blockly$utils$parsing.tokenizeInterpolation)(a)};\nmodule$exports$Blockly$utils.replaceMessageReferences=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.replaceMessageReferences\",\"December 2021\",\"December 2022\",\"Blockly.utils.parsing.replaceMessageReferences\");return(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a)};\nmodule$exports$Blockly$utils.checkMessageReferences=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.checkMessageReferences\",\"December 2021\",\"December 2022\",\"Blockly.utils.parsing.checkMessageReferences\");return(0,module$exports$Blockly$utils$parsing.checkMessageReferences)(a)};module$exports$Blockly$utils.genUid=function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.genUid\",\"September 2021\",\"September 2022\",\"Blockly.utils.idGenerator.genUid\");return(0,module$exports$Blockly$utils$idGenerator.genUid)()};\nmodule$exports$Blockly$utils.is3dSupported=function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.is3dSupported\",\"December 2021\",\"December 2022\",\"Blockly.utils.svgMath.is3dSupported\");return(0,module$exports$Blockly$utils$svgMath.is3dSupported)()};module$exports$Blockly$utils.getViewportBBox=function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.getViewportBBox\",\"December 2021\",\"December 2022\",\"Blockly.utils.svgMath.getViewportBBox\");return(0,module$exports$Blockly$utils$svgMath.getViewportBBox)()};\nmodule$exports$Blockly$utils.arrayRemove=function(a,b){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.arrayRemove\",\"December 2021\",\"December 2022\");return(0,module$exports$Blockly$utils$array.removeElem)(a,b)};module$exports$Blockly$utils.getDocumentScroll=function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.getDocumentScroll\",\"December 2021\",\"December 2022\",\"Blockly.utils.svgMath.getDocumentScroll\");return(0,module$exports$Blockly$utils$svgMath.getDocumentScroll)()};\nmodule$exports$Blockly$utils.getBlockTypeCounts=function(a,b){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.getBlockTypeCounts\",\"December 2021\",\"December 2022\",\"Blockly.common.getBlockTypeCounts\");return(0,$.module$exports$Blockly$common.getBlockTypeCounts)(a,b)};\nmodule$exports$Blockly$utils.screenToWsCoordinates=function(a,b){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.screenToWsCoordinates\",\"December 2021\",\"December 2022\",\"Blockly.utils.svgMath.screenToWsCoordinates\");return(0,module$exports$Blockly$utils$svgMath.screenToWsCoordinates)(a,b)};\nmodule$exports$Blockly$utils.parseBlockColour=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.parseBlockColour\",\"December 2021\",\"December 2022\",\"Blockly.utils.parsing.parseBlockColour\");return(0,module$exports$Blockly$utils$parsing.parseBlockColour)(a)};module$exports$Blockly$utils.runAfterPageLoad=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.utils.runAfterPageLoad\",\"December 2021\",\"December 2022\");(0,$.module$exports$Blockly$Extensions.runAfterPageLoad)(a)};var module$exports$Blockly$Events$BlockDelete={BlockDelete:function(a){module$exports$Blockly$Events$BlockDelete.BlockDelete.superClass_.constructor.call(this,a);if(a){if(a.getParent())throw Error(\"Connected blocks cannot be deleted.\");a.isShadow()&&(this.recordUndo=!1);this.oldXml=(0,$.module$exports$Blockly$Xml.blockToDomWithXY)(a);this.ids=(0,module$exports$Blockly$Events$utils.getDescendantIds)(a);this.wasShadow=a.isShadow();this.oldJson=(0,module$exports$Blockly$serialization$blocks.save)(a,\n{addCoordinates:!0})}}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$BlockDelete.BlockDelete,module$exports$Blockly$Events$BlockBase.BlockBase);module$exports$Blockly$Events$BlockDelete.BlockDelete.prototype.type=module$exports$Blockly$Events$utils.DELETE;\nmodule$exports$Blockly$Events$BlockDelete.BlockDelete.prototype.toJson=function(){var a=module$exports$Blockly$Events$BlockDelete.BlockDelete.superClass_.toJson.call(this);a.oldXml=(0,$.module$exports$Blockly$Xml.domToText)(this.oldXml);a.ids=this.ids;a.wasShadow=this.wasShadow;a.oldJson=this.oldJson;this.recordUndo||(a.recordUndo=this.recordUndo);return a};\nmodule$exports$Blockly$Events$BlockDelete.BlockDelete.prototype.fromJson=function(a){module$exports$Blockly$Events$BlockDelete.BlockDelete.superClass_.fromJson.call(this,a);this.oldXml=(0,$.module$exports$Blockly$Xml.textToDom)(a.oldXml);this.ids=a.ids;this.wasShadow=a.wasShadow||\"shadow\"===this.oldXml.tagName.toLowerCase();this.oldJson=a.oldJson;void 0!==a.recordUndo&&(this.recordUndo=a.recordUndo)};\nmodule$exports$Blockly$Events$BlockDelete.BlockDelete.prototype.run=function(a){var b=this.getEventWorkspace_();if(a)for(a=0;a<this.ids.length;a++){var c=this.ids[a],d=b.getBlockById(c);d?d.dispose(!1):c===this.blockId&&console.warn(\"Can't delete non-existent block: \"+c)}else(0,module$exports$Blockly$serialization$blocks.append)(this.oldJson,b)};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.DELETE,module$exports$Blockly$Events$BlockDelete.BlockDelete);var module$exports$Blockly$Block={Block:function(a,b,c){var d=$.module$exports$Blockly$Generator.Generator;if(d&&\"undefined\"!==typeof d.prototype[b])throw Error('Block prototypeName \"'+b+'\" conflicts with Blockly.Generator members.');this.id=c&&!a.getBlockById(c)?c:(0,module$exports$Blockly$utils$idGenerator.genUid)();a.setBlockById(this.id,this);this.previousConnection=this.nextConnection=this.outputConnection=null;this.inputList=[];this.inputsInline=void 0;this.disabled=!1;this.tooltip=\"\";this.contextMenu=\n!0;this.parentBlock_=null;this.childBlocks_=[];this.editable_=this.movable_=this.deletable_=!0;this.collapsed_=this.isShadow_=!1;this.comment=this.outputShape_=null;this.commentModel={text:null,pinned:!1,size:new module$exports$Blockly$utils$Size.Size(160,80)};this.xy_=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0);this.workspace=a;this.isInFlyout=a.isFlyout;this.isInMutator=a.isMutator;this.RTL=a.RTL;this.isInsertionMarker_=!1;this.hat=void 0;this.rendered=null;this.statementInputCount=\n0;if(b){this.type=b;c=$.module$exports$Blockly$blocks.Blocks[b];if(!c||\"object\"!==typeof c)throw TypeError(\"Unknown block type: \"+b);(0,$.module$exports$Blockly$utils$object.mixin)(this,c)}a.addTopBlock(this);a.addTypedBlock(this);(a=(0,module$exports$Blockly$Events$utils.getGroup)())||(0,module$exports$Blockly$Events$utils.setGroup)(!0);b=(0,module$exports$Blockly$Events$utils.getRecordUndo)();try{\"function\"===typeof this.init&&((0,module$exports$Blockly$Events$utils.setRecordUndo)(!1),this.init(),\n(0,module$exports$Blockly$Events$utils.setRecordUndo)(b)),(0,module$exports$Blockly$Events$utils.isEnabled)()&&(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CREATE))(this))}finally{a||(0,module$exports$Blockly$Events$utils.setGroup)(!1),(0,module$exports$Blockly$Events$utils.setRecordUndo)(b)}this.inputsInlineDefault=this.inputsInline;\"function\"===typeof this.onchange&&this.setOnChange(this.onchange)}};\nmodule$exports$Blockly$Block.Block.COLLAPSED_INPUT_NAME=module$exports$Blockly$constants.COLLAPSED_INPUT_NAME;module$exports$Blockly$Block.Block.COLLAPSED_FIELD_NAME=module$exports$Blockly$constants.COLLAPSED_FIELD_NAME;module$exports$Blockly$Block.Block.prototype.data=null;module$exports$Blockly$Block.Block.prototype.disposed=!1;module$exports$Blockly$Block.Block.prototype.hue_=null;module$exports$Blockly$Block.Block.prototype.colour_=\"#000000\";\nmodule$exports$Blockly$Block.Block.prototype.styleName_=\"\";\nmodule$exports$Blockly$Block.Block.prototype.dispose=function(a){if(this.workspace){this.onchangeWrapper_&&this.workspace.removeChangeListener(this.onchangeWrapper_);this.unplug(a);(0,module$exports$Blockly$Events$utils.isEnabled)()&&(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.DELETE))(this));(0,module$exports$Blockly$Events$utils.disable)();try{this.workspace&&(this.workspace.removeTopBlock(this),this.workspace.removeTypedBlock(this),\nthis.workspace.removeBlockById(this.id),this.workspace=null);(0,$.module$exports$Blockly$common.getSelected)()===this&&(0,$.module$exports$Blockly$common.setSelected)(null);for(var b=this.childBlocks_.length-1;0<=b;b--)this.childBlocks_[b].dispose(!1);a=0;for(b=void 0;b=this.inputList[a];a++)b.dispose();this.inputList.length=0;var c=this.getConnections_(!0);a=0;for(b=void 0;b=c[a];a++)b.dispose()}finally{(0,module$exports$Blockly$Events$utils.enable)(),this.disposed=!0}}};\nmodule$exports$Blockly$Block.Block.prototype.initModel=function(){for(var a=0,b;b=this.inputList[a];a++)for(var c=0,d;d=b.fieldRow[c];c++)d.initModel&&d.initModel()};module$exports$Blockly$Block.Block.prototype.unplug=function(a){this.outputConnection&&this.unplugFromRow_(a);this.previousConnection&&this.unplugFromStack_(a)};\nmodule$exports$Blockly$Block.Block.prototype.unplugFromRow_=function(a){var b=null;this.outputConnection.isConnected()&&(b=this.outputConnection.targetConnection,this.outputConnection.disconnect());if(b&&a&&(a=this.getOnlyValueConnection_())&&a.isConnected()&&!a.targetBlock().isShadow())if(a=a.targetConnection,a.disconnect(),this.workspace.connectionChecker.canConnect(a,b,!1))b.connect(a);else a.onFailedConnect(b)};\nmodule$exports$Blockly$Block.Block.prototype.getOnlyValueConnection_=function(){for(var a=null,b=0;b<this.inputList.length;b++){var c=this.inputList[b].connection;if(c&&c.type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE&&c.targetConnection){if(a)return null;a=c}}return a};\nmodule$exports$Blockly$Block.Block.prototype.unplugFromStack_=function(a){var b=null;this.previousConnection.isConnected()&&(b=this.previousConnection.targetConnection,this.previousConnection.disconnect());var c=this.getNextBlock();a&&c&&!c.isShadow()&&(a=this.nextConnection.targetConnection,a.disconnect(),b&&this.workspace.connectionChecker.canConnect(b,a,!1)&&b.connect(a))};\nmodule$exports$Blockly$Block.Block.prototype.getConnections_=function(a){a=[];this.outputConnection&&a.push(this.outputConnection);this.previousConnection&&a.push(this.previousConnection);this.nextConnection&&a.push(this.nextConnection);for(var b=0,c;c=this.inputList[b];b++)c.connection&&a.push(c.connection);return a};module$exports$Blockly$Block.Block.prototype.lastConnectionInStack=function(a){for(var b=this.nextConnection;b;){var c=b.targetBlock();if(!c||a&&c.isShadow())return b;b=c.nextConnection}return null};\nmodule$exports$Blockly$Block.Block.prototype.bumpNeighbours=function(){};module$exports$Blockly$Block.Block.prototype.getParent=function(){return this.parentBlock_};module$exports$Blockly$Block.Block.prototype.getInputWithBlock=function(a){for(var b=0,c;c=this.inputList[b];b++)if(c.connection&&c.connection.targetBlock()===a)return c;return null};\nmodule$exports$Blockly$Block.Block.prototype.getSurroundParent=function(){var a=this;do{var b=a;a=a.getParent();if(!a)return null}while(a.getNextBlock()===b);return a};module$exports$Blockly$Block.Block.prototype.getNextBlock=function(){return this.nextConnection&&this.nextConnection.targetBlock()};module$exports$Blockly$Block.Block.prototype.getPreviousBlock=function(){return this.previousConnection&&this.previousConnection.targetBlock()};\nmodule$exports$Blockly$Block.Block.prototype.getFirstStatementConnection=function(){for(var a=0,b;b=this.inputList[a];a++)if(b.connection&&b.connection.type===$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT)return b.connection;return null};module$exports$Blockly$Block.Block.prototype.getRootBlock=function(){var a=this;do{var b=a;a=b.parentBlock_}while(a);return b};\nmodule$exports$Blockly$Block.Block.prototype.getTopStackBlock=function(){var a=this;do var b=a.getPreviousBlock();while(b&&b.getNextBlock()===a&&(a=b));return a};module$exports$Blockly$Block.Block.prototype.getChildren=function(a){if(!a)return this.childBlocks_;a=[];for(var b=0,c;c=this.inputList[b];b++)c.connection&&(c=c.connection.targetBlock())&&a.push(c);(b=this.getNextBlock())&&a.push(b);return a};\nmodule$exports$Blockly$Block.Block.prototype.setParent=function(a){if(a!==this.parentBlock_){var b=this.previousConnection&&this.previousConnection.targetBlock()||this.outputConnection&&this.outputConnection.targetBlock(),c=!!b;if(c&&a&&b!==a)throw Error(\"Block connected to superior one that is not new parent.\");if(!c&&a)throw Error(\"Block not connected to new parent.\");if(c&&!a)throw Error(\"Cannot set parent to null while block is still connected to superior block.\");this.parentBlock_?(0,module$exports$Blockly$utils$array.removeElem)(this.parentBlock_.childBlocks_,\nthis):this.workspace.removeTopBlock(this);(this.parentBlock_=a)?a.childBlocks_.push(this):this.workspace.addTopBlock(this)}};module$exports$Blockly$Block.Block.prototype.getDescendants=function(a){for(var b=[this],c=this.getChildren(a),d,e=0;d=c[e];e++)b.push.apply(b,d.getDescendants(a));return b};module$exports$Blockly$Block.Block.prototype.isDeletable=function(){return this.deletable_&&!this.isShadow_&&!(this.workspace&&this.workspace.options.readOnly)};\nmodule$exports$Blockly$Block.Block.prototype.setDeletable=function(a){this.deletable_=a};module$exports$Blockly$Block.Block.prototype.isMovable=function(){return this.movable_&&!this.isShadow_&&!(this.workspace&&this.workspace.options.readOnly)};module$exports$Blockly$Block.Block.prototype.setMovable=function(a){this.movable_=a};\nmodule$exports$Blockly$Block.Block.prototype.isDuplicatable=function(){return this.workspace.hasBlockLimits()?this.workspace.isCapacityAvailable((0,$.module$exports$Blockly$common.getBlockTypeCounts)(this,!0)):!0};module$exports$Blockly$Block.Block.prototype.isShadow=function(){return this.isShadow_};module$exports$Blockly$Block.Block.prototype.setShadow=function(a){this.isShadow_=a};module$exports$Blockly$Block.Block.prototype.isInsertionMarker=function(){return this.isInsertionMarker_};\nmodule$exports$Blockly$Block.Block.prototype.setInsertionMarker=function(a){this.isInsertionMarker_=a};module$exports$Blockly$Block.Block.prototype.isEditable=function(){return this.editable_&&!(this.workspace&&this.workspace.options.readOnly)};module$exports$Blockly$Block.Block.prototype.setEditable=function(a){this.editable_=a;a=0;for(var b;b=this.inputList[a];a++)for(var c=0,d;d=b.fieldRow[c];c++)d.updateEditable()};module$exports$Blockly$Block.Block.prototype.isDisposed=function(){return this.disposed};\nmodule$exports$Blockly$Block.Block.prototype.getMatchingConnection=function(a,b){var c=this.getConnections_(!0);a=a.getConnections_(!0);if(c.length!==a.length)throw Error(\"Connection lists did not match in length.\");for(var d=0;d<a.length;d++)if(a[d]===b)return c[d];return null};module$exports$Blockly$Block.Block.prototype.setHelpUrl=function(a){this.helpUrl=a};module$exports$Blockly$Block.Block.prototype.setTooltip=function(a){this.tooltip=a};\nmodule$exports$Blockly$Block.Block.prototype.getTooltip=function(){return(0,module$exports$Blockly$Tooltip.getTooltipOfObject)(this)};module$exports$Blockly$Block.Block.prototype.getColour=function(){return this.colour_};module$exports$Blockly$Block.Block.prototype.getStyleName=function(){return this.styleName_};module$exports$Blockly$Block.Block.prototype.getHue=function(){return this.hue_};\nmodule$exports$Blockly$Block.Block.prototype.setColour=function(a){a=(0,module$exports$Blockly$utils$parsing.parseBlockColour)(a);this.hue_=a.hue;this.colour_=a.hex};module$exports$Blockly$Block.Block.prototype.setStyle=function(a){this.styleName_=a};\nmodule$exports$Blockly$Block.Block.prototype.setOnChange=function(a){if(a&&\"function\"!==typeof a)throw Error(\"onchange must be a function.\");this.onchangeWrapper_&&this.workspace.removeChangeListener(this.onchangeWrapper_);if(this.onchange=a)this.onchangeWrapper_=a.bind(this),this.workspace.addChangeListener(this.onchangeWrapper_)};\nmodule$exports$Blockly$Block.Block.prototype.getField=function(a){if(\"string\"!==typeof a)throw TypeError(\"Block.prototype.getField expects a string with the field name but received \"+(void 0===a?\"nothing\":a+\" of type \"+typeof a)+\" instead\");for(var b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)if(e.name===a)return e;return null};\nmodule$exports$Blockly$Block.Block.prototype.getVars=function(){for(var a=[],b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)e.referencesVariables()&&a.push(e.getValue());return a};module$exports$Blockly$Block.Block.prototype.getVarModels=function(){for(var a=[],b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)e.referencesVariables()&&(e=this.workspace.getVariableById(e.getValue()))&&a.push(e);return a};\nmodule$exports$Blockly$Block.Block.prototype.updateVarName=function(a){for(var b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)e.referencesVariables()&&a.getId()===e.getValue()&&e.refreshVariableName()};module$exports$Blockly$Block.Block.prototype.renameVarById=function(a,b){for(var c=0,d;d=this.inputList[c];c++)for(var e=0,f;f=d.fieldRow[e];e++)f.referencesVariables()&&a===f.getValue()&&f.setValue(b)};\nmodule$exports$Blockly$Block.Block.prototype.getFieldValue=function(a){return(a=this.getField(a))?a.getValue():null};module$exports$Blockly$Block.Block.prototype.setFieldValue=function(a,b){var c=this.getField(b);if(!c)throw Error('Field \"'+b+'\" not found.');c.setValue(a)};\nmodule$exports$Blockly$Block.Block.prototype.setPreviousStatement=function(a,b){if(a)void 0===b&&(b=null),this.previousConnection||(this.previousConnection=this.makeConnection_($.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT)),this.previousConnection.setCheck(b);else if(this.previousConnection){if(this.previousConnection.isConnected())throw Error(\"Must disconnect previous statement before removing connection.\");this.previousConnection.dispose();this.previousConnection=null}};\nmodule$exports$Blockly$Block.Block.prototype.setNextStatement=function(a,b){if(a)void 0===b&&(b=null),this.nextConnection||(this.nextConnection=this.makeConnection_($.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT)),this.nextConnection.setCheck(b);else if(this.nextConnection){if(this.nextConnection.isConnected())throw Error(\"Must disconnect next statement before removing connection.\");this.nextConnection.dispose();this.nextConnection=null}};\nmodule$exports$Blockly$Block.Block.prototype.setOutput=function(a,b){if(a)void 0===b&&(b=null),this.outputConnection||(this.outputConnection=this.makeConnection_($.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE)),this.outputConnection.setCheck(b);else if(this.outputConnection){if(this.outputConnection.isConnected())throw Error(\"Must disconnect output value before removing connection.\");this.outputConnection.dispose();this.outputConnection=null}};\nmodule$exports$Blockly$Block.Block.prototype.setInputsInline=function(a){this.inputsInline!==a&&((0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(this,\"inline\",null,this.inputsInline,a)),this.inputsInline=a)};\nmodule$exports$Blockly$Block.Block.prototype.getInputsInline=function(){if(void 0!==this.inputsInline)return this.inputsInline;for(var a=1;a<this.inputList.length;a++)if(this.inputList[a-1].type===$.module$exports$Blockly$inputTypes.inputTypes.DUMMY&&this.inputList[a].type===$.module$exports$Blockly$inputTypes.inputTypes.DUMMY)return!1;for(a=1;a<this.inputList.length;a++)if(this.inputList[a-1].type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE&&this.inputList[a].type===$.module$exports$Blockly$inputTypes.inputTypes.DUMMY)return!0;\nreturn!1};module$exports$Blockly$Block.Block.prototype.setOutputShape=function(a){this.outputShape_=a};module$exports$Blockly$Block.Block.prototype.getOutputShape=function(){return this.outputShape_};module$exports$Blockly$Block.Block.prototype.isEnabled=function(){return!this.disabled};\nmodule$exports$Blockly$Block.Block.prototype.setEnabled=function(a){if(this.isEnabled()!==a){var b=this.disabled;this.disabled=!a;(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(this,\"disabled\",null,b,!a))}};module$exports$Blockly$Block.Block.prototype.getInheritedDisabled=function(){for(var a=this.getSurroundParent();a;){if(a.disabled)return!0;a=a.getSurroundParent()}return!1};\nmodule$exports$Blockly$Block.Block.prototype.isCollapsed=function(){return this.collapsed_};module$exports$Blockly$Block.Block.prototype.setCollapsed=function(a){this.collapsed_!==a&&((0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(this,\"collapsed\",null,this.collapsed_,a)),this.collapsed_=a)};\nmodule$exports$Blockly$Block.Block.prototype.toString=function(a,b){function c(l){var m=l.getCheck();!m&&l.targetConnection&&(m=l.targetConnection.getCheck());return!!m&&(-1!==m.indexOf(\"Boolean\")||-1!==m.indexOf(\"Number\"))}function d(){g&&g.getType()===h.getType()&&g.getLocation()===h.getLocation()&&(g=null)}var e=[];b=b||\"?\";var f=module$exports$Blockly$ASTNode.ASTNode.NAVIGATE_ALL_FIELDS;module$exports$Blockly$ASTNode.ASTNode.NAVIGATE_ALL_FIELDS=!0;for(var g=module$exports$Blockly$ASTNode.ASTNode.createBlockNode(this),\nh=g;g;){switch(g.getType()){case module$exports$Blockly$ASTNode.ASTNode.types.INPUT:var k=g.getLocation();g.in()?c(k)&&e.push(\"(\"):e.push(b);break;case module$exports$Blockly$ASTNode.ASTNode.types.FIELD:k=g.getLocation(),k.name!==module$exports$Blockly$constants.COLLAPSED_FIELD_NAME&&e.push(k.getText())}k=g;g=k.in()||k.next();if(!g){g=k.out();for(d();g&&!g.next();)g=g.out(),d(),g&&g.getType()===module$exports$Blockly$ASTNode.ASTNode.types.INPUT&&c(g.getLocation())&&e.push(\")\");g&&(g=g.next())}}module$exports$Blockly$ASTNode.ASTNode.NAVIGATE_ALL_FIELDS=\nf;for(b=2;b<e.length;b++)\"(\"===e[b-2]&&\")\"===e[b]&&(e[b-2]=e[b-1],e.splice(b-1,2));e=e.reduce(function(l,m){return l+(\"(\"===l.substr(-1)||\")\"===m?\"\":\" \")+m},\"\");e=e.trim()||\"???\";a&&e.length>a&&(e=e.substring(0,a-3)+\"...\");return e};module$exports$Blockly$Block.Block.prototype.appendValueInput=function(a){return this.appendInput_($.module$exports$Blockly$inputTypes.inputTypes.VALUE,a)};\nmodule$exports$Blockly$Block.Block.prototype.appendStatementInput=function(a){return this.appendInput_($.module$exports$Blockly$inputTypes.inputTypes.STATEMENT,a)};module$exports$Blockly$Block.Block.prototype.appendDummyInput=function(a){return this.appendInput_($.module$exports$Blockly$inputTypes.inputTypes.DUMMY,a||\"\")};\nmodule$exports$Blockly$Block.Block.prototype.jsonInit=function(a){var b=a.type?'Block \"'+a.type+'\": ':\"\";if(a.output&&a.previousStatement)throw Error(b+\"Must not have both an output and a previousStatement.\");a.style&&a.style.hat&&(this.hat=a.style.hat,a.style=null);if(a.style&&a.colour)throw Error(b+\"Must not have both a colour and a style.\");a.style?this.jsonInitStyle_(a,b):this.jsonInitColour_(a,b);for(var c=0;void 0!==a[\"message\"+c];)this.interpolate_(a[\"message\"+c],a[\"args\"+c]||[],a[\"lastDummyAlign\"+\nc],b),c++;void 0!==a.inputsInline&&this.setInputsInline(a.inputsInline);void 0!==a.output&&this.setOutput(!0,a.output);void 0!==a.outputShape&&this.setOutputShape(a.outputShape);void 0!==a.previousStatement&&this.setPreviousStatement(!0,a.previousStatement);void 0!==a.nextStatement&&this.setNextStatement(!0,a.nextStatement);void 0!==a.tooltip&&(c=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.tooltip),this.setTooltip(c));void 0!==a.enableContextMenu&&(this.contextMenu=!!a.enableContextMenu);\nvoid 0!==a.suppressPrefixSuffix&&(this.suppressPrefixSuffix=!!a.suppressPrefixSuffix);void 0!==a.helpUrl&&(c=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.helpUrl),this.setHelpUrl(c));\"string\"===typeof a.extensions&&(console.warn(b+\"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '\"+a.type+\"' block.\"),a.extensions=[a.extensions]);void 0!==a.mutator&&(0,$.module$exports$Blockly$Extensions.apply)(a.mutator,this,!0);a=a.extensions;if(Array.isArray(a))for(b=\n0;b<a.length;b++)(0,$.module$exports$Blockly$Extensions.apply)(a[b],this,!1)};module$exports$Blockly$Block.Block.prototype.jsonInitColour_=function(a,b){if(\"colour\"in a)if(void 0===a.colour)console.warn(b+\"Undefined colour value.\");else{a=a.colour;try{this.setColour(a)}catch(c){console.warn(b+\"Illegal colour value: \",a)}}};module$exports$Blockly$Block.Block.prototype.jsonInitStyle_=function(a,b){a=a.style;try{this.setStyle(a)}catch(c){console.warn(b+\"Style does not exist: \",a)}};\nmodule$exports$Blockly$Block.Block.prototype.mixin=function(a,b){if(void 0!==b&&\"boolean\"!==typeof b)throw Error(\"opt_disableCheck must be a boolean if provided\");if(!b){b=[];for(var c in a)void 0!==this[c]&&b.push(c);if(b.length)throw Error(\"Mixin will overwrite block members: \"+JSON.stringify(b));}(0,$.module$exports$Blockly$utils$object.mixin)(this,a)};\nmodule$exports$Blockly$Block.Block.prototype.interpolate_=function(a,b,c,d){a=(0,module$exports$Blockly$utils$parsing.tokenizeInterpolation)(a);this.validateTokens_(a,b.length);b=this.interpolateArguments_(a,b,c);c=[];a=0;for(var e;e=b[a];a++)if(this.isInputKeyword_(e.type)){if(e=this.inputFromJson_(e,d)){for(var f=0,g;g=c[f];f++)e.appendField(g[0],g[1]);c.length=0}}else(f=this.fieldFromJson_(e))&&c.push([f,e.name])};\nmodule$exports$Blockly$Block.Block.prototype.validateTokens_=function(a,b){for(var c=[],d=0,e=0;e<a.length;e++){var f=a[e];if(\"number\"===typeof f){if(1>f||f>b)throw Error('Block \"'+this.type+'\": Message index %'+f+\" out of range.\");if(c[f])throw Error('Block \"'+this.type+'\": Message index %'+f+\" duplicated.\");c[f]=!0;d++}}if(d!==b)throw Error('Block \"'+this.type+'\": Message does not reference all '+b+\" arg(s).\");};\nmodule$exports$Blockly$Block.Block.prototype.interpolateArguments_=function(a,b,c){for(var d=[],e=0;e<a.length;e++){var f=a[e];\"number\"===typeof f&&(f=b[f-1]);if(\"string\"===typeof f&&(f=this.stringToFieldJson_(f),!f))continue;d.push(f)}(a=d.length)&&!this.isInputKeyword_(d[a-1].type)&&(a={type:\"input_dummy\"},c&&(a.align=c),d.push(a));return d};\nmodule$exports$Blockly$Block.Block.prototype.fieldFromJson_=function(a){var b=(0,module$exports$Blockly$fieldRegistry.fromJson)(a);return!b&&a.alt?\"string\"===typeof a.alt?(a=this.stringToFieldJson_(a.alt))?this.fieldFromJson_(a):null:this.fieldFromJson_(a.alt):b};\nmodule$exports$Blockly$Block.Block.prototype.inputFromJson_=function(a,b){var c={LEFT:$.module$exports$Blockly$Input.Align.LEFT,RIGHT:$.module$exports$Blockly$Input.Align.RIGHT,CENTRE:$.module$exports$Blockly$Input.Align.CENTRE,CENTER:$.module$exports$Blockly$Input.Align.CENTRE},d=null;switch(a.type){case \"input_value\":d=this.appendValueInput(a.name);break;case \"input_statement\":d=this.appendStatementInput(a.name);break;case \"input_dummy\":d=this.appendDummyInput(a.name)}if(!d)return null;a.check&&\nd.setCheck(a.check);a.align&&(c=c[a.align.toUpperCase()],void 0===c?console.warn(b+\"Illegal align value: \",a.align):d.setAlign(c));return d};module$exports$Blockly$Block.Block.prototype.isInputKeyword_=function(a){return\"input_value\"===a||\"input_statement\"===a||\"input_dummy\"===a};module$exports$Blockly$Block.Block.prototype.stringToFieldJson_=function(a){return(a=a.trim())?{type:\"field_label\",text:a}:null};\nmodule$exports$Blockly$Block.Block.prototype.appendInput_=function(a,b){var c=null;if(a===$.module$exports$Blockly$inputTypes.inputTypes.VALUE||a===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT)c=this.makeConnection_(a);a===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT&&this.statementInputCount++;a=new $.module$exports$Blockly$Input.Input(a,b,this,c);this.inputList.push(a);return a};\nmodule$exports$Blockly$Block.Block.prototype.moveInputBefore=function(a,b){if(a!==b){for(var c=-1,d=b?-1:this.inputList.length,e=0,f;f=this.inputList[e];e++)if(f.name===a){if(c=e,-1!==d)break}else if(b&&f.name===b&&(d=e,-1!==c))break;if(-1===c)throw Error('Named input \"'+a+'\" not found.');if(-1===d)throw Error('Reference input \"'+b+'\" not found.');this.moveNumberedInputBefore(c,d)}};\nmodule$exports$Blockly$Block.Block.prototype.moveNumberedInputBefore=function(a,b){if(a===b)throw Error(\"Can't move input to itself.\");if(a>=this.inputList.length)throw RangeError(\"Input index \"+a+\" out of bounds.\");if(b>this.inputList.length)throw RangeError(\"Reference input \"+b+\" out of bounds.\");var c=this.inputList[a];this.inputList.splice(a,1);a<b&&b--;this.inputList.splice(b,0,c)};\nmodule$exports$Blockly$Block.Block.prototype.removeInput=function(a,b){for(var c=0,d;d=this.inputList[c];c++)if(d.name===a)return d.type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT&&this.statementInputCount--,d.dispose(),this.inputList.splice(c,1),!0;if(b)return!1;throw Error(\"Input not found: \"+a);};module$exports$Blockly$Block.Block.prototype.getInput=function(a){for(var b=0,c;c=this.inputList[b];b++)if(c.name===a)return c;return null};\nmodule$exports$Blockly$Block.Block.prototype.getInputTargetBlock=function(a){return(a=this.getInput(a))&&a.connection&&a.connection.targetBlock()};module$exports$Blockly$Block.Block.prototype.getCommentText=function(){return this.commentModel.text};\nmodule$exports$Blockly$Block.Block.prototype.setCommentText=function(a){this.commentModel.text!==a&&((0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(this,\"comment\",null,this.commentModel.text,a)),this.comment=this.commentModel.text=a)};module$exports$Blockly$Block.Block.prototype.setWarningText=function(a,b){};module$exports$Blockly$Block.Block.prototype.setMutator=function(a){};\nmodule$exports$Blockly$Block.Block.prototype.getRelativeToSurfaceXY=function(){return this.xy_};module$exports$Blockly$Block.Block.prototype.moveBy=function(a,b){if(this.parentBlock_)throw Error(\"Block has parent.\");var c=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.MOVE))(this);this.xy_.translate(a,b);c.recordNew();(0,module$exports$Blockly$Events$utils.fire)(c)};\nmodule$exports$Blockly$Block.Block.prototype.makeConnection_=function(a){return new module$exports$Blockly$Connection.Connection(this,a)};module$exports$Blockly$Block.Block.prototype.allInputsFilled=function(a){void 0===a&&(a=!0);if(!a&&this.isShadow())return!1;for(var b=0,c;c=this.inputList[b];b++)if(c.connection&&(c=c.connection.targetBlock(),!c||!c.allInputsFilled(a)))return!1;return(b=this.getNextBlock())?b.allInputsFilled(a):!0};\nmodule$exports$Blockly$Block.Block.prototype.toDevString=function(){var a=this.type?'\"'+this.type+'\" block':\"Block\";this.id&&(a+=' (id=\"'+this.id+'\")');return a};var module$exports$Blockly$ContextMenuRegistry={ContextMenuRegistry:function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry=this;this.registry_=Object.create(null)}};module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType={BLOCK:\"block\",WORKSPACE:\"workspace\"};module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry=null;\nmodule$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.prototype.register=function(a){if(this.registry_[a.id])throw Error('Menu item with ID \"'+a.id+'\" is already registered.');this.registry_[a.id]=a};module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.prototype.unregister=function(a){if(!this.registry_[a])throw Error('Menu item with ID \"'+a+'\" not found.');delete this.registry_[a]};\nmodule$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.prototype.getItem=function(a){return this.registry_[a]||null};\nmodule$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.prototype.getContextMenuOptions=function(a,b){var c=[],d=this.registry_;Object.keys(d).forEach(function(e){e=d[e];if(a===e.scopeType){var f=e.preconditionFn(b);\"hidden\"!==f&&(e={text:\"function\"===typeof e.displayText?e.displayText(b):e.displayText,enabled:\"enabled\"===f,callback:e.callback,scope:b,weight:e.weight},c.push(e))}});c.sort(function(e,f){return e.weight-f.weight});return c};new module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry;var module$exports$Blockly$IBoundedElement={IBoundedElement:function(){}};var module$exports$Blockly$IMovable={IMovable:function(){}};var module$exports$Blockly$ISelectable={ISelectable:function(){}};var module$exports$Blockly$ICopyable={ICopyable:function(){}};var module$exports$Blockly$RenderedConnection={RenderedConnection:function(a,b){module$exports$Blockly$RenderedConnection.RenderedConnection.superClass_.constructor.call(this,a,b);this.db_=a.workspace.connectionDBList[b];this.dbOpposite_=a.workspace.connectionDBList[$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[b]];this.offsetInBlock_=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0);this.trackedState_=module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.WILL_TRACK;\nthis.targetConnection=null}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$RenderedConnection.RenderedConnection,module$exports$Blockly$Connection.Connection);module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState={WILL_TRACK:-1,UNTRACKED:0,TRACKED:1};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.dispose=function(){module$exports$Blockly$RenderedConnection.RenderedConnection.superClass_.dispose.call(this);this.trackedState_===module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.TRACKED&&this.db_.removeConnection(this,this.y)};module$exports$Blockly$RenderedConnection.RenderedConnection.prototype.getSourceBlock=function(){return module$exports$Blockly$RenderedConnection.RenderedConnection.superClass_.getSourceBlock.call(this)};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.targetBlock=function(){return module$exports$Blockly$RenderedConnection.RenderedConnection.superClass_.targetBlock.call(this)};module$exports$Blockly$RenderedConnection.RenderedConnection.prototype.distanceFrom=function(a){var b=this.x-a.x;a=this.y-a.y;return Math.sqrt(b*b+a*a)};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.bumpAwayFrom=function(a){if(!this.sourceBlock_.workspace.isDragging()){var b=this.sourceBlock_.getRootBlock();if(!b.isInFlyout){var c=!1;if(!b.isMovable()){b=a.getSourceBlock().getRootBlock();if(!b.isMovable())return;a=this;c=!0}var d=(0,$.module$exports$Blockly$common.getSelected)()==b;d||b.addSelect();var e=a.x+$.module$exports$Blockly$internalConstants.SNAP_RADIUS+Math.floor(Math.random()*$.module$exports$Blockly$internalConstants.BUMP_RANDOMNESS)-\nthis.x,f=a.y+$.module$exports$Blockly$internalConstants.SNAP_RADIUS+Math.floor(Math.random()*$.module$exports$Blockly$internalConstants.BUMP_RANDOMNESS)-this.y;c&&(f=-f);b.RTL&&(e=a.x-$.module$exports$Blockly$internalConstants.SNAP_RADIUS-Math.floor(Math.random()*$.module$exports$Blockly$internalConstants.BUMP_RANDOMNESS)-this.x);b.moveBy(e,f);d||b.removeSelect()}}};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.moveTo=function(a,b){this.trackedState_===module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.WILL_TRACK?(this.db_.addConnection(this,b),this.trackedState_=module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.TRACKED):this.trackedState_===module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.TRACKED&&(this.db_.removeConnection(this,this.y),this.db_.addConnection(this,\nb));this.x=a;this.y=b};module$exports$Blockly$RenderedConnection.RenderedConnection.prototype.moveBy=function(a,b){this.moveTo(this.x+a,this.y+b)};module$exports$Blockly$RenderedConnection.RenderedConnection.prototype.moveToOffset=function(a){this.moveTo(a.x+this.offsetInBlock_.x,a.y+this.offsetInBlock_.y)};module$exports$Blockly$RenderedConnection.RenderedConnection.prototype.setOffsetInBlock=function(a,b){this.offsetInBlock_.x=a;this.offsetInBlock_.y=b};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.getOffsetInBlock=function(){return this.offsetInBlock_};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.tighten=function(){var a=this.targetConnection.x-this.x,b=this.targetConnection.y-this.y;if(0!==a||0!==b){var c=this.targetBlock(),d=c.getSvgRoot();if(!d)throw Error(\"block is not rendered.\");d=(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(d);c.getSvgRoot().setAttribute(\"transform\",\"translate(\"+(d.x-a)+\",\"+(d.y-b)+\")\");c.moveConnections(-a,-b)}};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.closest=function(a,b){return this.dbOpposite_.searchForClosest(this,a,b)};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.highlight=function(){var a=this.sourceBlock_.workspace.getRenderer().getConstants();var b=a.shapeFor(this);this.type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE||this.type===$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE?(a=a.TAB_OFFSET_FROM_TOP,b=(0,module$exports$Blockly$utils$svgPaths.moveBy)(0,-a)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",a)+b.pathDown+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",\na)):(a=a.NOTCH_OFFSET_LEFT-a.CORNER_RADIUS,b=(0,module$exports$Blockly$utils$svgPaths.moveBy)(-a,0)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",a)+b.pathLeft+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",a));a=this.sourceBlock_.getRelativeToSurfaceXY();module$exports$Blockly$Connection.Connection.highlightedPath_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyHighlightedConnectionPath\",d:b,transform:\"translate(\"+\n(this.x-a.x)+\",\"+(this.y-a.y)+\")\"+(this.sourceBlock_.RTL?\" scale(-1 1)\":\"\")},this.sourceBlock_.getSvgRoot())};module$exports$Blockly$RenderedConnection.RenderedConnection.prototype.unhighlight=function(){(0,module$exports$Blockly$utils$dom.removeNode)(module$exports$Blockly$Connection.Connection.highlightedPath_);delete module$exports$Blockly$Connection.Connection.highlightedPath_};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.setTracking=function(a){a&&this.trackedState_===module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.TRACKED||!a&&this.trackedState_===module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.UNTRACKED||this.sourceBlock_.isInFlyout||(a?(this.db_.addConnection(this,this.y),this.trackedState_=module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.TRACKED):(this.trackedState_===\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.TRACKED&&this.db_.removeConnection(this,this.y),this.trackedState_=module$exports$Blockly$RenderedConnection.RenderedConnection.TrackedState.UNTRACKED))};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.stopTrackingAll=function(){this.setTracking(!1);if(this.targetConnection)for(var a=this.targetBlock().getDescendants(!1),b=0;b<a.length;b++){for(var c=a[b],d=c.getConnections_(!0),e=0;e<d.length;e++)d[e].setTracking(!1);c=c.getIcons();for(d=0;d<c.length;d++)c[d].setVisible(!1)}};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.startTrackingAll=function(){this.setTracking(!0);var a=[];if(this.type!==$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE&&this.type!==$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT)return a;var b=this.targetBlock();if(b){if(b.isCollapsed()){var c=[];b.outputConnection&&c.push(b.outputConnection);b.nextConnection&&c.push(b.nextConnection);b.previousConnection&&c.push(b.previousConnection)}else c=\nb.getConnections_(!0);for(var d=0;d<c.length;d++)a.push.apply(a,c[d].startTrackingAll());a.length||(a=[b])}return a};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.onFailedConnect=function(a){var b=this.getSourceBlock();if((0,module$exports$Blockly$Events$utils.getRecordUndo)()){var c=(0,module$exports$Blockly$Events$utils.getGroup)();setTimeout(function(){b.isDisposed()||b.getParent()||((0,module$exports$Blockly$Events$utils.setGroup)(c),this.bumpAwayFrom(a),(0,module$exports$Blockly$Events$utils.setGroup)(!1))}.bind(this),$.module$exports$Blockly$internalConstants.BUMP_DELAY)}};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.disconnectInternal_=function(a,b){module$exports$Blockly$RenderedConnection.RenderedConnection.superClass_.disconnectInternal_.call(this,a,b);a.rendered&&a.render();b.rendered&&(b.updateDisabled(),b.render(),b.getSvgRoot().style.display=\"block\")};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.respawnShadow_=function(){module$exports$Blockly$RenderedConnection.RenderedConnection.superClass_.respawnShadow_.call(this);var a=this.targetBlock();a&&(a.initSvg(),a.render(!1),a=this.getSourceBlock(),a.rendered&&a.render())};module$exports$Blockly$RenderedConnection.RenderedConnection.prototype.neighbours=function(a){return this.dbOpposite_.getNeighbours(this,a)};\nmodule$exports$Blockly$RenderedConnection.RenderedConnection.prototype.connect_=function(a){module$exports$Blockly$RenderedConnection.RenderedConnection.superClass_.connect_.call(this,a);var b=this.getSourceBlock();a=a.getSourceBlock();var c=b.rendered,d=a.rendered;c&&b.updateDisabled();d&&a.updateDisabled();c&&d&&(this.type===$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT||this.type===$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT?a.render():b.render());\nif(b=b.getInputWithBlock(a))b=b.isVisible(),a.getSvgRoot().style.display=b?\"block\":\"none\"};module$exports$Blockly$RenderedConnection.RenderedConnection.prototype.onCheckChanged_=function(){!this.isConnected()||this.targetConnection&&this.getConnectionChecker().canConnect(this,this.targetConnection,!1)||((this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug(),this.sourceBlock_.bumpNeighbours())};var module$exports$Blockly$Marker={Marker:function(){this.drawer_=this.curNode_=this.colour=null;this.type=\"marker\"}};module$exports$Blockly$Marker.Marker.prototype.setDrawer=function(a){this.drawer_=a};module$exports$Blockly$Marker.Marker.prototype.getDrawer=function(){return this.drawer_};module$exports$Blockly$Marker.Marker.prototype.getCurNode=function(){return this.curNode_};\nmodule$exports$Blockly$Marker.Marker.prototype.setCurNode=function(a){var b=this.curNode_;this.curNode_=a;this.drawer_&&this.drawer_.draw(b,this.curNode_)};module$exports$Blockly$Marker.Marker.prototype.draw=function(){this.drawer_&&this.drawer_.draw(this.curNode_,this.curNode_)};module$exports$Blockly$Marker.Marker.prototype.hide=function(){this.drawer_&&this.drawer_.hide()};module$exports$Blockly$Marker.Marker.prototype.dispose=function(){this.getDrawer()&&this.getDrawer().dispose()};var module$exports$Blockly$Cursor={Cursor:function(){module$exports$Blockly$Cursor.Cursor.superClass_.constructor.call(this);this.type=\"cursor\"}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Cursor.Cursor,module$exports$Blockly$Marker.Marker);\nmodule$exports$Blockly$Cursor.Cursor.prototype.next=function(){var a=this.getCurNode();if(!a)return null;for(a=a.next();a&&a.next()&&(a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.NEXT||a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.BLOCK);)a=a.next();a&&this.setCurNode(a);return a};\nmodule$exports$Blockly$Cursor.Cursor.prototype.in=function(){var a=this.getCurNode();if(!a)return null;if(a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.PREVIOUS||a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.OUTPUT)a=a.next();(a=a.in())&&this.setCurNode(a);return a};\nmodule$exports$Blockly$Cursor.Cursor.prototype.prev=function(){var a=this.getCurNode();if(!a)return null;for(a=a.prev();a&&a.prev()&&(a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.NEXT||a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.BLOCK);)a=a.prev();a&&this.setCurNode(a);return a};\nmodule$exports$Blockly$Cursor.Cursor.prototype.out=function(){var a=this.getCurNode();if(!a)return null;(a=a.out())&&a.getType()===module$exports$Blockly$ASTNode.ASTNode.types.BLOCK&&(a=a.prev()||a);a&&this.setCurNode(a);return a};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.CURSOR,module$exports$Blockly$registry.DEFAULT,module$exports$Blockly$Cursor.Cursor);var module$exports$Blockly$BasicCursor={BasicCursor:function(){module$exports$Blockly$BasicCursor.BasicCursor.superClass_.constructor.call(this)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$BasicCursor.BasicCursor,module$exports$Blockly$Cursor.Cursor);module$exports$Blockly$BasicCursor.BasicCursor.registrationName=\"basicCursor\";\nmodule$exports$Blockly$BasicCursor.BasicCursor.prototype.next=function(){var a=this.getCurNode();if(!a)return null;(a=this.getNextNode_(a,this.validNode_))&&this.setCurNode(a);return a};module$exports$Blockly$BasicCursor.BasicCursor.prototype.in=function(){return this.next()};module$exports$Blockly$BasicCursor.BasicCursor.prototype.prev=function(){var a=this.getCurNode();if(!a)return null;(a=this.getPreviousNode_(a,this.validNode_))&&this.setCurNode(a);return a};\nmodule$exports$Blockly$BasicCursor.BasicCursor.prototype.out=function(){return this.prev()};module$exports$Blockly$BasicCursor.BasicCursor.prototype.getNextNode_=function(a,b){if(!a)return null;var c=a.in()||a.next();if(b(c))return c;if(c)return this.getNextNode_(c,b);a=this.findSiblingOrParent_(a.out());return b(a)?a:a?this.getNextNode_(a,b):null};\nmodule$exports$Blockly$BasicCursor.BasicCursor.prototype.getPreviousNode_=function(a,b){if(!a)return null;var c=a.prev();c=c?this.getRightMostChild_(c):a.out();return b(c)?c:c?this.getPreviousNode_(c,b):null};\nmodule$exports$Blockly$BasicCursor.BasicCursor.prototype.validNode_=function(a){var b=!1;a=a&&a.getType();if(a===module$exports$Blockly$ASTNode.ASTNode.types.OUTPUT||a===module$exports$Blockly$ASTNode.ASTNode.types.INPUT||a===module$exports$Blockly$ASTNode.ASTNode.types.FIELD||a===module$exports$Blockly$ASTNode.ASTNode.types.NEXT||a===module$exports$Blockly$ASTNode.ASTNode.types.PREVIOUS||a===module$exports$Blockly$ASTNode.ASTNode.types.WORKSPACE)b=!0;return b};\nmodule$exports$Blockly$BasicCursor.BasicCursor.prototype.findSiblingOrParent_=function(a){if(!a)return null;var b=a.next();return b?b:this.findSiblingOrParent_(a.out())};module$exports$Blockly$BasicCursor.BasicCursor.prototype.getRightMostChild_=function(a){if(!a.in())return a;for(a=a.in();a.next();)a=a.next();return this.getRightMostChild_(a)};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.CURSOR,module$exports$Blockly$BasicCursor.BasicCursor.registrationName,module$exports$Blockly$BasicCursor.BasicCursor);var module$exports$Blockly$TabNavigateCursor={TabNavigateCursor:function(){module$exports$Blockly$TabNavigateCursor.TabNavigateCursor.superClass_.constructor.call(this)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$TabNavigateCursor.TabNavigateCursor,module$exports$Blockly$BasicCursor.BasicCursor);\nmodule$exports$Blockly$TabNavigateCursor.TabNavigateCursor.prototype.validNode_=function(a){var b=!1,c=a&&a.getType();a&&(a=a.getLocation(),c===module$exports$Blockly$ASTNode.ASTNode.types.FIELD&&a&&a.isTabNavigable()&&a.isClickable()&&(b=!0));return b};var module$exports$Blockly$Events$Selected={Selected:function(a,b,c){module$exports$Blockly$Events$Selected.Selected.superClass_.constructor.call(this,c);this.oldElementId=a;this.newElementId=b}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$Selected.Selected,module$exports$Blockly$Events$UiBase.UiBase);module$exports$Blockly$Events$Selected.Selected.prototype.type=module$exports$Blockly$Events$utils.SELECTED;\nmodule$exports$Blockly$Events$Selected.Selected.prototype.toJson=function(){var a=module$exports$Blockly$Events$Selected.Selected.superClass_.toJson.call(this);a.oldElementId=this.oldElementId;a.newElementId=this.newElementId;return a};module$exports$Blockly$Events$Selected.Selected.prototype.fromJson=function(a){module$exports$Blockly$Events$Selected.Selected.superClass_.fromJson.call(this,a);this.oldElementId=a.oldElementId;this.newElementId=a.newElementId};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.SELECTED,module$exports$Blockly$Events$Selected.Selected);var module$exports$Blockly$BlockSvg={BlockSvg:function(a,b,c){this.svgGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{},null);this.svgGroup_.translate_=\"\";this.style=a.getRenderer().getConstants().getBlockStyle(null);this.pathObject=a.getRenderer().makePathObject(this.svgGroup_,this.style);this.renderIsInProgress_=this.rendered=!1;this.workspace=a;this.previousConnection=this.nextConnection=this.outputConnection=null;this.useDragSurface_=(0,module$exports$Blockly$utils$svgMath.is3dSupported)()&&\n!!a.getBlockDragSurface();var d=this.pathObject.svgPath;d.tooltip=this;(0,module$exports$Blockly$Tooltip.bindMouseEvents)(d);module$exports$Blockly$BlockSvg.BlockSvg.superClass_.constructor.call(this,a,b,c);this.svgGroup_.dataset?this.svgGroup_.dataset.id=this.id:module$exports$Blockly$utils$userAgent.IE&&this.svgGroup_.setAttribute(\"data-id\",this.id)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$BlockSvg.BlockSvg,module$exports$Blockly$Block.Block);\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.height=0;module$exports$Blockly$BlockSvg.BlockSvg.prototype.width=0;module$exports$Blockly$BlockSvg.BlockSvg.prototype.warningTextDb_=null;module$exports$Blockly$BlockSvg.BlockSvg.INLINE=-1;module$exports$Blockly$BlockSvg.BlockSvg.COLLAPSED_WARNING_ID=\"TEMP_COLLAPSED_WARNING_\";\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.initSvg=function(){if(!this.workspace.rendered)throw TypeError(\"Workspace is headless.\");for(var a=0,b;b=this.inputList[a];a++)b.init();a=this.getIcons();for(b=0;b<a.length;b++)a[b].createIcon();this.applyColour();this.pathObject.updateMovable(this.isMovable());a=this.getSvgRoot();this.workspace.options.readOnly||this.eventsInit_||!a||(0,module$exports$Blockly$browserEvents.conditionalBind)(a,\"mousedown\",this,this.onMouseDown_);this.eventsInit_=!0;\na.parentNode||this.workspace.getCanvas().appendChild(a)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.getColourSecondary=function(){return this.style.colourSecondary};module$exports$Blockly$BlockSvg.BlockSvg.prototype.getColourTertiary=function(){return this.style.colourTertiary};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.select=function(){if(this.isShadow()&&this.getParent())this.getParent().select();else if((0,$.module$exports$Blockly$common.getSelected)()!==this){var a=null;if((0,$.module$exports$Blockly$common.getSelected)()){a=(0,$.module$exports$Blockly$common.getSelected)().id;(0,module$exports$Blockly$Events$utils.disable)();try{(0,$.module$exports$Blockly$common.getSelected)().unselect()}finally{(0,module$exports$Blockly$Events$utils.enable)()}}a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.SELECTED))(a,\nthis.id,this.workspace.id);(0,module$exports$Blockly$Events$utils.fire)(a);(0,$.module$exports$Blockly$common.setSelected)(this);this.addSelect()}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.unselect=function(){if((0,$.module$exports$Blockly$common.getSelected)()===this){var a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.SELECTED))(this.id,null,this.workspace.id);a.workspaceId=this.workspace.id;(0,module$exports$Blockly$Events$utils.fire)(a);(0,$.module$exports$Blockly$common.setSelected)(null);this.removeSelect()}};module$exports$Blockly$BlockSvg.BlockSvg.prototype.mutator=null;\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.comment=null;module$exports$Blockly$BlockSvg.BlockSvg.prototype.commentIcon_=null;module$exports$Blockly$BlockSvg.BlockSvg.prototype.warning=null;module$exports$Blockly$BlockSvg.BlockSvg.prototype.getIcons=function(){var a=[];this.mutator&&a.push(this.mutator);this.commentIcon_&&a.push(this.commentIcon_);this.warning&&a.push(this.warning);return a};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setParent=function(a){var b=this.parentBlock_;if(a!==b){(0,module$exports$Blockly$utils$dom.startTextWidthCache)();module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setParent.call(this,a);(0,module$exports$Blockly$utils$dom.stopTextWidthCache)();var c=this.getSvgRoot();if(!this.workspace.isClearing&&c){var d=this.getRelativeToSurfaceXY();a?(a.getSvgRoot().appendChild(c),a=this.getRelativeToSurfaceXY(),this.moveConnections(a.x-d.x,a.y-d.y)):b&&\n(this.workspace.getCanvas().appendChild(c),this.translate(d.x,d.y));this.applyColour()}}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.getRelativeToSurfaceXY=function(){var a=0,b=0,c=this.useDragSurface_?this.workspace.getBlockDragSurface().getGroup():null,d=this.getSvgRoot();if(d){do{var e=(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(d);a+=e.x;b+=e.y;this.useDragSurface_&&this.workspace.getBlockDragSurface().getCurrentBlock()===d&&(e=this.workspace.getBlockDragSurface().getSurfaceTranslation(),a+=e.x,b+=e.y);d=d.parentNode}while(d&&d!==this.workspace.getCanvas()&&d!==\nc)}return new module$exports$Blockly$utils$Coordinate.Coordinate(a,b)};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.moveBy=function(a,b){if(this.parentBlock_)throw Error(\"Block has parent.\");var c=(0,module$exports$Blockly$Events$utils.isEnabled)(),d;c&&(d=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.MOVE))(this));var e=this.getRelativeToSurfaceXY();this.translate(e.x+a,e.y+b);this.moveConnections(a,b);c&&(d.recordNew(),(0,module$exports$Blockly$Events$utils.fire)(d));this.workspace.resizeContents()};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.translate=function(a,b){this.getSvgRoot().setAttribute(\"transform\",\"translate(\"+a+\",\"+b+\")\")};module$exports$Blockly$BlockSvg.BlockSvg.prototype.moveToDragSurface=function(){if(this.useDragSurface_){var a=this.getRelativeToSurfaceXY();this.clearTransformAttributes_();this.workspace.getBlockDragSurface().translateSurface(a.x,a.y);(a=this.getSvgRoot())&&this.workspace.getBlockDragSurface().setBlocksAndShow(a)}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.moveTo=function(a){var b=this.getRelativeToSurfaceXY();this.moveBy(a.x-b.x,a.y-b.y)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.moveOffDragSurface=function(a){this.useDragSurface_&&(this.translate(a.x,a.y),this.workspace.getBlockDragSurface().clearAndHide(this.workspace.getCanvas()))};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.moveDuringDrag=function(a){this.useDragSurface_?this.workspace.getBlockDragSurface().translateSurface(a.x,a.y):(this.svgGroup_.translate_=\"translate(\"+a.x+\",\"+a.y+\")\",this.svgGroup_.setAttribute(\"transform\",this.svgGroup_.translate_+this.svgGroup_.skew_))};module$exports$Blockly$BlockSvg.BlockSvg.prototype.clearTransformAttributes_=function(){this.getSvgRoot().removeAttribute(\"transform\")};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.snapToGrid=function(){if(this.workspace&&!this.workspace.isDragging()&&!this.getParent()&&!this.isInFlyout){var a=this.workspace.getGrid();if(a&&a.shouldSnap()){var b=a.getSpacing(),c=b/2,d=this.getRelativeToSurfaceXY();a=Math.round(Math.round((d.x-c)/b)*b+c-d.x);b=Math.round(Math.round((d.y-c)/b)*b+c-d.y);(a||b)&&this.moveBy(a,b)}}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.getBoundingRectangle=function(){var a=this.getRelativeToSurfaceXY(),b=this.getHeightWidth();if(this.RTL){var c=a.x-b.width;var d=a.x}else c=a.x,d=a.x+b.width;return new module$exports$Blockly$utils$Rect.Rect(a.y,a.y+b.height,c,d)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.markDirty=function(){this.pathObject.constants=this.workspace.getRenderer().getConstants();for(var a=0,b;b=this.inputList[a];a++)b.markDirty()};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setCollapsed=function(a){this.collapsed_!==a&&(module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setCollapsed.call(this,a),a?this.rendered&&this.render():this.updateCollapsed_())};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.updateCollapsed_=function(){for(var a=this.isCollapsed(),b=module$exports$Blockly$constants.COLLAPSED_INPUT_NAME,c=module$exports$Blockly$constants.COLLAPSED_FIELD_NAME,d=0,e;e=this.inputList[d];d++)e.name!==b&&e.setVisible(!a);if(a){a=this.getIcons();for(d=0;e=a[d];d++)e.setVisible(!1);a=this.toString($.module$exports$Blockly$internalConstants.COLLAPSE_CHARS);(d=this.getField(c))?d.setValue(a):(this.getInput(b)||this.appendDummyInput(b)).appendField(new $.module$exports$Blockly$FieldLabel.FieldLabel(a),\nc)}else this.updateDisabled(),this.removeInput(b)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.tab=function(a,b){var c=new module$exports$Blockly$TabNavigateCursor.TabNavigateCursor;c.setCurNode(module$exports$Blockly$ASTNode.ASTNode.createFieldNode(a));a=c.getCurNode();b?c.next():c.prev();(b=c.getCurNode())&&b!==a&&(b.getLocation().showEditor(),this.workspace.keyboardAccessibilityMode&&this.workspace.getCursor().setCurNode(b))};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.onMouseDown_=function(a){var b=this.workspace&&this.workspace.getGesture(a);b&&b.handleBlockStart(a,this)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.showHelp=function(){var a=\"function\"===typeof this.helpUrl?this.helpUrl():this.helpUrl;a&&window.open(a)};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.generateContextMenu=function(){if(this.workspace.options.readOnly||!this.contextMenu)return null;var a=module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.getContextMenuOptions(module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.BLOCK,{block:this});this.customContextMenu&&this.customContextMenu(a);return a};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.showContextMenu=function(a){var b=this.generateContextMenu();b&&b.length&&((0,$.module$exports$Blockly$ContextMenu.show)(a,b,this.RTL),(0,$.module$exports$Blockly$ContextMenu.setCurrentBlock)(this))};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.moveConnections=function(a,b){if(this.rendered){for(var c=this.getConnections_(!1),d=0;d<c.length;d++)c[d].moveBy(a,b);c=this.getIcons();for(d=0;d<c.length;d++)c[d].computeIconLocation();for(c=0;c<this.childBlocks_.length;c++)this.childBlocks_[c].moveConnections(a,b)}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setDragging=function(a){if(a){var b=this.getSvgRoot();b.translate_=\"\";b.skew_=\"\";$.module$exports$Blockly$common.draggingConnections.push.apply($.module$exports$Blockly$common.draggingConnections,$jscomp.arrayFromIterable(this.getConnections_(!0)));(0,module$exports$Blockly$utils$dom.addClass)(this.svgGroup_,\"blocklyDragging\")}else $.module$exports$Blockly$common.draggingConnections.length=0,(0,module$exports$Blockly$utils$dom.removeClass)(this.svgGroup_,\n\"blocklyDragging\");for(b=0;b<this.childBlocks_.length;b++)this.childBlocks_[b].setDragging(a)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.setMovable=function(a){module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setMovable.call(this,a);this.pathObject.updateMovable(a)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.setEditable=function(a){module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setEditable.call(this,a);a=this.getIcons();for(var b=0;b<a.length;b++)a[b].updateEditable()};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setShadow=function(a){module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setShadow.call(this,a);this.applyColour()};module$exports$Blockly$BlockSvg.BlockSvg.prototype.setInsertionMarker=function(a){this.isInsertionMarker_!==a&&(this.isInsertionMarker_=a)&&(this.setColour(this.workspace.getRenderer().getConstants().INSERTION_MARKER_COLOUR),this.pathObject.updateInsertionMarker(!0))};module$exports$Blockly$BlockSvg.BlockSvg.prototype.getSvgRoot=function(){return this.svgGroup_};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.dispose=function(a,b){if(this.workspace){(0,module$exports$Blockly$Tooltip.dispose)();(0,module$exports$Blockly$Tooltip.unbindMouseEvents)(this.pathObject.svgPath);(0,module$exports$Blockly$utils$dom.startTextWidthCache)();var c=this.workspace;(0,$.module$exports$Blockly$common.getSelected)()===this&&(this.unselect(),this.workspace.cancelCurrentGesture());(0,$.module$exports$Blockly$ContextMenu.getCurrentBlock)()===this&&(0,$.module$exports$Blockly$ContextMenu.hide)();\nb&&this.rendered&&(this.unplug(a),(0,module$exports$Blockly$blockAnimations.disposeUiEffect)(this));this.rendered=!1;if(this.warningTextDb_){for(var d in this.warningTextDb_)clearTimeout(this.warningTextDb_[d]);this.warningTextDb_=null}b=this.getIcons();for(d=0;d<b.length;d++)b[d].dispose();module$exports$Blockly$BlockSvg.BlockSvg.superClass_.dispose.call(this,!!a);(0,module$exports$Blockly$utils$dom.removeNode)(this.svgGroup_);c.resizeContents();this.svgGroup_=null;(0,module$exports$Blockly$utils$dom.stopTextWidthCache)()}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.checkAndDelete=function(){this.workspace.isFlyout||((0,module$exports$Blockly$Events$utils.setGroup)(!0),this.workspace.hideChaff(),this.outputConnection?this.dispose(!1,!0):this.dispose(!0,!0),(0,module$exports$Blockly$Events$utils.setGroup)(!1))};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.toCopyData=function(){return this.isInsertionMarker_?null:{saveInfo:(0,module$exports$Blockly$serialization$blocks.save)(this,{addCoordinates:!0,addNextBlocks:!1}),source:this.workspace,typeCounts:(0,$.module$exports$Blockly$common.getBlockTypeCounts)(this,!0)}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.applyColour=function(){this.pathObject.applyColour(this);for(var a=this.getIcons(),b=0;b<a.length;b++)a[b].applyColour();for(a=0;b=this.inputList[a];a++)for(var c=0,d;d=b.fieldRow[c];c++)d.applyColour()};module$exports$Blockly$BlockSvg.BlockSvg.prototype.updateDisabled=function(){var a=this.getChildren(!1);this.applyColour();if(!this.isCollapsed())for(var b=0,c;c=a[b];b++)c.rendered&&c.updateDisabled()};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.getCommentIcon=function(){return this.commentIcon_};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setCommentText=function(a){var b=module$exports$Blockly$Comment.Comment;if(!b)throw Error(\"Missing require for Blockly.Comment\");this.commentModel.text!==a&&(module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setCommentText.call(this,a),a=null!==a,!!this.commentIcon_===a?this.commentIcon_.updateText():(a?this.comment=this.commentIcon_=new b(this):(this.commentIcon_.dispose(),this.comment=this.commentIcon_=null),this.rendered&&(this.render(),this.bumpNeighbours())))};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setWarningText=function(a,b){var c=module$exports$Blockly$Warning.Warning;if(!c)throw Error(\"Missing require for Blockly.Warning\");this.warningTextDb_||(this.warningTextDb_=Object.create(null));var d=b||\"\";if(d)this.warningTextDb_[d]&&(clearTimeout(this.warningTextDb_[d]),delete this.warningTextDb_[d]);else{b=$jscomp.makeIterator(Object.keys(this.warningTextDb_));for(var e=b.next();!e.done;e=b.next())e=e.value,clearTimeout(this.warningTextDb_[e]),\ndelete this.warningTextDb_[e]}if(this.workspace.isDragging()){var f=this;this.warningTextDb_[d]=setTimeout(function(){f.workspace&&(delete f.warningTextDb_[d],f.setWarningText(a,d))},100)}else{this.isInFlyout&&(a=null);b=!1;if(\"string\"===typeof a){e=this.getSurroundParent();for(var g=null;e;)e.isCollapsed()&&(g=e),e=e.getSurroundParent();g&&g.setWarningText($.module$exports$Blockly$Msg.Msg.COLLAPSED_WARNINGS_WARNING,module$exports$Blockly$BlockSvg.BlockSvg.COLLAPSED_WARNING_ID);this.warning||(this.warning=\nnew c(this),b=!0);this.warning.setText(a,d)}else this.warning&&!d?(this.warning.dispose(),b=!0):this.warning&&(c=this.warning.getText(),this.warning.setText(\"\",d),(b=this.warning.getText())||this.warning.dispose(),b=c!==b);b&&this.rendered&&(this.render(),this.bumpNeighbours())}};module$exports$Blockly$BlockSvg.BlockSvg.prototype.setMutator=function(a){this.mutator&&this.mutator!==a&&this.mutator.dispose();a&&(a.setBlock(this),this.mutator=a,a.createIcon());this.rendered&&(this.render(),this.bumpNeighbours())};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setEnabled=function(a){this.isEnabled()!==a&&(module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setEnabled.call(this,a),this.rendered&&!this.getInheritedDisabled()&&this.updateDisabled())};module$exports$Blockly$BlockSvg.BlockSvg.prototype.setHighlighted=function(a){this.rendered&&this.pathObject.updateHighlighted(a)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.addSelect=function(){this.pathObject.updateSelected(!0)};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.removeSelect=function(){this.pathObject.updateSelected(!1)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.setDeleteStyle=function(a){this.pathObject.updateDraggingDelete(a)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.getColour=function(){return this.style.colourPrimary};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setColour=function(a){module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setColour.call(this,a);a=this.workspace.getRenderer().getConstants().getBlockStyleForColour(this.colour_);this.pathObject.setStyle(a.style);this.style=a.style;this.styleName_=a.name;this.applyColour()};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setStyle=function(a){var b=this.workspace.getRenderer().getConstants().getBlockStyle(a);this.styleName_=a;if(b)this.hat=b.hat,this.pathObject.setStyle(b),this.colour_=b.colourPrimary,this.style=b,this.applyColour();else throw Error(\"Invalid style name: \"+a);};module$exports$Blockly$BlockSvg.BlockSvg.prototype.bringToFront=function(){var a=this;do{var b=a.getSvgRoot(),c=b.parentNode,d=c.childNodes;d[d.length-1]!==b&&c.appendChild(b);a=a.getParent()}while(a)};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setPreviousStatement=function(a,b){module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setPreviousStatement.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours())};module$exports$Blockly$BlockSvg.BlockSvg.prototype.setNextStatement=function(a,b){module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setNextStatement.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours())};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setOutput=function(a,b){module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setOutput.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours())};module$exports$Blockly$BlockSvg.BlockSvg.prototype.setInputsInline=function(a){module$exports$Blockly$BlockSvg.BlockSvg.superClass_.setInputsInline.call(this,a);this.rendered&&(this.render(),this.bumpNeighbours())};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.removeInput=function(a,b){a=module$exports$Blockly$BlockSvg.BlockSvg.superClass_.removeInput.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours());return a};module$exports$Blockly$BlockSvg.BlockSvg.prototype.moveNumberedInputBefore=function(a,b){module$exports$Blockly$BlockSvg.BlockSvg.superClass_.moveNumberedInputBefore.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours())};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.appendInput_=function(a,b){a=module$exports$Blockly$BlockSvg.BlockSvg.superClass_.appendInput_.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours());return a};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setConnectionTracking=function(a){this.previousConnection&&this.previousConnection.setTracking(a);this.outputConnection&&this.outputConnection.setTracking(a);if(this.nextConnection){this.nextConnection.setTracking(a);var b=this.nextConnection.targetBlock();b&&b.setConnectionTracking(a)}if(!this.collapsed_)for(b=0;b<this.inputList.length;b++){var c=this.inputList[b].connection;c&&(c.setTracking(a),(c=c.targetBlock())&&c.setConnectionTracking(a))}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.getConnections_=function(a){var b=[];if(a||this.rendered)if(this.outputConnection&&b.push(this.outputConnection),this.previousConnection&&b.push(this.previousConnection),this.nextConnection&&b.push(this.nextConnection),a||!this.collapsed_){a=0;for(var c;c=this.inputList[a];a++)c.connection&&b.push(c.connection)}return b};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.lastConnectionInStack=function(a){return module$exports$Blockly$BlockSvg.BlockSvg.superClass_.lastConnectionInStack.call(this,a)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.getMatchingConnection=function(a,b){return module$exports$Blockly$BlockSvg.BlockSvg.superClass_.getMatchingConnection.call(this,a,b)};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.makeConnection_=function(a){return new module$exports$Blockly$RenderedConnection.RenderedConnection(this,a)};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.bumpNeighbours=function(){if(this.workspace&&!this.workspace.isDragging()){var a=this.getRootBlock();if(!a.isInFlyout)for(var b=this.getConnections_(!1),c=0,d;d=b[c];c++){d.isConnected()&&d.isSuperior()&&d.targetBlock().bumpNeighbours();for(var e=d.neighbours($.module$exports$Blockly$internalConstants.SNAP_RADIUS),f=0,g;g=e[f];f++)d.isConnected()&&g.isConnected()||g.getSourceBlock().getRootBlock()!==a&&(d.isSuperior()?g.bumpAwayFrom(d):d.bumpAwayFrom(g))}}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.scheduleSnapAndBump=function(){var a=this,b=(0,module$exports$Blockly$Events$utils.getGroup)();setTimeout(function(){(0,module$exports$Blockly$Events$utils.setGroup)(b);a.snapToGrid();(0,module$exports$Blockly$Events$utils.setGroup)(!1)},$.module$exports$Blockly$internalConstants.BUMP_DELAY/2);setTimeout(function(){(0,module$exports$Blockly$Events$utils.setGroup)(b);a.bumpNeighbours();(0,module$exports$Blockly$Events$utils.setGroup)(!1)},$.module$exports$Blockly$internalConstants.BUMP_DELAY)};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.positionNearConnection=function(a,b){a.type!==$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT&&a.type!==$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE||this.moveBy(b.x-a.x,b.y-a.y)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.getParent=function(){return module$exports$Blockly$BlockSvg.BlockSvg.superClass_.getParent.call(this)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.getRootBlock=function(){return module$exports$Blockly$BlockSvg.BlockSvg.superClass_.getRootBlock.call(this)};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.render=function(a){if(!this.renderIsInProgress_){this.renderIsInProgress_=!0;try{this.rendered=!0;(0,module$exports$Blockly$utils$dom.startTextWidthCache)();this.isCollapsed()&&this.updateCollapsed_();this.workspace.getRenderer().render(this);this.updateConnectionLocations_();if(!1!==a){var b=this.getParent();b?b.render(!0):this.workspace.resizeContents()}(0,module$exports$Blockly$utils$dom.stopTextWidthCache)();this.updateMarkers_()}finally{this.renderIsInProgress_=\n!1}}};module$exports$Blockly$BlockSvg.BlockSvg.prototype.updateMarkers_=function(){this.workspace.keyboardAccessibilityMode&&this.pathObject.cursorSvg&&this.workspace.getCursor().draw();this.workspace.keyboardAccessibilityMode&&this.pathObject.markerSvg&&this.workspace.getMarker(module$exports$Blockly$MarkerManager.MarkerManager.LOCAL_MARKER).draw()};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.updateConnectionLocations_=function(){var a=this.getRelativeToSurfaceXY();this.previousConnection&&this.previousConnection.moveToOffset(a);this.outputConnection&&this.outputConnection.moveToOffset(a);for(var b=0;b<this.inputList.length;b++){var c=this.inputList[b].connection;c&&(c.moveToOffset(a),c.isConnected()&&c.tighten())}this.nextConnection&&(this.nextConnection.moveToOffset(a),this.nextConnection.isConnected()&&this.nextConnection.tighten())};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.setCursorSvg=function(a){this.pathObject.setCursorSvg(a)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.setMarkerSvg=function(a){this.pathObject.setMarkerSvg(a)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.getHeightWidth=function(){var a=this.height,b=this.width,c=this.getNextBlock();if(c){c=c.getHeightWidth();var d=this.workspace.getRenderer().getConstants().NOTCH_HEIGHT;a+=c.height-d;b=Math.max(b,c.width)}return{height:a,width:b}};\nmodule$exports$Blockly$BlockSvg.BlockSvg.prototype.fadeForReplacement=function(a){this.pathObject.updateReplacementFade(a)};module$exports$Blockly$BlockSvg.BlockSvg.prototype.highlightShapeForInput=function(a,b){this.pathObject.updateShapeForInputHighlight(a,b)};var module$exports$Blockly$ConnectionDB={ConnectionDB:function(a){this.connections_=[];this.connectionChecker_=a}};module$exports$Blockly$ConnectionDB.ConnectionDB.prototype.addConnection=function(a,b){b=this.calculateIndexForYPos_(b);this.connections_.splice(b,0,a)};\nmodule$exports$Blockly$ConnectionDB.ConnectionDB.prototype.findIndexOfConnection_=function(a,b){if(!this.connections_.length)return-1;var c=this.calculateIndexForYPos_(b);if(c>=this.connections_.length)return-1;b=a.y;for(var d=c;0<=d&&this.connections_[d].y===b;){if(this.connections_[d]===a)return d;d--}for(d=c;d<this.connections_.length&&this.connections_[d].y===b;){if(this.connections_[d]===a)return d;d++}return-1};\nmodule$exports$Blockly$ConnectionDB.ConnectionDB.prototype.calculateIndexForYPos_=function(a){if(!this.connections_.length)return 0;for(var b=0,c=this.connections_.length;b<c;){var d=Math.floor((b+c)/2);if(this.connections_[d].y<a)b=d+1;else if(this.connections_[d].y>a)c=d;else{b=d;break}}return b};\nmodule$exports$Blockly$ConnectionDB.ConnectionDB.prototype.removeConnection=function(a,b){a=this.findIndexOfConnection_(a,b);if(-1===a)throw Error(\"Unable to find connection in connectionDB.\");this.connections_.splice(a,1)};\nmodule$exports$Blockly$ConnectionDB.ConnectionDB.prototype.getNeighbours=function(a,b){function c(l){var m=e-d[l].x,n=f-d[l].y;Math.sqrt(m*m+n*n)<=b&&k.push(d[l]);return n<b}var d=this.connections_,e=a.x,f=a.y;a=0;for(var g=d.length-2,h=g;a<h;)d[h].y<f?a=h:g=h,h=Math.floor((a+g)/2);var k=[];g=a=h;if(d.length){for(;0<=a&&c(a);)a--;do g++;while(g<d.length&&c(g))}return k};\nmodule$exports$Blockly$ConnectionDB.ConnectionDB.prototype.isInYRange_=function(a,b,c){return Math.abs(this.connections_[a].y-b)<=c};\nmodule$exports$Blockly$ConnectionDB.ConnectionDB.prototype.searchForClosest=function(a,b,c){if(!this.connections_.length)return{connection:null,radius:b};var d=a.y,e=a.x;a.x=e+c.x;a.y=d+c.y;var f=this.calculateIndexForYPos_(a.y);c=null;for(var g=b,h,k=f-1;0<=k&&this.isInYRange_(k,a.y,b);)h=this.connections_[k],this.connectionChecker_.canConnect(a,h,!0,g)&&(c=h,g=h.distanceFrom(a)),k--;for(;f<this.connections_.length&&this.isInYRange_(f,a.y,b);)h=this.connections_[f],this.connectionChecker_.canConnect(a,\nh,!0,g)&&(c=h,g=h.distanceFrom(a)),f++;a.x=e;a.y=d;return{connection:c,radius:g}};\nmodule$exports$Blockly$ConnectionDB.ConnectionDB.init=function(a){var b=[];b[$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE]=new module$exports$Blockly$ConnectionDB.ConnectionDB(a);b[$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE]=new module$exports$Blockly$ConnectionDB.ConnectionDB(a);b[$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT]=new module$exports$Blockly$ConnectionDB.ConnectionDB(a);b[$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT]=\nnew module$exports$Blockly$ConnectionDB.ConnectionDB(a);return b};var module$exports$Blockly$ThemeManager={ThemeManager:function(a,b){this.workspace_=a;this.theme_=b;this.subscribedWorkspaces_=[];this.componentDB_=Object.create(null)}};module$exports$Blockly$ThemeManager.ThemeManager.prototype.getTheme=function(){return this.theme_};\nmodule$exports$Blockly$ThemeManager.ThemeManager.prototype.setTheme=function(a){var b=this.theme_;this.theme_=a;if(a=this.workspace_.getInjectionDiv())b&&(0,module$exports$Blockly$utils$dom.removeClass)(a,b.getClassName()),(0,module$exports$Blockly$utils$dom.addClass)(a,this.theme_.getClassName());for(b=0;a=this.subscribedWorkspaces_[b];b++)a.refreshTheme();b=0;a=Object.keys(this.componentDB_);for(var c;c=a[b];b++)for(var d=0,e;e=this.componentDB_[c][d];d++){var f=e.element;e=e.propertyName;var g=\nthis.theme_&&this.theme_.getComponentStyle(c);f.style[e]=g||\"\"}b=$jscomp.makeIterator(this.subscribedWorkspaces_);for(a=b.next();!a.done;a=b.next())a.value.hideChaff()};module$exports$Blockly$ThemeManager.ThemeManager.prototype.subscribeWorkspace=function(a){this.subscribedWorkspaces_.push(a)};\nmodule$exports$Blockly$ThemeManager.ThemeManager.prototype.unsubscribeWorkspace=function(a){if(!(0,module$exports$Blockly$utils$array.removeElem)(this.subscribedWorkspaces_,a))throw Error(\"Cannot unsubscribe a workspace that hasn't been subscribed.\");};\nmodule$exports$Blockly$ThemeManager.ThemeManager.prototype.subscribe=function(a,b,c){this.componentDB_[b]||(this.componentDB_[b]=[]);this.componentDB_[b].push({element:a,propertyName:c});b=this.theme_&&this.theme_.getComponentStyle(b);a.style[c]=b||\"\"};\nmodule$exports$Blockly$ThemeManager.ThemeManager.prototype.unsubscribe=function(a){if(a)for(var b=Object.keys(this.componentDB_),c=0,d;d=b[c];c++){for(var e=this.componentDB_[d],f=e.length-1;0<=f;f--)e[f].element===a&&e.splice(f,1);this.componentDB_[d].length||delete this.componentDB_[d]}};module$exports$Blockly$ThemeManager.ThemeManager.prototype.dispose=function(){this.componentDB_=this.subscribedWorkspaces_=this.theme_=this.owner_=null};var module$exports$Blockly$TouchGesture={TouchGesture:function(a,b){module$exports$Blockly$TouchGesture.TouchGesture.superClass_.constructor.call(this,a,b);this.isMultiTouch_=!1;this.cachedPoints_=Object.create(null);this.startDistance_=this.previousScale_=0;this.isPinchZoomEnabled_=this.onStartWrapper_=null}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$TouchGesture.TouchGesture,module$exports$Blockly$Gesture.Gesture);\nmodule$exports$Blockly$TouchGesture.TouchGesture.ZOOM_IN_MULTIPLIER=5;module$exports$Blockly$TouchGesture.TouchGesture.ZOOM_OUT_MULTIPLIER=6;module$exports$Blockly$TouchGesture.TouchGesture.prototype.doStart=function(a){this.isPinchZoomEnabled_=this.startWorkspace_.options.zoomOptions&&this.startWorkspace_.options.zoomOptions.pinch;module$exports$Blockly$TouchGesture.TouchGesture.superClass_.doStart.call(this,a);!this.isEnding_&&(0,module$exports$Blockly$Touch.isTouchEvent)(a)&&this.handleTouchStart(a)};\nmodule$exports$Blockly$TouchGesture.TouchGesture.prototype.bindMouseEvents=function(a){this.onStartWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mousedown\",null,this.handleStart.bind(this),!0);this.onMoveWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mousemove\",null,this.handleMove.bind(this),!0);this.onUpWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mouseup\",null,this.handleUp.bind(this),!0);a.preventDefault();\na.stopPropagation()};module$exports$Blockly$TouchGesture.TouchGesture.prototype.handleStart=function(a){!this.isDragging()&&(0,module$exports$Blockly$Touch.isTouchEvent)(a)&&(this.handleTouchStart(a),this.isMultiTouch()&&(0,module$exports$Blockly$Touch.longStop)())};\nmodule$exports$Blockly$TouchGesture.TouchGesture.prototype.handleMove=function(a){this.isDragging()?(0,module$exports$Blockly$Touch.shouldHandleEvent)(a)&&module$exports$Blockly$TouchGesture.TouchGesture.superClass_.handleMove.call(this,a):this.isMultiTouch()?((0,module$exports$Blockly$Touch.isTouchEvent)(a)&&this.handleTouchMove(a),(0,module$exports$Blockly$Touch.longStop)()):module$exports$Blockly$TouchGesture.TouchGesture.superClass_.handleMove.call(this,a)};\nmodule$exports$Blockly$TouchGesture.TouchGesture.prototype.handleUp=function(a){(0,module$exports$Blockly$Touch.isTouchEvent)(a)&&!this.isDragging()&&this.handleTouchEnd(a);!this.isMultiTouch()||this.isDragging()?(0,module$exports$Blockly$Touch.shouldHandleEvent)(a)&&module$exports$Blockly$TouchGesture.TouchGesture.superClass_.handleUp.call(this,a):(a.preventDefault(),a.stopPropagation(),this.dispose())};module$exports$Blockly$TouchGesture.TouchGesture.prototype.isMultiTouch=function(){return this.isMultiTouch_};\nmodule$exports$Blockly$TouchGesture.TouchGesture.prototype.dispose=function(){module$exports$Blockly$TouchGesture.TouchGesture.superClass_.dispose.call(this);this.onStartWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.onStartWrapper_)};\nmodule$exports$Blockly$TouchGesture.TouchGesture.prototype.handleTouchStart=function(a){var b=(0,module$exports$Blockly$Touch.getTouchIdentifierFromEvent)(a);this.cachedPoints_[b]=this.getTouchPoint(a);b=Object.keys(this.cachedPoints_);2===b.length&&(this.startDistance_=module$exports$Blockly$utils$Coordinate.Coordinate.distance(this.cachedPoints_[b[0]],this.cachedPoints_[b[1]]),this.isMultiTouch_=!0,a.preventDefault())};\nmodule$exports$Blockly$TouchGesture.TouchGesture.prototype.handleTouchMove=function(a){var b=(0,module$exports$Blockly$Touch.getTouchIdentifierFromEvent)(a);this.cachedPoints_[b]=this.getTouchPoint(a);b=Object.keys(this.cachedPoints_);this.isPinchZoomEnabled_&&2===b.length?this.handlePinch_(a):module$exports$Blockly$TouchGesture.TouchGesture.superClass_.handleMove.call(this,a)};\nmodule$exports$Blockly$TouchGesture.TouchGesture.prototype.handlePinch_=function(a){var b=Object.keys(this.cachedPoints_);b=module$exports$Blockly$utils$Coordinate.Coordinate.distance(this.cachedPoints_[b[0]],this.cachedPoints_[b[1]])/this.startDistance_;if(0<this.previousScale_&&Infinity>this.previousScale_){var c=b-this.previousScale_;c=0<c?c*module$exports$Blockly$TouchGesture.TouchGesture.ZOOM_IN_MULTIPLIER:c*module$exports$Blockly$TouchGesture.TouchGesture.ZOOM_OUT_MULTIPLIER;var d=this.startWorkspace_,\ne=(0,module$exports$Blockly$browserEvents.mouseToSvg)(a,d.getParentSvg(),d.getInverseScreenCTM());d.zoom(e.x,e.y,c)}this.previousScale_=b;a.preventDefault()};module$exports$Blockly$TouchGesture.TouchGesture.prototype.handleTouchEnd=function(a){a=(0,module$exports$Blockly$Touch.getTouchIdentifierFromEvent)(a);this.cachedPoints_[a]&&delete this.cachedPoints_[a];2>Object.keys(this.cachedPoints_).length&&(this.cachedPoints_=Object.create(null),this.previousScale_=0)};\nmodule$exports$Blockly$TouchGesture.TouchGesture.prototype.getTouchPoint=function(a){return this.startWorkspace_?new module$exports$Blockly$utils$Coordinate.Coordinate(a.changedTouches?a.changedTouches[0].pageX:a.pageX,a.changedTouches?a.changedTouches[0].pageY:a.pageY):null};var module$exports$Blockly$WorkspaceAudio={WorkspaceAudio:function(a){this.parentWorkspace_=a;this.SOUNDS_=Object.create(null)}};module$exports$Blockly$WorkspaceAudio.WorkspaceAudio.prototype.lastSound_=null;module$exports$Blockly$WorkspaceAudio.WorkspaceAudio.prototype.dispose=function(){this.SOUNDS_=this.parentWorkspace_=null};\nmodule$exports$Blockly$WorkspaceAudio.WorkspaceAudio.prototype.load=function(a,b){if(a.length){try{var c=new $.module$exports$Blockly$utils$global.globalThis.Audio}catch(h){return}for(var d,e=0;e<a.length;e++){var f=a[e],g=f.match(/\\.(\\w+)$/);if(g&&c.canPlayType(\"audio/\"+g[1])){d=new $.module$exports$Blockly$utils$global.globalThis.Audio(f);break}}d&&d.play&&(this.SOUNDS_[b]=d)}};\nmodule$exports$Blockly$WorkspaceAudio.WorkspaceAudio.prototype.preload=function(){for(var a in this.SOUNDS_){var b=this.SOUNDS_[a];b.volume=.01;var c=b.play();void 0!==c?c.then(b.pause).catch(function(){}):b.pause();if(module$exports$Blockly$utils$userAgent.IPAD||module$exports$Blockly$utils$userAgent.IPHONE)break}};\nmodule$exports$Blockly$WorkspaceAudio.WorkspaceAudio.prototype.play=function(a,b){var c=this.SOUNDS_[a];c?(a=new Date,null!==this.lastSound_&&a-this.lastSound_<$.module$exports$Blockly$internalConstants.SOUND_LIMIT||(this.lastSound_=a,c=module$exports$Blockly$utils$userAgent.IPAD||module$exports$Blockly$utils$userAgent.ANDROID?c:c.cloneNode(),c.volume=void 0===b?1:b,c.play())):this.parentWorkspace_&&this.parentWorkspace_.getAudioManager().play(a,b)};var module$exports$Blockly$Events$ThemeChange={ThemeChange:function(a,b){module$exports$Blockly$Events$ThemeChange.ThemeChange.superClass_.constructor.call(this,b);this.themeName=a}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$ThemeChange.ThemeChange,module$exports$Blockly$Events$UiBase.UiBase);module$exports$Blockly$Events$ThemeChange.ThemeChange.prototype.type=module$exports$Blockly$Events$utils.THEME_CHANGE;\nmodule$exports$Blockly$Events$ThemeChange.ThemeChange.prototype.toJson=function(){var a=module$exports$Blockly$Events$ThemeChange.ThemeChange.superClass_.toJson.call(this);a.themeName=this.themeName;return a};module$exports$Blockly$Events$ThemeChange.ThemeChange.prototype.fromJson=function(a){module$exports$Blockly$Events$ThemeChange.ThemeChange.superClass_.fromJson.call(this,a);this.themeName=a.themeName};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.THEME_CHANGE,module$exports$Blockly$Events$ThemeChange.ThemeChange);var module$exports$Blockly$Events$ViewportChange={ViewportChange:function(a,b,c,d,e){module$exports$Blockly$Events$ViewportChange.ViewportChange.superClass_.constructor.call(this,d);this.viewTop=a;this.viewLeft=b;this.scale=c;this.oldScale=e}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$ViewportChange.ViewportChange,module$exports$Blockly$Events$UiBase.UiBase);module$exports$Blockly$Events$ViewportChange.ViewportChange.prototype.type=module$exports$Blockly$Events$utils.VIEWPORT_CHANGE;\nmodule$exports$Blockly$Events$ViewportChange.ViewportChange.prototype.toJson=function(){var a=module$exports$Blockly$Events$ViewportChange.ViewportChange.superClass_.toJson.call(this);a.viewTop=this.viewTop;a.viewLeft=this.viewLeft;a.scale=this.scale;a.oldScale=this.oldScale;return a};\nmodule$exports$Blockly$Events$ViewportChange.ViewportChange.prototype.fromJson=function(a){module$exports$Blockly$Events$ViewportChange.ViewportChange.superClass_.fromJson.call(this,a);this.viewTop=a.viewTop;this.viewLeft=a.viewLeft;this.scale=a.scale;this.oldScale=a.oldScale};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.VIEWPORT_CHANGE,module$exports$Blockly$Events$ViewportChange.ViewportChange);var module$exports$Blockly$IMetricsManager={IMetricsManager:function(){}};var module$exports$Blockly$MetricsManager={MetricsManager:function(a){this.workspace_=a}};module$exports$Blockly$MetricsManager.MetricsManager.prototype.getDimensionsPx_=function(a){var b=0,c=0;a&&(b=a.getWidth(),c=a.getHeight());return new module$exports$Blockly$utils$Size.Size(b,c)};module$exports$Blockly$MetricsManager.MetricsManager.prototype.getFlyoutMetrics=function(a){a=this.getDimensionsPx_(this.workspace_.getFlyout(a));return{width:a.width,height:a.height,position:this.workspace_.toolboxPosition}};\nmodule$exports$Blockly$MetricsManager.MetricsManager.prototype.getToolboxMetrics=function(){var a=this.getDimensionsPx_(this.workspace_.getToolbox());return{width:a.width,height:a.height,position:this.workspace_.toolboxPosition}};module$exports$Blockly$MetricsManager.MetricsManager.prototype.getSvgMetrics=function(){return this.workspace_.getCachedParentSvgSize()};\nmodule$exports$Blockly$MetricsManager.MetricsManager.prototype.getAbsoluteMetrics=function(){var a=0,b=this.getToolboxMetrics(),c=this.getFlyoutMetrics(!0),d=!!this.workspace_.getToolbox(),e=!!this.workspace_.getFlyout(!0),f=d?b.position:c.position,g=f===module$exports$Blockly$utils$toolbox.Position.LEFT;f=f===module$exports$Blockly$utils$toolbox.Position.TOP;d&&g?a=b.width:e&&g&&(a=c.width);g=0;d&&f?g=b.height:e&&f&&(g=c.height);return{top:g,left:a}};\nmodule$exports$Blockly$MetricsManager.MetricsManager.prototype.getViewMetrics=function(a){a=a?this.workspace_.scale:1;var b=this.getSvgMetrics(),c=this.getToolboxMetrics(),d=this.getFlyoutMetrics(!0),e=this.workspace_.getToolbox()?c.position:d.position;if(this.workspace_.getToolbox())if(e===module$exports$Blockly$utils$toolbox.Position.TOP||e===module$exports$Blockly$utils$toolbox.Position.BOTTOM)b.height-=c.height;else{if(e===module$exports$Blockly$utils$toolbox.Position.LEFT||e===module$exports$Blockly$utils$toolbox.Position.RIGHT)b.width-=\nc.width}else if(this.workspace_.getFlyout(!0))if(e===module$exports$Blockly$utils$toolbox.Position.TOP||e===module$exports$Blockly$utils$toolbox.Position.BOTTOM)b.height-=d.height;else if(e===module$exports$Blockly$utils$toolbox.Position.LEFT||e===module$exports$Blockly$utils$toolbox.Position.RIGHT)b.width-=d.width;return{height:b.height/a,width:b.width/a,top:-this.workspace_.scrollY/a,left:-this.workspace_.scrollX/a}};\nmodule$exports$Blockly$MetricsManager.MetricsManager.prototype.getContentMetrics=function(a){a=a?1:this.workspace_.scale;var b=this.workspace_.getBlocksBoundingBox();return{height:(b.bottom-b.top)*a,width:(b.right-b.left)*a,top:b.top*a,left:b.left*a}};module$exports$Blockly$MetricsManager.MetricsManager.prototype.hasFixedEdges=function(){return!this.workspace_.isMovableHorizontally()||!this.workspace_.isMovableVertically()};\nmodule$exports$Blockly$MetricsManager.MetricsManager.prototype.getComputedFixedEdges_=function(a){if(!this.hasFixedEdges())return{};var b=this.workspace_.isMovableHorizontally(),c=this.workspace_.isMovableVertically();a=a||this.getViewMetrics(!1);var d={};c||(d.top=a.top,d.bottom=a.top+a.height);b||(d.left=a.left,d.right=a.left+a.width);return d};\nmodule$exports$Blockly$MetricsManager.MetricsManager.prototype.getPaddedContent_=function(a,b){var c=b.top+b.height,d=b.left+b.width,e=a.width;a=a.height;var f=e/2,g=a/2;return{top:Math.min(b.top-g,c-a),bottom:Math.max(c+g,b.top+a),left:Math.min(b.left-f,d-e),right:Math.max(d+f,b.left+e)}};\nmodule$exports$Blockly$MetricsManager.MetricsManager.prototype.getScrollMetrics=function(a,b,c){a=a?this.workspace_.scale:1;b=b||this.getViewMetrics(!1);var d=c||this.getContentMetrics();c=this.getComputedFixedEdges_(b);b=this.getPaddedContent_(b,d);d=void 0!==c.top?c.top:b.top;var e=void 0!==c.left?c.left:b.left;return{top:d/a,left:e/a,width:((void 0!==c.right?c.right:b.right)-e)/a,height:((void 0!==c.bottom?c.bottom:b.bottom)-d)/a}};\nmodule$exports$Blockly$MetricsManager.MetricsManager.prototype.getUiMetrics=function(){return{viewMetrics:this.getViewMetrics(),absoluteMetrics:this.getAbsoluteMetrics(),toolboxMetrics:this.getToolboxMetrics()}};\nmodule$exports$Blockly$MetricsManager.MetricsManager.prototype.getMetrics=function(){var a=this.getToolboxMetrics(),b=this.getFlyoutMetrics(!0),c=this.getSvgMetrics(),d=this.getAbsoluteMetrics(),e=this.getViewMetrics(),f=this.getContentMetrics(),g=this.getScrollMetrics(!1,e,f);return{contentHeight:f.height,contentWidth:f.width,contentTop:f.top,contentLeft:f.left,scrollHeight:g.height,scrollWidth:g.width,scrollTop:g.top,scrollLeft:g.left,viewHeight:e.height,viewWidth:e.width,viewTop:e.top,viewLeft:e.left,\nabsoluteTop:d.top,absoluteLeft:d.left,svgHeight:c.height,svgWidth:c.width,toolboxWidth:a.width,toolboxHeight:a.height,toolboxPosition:a.position,flyoutWidth:b.width,flyoutHeight:b.height}};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.METRICS_MANAGER,module$exports$Blockly$registry.DEFAULT,module$exports$Blockly$MetricsManager.MetricsManager);var module$exports$Blockly$WorkspaceSvg={WorkspaceSvg:function(a,b,c){module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.constructor.call(this,a);this.metricsManager_=new ((0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.METRICS_MANAGER,a,!0))(this);this.getMetrics=a.getMetrics||this.metricsManager_.getMetrics.bind(this.metricsManager_);this.setMetrics=a.setMetrics||module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.setTopLevelWorkspaceMetrics_;\nthis.componentManager_=new module$exports$Blockly$ComponentManager.ComponentManager;this.connectionDBList=module$exports$Blockly$ConnectionDB.ConnectionDB.init(this.connectionChecker);b&&(this.blockDragSurface_=b);c&&(this.workspaceDragSurface_=c);this.useWorkspaceDragSurface_=!!this.workspaceDragSurface_&&(0,module$exports$Blockly$utils$svgMath.is3dSupported)();this.highlightedBlocks_=[];this.audioManager_=new module$exports$Blockly$WorkspaceAudio.WorkspaceAudio(a.parentWorkspace);this.grid_=this.options.gridPattern?\nnew module$exports$Blockly$Grid.Grid(this.options.gridPattern,a.gridOptions):null;this.markerManager_=new module$exports$Blockly$MarkerManager.MarkerManager(this);this.toolboxCategoryCallbacks_=Object.create(null);this.flyoutButtonCallbacks_=Object.create(null);(a=$.module$exports$Blockly$Variables)&&a.flyoutCategory&&this.registerToolboxCategoryCallback(a.CATEGORY_NAME,a.flyoutCategory);(a=module$exports$Blockly$VariablesDynamic)&&a.flyoutCategory&&this.registerToolboxCategoryCallback(a.CATEGORY_NAME,\na.flyoutCategory);(a=$.module$exports$Blockly$Procedures)&&a.flyoutCategory&&(this.registerToolboxCategoryCallback(a.CATEGORY_NAME,a.flyoutCategory),this.addChangeListener(a.mutatorOpenListener));this.themeManager_=this.options.parentWorkspace?this.options.parentWorkspace.getThemeManager():new module$exports$Blockly$ThemeManager.ThemeManager(this,this.options.theme||module$exports$Blockly$Themes$Classic.Classic);this.themeManager_.subscribeWorkspace(this);this.renderer_=(0,module$exports$Blockly$blockRendering.init)(this.options.renderer||\n\"geras\",this.getTheme(),this.options.rendererOverrides);this.cachedParentSvg_=null;this.keyboardAccessibilityMode=!1;this.topBoundedElements_=[];this.dragTargetAreas_=[];this.cachedParentSvgSize_=new module$exports$Blockly$utils$Size.Size(0,0)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$WorkspaceSvg.WorkspaceSvg,module$exports$Blockly$Workspace.Workspace);module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.resizeHandlerWrapper_=null;\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.rendered=!0;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isVisible_=!0;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isFlyout=!1;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isMutator=!1;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.resizesEnabled_=!0;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.scrollX=0;\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.scrollY=0;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.startScrollX=0;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.startScrollY=0;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.dragDeltaXY_=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.scale=1;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.oldScale_=1;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.oldTop_=0;\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.oldLeft_=0;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.trashcan=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.scrollbar=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.flyout_=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.toolbox_=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.currentGesture_=null;\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.blockDragSurface_=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.workspaceDragSurface_=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.useWorkspaceDragSurface_=!1;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isDragSurfaceActive_=!1;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.injectionDiv_=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.lastRecordedPageScroll_=null;\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.targetWorkspace=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.inverseScreenCTM_=null;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.inverseScreenCTMDirty_=!0;module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getMarkerManager=function(){return this.markerManager_};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getMetricsManager=function(){return this.metricsManager_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setMetricsManager=function(a){this.metricsManager_=a;this.getMetrics=this.metricsManager_.getMetrics.bind(this.metricsManager_)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getComponentManager=function(){return this.componentManager_};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setCursorSvg=function(a){this.markerManager_.setCursorSvg(a)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setMarkerSvg=function(a){this.markerManager_.setMarkerSvg(a)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getMarker=function(a){return this.markerManager_?this.markerManager_.getMarker(a):null};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getCursor=function(){return this.markerManager_?this.markerManager_.getCursor():null};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getRenderer=function(){return this.renderer_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getThemeManager=function(){return this.themeManager_};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getTheme=function(){return this.themeManager_.getTheme()};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setTheme=function(a){a||(a=module$exports$Blockly$Themes$Classic.Classic);this.themeManager_.setTheme(a)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.refreshTheme=function(){this.svgGroup_&&this.renderer_.refreshDom(this.svgGroup_,this.getTheme());this.updateBlockStyles_(this.getAllBlocks(!1).filter(function(b){return!!b.getStyleName()}));this.refreshToolboxSelection();this.toolbox_&&this.toolbox_.refreshTheme();this.isVisible()&&this.setVisible(!0);var a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.THEME_CHANGE))(this.getTheme().name,this.id);(0,module$exports$Blockly$Events$utils.fire)(a)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.updateBlockStyles_=function(a){for(var b=0,c;c=a[b];b++){var d=c.getStyleName();d&&(c.setStyle(d),c.mutator&&c.mutator.updateBlockStyle())}};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getInverseScreenCTM=function(){if(this.inverseScreenCTMDirty_){var a=this.getParentSvg().getScreenCTM();a&&(this.inverseScreenCTM_=a.inverse(),this.inverseScreenCTMDirty_=!1)}return this.inverseScreenCTM_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.updateInverseScreenCTM=function(){this.inverseScreenCTMDirty_=!0};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isVisible=function(){return this.isVisible_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getSvgXY=function(a){var b=0,c=0,d=1;if((0,module$exports$Blockly$utils$dom.containsNode)(this.getCanvas(),a)||(0,module$exports$Blockly$utils$dom.containsNode)(this.getBubbleCanvas(),a))d=this.scale;do{var e=(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(a);if(a===this.getCanvas()||a===this.getBubbleCanvas())d=1;b+=e.x*d;c+=e.y*d;a=a.parentNode}while(a&&a!==this.getParentSvg());return new module$exports$Blockly$utils$Coordinate.Coordinate(b,\nc)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getCachedParentSvgSize=function(){var a=this.cachedParentSvgSize_;return new module$exports$Blockly$utils$Size.Size(a.width,a.height)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getOriginOffsetInPixels=function(){return(0,module$exports$Blockly$utils$svgMath.getInjectionDivXY)(this.getCanvas())};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getInjectionDiv=function(){if(!this.injectionDiv_)for(var a=this.svgGroup_;a;){if(-1!==(\" \"+(a.getAttribute(\"class\")||\"\")+\" \").indexOf(\" injectionDiv \")){this.injectionDiv_=a;break}a=a.parentNode}return this.injectionDiv_};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getBlockCanvas=function(){return this.svgBlockCanvas_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setResizeHandlerWrapper=function(a){this.resizeHandlerWrapper_=a};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.createDom=function(a){this.svgGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyWorkspace\"},null);a&&(this.svgBackground_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{height:\"100%\",width:\"100%\",\"class\":a},this.svgGroup_),\"blocklyMainBackground\"===a&&this.grid_?this.svgBackground_.style.fill=\"url(#\"+this.grid_.getPatternId()+\n\")\":this.themeManager_.subscribe(this.svgBackground_,\"workspaceBackgroundColour\",\"fill\"));this.svgBlockCanvas_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyBlockCanvas\"},this.svgGroup_);this.svgBubbleCanvas_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyBubbleCanvas\"},this.svgGroup_);this.isFlyout||((0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgGroup_,\n\"mousedown\",this,this.onMouseDown_,!1,!0),document.body.addEventListener(\"wheel\",function(){}),(0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgGroup_,\"wheel\",this,this.onMouseWheel_));this.options.hasCategories&&(this.toolbox_=new ((0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.TOOLBOX,this.options,!0))(this));this.grid_&&this.grid_.update(this.scale);this.recordDragTargets();(a=(0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.CURSOR,\nthis.options))&&this.markerManager_.setCursor(new a);this.renderer_.createDom(this.svgGroup_,this.getTheme());return this.svgGroup_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.dispose=function(){this.rendered=!1;this.currentGesture_&&this.currentGesture_.cancel();this.svgGroup_&&((0,module$exports$Blockly$utils$dom.removeNode)(this.svgGroup_),this.svgGroup_=null);this.svgBubbleCanvas_=this.svgBlockCanvas_=null;this.toolbox_&&(this.toolbox_.dispose(),this.toolbox_=null);this.flyout_&&(this.flyout_.dispose(),this.flyout_=null);this.trashcan&&(this.trashcan.dispose(),this.trashcan=null);this.scrollbar&&(this.scrollbar.dispose(),\nthis.scrollbar=null);this.zoomControls_&&(this.zoomControls_.dispose(),this.zoomControls_=null);this.audioManager_&&(this.audioManager_.dispose(),this.audioManager_=null);this.grid_&&(this.grid_.dispose(),this.grid_=null);this.renderer_.dispose();this.markerManager_&&(this.markerManager_.dispose(),this.markerManager_=null);module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.dispose.call(this);this.themeManager_&&(this.themeManager_.unsubscribeWorkspace(this),this.themeManager_.unsubscribe(this.svgBackground_),\nthis.options.parentWorkspace||(this.themeManager_.dispose(),this.themeManager_=null));this.flyoutButtonCallbacks_=this.toolboxCategoryCallbacks_=this.connectionDBList=null;if(!this.options.parentWorkspace){var a=this.getParentSvg();a&&a.parentNode&&(0,module$exports$Blockly$utils$dom.removeNode)(a.parentNode)}this.resizeHandlerWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.resizeHandlerWrapper_),this.resizeHandlerWrapper_=null)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.newBlock=function(a,b){return new module$exports$Blockly$BlockSvg.BlockSvg(this,a,b)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.addTrashcan=function(){var a=module$exports$Blockly$Trashcan.Trashcan;if(!a)throw Error(\"Missing require for Blockly.Trashcan\");this.trashcan=new a(this);a=this.trashcan.createDom();this.svgGroup_.insertBefore(a,this.svgBlockCanvas_)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.addZoomControls=function(){var a=module$exports$Blockly$ZoomControls.ZoomControls;if(!a)throw Error(\"Missing require for Blockly.ZoomControls\");this.zoomControls_=new a(this);a=this.zoomControls_.createDom();this.svgGroup_.appendChild(a)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.addFlyout=function(a){var b=new module$exports$Blockly$Options.Options({parentWorkspace:this,rtl:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,renderer:this.options.renderer,rendererOverrides:this.options.rendererOverrides,move:{scrollbars:!0}});b.toolboxPosition=this.options.toolboxPosition;this.flyout_=this.horizontalLayout?new ((0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX,\nthis.options,!0))(b):new ((0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.FLYOUTS_VERTICAL_TOOLBOX,this.options,!0))(b);this.flyout_.autoClose=!1;this.flyout_.getWorkspace().setVisible(!0);return this.flyout_.createDom(a)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getFlyout=function(a){return this.flyout_||a?this.flyout_:this.toolbox_?this.toolbox_.getFlyout():null};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getToolbox=function(){return this.toolbox_};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.updateScreenCalculations_=function(){this.updateInverseScreenCTM();this.recordDragTargets()};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.resizeContents=function(){this.resizesEnabled_&&this.rendered&&(this.scrollbar&&this.scrollbar.resize(),this.updateInverseScreenCTM())};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.resize=function(){this.toolbox_&&this.toolbox_.position();this.flyout_&&this.flyout_.position();for(var a=this.componentManager_.getComponents(module$exports$Blockly$ComponentManager.ComponentManager.Capability.POSITIONABLE,!0),b=this.getMetricsManager().getUiMetrics(),c=[],d=0,e;e=a[d];d++)e.position(b,c),(e=e.getBoundingRectangle())&&c.push(e);this.scrollbar&&this.scrollbar.resize();this.updateScreenCalculations_()};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.updateScreenCalculationsIfScrolled=function(){var a=(0,module$exports$Blockly$utils$svgMath.getDocumentScroll)();module$exports$Blockly$utils$Coordinate.Coordinate.equals(this.lastRecordedPageScroll_,a)||(this.lastRecordedPageScroll_=a,this.updateScreenCalculations_())};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getCanvas=function(){return this.svgBlockCanvas_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setCachedParentSvgSize=function(a,b){var c=this.getParentSvg();a&&(this.cachedParentSvgSize_.width=a,c.cachedWidth_=a);b&&(this.cachedParentSvgSize_.height=b,c.cachedHeight_=b)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getBubbleCanvas=function(){return this.svgBubbleCanvas_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getParentSvg=function(){if(!this.cachedParentSvg_)for(var a=this.svgGroup_;a;){if(\"svg\"===a.tagName){this.cachedParentSvg_=a;break}a=a.parentNode}return this.cachedParentSvg_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.maybeFireViewportChangeEvent=function(){if((0,module$exports$Blockly$Events$utils.isEnabled)()){var a=this.scale,b=-this.scrollY,c=-this.scrollX;if(!(a===this.oldScale_&&1>Math.abs(b-this.oldTop_)&&1>Math.abs(c-this.oldLeft_))){var d=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.VIEWPORT_CHANGE))(b,c,a,this.id,this.oldScale_);this.oldScale_=a;this.oldTop_=b;this.oldLeft_=c;(0,module$exports$Blockly$Events$utils.fire)(d)}}};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.translate=function(a,b){if(this.useWorkspaceDragSurface_&&this.isDragSurfaceActive_)this.workspaceDragSurface_.translateSurface(a,b);else{var c=\"translate(\"+a+\",\"+b+\") scale(\"+this.scale+\")\";this.svgBlockCanvas_.setAttribute(\"transform\",c);this.svgBubbleCanvas_.setAttribute(\"transform\",c)}this.blockDragSurface_&&this.blockDragSurface_.translateAndScaleGroup(a,b,this.scale);this.grid_&&this.grid_.moveTo(a,b);this.maybeFireViewportChangeEvent()};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.resetDragSurface=function(){if(this.useWorkspaceDragSurface_){this.isDragSurfaceActive_=!1;var a=this.workspaceDragSurface_.getSurfaceTranslation();this.workspaceDragSurface_.clearAndHide(this.svgGroup_);a=\"translate(\"+a.x+\",\"+a.y+\") scale(\"+this.scale+\")\";this.svgBlockCanvas_.setAttribute(\"transform\",a);this.svgBubbleCanvas_.setAttribute(\"transform\",a)}};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setupDragSurface=function(){if(this.useWorkspaceDragSurface_&&!this.isDragSurfaceActive_){this.isDragSurfaceActive_=!0;var a=this.svgBlockCanvas_.previousSibling,b=parseInt(this.getParentSvg().getAttribute(\"width\"),10),c=parseInt(this.getParentSvg().getAttribute(\"height\"),10),d=(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(this.getCanvas());this.workspaceDragSurface_.setContentsAndShow(this.getCanvas(),this.getBubbleCanvas(),a,b,\nc,this.scale);this.workspaceDragSurface_.translateSurface(d.x,d.y)}};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getBlockDragSurface=function(){return this.blockDragSurface_};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getWidth=function(){var a=this.getMetrics();return a?a.viewWidth/this.scale:0};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setVisible=function(a){this.isVisible_=a;if(this.svgGroup_)if(this.scrollbar&&this.scrollbar.setContainerVisible(a),this.getFlyout()&&this.getFlyout().setContainerVisible(a),this.getParentSvg().style.display=a?\"block\":\"none\",this.toolbox_&&this.toolbox_.setVisible(a),a){a=this.getAllBlocks(!1);for(var b=a.length-1;0<=b;b--)a[b].markDirty();this.render();this.toolbox_&&this.toolbox_.position()}else this.hideChaff(!0)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.render=function(){for(var a=this.getAllBlocks(!1),b=a.length-1;0<=b;b--)a[b].render(!1);if(this.currentGesture_)for(a=this.currentGesture_.getInsertionMarkers(),b=0;b<a.length;b++)a[b].render(!1);this.markerManager_.updateMarkers()};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.highlightBlock=function(a,b){if(void 0===b){for(var c=0,d;d=this.highlightedBlocks_[c];c++)d.setHighlighted(!1);this.highlightedBlocks_.length=0}if(a=a?this.getBlockById(a):null)(b=void 0===b||b)?-1===this.highlightedBlocks_.indexOf(a)&&this.highlightedBlocks_.push(a):(0,module$exports$Blockly$utils$array.removeElem)(this.highlightedBlocks_,a),a.setHighlighted(b)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.paste=function(a){this.rendered&&(a.type||a.tagName)&&(this.currentGesture_&&this.currentGesture_.cancel(),a.type?this.pasteBlock_(null,a):\"comment\"===a.tagName.toLowerCase()?this.pasteWorkspaceComment_(a):this.pasteBlock_(a,null))};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.pasteBlock_=function(a,b){(0,module$exports$Blockly$Events$utils.disable)();try{var c=0,d=0;if(a){var e=(0,$.module$exports$Blockly$Xml.domToBlock)(a,this);c=parseInt(a.getAttribute(\"x\"),10);this.RTL&&(c=-c);d=parseInt(a.getAttribute(\"y\"),10)}else b&&(e=(0,module$exports$Blockly$serialization$blocks.append)(b,this),c=b.x||10,this.RTL&&(c=this.getWidth()-c),d=b.y||10);if(!isNaN(c)&&!isNaN(d)){do{var f=!1;var g=this.getAllBlocks(!1);a=0;for(b=\nvoid 0;b=g[a];a++){var h=b.getRelativeToSurfaceXY();if(1>=Math.abs(c-h.x)&&1>=Math.abs(d-h.y)){f=!0;break}}if(!f){var k=e.getConnections_(!1);a=0;for(b=void 0;b=k[a];a++)if(b.closest($.module$exports$Blockly$internalConstants.SNAP_RADIUS,new module$exports$Blockly$utils$Coordinate.Coordinate(c,d)).connection){f=!0;break}}f&&(c=this.RTL?c-$.module$exports$Blockly$internalConstants.SNAP_RADIUS:c+$.module$exports$Blockly$internalConstants.SNAP_RADIUS,d+=2*$.module$exports$Blockly$internalConstants.SNAP_RADIUS)}while(f);\ne.moveTo(new module$exports$Blockly$utils$Coordinate.Coordinate(c,d))}}finally{(0,module$exports$Blockly$Events$utils.enable)()}(0,module$exports$Blockly$Events$utils.isEnabled)()&&!e.isShadow()&&(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CREATE))(e));e.select()};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.pasteWorkspaceComment_=function(a){(0,module$exports$Blockly$Events$utils.disable)();try{var b=module$exports$Blockly$WorkspaceCommentSvg.fromXml(a,this);var c=parseInt(a.getAttribute(\"x\"),10),d=parseInt(a.getAttribute(\"y\"),10);isNaN(c)||isNaN(d)||(this.RTL&&(c=-c),b.moveBy(c+50,d+50))}finally{(0,module$exports$Blockly$Events$utils.enable)()}(0,module$exports$Blockly$Events$utils.isEnabled)()&&module$exports$Blockly$WorkspaceComment.fireCreateEvent(b);\nb.select()};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.refreshToolboxSelection=function(){var a=this.isFlyout?this.targetWorkspace:this;a&&!a.currentGesture_&&a.toolbox_&&a.toolbox_.getFlyout()&&a.toolbox_.refreshSelection()};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.renameVariableById=function(a,b){module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.renameVariableById.call(this,a,b);this.refreshToolboxSelection()};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.deleteVariableById=function(a){module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.deleteVariableById.call(this,a);this.refreshToolboxSelection()};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.createVariable=function(a,b,c){a=module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.createVariable.call(this,a,b,c);this.refreshToolboxSelection();return a};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.recordDeleteAreas=function(){module$exports$Blockly$utils.deprecation.warn(\"WorkspaceSvg.prototype.recordDeleteAreas\",\"June 2021\",\"June 2022\",\"WorkspaceSvg.prototype.recordDragTargets\");this.recordDragTargets()};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.recordDragTargets=function(){var a=this.componentManager_.getComponents(module$exports$Blockly$ComponentManager.ComponentManager.Capability.DRAG_TARGET,!0);this.dragTargetAreas_=[];for(var b=0,c;c=a[b];b++){var d=c.getClientRect();d&&this.dragTargetAreas_.push({component:c,clientRect:d})}};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getDragTarget=function(a){for(var b=0,c;c=this.dragTargetAreas_[b];b++)if(c.clientRect.contains(a.clientX,a.clientY))return c.component;return null};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.onMouseDown_=function(a){var b=this.getGesture(a);b&&b.handleWsStart(a,this)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.startDrag=function(a,b){a=(0,module$exports$Blockly$browserEvents.mouseToSvg)(a,this.getParentSvg(),this.getInverseScreenCTM());a.x/=this.scale;a.y/=this.scale;this.dragDeltaXY_=module$exports$Blockly$utils$Coordinate.Coordinate.difference(b,a)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.moveDrag=function(a){a=(0,module$exports$Blockly$browserEvents.mouseToSvg)(a,this.getParentSvg(),this.getInverseScreenCTM());a.x/=this.scale;a.y/=this.scale;return module$exports$Blockly$utils$Coordinate.Coordinate.sum(this.dragDeltaXY_,a)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isDragging=function(){return null!==this.currentGesture_&&this.currentGesture_.isDragging()};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isDraggable=function(){return this.options.moveOptions&&this.options.moveOptions.drag};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isMovable=function(){return this.options.moveOptions&&!!this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.wheel||this.options.zoomOptions&&this.options.zoomOptions.pinch};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isMovableHorizontally=function(){var a=!!this.scrollbar;return this.isMovable()&&(!a||a&&this.scrollbar.canScrollHorizontally())};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.isMovableVertically=function(){var a=!!this.scrollbar;return this.isMovable()&&(!a||a&&this.scrollbar.canScrollVertically())};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.onMouseWheel_=function(a){if(module$exports$Blockly$Gesture.Gesture.inProgress())a.preventDefault(),a.stopPropagation();else{var b=this.options.zoomOptions&&this.options.zoomOptions.wheel,c=this.options.moveOptions&&this.options.moveOptions.wheel;if(b||c){var d=(0,module$exports$Blockly$browserEvents.getScrollDeltaPixels)(a);if(module$exports$Blockly$utils$userAgent.MAC)var e=a.metaKey;b&&(a.ctrlKey||e||!c)?(d=-d.y/50,b=(0,module$exports$Blockly$browserEvents.mouseToSvg)(a,\nthis.getParentSvg(),this.getInverseScreenCTM()),this.zoom(b.x,b.y,d)):(b=this.scrollX-d.x,c=this.scrollY-d.y,a.shiftKey&&!d.x&&(b=this.scrollX-d.y,c=this.scrollY),this.scroll(b,c));a.preventDefault()}}};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getBlocksBoundingBox=function(){var a=this.getTopBoundedElements();if(!a.length)return new module$exports$Blockly$utils$Rect.Rect(0,0,0,0);for(var b=a[0].getBoundingRectangle(),c=1;c<a.length;c++){var d=a[c];d.isInsertionMarker&&d.isInsertionMarker()||(d=d.getBoundingRectangle(),d.top<b.top&&(b.top=d.top),d.bottom>b.bottom&&(b.bottom=d.bottom),d.left<b.left&&(b.left=d.left),d.right>b.right&&(b.right=d.right))}return b};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.cleanUp=function(){this.setResizesEnabled(!1);(0,module$exports$Blockly$Events$utils.setGroup)(!0);for(var a=this.getTopBlocks(!0),b=0,c=0,d;d=a[c];c++)if(d.isMovable()){var e=d.getRelativeToSurfaceXY();d.moveBy(-e.x,b-e.y);d.snapToGrid();b=d.getRelativeToSurfaceXY().y+d.getHeightWidth().height+this.renderer_.getConstants().MIN_BLOCK_HEIGHT}(0,module$exports$Blockly$Events$utils.setGroup)(!1);this.setResizesEnabled(!0)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.showContextMenu=function(a){if(!this.options.readOnly&&!this.isFlyout){var b=module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.getContextMenuOptions(module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.WORKSPACE,{workspace:this});this.configureContextMenu&&this.configureContextMenu(b,a);(0,$.module$exports$Blockly$ContextMenu.show)(a,b,this.RTL)}};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.updateToolbox=function(a){if(a=(0,module$exports$Blockly$utils$toolbox.convertToolboxDefToJson)(a)){if(!this.options.languageTree)throw Error(\"Existing toolbox is null. Can't create new toolbox.\");if((0,module$exports$Blockly$utils$toolbox.hasCategories)(a)){if(!this.toolbox_)throw Error(\"Existing toolbox has no categories. Can't change mode.\");this.options.languageTree=a;this.toolbox_.render(a)}else{if(!this.flyout_)throw Error(\"Existing toolbox has categories. Can't change mode.\");\nthis.options.languageTree=a;this.flyout_.show(a)}}else if(this.options.languageTree)throw Error(\"Can't nullify an existing toolbox.\");};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.markFocused=function(){this.options.parentWorkspace?this.options.parentWorkspace.markFocused():((0,$.module$exports$Blockly$common.setMainWorkspace)(this),this.setBrowserFocus())};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setBrowserFocus=function(){document.activeElement&&document.activeElement.blur&&document.activeElement.blur();try{this.getParentSvg().focus({preventScroll:!0})}catch(a){try{this.getParentSvg().parentNode.setActive()}catch(b){this.getParentSvg().parentNode.focus({preventScroll:!0})}}};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.zoom=function(a,b,c){c=Math.pow(this.options.zoomOptions.scaleSpeed,c);var d=this.scale*c;if(this.scale!==d){d>this.options.zoomOptions.maxScale?c=this.options.zoomOptions.maxScale/this.scale:d<this.options.zoomOptions.minScale&&(c=this.options.zoomOptions.minScale/this.scale);var e=this.getCanvas().getCTM(),f=this.getParentSvg().createSVGPoint();f.x=a;f.y=b;f=f.matrixTransform(e.inverse());a=f.x;b=f.y;e=e.translate(a*(1-c),b*(1-c)).scale(c);\nthis.scrollX=e.e;this.scrollY=e.f;this.setScale(d)}};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.zoomCenter=function(a){var b=this.getMetrics();if(this.flyout_){var c=b.svgWidth?b.svgWidth/2:0;b=b.svgHeight?b.svgHeight/2:0}else c=b.viewWidth/2+b.absoluteLeft,b=b.viewHeight/2+b.absoluteTop;this.zoom(c,b,a)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.zoomToFit=function(){if(this.isMovable()){var a=this.getMetrics(),b=a.viewWidth;a=a.viewHeight;var c=this.getBlocksBoundingBox(),d=c.right-c.left;c=c.bottom-c.top;if(d){this.flyout_&&(this.horizontalLayout?(a+=this.flyout_.getHeight(),c+=this.flyout_.getHeight()/this.scale):(b+=this.flyout_.getWidth(),d+=this.flyout_.getWidth()/this.scale));b/=d;a/=c;(0,module$exports$Blockly$Events$utils.disable)();try{this.setScale(Math.min(b,a)),this.scrollCenter()}finally{(0,module$exports$Blockly$Events$utils.enable)()}this.maybeFireViewportChangeEvent()}}else console.warn(\"Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.\")};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.beginCanvasTransition=function(){(0,module$exports$Blockly$utils$dom.addClass)(this.svgBlockCanvas_,\"blocklyCanvasTransitioning\");(0,module$exports$Blockly$utils$dom.addClass)(this.svgBubbleCanvas_,\"blocklyCanvasTransitioning\")};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.endCanvasTransition=function(){(0,module$exports$Blockly$utils$dom.removeClass)(this.svgBlockCanvas_,\"blocklyCanvasTransitioning\");(0,module$exports$Blockly$utils$dom.removeClass)(this.svgBubbleCanvas_,\"blocklyCanvasTransitioning\")};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.scrollCenter=function(){if(this.isMovable()){var a=this.getMetrics(),b=(a.scrollWidth-a.viewWidth)/2,c=(a.scrollHeight-a.viewHeight)/2;b=-b-a.scrollLeft;c=-c-a.scrollTop;this.scroll(b,c)}else console.warn(\"Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.\")};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.centerOnBlock=function(a){if(this.isMovable()){if(a=a?this.getBlockById(a):null){var b=a.getRelativeToSurfaceXY(),c=a.getHeightWidth(),d=this.scale;a=(b.x+(this.RTL?-1:1)*c.width/2)*d;b=(b.y+c.height/2)*d;c=this.getMetrics();this.scroll(-(a-c.viewWidth/2),-(b-c.viewHeight/2))}}else console.warn(\"Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.\")};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setScale=function(a){this.options.zoomOptions.maxScale&&a>this.options.zoomOptions.maxScale?a=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale&&a<this.options.zoomOptions.minScale&&(a=this.options.zoomOptions.minScale);this.scale=a;this.hideChaff(!1);(a=this.getFlyout(!1))&&a.isVisible()&&(a.reflow(),this.recordDragTargets());this.grid_&&this.grid_.update(this.scale);a=this.getMetrics();this.scrollX-=a.absoluteLeft;this.scrollY-=\na.absoluteTop;a.viewLeft+=a.absoluteLeft;a.viewTop+=a.absoluteTop;this.scroll(this.scrollX,this.scrollY);this.scrollbar&&(this.flyout_?this.scrollbar.resizeView(a):this.scrollbar.resizeContent(a))};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getScale=function(){return this.options.parentWorkspace?this.options.parentWorkspace.getScale():this.scale};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.scroll=function(a,b){this.hideChaff(!0);var c=this.getMetrics();a=Math.min(a,-c.scrollLeft);b=Math.min(b,-c.scrollTop);var d=c.scrollTop+Math.max(0,c.scrollHeight-c.viewHeight);a=Math.max(a,-(c.scrollLeft+Math.max(0,c.scrollWidth-c.viewWidth)));b=Math.max(b,-d);this.scrollX=a;this.scrollY=b;this.scrollbar&&this.scrollbar.set(-(a+c.scrollLeft),-(b+c.scrollTop),!1);a+=c.absoluteLeft;b+=c.absoluteTop;this.translate(a,b)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.setTopLevelWorkspaceMetrics_=function(a){var b=this.getMetrics();\"number\"===typeof a.x&&(this.scrollX=-(b.scrollLeft+(b.scrollWidth-b.viewWidth)*a.x));\"number\"===typeof a.y&&(this.scrollY=-(b.scrollTop+(b.scrollHeight-b.viewHeight)*a.y));this.translate(this.scrollX+b.absoluteLeft,this.scrollY+b.absoluteTop)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getBlockById=function(a){return module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.getBlockById.call(this,a)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getTopBlocks=function(a){return module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.getTopBlocks.call(this,a)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.addTopBlock=function(a){this.addTopBoundedElement(a);module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.addTopBlock.call(this,a)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.removeTopBlock=function(a){this.removeTopBoundedElement(a);module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.removeTopBlock.call(this,a)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.addTopComment=function(a){this.addTopBoundedElement(a);module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.addTopComment.call(this,a)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.removeTopComment=function(a){this.removeTopBoundedElement(a);module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.removeTopComment.call(this,a)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.addTopBoundedElement=function(a){this.topBoundedElements_.push(a)};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.removeTopBoundedElement=function(a){(0,module$exports$Blockly$utils$array.removeElem)(this.topBoundedElements_,a)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getTopBoundedElements=function(){return[].concat(this.topBoundedElements_)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.setResizesEnabled=function(a){var b=!this.resizesEnabled_&&a;this.resizesEnabled_=a;b&&this.resizeContents()};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.clear=function(){this.setResizesEnabled(!1);module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.superClass_.clear.call(this);this.topBoundedElements_=[];this.setResizesEnabled(!0)};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.registerButtonCallback=function(a,b){if(\"function\"!==typeof b)throw TypeError(\"Button callbacks must be functions.\");this.flyoutButtonCallbacks_[a]=b};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getButtonCallback=function(a){return(a=this.flyoutButtonCallbacks_[a])?a:null};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.removeButtonCallback=function(a){this.flyoutButtonCallbacks_[a]=null};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.registerToolboxCategoryCallback=function(a,b){if(\"function\"!==typeof b)throw TypeError(\"Toolbox category callbacks must be functions.\");this.toolboxCategoryCallbacks_[a]=b};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getToolboxCategoryCallback=function(a){return this.toolboxCategoryCallbacks_[a]||null};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.removeToolboxCategoryCallback=function(a){this.toolboxCategoryCallbacks_[a]=null};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getGesture=function(a){var b=\"mousedown\"===a.type||\"touchstart\"===a.type||\"pointerdown\"===a.type,c=this.currentGesture_;return c?b&&c.hasStarted()?(console.warn(\"Tried to start the same gesture twice.\"),c.cancel(),null):c:b?this.currentGesture_=new module$exports$Blockly$TouchGesture.TouchGesture(a,this):null};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.clearGesture=function(){this.currentGesture_=null};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.cancelCurrentGesture=function(){this.currentGesture_&&this.currentGesture_.cancel()};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getAudioManager=function(){return this.audioManager_};module$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.getGrid=function(){return this.grid_};\nmodule$exports$Blockly$WorkspaceSvg.WorkspaceSvg.prototype.hideChaff=function(a){(0,module$exports$Blockly$Tooltip.hide)();(0,module$exports$Blockly$WidgetDiv.hide)();module$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation();var b=!!a;this.getComponentManager().getComponents(module$exports$Blockly$ComponentManager.ComponentManager.Capability.AUTOHIDEABLE,!0).forEach(function(c){return c.autoHide(b)})};module$exports$Blockly$WorkspaceSvg.resizeSvgContents=function(a){a.resizeContents()};var module$exports$Blockly$inject={inject:function(a,b){\"string\"===typeof a&&(a=document.getElementById(a)||document.querySelector(a));if(!a||!(0,module$exports$Blockly$utils$dom.containsNode)(document,a))throw Error(\"Error: container is not in current document.\");b=new module$exports$Blockly$Options.Options(b||{});var c=document.createElement(\"div\");c.className=\"injectionDiv\";c.tabIndex=0;(0,module$exports$Blockly$utils$aria.setState)(c,module$exports$Blockly$utils$aria.State.LABEL,$.module$exports$Blockly$Msg.Msg.WORKSPACE_ARIA_LABEL);\na.appendChild(c);a=module$contents$Blockly$inject_createDom(c,b);var d=new module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg(c),e=new module$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg(c),f=module$contents$Blockly$inject_createMainWorkspace(a,b,d,e);module$contents$Blockly$inject_init(f);(0,$.module$exports$Blockly$common.setMainWorkspace)(f);(0,$.module$exports$Blockly$common.svgResize)(f);c.addEventListener(\"focusin\",function(){(0,$.module$exports$Blockly$common.setMainWorkspace)(f)});\nreturn f}},module$contents$Blockly$inject_createDom=function(a,b){a.setAttribute(\"dir\",\"LTR\");(0,module$exports$Blockly$Css.inject)(b.hasCss,b.pathToMedia);a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.SVG,{xmlns:module$exports$Blockly$utils$dom.SVG_NS,\"xmlns:html\":module$exports$Blockly$utils$dom.HTML_NS,\"xmlns:xlink\":module$exports$Blockly$utils$dom.XLINK_NS,version:\"1.1\",\"class\":\"blocklySvg\",tabindex:\"0\"},a);var c=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.DEFS,\n{},a),d=String(Math.random()).substring(2);b.gridPattern=module$exports$Blockly$Grid.Grid.createDom(d,b.gridOptions,c);return a},module$contents$Blockly$inject_createMainWorkspace=function(a,b,c,d){b.parentWorkspace=null;b=new module$exports$Blockly$WorkspaceSvg.WorkspaceSvg(b,c,d);c=b.options;b.scale=c.zoomOptions.startScale;a.appendChild(b.createDom(\"blocklyMainBackground\"));(0,module$exports$Blockly$utils$dom.addClass)(b.getInjectionDiv(),b.getRenderer().getClassName());(0,module$exports$Blockly$utils$dom.addClass)(b.getInjectionDiv(),\nb.getTheme().getClassName());!c.hasCategories&&c.languageTree&&(d=b.addFlyout(module$exports$Blockly$utils$Svg.Svg.SVG),(0,module$exports$Blockly$utils$dom.insertAfter)(d,a));c.hasTrashcan&&b.addTrashcan();c.zoomOptions&&c.zoomOptions.controls&&b.addZoomControls();b.getThemeManager().subscribe(a,\"workspaceBackgroundColour\",\"background-color\");b.translate(0,0);b.addChangeListener((0,module$exports$Blockly$bumpObjects.bumpIntoBoundsHandler)(b));(0,$.module$exports$Blockly$common.svgResize)(b);(0,module$exports$Blockly$WidgetDiv.createDom)();\nmodule$exports$Blockly$DropDownDiv.DropDownDiv.createDom();(0,module$exports$Blockly$Tooltip.createDom)();return b},module$contents$Blockly$inject_init=function(a){var b=a.options,c=a.getParentSvg();(0,module$exports$Blockly$browserEvents.conditionalBind)(c.parentNode,\"contextmenu\",null,function(e){(0,module$exports$Blockly$browserEvents.isTargetInput)(e)||e.preventDefault()});c=(0,module$exports$Blockly$browserEvents.conditionalBind)(window,\"resize\",null,function(){a.hideChaff(!0);(0,$.module$exports$Blockly$common.svgResize)(a);\nmodule$exports$Blockly$bumpObjects.bumpTopObjectsIntoBounds(a)});a.setResizeHandlerWrapper(c);module$contents$Blockly$inject_bindDocumentEvents();if(b.languageTree){c=a.getToolbox();var d=a.getFlyout(!0);c?c.init():d&&(d.init(a),d.show(b.languageTree),\"function\"===typeof d.scrollToStart&&d.scrollToStart())}b.hasTrashcan&&a.trashcan.init();b.zoomOptions&&b.zoomOptions.controls&&a.zoomControls_.init();b.moveOptions&&b.moveOptions.scrollbars?(a.scrollbar=new module$exports$Blockly$ScrollbarPair.ScrollbarPair(a,\n!0===b.moveOptions.scrollbars||!!b.moveOptions.scrollbars.horizontal,!0===b.moveOptions.scrollbars||!!b.moveOptions.scrollbars.vertical,\"blocklyMainWorkspaceScrollbar\"),a.scrollbar.resize()):a.setMetrics({x:.5,y:.5});b.hasSounds&&module$contents$Blockly$inject_loadSounds(b.pathToMedia,a)},module$contents$Blockly$inject_onKeyDown=function(a){var b=(0,$.module$exports$Blockly$common.getMainWorkspace)();if(b&&!((0,module$exports$Blockly$browserEvents.isTargetInput)(a)||b.rendered&&!b.isVisible()))module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.onKeyDown(b,\na)},module$contents$Blockly$inject_documentEventsBound=!1,module$contents$Blockly$inject_bindDocumentEvents=function(){module$contents$Blockly$inject_documentEventsBound||((0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"scroll\",null,function(){for(var a=module$exports$Blockly$Workspace.Workspace.getAll(),b=0,c;c=a[b];b++)c.updateInverseScreenCTM&&c.updateInverseScreenCTM()}),(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"keydown\",null,module$contents$Blockly$inject_onKeyDown),\n(0,module$exports$Blockly$browserEvents.bind)(document,\"touchend\",null,module$exports$Blockly$Touch.longStop),(0,module$exports$Blockly$browserEvents.bind)(document,\"touchcancel\",null,module$exports$Blockly$Touch.longStop),module$exports$Blockly$utils$userAgent.IPAD&&(0,module$exports$Blockly$browserEvents.conditionalBind)(window,\"orientationchange\",document,function(){(0,$.module$exports$Blockly$common.svgResize)((0,$.module$exports$Blockly$common.getMainWorkspace)())}));module$contents$Blockly$inject_documentEventsBound=\n!0},module$contents$Blockly$inject_loadSounds=function(a,b){var c=b.getAudioManager();c.load([a+\"click.mp3\",a+\"click.wav\",a+\"click.ogg\"],\"click\");c.load([a+\"disconnect.wav\",a+\"disconnect.mp3\",a+\"disconnect.ogg\"],\"disconnect\");c.load([a+\"delete.mp3\",a+\"delete.ogg\",a+\"delete.wav\"],\"delete\");var d=[];a=function(){for(;d.length;)(0,module$exports$Blockly$browserEvents.unbind)(d.pop());c.preload()};d.push((0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mousemove\",null,a,!0));d.push((0,module$exports$Blockly$browserEvents.conditionalBind)(document,\n\"touchstart\",null,a,!0))};var module$exports$Blockly$IComponent={IComponent:function(){}};var module$exports$Blockly$IDragTarget={IDragTarget:function(){}};var module$exports$Blockly$DragTarget={DragTarget:function(){}};module$exports$Blockly$DragTarget.DragTarget.prototype.onDragEnter=function(a){};module$exports$Blockly$DragTarget.DragTarget.prototype.onDragOver=function(a){};module$exports$Blockly$DragTarget.DragTarget.prototype.onDragExit=function(a){};module$exports$Blockly$DragTarget.DragTarget.prototype.onDrop=function(a){};module$exports$Blockly$DragTarget.DragTarget.prototype.shouldPreventMove=function(a){return!1};var module$exports$Blockly$IDeleteArea={IDeleteArea:function(){}};var module$exports$Blockly$DeleteArea={DeleteArea:function(){module$exports$Blockly$DeleteArea.DeleteArea.superClass_.constructor.call(this);this.wouldDelete_=!1}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$DeleteArea.DeleteArea,module$exports$Blockly$DragTarget.DragTarget);\nmodule$exports$Blockly$DeleteArea.DeleteArea.prototype.wouldDelete=function(a,b){a instanceof module$exports$Blockly$BlockSvg.BlockSvg?(a=!a.getParent()&&a.isDeletable(),this.updateWouldDelete_(a&&!b)):this.updateWouldDelete_(a.isDeletable());return this.wouldDelete_};module$exports$Blockly$DeleteArea.DeleteArea.prototype.updateWouldDelete_=function(a){this.wouldDelete_=a};var module$exports$Blockly$FlyoutMetricsManager={FlyoutMetricsManager:function(a,b){this.flyout_=b;module$exports$Blockly$FlyoutMetricsManager.FlyoutMetricsManager.superClass_.constructor.call(this,a)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$FlyoutMetricsManager.FlyoutMetricsManager,module$exports$Blockly$MetricsManager.MetricsManager);\nmodule$exports$Blockly$FlyoutMetricsManager.FlyoutMetricsManager.prototype.getBoundingBox_=function(){try{var a=this.workspace_.getCanvas().getBBox()}catch(b){a={height:0,y:0,width:0,x:0}}return a};module$exports$Blockly$FlyoutMetricsManager.FlyoutMetricsManager.prototype.getContentMetrics=function(a){var b=this.getBoundingBox_();a=a?1:this.workspace_.scale;return{height:b.height*a,width:b.width*a,top:b.y*a,left:b.x*a}};\nmodule$exports$Blockly$FlyoutMetricsManager.FlyoutMetricsManager.prototype.getScrollMetrics=function(a,b,c){b=c||this.getContentMetrics();c=this.flyout_.MARGIN*this.workspace_.scale;a=a?this.workspace_.scale:1;return{height:(b.height+2*c)/a,width:(b.width+b.left+c)/a,top:0,left:0}};var module$exports$Blockly$IFlyout={IFlyout:function(){}};var module$exports$Blockly$Flyout={Flyout:function(a){module$exports$Blockly$Flyout.Flyout.superClass_.constructor.call(this);a.setMetrics=this.setMetrics_.bind(this);this.workspace_=new module$exports$Blockly$WorkspaceSvg.WorkspaceSvg(a);this.workspace_.setMetricsManager(new module$exports$Blockly$FlyoutMetricsManager.FlyoutMetricsManager(this.workspace_,this));this.workspace_.isFlyout=!0;this.workspace_.setVisible(this.isVisible_);this.id=(0,module$exports$Blockly$utils$idGenerator.genUid)();this.RTL=\n!!a.RTL;this.horizontalLayout=!1;this.toolboxPosition_=a.toolboxPosition;this.eventWrappers_=[];this.mats_=[];this.buttons_=[];this.listeners_=[];this.permanentlyDisabled_=[];this.tabWidth_=this.workspace_.getRenderer().getConstants().TAB_WIDTH;this.targetWorkspace=null;this.recycledBlocks_=[]}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Flyout.Flyout,module$exports$Blockly$DeleteArea.DeleteArea);module$exports$Blockly$Flyout.Flyout.prototype.autoClose=!0;\nmodule$exports$Blockly$Flyout.Flyout.prototype.isVisible_=!1;module$exports$Blockly$Flyout.Flyout.prototype.containerVisible_=!0;module$exports$Blockly$Flyout.Flyout.prototype.CORNER_RADIUS=8;module$exports$Blockly$Flyout.Flyout.prototype.MARGIN=module$exports$Blockly$Flyout.Flyout.prototype.CORNER_RADIUS;module$exports$Blockly$Flyout.Flyout.prototype.GAP_X=3*module$exports$Blockly$Flyout.Flyout.prototype.MARGIN;module$exports$Blockly$Flyout.Flyout.prototype.GAP_Y=3*module$exports$Blockly$Flyout.Flyout.prototype.MARGIN;\nmodule$exports$Blockly$Flyout.Flyout.prototype.SCROLLBAR_MARGIN=2.5;module$exports$Blockly$Flyout.Flyout.prototype.width_=0;module$exports$Blockly$Flyout.Flyout.prototype.height_=0;module$exports$Blockly$Flyout.Flyout.prototype.dragAngleRange_=70;\nmodule$exports$Blockly$Flyout.Flyout.prototype.createDom=function(a){this.svgGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(a,{\"class\":\"blocklyFlyout\",style:\"display: none\"},null);this.svgBackground_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyFlyoutBackground\"},this.svgGroup_);this.svgGroup_.appendChild(this.workspace_.createDom());this.workspace_.getThemeManager().subscribe(this.svgBackground_,\"flyoutBackgroundColour\",\n\"fill\");this.workspace_.getThemeManager().subscribe(this.svgBackground_,\"flyoutOpacity\",\"fill-opacity\");return this.svgGroup_};\nmodule$exports$Blockly$Flyout.Flyout.prototype.init=function(a){this.targetWorkspace=a;this.workspace_.targetWorkspace=a;this.workspace_.scrollbar=new module$exports$Blockly$ScrollbarPair.ScrollbarPair(this.workspace_,this.horizontalLayout,!this.horizontalLayout,\"blocklyFlyoutScrollbar\",this.SCROLLBAR_MARGIN);this.hide();Array.prototype.push.apply(this.eventWrappers_,(0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgGroup_,\"wheel\",this,this.wheel_));this.autoClose||(this.filterWrapper_=\nthis.filterForCapacity_.bind(this),this.targetWorkspace.addChangeListener(this.filterWrapper_));Array.prototype.push.apply(this.eventWrappers_,(0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgBackground_,\"mousedown\",this,this.onMouseDown_));this.workspace_.getGesture=this.targetWorkspace.getGesture.bind(this.targetWorkspace);this.workspace_.setVariableMap(this.targetWorkspace.getVariableMap());this.workspace_.createPotentialVariableMap();a.getComponentManager().addComponent({component:this,\nweight:1,capabilities:[module$exports$Blockly$ComponentManager.ComponentManager.Capability.DELETE_AREA,module$exports$Blockly$ComponentManager.ComponentManager.Capability.DRAG_TARGET]})};\nmodule$exports$Blockly$Flyout.Flyout.prototype.dispose=function(){this.hide();this.workspace_.getComponentManager().removeComponent(this.id);(0,module$exports$Blockly$browserEvents.unbind)(this.eventWrappers_);this.filterWrapper_&&(this.targetWorkspace.removeChangeListener(this.filterWrapper_),this.filterWrapper_=null);this.workspace_&&(this.workspace_.getThemeManager().unsubscribe(this.svgBackground_),this.workspace_.targetWorkspace=null,this.workspace_.dispose(),this.workspace_=null);this.svgGroup_&&\n((0,module$exports$Blockly$utils$dom.removeNode)(this.svgGroup_),this.svgGroup_=null);this.targetWorkspace=this.svgBackground_=null};module$exports$Blockly$Flyout.Flyout.prototype.getWidth=function(){return this.width_};module$exports$Blockly$Flyout.Flyout.prototype.getHeight=function(){return this.height_};module$exports$Blockly$Flyout.Flyout.prototype.getFlyoutScale=function(){return this.targetWorkspace.scale};module$exports$Blockly$Flyout.Flyout.prototype.getWorkspace=function(){return this.workspace_};\nmodule$exports$Blockly$Flyout.Flyout.prototype.isVisible=function(){return this.isVisible_};module$exports$Blockly$Flyout.Flyout.prototype.setVisible=function(a){var b=a!==this.isVisible();this.isVisible_=a;b&&(this.autoClose||this.workspace_.recordDragTargets(),this.updateDisplay_())};module$exports$Blockly$Flyout.Flyout.prototype.setContainerVisible=function(a){var b=a!==this.containerVisible_;this.containerVisible_=a;b&&this.updateDisplay_()};\nmodule$exports$Blockly$Flyout.Flyout.prototype.updateDisplay_=function(){var a=this.containerVisible_?this.isVisible():!1;this.svgGroup_.style.display=a?\"block\":\"none\";this.workspace_.scrollbar.setContainerVisible(a)};\nmodule$exports$Blockly$Flyout.Flyout.prototype.positionAt_=function(a,b,c,d){this.svgGroup_.setAttribute(\"width\",a);this.svgGroup_.setAttribute(\"height\",b);this.workspace_.setCachedParentSvgSize(a,b);\"svg\"===this.svgGroup_.tagName?(0,module$exports$Blockly$utils$dom.setCssTransform)(this.svgGroup_,\"translate(\"+c+\"px,\"+d+\"px)\"):this.svgGroup_.setAttribute(\"transform\",\"translate(\"+c+\",\"+d+\")\");if(a=this.workspace_.scrollbar)a.setOrigin(c,d),a.resize(),a.hScroll&&a.hScroll.setPosition(a.hScroll.position.x,\na.hScroll.position.y),a.vScroll&&a.vScroll.setPosition(a.vScroll.position.x,a.vScroll.position.y)};module$exports$Blockly$Flyout.Flyout.prototype.hide=function(){if(this.isVisible()){this.setVisible(!1);for(var a=0,b;b=this.listeners_[a];a++)(0,module$exports$Blockly$browserEvents.unbind)(b);this.listeners_.length=0;this.reflowWrapper_&&(this.workspace_.removeChangeListener(this.reflowWrapper_),this.reflowWrapper_=null)}};\nmodule$exports$Blockly$Flyout.Flyout.prototype.show=function(a){this.workspace_.setResizesEnabled(!1);this.hide();this.clearOldBlocks_();\"string\"===typeof a&&(a=this.getDynamicCategoryContents_(a));this.setVisible(!0);a=(0,module$exports$Blockly$utils$toolbox.convertFlyoutDefToJsonArray)(a);a=this.createFlyoutInfo_(a);this.layout_(a.contents,a.gaps);this.listeners_.push((0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgBackground_,\"mouseover\",this,function(){for(var b=this.workspace_.getTopBlocks(!1),\nc=0,d;d=b[c];c++)d.removeSelect()}));this.horizontalLayout?this.height_=0:this.width_=0;this.workspace_.setResizesEnabled(!0);this.reflow();this.filterForCapacity_();this.position();this.reflowWrapper_=this.reflow.bind(this);this.workspace_.addChangeListener(this.reflowWrapper_);this.emptyRecycledBlocks_()};\nmodule$exports$Blockly$Flyout.Flyout.prototype.createFlyoutInfo_=function(a){var b=[],c=[];this.permanentlyDisabled_.length=0;for(var d=this.horizontalLayout?this.GAP_X:this.GAP_Y,e=0,f;f=a[e];e++)switch(f.custom&&(f=this.getDynamicCategoryContents_(f.custom),f=(0,module$exports$Blockly$utils$toolbox.convertFlyoutDefToJsonArray)(f),a.splice.apply(a,[e,1].concat(f)),f=a[e]),f.kind.toUpperCase()){case \"BLOCK\":var g=this.createFlyoutBlock_(f);b.push({type:\"block\",block:g});this.addBlockGap_(f,c,d);break;\ncase \"SEP\":this.addSeparatorGap_(f,c,d);break;case \"LABEL\":f=this.createButton_(f,!0);b.push({type:\"button\",button:f});c.push(d);break;case \"BUTTON\":f=this.createButton_(f,!1),b.push({type:\"button\",button:f}),c.push(d)}return{contents:b,gaps:c}};\nmodule$exports$Blockly$Flyout.Flyout.prototype.getDynamicCategoryContents_=function(a){a=this.workspace_.targetWorkspace.getToolboxCategoryCallback(a);if(\"function\"!==typeof a)throw TypeError(\"Couldn't find a callback function when opening a toolbox category.\");return a(this.workspace_.targetWorkspace)};\nmodule$exports$Blockly$Flyout.Flyout.prototype.createButton_=function(a,b){var c=module$exports$Blockly$FlyoutButton.FlyoutButton;if(!c)throw Error(\"Missing require for Blockly.FlyoutButton\");return new c(this.workspace_,this.targetWorkspace,a,b)};\nmodule$exports$Blockly$Flyout.Flyout.prototype.createFlyoutBlock_=function(a){var b;a.blockxml?(a=\"string\"===typeof a.blockxml?(0,$.module$exports$Blockly$Xml.textToDom)(a.blockxml):a.blockxml,(b=this.getRecycledBlock_(a.getAttribute(\"type\")))||(b=(0,$.module$exports$Blockly$Xml.domToBlock)(a,this.workspace_))):(b=this.getRecycledBlock_(a.type),b||(void 0===a.enabled&&(a.enabled=\"true\"!==a.disabled&&!0!==a.disabled),b=(0,module$exports$Blockly$serialization$blocks.append)(a,this.workspace_)));b.isEnabled()||\nthis.permanentlyDisabled_.push(b);return b};module$exports$Blockly$Flyout.Flyout.prototype.getRecycledBlock_=function(a){for(var b=-1,c=0;c<this.recycledBlocks_.length;c++)if(this.recycledBlocks_[c].type===a){b=c;break}return-1===b?void 0:this.recycledBlocks_.splice(b,1)[0]};\nmodule$exports$Blockly$Flyout.Flyout.prototype.addBlockGap_=function(a,b,c){if(a.gap)var d=parseInt(a.gap,10);else a.blockxml&&(a=\"string\"===typeof a.blockxml?(0,$.module$exports$Blockly$Xml.textToDom)(a.blockxml):a.blockxml,d=parseInt(a.getAttribute(\"gap\"),10));b.push(isNaN(d)?c:d)};module$exports$Blockly$Flyout.Flyout.prototype.addSeparatorGap_=function(a,b,c){a=parseInt(a.gap,10);!isNaN(a)&&0<b.length?b[b.length-1]=a:b.push(c)};\nmodule$exports$Blockly$Flyout.Flyout.prototype.clearOldBlocks_=function(){for(var a=this.workspace_.getTopBlocks(!1),b=0,c;c=a[b];b++)this.blockIsRecyclable_(c)?this.recycleBlock_(c):c.dispose(!1,!1);for(a=0;a<this.mats_.length;a++)if(b=this.mats_[a])(0,module$exports$Blockly$Tooltip.unbindMouseEvents)(b),(0,module$exports$Blockly$utils$dom.removeNode)(b);for(a=this.mats_.length=0;b=this.buttons_[a];a++)b.dispose();this.buttons_.length=0;this.workspace_.getPotentialVariableMap().clear()};\nmodule$exports$Blockly$Flyout.Flyout.prototype.emptyRecycledBlocks_=function(){for(var a=0;a<this.recycledBlocks_.length;a++)this.recycledBlocks_[a].dispose();this.recycledBlocks_=[]};module$exports$Blockly$Flyout.Flyout.prototype.blockIsRecyclable_=function(a){return!1};module$exports$Blockly$Flyout.Flyout.prototype.recycleBlock_=function(a){var b=a.getRelativeToSurfaceXY();a.moveBy(-b.x,-b.y);this.recycledBlocks_.push(a)};\nmodule$exports$Blockly$Flyout.Flyout.prototype.addBlockListeners_=function(a,b,c){this.listeners_.push((0,module$exports$Blockly$browserEvents.conditionalBind)(a,\"mousedown\",null,this.blockMouseDown_(b)));this.listeners_.push((0,module$exports$Blockly$browserEvents.conditionalBind)(c,\"mousedown\",null,this.blockMouseDown_(b)));this.listeners_.push((0,module$exports$Blockly$browserEvents.bind)(a,\"mouseenter\",b,b.addSelect));this.listeners_.push((0,module$exports$Blockly$browserEvents.bind)(a,\"mouseleave\",\nb,b.removeSelect));this.listeners_.push((0,module$exports$Blockly$browserEvents.bind)(c,\"mouseenter\",b,b.addSelect));this.listeners_.push((0,module$exports$Blockly$browserEvents.bind)(c,\"mouseleave\",b,b.removeSelect))};module$exports$Blockly$Flyout.Flyout.prototype.blockMouseDown_=function(a){var b=this;return function(c){var d=b.targetWorkspace.getGesture(c);d&&(d.setStartBlock(a),d.handleFlyoutStart(c,b))}};\nmodule$exports$Blockly$Flyout.Flyout.prototype.onMouseDown_=function(a){var b=this.targetWorkspace.getGesture(a);b&&b.handleFlyoutStart(a,this)};module$exports$Blockly$Flyout.Flyout.prototype.isBlockCreatable_=function(a){return a.isEnabled()};\nmodule$exports$Blockly$Flyout.Flyout.prototype.createBlock=function(a){var b=null;(0,module$exports$Blockly$Events$utils.disable)();var c=this.targetWorkspace.getAllVariables();this.targetWorkspace.setResizesEnabled(!1);try{b=this.placeNewBlock_(a)}finally{(0,module$exports$Blockly$Events$utils.enable)()}this.targetWorkspace.hideChaff();a=(0,$.module$exports$Blockly$Variables.getAddedVariables)(this.targetWorkspace,c);if((0,module$exports$Blockly$Events$utils.isEnabled)()){(0,module$exports$Blockly$Events$utils.setGroup)(!0);\nfor(c=0;c<a.length;c++){var d=a[c];(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.VAR_CREATE))(d))}(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CREATE))(b))}this.autoClose?this.hide():this.filterForCapacity_();return b};\nmodule$exports$Blockly$Flyout.Flyout.prototype.initFlyoutButton_=function(a,b,c){var d=a.createDom();a.moveTo(b,c);a.show();this.listeners_.push((0,module$exports$Blockly$browserEvents.conditionalBind)(d,\"mousedown\",this,this.onMouseDown_));this.buttons_.push(a)};\nmodule$exports$Blockly$Flyout.Flyout.prototype.createRect_=function(a,b,c,d,e){b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"fill-opacity\":0,x:b,y:c,height:d.height,width:d.width},null);b.tooltip=a;(0,module$exports$Blockly$Tooltip.bindMouseEvents)(b);this.workspace_.getCanvas().insertBefore(b,a.getSvgRoot());a.flyoutRect_=b;return this.mats_[e]=b};\nmodule$exports$Blockly$Flyout.Flyout.prototype.moveRectToBlock_=function(a,b){var c=b.getHeightWidth();a.setAttribute(\"width\",c.width);a.setAttribute(\"height\",c.height);b=b.getRelativeToSurfaceXY();a.setAttribute(\"y\",b.y);a.setAttribute(\"x\",this.RTL?b.x-c.width:b.x)};\nmodule$exports$Blockly$Flyout.Flyout.prototype.filterForCapacity_=function(){for(var a=this.workspace_.getTopBlocks(!1),b=0,c;c=a[b];b++)if(-1===this.permanentlyDisabled_.indexOf(c))for(var d=this.targetWorkspace.isCapacityAvailable((0,$.module$exports$Blockly$common.getBlockTypeCounts)(c));c;)c.setEnabled(d),c=c.getNextBlock()};\nmodule$exports$Blockly$Flyout.Flyout.prototype.reflow=function(){this.reflowWrapper_&&this.workspace_.removeChangeListener(this.reflowWrapper_);this.reflowInternal_();this.reflowWrapper_&&this.workspace_.addChangeListener(this.reflowWrapper_)};module$exports$Blockly$Flyout.Flyout.prototype.isScrollable=function(){return this.workspace_.scrollbar?this.workspace_.scrollbar.isVisible():!1};\nmodule$exports$Blockly$Flyout.Flyout.prototype.placeNewBlock_=function(a){var b=this.targetWorkspace;if(!a.getSvgRoot())throw Error(\"oldBlock is not rendered.\");var c=(0,module$exports$Blockly$serialization$blocks.save)(a);b.setResizesEnabled(!1);b=(0,module$exports$Blockly$serialization$blocks.append)(c,b);this.positionNewBlock_(a,b);return b};\nmodule$exports$Blockly$Flyout.Flyout.prototype.positionNewBlock_=function(a,b){var c=this.targetWorkspace,d=c.getOriginOffsetInPixels(),e=this.workspace_.getOriginOffsetInPixels();a=a.getRelativeToSurfaceXY();a.scale(this.workspace_.scale);e=module$exports$Blockly$utils$Coordinate.Coordinate.sum(e,a);d=module$exports$Blockly$utils$Coordinate.Coordinate.difference(e,d);d.scale(1/c.scale);b.moveTo(new module$exports$Blockly$utils$Coordinate.Coordinate(d.x,d.y))};var module$exports$Blockly$VerticalFlyout={VerticalFlyout:function(a){module$exports$Blockly$VerticalFlyout.VerticalFlyout.superClass_.constructor.call(this,a)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$VerticalFlyout.VerticalFlyout,module$exports$Blockly$Flyout.Flyout);module$exports$Blockly$VerticalFlyout.VerticalFlyout.registryName=\"verticalFlyout\";\nmodule$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.setMetrics_=function(a){if(this.isVisible()){var b=this.workspace_.getMetricsManager(),c=b.getScrollMetrics(),d=b.getViewMetrics();b=b.getAbsoluteMetrics();\"number\"===typeof a.y&&(this.workspace_.scrollY=-(c.top+(c.height-d.height)*a.y));this.workspace_.translate(this.workspace_.scrollX+b.left,this.workspace_.scrollY+b.top)}};\nmodule$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.getX=function(){if(!this.isVisible())return 0;var a=this.targetWorkspace.getMetricsManager(),b=a.getAbsoluteMetrics(),c=a.getViewMetrics();a=a.getToolboxMetrics();return this.targetWorkspace.toolboxPosition===this.toolboxPosition_?this.targetWorkspace.getToolbox()?this.toolboxPosition_===module$exports$Blockly$utils$toolbox.Position.LEFT?a.width:c.width-this.width_:this.toolboxPosition_===module$exports$Blockly$utils$toolbox.Position.LEFT?\n0:c.width:this.toolboxPosition_===module$exports$Blockly$utils$toolbox.Position.LEFT?0:c.width+b.left-this.width_};module$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.getY=function(){return 0};\nmodule$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.position=function(){if(this.isVisible()&&this.targetWorkspace.isVisible()){var a=this.targetWorkspace.getMetricsManager().getViewMetrics();this.height_=a.height;this.setBackgroundPath_(this.width_-this.CORNER_RADIUS,a.height-2*this.CORNER_RADIUS);a=this.getX();var b=this.getY();this.positionAt_(this.width_,this.height_,a,b)}};\nmodule$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.setBackgroundPath_=function(a,b){var c=this.toolboxPosition_===module$exports$Blockly$utils$toolbox.Position.RIGHT,d=a+this.CORNER_RADIUS;d=[\"M \"+(c?d:0)+\",0\"];d.push(\"h\",c?-a:a);d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?-this.CORNER_RADIUS:this.CORNER_RADIUS,this.CORNER_RADIUS);d.push(\"v\",Math.max(0,b));d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?this.CORNER_RADIUS:-this.CORNER_RADIUS,this.CORNER_RADIUS);\nd.push(\"h\",c?a:-a);d.push(\"z\");this.svgBackground_.setAttribute(\"d\",d.join(\" \"))};module$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.scrollToStart=function(){this.workspace_.scrollbar.setY(0)};\nmodule$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.wheel_=function(a){var b=(0,module$exports$Blockly$browserEvents.getScrollDeltaPixels)(a);if(b.y){var c=this.workspace_.getMetricsManager(),d=c.getScrollMetrics();b=c.getViewMetrics().top-d.top+b.y;this.workspace_.scrollbar.setY(b);(0,module$exports$Blockly$WidgetDiv.hide)();module$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation()}a.preventDefault();a.stopPropagation()};\nmodule$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.layout_=function(a,b){this.workspace_.scale=this.targetWorkspace.scale;for(var c=this.MARGIN,d=this.RTL?c:c+this.tabWidth_,e=0,f;f=a[e];e++)if(\"block\"===f.type){f=f.block;for(var g=f.getDescendants(!1),h=0,k;k=g[h];h++)k.isInFlyout=!0;f.render();g=f.getSvgRoot();h=f.getHeightWidth();k=f.outputConnection?d-this.tabWidth_:d;f.moveBy(k,c);k=this.createRect_(f,this.RTL?k-h.width:k,c,h,e);this.addBlockListeners_(g,f,k);c+=h.height+b[e]}else\"button\"===\nf.type&&(this.initFlyoutButton_(f.button,d,c),c+=f.button.height+b[e])};module$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.isDragTowardWorkspace=function(a){a=Math.atan2(a.y,a.x)/Math.PI*180;var b=this.dragAngleRange_;return a<b&&a>-b||a<-180+b||a>180-b?!0:!1};\nmodule$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.left;return this.toolboxPosition_===module$exports$Blockly$utils$toolbox.Position.LEFT?new module$exports$Blockly$utils$Rect.Rect(-1E9,1E9,-1E9,b+a.width):new module$exports$Blockly$utils$Rect.Rect(-1E9,1E9,b,1E9)};\nmodule$exports$Blockly$VerticalFlyout.VerticalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.getFlyoutScale();for(var a=0,b=this.workspace_.getTopBlocks(!1),c=0,d;d=b[c];c++){var e=d.getHeightWidth().width;d.outputConnection&&(e-=this.tabWidth_);a=Math.max(a,e)}for(c=0;d=this.buttons_[c];c++)a=Math.max(a,d.width);a+=1.5*this.MARGIN+this.tabWidth_;a*=this.workspace_.scale;a+=module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness;if(this.width_!==a){for(c=0;d=b[c];c++){if(this.RTL){e=\nd.getRelativeToSurfaceXY().x;var f=a/this.workspace_.scale-this.MARGIN;d.outputConnection||(f-=this.tabWidth_);d.moveBy(f-e,0)}d.flyoutRect_&&this.moveRectToBlock_(d.flyoutRect_,d)}if(this.RTL)for(b=0;c=this.buttons_[b];b++)d=c.getPosition().y,c.moveTo(a/this.workspace_.scale-c.width-this.MARGIN-this.tabWidth_,d);this.targetWorkspace.toolboxPosition!==this.toolboxPosition_||this.toolboxPosition_!==module$exports$Blockly$utils$toolbox.Position.LEFT||this.targetWorkspace.getToolbox()||this.targetWorkspace.translate(this.targetWorkspace.scrollX+\na,this.targetWorkspace.scrollY);this.width_=a;this.position();this.targetWorkspace.recordDragTargets()}};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.FLYOUTS_VERTICAL_TOOLBOX,module$exports$Blockly$registry.DEFAULT,module$exports$Blockly$VerticalFlyout.VerticalFlyout);var module$exports$Blockly$IToolboxItem={IToolboxItem:function(){}};var module$exports$Blockly$ISelectableToolboxItem={ISelectableToolboxItem:function(){}};var module$exports$Blockly$ICollapsibleToolboxItem={ICollapsibleToolboxItem:function(){}};var module$exports$Blockly$ToolboxItem={ToolboxItem:function(a,b,c){this.id_=a.toolboxitemid||(0,module$exports$Blockly$utils$idGenerator.getNextUniqueId)();this.level_=(this.parent_=c||null)?this.parent_.getLevel()+1:0;this.toolboxItemDef_=a;this.parentToolbox_=b;this.workspace_=this.parentToolbox_.getWorkspace()}};module$exports$Blockly$ToolboxItem.ToolboxItem.prototype.init=function(){};module$exports$Blockly$ToolboxItem.ToolboxItem.prototype.getDiv=function(){return null};\nmodule$exports$Blockly$ToolboxItem.ToolboxItem.prototype.getId=function(){return this.id_};module$exports$Blockly$ToolboxItem.ToolboxItem.prototype.getParent=function(){return null};module$exports$Blockly$ToolboxItem.ToolboxItem.prototype.getLevel=function(){return this.level_};module$exports$Blockly$ToolboxItem.ToolboxItem.prototype.isSelectable=function(){return!1};module$exports$Blockly$ToolboxItem.ToolboxItem.prototype.isCollapsible=function(){return!1};\nmodule$exports$Blockly$ToolboxItem.ToolboxItem.prototype.dispose=function(){};var module$exports$Blockly$ToolboxCategory={ToolboxCategory:function(a,b,c){module$exports$Blockly$ToolboxCategory.ToolboxCategory.superClass_.constructor.call(this,a,b,c);this.name_=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.name);this.colour_=this.getColour_(a);this.labelDom_=this.iconDom_=this.rowContents_=this.rowDiv_=this.htmlDiv_=null;this.cssConfig_=this.makeDefaultCssConfig_();(0,$.module$exports$Blockly$utils$object.mixin)(this.cssConfig_,a.cssconfig||a.cssConfig);\nthis.isDisabled_=this.isHidden_=!1;this.flyoutItems_=[];this.parseContents_(a)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$ToolboxCategory.ToolboxCategory,module$exports$Blockly$ToolboxItem.ToolboxItem);module$exports$Blockly$ToolboxCategory.ToolboxCategory.registrationName=\"category\";module$exports$Blockly$ToolboxCategory.ToolboxCategory.nestedPadding=19;module$exports$Blockly$ToolboxCategory.ToolboxCategory.borderWidth=8;\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.defaultBackgroundColour=\"#57e\";module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.makeDefaultCssConfig_=function(){return{container:\"blocklyToolboxCategory\",row:\"blocklyTreeRow\",rowcontentcontainer:\"blocklyTreeRowContentContainer\",icon:\"blocklyTreeIcon\",label:\"blocklyTreeLabel\",contents:\"blocklyToolboxContents\",selected:\"blocklyTreeSelected\",openicon:\"blocklyTreeIconOpen\",closedicon:\"blocklyTreeIconClosed\"}};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.parseContents_=function(a){var b=a.contents;if(a.custom)this.flyoutItems_=a.custom;else if(b)for(a=0;a<b.length;a++)this.flyoutItems_.push(b[a])};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.init=function(){this.createDom_();\"true\"===this.toolboxItemDef_.hidden&&this.hide()};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.createDom_=function(){this.htmlDiv_=this.createContainer_();(0,module$exports$Blockly$utils$aria.setRole)(this.htmlDiv_,module$exports$Blockly$utils$aria.Role.TREEITEM);(0,module$exports$Blockly$utils$aria.setState)(this.htmlDiv_,module$exports$Blockly$utils$aria.State.SELECTED,!1);(0,module$exports$Blockly$utils$aria.setState)(this.htmlDiv_,module$exports$Blockly$utils$aria.State.LEVEL,this.level_);this.rowDiv_=this.createRowContainer_();\nthis.rowDiv_.style.pointerEvents=\"auto\";this.htmlDiv_.appendChild(this.rowDiv_);this.rowContents_=this.createRowContentsContainer_();this.rowContents_.style.pointerEvents=\"none\";this.rowDiv_.appendChild(this.rowContents_);this.iconDom_=this.createIconDom_();(0,module$exports$Blockly$utils$aria.setRole)(this.iconDom_,module$exports$Blockly$utils$aria.Role.PRESENTATION);this.rowContents_.appendChild(this.iconDom_);this.labelDom_=this.createLabelDom_(this.name_);this.rowContents_.appendChild(this.labelDom_);\n(0,module$exports$Blockly$utils$aria.setState)(this.htmlDiv_,module$exports$Blockly$utils$aria.State.LABELLEDBY,this.labelDom_.getAttribute(\"id\"));this.addColourBorder_(this.colour_);return this.htmlDiv_};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.createContainer_=function(){var a=document.createElement(\"div\");(0,module$exports$Blockly$utils$dom.addClass)(a,this.cssConfig_.container);return a};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.createRowContainer_=function(){var a=document.createElement(\"div\");(0,module$exports$Blockly$utils$dom.addClass)(a,this.cssConfig_.row);var b=module$exports$Blockly$ToolboxCategory.ToolboxCategory.nestedPadding*this.getLevel();b=b.toString()+\"px\";this.workspace_.RTL?a.style.paddingRight=b:a.style.paddingLeft=b;return a};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.createRowContentsContainer_=function(){var a=document.createElement(\"div\");(0,module$exports$Blockly$utils$dom.addClass)(a,this.cssConfig_.rowcontentcontainer);return a};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.createIconDom_=function(){var a=document.createElement(\"span\");this.parentToolbox_.isHorizontal()||(0,module$exports$Blockly$utils$dom.addClass)(a,this.cssConfig_.icon);a.style.display=\"inline-block\";return a};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.createLabelDom_=function(a){var b=document.createElement(\"span\");b.setAttribute(\"id\",this.getId()+\".label\");b.textContent=a;(0,module$exports$Blockly$utils$dom.addClass)(b,this.cssConfig_.label);return b};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.refreshTheme=function(){this.colour_=this.getColour_(this.toolboxItemDef_);this.addColourBorder_(this.colour_)};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.addColourBorder_=function(a){a&&(a=module$exports$Blockly$ToolboxCategory.ToolboxCategory.borderWidth+\"px solid \"+(a||\"#ddd\"),this.workspace_.RTL?this.rowDiv_.style.borderRight=a:this.rowDiv_.style.borderLeft=a)};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.getColour_=function(a){var b=a.categorystyle||a.categoryStyle;if((a=a.colour)&&b)console.warn('Toolbox category \"'+this.name_+'\" must not have both a style and a colour');else return b?this.getColourfromStyle_(b):this.parseColour_(a);return\"\"};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.getColourfromStyle_=function(a){var b=this.workspace_.getTheme();if(a&&b){if((b=b.categoryStyles[a])&&b.colour)return this.parseColour_(b.colour);console.warn('Style \"'+a+'\" must exist and contain a colour value')}return\"\"};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.getClickTarget=function(){return this.rowDiv_};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.parseColour_=function(a){a=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a);if(null==a||\"\"===a)return\"\";var b=Number(a);if(isNaN(b)){if(b=(0,module$exports$Blockly$utils$colour.parse)(a))return b;console.warn('Toolbox category \"'+this.name_+'\" has unrecognized colour attribute: '+a);return\"\"}return(0,module$exports$Blockly$utils$colour.hueToHex)(b)};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.openIcon_=function(a){a&&((0,module$exports$Blockly$utils$dom.removeClasses)(a,this.cssConfig_.closedicon),(0,module$exports$Blockly$utils$dom.addClass)(a,this.cssConfig_.openicon))};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.closeIcon_=function(a){a&&((0,module$exports$Blockly$utils$dom.removeClasses)(a,this.cssConfig_.openicon),(0,module$exports$Blockly$utils$dom.addClass)(a,this.cssConfig_.closedicon))};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.setVisible_=function(a){this.htmlDiv_.style.display=a?\"block\":\"none\";this.isHidden_=!a;this.parentToolbox_.getSelectedItem()===this&&this.parentToolbox_.clearSelection()};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.hide=function(){this.setVisible_(!1)};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.show=function(){this.setVisible_(!0)};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.isVisible=function(){return!this.isHidden_&&this.allAncestorsExpanded_()};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.allAncestorsExpanded_=function(){for(var a=this;a.getParent();)if(a=a.getParent(),!a.isExpanded())return!1;return!0};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.isSelectable=function(){return this.isVisible()&&!this.isDisabled_};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.onClick=function(a){};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.setSelected=function(a){if(a){var b=this.parseColour_(module$exports$Blockly$ToolboxCategory.ToolboxCategory.defaultBackgroundColour);this.rowDiv_.style.backgroundColor=this.colour_||b;(0,module$exports$Blockly$utils$dom.addClass)(this.rowDiv_,this.cssConfig_.selected)}else this.rowDiv_.style.backgroundColor=\"\",(0,module$exports$Blockly$utils$dom.removeClass)(this.rowDiv_,this.cssConfig_.selected);(0,module$exports$Blockly$utils$aria.setState)(this.htmlDiv_,\nmodule$exports$Blockly$utils$aria.State.SELECTED,a)};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.setDisabled=function(a){this.isDisabled_=a;this.getDiv().setAttribute(\"disabled\",a);a?this.getDiv().setAttribute(\"disabled\",\"true\"):this.getDiv().removeAttribute(\"disabled\")};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.getName=function(){return this.name_};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.getParent=function(){return this.parent_};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.getDiv=function(){return this.htmlDiv_};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.getContents=function(){return this.flyoutItems_};\nmodule$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.updateFlyoutContents=function(a){this.flyoutItems_=[];\"string\"===typeof a?this.toolboxItemDef_.custom=a:(delete this.toolboxItemDef_.custom,this.toolboxItemDef_.contents=(0,module$exports$Blockly$utils$toolbox.convertFlyoutDefToJsonArray)(a));this.parseContents_(this.toolboxItemDef_)};module$exports$Blockly$ToolboxCategory.ToolboxCategory.prototype.dispose=function(){(0,module$exports$Blockly$utils$dom.removeNode)(this.htmlDiv_)};(0,module$exports$Blockly$Css.register)('\\n .blocklyTreeRow:not(.blocklyTreeSelected):hover {\\n background-color: rgba(255, 255, 255, 0.2);\\n }\\n\\n .blocklyToolboxDiv[layout=\"h\"] .blocklyToolboxCategory {\\n margin: 1px 5px 1px 0;\\n }\\n\\n .blocklyToolboxDiv[dir=\"RTL\"][layout=\"h\"] .blocklyToolboxCategory {\\n margin: 1px 0 1px 5px;\\n }\\n\\n .blocklyTreeRow {\\n height: 22px;\\n line-height: 22px;\\n margin-bottom: 3px;\\n padding-right: 8px;\\n white-space: nowrap;\\n }\\n\\n .blocklyToolboxDiv[dir=\"RTL\"] .blocklyTreeRow {\\n margin-left: 8px;\\n padding-right: 0;\\n }\\n\\n .blocklyTreeIcon {\\n background-image: url(<<<PATH>>>/sprites.png);\\n height: 16px;\\n vertical-align: middle;\\n visibility: hidden;\\n width: 16px;\\n }\\n\\n .blocklyTreeIconClosed {\\n background-position: -32px -1px;\\n }\\n\\n .blocklyToolboxDiv[dir=\"RTL\"] .blocklyTreeIconClosed {\\n background-position: 0 -1px;\\n }\\n\\n .blocklyTreeSelected>.blocklyTreeIconClosed {\\n background-position: -32px -17px;\\n }\\n\\n .blocklyToolboxDiv[dir=\"RTL\"] .blocklyTreeSelected>.blocklyTreeIconClosed {\\n background-position: 0 -17px;\\n }\\n\\n .blocklyTreeIconOpen {\\n background-position: -16px -1px;\\n }\\n\\n .blocklyTreeSelected>.blocklyTreeIconOpen {\\n background-position: -16px -17px;\\n }\\n\\n .blocklyTreeLabel {\\n cursor: default;\\n font: 16px sans-serif;\\n padding: 0 3px;\\n vertical-align: middle;\\n }\\n\\n .blocklyToolboxDelete .blocklyTreeLabel {\\n cursor: url(\"<<<PATH>>>/handdelete.cur\"), auto;\\n }\\n\\n .blocklyTreeSelected .blocklyTreeLabel {\\n color: #fff;\\n }\\n');\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.TOOLBOX_ITEM,module$exports$Blockly$ToolboxCategory.ToolboxCategory.registrationName,module$exports$Blockly$ToolboxCategory.ToolboxCategory);var module$exports$Blockly$ToolboxSeparator={ToolboxSeparator:function(a,b){module$exports$Blockly$ToolboxSeparator.ToolboxSeparator.superClass_.constructor.call(this,a,b);this.cssConfig_={container:\"blocklyTreeSeparator\"};(0,$.module$exports$Blockly$utils$object.mixin)(this.cssConfig_,a.cssconfig||a.cssConfig)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$ToolboxSeparator.ToolboxSeparator,module$exports$Blockly$ToolboxItem.ToolboxItem);\nmodule$exports$Blockly$ToolboxSeparator.ToolboxSeparator.registrationName=\"sep\";module$exports$Blockly$ToolboxSeparator.ToolboxSeparator.prototype.init=function(){this.createDom_()};module$exports$Blockly$ToolboxSeparator.ToolboxSeparator.prototype.createDom_=function(){var a=document.createElement(\"div\");(0,module$exports$Blockly$utils$dom.addClass)(a,this.cssConfig_.container);return this.htmlDiv_=a};module$exports$Blockly$ToolboxSeparator.ToolboxSeparator.prototype.getDiv=function(){return this.htmlDiv_};\nmodule$exports$Blockly$ToolboxSeparator.ToolboxSeparator.prototype.dispose=function(){(0,module$exports$Blockly$utils$dom.removeNode)(this.htmlDiv_)};(0,module$exports$Blockly$Css.register)('\\n .blocklyTreeSeparator {\\n border-bottom: solid #e5e5e5 1px;\\n height: 0;\\n margin: 5px 0;\\n }\\n\\n .blocklyToolboxDiv[layout=\"h\"] .blocklyTreeSeparator {\\n border-right: solid #e5e5e5 1px;\\n border-bottom: none;\\n height: auto;\\n margin: 0 5px 0 5px;\\n padding: 5px 0;\\n width: 0;\\n }\\n');\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.TOOLBOX_ITEM,module$exports$Blockly$ToolboxSeparator.ToolboxSeparator.registrationName,module$exports$Blockly$ToolboxSeparator.ToolboxSeparator);var module$exports$Blockly$CollapsibleToolboxCategory={CollapsibleToolboxCategory:function(a,b,c){this.subcategoriesDiv_=null;this.expanded_=!1;this.toolboxItems_=[];module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.superClass_.constructor.call(this,a,b,c)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory,module$exports$Blockly$ToolboxCategory.ToolboxCategory);\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.registrationName=\"collapsibleCategory\";module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.makeDefaultCssConfig_=function(){var a=module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.superClass_.makeDefaultCssConfig_.call(this);a.contents=\"blocklyToolboxContents\";return a};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.parseContents_=function(a){var b=a.contents,c=!0;if(a.custom)this.flyoutItems_=a.custom;else if(b)for(a=0;a<b.length;a++){var d=b[a];!(0,module$exports$Blockly$registry.hasItem)(module$exports$Blockly$registry.Type.TOOLBOX_ITEM,d.kind)||d.kind.toLowerCase()===module$exports$Blockly$ToolboxSeparator.ToolboxSeparator.registrationName&&c?(this.flyoutItems_.push(d),c=!0):(this.createToolboxItem_(d),c=!1)}};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.createToolboxItem_=function(a){var b=a.kind;\"CATEGORY\"==b.toUpperCase()&&(0,module$exports$Blockly$utils$toolbox.isCategoryCollapsible)(a)&&(b=module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.registrationName);a=new ((0,module$exports$Blockly$registry.getClass)(module$exports$Blockly$registry.Type.TOOLBOX_ITEM,b))(a,this.parentToolbox_,this);this.toolboxItems_.push(a)};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.init=function(){module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.superClass_.init.call(this);this.setExpanded(\"true\"===this.toolboxItemDef_.expanded||this.toolboxItemDef_.expanded)};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.createDom_=function(){module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.superClass_.createDom_.call(this);var a=this.getChildToolboxItems();this.subcategoriesDiv_=this.createSubCategoriesDom_(a);(0,module$exports$Blockly$utils$aria.setRole)(this.subcategoriesDiv_,module$exports$Blockly$utils$aria.Role.GROUP);this.htmlDiv_.appendChild(this.subcategoriesDiv_);return this.htmlDiv_};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.createIconDom_=function(){var a=document.createElement(\"span\");this.parentToolbox_.isHorizontal()||((0,module$exports$Blockly$utils$dom.addClass)(a,this.cssConfig_.icon),a.style.visibility=\"visible\");a.style.display=\"inline-block\";return a};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.createSubCategoriesDom_=function(a){var b=document.createElement(\"div\");(0,module$exports$Blockly$utils$dom.addClass)(b,this.cssConfig_.contents);for(var c=0;c<a.length;c++){var d=a[c];d.init();var e=d.getDiv();b.appendChild(e);d.getClickTarget&&d.getClickTarget().setAttribute(\"id\",d.getId())}return b};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.setExpanded=function(a){this.expanded_!==a&&((this.expanded_=a)?(this.subcategoriesDiv_.style.display=\"block\",this.openIcon_(this.iconDom_)):(this.subcategoriesDiv_.style.display=\"none\",this.closeIcon_(this.iconDom_)),(0,module$exports$Blockly$utils$aria.setState)(this.htmlDiv_,module$exports$Blockly$utils$aria.State.EXPANDED,a),this.parentToolbox_.handleToolboxItemResize())};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.setVisible_=function(a){this.htmlDiv_.style.display=a?\"block\":\"none\";for(var b=this.getChildToolboxItems(),c=0;c<b.length;c++)b[c].setVisible_(a);this.isHidden_=!a;this.parentToolbox_.getSelectedItem()===this&&this.parentToolbox_.clearSelection()};module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.isExpanded=function(){return this.expanded_};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.isCollapsible=function(){return!0};module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.onClick=function(a){this.toggleExpanded()};module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.toggleExpanded=function(){this.setExpanded(!this.expanded_)};module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.getDiv=function(){return this.htmlDiv_};\nmodule$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.prototype.getChildToolboxItems=function(){return this.toolboxItems_};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.TOOLBOX_ITEM,module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.registrationName,module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory);var module$exports$Blockly$IAutoHideable={IAutoHideable:function(){}};var module$exports$Blockly$IStyleable={IStyleable:function(){}};var module$exports$Blockly$IToolbox={IToolbox:function(){}};var module$exports$Blockly$Events$ToolboxItemSelect={ToolboxItemSelect:function(a,b,c){module$exports$Blockly$Events$ToolboxItemSelect.ToolboxItemSelect.superClass_.constructor.call(this,c);this.oldItem=a;this.newItem=b}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$ToolboxItemSelect.ToolboxItemSelect,module$exports$Blockly$Events$UiBase.UiBase);module$exports$Blockly$Events$ToolboxItemSelect.ToolboxItemSelect.prototype.type=module$exports$Blockly$Events$utils.TOOLBOX_ITEM_SELECT;\nmodule$exports$Blockly$Events$ToolboxItemSelect.ToolboxItemSelect.prototype.toJson=function(){var a=module$exports$Blockly$Events$ToolboxItemSelect.ToolboxItemSelect.superClass_.toJson.call(this);a.oldItem=this.oldItem;a.newItem=this.newItem;return a};module$exports$Blockly$Events$ToolboxItemSelect.ToolboxItemSelect.prototype.fromJson=function(a){module$exports$Blockly$Events$ToolboxItemSelect.ToolboxItemSelect.superClass_.fromJson.call(this,a);this.oldItem=a.oldItem;this.newItem=a.newItem};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.TOOLBOX_ITEM_SELECT,module$exports$Blockly$Events$ToolboxItemSelect.ToolboxItemSelect);var module$exports$Blockly$Toolbox={Toolbox:function(a){module$exports$Blockly$Toolbox.Toolbox.superClass_.constructor.call(this);this.workspace_=a;this.id=\"toolbox\";this.toolboxDef_=a.options.languageTree||{contents:[]};this.horizontalLayout_=a.options.horizontalLayout;this.contentsDiv_=this.HtmlDiv=null;this.isVisible_=!1;this.contents_=[];this.height_=this.width_=0;this.RTL=a.options.RTL;this.flyout_=null;this.contentMap_=Object.create(null);this.toolboxPosition=a.options.toolboxPosition;this.previouslySelectedItem_=\nthis.selectedItem_=null;this.boundEvents_=[]}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Toolbox.Toolbox,module$exports$Blockly$DeleteArea.DeleteArea);module$exports$Blockly$Toolbox.Toolbox.prototype.onShortcut=function(a){return!1};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.init=function(){var a=this.workspace_,b=a.getParentSvg();this.flyout_=this.createFlyout_();this.HtmlDiv=this.createDom_(this.workspace_);(0,module$exports$Blockly$utils$dom.insertAfter)(this.flyout_.createDom(\"svg\"),b);this.setVisible(!0);this.flyout_.init(a);this.render(this.toolboxDef_);a=a.getThemeManager();a.subscribe(this.HtmlDiv,\"toolboxBackgroundColour\",\"background-color\");a.subscribe(this.HtmlDiv,\"toolboxForegroundColour\",\"color\");this.workspace_.getComponentManager().addComponent({component:this,\nweight:1,capabilities:[module$exports$Blockly$ComponentManager.ComponentManager.Capability.AUTOHIDEABLE,module$exports$Blockly$ComponentManager.ComponentManager.Capability.DELETE_AREA,module$exports$Blockly$ComponentManager.ComponentManager.Capability.DRAG_TARGET]})};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.createDom_=function(a){a=a.getParentSvg();var b=this.createContainer_();this.contentsDiv_=this.createContentsContainer_();this.contentsDiv_.tabIndex=0;(0,module$exports$Blockly$utils$aria.setRole)(this.contentsDiv_,module$exports$Blockly$utils$aria.Role.TREE);b.appendChild(this.contentsDiv_);a.parentNode.insertBefore(b,a);this.attachEvents_(b,this.contentsDiv_);return b};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.createContainer_=function(){var a=document.createElement(\"div\");a.setAttribute(\"layout\",this.isHorizontal()?\"h\":\"v\");(0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyToolboxDiv\");(0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyNonSelectable\");a.setAttribute(\"dir\",this.RTL?\"RTL\":\"LTR\");return a};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.createContentsContainer_=function(){var a=document.createElement(\"div\");(0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyToolboxContents\");this.isHorizontal()&&(a.style.flexDirection=\"row\");return a};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.attachEvents_=function(a,b){a=(0,module$exports$Blockly$browserEvents.conditionalBind)(a,\"click\",this,this.onClick_,!1,!0);this.boundEvents_.push(a);b=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"keydown\",this,this.onKeyDown_,!1,!0);this.boundEvents_.push(b)};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.onClick_=function(a){if((0,module$exports$Blockly$browserEvents.isRightButton)(a)||a.target===this.HtmlDiv)(0,$.module$exports$Blockly$common.getMainWorkspace)().hideChaff(!1);else{var b=a.target.getAttribute(\"id\");b&&(b=this.getToolboxItemById(b),b.isSelectable()&&(this.setSelectedItem(b),b.onClick(a)));(0,$.module$exports$Blockly$common.getMainWorkspace)().hideChaff(!0)}(0,module$exports$Blockly$Touch.clearTouchIdentifier)()};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.onKeyDown_=function(a){var b=!1;switch(a.keyCode){case module$exports$Blockly$utils$KeyCodes.KeyCodes.DOWN:b=this.selectNext_();break;case module$exports$Blockly$utils$KeyCodes.KeyCodes.UP:b=this.selectPrevious_();break;case module$exports$Blockly$utils$KeyCodes.KeyCodes.LEFT:b=this.selectParent_();break;case module$exports$Blockly$utils$KeyCodes.KeyCodes.RIGHT:b=this.selectChild_();break;case module$exports$Blockly$utils$KeyCodes.KeyCodes.ENTER:case module$exports$Blockly$utils$KeyCodes.KeyCodes.SPACE:this.selectedItem_&&\nthis.selectedItem_.isCollapsible()&&(this.selectedItem_.toggleExpanded(),b=!0);break;default:b=!1}!b&&this.selectedItem_&&this.selectedItem_.onKeyDown&&(b=this.selectedItem_.onKeyDown(a));b&&a.preventDefault()};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.createFlyout_=function(){var a=this.workspace_,b=new module$exports$Blockly$Options.Options({parentWorkspace:a,rtl:a.RTL,oneBasedIndex:a.options.oneBasedIndex,horizontalLayout:a.horizontalLayout,renderer:a.options.renderer,rendererOverrides:a.options.rendererOverrides,move:{scrollbars:!0}});b.toolboxPosition=a.options.toolboxPosition;return new (a.horizontalLayout?(0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX,\na.options,!0):(0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.FLYOUTS_VERTICAL_TOOLBOX,a.options,!0))(b)};module$exports$Blockly$Toolbox.Toolbox.prototype.render=function(a){this.toolboxDef_=a;for(var b=0;b<this.contents_.length;b++){var c=this.contents_[b];c&&c.dispose()}this.contents_=[];this.contentMap_=Object.create(null);this.renderContents_(a.contents);this.position();this.handleToolboxItemResize()};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.renderContents_=function(a){for(var b=document.createDocumentFragment(),c=0;c<a.length;c++)this.createToolboxItem_(a[c],b);this.contentsDiv_.appendChild(b)};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.createToolboxItem_=function(a,b){var c=a.kind;\"CATEGORY\"===c.toUpperCase()&&(0,module$exports$Blockly$utils$toolbox.isCategoryCollapsible)(a)&&(c=module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory.registrationName);if(c=(0,module$exports$Blockly$registry.getClass)(module$exports$Blockly$registry.Type.TOOLBOX_ITEM,c.toLowerCase()))a=new c(a,this),this.addToolboxItem_(a),a.init(),(c=a.getDiv())&&b.appendChild(c),a.getClickTarget&&\na.getClickTarget().setAttribute(\"id\",a.getId())};module$exports$Blockly$Toolbox.Toolbox.prototype.addToolboxItem_=function(a){this.contents_.push(a);this.contentMap_[a.getId()]=a;if(a.isCollapsible()){a=a.getChildToolboxItems();for(var b=0;b<a.length;b++)this.addToolboxItem_(a[b])}};module$exports$Blockly$Toolbox.Toolbox.prototype.getToolboxItems=function(){return this.contents_};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.addStyle=function(a){(0,module$exports$Blockly$utils$dom.addClass)(this.HtmlDiv,a)};module$exports$Blockly$Toolbox.Toolbox.prototype.removeStyle=function(a){(0,module$exports$Blockly$utils$dom.removeClass)(this.HtmlDiv,a)};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.getClientRect=function(){if(!this.HtmlDiv||!this.isVisible_)return null;var a=this.HtmlDiv.getBoundingClientRect(),b=a.top,c=b+a.height,d=a.left;a=d+a.width;return this.toolboxPosition===module$exports$Blockly$utils$toolbox.Position.TOP?new module$exports$Blockly$utils$Rect.Rect(-1E7,c,-1E7,1E7):this.toolboxPosition===module$exports$Blockly$utils$toolbox.Position.BOTTOM?new module$exports$Blockly$utils$Rect.Rect(b,1E7,-1E7,1E7):this.toolboxPosition===\nmodule$exports$Blockly$utils$toolbox.Position.LEFT?new module$exports$Blockly$utils$Rect.Rect(-1E7,1E7,-1E7,a):new module$exports$Blockly$utils$Rect.Rect(-1E7,1E7,d,1E7)};module$exports$Blockly$Toolbox.Toolbox.prototype.wouldDelete=function(a,b){a instanceof module$exports$Blockly$BlockSvg.BlockSvg?this.updateWouldDelete_(!a.getParent()&&a.isDeletable()):this.updateWouldDelete_(a.isDeletable());return this.wouldDelete_};module$exports$Blockly$Toolbox.Toolbox.prototype.onDragEnter=function(a){this.updateCursorDeleteStyle_(!0)};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.onDragExit=function(a){this.updateCursorDeleteStyle_(!1)};module$exports$Blockly$Toolbox.Toolbox.prototype.onDrop=function(a){this.updateCursorDeleteStyle_(!1)};module$exports$Blockly$Toolbox.Toolbox.prototype.updateWouldDelete_=function(a){a!==this.wouldDelete_&&(this.updateCursorDeleteStyle_(!1),this.wouldDelete_=a,this.updateCursorDeleteStyle_(!0))};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.updateCursorDeleteStyle_=function(a){var b=this.wouldDelete_?\"blocklyToolboxDelete\":\"blocklyToolboxGrab\";a?this.addStyle(b):this.removeStyle(b)};module$exports$Blockly$Toolbox.Toolbox.prototype.getToolboxItemById=function(a){return this.contentMap_[a]||null};module$exports$Blockly$Toolbox.Toolbox.prototype.getWidth=function(){return this.width_};module$exports$Blockly$Toolbox.Toolbox.prototype.getHeight=function(){return this.height_};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.getFlyout=function(){return this.flyout_};module$exports$Blockly$Toolbox.Toolbox.prototype.getWorkspace=function(){return this.workspace_};module$exports$Blockly$Toolbox.Toolbox.prototype.getSelectedItem=function(){return this.selectedItem_};module$exports$Blockly$Toolbox.Toolbox.prototype.getPreviouslySelectedItem=function(){return this.previouslySelectedItem_};module$exports$Blockly$Toolbox.Toolbox.prototype.isHorizontal=function(){return this.horizontalLayout_};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.position=function(){var a=this.workspace_.getMetrics(),b=this.HtmlDiv;b&&(this.horizontalLayout_?(b.style.left=\"0\",b.style.height=\"auto\",b.style.width=\"100%\",this.height_=b.offsetHeight,this.width_=a.viewWidth,this.toolboxPosition===module$exports$Blockly$utils$toolbox.Position.TOP?b.style.top=\"0\":b.style.bottom=\"0\"):(this.toolboxPosition===module$exports$Blockly$utils$toolbox.Position.RIGHT?b.style.right=\"0\":b.style.left=\"0\",b.style.height=\"100%\",\nthis.width_=b.offsetWidth,this.height_=a.viewHeight),this.flyout_.position())};module$exports$Blockly$Toolbox.Toolbox.prototype.handleToolboxItemResize=function(){var a=this.workspace_,b=this.HtmlDiv.getBoundingClientRect();a.translate(this.toolboxPosition===module$exports$Blockly$utils$toolbox.Position.LEFT?a.scrollX+b.width:a.scrollX,this.toolboxPosition===module$exports$Blockly$utils$toolbox.Position.TOP?a.scrollY+b.height:a.scrollY);(0,$.module$exports$Blockly$common.svgResize)(a)};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.clearSelection=function(){this.setSelectedItem(null)};module$exports$Blockly$Toolbox.Toolbox.prototype.refreshTheme=function(){for(var a=0;a<this.contents_.length;a++){var b=this.contents_[a];b.refreshTheme&&b.refreshTheme()}};module$exports$Blockly$Toolbox.Toolbox.prototype.refreshSelection=function(){this.selectedItem_&&this.selectedItem_.isSelectable()&&this.selectedItem_.getContents().length&&this.flyout_.show(this.selectedItem_.getContents())};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.setVisible=function(a){this.isVisible_!==a&&(this.HtmlDiv.style.display=a?\"block\":\"none\",this.isVisible_=a,this.workspace_.recordDragTargets())};module$exports$Blockly$Toolbox.Toolbox.prototype.autoHide=function(a){!a&&this.flyout_&&this.flyout_.autoClose&&this.clearSelection()};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.setSelectedItem=function(a){var b=this.selectedItem_;!a&&!b||a&&!a.isSelectable()||(this.shouldDeselectItem_(b,a)&&null!==b&&this.deselectItem_(b),this.shouldSelectItem_(b,a)&&null!==a&&this.selectItem_(b,a),this.updateFlyout_(b,a),this.fireSelectEvent_(b,a))};module$exports$Blockly$Toolbox.Toolbox.prototype.shouldDeselectItem_=function(a,b){return null!==a&&(!a.isCollapsible()||a!==b)};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.shouldSelectItem_=function(a,b){return null!==b&&b!==a};module$exports$Blockly$Toolbox.Toolbox.prototype.deselectItem_=function(a){this.selectedItem_=null;this.previouslySelectedItem_=a;a.setSelected(!1);(0,module$exports$Blockly$utils$aria.setState)(this.contentsDiv_,module$exports$Blockly$utils$aria.State.ACTIVEDESCENDANT,\"\")};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.selectItem_=function(a,b){this.selectedItem_=b;this.previouslySelectedItem_=a;b.setSelected(!0);(0,module$exports$Blockly$utils$aria.setState)(this.contentsDiv_,module$exports$Blockly$utils$aria.State.ACTIVEDESCENDANT,b.getId())};module$exports$Blockly$Toolbox.Toolbox.prototype.selectItemByPosition=function(a){-1<a&&a<this.contents_.length&&(a=this.contents_[a],a.isSelectable()&&this.setSelectedItem(a))};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.updateFlyout_=function(a,b){b&&(a!==b||b.isCollapsible())&&b.getContents().length?(this.flyout_.show(b.getContents()),this.flyout_.scrollToStart()):this.flyout_.hide()};module$exports$Blockly$Toolbox.Toolbox.prototype.fireSelectEvent_=function(a,b){var c=a&&a.getName(),d=b&&b.getName();a===b&&(d=null);a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.TOOLBOX_ITEM_SELECT))(c,d,this.workspace_.id);(0,module$exports$Blockly$Events$utils.fire)(a)};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.selectParent_=function(){return this.selectedItem_?this.selectedItem_.isCollapsible()&&this.selectedItem_.isExpanded()?(this.selectedItem_.setExpanded(!1),!0):this.selectedItem_.getParent()&&this.selectedItem_.getParent().isSelectable()?(this.setSelectedItem(this.selectedItem_.getParent()),!0):!1:!1};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.selectChild_=function(){if(!this.selectedItem_||!this.selectedItem_.isCollapsible())return!1;var a=this.selectedItem_;a.isExpanded()?this.selectNext_():a.setExpanded(!0);return!0};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.selectNext_=function(){if(!this.selectedItem_)return!1;var a=this.contents_.indexOf(this.selectedItem_)+1;if(-1<a&&a<this.contents_.length){for(var b=this.contents_[a];b&&!b.isSelectable();)b=this.contents_[++a];if(b&&b.isSelectable())return this.setSelectedItem(b),!0}return!1};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.selectPrevious_=function(){if(!this.selectedItem_)return!1;var a=this.contents_.indexOf(this.selectedItem_)-1;if(-1<a&&a<this.contents_.length){for(var b=this.contents_[a];b&&!b.isSelectable();)b=this.contents_[--a];if(b&&b.isSelectable())return this.setSelectedItem(b),!0}return!1};\nmodule$exports$Blockly$Toolbox.Toolbox.prototype.dispose=function(){this.workspace_.getComponentManager().removeComponent(\"toolbox\");this.flyout_.dispose();for(var a=0;a<this.contents_.length;a++)this.contents_[a].dispose();for(a=0;a<this.boundEvents_.length;a++)(0,module$exports$Blockly$browserEvents.unbind)(this.boundEvents_[a]);this.boundEvents_=[];this.contents_=[];this.workspace_.getThemeManager().unsubscribe(this.HtmlDiv);(0,module$exports$Blockly$utils$dom.removeNode)(this.HtmlDiv)};(0,module$exports$Blockly$Css.register)('\\n .blocklyToolboxDelete {\\n cursor: url(\"<<<PATH>>>/handdelete.cur\"), auto;\\n }\\n\\n .blocklyToolboxGrab {\\n cursor: url(\"<<<PATH>>>/handclosed.cur\"), auto;\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n }\\n\\n /* Category tree in Toolbox. */\\n .blocklyToolboxDiv {\\n background-color: #ddd;\\n overflow-x: visible;\\n overflow-y: auto;\\n padding: 4px 0 4px 0;\\n position: absolute;\\n z-index: 70; /* so blocks go under toolbox when dragging */\\n -webkit-tap-highlight-color: transparent; /* issue #1345 */\\n }\\n\\n .blocklyToolboxContents {\\n display: flex;\\n flex-wrap: wrap;\\n flex-direction: column;\\n }\\n\\n .blocklyToolboxContents:focus {\\n outline: none;\\n }\\n');\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.TOOLBOX,module$exports$Blockly$registry.DEFAULT,module$exports$Blockly$Toolbox.Toolbox);var module$exports$Blockly$HorizontalFlyout={HorizontalFlyout:function(a){module$exports$Blockly$HorizontalFlyout.HorizontalFlyout.superClass_.constructor.call(this,a);this.horizontalLayout=!0}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$HorizontalFlyout.HorizontalFlyout,module$exports$Blockly$Flyout.Flyout);\nmodule$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.setMetrics_=function(a){if(this.isVisible()){var b=this.workspace_.getMetricsManager(),c=b.getScrollMetrics(),d=b.getViewMetrics();b=b.getAbsoluteMetrics();\"number\"===typeof a.x&&(this.workspace_.scrollX=-(c.left+(c.width-d.width)*a.x));this.workspace_.translate(this.workspace_.scrollX+b.left,this.workspace_.scrollY+b.top)}};module$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.getX=function(){return 0};\nmodule$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.getY=function(){if(!this.isVisible())return 0;var a=this.targetWorkspace.getMetricsManager(),b=a.getAbsoluteMetrics(),c=a.getViewMetrics();a=a.getToolboxMetrics();var d=this.toolboxPosition_===module$exports$Blockly$utils$toolbox.Position.TOP;return this.targetWorkspace.toolboxPosition===this.toolboxPosition_?this.targetWorkspace.getToolbox()?d?a.height:c.height-this.height_:d?0:c.height:d?0:c.height+b.top-this.height_};\nmodule$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.position=function(){if(this.isVisible()&&this.targetWorkspace.isVisible()){var a=this.targetWorkspace.getMetricsManager().getViewMetrics();this.width_=a.width;this.setBackgroundPath_(a.width-2*this.CORNER_RADIUS,this.height_-this.CORNER_RADIUS);a=this.getX();var b=this.getY();this.positionAt_(this.width_,this.height_,a,b)}};\nmodule$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.setBackgroundPath_=function(a,b){var c=this.toolboxPosition_===module$exports$Blockly$utils$toolbox.Position.TOP,d=[\"M 0,\"+(c?0:this.CORNER_RADIUS)];c?(d.push(\"h\",a+2*this.CORNER_RADIUS),d.push(\"v\",b),d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,this.CORNER_RADIUS),d.push(\"h\",-a),d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,-this.CORNER_RADIUS)):(d.push(\"a\",this.CORNER_RADIUS,\nthis.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,-this.CORNER_RADIUS),d.push(\"h\",a),d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,this.CORNER_RADIUS),d.push(\"v\",b),d.push(\"h\",-a-2*this.CORNER_RADIUS));d.push(\"z\");this.svgBackground_.setAttribute(\"d\",d.join(\" \"))};module$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.scrollToStart=function(){this.workspace_.scrollbar.setX(this.RTL?Infinity:0)};\nmodule$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.wheel_=function(a){var b=(0,module$exports$Blockly$browserEvents.getScrollDeltaPixels)(a);if(b=b.x||b.y){var c=this.workspace_.getMetricsManager(),d=c.getScrollMetrics();b=c.getViewMetrics().left-d.left+b;this.workspace_.scrollbar.setX(b);(0,module$exports$Blockly$WidgetDiv.hide)();module$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation()}a.preventDefault();a.stopPropagation()};\nmodule$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.layout_=function(a,b){this.workspace_.scale=this.targetWorkspace.scale;var c=this.MARGIN,d=c+this.tabWidth_;this.RTL&&(a=a.reverse());for(var e=0,f;f=a[e];e++)if(\"block\"===f.type){f=f.block;for(var g=f.getDescendants(!1),h=0,k;k=g[h];h++)k.isInFlyout=!0;f.render();g=f.getSvgRoot();h=f.getHeightWidth();k=f.outputConnection?this.tabWidth_:0;k=this.RTL?d+h.width:d-k;f.moveBy(k,c);k=this.createRect_(f,k,c,h,e);d+=h.width+b[e];this.addBlockListeners_(g,\nf,k)}else\"button\"===f.type&&(this.initFlyoutButton_(f.button,d,c),d+=f.button.width+b[e])};module$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.isDragTowardWorkspace=function(a){a=Math.atan2(a.y,a.x)/Math.PI*180;var b=this.dragAngleRange_;return a<90+b&&a>90-b||a>-90-b&&a<-90+b?!0:!1};\nmodule$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.top;return this.toolboxPosition_===module$exports$Blockly$utils$toolbox.Position.TOP?new module$exports$Blockly$utils$Rect.Rect(-1E9,b+a.height,-1E9,1E9):new module$exports$Blockly$utils$Rect.Rect(b,1E9,-1E9,1E9)};\nmodule$exports$Blockly$HorizontalFlyout.HorizontalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.getFlyoutScale();for(var a=0,b=this.workspace_.getTopBlocks(!1),c=0,d;d=b[c];c++)a=Math.max(a,d.getHeightWidth().height);c=this.buttons_;d=0;for(var e;e=c[d];d++)a=Math.max(a,e.height);a+=1.5*this.MARGIN;a*=this.workspace_.scale;a+=module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness;if(this.height_!==a){for(c=0;d=b[c];c++)d.flyoutRect_&&this.moveRectToBlock_(d.flyoutRect_,\nd);this.targetWorkspace.toolboxPosition!==this.toolboxPosition_||this.toolboxPosition_!==module$exports$Blockly$utils$toolbox.Position.TOP||this.targetWorkspace.getToolbox()||this.targetWorkspace.translate(this.targetWorkspace.scrollX,this.targetWorkspace.scrollY+a);this.height_=a;this.position();this.targetWorkspace.recordDragTargets()}};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX,module$exports$Blockly$registry.DEFAULT,module$exports$Blockly$HorizontalFlyout.HorizontalFlyout);$.module$exports$Blockly$Generator={Generator:function(a){this.name_=a;this.FUNCTION_NAME_PLACEHOLDER_REGEXP_=new RegExp(this.FUNCTION_NAME_PLACEHOLDER_,\"g\")}};$.module$exports$Blockly$Generator.Generator.prototype.INFINITE_LOOP_TRAP=null;$.module$exports$Blockly$Generator.Generator.prototype.STATEMENT_PREFIX=null;$.module$exports$Blockly$Generator.Generator.prototype.STATEMENT_SUFFIX=null;$.module$exports$Blockly$Generator.Generator.prototype.INDENT=\" \";\n$.module$exports$Blockly$Generator.Generator.prototype.COMMENT_WRAP=60;$.module$exports$Blockly$Generator.Generator.prototype.ORDER_OVERRIDES=[];$.module$exports$Blockly$Generator.Generator.prototype.isInitialized=null;\n$.module$exports$Blockly$Generator.Generator.prototype.workspaceToCode=function(a){a||(console.warn(\"No workspace specified in workspaceToCode call. Guessing.\"),a=(0,$.module$exports$Blockly$common.getMainWorkspace)());var b=[];this.init(a);a=a.getTopBlocks(!0);for(var c=0,d;d=a[c];c++){var e=this.blockToCode(d);Array.isArray(e)&&(e=e[0]);e&&(d.outputConnection&&(e=this.scrubNakedValue(e),this.STATEMENT_PREFIX&&!d.suppressPrefixSuffix&&(e=this.injectId(this.STATEMENT_PREFIX,d)+e),this.STATEMENT_SUFFIX&&\n!d.suppressPrefixSuffix&&(e+=this.injectId(this.STATEMENT_SUFFIX,d))),b.push(e))}b=b.join(\"\\n\");b=this.finish(b);b=b.replace(/^\\s+\\n/,\"\");b=b.replace(/\\n\\s+$/,\"\\n\");return b=b.replace(/[ \\t]+\\n/g,\"\\n\")};$.module$exports$Blockly$Generator.Generator.prototype.prefixLines=function(a,b){return b+a.replace(/(?!\\n$)\\n/g,\"\\n\"+b)};\n$.module$exports$Blockly$Generator.Generator.prototype.allNestedComments=function(a){var b=[];a=a.getDescendants(!0);for(var c=0;c<a.length;c++){var d=a[c].getCommentText();d&&b.push(d)}b.length&&b.push(\"\");return b.join(\"\\n\")};\n$.module$exports$Blockly$Generator.Generator.prototype.blockToCode=function(a,b){!1===this.isInitialized&&console.warn(\"Generator init was not called before blockToCode was called.\");if(!a)return\"\";if(!a.isEnabled())return b?\"\":this.blockToCode(a.getNextBlock());if(a.isInsertionMarker())return b?\"\":this.blockToCode(a.getChildren(!1)[0]);var c=this[a.type];if(\"function\"!==typeof c)throw Error('Language \"'+this.name_+'\" does not know how to generate code for block type \"'+a.type+'\".');c=c.call(a,a);\nif(Array.isArray(c)){if(!a.outputConnection)throw TypeError(\"Expecting string from statement block: \"+a.type);return[this.scrub_(a,c[0],b),c[1]]}if(\"string\"===typeof c)return this.STATEMENT_PREFIX&&!a.suppressPrefixSuffix&&(c=this.injectId(this.STATEMENT_PREFIX,a)+c),this.STATEMENT_SUFFIX&&!a.suppressPrefixSuffix&&(c+=this.injectId(this.STATEMENT_SUFFIX,a)),this.scrub_(a,c,b);if(null===c)return\"\";throw SyntaxError(\"Invalid code generated: \"+c);};\n$.module$exports$Blockly$Generator.Generator.prototype.valueToCode=function(a,b,c){if(isNaN(c))throw TypeError(\"Expecting valid order from block: \"+a.type);var d=a.getInputTargetBlock(b);if(!d)return\"\";b=this.blockToCode(d);if(\"\"===b)return\"\";if(!Array.isArray(b))throw TypeError(\"Expecting tuple from value block: \"+d.type);a=b[0];b=b[1];if(isNaN(b))throw TypeError(\"Expecting valid order from value block: \"+d.type);if(!a)return\"\";d=!1;var e=Math.floor(c),f=Math.floor(b);if(e<=f&&(e!==f||0!==e&&99!==\ne))for(d=!0,e=0;e<this.ORDER_OVERRIDES.length;e++)if(this.ORDER_OVERRIDES[e][0]===c&&this.ORDER_OVERRIDES[e][1]===b){d=!1;break}d&&(a=\"(\"+a+\")\");return a};$.module$exports$Blockly$Generator.Generator.prototype.statementToCode=function(a,b){a=a.getInputTargetBlock(b);b=this.blockToCode(a);if(\"string\"!==typeof b)throw TypeError(\"Expecting code from statement block: \"+(a&&a.type));b&&(b=this.prefixLines(b,this.INDENT));return b};\n$.module$exports$Blockly$Generator.Generator.prototype.addLoopTrap=function(a,b){this.INFINITE_LOOP_TRAP&&(a=this.prefixLines(this.injectId(this.INFINITE_LOOP_TRAP,b),this.INDENT)+a);this.STATEMENT_SUFFIX&&!b.suppressPrefixSuffix&&(a=this.prefixLines(this.injectId(this.STATEMENT_SUFFIX,b),this.INDENT)+a);this.STATEMENT_PREFIX&&!b.suppressPrefixSuffix&&(a+=this.prefixLines(this.injectId(this.STATEMENT_PREFIX,b),this.INDENT));return a};\n$.module$exports$Blockly$Generator.Generator.prototype.injectId=function(a,b){b=b.id.replace(/\\$/g,\"$$$$\");return a.replace(/%1/g,\"'\"+b+\"'\")};$.module$exports$Blockly$Generator.Generator.prototype.RESERVED_WORDS_=\"\";$.module$exports$Blockly$Generator.Generator.prototype.addReservedWords=function(a){this.RESERVED_WORDS_+=a+\",\"};$.module$exports$Blockly$Generator.Generator.prototype.FUNCTION_NAME_PLACEHOLDER_=\"{leCUI8hutHZI4480Dc}\";\nObject.defineProperties($.module$exports$Blockly$Generator.Generator.prototype,{variableDB_:{get:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"variableDB_\",\"May 2021\",\"May 2026\",\"nameDB_\");return this.nameDB_},set:function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"variableDB_\",\"May 2021\",\"May 2026\",\"nameDB_\");this.nameDB_=a}}});\n$.module$exports$Blockly$Generator.Generator.prototype.provideFunction_=function(a,b){if(!this.definitions_[a]){var c=this.nameDB_.getDistinctName(a,$.module$exports$Blockly$Names.NameType.PROCEDURE);this.functionNames_[a]=c;b=b.join(\"\\n\").replace(this.FUNCTION_NAME_PLACEHOLDER_REGEXP_,c);for(var d;d!==b;)d=b,b=b.replace(/^(( {2})*) {2}/gm,\"$1\\x00\");b=b.replace(/\\0/g,this.INDENT);this.definitions_[a]=b}return this.functionNames_[a]};\n$.module$exports$Blockly$Generator.Generator.prototype.init=function(a){this.definitions_=Object.create(null);this.functionNames_=Object.create(null)};$.module$exports$Blockly$Generator.Generator.prototype.scrub_=function(a,b,c){return b};$.module$exports$Blockly$Generator.Generator.prototype.finish=function(a){delete this.definitions_;delete this.functionNames_;return a};$.module$exports$Blockly$Generator.Generator.prototype.scrubNakedValue=function(a){return a};$.module$exports$Blockly$FieldDropdown={FieldDropdown:function(a,b,c){\"function\"!==typeof a&&module$contents$Blockly$FieldDropdown_validateOptions(a);this.menuGenerator_=a;this.suffixField=this.prefixField=this.generatedOptions_=null;this.trimOptions_();this.selectedOption_=this.getOptions(!1)[0];$.module$exports$Blockly$FieldDropdown.FieldDropdown.superClass_.constructor.call(this,this.selectedOption_[1],b,c);this.svgArrow_=this.arrow_=this.imageElement_=this.menu_=this.selectedMenuItem_=null}};\n(0,$.module$exports$Blockly$utils$object.inherits)($.module$exports$Blockly$FieldDropdown.FieldDropdown,module$exports$Blockly$Field.Field);$.module$exports$Blockly$FieldDropdown.FieldDropdown.fromJson=function(a){return new this(a.options,void 0,a)};$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.fromXml=function(a){this.isOptionListDynamic()&&this.getOptions(!1);this.setValue(a.textContent)};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.loadState=function(a){this.loadLegacyState($.module$exports$Blockly$FieldDropdown.FieldDropdown,a)||(this.isOptionListDynamic()&&this.getOptions(!1),this.setValue(a))};$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.SERIALIZABLE=!0;$.module$exports$Blockly$FieldDropdown.FieldDropdown.CHECKMARK_OVERHANG=25;$.module$exports$Blockly$FieldDropdown.FieldDropdown.MAX_MENU_HEIGHT_VH=.45;\nvar module$contents$Blockly$FieldDropdown_IMAGE_Y_OFFSET=5,module$contents$Blockly$FieldDropdown_IMAGE_Y_PADDING=2*module$contents$Blockly$FieldDropdown_IMAGE_Y_OFFSET;$.module$exports$Blockly$FieldDropdown.FieldDropdown.ARROW_CHAR=module$exports$Blockly$utils$userAgent.ANDROID?\"\\u25bc\":\"\\u25be\";$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.CURSOR=\"default\";\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.initView=function(){this.shouldAddBorderRect_()?this.createBorderRect_():this.clickTarget_=this.sourceBlock_.getSvgRoot();this.createTextElement_();this.imageElement_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.IMAGE,{},this.fieldGroup_);this.getConstants().FIELD_DROPDOWN_SVG_ARROW?this.createSVGArrow_():this.createTextArrow_();this.borderRect_&&(0,module$exports$Blockly$utils$dom.addClass)(this.borderRect_,\n\"blocklyDropdownRect\")};$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.shouldAddBorderRect_=function(){return!this.getConstants().FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW||this.getConstants().FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW&&!this.sourceBlock_.isShadow()};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.createTextArrow_=function(){this.arrow_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.TSPAN,{},this.textElement_);this.arrow_.appendChild(document.createTextNode(this.sourceBlock_.RTL?$.module$exports$Blockly$FieldDropdown.FieldDropdown.ARROW_CHAR+\" \":\" \"+$.module$exports$Blockly$FieldDropdown.FieldDropdown.ARROW_CHAR));this.sourceBlock_.RTL?this.textElement_.insertBefore(this.arrow_,this.textContent_):\nthis.textElement_.appendChild(this.arrow_)};$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.createSVGArrow_=function(){this.svgArrow_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.IMAGE,{height:this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE+\"px\",width:this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE+\"px\"},this.fieldGroup_);this.svgArrow_.setAttributeNS(module$exports$Blockly$utils$dom.XLINK_NS,\"xlink:href\",this.getConstants().FIELD_DROPDOWN_SVG_ARROW_DATAURI)};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.showEditor_=function(a){this.dropdownCreate_();this.menu_.openingCoords=a&&\"number\"===typeof a.clientX?new module$exports$Blockly$utils$Coordinate.Coordinate(a.clientX,a.clientY):null;module$exports$Blockly$DropDownDiv.DropDownDiv.clearContent();this.menu_.render(module$exports$Blockly$DropDownDiv.DropDownDiv.getContentDiv());a=this.menu_.getElement();(0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyDropdownMenu\");if(this.getConstants().FIELD_DROPDOWN_COLOURED_DIV){a=\nthis.sourceBlock_.isShadow()?this.sourceBlock_.getParent().getColour():this.sourceBlock_.getColour();var b=this.sourceBlock_.isShadow()?this.sourceBlock_.getParent().style.colourTertiary:this.sourceBlock_.style.colourTertiary;module$exports$Blockly$DropDownDiv.DropDownDiv.setColour(a,b)}module$exports$Blockly$DropDownDiv.DropDownDiv.showPositionedByField(this,this.dropdownDispose_.bind(this));this.menu_.focus();this.selectedMenuItem_&&this.menu_.setHighlighted(this.selectedMenuItem_);this.applyColour()};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.dropdownCreate_=function(){var a=new module$exports$Blockly$Menu.Menu;a.setRole(module$exports$Blockly$utils$aria.Role.LISTBOX);this.menu_=a;var b=this.getOptions(!1);this.selectedMenuItem_=null;for(var c=0;c<b.length;c++){var d=b[c][0],e=b[c][1];if(\"object\"===typeof d){var f=new Image(d.width,d.height);f.src=d.src;f.alt=d.alt||\"\";d=f}d=new module$exports$Blockly$MenuItem.MenuItem(d,e);d.setRole(module$exports$Blockly$utils$aria.Role.OPTION);\nd.setRightToLeft(this.sourceBlock_.RTL);d.setCheckable(!0);a.addChild(d);d.setChecked(e===this.value_);e===this.value_&&(this.selectedMenuItem_=d);d.onAction(this.handleMenuActionEvent_,this)}};$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.dropdownDispose_=function(){this.menu_&&this.menu_.dispose();this.selectedMenuItem_=this.menu_=null;this.applyColour()};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.handleMenuActionEvent_=function(a){module$exports$Blockly$DropDownDiv.DropDownDiv.hideIfOwner(this,!0);this.onItemSelected_(this.menu_,a)};$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.onItemSelected_=function(a,b){this.setValue(b.getValue())};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.trimOptions_=function(){var a=this.menuGenerator_;if(Array.isArray(a)){for(var b=!1,c=0;c<a.length;c++){var d=a[c][0];\"string\"===typeof d?a[c][0]=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(d):(null!==d.alt&&(a[c][0].alt=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(d.alt)),b=!0)}if(!(b||2>a.length)){b=[];for(c=0;c<a.length;c++)b.push(a[c][0]);c=(0,$.module$exports$Blockly$utils$string.shortestStringLength)(b);\nd=(0,$.module$exports$Blockly$utils$string.commonWordPrefix)(b,c);var e=(0,$.module$exports$Blockly$utils$string.commonWordSuffix)(b,c);!d&&!e||c<=d+e||(d&&(this.prefixField=b[0].substring(0,d-1)),e&&(this.suffixField=b[0].substr(1-e)),this.menuGenerator_=$.module$exports$Blockly$FieldDropdown.FieldDropdown.applyTrim_(a,d,e))}}};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.applyTrim_=function(a,b,c){for(var d=[],e=0;e<a.length;e++){var f=a[e][0],g=a[e][1];f=f.substring(b,f.length-c);d[e]=[f,g]}return d};$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.isOptionListDynamic=function(){return\"function\"===typeof this.menuGenerator_};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.getOptions=function(a){return this.isOptionListDynamic()?(this.generatedOptions_&&a||(this.generatedOptions_=this.menuGenerator_.call(this),module$contents$Blockly$FieldDropdown_validateOptions(this.generatedOptions_)),this.generatedOptions_):this.menuGenerator_};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.doClassValidation_=function(a){for(var b=!1,c=this.getOptions(!0),d=0,e;e=c[d];d++)if(e[1]===a){b=!0;break}return b?a:(this.sourceBlock_&&console.warn(\"Cannot set the dropdown's value to an unavailable option. Block type: \"+this.sourceBlock_.type+\", Field name: \"+this.name+\", Value: \"+a),null)};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.doValueUpdate_=function(a){$.module$exports$Blockly$FieldDropdown.FieldDropdown.superClass_.doValueUpdate_.call(this,a);a=this.getOptions(!0);for(var b=0,c;c=a[b];b++)c[1]===this.value_&&(this.selectedOption_=c)};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.applyColour=function(){this.borderRect_&&(this.borderRect_.setAttribute(\"stroke\",this.sourceBlock_.style.colourTertiary),this.menu_?this.borderRect_.setAttribute(\"fill\",this.sourceBlock_.style.colourTertiary):this.borderRect_.setAttribute(\"fill\",\"transparent\"));this.sourceBlock_&&this.arrow_&&(this.sourceBlock_.isShadow()?this.arrow_.style.fill=this.sourceBlock_.style.colourSecondary:this.arrow_.style.fill=this.sourceBlock_.style.colourPrimary)};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.render_=function(){this.textContent_.nodeValue=\"\";this.imageElement_.style.display=\"none\";var a=this.selectedOption_&&this.selectedOption_[0];a&&\"object\"===typeof a?this.renderSelectedImage_(a):this.renderSelectedText_();this.positionBorderRect_()};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.renderSelectedImage_=function(a){this.imageElement_.style.display=\"\";this.imageElement_.setAttributeNS(module$exports$Blockly$utils$dom.XLINK_NS,\"xlink:href\",a.src);this.imageElement_.setAttribute(\"height\",a.height);this.imageElement_.setAttribute(\"width\",a.width);var b=Number(a.height);a=Number(a.width);var c=!!this.borderRect_,d=Math.max(c?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,b+module$contents$Blockly$FieldDropdown_IMAGE_Y_PADDING);\nc=c?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;var e=this.svgArrow_?this.positionSVGArrow_(a+c,d/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2):(0,module$exports$Blockly$utils$dom.getFastTextWidth)(this.arrow_,this.getConstants().FIELD_TEXT_FONTSIZE,this.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY);this.size_.width=a+e+2*c;this.size_.height=d;var f=0;this.sourceBlock_.RTL?this.imageElement_.setAttribute(\"x\",c+e):(f=a+e,this.textElement_.setAttribute(\"text-anchor\",\n\"end\"),this.imageElement_.setAttribute(\"x\",c));this.imageElement_.setAttribute(\"y\",d/2-b/2);this.positionTextElement_(f+c,a+e)};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.renderSelectedText_=function(){this.textContent_.nodeValue=this.getDisplayText_();(0,module$exports$Blockly$utils$dom.addClass)(this.textElement_,\"blocklyDropdownText\");this.textElement_.setAttribute(\"text-anchor\",\"start\");var a=!!this.borderRect_,b=Math.max(a?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,this.getConstants().FIELD_TEXT_HEIGHT),c=(0,module$exports$Blockly$utils$dom.getFastTextWidth)(this.textElement_,this.getConstants().FIELD_TEXT_FONTSIZE,\nthis.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY);a=a?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;var d=0;this.svgArrow_&&(d=this.positionSVGArrow_(c+a,b/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2));this.size_.width=c+d+2*a;this.size_.height=b;this.positionTextElement_(a,c)};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.positionSVGArrow_=function(a,b){if(!this.svgArrow_)return 0;var c=this.borderRect_?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0,d=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_PADDING,e=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE;this.svgArrow_.setAttribute(\"transform\",\"translate(\"+(this.sourceBlock_.RTL?c:a+d)+\",\"+b+\")\");return e+d};\n$.module$exports$Blockly$FieldDropdown.FieldDropdown.prototype.getText_=function(){if(!this.selectedOption_)return null;var a=this.selectedOption_[0];return\"object\"===typeof a?a.alt:a};\nvar module$contents$Blockly$FieldDropdown_validateOptions=function(a){if(!Array.isArray(a))throw TypeError(\"FieldDropdown options must be an array.\");if(!a.length)throw TypeError(\"FieldDropdown options must not be an empty array.\");for(var b=!1,c=0;c<a.length;c++){var d=a[c];Array.isArray(d)?\"string\"!==typeof d[1]?(b=!0,console.error(\"Invalid option[\"+c+\"]: Each FieldDropdown option id must be a string. Found \"+d[1]+\" in: \",d)):d[0]&&\"string\"!==typeof d[0]&&\"string\"!==typeof d[0].src&&(b=!0,console.error(\"Invalid option[\"+\nc+\"]: Each FieldDropdown option must have a string label or image description. Found\"+d[0]+\" in: \",d)):(b=!0,console.error(\"Invalid option[\"+c+\"]: Each FieldDropdown option must be an array. Found: \",d))}if(b)throw TypeError(\"Found invalid FieldDropdown options.\");};(0,module$exports$Blockly$fieldRegistry.register)(\"field_dropdown\",$.module$exports$Blockly$FieldDropdown.FieldDropdown);var module$exports$Blockly$FieldVariable={FieldVariable:function(a,b,c,d,e){this.menuGenerator_=module$exports$Blockly$FieldVariable.FieldVariable.dropdownCreate;this.defaultVariableName=\"string\"===typeof a?a:\"\";this.size_=new module$exports$Blockly$utils$Size.Size(0,0);e&&this.configure_(e);b&&this.setValidator(b);e||this.setTypes_(c,d)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$FieldVariable.FieldVariable,$.module$exports$Blockly$FieldDropdown.FieldDropdown);\nmodule$exports$Blockly$FieldVariable.FieldVariable.fromJson=function(a){return new this((0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.variable),void 0,void 0,void 0,a)};module$exports$Blockly$FieldVariable.FieldVariable.prototype.SERIALIZABLE=!0;module$exports$Blockly$FieldVariable.FieldVariable.prototype.configure_=function(a){module$exports$Blockly$FieldVariable.FieldVariable.superClass_.configure_.call(this,a);this.setTypes_(a.variableTypes,a.defaultType)};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.initModel=function(){if(!this.variable_){var a=(0,$.module$exports$Blockly$Variables.getOrCreateVariablePackage)(this.sourceBlock_.workspace,null,this.defaultVariableName,this.defaultType_);this.doValueUpdate_(a.getId())}};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.shouldAddBorderRect_=function(){return module$exports$Blockly$FieldVariable.FieldVariable.superClass_.shouldAddBorderRect_.call(this)&&(!this.getConstants().FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW||\"variables_get\"!==this.sourceBlock_.type)};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.fromXml=function(a){var b=a.getAttribute(\"id\"),c=a.textContent,d=a.getAttribute(\"variabletype\")||a.getAttribute(\"variableType\")||\"\";b=(0,$.module$exports$Blockly$Variables.getOrCreateVariablePackage)(this.sourceBlock_.workspace,b,c,d);if(null!==d&&d!==b.type)throw Error(\"Serialized variable type with id '\"+b.getId()+\"' had type \"+b.type+\", and does not match variable field that references it: \"+(0,$.module$exports$Blockly$Xml.domToText)(a)+\n\".\");this.setValue(b.getId())};module$exports$Blockly$FieldVariable.FieldVariable.prototype.toXml=function(a){this.initModel();a.id=this.variable_.getId();a.textContent=this.variable_.name;this.variable_.type&&a.setAttribute(\"variabletype\",this.variable_.type);return a};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.saveState=function(a){var b=this.saveLegacyState(module$exports$Blockly$FieldVariable.FieldVariable);if(null!==b)return b;this.initModel();b={id:this.variable_.getId()};a&&(b.name=this.variable_.name,b.type=this.variable_.type);return b};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.loadState=function(a){this.loadLegacyState(module$exports$Blockly$FieldVariable.FieldVariable,a)||(a=(0,$.module$exports$Blockly$Variables.getOrCreateVariablePackage)(this.sourceBlock_.workspace,a.id||null,a.name,a.type||\"\"),this.setValue(a.getId()))};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.setSourceBlock=function(a){if(a.isShadow())throw Error(\"Variable fields are not allowed to exist on shadow blocks.\");module$exports$Blockly$FieldVariable.FieldVariable.superClass_.setSourceBlock.call(this,a)};module$exports$Blockly$FieldVariable.FieldVariable.prototype.getValue=function(){return this.variable_?this.variable_.getId():null};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.getText=function(){return this.variable_?this.variable_.name:\"\"};module$exports$Blockly$FieldVariable.FieldVariable.prototype.getVariable=function(){return this.variable_};module$exports$Blockly$FieldVariable.FieldVariable.prototype.getValidator=function(){return this.variable_?this.validator_:null};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.doClassValidation_=function(a){if(null===a)return null;var b=(0,$.module$exports$Blockly$Variables.getVariable)(this.sourceBlock_.workspace,a);if(!b)return console.warn(\"Variable id doesn't point to a real variable! ID was \"+a),null;b=b.type;return this.typeIsAllowed_(b)?a:(console.warn(\"Variable type doesn't match this field! Type was \"+b),null)};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.doValueUpdate_=function(a){this.variable_=(0,$.module$exports$Blockly$Variables.getVariable)(this.sourceBlock_.workspace,a);module$exports$Blockly$FieldVariable.FieldVariable.superClass_.doValueUpdate_.call(this,a)};module$exports$Blockly$FieldVariable.FieldVariable.prototype.typeIsAllowed_=function(a){var b=this.getVariableTypes_();if(!b)return!0;for(var c=0;c<b.length;c++)if(a===b[c])return!0;return!1};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.getVariableTypes_=function(){var a=this.variableTypes;if(null===a&&this.sourceBlock_&&this.sourceBlock_.workspace)return this.sourceBlock_.workspace.getVariableTypes();a=a||[\"\"];if(0===a.length)throw a=this.getText(),Error(\"'variableTypes' of field variable \"+a+\" was an empty list\");return a};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.setTypes_=function(a,b){b=b||\"\";if(null===a||void 0===a)a=null;else if(Array.isArray(a)){for(var c=!1,d=0;d<a.length;d++)a[d]===b&&(c=!0);if(!c)throw Error(\"Invalid default type '\"+b+\"' in the definition of a FieldVariable\");}else throw Error(\"'variableTypes' was not an array in the definition of a FieldVariable\");this.defaultType_=b;this.variableTypes=a};module$exports$Blockly$FieldVariable.FieldVariable.prototype.refreshVariableName=function(){this.forceRerender()};\nmodule$exports$Blockly$FieldVariable.FieldVariable.dropdownCreate=function(){if(!this.variable_)throw Error(\"Tried to call dropdownCreate on a variable field with no variable selected.\");var a=this.getText(),b=[];if(this.sourceBlock_&&this.sourceBlock_.workspace)for(var c=this.getVariableTypes_(),d=0;d<c.length;d++){var e=this.sourceBlock_.workspace.getVariablesOfType(c[d]);b=b.concat(e)}b.sort(module$exports$Blockly$VariableModel.VariableModel.compareByName);c=[];for(d=0;d<b.length;d++)c[d]=[b[d].name,\nb[d].getId()];c.push([$.module$exports$Blockly$Msg.Msg.RENAME_VARIABLE,$.module$exports$Blockly$internalConstants.RENAME_VARIABLE_ID]);$.module$exports$Blockly$Msg.Msg.DELETE_VARIABLE&&c.push([$.module$exports$Blockly$Msg.Msg.DELETE_VARIABLE.replace(\"%1\",a),$.module$exports$Blockly$internalConstants.DELETE_VARIABLE_ID]);return c};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.onItemSelected_=function(a,b){a=b.getValue();if(this.sourceBlock_&&this.sourceBlock_.workspace){if(a===$.module$exports$Blockly$internalConstants.RENAME_VARIABLE_ID){(0,$.module$exports$Blockly$Variables.renameVariable)(this.sourceBlock_.workspace,this.variable_);return}if(a===$.module$exports$Blockly$internalConstants.DELETE_VARIABLE_ID){this.sourceBlock_.workspace.deleteVariableById(this.variable_.getId());return}}this.setValue(a)};\nmodule$exports$Blockly$FieldVariable.FieldVariable.prototype.referencesVariables=function(){return!0};(0,module$exports$Blockly$fieldRegistry.register)(\"field_variable\",module$exports$Blockly$FieldVariable.FieldVariable);$.module$exports$Blockly$FieldTextInput={FieldTextInput:function(a,b,c){this.spellcheck_=!0;$.module$exports$Blockly$FieldTextInput.FieldTextInput.superClass_.constructor.call(this,a,b,c);this.onKeyInputWrapper_=this.onKeyDownWrapper_=this.htmlInput_=null;this.fullBlockClickTarget_=!1;this.workspace_=null}};(0,$.module$exports$Blockly$utils$object.inherits)($.module$exports$Blockly$FieldTextInput.FieldTextInput,module$exports$Blockly$Field.Field);\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.DEFAULT_VALUE=\"\";$.module$exports$Blockly$FieldTextInput.FieldTextInput.fromJson=function(a){return new this((0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.text),void 0,a)};$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.SERIALIZABLE=!0;$.module$exports$Blockly$FieldTextInput.FieldTextInput.BORDERRADIUS=4;$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.CURSOR=\"text\";\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.configure_=function(a){$.module$exports$Blockly$FieldTextInput.FieldTextInput.superClass_.configure_.call(this,a);\"boolean\"===typeof a.spellcheck&&(this.spellcheck_=a.spellcheck)};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.initView=function(){if(this.getConstants().FULL_BLOCK_FIELDS){for(var a=0,b=0,c=0,d;d=this.sourceBlock_.inputList[c];c++){for(var e=0;d.fieldRow[e];e++)a++;d.connection&&b++}this.fullBlockClickTarget_=1>=a&&this.sourceBlock_.outputConnection&&!b}else this.fullBlockClickTarget_=!1;this.fullBlockClickTarget_?this.clickTarget_=this.sourceBlock_.getSvgRoot():this.createBorderRect_();this.createTextElement_()};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.doClassValidation_=function(a){return null===a||void 0===a?null:String(a)};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.doValueInvalid_=function(a){this.isBeingEdited_&&(this.isTextValid_=!1,a=this.value_,this.value_=this.htmlInput_.untypedDefaultValue_,this.sourceBlock_&&(0,module$exports$Blockly$Events$utils.isEnabled)()&&(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(this.sourceBlock_,\"field\",this.name||null,a,this.value_)))};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.doValueUpdate_=function(a){this.isTextValid_=!0;this.value_=a;this.isBeingEdited_||(this.isDirty_=!0)};$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.applyColour=function(){this.sourceBlock_&&this.getConstants().FULL_BLOCK_FIELDS&&(this.borderRect_?this.borderRect_.setAttribute(\"stroke\",this.sourceBlock_.style.colourTertiary):this.sourceBlock_.pathObject.svgPath.setAttribute(\"fill\",this.getConstants().FIELD_BORDER_RECT_COLOUR))};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.render_=function(){$.module$exports$Blockly$FieldTextInput.FieldTextInput.superClass_.render_.call(this);if(this.isBeingEdited_){this.resizeEditor_();var a=this.htmlInput_;this.isTextValid_?((0,module$exports$Blockly$utils$dom.removeClass)(a,\"blocklyInvalidInput\"),(0,module$exports$Blockly$utils$aria.setState)(a,module$exports$Blockly$utils$aria.State.INVALID,!1)):((0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyInvalidInput\"),\n(0,module$exports$Blockly$utils$aria.setState)(a,module$exports$Blockly$utils$aria.State.INVALID,!0))}};$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.setSpellcheck=function(a){a!==this.spellcheck_&&(this.spellcheck_=a,this.htmlInput_&&this.htmlInput_.setAttribute(\"spellcheck\",this.spellcheck_))};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.showEditor_=function(a,b){this.workspace_=this.sourceBlock_.workspace;a=b||!1;!a&&(module$exports$Blockly$utils$userAgent.MOBILE||module$exports$Blockly$utils$userAgent.ANDROID||module$exports$Blockly$utils$userAgent.IPAD)?this.showPromptEditor_():this.showInlineEditor_(a)};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.showPromptEditor_=function(){(0,module$exports$Blockly$dialog.prompt)($.module$exports$Blockly$Msg.Msg.CHANGE_VALUE_TITLE,this.getText(),function(a){null!==a&&this.setValue(this.getValueFromEditorText_(a))}.bind(this))};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.showInlineEditor_=function(a){(0,module$exports$Blockly$WidgetDiv.show)(this,this.sourceBlock_.RTL,this.widgetDispose_.bind(this));this.htmlInput_=this.widgetCreate_();this.isBeingEdited_=!0;a||(this.htmlInput_.focus({preventScroll:!0}),this.htmlInput_.select())};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.widgetCreate_=function(){(0,module$exports$Blockly$Events$utils.setGroup)(!0);var a=(0,module$exports$Blockly$WidgetDiv.getDiv)();(0,module$exports$Blockly$utils$dom.addClass)(this.getClickTarget_(),\"editing\");var b=document.createElement(\"input\");b.className=\"blocklyHtmlInput\";b.setAttribute(\"spellcheck\",this.spellcheck_);var c=this.workspace_.getScale(),d=this.getConstants().FIELD_TEXT_FONTSIZE*c+\"pt\";a.style.fontSize=d;b.style.fontSize=\nd;d=$.module$exports$Blockly$FieldTextInput.FieldTextInput.BORDERRADIUS*c+\"px\";if(this.fullBlockClickTarget_){d=this.getScaledBBox();d=(d.bottom-d.top)/2+\"px\";var e=this.sourceBlock_.getParent()?this.sourceBlock_.getParent().style.colourTertiary:this.sourceBlock_.style.colourTertiary;b.style.border=1*c+\"px solid \"+e;a.style.borderRadius=d;a.style.transition=\"box-shadow 0.25s ease 0s\";this.getConstants().FIELD_TEXTINPUT_BOX_SHADOW&&(a.style.boxShadow=\"rgba(255, 255, 255, 0.3) 0 0 0 \"+4*c+\"px\")}b.style.borderRadius=\nd;a.appendChild(b);b.value=b.defaultValue=this.getEditorText_(this.value_);b.untypedDefaultValue_=this.value_;b.oldValue_=null;this.resizeEditor_();this.bindInputEvents_(b);return b};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.widgetDispose_=function(){this.isBeingEdited_=!1;this.isTextValid_=!0;this.forceRerender();if(this.onFinishEditing_)this.onFinishEditing_(this.value_);(0,module$exports$Blockly$Events$utils.setGroup)(!1);this.unbindInputEvents_();var a=(0,module$exports$Blockly$WidgetDiv.getDiv)().style;a.width=\"auto\";a.height=\"auto\";a.fontSize=\"\";a.transition=\"\";a.boxShadow=\"\";this.htmlInput_=null;(0,module$exports$Blockly$utils$dom.removeClass)(this.getClickTarget_(),\n\"editing\")};$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.bindInputEvents_=function(a){this.onKeyDownWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(a,\"keydown\",this,this.onHtmlInputKeyDown_);this.onKeyInputWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(a,\"input\",this,this.onHtmlInputChange_)};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.unbindInputEvents_=function(){this.onKeyDownWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onKeyDownWrapper_),this.onKeyDownWrapper_=null);this.onKeyInputWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onKeyInputWrapper_),this.onKeyInputWrapper_=null)};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.onHtmlInputKeyDown_=function(a){a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.ENTER?((0,module$exports$Blockly$WidgetDiv.hide)(),module$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation()):a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.ESC?(this.setValue(this.htmlInput_.untypedDefaultValue_),(0,module$exports$Blockly$WidgetDiv.hide)(),module$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation()):\na.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.TAB&&((0,module$exports$Blockly$WidgetDiv.hide)(),module$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation(),this.sourceBlock_.tab(this,!a.shiftKey),a.preventDefault())};$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.onHtmlInputChange_=function(a){a=this.htmlInput_.value;a!==this.htmlInput_.oldValue_&&(this.htmlInput_.oldValue_=a,a=this.getValueFromEditorText_(a),this.setValue(a),this.forceRerender(),this.resizeEditor_())};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.setEditorValue_=function(a){this.isDirty_=!0;this.isBeingEdited_&&(this.htmlInput_.value=this.getEditorText_(a));this.setValue(a)};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.resizeEditor_=function(){var a=(0,module$exports$Blockly$WidgetDiv.getDiv)(),b=this.getScaledBBox();a.style.width=b.right-b.left+\"px\";a.style.height=b.bottom-b.top+\"px\";b=new module$exports$Blockly$utils$Coordinate.Coordinate(this.sourceBlock_.RTL?b.right-a.offsetWidth:b.left,b.top);a.style.left=b.x+\"px\";a.style.top=b.y+\"px\"};$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.isTabNavigable=function(){return!0};\n$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.getText_=function(){return this.isBeingEdited_&&this.htmlInput_?this.htmlInput_.value:null};$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.getEditorText_=function(a){return String(a)};$.module$exports$Blockly$FieldTextInput.FieldTextInput.prototype.getValueFromEditorText_=function(a){return a};(0,module$exports$Blockly$fieldRegistry.register)(\"field_input\",$.module$exports$Blockly$FieldTextInput.FieldTextInput);var module$exports$Blockly$FieldNumber={FieldNumber:function(a,b,c,d,e,f){this.min_=-Infinity;this.max_=Infinity;this.precision_=0;this.decimalPlaces_=null;module$exports$Blockly$FieldNumber.FieldNumber.superClass_.constructor.call(this,a,e,f);f||this.setConstraints(b,c,d)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$FieldNumber.FieldNumber,$.module$exports$Blockly$FieldTextInput.FieldTextInput);\nmodule$exports$Blockly$FieldNumber.FieldNumber.prototype.DEFAULT_VALUE=0;module$exports$Blockly$FieldNumber.FieldNumber.fromJson=function(a){return new this(a.value,void 0,void 0,void 0,void 0,a)};module$exports$Blockly$FieldNumber.FieldNumber.prototype.SERIALIZABLE=!0;module$exports$Blockly$FieldNumber.FieldNumber.prototype.configure_=function(a){module$exports$Blockly$FieldNumber.FieldNumber.superClass_.configure_.call(this,a);this.setMinInternal_(a.min);this.setMaxInternal_(a.max);this.setPrecisionInternal_(a.precision)};\nmodule$exports$Blockly$FieldNumber.FieldNumber.prototype.setConstraints=function(a,b,c){this.setMinInternal_(a);this.setMaxInternal_(b);this.setPrecisionInternal_(c);this.setValue(this.getValue())};module$exports$Blockly$FieldNumber.FieldNumber.prototype.setMin=function(a){this.setMinInternal_(a);this.setValue(this.getValue())};module$exports$Blockly$FieldNumber.FieldNumber.prototype.setMinInternal_=function(a){null==a?this.min_=-Infinity:(a=Number(a),isNaN(a)||(this.min_=a))};\nmodule$exports$Blockly$FieldNumber.FieldNumber.prototype.getMin=function(){return this.min_};module$exports$Blockly$FieldNumber.FieldNumber.prototype.setMax=function(a){this.setMaxInternal_(a);this.setValue(this.getValue())};module$exports$Blockly$FieldNumber.FieldNumber.prototype.setMaxInternal_=function(a){null==a?this.max_=Infinity:(a=Number(a),isNaN(a)||(this.max_=a))};module$exports$Blockly$FieldNumber.FieldNumber.prototype.getMax=function(){return this.max_};\nmodule$exports$Blockly$FieldNumber.FieldNumber.prototype.setPrecision=function(a){this.setPrecisionInternal_(a);this.setValue(this.getValue())};module$exports$Blockly$FieldNumber.FieldNumber.prototype.setPrecisionInternal_=function(a){this.precision_=Number(a)||0;var b=String(this.precision_);-1!==b.indexOf(\"e\")&&(b=this.precision_.toLocaleString(\"en-US\",{maximumFractionDigits:20}));var c=b.indexOf(\".\");this.decimalPlaces_=-1===c?a?0:null:b.length-c-1};\nmodule$exports$Blockly$FieldNumber.FieldNumber.prototype.getPrecision=function(){return this.precision_};\nmodule$exports$Blockly$FieldNumber.FieldNumber.prototype.doClassValidation_=function(a){if(null===a)return null;a=String(a);a=a.replace(/O/ig,\"0\");a=a.replace(/,/g,\"\");a=a.replace(/infinity/i,\"Infinity\");a=Number(a||0);if(isNaN(a))return null;a=Math.min(Math.max(a,this.min_),this.max_);this.precision_&&isFinite(a)&&(a=Math.round(a/this.precision_)*this.precision_);null!==this.decimalPlaces_&&(a=Number(a.toFixed(this.decimalPlaces_)));return a};\nmodule$exports$Blockly$FieldNumber.FieldNumber.prototype.widgetCreate_=function(){var a=module$exports$Blockly$FieldNumber.FieldNumber.superClass_.widgetCreate_.call(this);-Infinity<this.min_&&(0,module$exports$Blockly$utils$aria.setState)(a,module$exports$Blockly$utils$aria.State.VALUEMIN,this.min_);Infinity>this.max_&&(0,module$exports$Blockly$utils$aria.setState)(a,module$exports$Blockly$utils$aria.State.VALUEMAX,this.max_);return a};\n(0,module$exports$Blockly$fieldRegistry.register)(\"field_number\",module$exports$Blockly$FieldNumber.FieldNumber);var module$exports$Blockly$FieldMultilineInput={FieldMultilineInput:function(a,b,c){module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.superClass_.constructor.call(this,a,b,c);this.textGroup_=null;this.maxLines_=Infinity;this.isOverflowedY_=!1}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$FieldMultilineInput.FieldMultilineInput,$.module$exports$Blockly$FieldTextInput.FieldTextInput);\nmodule$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.configure_=function(a){module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.superClass_.configure_.call(this,a);a.maxLines&&this.setMaxLines(a.maxLines)};module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.fromJson=function(a){return new this((0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.text),void 0,a)};\nmodule$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.toXml=function(a){a.textContent=this.getValue().replace(/\\n/g,\" \");return a};module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.fromXml=function(a){this.setValue(a.textContent.replace(/ /g,\"\\n\"))};\nmodule$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.saveState=function(){var a=this.saveLegacyState(module$exports$Blockly$FieldMultilineInput.FieldMultilineInput);return null!==a?a:this.getValue()};module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.loadState=function(a){this.loadLegacyState(module$exports$Blockly$Field.Field,a)||this.setValue(a)};\nmodule$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.initView=function(){this.createBorderRect_();this.textGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyEditableText\"},this.fieldGroup_)};\nmodule$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.getDisplayText_=function(){var a=this.getText();if(!a)return module$exports$Blockly$Field.Field.NBSP;var b=a.split(\"\\n\");a=\"\";for(var c=this.isOverflowedY_?this.maxLines_:b.length,d=0;d<c;d++){var e=b[d];e.length>this.maxDisplayLength?e=e.substring(0,this.maxDisplayLength-4)+\"...\":this.isOverflowedY_&&d===c-1&&(e=e.substring(0,e.length-3)+\"...\");e=e.replace(/\\s/g,module$exports$Blockly$Field.Field.NBSP);a+=e;d!==c-1&&(a+=\"\\n\")}this.sourceBlock_.RTL&&\n(a+=\"\\u200f\");return a};module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.doValueUpdate_=function(a){module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.superClass_.doValueUpdate_.call(this,a);this.isOverflowedY_=this.value_.split(\"\\n\").length>this.maxLines_};\nmodule$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.render_=function(){for(var a;a=this.textGroup_.firstChild;)this.textGroup_.removeChild(a);a=this.getDisplayText_().split(\"\\n\");for(var b=0,c=0;c<a.length;c++){var d=this.getConstants().FIELD_TEXT_HEIGHT+this.getConstants().FIELD_BORDER_RECT_Y_PADDING;(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.TEXT,{\"class\":\"blocklyText blocklyMultilineText\",x:this.getConstants().FIELD_BORDER_RECT_X_PADDING,\ny:b+this.getConstants().FIELD_BORDER_RECT_Y_PADDING,dy:this.getConstants().FIELD_TEXT_BASELINE},this.textGroup_).appendChild(document.createTextNode(a[c]));b+=d}this.isBeingEdited_&&(a=this.htmlInput_,this.isOverflowedY_?(0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyHtmlTextAreaInputOverflowedY\"):(0,module$exports$Blockly$utils$dom.removeClass)(a,\"blocklyHtmlTextAreaInputOverflowedY\"));this.updateSize_();this.isBeingEdited_&&(this.sourceBlock_.RTL?setTimeout(this.resizeEditor_.bind(this),\n0):this.resizeEditor_(),a=this.htmlInput_,this.isTextValid_?((0,module$exports$Blockly$utils$dom.removeClass)(a,\"blocklyInvalidInput\"),(0,module$exports$Blockly$utils$aria.setState)(a,module$exports$Blockly$utils$aria.State.INVALID,!1)):((0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyInvalidInput\"),(0,module$exports$Blockly$utils$aria.setState)(a,module$exports$Blockly$utils$aria.State.INVALID,!0)))};\nmodule$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.updateSize_=function(){for(var a=this.textGroup_.childNodes,b=0,c=0,d=0;d<a.length;d++){var e=(0,module$exports$Blockly$utils$dom.getTextWidth)(a[d]);e>b&&(b=e);c+=this.getConstants().FIELD_TEXT_HEIGHT+(0<d?this.getConstants().FIELD_BORDER_RECT_Y_PADDING:0)}if(this.isBeingEdited_){a=this.value_.split(\"\\n\");d=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.TEXT,{\"class\":\"blocklyText blocklyMultilineText\"});\ne=this.getConstants().FIELD_TEXT_FONTSIZE;for(var f=this.getConstants().FIELD_TEXT_FONTWEIGHT,g=this.getConstants().FIELD_TEXT_FONTFAMILY,h=0;h<a.length;h++){a[h].length>this.maxDisplayLength&&(a[h]=a[h].substring(0,this.maxDisplayLength));d.textContent=a[h];var k=(0,module$exports$Blockly$utils$dom.getFastTextWidth)(d,e,f,g);k>b&&(b=k)}b+=this.htmlInput_.offsetWidth-this.htmlInput_.clientWidth}this.borderRect_&&(c+=2*this.getConstants().FIELD_BORDER_RECT_Y_PADDING,b+=2*this.getConstants().FIELD_BORDER_RECT_X_PADDING,\nthis.borderRect_.setAttribute(\"width\",b),this.borderRect_.setAttribute(\"height\",c));this.size_.width=b;this.size_.height=c;this.positionBorderRect_()};module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.showEditor_=function(a,b){module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.superClass_.showEditor_.call(this,a,b);this.forceRerender()};\nmodule$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.widgetCreate_=function(){var a=(0,module$exports$Blockly$WidgetDiv.getDiv)(),b=this.workspace_.getScale(),c=document.createElement(\"textarea\");c.className=\"blocklyHtmlInput blocklyHtmlTextAreaInput\";c.setAttribute(\"spellcheck\",this.spellcheck_);var d=this.getConstants().FIELD_TEXT_FONTSIZE*b+\"pt\";a.style.fontSize=d;c.style.fontSize=d;c.style.borderRadius=$.module$exports$Blockly$FieldTextInput.FieldTextInput.BORDERRADIUS*b+\"px\";\nd=this.getConstants().FIELD_BORDER_RECT_X_PADDING*b;var e=this.getConstants().FIELD_BORDER_RECT_Y_PADDING*b/2;c.style.padding=e+\"px \"+d+\"px \"+e+\"px \"+d+\"px\";d=this.getConstants().FIELD_TEXT_HEIGHT+this.getConstants().FIELD_BORDER_RECT_Y_PADDING;c.style.lineHeight=d*b+\"px\";a.appendChild(c);c.value=c.defaultValue=this.getEditorText_(this.value_);c.untypedDefaultValue_=this.value_;c.oldValue_=null;module$exports$Blockly$utils$userAgent.GECKO?setTimeout(this.resizeEditor_.bind(this),0):this.resizeEditor_();\nthis.bindInputEvents_(c);return c};module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.setMaxLines=function(a){\"number\"===typeof a&&0<a&&a!==this.maxLines_&&(this.maxLines_=a,this.forceRerender())};module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.getMaxLines=function(){return this.maxLines_};\nmodule$exports$Blockly$FieldMultilineInput.FieldMultilineInput.prototype.onHtmlInputKeyDown_=function(a){a.keyCode!==module$exports$Blockly$utils$KeyCodes.KeyCodes.ENTER&&module$exports$Blockly$FieldMultilineInput.FieldMultilineInput.superClass_.onHtmlInputKeyDown_.call(this,a)};(0,module$exports$Blockly$Css.register)(\"\\n .blocklyHtmlTextAreaInput {\\n font-family: monospace;\\n resize: none;\\n overflow: hidden;\\n height: 100%;\\n text-align: left;\\n }\\n\\n .blocklyHtmlTextAreaInputOverflowedY {\\n overflow-y: scroll;\\n }\\n\");\n(0,module$exports$Blockly$fieldRegistry.register)(\"field_multilinetext\",module$exports$Blockly$FieldMultilineInput.FieldMultilineInput);var module$exports$Blockly$FieldLabelSerializable={FieldLabelSerializable:function(a,b,c){module$exports$Blockly$FieldLabelSerializable.FieldLabelSerializable.superClass_.constructor.call(this,a,b,c)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$FieldLabelSerializable.FieldLabelSerializable,$.module$exports$Blockly$FieldLabel.FieldLabel);\nmodule$exports$Blockly$FieldLabelSerializable.FieldLabelSerializable.fromJson=function(a){return new this((0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.text),void 0,a)};module$exports$Blockly$FieldLabelSerializable.FieldLabelSerializable.prototype.EDITABLE=!1;module$exports$Blockly$FieldLabelSerializable.FieldLabelSerializable.prototype.SERIALIZABLE=!0;(0,module$exports$Blockly$fieldRegistry.register)(\"field_label_serializable\",module$exports$Blockly$FieldLabelSerializable.FieldLabelSerializable);var module$exports$Blockly$FieldColour={FieldColour:function(a,b,c){module$exports$Blockly$FieldColour.FieldColour.superClass_.constructor.call(this,a,b,c);this.onKeyDownWrapper_=this.onMouseLeaveWrapper_=this.onMouseEnterWrapper_=this.onMouseMoveWrapper_=this.onClickWrapper_=this.highlightedIndex_=this.picker_=null}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$FieldColour.FieldColour,module$exports$Blockly$Field.Field);\nmodule$exports$Blockly$FieldColour.FieldColour.fromJson=function(a){return new this(a.colour,void 0,a)};module$exports$Blockly$FieldColour.FieldColour.prototype.SERIALIZABLE=!0;module$exports$Blockly$FieldColour.FieldColour.prototype.CURSOR=\"default\";module$exports$Blockly$FieldColour.FieldColour.prototype.isDirty_=!1;module$exports$Blockly$FieldColour.FieldColour.prototype.colours_=null;module$exports$Blockly$FieldColour.FieldColour.prototype.titles_=null;\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.columns_=0;module$exports$Blockly$FieldColour.FieldColour.prototype.configure_=function(a){module$exports$Blockly$FieldColour.FieldColour.superClass_.configure_.call(this,a);a.colourOptions&&(this.colours_=a.colourOptions,this.titles_=a.colourTitles);a.columns&&(this.columns_=a.columns)};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.initView=function(){this.size_=new module$exports$Blockly$utils$Size.Size(this.getConstants().FIELD_COLOUR_DEFAULT_WIDTH,this.getConstants().FIELD_COLOUR_DEFAULT_HEIGHT);this.getConstants().FIELD_COLOUR_FULL_BLOCK?this.clickTarget_=this.sourceBlock_.getSvgRoot():(this.createBorderRect_(),this.borderRect_.style.fillOpacity=\"1\")};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.applyColour=function(){this.getConstants().FIELD_COLOUR_FULL_BLOCK?(this.sourceBlock_.pathObject.svgPath.setAttribute(\"fill\",this.getValue()),this.sourceBlock_.pathObject.svgPath.setAttribute(\"stroke\",\"#fff\")):this.borderRect_&&(this.borderRect_.style.fill=this.getValue())};module$exports$Blockly$FieldColour.FieldColour.prototype.doClassValidation_=function(a){return\"string\"!==typeof a?null:(0,module$exports$Blockly$utils$colour.parse)(a)};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.doValueUpdate_=function(a){this.value_=a;this.borderRect_?this.borderRect_.style.fill=a:this.sourceBlock_&&this.sourceBlock_.rendered&&(this.sourceBlock_.pathObject.svgPath.setAttribute(\"fill\",a),this.sourceBlock_.pathObject.svgPath.setAttribute(\"stroke\",\"#fff\"))};module$exports$Blockly$FieldColour.FieldColour.prototype.getText=function(){var a=this.value_;/^#(.)\\1(.)\\2(.)\\3$/.test(a)&&(a=\"#\"+a[1]+a[3]+a[5]);return a};\nmodule$exports$Blockly$FieldColour.FieldColour.COLOURS=\"#ffffff #cccccc #c0c0c0 #999999 #666666 #333333 #000000 #ffcccc #ff6666 #ff0000 #cc0000 #990000 #660000 #330000 #ffcc99 #ff9966 #ff9900 #ff6600 #cc6600 #993300 #663300 #ffff99 #ffff66 #ffcc66 #ffcc33 #cc9933 #996633 #663333 #ffffcc #ffff33 #ffff00 #ffcc00 #999900 #666600 #333300 #99ff99 #66ff99 #33ff33 #33cc00 #009900 #006600 #003300 #99ffff #33ffff #66cccc #00cccc #339999 #336666 #003333 #ccffff #66ffff #33ccff #3366ff #3333ff #000099 #000066 #ccccff #9999ff #6666cc #6633ff #6600cc #333399 #330099 #ffccff #ff99ff #cc66cc #cc33cc #993399 #663366 #330033\".split(\" \");\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.DEFAULT_VALUE=module$exports$Blockly$FieldColour.FieldColour.COLOURS[0];module$exports$Blockly$FieldColour.FieldColour.TITLES=[];module$exports$Blockly$FieldColour.FieldColour.COLUMNS=7;module$exports$Blockly$FieldColour.FieldColour.prototype.setColours=function(a,b){this.colours_=a;b&&(this.titles_=b);return this};module$exports$Blockly$FieldColour.FieldColour.prototype.setColumns=function(a){this.columns_=a;return this};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.showEditor_=function(){this.dropdownCreate_();module$exports$Blockly$DropDownDiv.DropDownDiv.getContentDiv().appendChild(this.picker_);module$exports$Blockly$DropDownDiv.DropDownDiv.showPositionedByField(this,this.dropdownDispose_.bind(this));this.picker_.focus({preventScroll:!0})};module$exports$Blockly$FieldColour.FieldColour.prototype.onClick_=function(a){a=(a=a.target)&&a.label;null!==a&&(this.setValue(a),module$exports$Blockly$DropDownDiv.DropDownDiv.hideIfOwner(this))};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.onKeyDown_=function(a){var b=!1;if(a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.UP)this.moveHighlightBy_(0,-1),b=!0;else if(a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.DOWN)this.moveHighlightBy_(0,1),b=!0;else if(a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.LEFT)this.moveHighlightBy_(-1,0),b=!0;else if(a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.RIGHT)this.moveHighlightBy_(1,0),b=!0;\nelse if(a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.ENTER){if(b=this.getHighlighted_())b=b&&b.label,null!==b&&this.setValue(b);module$exports$Blockly$DropDownDiv.DropDownDiv.hideWithoutAnimation();b=!0}b&&a.stopPropagation()};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.moveHighlightBy_=function(a,b){var c=this.colours_||module$exports$Blockly$FieldColour.FieldColour.COLOURS,d=this.columns_||module$exports$Blockly$FieldColour.FieldColour.COLUMNS,e=this.highlightedIndex_%d,f=Math.floor(this.highlightedIndex_/d);e+=a;f+=b;0>a?0>e&&0<f?(e=d-1,f--):0>e&&(e=0):0<a?e>d-1&&f<Math.floor(c.length/d)-1?(e=0,f++):e>d-1&&e--:0>b?0>f&&(f=0):0<b&&f>Math.floor(c.length/d)-1&&(f=Math.floor(c.length/d)-1);this.setHighlightedCell_(this.picker_.childNodes[f].childNodes[e],\nf*d+e)};module$exports$Blockly$FieldColour.FieldColour.prototype.onMouseMove_=function(a){var b=(a=a.target)&&Number(a.getAttribute(\"data-index\"));null!==b&&b!==this.highlightedIndex_&&this.setHighlightedCell_(a,b)};module$exports$Blockly$FieldColour.FieldColour.prototype.onMouseEnter_=function(){this.picker_.focus({preventScroll:!0})};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.onMouseLeave_=function(){this.picker_.blur();var a=this.getHighlighted_();a&&(0,module$exports$Blockly$utils$dom.removeClass)(a,\"blocklyColourHighlighted\")};module$exports$Blockly$FieldColour.FieldColour.prototype.getHighlighted_=function(){var a=this.columns_||module$exports$Blockly$FieldColour.FieldColour.COLUMNS,b=this.picker_.childNodes[Math.floor(this.highlightedIndex_/a)];return b?b.childNodes[this.highlightedIndex_%a]:null};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.setHighlightedCell_=function(a,b){var c=this.getHighlighted_();c&&(0,module$exports$Blockly$utils$dom.removeClass)(c,\"blocklyColourHighlighted\");(0,module$exports$Blockly$utils$dom.addClass)(a,\"blocklyColourHighlighted\");this.highlightedIndex_=b;(0,module$exports$Blockly$utils$aria.setState)(this.picker_,module$exports$Blockly$utils$aria.State.ACTIVEDESCENDANT,a.getAttribute(\"id\"))};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.dropdownCreate_=function(){var a=this.columns_||module$exports$Blockly$FieldColour.FieldColour.COLUMNS,b=this.colours_||module$exports$Blockly$FieldColour.FieldColour.COLOURS,c=this.titles_||module$exports$Blockly$FieldColour.FieldColour.TITLES,d=this.getValue(),e=document.createElement(\"table\");e.className=\"blocklyColourTable\";e.tabIndex=0;e.dir=\"ltr\";(0,module$exports$Blockly$utils$aria.setRole)(e,module$exports$Blockly$utils$aria.Role.GRID);\n(0,module$exports$Blockly$utils$aria.setState)(e,module$exports$Blockly$utils$aria.State.EXPANDED,!0);(0,module$exports$Blockly$utils$aria.setState)(e,module$exports$Blockly$utils$aria.State.ROWCOUNT,Math.floor(b.length/a));(0,module$exports$Blockly$utils$aria.setState)(e,module$exports$Blockly$utils$aria.State.COLCOUNT,a);for(var f,g=0;g<b.length;g++){0===g%a&&(f=document.createElement(\"tr\"),(0,module$exports$Blockly$utils$aria.setRole)(f,module$exports$Blockly$utils$aria.Role.ROW),e.appendChild(f));\nvar h=document.createElement(\"td\");f.appendChild(h);h.label=b[g];h.title=c[g]||b[g];h.id=(0,module$exports$Blockly$utils$idGenerator.getNextUniqueId)();h.setAttribute(\"data-index\",g);(0,module$exports$Blockly$utils$aria.setRole)(h,module$exports$Blockly$utils$aria.Role.GRIDCELL);(0,module$exports$Blockly$utils$aria.setState)(h,module$exports$Blockly$utils$aria.State.LABEL,b[g]);(0,module$exports$Blockly$utils$aria.setState)(h,module$exports$Blockly$utils$aria.State.SELECTED,b[g]===d);h.style.backgroundColor=\nb[g];b[g]===d&&(h.className=\"blocklyColourSelected\",this.highlightedIndex_=g)}this.onClickWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(e,\"click\",this,this.onClick_,!0);this.onMouseMoveWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(e,\"mousemove\",this,this.onMouseMove_,!0);this.onMouseEnterWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(e,\"mouseenter\",this,this.onMouseEnter_,!0);this.onMouseLeaveWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(e,\n\"mouseleave\",this,this.onMouseLeave_,!0);this.onKeyDownWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(e,\"keydown\",this,this.onKeyDown_);this.picker_=e};\nmodule$exports$Blockly$FieldColour.FieldColour.prototype.dropdownDispose_=function(){this.onClickWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onClickWrapper_),this.onClickWrapper_=null);this.onMouseMoveWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onMouseMoveWrapper_),this.onMouseMoveWrapper_=null);this.onMouseEnterWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onMouseEnterWrapper_),this.onMouseEnterWrapper_=null);this.onMouseLeaveWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onMouseLeaveWrapper_),\nthis.onMouseLeaveWrapper_=null);this.onKeyDownWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onKeyDownWrapper_),this.onKeyDownWrapper_=null);this.highlightedIndex_=this.picker_=null};(0,module$exports$Blockly$Css.register)(\"\\n .blocklyColourTable {\\n border-collapse: collapse;\\n display: block;\\n outline: none;\\n padding: 1px;\\n }\\n\\n .blocklyColourTable>tr>td {\\n border: .5px solid #888;\\n box-sizing: border-box;\\n cursor: pointer;\\n display: inline-block;\\n height: 20px;\\n padding: 0;\\n width: 20px;\\n }\\n\\n .blocklyColourTable>tr>td.blocklyColourHighlighted {\\n border-color: #eee;\\n box-shadow: 2px 2px 7px 2px rgba(0,0,0,.3);\\n position: relative;\\n }\\n\\n .blocklyColourSelected, .blocklyColourSelected:hover {\\n border-color: #eee !important;\\n outline: 1px solid #333;\\n position: relative;\\n }\\n\");\n(0,module$exports$Blockly$fieldRegistry.register)(\"field_colour\",module$exports$Blockly$FieldColour.FieldColour);$.module$exports$Blockly$FieldCheckbox={FieldCheckbox:function(a,b,c){this.checkChar_=null;$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.superClass_.constructor.call(this,a,b,c)}};(0,$.module$exports$Blockly$utils$object.inherits)($.module$exports$Blockly$FieldCheckbox.FieldCheckbox,module$exports$Blockly$Field.Field);$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.DEFAULT_VALUE=!1;\n$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.fromJson=function(a){return new this(a.checked,void 0,a)};$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.CHECK_CHAR=\"\\u2713\";$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.SERIALIZABLE=!0;$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.CURSOR=\"default\";\n$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.configure_=function(a){$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.superClass_.configure_.call(this,a);a.checkCharacter&&(this.checkChar_=a.checkCharacter)};$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.saveState=function(){var a=this.saveLegacyState($.module$exports$Blockly$FieldCheckbox.FieldCheckbox);return null!==a?a:this.getValueBoolean()};\n$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.initView=function(){$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.superClass_.initView.call(this);(0,module$exports$Blockly$utils$dom.addClass)(this.textElement_,\"blocklyCheckbox\");this.textElement_.style.display=this.value_?\"block\":\"none\"};$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.render_=function(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_());this.updateSize_(this.getConstants().FIELD_CHECKBOX_X_OFFSET)};\n$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.getDisplayText_=function(){return this.checkChar_||$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.CHECK_CHAR};$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.setCheckCharacter=function(a){this.checkChar_=a;this.forceRerender()};$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.showEditor_=function(){this.setValue(!this.value_)};\n$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.doClassValidation_=function(a){return!0===a||\"TRUE\"===a?\"TRUE\":!1===a||\"FALSE\"===a?\"FALSE\":null};$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.doValueUpdate_=function(a){this.value_=this.convertValueToBool_(a);this.textElement_&&(this.textElement_.style.display=this.value_?\"block\":\"none\")};$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.getValue=function(){return this.value_?\"TRUE\":\"FALSE\"};\n$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.getValueBoolean=function(){return this.value_};$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.getText=function(){return String(this.convertValueToBool_(this.value_))};$.module$exports$Blockly$FieldCheckbox.FieldCheckbox.prototype.convertValueToBool_=function(a){return\"string\"===typeof a?\"TRUE\"===a:!!a};(0,module$exports$Blockly$fieldRegistry.register)(\"field_checkbox\",$.module$exports$Blockly$FieldCheckbox.FieldCheckbox);var module$exports$Blockly$FieldAngle={FieldAngle:function(a,b,c){this.clockwise_=module$exports$Blockly$FieldAngle.FieldAngle.CLOCKWISE;this.offset_=module$exports$Blockly$FieldAngle.FieldAngle.OFFSET;this.wrap_=module$exports$Blockly$FieldAngle.FieldAngle.WRAP;this.round_=module$exports$Blockly$FieldAngle.FieldAngle.ROUND;module$exports$Blockly$FieldAngle.FieldAngle.superClass_.constructor.call(this,a,b,c);this.moveSurfaceWrapper_=this.clickSurfaceWrapper_=this.clickWrapper_=this.line_=this.gauge_=\nthis.editor_=null}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$FieldAngle.FieldAngle,$.module$exports$Blockly$FieldTextInput.FieldTextInput);module$exports$Blockly$FieldAngle.FieldAngle.prototype.DEFAULT_VALUE=0;module$exports$Blockly$FieldAngle.FieldAngle.fromJson=function(a){return new this(a.angle,void 0,a)};module$exports$Blockly$FieldAngle.FieldAngle.prototype.SERIALIZABLE=!0;module$exports$Blockly$FieldAngle.FieldAngle.ROUND=15;\nmodule$exports$Blockly$FieldAngle.FieldAngle.HALF=50;module$exports$Blockly$FieldAngle.FieldAngle.CLOCKWISE=!1;module$exports$Blockly$FieldAngle.FieldAngle.OFFSET=0;module$exports$Blockly$FieldAngle.FieldAngle.WRAP=360;module$exports$Blockly$FieldAngle.FieldAngle.RADIUS=module$exports$Blockly$FieldAngle.FieldAngle.HALF-1;\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.configure_=function(a){module$exports$Blockly$FieldAngle.FieldAngle.superClass_.configure_.call(this,a);switch(a.mode){case \"compass\":this.clockwise_=!0;this.offset_=90;break;case \"protractor\":this.clockwise_=!1,this.offset_=0}var b=a.clockwise;\"boolean\"===typeof b&&(this.clockwise_=b);b=a.offset;null!==b&&(b=Number(b),isNaN(b)||(this.offset_=b));b=a.wrap;null!==b&&(b=Number(b),isNaN(b)||(this.wrap_=b));a=a.round;null!==a&&(a=Number(a),isNaN(a)||\n(this.round_=a))};module$exports$Blockly$FieldAngle.FieldAngle.prototype.initView=function(){module$exports$Blockly$FieldAngle.FieldAngle.superClass_.initView.call(this);this.symbol_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.TSPAN,{},null);this.symbol_.appendChild(document.createTextNode(\"\\u00b0\"));this.textElement_.appendChild(this.symbol_)};\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.render_=function(){module$exports$Blockly$FieldAngle.FieldAngle.superClass_.render_.call(this);this.updateGraph_()};\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.showEditor_=function(a){module$exports$Blockly$FieldAngle.FieldAngle.superClass_.showEditor_.call(this,a,module$exports$Blockly$utils$userAgent.MOBILE||module$exports$Blockly$utils$userAgent.ANDROID||module$exports$Blockly$utils$userAgent.IPAD);this.dropdownCreate_();module$exports$Blockly$DropDownDiv.DropDownDiv.getContentDiv().appendChild(this.editor_);module$exports$Blockly$DropDownDiv.DropDownDiv.setColour(this.sourceBlock_.style.colourPrimary,\nthis.sourceBlock_.style.colourTertiary);module$exports$Blockly$DropDownDiv.DropDownDiv.showPositionedByField(this,this.dropdownDispose_.bind(this));this.updateGraph_()};\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.dropdownCreate_=function(){var a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.SVG,{xmlns:module$exports$Blockly$utils$dom.SVG_NS,\"xmlns:html\":module$exports$Blockly$utils$dom.HTML_NS,\"xmlns:xlink\":module$exports$Blockly$utils$dom.XLINK_NS,version:\"1.1\",height:2*module$exports$Blockly$FieldAngle.FieldAngle.HALF+\"px\",width:2*module$exports$Blockly$FieldAngle.FieldAngle.HALF+\"px\",style:\"touch-action: none\"},\nnull),b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CIRCLE,{cx:module$exports$Blockly$FieldAngle.FieldAngle.HALF,cy:module$exports$Blockly$FieldAngle.FieldAngle.HALF,r:module$exports$Blockly$FieldAngle.FieldAngle.RADIUS,\"class\":\"blocklyAngleCircle\"},a);this.gauge_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyAngleGauge\"},a);this.line_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,\n{x1:module$exports$Blockly$FieldAngle.FieldAngle.HALF,y1:module$exports$Blockly$FieldAngle.FieldAngle.HALF,\"class\":\"blocklyAngleLine\"},a);for(var c=0;360>c;c+=15)(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,{x1:module$exports$Blockly$FieldAngle.FieldAngle.HALF+module$exports$Blockly$FieldAngle.FieldAngle.RADIUS,y1:module$exports$Blockly$FieldAngle.FieldAngle.HALF,x2:module$exports$Blockly$FieldAngle.FieldAngle.HALF+module$exports$Blockly$FieldAngle.FieldAngle.RADIUS-\n(0===c%45?10:5),y2:module$exports$Blockly$FieldAngle.FieldAngle.HALF,\"class\":\"blocklyAngleMarks\",transform:\"rotate(\"+c+\",\"+module$exports$Blockly$FieldAngle.FieldAngle.HALF+\",\"+module$exports$Blockly$FieldAngle.FieldAngle.HALF+\")\"},a);this.clickWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(a,\"click\",this,this.hide_);this.clickSurfaceWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"click\",this,this.onMouseMove_,!0,!0);this.moveSurfaceWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\n\"mousemove\",this,this.onMouseMove_,!0,!0);this.editor_=a};\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.dropdownDispose_=function(){this.clickWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.clickWrapper_),this.clickWrapper_=null);this.clickSurfaceWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.clickSurfaceWrapper_),this.clickSurfaceWrapper_=null);this.moveSurfaceWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.moveSurfaceWrapper_),this.moveSurfaceWrapper_=null);this.line_=this.gauge_=null};\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.hide_=function(){module$exports$Blockly$DropDownDiv.DropDownDiv.hideIfOwner(this);(0,module$exports$Blockly$WidgetDiv.hide)()};\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.onMouseMove_=function(a){var b=this.gauge_.ownerSVGElement.getBoundingClientRect(),c=a.clientX-b.left-module$exports$Blockly$FieldAngle.FieldAngle.HALF;a=a.clientY-b.top-module$exports$Blockly$FieldAngle.FieldAngle.HALF;b=Math.atan(-a/c);isNaN(b)||(b=(0,module$exports$Blockly$utils$math.toDegrees)(b),0>c?b+=180:0<a&&(b+=360),b=this.clockwise_?this.offset_+360-b:360-(this.offset_-b),this.displayMouseOrKeyboardValue_(b))};\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.displayMouseOrKeyboardValue_=function(a){this.round_&&(a=Math.round(a/this.round_)*this.round_);a=this.wrapValue_(a);a!==this.value_&&this.setEditorValue_(a)};\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.updateGraph_=function(){if(this.gauge_){var a=Number(this.getText())+this.offset_,b=(0,module$exports$Blockly$utils$math.toRadians)(a%360);a=[\"M \",module$exports$Blockly$FieldAngle.FieldAngle.HALF,\",\",module$exports$Blockly$FieldAngle.FieldAngle.HALF];var c=module$exports$Blockly$FieldAngle.FieldAngle.HALF,d=module$exports$Blockly$FieldAngle.FieldAngle.HALF;if(!isNaN(b)){var e=Number(this.clockwise_),f=(0,module$exports$Blockly$utils$math.toRadians)(this.offset_),\ng=Math.cos(f)*module$exports$Blockly$FieldAngle.FieldAngle.RADIUS,h=Math.sin(f)*-module$exports$Blockly$FieldAngle.FieldAngle.RADIUS;e&&(b=2*f-b);c+=Math.cos(b)*module$exports$Blockly$FieldAngle.FieldAngle.RADIUS;d-=Math.sin(b)*module$exports$Blockly$FieldAngle.FieldAngle.RADIUS;b=Math.abs(Math.floor((b-f)/Math.PI)%2);e&&(b=1-b);a.push(\" l \",g,\",\",h,\" A \",module$exports$Blockly$FieldAngle.FieldAngle.RADIUS,\",\",module$exports$Blockly$FieldAngle.FieldAngle.RADIUS,\" 0 \",b,\" \",e,\" \",c,\",\",d,\" z\")}this.gauge_.setAttribute(\"d\",\na.join(\"\"));this.line_.setAttribute(\"x2\",c);this.line_.setAttribute(\"y2\",d)}};\nmodule$exports$Blockly$FieldAngle.FieldAngle.prototype.onHtmlInputKeyDown_=function(a){module$exports$Blockly$FieldAngle.FieldAngle.superClass_.onHtmlInputKeyDown_.call(this,a);var b;a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.LEFT?b=this.sourceBlock_.RTL?1:-1:a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.RIGHT?b=this.sourceBlock_.RTL?-1:1:a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.DOWN?b=-1:a.keyCode===module$exports$Blockly$utils$KeyCodes.KeyCodes.UP&&\n(b=1);if(b){var c=this.getValue();this.displayMouseOrKeyboardValue_(c+b*this.round_);a.preventDefault();a.stopPropagation()}};module$exports$Blockly$FieldAngle.FieldAngle.prototype.doClassValidation_=function(a){a=Number(a);return isNaN(a)||!isFinite(a)?null:this.wrapValue_(a)};module$exports$Blockly$FieldAngle.FieldAngle.prototype.wrapValue_=function(a){a%=360;0>a&&(a+=360);a>this.wrap_&&(a-=360);return a};(0,module$exports$Blockly$Css.register)(\"\\n .blocklyAngleCircle {\\n stroke: #444;\\n stroke-width: 1;\\n fill: #ddd;\\n fill-opacity: .8;\\n }\\n\\n .blocklyAngleMarks {\\n stroke: #444;\\n stroke-width: 1;\\n }\\n\\n .blocklyAngleGauge {\\n fill: #f88;\\n fill-opacity: .8;\\n pointer-events: none;\\n }\\n\\n .blocklyAngleLine {\\n stroke: #f00;\\n stroke-width: 2;\\n stroke-linecap: round;\\n pointer-events: none;\\n }\\n\");\n(0,module$exports$Blockly$fieldRegistry.register)(\"field_angle\",module$exports$Blockly$FieldAngle.FieldAngle);var module$exports$Blockly$zelos$TopRow={TopRow:function(a){module$exports$Blockly$zelos$TopRow.TopRow.superClass_.constructor.call(this,a)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$TopRow.TopRow,module$exports$Blockly$blockRendering$TopRow.TopRow);module$exports$Blockly$zelos$TopRow.TopRow.prototype.endsWithElemSpacer=function(){return!1};\nmodule$exports$Blockly$zelos$TopRow.TopRow.prototype.hasLeftSquareCorner=function(a){var b=(a.hat?\"cap\"===a.hat:this.constants_.ADD_START_HATS)&&!a.outputConnection&&!a.previousConnection;return!!a.outputConnection||b};module$exports$Blockly$zelos$TopRow.TopRow.prototype.hasRightSquareCorner=function(a){return!!a.outputConnection&&!a.statementInputCount&&!a.nextConnection};var module$exports$Blockly$zelos$StatementInput={StatementInput:function(a,b){module$exports$Blockly$zelos$StatementInput.StatementInput.superClass_.constructor.call(this,a,b);if(this.connectedBlock){for(a=this.connectedBlock;b=a.getNextBlock();)a=b;a.nextConnection||(this.height=this.connectedBlockHeight,this.connectedBottomNextConnection=!0)}}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$StatementInput.StatementInput,module$exports$Blockly$blockRendering$StatementInput.StatementInput);var module$exports$Blockly$zelos$RightConnectionShape={RightConnectionShape:function(a){module$exports$Blockly$zelos$RightConnectionShape.RightConnectionShape.superClass_.constructor.call(this,a);this.type|=module$exports$Blockly$blockRendering$Types.Types.getType(\"RIGHT_CONNECTION\");this.width=this.height=0}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$RightConnectionShape.RightConnectionShape,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$zelos$MarkerSvg={MarkerSvg:function(a,b,c){module$exports$Blockly$zelos$MarkerSvg.MarkerSvg.superClass_.constructor.call(this,a,b,c)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$MarkerSvg.MarkerSvg,module$exports$Blockly$blockRendering$MarkerSvg.MarkerSvg);\nmodule$exports$Blockly$zelos$MarkerSvg.MarkerSvg.prototype.showWithInputOutput_=function(a){var b=a.getSourceBlock();a=a.getLocation().getOffsetInBlock();this.positionCircle_(a.x,a.y);this.setParent_(b);this.showCurrent_()};module$exports$Blockly$zelos$MarkerSvg.MarkerSvg.prototype.showWithOutput_=function(a){this.showWithInputOutput_(a)};module$exports$Blockly$zelos$MarkerSvg.MarkerSvg.prototype.showWithInput_=function(a){this.showWithInputOutput_(a)};\nmodule$exports$Blockly$zelos$MarkerSvg.MarkerSvg.prototype.showWithBlock_=function(a){a=a.getLocation();var b=a.getHeightWidth();this.positionRect_(0,0,b.width,b.height);this.setParent_(a);this.showCurrent_()};module$exports$Blockly$zelos$MarkerSvg.MarkerSvg.prototype.positionCircle_=function(a,b){this.markerCircle_.setAttribute(\"cx\",a);this.markerCircle_.setAttribute(\"cy\",b);this.currentMarkerSvg=this.markerCircle_};\nmodule$exports$Blockly$zelos$MarkerSvg.MarkerSvg.prototype.hide=function(){module$exports$Blockly$zelos$MarkerSvg.MarkerSvg.superClass_.hide.call(this);this.markerCircle_.style.display=\"none\"};\nmodule$exports$Blockly$zelos$MarkerSvg.MarkerSvg.prototype.createDomInternal_=function(){module$exports$Blockly$zelos$MarkerSvg.MarkerSvg.superClass_.createDomInternal_.call(this);this.markerCircle_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CIRCLE,{r:this.constants_.CURSOR_RADIUS,style:\"display: none\",\"stroke-width\":this.constants_.CURSOR_STROKE_WIDTH},this.markerSvg_);if(this.isCursor()){var a=this.getBlinkProperties_();(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.ANIMATE,\na,this.markerCircle_)}return this.markerSvg_};module$exports$Blockly$zelos$MarkerSvg.MarkerSvg.prototype.applyColour_=function(a){module$exports$Blockly$zelos$MarkerSvg.MarkerSvg.superClass_.applyColour_.call(this,a);this.markerCircle_.setAttribute(\"fill\",this.colour_);this.markerCircle_.setAttribute(\"stroke\",this.colour_);this.isCursor()&&this.markerCircle_.firstChild.setAttribute(\"values\",this.colour_+\";transparent;transparent;\")};var module$exports$Blockly$zelos$ConstantProvider={ConstantProvider:function(){module$exports$Blockly$zelos$ConstantProvider.ConstantProvider.superClass_.constructor.call(this);this.SMALL_PADDING=this.GRID_UNIT=4;this.MEDIUM_PADDING=2*this.GRID_UNIT;this.MEDIUM_LARGE_PADDING=3*this.GRID_UNIT;this.LARGE_PADDING=4*this.GRID_UNIT;this.CORNER_RADIUS=1*this.GRID_UNIT;this.NOTCH_WIDTH=9*this.GRID_UNIT;this.NOTCH_HEIGHT=2*this.GRID_UNIT;this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT=3*this.GRID_UNIT;\nthis.MIN_BLOCK_WIDTH=2*this.GRID_UNIT;this.MIN_BLOCK_HEIGHT=12*this.GRID_UNIT;this.EMPTY_STATEMENT_INPUT_HEIGHT=6*this.GRID_UNIT;this.TAB_OFFSET_FROM_TOP=0;this.TOP_ROW_MIN_HEIGHT=this.CORNER_RADIUS;this.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT=this.LARGE_PADDING;this.BOTTOM_ROW_MIN_HEIGHT=this.CORNER_RADIUS;this.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT=6*this.GRID_UNIT;this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT;this.STATEMENT_INPUT_SPACER_MIN_WIDTH=40*this.GRID_UNIT;this.STATEMENT_INPUT_PADDING_LEFT=\n4*this.GRID_UNIT;this.EMPTY_INLINE_INPUT_PADDING=4*this.GRID_UNIT;this.EMPTY_INLINE_INPUT_HEIGHT=8*this.GRID_UNIT;this.DUMMY_INPUT_MIN_HEIGHT=8*this.GRID_UNIT;this.DUMMY_INPUT_SHADOW_MIN_HEIGHT=6*this.GRID_UNIT;this.CURSOR_WS_WIDTH=20*this.GRID_UNIT;this.CURSOR_COLOUR=\"#ffa200\";this.CURSOR_RADIUS=5;this.JAGGED_TEETH_WIDTH=this.JAGGED_TEETH_HEIGHT=0;this.START_HAT_HEIGHT=22;this.START_HAT_WIDTH=96;this.SHAPES={HEXAGONAL:1,ROUND:2,SQUARE:3,PUZZLE:4,NOTCH:5};this.SHAPE_IN_SHAPE_PADDING={1:{0:5*this.GRID_UNIT,\n1:2*this.GRID_UNIT,2:5*this.GRID_UNIT,3:5*this.GRID_UNIT},2:{0:3*this.GRID_UNIT,1:3*this.GRID_UNIT,2:1*this.GRID_UNIT,3:2*this.GRID_UNIT},3:{0:2*this.GRID_UNIT,1:2*this.GRID_UNIT,2:2*this.GRID_UNIT,3:2*this.GRID_UNIT}};this.FULL_BLOCK_FIELDS=!0;this.FIELD_TEXT_FONTSIZE=3*this.GRID_UNIT;this.FIELD_TEXT_FONTWEIGHT=\"bold\";this.FIELD_TEXT_FONTFAMILY='\"Helvetica Neue\", \"Segoe UI\", Helvetica, sans-serif';this.FIELD_BORDER_RECT_RADIUS=this.CORNER_RADIUS;this.FIELD_BORDER_RECT_X_PADDING=2*this.GRID_UNIT;\nthis.FIELD_BORDER_RECT_Y_PADDING=1.625*this.GRID_UNIT;this.FIELD_BORDER_RECT_HEIGHT=8*this.GRID_UNIT;this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=8*this.GRID_UNIT;this.FIELD_DROPDOWN_SVG_ARROW=this.FIELD_DROPDOWN_COLOURED_DIV=this.FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW=!0;this.FIELD_DROPDOWN_SVG_ARROW_PADDING=this.FIELD_BORDER_RECT_X_PADDING;this.FIELD_COLOUR_FULL_BLOCK=this.FIELD_TEXTINPUT_BOX_SHADOW=!0;this.FIELD_COLOUR_DEFAULT_WIDTH=2*this.GRID_UNIT;this.FIELD_COLOUR_DEFAULT_HEIGHT=4*this.GRID_UNIT;this.FIELD_CHECKBOX_X_OFFSET=\n1*this.GRID_UNIT;this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH=12*this.GRID_UNIT;this.SELECTED_GLOW_COLOUR=\"#fff200\";this.SELECTED_GLOW_SIZE=.5;this.REPLACEMENT_GLOW_COLOUR=\"#fff200\";this.REPLACEMENT_GLOW_SIZE=2;this.selectedGlowFilterId=\"\";this.selectedGlowFilter_=null;this.replacementGlowFilterId=\"\";this.replacementGlowFilter_=null}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$ConstantProvider.ConstantProvider,module$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider);\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.setFontConstants_=function(a){module$exports$Blockly$zelos$ConstantProvider.ConstantProvider.superClass_.setFontConstants_.call(this,a);this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=this.FIELD_BORDER_RECT_HEIGHT=this.FIELD_TEXT_HEIGHT+2*this.FIELD_BORDER_RECT_Y_PADDING};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.init=function(){module$exports$Blockly$zelos$ConstantProvider.ConstantProvider.superClass_.init.call(this);this.HEXAGONAL=this.makeHexagonal();this.ROUNDED=this.makeRounded();this.SQUARED=this.makeSquared();this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT+this.INSIDE_CORNERS.rightWidth};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.setDynamicProperties_=function(a){module$exports$Blockly$zelos$ConstantProvider.ConstantProvider.superClass_.setDynamicProperties_.call(this,a);this.SELECTED_GLOW_COLOUR=a.getComponentStyle(\"selectedGlowColour\")||this.SELECTED_GLOW_COLOUR;var b=Number(a.getComponentStyle(\"selectedGlowSize\"));this.SELECTED_GLOW_SIZE=b&&!isNaN(b)?b:this.SELECTED_GLOW_SIZE;this.REPLACEMENT_GLOW_COLOUR=a.getComponentStyle(\"replacementGlowColour\")||\nthis.REPLACEMENT_GLOW_COLOUR;this.REPLACEMENT_GLOW_SIZE=(a=Number(a.getComponentStyle(\"replacementGlowSize\")))&&!isNaN(a)?a:this.REPLACEMENT_GLOW_SIZE};module$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.dispose=function(){module$exports$Blockly$zelos$ConstantProvider.ConstantProvider.superClass_.dispose.call(this);this.selectedGlowFilter_&&(0,module$exports$Blockly$utils$dom.removeNode)(this.selectedGlowFilter_);this.replacementGlowFilter_&&(0,module$exports$Blockly$utils$dom.removeNode)(this.replacementGlowFilter_)};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.makeStartHat=function(){var a=this.START_HAT_HEIGHT,b=this.START_HAT_WIDTH,c=(0,module$exports$Blockly$utils$svgPaths.curve)(\"c\",[(0,module$exports$Blockly$utils$svgPaths.point)(25,-a),(0,module$exports$Blockly$utils$svgPaths.point)(71,-a),(0,module$exports$Blockly$utils$svgPaths.point)(b,0)]);return{height:a,width:b,path:c}};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.makeHexagonal=function(){function a(c,d,e){var f=c/2;f=f>b?b:f;e=e?-1:1;c=(d?-1:1)*c/2;return(0,module$exports$Blockly$utils$svgPaths.lineTo)(-e*f,c)+(0,module$exports$Blockly$utils$svgPaths.lineTo)(e*f,c)}var b=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH;return{type:this.SHAPES.HEXAGONAL,isDynamic:!0,width:function(c){c/=2;return c>b?b:c},height:function(c){return c},connectionOffsetY:function(c){return c/2},connectionOffsetX:function(c){return-c},\npathDown:function(c){return a(c,!1,!1)},pathUp:function(c){return a(c,!0,!1)},pathRightDown:function(c){return a(c,!1,!0)},pathRightUp:function(c){return a(c,!1,!0)}}};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.makeRounded=function(){function a(d,e,f){var g=d>c?d-c:0;d=(d>c?c:d)/2;return(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",d,(0,module$exports$Blockly$utils$svgPaths.point)((e?-1:1)*d,(e?-1:1)*d))+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",(f?1:-1)*g)+(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",d,(0,module$exports$Blockly$utils$svgPaths.point)((e?1:-1)*d,(e?-1:1)*d))}var b=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH,\nc=2*b;return{type:this.SHAPES.ROUND,isDynamic:!0,width:function(d){d/=2;return d>b?b:d},height:function(d){return d},connectionOffsetY:function(d){return d/2},connectionOffsetX:function(d){return-d},pathDown:function(d){return a(d,!1,!1)},pathUp:function(d){return a(d,!0,!1)},pathRightDown:function(d){return a(d,!1,!0)},pathRightUp:function(d){return a(d,!1,!0)}}};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.makeSquared=function(){function a(c,d,e){c-=2*b;return(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",b,(0,module$exports$Blockly$utils$svgPaths.point)((d?-1:1)*b,(d?-1:1)*b))+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",(e?1:-1)*c)+(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",b,(0,module$exports$Blockly$utils$svgPaths.point)((d?1:-1)*b,(d?-1:1)*b))}var b=this.CORNER_RADIUS;return{type:this.SHAPES.SQUARE,\nisDynamic:!0,width:function(c){return b},height:function(c){return c},connectionOffsetY:function(c){return c/2},connectionOffsetX:function(c){return-c},pathDown:function(c){return a(c,!1,!1)},pathUp:function(c){return a(c,!0,!1)},pathRightDown:function(c){return a(c,!1,!0)},pathRightUp:function(c){return a(c,!1,!0)}}};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.shapeFor=function(a){var b=a.getCheck();!b&&a.targetConnection&&(b=a.targetConnection.getCheck());switch(a.type){case $.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE:case $.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE:a=a.getSourceBlock().getOutputShape();if(null!==a)switch(a){case this.SHAPES.HEXAGONAL:return this.HEXAGONAL;case this.SHAPES.ROUND:return this.ROUNDED;case this.SHAPES.SQUARE:return this.SQUARED}if(b&&\n-1!==b.indexOf(\"Boolean\"))return this.HEXAGONAL;if(b&&-1!==b.indexOf(\"Number\"))return this.ROUNDED;b&&b.indexOf(\"String\");return this.ROUNDED;case $.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT:case $.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT:return this.NOTCH;default:throw Error(\"Unknown type\");}};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.makeNotch=function(){function a(l){return(0,module$exports$Blockly$utils$svgPaths.curve)(\"c\",[(0,module$exports$Blockly$utils$svgPaths.point)(l*e/2,0),(0,module$exports$Blockly$utils$svgPaths.point)(l*e*3/4,g/2),(0,module$exports$Blockly$utils$svgPaths.point)(l*e,g)])+(0,module$exports$Blockly$utils$svgPaths.line)([(0,module$exports$Blockly$utils$svgPaths.point)(l*e,f)])+(0,module$exports$Blockly$utils$svgPaths.curve)(\"c\",[(0,module$exports$Blockly$utils$svgPaths.point)(l*\ne/4,g/2),(0,module$exports$Blockly$utils$svgPaths.point)(l*e/2,g),(0,module$exports$Blockly$utils$svgPaths.point)(l*e,g)])+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",l*d)+(0,module$exports$Blockly$utils$svgPaths.curve)(\"c\",[(0,module$exports$Blockly$utils$svgPaths.point)(l*e/2,0),(0,module$exports$Blockly$utils$svgPaths.point)(l*e*3/4,-(g/2)),(0,module$exports$Blockly$utils$svgPaths.point)(l*e,-g)])+(0,module$exports$Blockly$utils$svgPaths.line)([(0,module$exports$Blockly$utils$svgPaths.point)(l*\ne,-f)])+(0,module$exports$Blockly$utils$svgPaths.curve)(\"c\",[(0,module$exports$Blockly$utils$svgPaths.point)(l*e/4,-(g/2)),(0,module$exports$Blockly$utils$svgPaths.point)(l*e/2,-g),(0,module$exports$Blockly$utils$svgPaths.point)(l*e,-g)])}var b=this.NOTCH_WIDTH,c=this.NOTCH_HEIGHT,d=b/3,e=d/3,f=c/2,g=f/2,h=a(1),k=a(-1);return{type:this.SHAPES.NOTCH,width:b,height:c,pathLeft:h,pathRight:k}};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.makeInsideCorners=function(){var a=this.CORNER_RADIUS,b=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,0\",a,(0,module$exports$Blockly$utils$svgPaths.point)(-a,a)),c=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",a,(0,module$exports$Blockly$utils$svgPaths.point)(-a,a)),d=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,0\",a,(0,module$exports$Blockly$utils$svgPaths.point)(a,a)),e=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\n\"0 0,1\",a,(0,module$exports$Blockly$utils$svgPaths.point)(a,a));return{width:a,height:a,pathTop:b,pathBottom:d,rightWidth:a,rightHeight:a,pathTopRight:c,pathBottomRight:e}};module$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.generateSecondaryColour_=function(a){return(0,module$exports$Blockly$utils$colour.blend)(\"#000\",a,.15)||a};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.generateTertiaryColour_=function(a){return(0,module$exports$Blockly$utils$colour.blend)(\"#000\",a,.25)||a};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.createDom=function(a,b,c){module$exports$Blockly$zelos$ConstantProvider.ConstantProvider.superClass_.createDom.call(this,a,b,c);a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.DEFS,{},a);b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FILTER,{id:\"blocklySelectedGlowFilter\"+this.randomIdentifier,height:\"160%\",width:\"180%\",y:\"-30%\",x:\"-40%\"},\na);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEGAUSSIANBLUR,{\"in\":\"SourceGraphic\",stdDeviation:this.SELECTED_GLOW_SIZE},b);c=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FECOMPONENTTRANSFER,{result:\"outBlur\"},b);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEFUNCA,{type:\"table\",tableValues:\"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\"},c);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEFLOOD,\n{\"flood-color\":this.SELECTED_GLOW_COLOUR,\"flood-opacity\":1,result:\"outColor\"},b);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FECOMPOSITE,{\"in\":\"outColor\",in2:\"outBlur\",operator:\"in\",result:\"outGlow\"},b);this.selectedGlowFilterId=b.id;this.selectedGlowFilter_=b;a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FILTER,{id:\"blocklyReplacementGlowFilter\"+this.randomIdentifier,height:\"160%\",width:\"180%\",y:\"-30%\",\nx:\"-40%\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEGAUSSIANBLUR,{\"in\":\"SourceGraphic\",stdDeviation:this.REPLACEMENT_GLOW_SIZE},a);b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FECOMPONENTTRANSFER,{result:\"outBlur\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEFUNCA,{type:\"table\",tableValues:\"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\"},b);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FEFLOOD,\n{\"flood-color\":this.REPLACEMENT_GLOW_COLOUR,\"flood-opacity\":1,result:\"outColor\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FECOMPOSITE,{\"in\":\"outColor\",in2:\"outBlur\",operator:\"in\",result:\"outGlow\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FECOMPOSITE,{\"in\":\"SourceGraphic\",in2:\"outGlow\",operator:\"over\"},a);this.replacementGlowFilterId=a.id;this.replacementGlowFilter_=a};\nmodule$exports$Blockly$zelos$ConstantProvider.ConstantProvider.prototype.getCSS_=function(a){return[a+\" .blocklyText,\",a+\" .blocklyFlyoutLabelText {\",\"font: \"+this.FIELD_TEXT_FONTWEIGHT+\" \"+this.FIELD_TEXT_FONTSIZE+\"pt \"+this.FIELD_TEXT_FONTFAMILY+\";\",\"}\",a+\" .blocklyText {\",\"fill: #fff;\",\"}\",a+\" .blocklyNonEditableText>rect:not(.blocklyDropdownRect),\",a+\" .blocklyEditableText>rect:not(.blocklyDropdownRect) {\",\"fill: \"+this.FIELD_BORDER_RECT_COLOUR+\";\",\"}\",a+\" .blocklyNonEditableText>text,\",a+\" .blocklyEditableText>text,\",\na+\" .blocklyNonEditableText>g>text,\",a+\" .blocklyEditableText>g>text {\",\"fill: #575E75;\",\"}\",a+\" .blocklyFlyoutLabelText {\",\"fill: #575E75;\",\"}\",a+\" .blocklyText.blocklyBubbleText {\",\"fill: #575E75;\",\"}\",a+\" .blocklyDraggable:not(.blocklyDisabled)\",\" .blocklyEditableText:not(.editing):hover>rect,\",a+\" .blocklyDraggable:not(.blocklyDisabled)\",\" .blocklyEditableText:not(.editing):hover>.blocklyPath {\",\"stroke: #fff;\",\"stroke-width: 2;\",\"}\",a+\" .blocklyHtmlInput {\",\"font-family: \"+this.FIELD_TEXT_FONTFAMILY+\n\";\",\"font-weight: \"+this.FIELD_TEXT_FONTWEIGHT+\";\",\"color: #575E75;\",\"}\",a+\" .blocklyDropdownText {\",\"fill: #fff !important;\",\"}\",a+\".blocklyWidgetDiv .goog-menuitem,\",a+\".blocklyDropDownDiv .goog-menuitem {\",\"font-family: \"+this.FIELD_TEXT_FONTFAMILY+\";\",\"}\",a+\".blocklyDropDownDiv .goog-menuitem-content {\",\"color: #fff;\",\"}\",a+\" .blocklyHighlightedConnectionPath {\",\"stroke: \"+this.SELECTED_GLOW_COLOUR+\";\",\"}\",a+\" .blocklyDisabled > .blocklyOutlinePath {\",\"fill: url(#blocklyDisabledPattern\"+this.randomIdentifier+\n\")\",\"}\",a+\" .blocklyInsertionMarker>.blocklyPath {\",\"fill-opacity: \"+this.INSERTION_MARKER_OPACITY+\";\",\"stroke: none;\",\"}\"]};var module$exports$Blockly$zelos$Drawer={Drawer:function(a,b){module$exports$Blockly$zelos$Drawer.Drawer.superClass_.constructor.call(this,a,b)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$Drawer.Drawer,module$exports$Blockly$blockRendering$Drawer.Drawer);\nmodule$exports$Blockly$zelos$Drawer.Drawer.prototype.draw=function(){var a=this.block_.pathObject;a.beginDrawing();this.hideHiddenIcons_();this.drawOutline_();this.drawInternals_();a.setPath(this.outlinePath_+\"\\n\"+this.inlinePath_);this.info_.RTL&&a.flipRTL();(0,module$exports$Blockly$blockRendering$debug.isDebuggerEnabled)()&&this.block_.renderingDebugger.drawDebug(this.block_,this.info_);this.recordSizeOnBlock_();this.info_.outputConnection&&(a.outputShapeType=this.info_.outputConnection.shape.type);\na.endDrawing()};module$exports$Blockly$zelos$Drawer.Drawer.prototype.drawOutline_=function(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape&&!this.info_.hasStatementInput&&!this.info_.bottomRow.hasNextConnection?(this.drawFlatTop_(),this.drawRightDynamicConnection_(),this.drawFlatBottom_(),this.drawLeftDynamicConnection_()):module$exports$Blockly$zelos$Drawer.Drawer.superClass_.drawOutline_.call(this)};\nmodule$exports$Blockly$zelos$Drawer.Drawer.prototype.drawLeft_=function(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape?this.drawLeftDynamicConnection_():module$exports$Blockly$zelos$Drawer.Drawer.superClass_.drawLeft_.call(this)};\nmodule$exports$Blockly$zelos$Drawer.Drawer.prototype.drawRightSideRow_=function(a){if(!(0>=a.height))if(a.precedesStatement||a.followsStatement){var b=this.constants_.INSIDE_CORNERS.rightHeight;b=a.height-(a.precedesStatement?b:0);this.outlinePath_+=(a.followsStatement?this.constants_.INSIDE_CORNERS.pathBottomRight:\"\")+(0<b?(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",a.yPos+b):\"\")+(a.precedesStatement?this.constants_.INSIDE_CORNERS.pathTopRight:\"\")}else this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",\na.yPos+a.height)};module$exports$Blockly$zelos$Drawer.Drawer.prototype.drawRightDynamicConnection_=function(){this.outlinePath_+=this.info_.outputConnection.shape.pathRightDown(this.info_.outputConnection.height)};module$exports$Blockly$zelos$Drawer.Drawer.prototype.drawLeftDynamicConnection_=function(){this.positionOutputConnection_();this.outlinePath_+=this.info_.outputConnection.shape.pathUp(this.info_.outputConnection.height);this.outlinePath_+=\"z\"};\nmodule$exports$Blockly$zelos$Drawer.Drawer.prototype.drawFlatTop_=function(){var a=this.info_.topRow;this.positionPreviousConnection_();this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.moveBy)(a.xPos,this.info_.startY);this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",a.width)};\nmodule$exports$Blockly$zelos$Drawer.Drawer.prototype.drawFlatBottom_=function(){var a=this.info_.bottomRow;this.positionNextConnection_();this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",a.baseline);this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",-a.width)};\nmodule$exports$Blockly$zelos$Drawer.Drawer.prototype.drawInlineInput_=function(a){this.positionInlineInputConnection_(a);var b=a.input.name;if(!a.connectedBlock&&!this.info_.isInsertionMarker){var c=a.width-2*a.connectionWidth;a=(0,module$exports$Blockly$utils$svgPaths.moveTo)(a.xPos+a.connectionWidth,a.centerline-a.height/2)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",c)+a.shape.pathRightDown(a.height)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",-c)+a.shape.pathUp(a.height)+\n\"z\";this.block_.pathObject.setOutlinePath(b,a)}};\nmodule$exports$Blockly$zelos$Drawer.Drawer.prototype.drawStatementInput_=function(a){var b=a.getLastInput(),c=b.xPos+b.notchOffset+b.shape.width,d=b.shape.pathRight+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",-(b.notchOffset-this.constants_.INSIDE_CORNERS.width))+this.constants_.INSIDE_CORNERS.pathTop,e=a.height-2*this.constants_.INSIDE_CORNERS.height;b=this.constants_.INSIDE_CORNERS.pathBottom+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",b.notchOffset-this.constants_.INSIDE_CORNERS.width)+\n(b.connectedBottomNextConnection?\"\":b.shape.pathLeft);this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",c)+d+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",e)+b+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",a.xPos+a.width);this.positionStatementInputConnection_(a)};var module$exports$Blockly$zelos$PathObject={PathObject:function(a,b,c){module$exports$Blockly$zelos$PathObject.PathObject.superClass_.constructor.call(this,a,b,c);this.constants=c;this.svgPathSelected_=null;this.outlines_=Object.create(null);this.outputShapeType=this.remainingOutlines_=null}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$PathObject.PathObject,module$exports$Blockly$blockRendering$PathObject.PathObject);\nmodule$exports$Blockly$zelos$PathObject.PathObject.prototype.setPath=function(a){module$exports$Blockly$zelos$PathObject.PathObject.superClass_.setPath.call(this,a);this.svgPathSelected_&&this.svgPathSelected_.setAttribute(\"d\",a)};\nmodule$exports$Blockly$zelos$PathObject.PathObject.prototype.applyColour=function(a){module$exports$Blockly$zelos$PathObject.PathObject.superClass_.applyColour.call(this,a);a.isShadow()&&a.getParent()&&this.svgPath.setAttribute(\"stroke\",a.getParent().style.colourTertiary);for(var b in this.outlines_)this.outlines_[b].setAttribute(\"fill\",this.style.colourTertiary)};\nmodule$exports$Blockly$zelos$PathObject.PathObject.prototype.flipRTL=function(){module$exports$Blockly$zelos$PathObject.PathObject.superClass_.flipRTL.call(this);for(var a in this.outlines_)this.outlines_[a].setAttribute(\"transform\",\"scale(-1 1)\")};\nmodule$exports$Blockly$zelos$PathObject.PathObject.prototype.updateSelected=function(a){this.setClass_(\"blocklySelected\",a);a?this.svgPathSelected_||(this.svgPathSelected_=this.svgPath.cloneNode(!0),this.svgPathSelected_.setAttribute(\"fill\",\"none\"),this.svgPathSelected_.setAttribute(\"filter\",\"url(#\"+this.constants.selectedGlowFilterId+\")\"),this.svgRoot.appendChild(this.svgPathSelected_)):this.svgPathSelected_&&(this.svgRoot.removeChild(this.svgPathSelected_),this.svgPathSelected_=null)};\nmodule$exports$Blockly$zelos$PathObject.PathObject.prototype.updateReplacementFade=function(a){this.setClass_(\"blocklyReplaceable\",a);a?this.svgPath.setAttribute(\"filter\",\"url(#\"+this.constants.replacementGlowFilterId+\")\"):this.svgPath.removeAttribute(\"filter\")};\nmodule$exports$Blockly$zelos$PathObject.PathObject.prototype.updateShapeForInputHighlight=function(a,b){a=a.getParentInput().name;(a=this.getOutlinePath_(a))&&(b?a.setAttribute(\"filter\",\"url(#\"+this.constants.replacementGlowFilterId+\")\"):a.removeAttribute(\"filter\"))};module$exports$Blockly$zelos$PathObject.PathObject.prototype.beginDrawing=function(){this.remainingOutlines_=Object.create(null);for(var a in this.outlines_)this.remainingOutlines_[a]=1};\nmodule$exports$Blockly$zelos$PathObject.PathObject.prototype.endDrawing=function(){if(this.remainingOutlines_)for(var a in this.remainingOutlines_)this.removeOutlinePath_(a);this.remainingOutlines_=null};module$exports$Blockly$zelos$PathObject.PathObject.prototype.setOutlinePath=function(a,b){a=this.getOutlinePath_(a);a.setAttribute(\"d\",b);a.setAttribute(\"fill\",this.style.colourTertiary)};\nmodule$exports$Blockly$zelos$PathObject.PathObject.prototype.getOutlinePath_=function(a){this.outlines_[a]||(this.outlines_[a]=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyOutlinePath\",d:\"\"},this.svgRoot));this.remainingOutlines_&&delete this.remainingOutlines_[a];return this.outlines_[a]};\nmodule$exports$Blockly$zelos$PathObject.PathObject.prototype.removeOutlinePath_=function(a){this.outlines_[a].parentNode.removeChild(this.outlines_[a]);delete this.outlines_[a]};var module$exports$Blockly$zelos$BottomRow={BottomRow:function(a){module$exports$Blockly$zelos$BottomRow.BottomRow.superClass_.constructor.call(this,a)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$BottomRow.BottomRow,module$exports$Blockly$blockRendering$BottomRow.BottomRow);module$exports$Blockly$zelos$BottomRow.BottomRow.prototype.endsWithElemSpacer=function(){return!1};module$exports$Blockly$zelos$BottomRow.BottomRow.prototype.hasLeftSquareCorner=function(a){return!!a.outputConnection};\nmodule$exports$Blockly$zelos$BottomRow.BottomRow.prototype.hasRightSquareCorner=function(a){return!!a.outputConnection&&!a.statementInputCount&&!a.nextConnection};$.module$exports$Blockly$FieldImage={FieldImage:function(a,b,c,d,e,f,g){if(!a)throw Error(\"Src value of an image field is required\");a=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a);c=Number((0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(c));b=Number((0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(b));if(isNaN(c)||isNaN(b))throw Error(\"Height and width values of an image field must cast to numbers.\");if(0>=c||0>=b)throw Error(\"Height and width values of an image field must be greater than 0.\");\nthis.flipRtl_=!1;this.altText_=\"\";$.module$exports$Blockly$FieldImage.FieldImage.superClass_.constructor.call(this,a,null,g);g||(this.flipRtl_=!!f,this.altText_=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(d)||\"\");this.size_=new module$exports$Blockly$utils$Size.Size(b,c+$.module$exports$Blockly$FieldImage.FieldImage.Y_PADDING);this.imageHeight_=c;this.clickHandler_=null;\"function\"===typeof e&&(this.clickHandler_=e);this.imageElement_=null}};\n(0,$.module$exports$Blockly$utils$object.inherits)($.module$exports$Blockly$FieldImage.FieldImage,module$exports$Blockly$Field.Field);$.module$exports$Blockly$FieldImage.FieldImage.prototype.DEFAULT_VALUE=\"\";$.module$exports$Blockly$FieldImage.FieldImage.fromJson=function(a){return new this(a.src,a.width,a.height,void 0,void 0,void 0,a)};$.module$exports$Blockly$FieldImage.FieldImage.Y_PADDING=1;$.module$exports$Blockly$FieldImage.FieldImage.prototype.EDITABLE=!1;\n$.module$exports$Blockly$FieldImage.FieldImage.prototype.isDirty_=!1;$.module$exports$Blockly$FieldImage.FieldImage.prototype.configure_=function(a){$.module$exports$Blockly$FieldImage.FieldImage.superClass_.configure_.call(this,a);this.flipRtl_=!!a.flipRtl;this.altText_=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a.alt)||\"\"};\n$.module$exports$Blockly$FieldImage.FieldImage.prototype.initView=function(){this.imageElement_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.IMAGE,{height:this.imageHeight_+\"px\",width:this.size_.width+\"px\",alt:this.altText_},this.fieldGroup_);this.imageElement_.setAttributeNS(module$exports$Blockly$utils$dom.XLINK_NS,\"xlink:href\",this.value_);this.clickHandler_&&(this.imageElement_.style.cursor=\"pointer\")};\n$.module$exports$Blockly$FieldImage.FieldImage.prototype.updateSize_=function(){};$.module$exports$Blockly$FieldImage.FieldImage.prototype.doClassValidation_=function(a){return\"string\"!==typeof a?null:a};$.module$exports$Blockly$FieldImage.FieldImage.prototype.doValueUpdate_=function(a){this.value_=a;this.imageElement_&&this.imageElement_.setAttributeNS(module$exports$Blockly$utils$dom.XLINK_NS,\"xlink:href\",String(this.value_))};\n$.module$exports$Blockly$FieldImage.FieldImage.prototype.getFlipRtl=function(){return this.flipRtl_};$.module$exports$Blockly$FieldImage.FieldImage.prototype.setAlt=function(a){a!==this.altText_&&(this.altText_=a||\"\",this.imageElement_&&this.imageElement_.setAttribute(\"alt\",this.altText_))};$.module$exports$Blockly$FieldImage.FieldImage.prototype.showEditor_=function(){this.clickHandler_&&this.clickHandler_(this)};\n$.module$exports$Blockly$FieldImage.FieldImage.prototype.setOnClickHandler=function(a){this.clickHandler_=a};$.module$exports$Blockly$FieldImage.FieldImage.prototype.getText_=function(){return this.altText_};(0,module$exports$Blockly$fieldRegistry.register)(\"field_image\",$.module$exports$Blockly$FieldImage.FieldImage);var module$exports$Blockly$zelos$RenderInfo={RenderInfo:function(a,b){module$exports$Blockly$zelos$RenderInfo.RenderInfo.superClass_.constructor.call(this,a,b);this.topRow=new module$exports$Blockly$zelos$TopRow.TopRow(this.constants_);this.bottomRow=new module$exports$Blockly$zelos$BottomRow.BottomRow(this.constants_);this.isInline=!0;this.isMultiRow=!b.getInputsInline()||b.isCollapsed();this.hasStatementInput=0<b.statementInputCount;this.rightSide=this.outputConnection?new module$exports$Blockly$zelos$RightConnectionShape.RightConnectionShape(this.constants_):\nnull}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$RenderInfo.RenderInfo,module$exports$Blockly$blockRendering$RenderInfo.RenderInfo);module$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.getRenderer=function(){return this.renderer_};module$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.measure=function(){this.createRows_();this.addElemSpacing_();this.addRowSpacing_();this.adjustXPosition_();this.computeBounds_();this.alignRowElements_();this.finalize_()};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.shouldStartNewRow_=function(a,b){return b?a.type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT||b.type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT?!0:a.type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE||a.type===$.module$exports$Blockly$inputTypes.inputTypes.DUMMY?!this.isInline||this.isMultiRow:!1:!1};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.getDesiredRowWidth_=function(a){return a.hasStatement?this.width-this.startX-(this.constants_.INSIDE_CORNERS.rightWidth||0):module$exports$Blockly$zelos$RenderInfo.RenderInfo.superClass_.getDesiredRowWidth_.call(this,a)};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.getInRowSpacing_=function(a,b){return a&&b||!this.outputConnection||!this.outputConnection.isDynamicShape||this.hasStatementInput||this.bottomRow.hasNextConnection?!a&&b&&module$exports$Blockly$blockRendering$Types.Types.isStatementInput(b)?this.constants_.STATEMENT_INPUT_PADDING_LEFT:a&&module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(a)&&b&&(module$exports$Blockly$blockRendering$Types.Types.isPreviousConnection(b)||\nmodule$exports$Blockly$blockRendering$Types.Types.isNextConnection(b))?b.notchOffset-this.constants_.CORNER_RADIUS:a&&module$exports$Blockly$blockRendering$Types.Types.isLeftSquareCorner(a)&&b&&module$exports$Blockly$blockRendering$Types.Types.isHat(b)?this.constants_.NO_PADDING:this.constants_.MEDIUM_PADDING:this.constants_.NO_PADDING};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.getSpacerRowHeight_=function(a,b){if(module$exports$Blockly$blockRendering$Types.Types.isTopRow(a)&&module$exports$Blockly$blockRendering$Types.Types.isBottomRow(b))return this.constants_.EMPTY_BLOCK_SPACER_HEIGHT;var c=module$exports$Blockly$blockRendering$Types.Types.isInputRow(a)&&a.hasStatement,d=module$exports$Blockly$blockRendering$Types.Types.isInputRow(b)&&b.hasStatement;return d||c?(a=Math.max(this.constants_.NOTCH_HEIGHT,this.constants_.INSIDE_CORNERS.rightHeight||\n0),d&&c?Math.max(a,this.constants_.DUMMY_INPUT_MIN_HEIGHT):a):module$exports$Blockly$blockRendering$Types.Types.isTopRow(a)?a.hasPreviousConnection||this.outputConnection&&!this.hasStatementInput?this.constants_.NO_PADDING:Math.abs(this.constants_.NOTCH_HEIGHT-this.constants_.CORNER_RADIUS):module$exports$Blockly$blockRendering$Types.Types.isBottomRow(b)?this.outputConnection?!b.hasNextConnection&&this.hasStatementInput?Math.abs(this.constants_.NOTCH_HEIGHT-this.constants_.CORNER_RADIUS):this.constants_.NO_PADDING:\nMath.max(this.topRow.minHeight,Math.max(this.constants_.NOTCH_HEIGHT,this.constants_.CORNER_RADIUS))-this.constants_.CORNER_RADIUS:this.constants_.MEDIUM_PADDING};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.getSpacerRowWidth_=function(a,b){var c=this.width-this.startX;return module$exports$Blockly$blockRendering$Types.Types.isInputRow(a)&&a.hasStatement||module$exports$Blockly$blockRendering$Types.Types.isInputRow(b)&&b.hasStatement?Math.max(c,this.constants_.STATEMENT_INPUT_SPACER_MIN_WIDTH):c};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.getElemCenterline_=function(a,b){if(a.hasStatement&&!module$exports$Blockly$blockRendering$Types.Types.isSpacer(b)&&!module$exports$Blockly$blockRendering$Types.Types.isStatementInput(b))return a.yPos+this.constants_.EMPTY_STATEMENT_INPUT_HEIGHT/2;if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(b)){var c=b.connectedBlock;if(c&&c.outputConnection&&c.nextConnection)return a.yPos+c.height/2}return module$exports$Blockly$zelos$RenderInfo.RenderInfo.superClass_.getElemCenterline_.call(this,\na,b)};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.addInput_=function(a,b){if(a.type===$.module$exports$Blockly$inputTypes.inputTypes.DUMMY&&b.hasDummyInput&&b.align===$.module$exports$Blockly$Input.Align.LEFT&&a.align===$.module$exports$Blockly$Input.Align.RIGHT)b.rightAlignedDummyInput=a;else if(a.type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT){b.elements.push(new module$exports$Blockly$zelos$StatementInput.StatementInput(this.constants_,a));b.hasStatement=!0;null===b.align&&\n(b.align=a.align);return}module$exports$Blockly$zelos$RenderInfo.RenderInfo.superClass_.addInput_.call(this,a,b)};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.addAlignmentPadding_=function(a,b){if(a.rightAlignedDummyInput){for(var c,d=0;d<a.elements.length;d++){var e=a.elements[d];module$exports$Blockly$blockRendering$Types.Types.isSpacer(e)&&(c=e);if(module$exports$Blockly$blockRendering$Types.Types.isField(e)&&e.parentInput===a.rightAlignedDummyInput)break}if(c){c.width+=b;a.width+=b;return}}module$exports$Blockly$zelos$RenderInfo.RenderInfo.superClass_.addAlignmentPadding_.call(this,a,b)};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.adjustXPosition_=function(){for(var a=this.constants_.NOTCH_OFFSET_LEFT+this.constants_.NOTCH_WIDTH,b=a,c=2;c<this.rows.length-1;c+=2){var d=this.rows[c-1],e=this.rows[c],f=this.rows[c+1];d=2===c?!!this.topRow.hasPreviousConnection:!!d.followsStatement;f=c+2>=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!f.precedesStatement;if(module$exports$Blockly$blockRendering$Types.Types.isInputRow(e)&&e.hasStatement)e.measure(),b=e.width-\ne.getLastInput().width+a;else if(d&&(2===c||f)&&module$exports$Blockly$blockRendering$Types.Types.isInputRow(e)&&!e.hasStatement){f=e.xPos;d=null;for(var g=0;g<e.elements.length;g++){var h=e.elements[g];module$exports$Blockly$blockRendering$Types.Types.isSpacer(h)&&(d=h);!(d&&(module$exports$Blockly$blockRendering$Types.Types.isField(h)||module$exports$Blockly$blockRendering$Types.Types.isInput(h))&&f<b)||module$exports$Blockly$blockRendering$Types.Types.isField(h)&&(h.field instanceof $.module$exports$Blockly$FieldLabel.FieldLabel||\nh.field instanceof $.module$exports$Blockly$FieldImage.FieldImage)||(d.width+=b-f);f+=h.width}}}};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.finalizeOutputConnection_=function(){if(this.outputConnection&&this.outputConnection.isDynamicShape){for(var a=0,b=0;b<this.rows.length;b++){var c=this.rows[b];c.yPos=a;a+=c.height}this.height=a;b=this.bottomRow.hasNextConnection?this.height-this.bottomRow.descenderHeight:this.height;a=this.outputConnection.shape.height(b);b=this.outputConnection.shape.width(b);this.outputConnection.height=a;this.outputConnection.width=b;this.outputConnection.startX=\nb;this.outputConnection.connectionOffsetY=this.outputConnection.shape.connectionOffsetY(a);this.outputConnection.connectionOffsetX=this.outputConnection.shape.connectionOffsetX(b);c=0;this.hasStatementInput||this.bottomRow.hasNextConnection||(c=b,this.rightSide.height=a,this.rightSide.width=c,this.rightSide.centerline=a/2,this.rightSide.xPos=this.width+c);this.startX=b;this.width+=b+c;this.widthWithChildren+=b+c}};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.finalizeHorizontalAlignment_=function(){if(this.outputConnection&&!this.hasStatementInput&&!this.bottomRow.hasNextConnection){for(var a=0,b=0;b<this.rows.length;b++){var c=this.rows[b];if(module$exports$Blockly$blockRendering$Types.Types.isInputRow(c)){a=c.elements[c.elements.length-2];var d=this.getNegativeSpacing_(c.elements[1]),e=this.getNegativeSpacing_(a);a=d+e;var f=this.constants_.MIN_BLOCK_WIDTH+2*this.outputConnection.width;this.width-\na<f&&(a=this.width-f,d=a/2,e=a/2);c.elements.unshift(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,-d));c.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,-e))}}if(a)for(this.width-=a,this.widthWithChildren-=a,this.rightSide.xPos-=a,b=0;b<this.rows.length;b++)c=this.rows[b],module$exports$Blockly$blockRendering$Types.Types.isTopOrBottomRow(c)&&(c.elements[1].width-=a,c.elements[1].widthWithConnectedBlocks-=a),c.width-=\na,c.widthWithConnectedBlocks-=a}};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.getNegativeSpacing_=function(a){if(!a)return 0;var b=this.outputConnection.width,c=this.outputConnection.shape.type,d=this.constants_;if(this.isMultiRow&&1<this.inputRows.length)switch(c){case d.SHAPES.ROUND:return c=this.constants_.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH,c=this.height/2>c?c:this.height/2,b-c*(1-Math.sin(Math.acos((c-this.constants_.SMALL_PADDING)/c)));default:return 0}if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(a)){var e=a.connectedBlock;\na=e?e.pathObject.outputShapeType:a.shape.type;return e&&e.outputConnection&&(e.statementInputCount||e.nextConnection)||c===d.SHAPES.HEXAGONAL&&c!==a?0:b-this.constants_.SHAPE_IN_SHAPE_PADDING[c][a]}return module$exports$Blockly$blockRendering$Types.Types.isField(a)?c===d.SHAPES.ROUND&&a.field instanceof $.module$exports$Blockly$FieldTextInput.FieldTextInput?b-2.75*d.GRID_UNIT:b-this.constants_.SHAPE_IN_SHAPE_PADDING[c][0]:module$exports$Blockly$blockRendering$Types.Types.isIcon(a)?this.constants_.SMALL_PADDING:\n0};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.finalizeVerticalAlignment_=function(){if(!this.outputConnection)for(var a=2;a<this.rows.length-1;a+=2){var b=this.rows[a-1],c=this.rows[a],d=this.rows[a+1],e=2===a,f=a+2>=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!d.precedesStatement;if(e?this.topRow.hasPreviousConnection:b.followsStatement){var g=3===c.elements.length&&(c.elements[1].field instanceof $.module$exports$Blockly$FieldLabel.FieldLabel||c.elements[1].field instanceof $.module$exports$Blockly$FieldImage.FieldImage);\nif(!e&&g)b.height-=this.constants_.SMALL_PADDING,d.height-=this.constants_.SMALL_PADDING,c.height-=this.constants_.MEDIUM_PADDING;else if(!e&&!f)b.height+=this.constants_.SMALL_PADDING;else if(f){e=!1;for(f=0;f<c.elements.length;f++)if(g=c.elements[f],module$exports$Blockly$blockRendering$Types.Types.isInlineInput(g)&&g.connectedBlock&&!g.connectedBlock.isShadow()&&40<=g.connectedBlock.getHeightWidth().height){e=!0;break}e&&(b.height-=this.constants_.SMALL_PADDING,d.height-=this.constants_.SMALL_PADDING)}}}};\nmodule$exports$Blockly$zelos$RenderInfo.RenderInfo.prototype.finalize_=function(){this.finalizeOutputConnection_();this.finalizeHorizontalAlignment_();this.finalizeVerticalAlignment_();module$exports$Blockly$zelos$RenderInfo.RenderInfo.superClass_.finalize_.call(this);this.rightSide&&(this.widthWithChildren+=this.rightSide.width)};var module$exports$Blockly$zelos$Renderer={Renderer:function(a){module$exports$Blockly$zelos$Renderer.Renderer.superClass_.constructor.call(this,a)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$zelos$Renderer.Renderer,module$exports$Blockly$blockRendering$Renderer.Renderer);module$exports$Blockly$zelos$Renderer.Renderer.prototype.makeConstants_=function(){return new module$exports$Blockly$zelos$ConstantProvider.ConstantProvider};\nmodule$exports$Blockly$zelos$Renderer.Renderer.prototype.makeRenderInfo_=function(a){return new module$exports$Blockly$zelos$RenderInfo.RenderInfo(this,a)};module$exports$Blockly$zelos$Renderer.Renderer.prototype.makeDrawer_=function(a,b){return new module$exports$Blockly$zelos$Drawer.Drawer(a,b)};module$exports$Blockly$zelos$Renderer.Renderer.prototype.makeMarkerDrawer=function(a,b){return new module$exports$Blockly$zelos$MarkerSvg.MarkerSvg(a,this.getConstants(),b)};\nmodule$exports$Blockly$zelos$Renderer.Renderer.prototype.makePathObject=function(a,b){return new module$exports$Blockly$zelos$PathObject.PathObject(a,b,this.getConstants())};module$exports$Blockly$zelos$Renderer.Renderer.prototype.shouldHighlightConnection=function(a){return a.type!==$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE&&a.type!==$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE};\nmodule$exports$Blockly$zelos$Renderer.Renderer.prototype.getConnectionPreviewMethod=function(a,b,c){return b.type===$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE?a.isConnected()?module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.PREVIEW_TYPE.REPLACEMENT_FADE:module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager.PREVIEW_TYPE.INPUT_OUTLINE:module$exports$Blockly$zelos$Renderer.Renderer.superClass_.getConnectionPreviewMethod(a,b,c)};\n(0,module$exports$Blockly$blockRendering.register)(\"zelos\",module$exports$Blockly$zelos$Renderer.Renderer);var module$exports$Blockly$zelos={};module$exports$Blockly$zelos.BottomRow=module$exports$Blockly$zelos$BottomRow.BottomRow;module$exports$Blockly$zelos.ConstantProvider=module$exports$Blockly$zelos$ConstantProvider.ConstantProvider;module$exports$Blockly$zelos.Drawer=module$exports$Blockly$zelos$Drawer.Drawer;module$exports$Blockly$zelos.MarkerSvg=module$exports$Blockly$zelos$MarkerSvg.MarkerSvg;module$exports$Blockly$zelos.PathObject=module$exports$Blockly$zelos$PathObject.PathObject;\nmodule$exports$Blockly$zelos.RenderInfo=module$exports$Blockly$zelos$RenderInfo.RenderInfo;module$exports$Blockly$zelos.Renderer=module$exports$Blockly$zelos$Renderer.Renderer;module$exports$Blockly$zelos.RightConnectionShape=module$exports$Blockly$zelos$RightConnectionShape.RightConnectionShape;module$exports$Blockly$zelos.StatementInput=module$exports$Blockly$zelos$StatementInput.StatementInput;module$exports$Blockly$zelos.TopRow=module$exports$Blockly$zelos$TopRow.TopRow;var module$exports$Blockly$thrasos$RenderInfo={RenderInfo:function(a,b){module$exports$Blockly$thrasos$RenderInfo.RenderInfo.superClass_.constructor.call(this,a,b)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$thrasos$RenderInfo.RenderInfo,module$exports$Blockly$blockRendering$RenderInfo.RenderInfo);module$exports$Blockly$thrasos$RenderInfo.RenderInfo.prototype.getRenderer=function(){return this.renderer_};\nmodule$exports$Blockly$thrasos$RenderInfo.RenderInfo.prototype.addElemSpacing_=function(){for(var a=!1,b=0;b<this.rows.length;b++)if(this.rows[b].hasExternalInput){a=!0;break}for(b=0;b<this.rows.length;b++){var c=this.rows[b],d=c.elements;c.elements=[];c.startsWithElemSpacer()&&c.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,this.getInRowSpacing_(null,d[0])));for(var e=0;e<d.length-1;e++){c.elements.push(d[e]);var f=this.getInRowSpacing_(d[e],d[e+\n1]);c.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,f))}c.elements.push(d[d.length-1]);c.endsWithElemSpacer()&&(d=this.getInRowSpacing_(d[d.length-1],null),a&&c.hasDummyInput&&(d+=this.constants_.TAB_WIDTH),c.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,d)))}};\nmodule$exports$Blockly$thrasos$RenderInfo.RenderInfo.prototype.getInRowSpacing_=function(a,b){if(!a)return b&&module$exports$Blockly$blockRendering$Types.Types.isField(b)&&b.isEditable?this.constants_.MEDIUM_PADDING:b&&module$exports$Blockly$blockRendering$Types.Types.isInlineInput(b)?this.constants_.MEDIUM_LARGE_PADDING:b&&module$exports$Blockly$blockRendering$Types.Types.isStatementInput(b)?this.constants_.STATEMENT_INPUT_PADDING_LEFT:this.constants_.LARGE_PADDING;if(!module$exports$Blockly$blockRendering$Types.Types.isInput(a)&&\n!b)return module$exports$Blockly$blockRendering$Types.Types.isField(a)&&a.isEditable?this.constants_.MEDIUM_PADDING:module$exports$Blockly$blockRendering$Types.Types.isIcon(a)?2*this.constants_.LARGE_PADDING+1:module$exports$Blockly$blockRendering$Types.Types.isHat(a)?this.constants_.NO_PADDING:module$exports$Blockly$blockRendering$Types.Types.isPreviousOrNextConnection(a)?this.constants_.LARGE_PADDING:module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(a)?this.constants_.MIN_BLOCK_WIDTH:\nmodule$exports$Blockly$blockRendering$Types.Types.isJaggedEdge(a)?this.constants_.NO_PADDING:this.constants_.LARGE_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isInput(a)&&!b){if(module$exports$Blockly$blockRendering$Types.Types.isExternalInput(a))return this.constants_.NO_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(a))return this.constants_.LARGE_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isStatementInput(a))return this.constants_.NO_PADDING}if(!module$exports$Blockly$blockRendering$Types.Types.isInput(a)&&\nb&&module$exports$Blockly$blockRendering$Types.Types.isInput(b)){if(module$exports$Blockly$blockRendering$Types.Types.isField(a)&&a.isEditable){if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(b)||module$exports$Blockly$blockRendering$Types.Types.isExternalInput(b))return this.constants_.SMALL_PADDING}else{if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(b)||module$exports$Blockly$blockRendering$Types.Types.isExternalInput(b))return this.constants_.MEDIUM_LARGE_PADDING;\nif(module$exports$Blockly$blockRendering$Types.Types.isStatementInput(b))return this.constants_.LARGE_PADDING}return this.constants_.LARGE_PADDING-1}if(module$exports$Blockly$blockRendering$Types.Types.isIcon(a)&&b&&!module$exports$Blockly$blockRendering$Types.Types.isInput(b))return this.constants_.LARGE_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(a)&&b&&module$exports$Blockly$blockRendering$Types.Types.isField(b))return b.isEditable?this.constants_.MEDIUM_PADDING:\nthis.constants_.LARGE_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isLeftSquareCorner(a)&&b){if(module$exports$Blockly$blockRendering$Types.Types.isHat(b))return this.constants_.NO_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isPreviousConnection(b)||module$exports$Blockly$blockRendering$Types.Types.isNextConnection(b))return b.notchOffset}return module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(a)&&b?b.notchOffset-this.constants_.CORNER_RADIUS:\nmodule$exports$Blockly$blockRendering$Types.Types.isField(a)&&b&&module$exports$Blockly$blockRendering$Types.Types.isField(b)&&a.isEditable===b.isEditable||b&&module$exports$Blockly$blockRendering$Types.Types.isJaggedEdge(b)?this.constants_.LARGE_PADDING:this.constants_.MEDIUM_PADDING};\nmodule$exports$Blockly$thrasos$RenderInfo.RenderInfo.prototype.getSpacerRowHeight_=function(a,b){return module$exports$Blockly$blockRendering$Types.Types.isTopRow(a)&&module$exports$Blockly$blockRendering$Types.Types.isBottomRow(b)?this.constants_.EMPTY_BLOCK_SPACER_HEIGHT:module$exports$Blockly$blockRendering$Types.Types.isTopRow(a)||module$exports$Blockly$blockRendering$Types.Types.isBottomRow(b)?this.constants_.NO_PADDING:a.hasExternalInput&&b.hasExternalInput?this.constants_.LARGE_PADDING:!a.hasStatement&&\nb.hasStatement?this.constants_.BETWEEN_STATEMENT_PADDING_Y:a.hasStatement&&b.hasStatement||a.hasDummyInput||b.hasDummyInput?this.constants_.LARGE_PADDING:this.constants_.MEDIUM_PADDING};\nmodule$exports$Blockly$thrasos$RenderInfo.RenderInfo.prototype.getElemCenterline_=function(a,b){if(module$exports$Blockly$blockRendering$Types.Types.isSpacer(b))return a.yPos+b.height/2;if(module$exports$Blockly$blockRendering$Types.Types.isBottomRow(a))return a=a.yPos+a.height-a.descenderHeight,module$exports$Blockly$blockRendering$Types.Types.isNextConnection(b)?a+b.height/2:a-b.height/2;if(module$exports$Blockly$blockRendering$Types.Types.isTopRow(a))return module$exports$Blockly$blockRendering$Types.Types.isHat(b)?\na.capline-b.height/2:a.capline+b.height/2;var c=a.yPos;return c=module$exports$Blockly$blockRendering$Types.Types.isField(b)&&a.hasStatement?c+(this.constants_.TALL_INPUT_FIELD_OFFSET_Y+b.height/2):c+a.height/2};\nmodule$exports$Blockly$thrasos$RenderInfo.RenderInfo.prototype.finalize_=function(){for(var a=0,b=0,c=0;c<this.rows.length;c++){var d=this.rows[c];d.yPos=b;d.xPos=this.startX;b+=d.height;a=Math.max(a,d.widthWithConnectedBlocks);var e=b-this.topRow.ascenderHeight;d===this.bottomRow&&e<this.constants_.MIN_BLOCK_HEIGHT&&(e=this.constants_.MIN_BLOCK_HEIGHT-e,this.bottomRow.height+=e,b+=e);this.recordElemPositions_(d)}this.outputConnection&&this.block_.nextConnection&&this.block_.nextConnection.isConnected()&&\n(a=Math.max(a,this.block_.nextConnection.targetBlock().getHeightWidth().width));this.bottomRow.baseline=b-this.bottomRow.descenderHeight;this.widthWithChildren=a+this.startX;this.height=b;this.startY=this.topRow.capline};var module$exports$Blockly$thrasos$Renderer={Renderer:function(a){module$exports$Blockly$thrasos$Renderer.Renderer.superClass_.constructor.call(this,a)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$thrasos$Renderer.Renderer,module$exports$Blockly$blockRendering$Renderer.Renderer);module$exports$Blockly$thrasos$Renderer.Renderer.prototype.makeRenderInfo_=function(a){return new module$exports$Blockly$thrasos$RenderInfo.RenderInfo(this,a)};\n(0,module$exports$Blockly$blockRendering.register)(\"thrasos\",module$exports$Blockly$thrasos$Renderer.Renderer);var module$exports$Blockly$thrasos={};module$exports$Blockly$thrasos.RenderInfo=module$exports$Blockly$thrasos$RenderInfo.RenderInfo;module$exports$Blockly$thrasos.Renderer=module$exports$Blockly$thrasos$Renderer.Renderer;var module$exports$Blockly$serialization$workspaces={save:function(a){var b=Object.create(null),c=(0,module$exports$Blockly$registry.getAllItems)(module$exports$Blockly$registry.Type.SERIALIZER,!0),d;for(d in c){var e=c[d].save(a);e&&(b[d]=e)}return b},load:function(a,b,c){c=void 0===c?{}:c;var d=void 0===c.recordUndo?!1:c.recordUndo;if(c=(0,module$exports$Blockly$registry.getAllItems)(module$exports$Blockly$registry.Type.SERIALIZER,!0)){var e=Object.entries(c).sort(function(h,k){return k[1].priority-\nh[1].priority});c=(0,module$exports$Blockly$Events$utils.getRecordUndo)();(0,module$exports$Blockly$Events$utils.setRecordUndo)(d);(d=(0,module$exports$Blockly$Events$utils.getGroup)())||(0,module$exports$Blockly$Events$utils.setGroup)(!0);(0,module$exports$Blockly$utils$dom.startTextWidthCache)();b.setResizesEnabled&&b.setResizesEnabled(!1);for(var f=$jscomp.makeIterator(e.reverse()),g=f.next();!g.done;g=f.next())g=$jscomp.makeIterator(g.value),g.next(),g.next().value.clear(b);e=$jscomp.makeIterator(e.reverse());\nfor(f=e.next();!f.done;f=e.next())g=$jscomp.makeIterator(f.value),f=g.next().value,g=g.next().value,a[f]&&g.load(a[f],b);b.setResizesEnabled&&b.setResizesEnabled(!0);(0,module$exports$Blockly$utils$dom.stopTextWidthCache)();(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.FINISHED_LOADING))(b));(0,module$exports$Blockly$Events$utils.setGroup)(d);(0,module$exports$Blockly$Events$utils.setRecordUndo)(c)}}};var module$exports$Blockly$serialization$variables={},module$contents$Blockly$serialization$variables_VariableSerializer=function(){this.priority=module$exports$Blockly$serialization$priorities.VARIABLES};module$contents$Blockly$serialization$variables_VariableSerializer.prototype.save=function(a){var b=[];a=$jscomp.makeIterator(a.getAllVariables());for(var c=a.next();!c.done;c=a.next()){c=c.value;var d={name:c.name,id:c.getId()};c.type&&(d.type=c.type);b.push(d)}return b.length?b:null};\nmodule$contents$Blockly$serialization$variables_VariableSerializer.prototype.load=function(a,b){a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())c=c.value,b.createVariable(c.name,c.type,c.id)};module$contents$Blockly$serialization$variables_VariableSerializer.prototype.clear=function(a){a.getVariableMap().clear()};(0,module$exports$Blockly$serialization$registry.register)(\"variables\",new module$contents$Blockly$serialization$variables_VariableSerializer);var module$exports$Blockly$minimalist$ConstantProvider={ConstantProvider:function(){module$exports$Blockly$minimalist$ConstantProvider.ConstantProvider.superClass_.constructor.call(this)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$minimalist$ConstantProvider.ConstantProvider,module$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider);var module$exports$Blockly$minimalist$Drawer={Drawer:function(a,b){module$exports$Blockly$minimalist$Drawer.Drawer.superClass_.constructor.call(this,a,b)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$minimalist$Drawer.Drawer,module$exports$Blockly$blockRendering$Drawer.Drawer);var module$exports$Blockly$minimalist$RenderInfo={RenderInfo:function(a,b){module$exports$Blockly$minimalist$RenderInfo.RenderInfo.superClass_.constructor.call(this,a,b)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$minimalist$RenderInfo.RenderInfo,module$exports$Blockly$blockRendering$RenderInfo.RenderInfo);module$exports$Blockly$minimalist$RenderInfo.RenderInfo.prototype.getRenderer=function(){return this.renderer_};var module$exports$Blockly$minimalist$Renderer={Renderer:function(a){module$exports$Blockly$minimalist$Renderer.Renderer.superClass_.constructor.call(this,a)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$minimalist$Renderer.Renderer,module$exports$Blockly$blockRendering$Renderer.Renderer);module$exports$Blockly$minimalist$Renderer.Renderer.prototype.makeConstants_=function(){return new module$exports$Blockly$minimalist$ConstantProvider.ConstantProvider};\nmodule$exports$Blockly$minimalist$Renderer.Renderer.prototype.makeRenderInfo_=function(a){return new module$exports$Blockly$minimalist$RenderInfo.RenderInfo(this,a)};module$exports$Blockly$minimalist$Renderer.Renderer.prototype.makeDrawer_=function(a,b){return new module$exports$Blockly$minimalist$Drawer.Drawer(a,b)};(0,module$exports$Blockly$blockRendering.register)(\"minimalist\",module$exports$Blockly$minimalist$Renderer.Renderer);var module$exports$Blockly$minimalist={};module$exports$Blockly$minimalist.ConstantProvider=module$exports$Blockly$minimalist$ConstantProvider.ConstantProvider;module$exports$Blockly$minimalist.Drawer=module$exports$Blockly$minimalist$Drawer.Drawer;module$exports$Blockly$minimalist.RenderInfo=module$exports$Blockly$minimalist$RenderInfo.RenderInfo;module$exports$Blockly$minimalist.Renderer=module$exports$Blockly$minimalist$Renderer.Renderer;var module$exports$Blockly$geras$StatementInput={StatementInput:function(a,b){module$exports$Blockly$geras$StatementInput.StatementInput.superClass_.constructor.call(this,a,b);this.connectedBlock&&(this.height+=this.constants_.DARK_PATH_OFFSET)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$geras$StatementInput.StatementInput,module$exports$Blockly$blockRendering$StatementInput.StatementInput);var module$exports$Blockly$geras$PathObject={PathObject:function(a,b,c){this.constants=c;this.svgRoot=a;this.svgPathDark=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyPathDark\",transform:\"translate(1,1)\"},this.svgRoot);this.svgPath=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyPath\"},this.svgRoot);this.svgPathLight=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,\n{\"class\":\"blocklyPathLight\"},this.svgRoot);this.colourDark=\"#000000\";this.style=b}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$geras$PathObject.PathObject,module$exports$Blockly$blockRendering$PathObject.PathObject);module$exports$Blockly$geras$PathObject.PathObject.prototype.setPath=function(a){this.svgPath.setAttribute(\"d\",a);this.svgPathDark.setAttribute(\"d\",a)};\nmodule$exports$Blockly$geras$PathObject.PathObject.prototype.setHighlightPath=function(a){this.svgPathLight.setAttribute(\"d\",a)};module$exports$Blockly$geras$PathObject.PathObject.prototype.flipRTL=function(){this.svgPath.setAttribute(\"transform\",\"scale(-1 1)\");this.svgPathLight.setAttribute(\"transform\",\"scale(-1 1)\");this.svgPathDark.setAttribute(\"transform\",\"translate(1,1) scale(-1 1)\")};\nmodule$exports$Blockly$geras$PathObject.PathObject.prototype.applyColour=function(a){this.svgPathLight.style.display=\"\";this.svgPathDark.style.display=\"\";this.svgPathLight.setAttribute(\"stroke\",this.style.colourTertiary);this.svgPathDark.setAttribute(\"fill\",this.colourDark);module$exports$Blockly$geras$PathObject.PathObject.superClass_.applyColour.call(this,a);this.svgPath.setAttribute(\"stroke\",\"none\")};\nmodule$exports$Blockly$geras$PathObject.PathObject.prototype.setStyle=function(a){this.style=a;this.colourDark=(0,module$exports$Blockly$utils$colour.blend)(\"#000\",this.style.colourPrimary,.2)||this.colourDark};module$exports$Blockly$geras$PathObject.PathObject.prototype.updateHighlighted=function(a){a?(this.svgPath.setAttribute(\"filter\",\"url(#\"+this.constants.embossFilterId+\")\"),this.svgPathLight.style.display=\"none\"):(this.svgPath.setAttribute(\"filter\",\"none\"),this.svgPathLight.style.display=\"inline\")};\nmodule$exports$Blockly$geras$PathObject.PathObject.prototype.updateShadow_=function(a){a&&(this.svgPathLight.style.display=\"none\",this.svgPathDark.setAttribute(\"fill\",this.style.colourSecondary),this.svgPath.setAttribute(\"stroke\",\"none\"),this.svgPath.setAttribute(\"fill\",this.style.colourSecondary))};\nmodule$exports$Blockly$geras$PathObject.PathObject.prototype.updateDisabled_=function(a){module$exports$Blockly$geras$PathObject.PathObject.superClass_.updateDisabled_.call(this,a);a&&this.svgPath.setAttribute(\"stroke\",\"none\")};var module$exports$Blockly$geras$ConstantProvider={ConstantProvider:function(){module$exports$Blockly$geras$ConstantProvider.ConstantProvider.superClass_.constructor.call(this);this.FIELD_TEXT_BASELINE_CENTER=!1;this.DARK_PATH_OFFSET=1;this.MAX_BOTTOM_WIDTH=30;this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT/2}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$geras$ConstantProvider.ConstantProvider,module$exports$Blockly$blockRendering$ConstantProvider.ConstantProvider);\nmodule$exports$Blockly$geras$ConstantProvider.ConstantProvider.prototype.getCSS_=function(a){return module$exports$Blockly$geras$ConstantProvider.ConstantProvider.superClass_.getCSS_.call(this,a).concat([a+\" .blocklyInsertionMarker>.blocklyPathLight,\",a+\" .blocklyInsertionMarker>.blocklyPathDark {\",\"fill-opacity: \"+this.INSERTION_MARKER_OPACITY+\";\",\"stroke: none;\",\"}\"])};var module$exports$Blockly$geras$Highlighter={Highlighter:function(a){this.info_=a;this.inlineSteps_=this.steps_=\"\";this.RTL_=this.info_.RTL;a=a.getRenderer();this.constants_=a.getConstants();this.highlightConstants_=a.getHighlightConstants();this.highlightOffset_=this.highlightConstants_.OFFSET;this.outsideCornerPaths_=this.highlightConstants_.OUTSIDE_CORNER;this.insideCornerPaths_=this.highlightConstants_.INSIDE_CORNER;this.puzzleTabPaths_=this.highlightConstants_.PUZZLE_TAB;this.notchPaths_=this.highlightConstants_.NOTCH;\nthis.startPaths_=this.highlightConstants_.START_HAT;this.jaggedTeethPaths_=this.highlightConstants_.JAGGED_TEETH}};module$exports$Blockly$geras$Highlighter.Highlighter.prototype.getPath=function(){return this.steps_+\"\\n\"+this.inlineSteps_};\nmodule$exports$Blockly$geras$Highlighter.Highlighter.prototype.drawTopCorner=function(a){this.steps_+=(0,module$exports$Blockly$utils$svgPaths.moveBy)(a.xPos,this.info_.startY);for(var b=0,c;c=a.elements[b];b++)module$exports$Blockly$blockRendering$Types.Types.isLeftSquareCorner(c)?this.steps_+=this.highlightConstants_.START_POINT:module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(c)?this.steps_+=this.outsideCornerPaths_.topLeft(this.RTL_):module$exports$Blockly$blockRendering$Types.Types.isPreviousConnection(c)?\nthis.steps_+=this.notchPaths_.pathLeft:module$exports$Blockly$blockRendering$Types.Types.isHat(c)?this.steps_+=this.startPaths_.path(this.RTL_):module$exports$Blockly$blockRendering$Types.Types.isSpacer(c)&&0!==c.width&&(this.steps_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",c.xPos+c.width-this.highlightOffset_));this.steps_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",a.xPos+a.width-this.highlightOffset_)};\nmodule$exports$Blockly$geras$Highlighter.Highlighter.prototype.drawJaggedEdge_=function(a){this.info_.RTL&&(this.steps_+=this.jaggedTeethPaths_.pathLeft+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",a.height-this.jaggedTeethPaths_.height-this.highlightOffset_))};\nmodule$exports$Blockly$geras$Highlighter.Highlighter.prototype.drawValueInput=function(a){var b=a.getLastInput();if(this.RTL_){var c=a.height-b.connectionHeight;this.steps_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(b.xPos+b.width-this.highlightOffset_,a.yPos)+this.puzzleTabPaths_.pathDown(this.RTL_)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",c)}else this.steps_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(b.xPos+b.width,a.yPos)+this.puzzleTabPaths_.pathDown(this.RTL_)};\nmodule$exports$Blockly$geras$Highlighter.Highlighter.prototype.drawStatementInput=function(a){var b=a.getLastInput();if(this.RTL_){var c=a.height-2*this.insideCornerPaths_.height;this.steps_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(b.xPos,a.yPos)+this.insideCornerPaths_.pathTop(this.RTL_)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",c)+this.insideCornerPaths_.pathBottom(this.RTL_)+(0,module$exports$Blockly$utils$svgPaths.lineTo)(a.width-b.xPos-this.insideCornerPaths_.width,0)}else this.steps_+=\n(0,module$exports$Blockly$utils$svgPaths.moveTo)(b.xPos,a.yPos+a.height)+this.insideCornerPaths_.pathBottom(this.RTL_)+(0,module$exports$Blockly$utils$svgPaths.lineTo)(a.width-b.xPos-this.insideCornerPaths_.width,0)};\nmodule$exports$Blockly$geras$Highlighter.Highlighter.prototype.drawRightSideRow=function(a){var b=a.xPos+a.width-this.highlightOffset_;a.followsStatement&&(this.steps_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",b));this.RTL_&&(this.steps_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",b),a.height>this.highlightOffset_&&(this.steps_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",a.yPos+a.height-this.highlightOffset_)))};\nmodule$exports$Blockly$geras$Highlighter.Highlighter.prototype.drawBottomRow=function(a){if(this.RTL_)this.steps_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",a.baseline-this.highlightOffset_);else{var b=this.info_.bottomRow.elements[0];module$exports$Blockly$blockRendering$Types.Types.isLeftSquareCorner(b)?this.steps_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(a.xPos+this.highlightOffset_,a.baseline-this.highlightOffset_):module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(b)&&\n(this.steps_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(a.xPos,a.baseline),this.steps_+=this.outsideCornerPaths_.bottomLeft())}};\nmodule$exports$Blockly$geras$Highlighter.Highlighter.prototype.drawLeft=function(){var a=this.info_.outputConnection;a&&(a=a.connectionOffsetY+a.height,this.RTL_?this.steps_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(this.info_.startX,a):(this.steps_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(this.info_.startX+this.highlightOffset_,this.info_.bottomRow.baseline-this.highlightOffset_),this.steps_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",a)),this.steps_+=this.puzzleTabPaths_.pathUp(this.RTL_));\nthis.RTL_||(a=this.info_.topRow,module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(a.elements[0])?this.steps_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",this.outsideCornerPaths_.height):this.steps_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",a.capline+this.highlightOffset_))};\nmodule$exports$Blockly$geras$Highlighter.Highlighter.prototype.drawInlineInput=function(a){var b=this.highlightOffset_,c=a.xPos+a.connectionWidth,d=a.centerline-a.height/2,e=a.width-a.connectionWidth,f=d+b;this.RTL_?(d=a.connectionOffsetY-b,a=a.height-(a.connectionOffsetY+a.connectionHeight)+b,this.inlineSteps_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(c-b,f)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",d)+this.puzzleTabPaths_.pathDown(this.RTL_)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",\na)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",e)):this.inlineSteps_+=(0,module$exports$Blockly$utils$svgPaths.moveTo)(a.xPos+a.width+b,f)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",a.height)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",-e)+(0,module$exports$Blockly$utils$svgPaths.moveTo)(c,d+a.connectionOffsetY)+this.puzzleTabPaths_.pathDown(this.RTL_)};var module$exports$Blockly$geras$Drawer={Drawer:function(a,b){module$exports$Blockly$geras$Drawer.Drawer.superClass_.constructor.call(this,a,b);this.highlighter_=new module$exports$Blockly$geras$Highlighter.Highlighter(b)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$geras$Drawer.Drawer,module$exports$Blockly$blockRendering$Drawer.Drawer);\nmodule$exports$Blockly$geras$Drawer.Drawer.prototype.draw=function(){this.hideHiddenIcons_();this.drawOutline_();this.drawInternals_();var a=this.block_.pathObject;a.setPath(this.outlinePath_+\"\\n\"+this.inlinePath_);a.setHighlightPath(this.highlighter_.getPath());this.info_.RTL&&a.flipRTL();(0,module$exports$Blockly$blockRendering$debug.isDebuggerEnabled)()&&this.block_.renderingDebugger.drawDebug(this.block_,this.info_);this.recordSizeOnBlock_()};\nmodule$exports$Blockly$geras$Drawer.Drawer.prototype.drawTop_=function(){this.highlighter_.drawTopCorner(this.info_.topRow);this.highlighter_.drawRightSideRow(this.info_.topRow);module$exports$Blockly$geras$Drawer.Drawer.superClass_.drawTop_.call(this)};module$exports$Blockly$geras$Drawer.Drawer.prototype.drawJaggedEdge_=function(a){this.highlighter_.drawJaggedEdge_(a);module$exports$Blockly$geras$Drawer.Drawer.superClass_.drawJaggedEdge_.call(this,a)};\nmodule$exports$Blockly$geras$Drawer.Drawer.prototype.drawValueInput_=function(a){this.highlighter_.drawValueInput(a);module$exports$Blockly$geras$Drawer.Drawer.superClass_.drawValueInput_.call(this,a)};module$exports$Blockly$geras$Drawer.Drawer.prototype.drawStatementInput_=function(a){this.highlighter_.drawStatementInput(a);module$exports$Blockly$geras$Drawer.Drawer.superClass_.drawStatementInput_.call(this,a)};\nmodule$exports$Blockly$geras$Drawer.Drawer.prototype.drawRightSideRow_=function(a){this.highlighter_.drawRightSideRow(a);this.outlinePath_+=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"H\",a.xPos+a.width)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"V\",a.yPos+a.height)};module$exports$Blockly$geras$Drawer.Drawer.prototype.drawBottom_=function(){this.highlighter_.drawBottomRow(this.info_.bottomRow);module$exports$Blockly$geras$Drawer.Drawer.superClass_.drawBottom_.call(this)};\nmodule$exports$Blockly$geras$Drawer.Drawer.prototype.drawLeft_=function(){this.highlighter_.drawLeft();module$exports$Blockly$geras$Drawer.Drawer.superClass_.drawLeft_.call(this)};module$exports$Blockly$geras$Drawer.Drawer.prototype.drawInlineInput_=function(a){this.highlighter_.drawInlineInput(a);module$exports$Blockly$geras$Drawer.Drawer.superClass_.drawInlineInput_.call(this,a)};\nmodule$exports$Blockly$geras$Drawer.Drawer.prototype.positionInlineInputConnection_=function(a){var b=a.centerline-a.height/2;if(a.connectionModel){var c=a.xPos+a.connectionWidth+this.constants_.DARK_PATH_OFFSET;this.info_.RTL&&(c*=-1);a.connectionModel.setOffsetInBlock(c,b+a.connectionOffsetY+this.constants_.DARK_PATH_OFFSET)}};\nmodule$exports$Blockly$geras$Drawer.Drawer.prototype.positionStatementInputConnection_=function(a){var b=a.getLastInput();if(b.connectionModel){var c=a.xPos+a.statementEdge+b.notchOffset;c=this.info_.RTL?-1*c:c+this.constants_.DARK_PATH_OFFSET;b.connectionModel.setOffsetInBlock(c,a.yPos+this.constants_.DARK_PATH_OFFSET)}};\nmodule$exports$Blockly$geras$Drawer.Drawer.prototype.positionExternalValueConnection_=function(a){var b=a.getLastInput();if(b.connectionModel){var c=a.xPos+a.width+this.constants_.DARK_PATH_OFFSET;this.info_.RTL&&(c*=-1);b.connectionModel.setOffsetInBlock(c,a.yPos)}};\nmodule$exports$Blockly$geras$Drawer.Drawer.prototype.positionNextConnection_=function(){var a=this.info_.bottomRow;if(a.connection){var b=a.connection,c=b.xPos;b.connectionModel.setOffsetInBlock((this.info_.RTL?-c:c)+this.constants_.DARK_PATH_OFFSET/2,a.baseline+this.constants_.DARK_PATH_OFFSET)}};var module$exports$Blockly$geras$HighlightConstantProvider={HighlightConstantProvider:function(a){this.constantProvider=a;this.OFFSET=.5;this.START_POINT=(0,module$exports$Blockly$utils$svgPaths.moveBy)(this.OFFSET,this.OFFSET)}};\nmodule$exports$Blockly$geras$HighlightConstantProvider.HighlightConstantProvider.prototype.init=function(){this.INSIDE_CORNER=this.makeInsideCorner();this.OUTSIDE_CORNER=this.makeOutsideCorner();this.PUZZLE_TAB=this.makePuzzleTab();this.NOTCH=this.makeNotch();this.JAGGED_TEETH=this.makeJaggedTeeth();this.START_HAT=this.makeStartHat()};\nmodule$exports$Blockly$geras$HighlightConstantProvider.HighlightConstantProvider.prototype.makeInsideCorner=function(){var a=this.constantProvider.CORNER_RADIUS,b=this.OFFSET,c=(1-Math.SQRT1_2)*(a+b)-b,d=(0,module$exports$Blockly$utils$svgPaths.moveBy)(c,c)+(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,0\",a,(0,module$exports$Blockly$utils$svgPaths.point)(-c-b,a-c)),e=(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,0\",a+b,(0,module$exports$Blockly$utils$svgPaths.point)(a+b,a+b)),f=\n(0,module$exports$Blockly$utils$svgPaths.moveBy)(c,-c)+(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,0\",a+b,(0,module$exports$Blockly$utils$svgPaths.point)(a-c,c+b));return{width:a+b,height:a,pathTop:function(g){return g?d:\"\"},pathBottom:function(g){return g?e:f}}};\nmodule$exports$Blockly$geras$HighlightConstantProvider.HighlightConstantProvider.prototype.makeOutsideCorner=function(){var a=this.constantProvider.CORNER_RADIUS,b=this.OFFSET,c=(1-Math.SQRT1_2)*(a-b)+b,d=(0,module$exports$Blockly$utils$svgPaths.moveBy)(c,c)+(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",a-b,(0,module$exports$Blockly$utils$svgPaths.point)(a-c,-c+b)),e=(0,module$exports$Blockly$utils$svgPaths.moveBy)(b,a)+(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",a-b,(0,module$exports$Blockly$utils$svgPaths.point)(a,\n-a+b)),f=-c,g=(0,module$exports$Blockly$utils$svgPaths.moveBy)(c,f)+(0,module$exports$Blockly$utils$svgPaths.arc)(\"a\",\"0 0,1\",a-b,(0,module$exports$Blockly$utils$svgPaths.point)(-c+b,-f-a));return{height:a,topLeft:function(h){return h?d:e},bottomLeft:function(){return g}}};\nmodule$exports$Blockly$geras$HighlightConstantProvider.HighlightConstantProvider.prototype.makePuzzleTab=function(){var a=this.constantProvider.TAB_WIDTH,b=this.constantProvider.TAB_HEIGHT,c=(0,module$exports$Blockly$utils$svgPaths.moveBy)(-2,-b+3.4)+(0,module$exports$Blockly$utils$svgPaths.lineTo)(-.45*a,-2.1),d=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",2.5)+(0,module$exports$Blockly$utils$svgPaths.moveBy)(.97*-a,2.5)+(0,module$exports$Blockly$utils$svgPaths.curve)(\"q\",[(0,module$exports$Blockly$utils$svgPaths.point)(.05*\n-a,10),(0,module$exports$Blockly$utils$svgPaths.point)(.3*a,9.5)])+(0,module$exports$Blockly$utils$svgPaths.moveBy)(.67*a,-1.9)+(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",2.5),e=(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"v\",-1.5)+(0,module$exports$Blockly$utils$svgPaths.moveBy)(-.92*a,-.5)+(0,module$exports$Blockly$utils$svgPaths.curve)(\"q\",[(0,module$exports$Blockly$utils$svgPaths.point)(-.19*a,-5.5),(0,module$exports$Blockly$utils$svgPaths.point)(0,-11)])+(0,module$exports$Blockly$utils$svgPaths.moveBy)(.92*\na,1),f=(0,module$exports$Blockly$utils$svgPaths.moveBy)(-5,b-.7)+(0,module$exports$Blockly$utils$svgPaths.lineTo)(.46*a,-2.1);return{width:a,height:b,pathUp:function(g){return g?c:e},pathDown:function(g){return g?d:f}}};module$exports$Blockly$geras$HighlightConstantProvider.HighlightConstantProvider.prototype.makeNotch=function(){return{pathLeft:(0,module$exports$Blockly$utils$svgPaths.lineOnAxis)(\"h\",this.OFFSET)+this.constantProvider.NOTCH.pathLeft}};\nmodule$exports$Blockly$geras$HighlightConstantProvider.HighlightConstantProvider.prototype.makeJaggedTeeth=function(){return{pathLeft:(0,module$exports$Blockly$utils$svgPaths.lineTo)(5.1,2.6)+(0,module$exports$Blockly$utils$svgPaths.moveBy)(-10.2,6.8)+(0,module$exports$Blockly$utils$svgPaths.lineTo)(5.1,2.6),height:12,width:10.2}};\nmodule$exports$Blockly$geras$HighlightConstantProvider.HighlightConstantProvider.prototype.makeStartHat=function(){var a=this.constantProvider.START_HAT.height,b=(0,module$exports$Blockly$utils$svgPaths.moveBy)(25,-8.7)+(0,module$exports$Blockly$utils$svgPaths.curve)(\"c\",[(0,module$exports$Blockly$utils$svgPaths.point)(29.7,-6.2),(0,module$exports$Blockly$utils$svgPaths.point)(57.2,-.5),(0,module$exports$Blockly$utils$svgPaths.point)(75,8.7)]),c=(0,module$exports$Blockly$utils$svgPaths.curve)(\"c\",\n[(0,module$exports$Blockly$utils$svgPaths.point)(17.8,-9.2),(0,module$exports$Blockly$utils$svgPaths.point)(45.3,-14.9),(0,module$exports$Blockly$utils$svgPaths.point)(75,-8.7)])+(0,module$exports$Blockly$utils$svgPaths.moveTo)(100.5,a+.5);return{path:function(d){return d?b:c}}};var module$exports$Blockly$geras$InlineInput={InlineInput:function(a,b){module$exports$Blockly$geras$InlineInput.InlineInput.superClass_.constructor.call(this,a,b);this.connectedBlock&&(this.width+=this.constants_.DARK_PATH_OFFSET,this.height+=this.constants_.DARK_PATH_OFFSET)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$geras$InlineInput.InlineInput,module$exports$Blockly$blockRendering$InlineInput.InlineInput);var module$exports$Blockly$geras$RenderInfo={RenderInfo:function(a,b){module$exports$Blockly$geras$RenderInfo.RenderInfo.superClass_.constructor.call(this,a,b)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$geras$RenderInfo.RenderInfo,module$exports$Blockly$blockRendering$RenderInfo.RenderInfo);module$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.getRenderer=function(){return this.renderer_};\nmodule$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.populateBottomRow_=function(){module$exports$Blockly$geras$RenderInfo.RenderInfo.superClass_.populateBottomRow_.call(this);this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1].type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT||(this.bottomRow.minHeight=this.constants_.MEDIUM_PADDING-this.constants_.DARK_PATH_OFFSET)};\nmodule$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.addInput_=function(a,b){this.isInline&&a.type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE?(b.elements.push(new module$exports$Blockly$geras$InlineInput.InlineInput(this.constants_,a)),b.hasInlineInput=!0):a.type===$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT?(b.elements.push(new module$exports$Blockly$geras$StatementInput.StatementInput(this.constants_,a)),b.hasStatement=!0):a.type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE?\n(b.elements.push(new module$exports$Blockly$blockRendering$ExternalValueInput.ExternalValueInput(this.constants_,a)),b.hasExternalInput=!0):a.type===$.module$exports$Blockly$inputTypes.inputTypes.DUMMY&&(b.minHeight=Math.max(b.minHeight,this.constants_.DUMMY_INPUT_MIN_HEIGHT),b.hasDummyInput=!0);this.isInline||null!==b.align||(b.align=a.align)};\nmodule$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.addElemSpacing_=function(){for(var a=!1,b=0,c;c=this.rows[b];b++)c.hasExternalInput&&(a=!0);for(b=0;c=this.rows[b];b++){var d=c.elements;c.elements=[];c.startsWithElemSpacer()&&c.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,this.getInRowSpacing_(null,d[0])));if(d.length){for(var e=0;e<d.length-1;e++){c.elements.push(d[e]);var f=this.getInRowSpacing_(d[e],d[e+1]);c.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,\nf))}c.elements.push(d[d.length-1]);c.endsWithElemSpacer()&&(d=this.getInRowSpacing_(d[d.length-1],null),a&&c.hasDummyInput&&(d+=this.constants_.TAB_WIDTH),c.elements.push(new module$exports$Blockly$blockRendering$InRowSpacer.InRowSpacer(this.constants_,d)))}}};\nmodule$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.getInRowSpacing_=function(a,b){if(!a)return b&&module$exports$Blockly$blockRendering$Types.Types.isField(b)&&b.isEditable?this.constants_.MEDIUM_PADDING:b&&module$exports$Blockly$blockRendering$Types.Types.isInlineInput(b)?this.constants_.MEDIUM_LARGE_PADDING:b&&module$exports$Blockly$blockRendering$Types.Types.isStatementInput(b)?this.constants_.STATEMENT_INPUT_PADDING_LEFT:this.constants_.LARGE_PADDING;if(!module$exports$Blockly$blockRendering$Types.Types.isInput(a)&&\n(!b||module$exports$Blockly$blockRendering$Types.Types.isStatementInput(b)))return module$exports$Blockly$blockRendering$Types.Types.isField(a)&&a.isEditable?this.constants_.MEDIUM_PADDING:module$exports$Blockly$blockRendering$Types.Types.isIcon(a)?2*this.constants_.LARGE_PADDING+1:module$exports$Blockly$blockRendering$Types.Types.isHat(a)?this.constants_.NO_PADDING:module$exports$Blockly$blockRendering$Types.Types.isPreviousOrNextConnection(a)?this.constants_.LARGE_PADDING:module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(a)?\nthis.constants_.MIN_BLOCK_WIDTH:module$exports$Blockly$blockRendering$Types.Types.isJaggedEdge(a)?this.constants_.NO_PADDING:this.constants_.LARGE_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isInput(a)&&!b){if(module$exports$Blockly$blockRendering$Types.Types.isExternalInput(a))return this.constants_.NO_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(a))return this.constants_.LARGE_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isStatementInput(a))return this.constants_.NO_PADDING}if(!module$exports$Blockly$blockRendering$Types.Types.isInput(a)&&\nb&&module$exports$Blockly$blockRendering$Types.Types.isInput(b)){if(module$exports$Blockly$blockRendering$Types.Types.isField(a)&&a.isEditable){if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(b)||module$exports$Blockly$blockRendering$Types.Types.isExternalInput(b))return this.constants_.SMALL_PADDING}else{if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(b)||module$exports$Blockly$blockRendering$Types.Types.isExternalInput(b))return this.constants_.MEDIUM_LARGE_PADDING;\nif(module$exports$Blockly$blockRendering$Types.Types.isStatementInput(b))return this.constants_.LARGE_PADDING}return this.constants_.LARGE_PADDING-1}if(module$exports$Blockly$blockRendering$Types.Types.isIcon(a)&&b&&!module$exports$Blockly$blockRendering$Types.Types.isInput(b))return this.constants_.LARGE_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isInlineInput(a)&&b&&module$exports$Blockly$blockRendering$Types.Types.isField(b))return b.isEditable?this.constants_.MEDIUM_PADDING:\nthis.constants_.LARGE_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isLeftSquareCorner(a)&&b){if(module$exports$Blockly$blockRendering$Types.Types.isHat(b))return this.constants_.NO_PADDING;if(module$exports$Blockly$blockRendering$Types.Types.isPreviousConnection(b))return b.notchOffset;if(module$exports$Blockly$blockRendering$Types.Types.isNextConnection(b))return b.notchOffset+(this.RTL?1:-1)*this.constants_.DARK_PATH_OFFSET/2}if(module$exports$Blockly$blockRendering$Types.Types.isLeftRoundedCorner(a)&&\nb){if(module$exports$Blockly$blockRendering$Types.Types.isPreviousConnection(b))return b.notchOffset-this.constants_.CORNER_RADIUS;if(module$exports$Blockly$blockRendering$Types.Types.isNextConnection(b))return b.notchOffset-this.constants_.CORNER_RADIUS+(this.RTL?1:-1)*this.constants_.DARK_PATH_OFFSET/2}return module$exports$Blockly$blockRendering$Types.Types.isField(a)&&b&&module$exports$Blockly$blockRendering$Types.Types.isField(b)&&a.isEditable===b.isEditable||b&&module$exports$Blockly$blockRendering$Types.Types.isJaggedEdge(b)?\nthis.constants_.LARGE_PADDING:this.constants_.MEDIUM_PADDING};\nmodule$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.getSpacerRowHeight_=function(a,b){return module$exports$Blockly$blockRendering$Types.Types.isTopRow(a)&&module$exports$Blockly$blockRendering$Types.Types.isBottomRow(b)?this.constants_.EMPTY_BLOCK_SPACER_HEIGHT:module$exports$Blockly$blockRendering$Types.Types.isTopRow(a)||module$exports$Blockly$blockRendering$Types.Types.isBottomRow(b)?this.constants_.NO_PADDING:a.hasExternalInput&&b.hasExternalInput?this.constants_.LARGE_PADDING:!a.hasStatement&&\nb.hasStatement?this.constants_.BETWEEN_STATEMENT_PADDING_Y:a.hasStatement&&b.hasStatement||!a.hasStatement&&b.hasDummyInput||a.hasDummyInput?this.constants_.LARGE_PADDING:this.constants_.MEDIUM_PADDING};\nmodule$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.getElemCenterline_=function(a,b){if(module$exports$Blockly$blockRendering$Types.Types.isSpacer(b))return a.yPos+b.height/2;if(module$exports$Blockly$blockRendering$Types.Types.isBottomRow(a))return a=a.yPos+a.height-a.descenderHeight,module$exports$Blockly$blockRendering$Types.Types.isNextConnection(b)?a+b.height/2:a-b.height/2;if(module$exports$Blockly$blockRendering$Types.Types.isTopRow(a))return module$exports$Blockly$blockRendering$Types.Types.isHat(b)?\na.capline-b.height/2:a.capline+b.height/2;var c=a.yPos;module$exports$Blockly$blockRendering$Types.Types.isField(b)||module$exports$Blockly$blockRendering$Types.Types.isIcon(b)?(c+=b.height/2,(a.hasInlineInput||a.hasStatement)&&b.height+this.constants_.TALL_INPUT_FIELD_OFFSET_Y<=a.height&&(c+=this.constants_.TALL_INPUT_FIELD_OFFSET_Y)):c=module$exports$Blockly$blockRendering$Types.Types.isInlineInput(b)?c+b.height/2:c+a.height/2;return c};\nmodule$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.alignRowElements_=function(){if(this.isInline){for(var a=0,b=null,c=this.rows.length-1,d;d=this.rows[c];c--)d.nextRightEdge=a,module$exports$Blockly$blockRendering$Types.Types.isInputRow(d)&&(d.hasStatement&&this.alignStatementRow_(d),b&&b.hasStatement&&d.width<b.width?d.nextRightEdge=b.width:a=d.width,b=d);for(a=c=0;b=this.rows[a];a++)b.hasStatement?c=this.getDesiredRowWidth_(b):module$exports$Blockly$blockRendering$Types.Types.isSpacer(b)?\nb.width=Math.max(c,b.nextRightEdge):(c=Math.max(c,b.nextRightEdge)-b.width,0<c&&this.addAlignmentPadding_(b,c),c=b.width)}else module$exports$Blockly$geras$RenderInfo.RenderInfo.superClass_.alignRowElements_.call(this)};\nmodule$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.getDesiredRowWidth_=function(a){return this.isInline&&a.hasStatement?this.statementEdge+this.constants_.MAX_BOTTOM_WIDTH+this.startX:module$exports$Blockly$geras$RenderInfo.RenderInfo.superClass_.getDesiredRowWidth_.call(this,a)};\nmodule$exports$Blockly$geras$RenderInfo.RenderInfo.prototype.finalize_=function(){for(var a=0,b=0,c=0,d;d=this.rows[c];c++){d.yPos=b;d.xPos=this.startX;b+=d.height;a=Math.max(a,d.widthWithConnectedBlocks);var e=b-this.topRow.ascenderHeight;d===this.bottomRow&&e<this.constants_.MIN_BLOCK_HEIGHT&&(e=this.constants_.MIN_BLOCK_HEIGHT-e,this.bottomRow.height+=e,b+=e);this.recordElemPositions_(d)}this.outputConnection&&this.block_.nextConnection&&this.block_.nextConnection.isConnected()&&(a=Math.max(a,\nthis.block_.nextConnection.targetBlock().getHeightWidth().width-this.constants_.DARK_PATH_OFFSET));this.bottomRow.baseline=b-this.bottomRow.descenderHeight;this.widthWithChildren=a+this.startX+this.constants_.DARK_PATH_OFFSET;this.width+=this.constants_.DARK_PATH_OFFSET;this.height=b+this.constants_.DARK_PATH_OFFSET;this.startY=this.topRow.capline};var module$exports$Blockly$geras$Renderer={Renderer:function(a){module$exports$Blockly$geras$Renderer.Renderer.superClass_.constructor.call(this,a);this.highlightConstants_=null}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$geras$Renderer.Renderer,module$exports$Blockly$blockRendering$Renderer.Renderer);\nmodule$exports$Blockly$geras$Renderer.Renderer.prototype.init=function(a,b){module$exports$Blockly$geras$Renderer.Renderer.superClass_.init.call(this,a,b);this.highlightConstants_=this.makeHighlightConstants_();this.highlightConstants_.init()};module$exports$Blockly$geras$Renderer.Renderer.prototype.refreshDom=function(a,b){module$exports$Blockly$geras$Renderer.Renderer.superClass_.refreshDom.call(this,a,b);this.getHighlightConstants().init()};\nmodule$exports$Blockly$geras$Renderer.Renderer.prototype.makeConstants_=function(){return new module$exports$Blockly$geras$ConstantProvider.ConstantProvider};module$exports$Blockly$geras$Renderer.Renderer.prototype.makeRenderInfo_=function(a){return new module$exports$Blockly$geras$RenderInfo.RenderInfo(this,a)};module$exports$Blockly$geras$Renderer.Renderer.prototype.makeDrawer_=function(a,b){return new module$exports$Blockly$geras$Drawer.Drawer(a,b)};\nmodule$exports$Blockly$geras$Renderer.Renderer.prototype.makePathObject=function(a,b){return new module$exports$Blockly$geras$PathObject.PathObject(a,b,this.getConstants())};module$exports$Blockly$geras$Renderer.Renderer.prototype.makeHighlightConstants_=function(){return new module$exports$Blockly$geras$HighlightConstantProvider.HighlightConstantProvider(this.getConstants())};module$exports$Blockly$geras$Renderer.Renderer.prototype.getHighlightConstants=function(){return this.highlightConstants_};\n(0,module$exports$Blockly$blockRendering.register)(\"geras\",module$exports$Blockly$geras$Renderer.Renderer);var module$exports$Blockly$geras={};module$exports$Blockly$geras.ConstantProvider=module$exports$Blockly$geras$ConstantProvider.ConstantProvider;module$exports$Blockly$geras.Drawer=module$exports$Blockly$geras$Drawer.Drawer;module$exports$Blockly$geras.HighlightConstantProvider=module$exports$Blockly$geras$HighlightConstantProvider.HighlightConstantProvider;module$exports$Blockly$geras.Highlighter=module$exports$Blockly$geras$Highlighter.Highlighter;module$exports$Blockly$geras.InlineInput=module$exports$Blockly$geras$InlineInput.InlineInput;\nmodule$exports$Blockly$geras.PathObject=module$exports$Blockly$geras$PathObject.PathObject;module$exports$Blockly$geras.RenderInfo=module$exports$Blockly$geras$RenderInfo.RenderInfo;module$exports$Blockly$geras.Renderer=module$exports$Blockly$geras$Renderer.Renderer;module$exports$Blockly$geras.StatementInput=module$exports$Blockly$geras$StatementInput.StatementInput;var module$exports$Blockly$Themes$Zelos={},module$contents$Blockly$Themes$Zelos_defaultBlockStyles={colour_blocks:{colourPrimary:\"#CF63CF\",colourSecondary:\"#C94FC9\",colourTertiary:\"#BD42BD\"},list_blocks:{colourPrimary:\"#9966FF\",colourSecondary:\"#855CD6\",colourTertiary:\"#774DCB\"},logic_blocks:{colourPrimary:\"#4C97FF\",colourSecondary:\"#4280D7\",colourTertiary:\"#3373CC\"},loop_blocks:{colourPrimary:\"#0fBD8C\",colourSecondary:\"#0DA57A\",colourTertiary:\"#0B8E69\"},math_blocks:{colourPrimary:\"#59C059\",colourSecondary:\"#46B946\",\ncolourTertiary:\"#389438\"},procedure_blocks:{colourPrimary:\"#FF6680\",colourSecondary:\"#FF4D6A\",colourTertiary:\"#FF3355\"},text_blocks:{colourPrimary:\"#FFBF00\",colourSecondary:\"#E6AC00\",colourTertiary:\"#CC9900\"},variable_blocks:{colourPrimary:\"#FF8C1A\",colourSecondary:\"#FF8000\",colourTertiary:\"#DB6E00\"},variable_dynamic_blocks:{colourPrimary:\"#FF8C1A\",colourSecondary:\"#FF8000\",colourTertiary:\"#DB6E00\"},hat_blocks:{colourPrimary:\"#4C97FF\",colourSecondary:\"#4280D7\",colourTertiary:\"#3373CC\",hat:\"cap\"}},\nmodule$contents$Blockly$Themes$Zelos_categoryStyles={colour_category:{colour:\"#CF63CF\"},list_category:{colour:\"#9966FF\"},logic_category:{colour:\"#4C97FF\"},loop_category:{colour:\"#0fBD8C\"},math_category:{colour:\"#59C059\"},procedure_category:{colour:\"#FF6680\"},text_category:{colour:\"#FFBF00\"},variable_category:{colour:\"#FF8C1A\"},variable_dynamic_category:{colour:\"#FF8C1A\"}};\nmodule$exports$Blockly$Themes$Zelos.Zelos=new module$exports$Blockly$Theme.Theme(\"zelos\",module$contents$Blockly$Themes$Zelos_defaultBlockStyles,module$contents$Blockly$Themes$Zelos_categoryStyles);var module$exports$Blockly$Themes={};module$exports$Blockly$Themes.Classic=module$exports$Blockly$Themes$Classic.Classic;module$exports$Blockly$Themes.Zelos=module$exports$Blockly$Themes$Zelos.Zelos;var module$exports$Blockly$ShortcutItems={names:{ESCAPE:\"escape\",DELETE:\"delete\",COPY:\"copy\",CUT:\"cut\",PASTE:\"paste\",UNDO:\"undo\",REDO:\"redo\"},registerEscape:function(){var a={name:module$exports$Blockly$ShortcutItems.names.ESCAPE,preconditionFn:function(b){return!b.options.readOnly},callback:function(b){b.hideChaff();return!0}};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.register(a);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(module$exports$Blockly$utils$KeyCodes.KeyCodes.ESC,\na.name)},registerDelete:function(){var a={name:module$exports$Blockly$ShortcutItems.names.DELETE,preconditionFn:function(b){var c=(0,$.module$exports$Blockly$common.getSelected)();return!b.options.readOnly&&c&&c.isDeletable()},callback:function(b,c){c.preventDefault();if(module$exports$Blockly$Gesture.Gesture.inProgress())return!1;(0,$.module$exports$Blockly$common.getSelected)().checkAndDelete();return!0}};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.register(a);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(module$exports$Blockly$utils$KeyCodes.KeyCodes.DELETE,\na.name);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(module$exports$Blockly$utils$KeyCodes.KeyCodes.BACKSPACE,a.name)},registerCopy:function(){var a={name:module$exports$Blockly$ShortcutItems.names.COPY,preconditionFn:function(c){var d=(0,$.module$exports$Blockly$common.getSelected)();return!c.options.readOnly&&!module$exports$Blockly$Gesture.Gesture.inProgress()&&d&&d.isDeletable()&&d.isMovable()},callback:function(c,d){d.preventDefault();c.hideChaff();(0,module$exports$Blockly$clipboard.copy)((0,$.module$exports$Blockly$common.getSelected)());\nreturn!0}};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.register(a);var b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.C,[module$exports$Blockly$utils$KeyCodes.KeyCodes.CTRL]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.C,\n[module$exports$Blockly$utils$KeyCodes.KeyCodes.ALT]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.C,[module$exports$Blockly$utils$KeyCodes.KeyCodes.META]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name)},registerCut:function(){var a={name:module$exports$Blockly$ShortcutItems.names.CUT,\npreconditionFn:function(c){var d=(0,$.module$exports$Blockly$common.getSelected)();return!c.options.readOnly&&!module$exports$Blockly$Gesture.Gesture.inProgress()&&d&&d.isDeletable()&&d.isMovable()&&!d.workspace.isFlyout},callback:function(){var c=(0,$.module$exports$Blockly$common.getSelected)();if(!c)return!1;(0,module$exports$Blockly$clipboard.copy)(c);c.checkAndDelete();return!0}};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.register(a);var b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.X,\n[module$exports$Blockly$utils$KeyCodes.KeyCodes.CTRL]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.X,[module$exports$Blockly$utils$KeyCodes.KeyCodes.ALT]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.X,\n[module$exports$Blockly$utils$KeyCodes.KeyCodes.META]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name)},registerPaste:function(){var a={name:module$exports$Blockly$ShortcutItems.names.PASTE,preconditionFn:function(c){return!c.options.readOnly&&!module$exports$Blockly$Gesture.Gesture.inProgress()},callback:function(){return(0,module$exports$Blockly$clipboard.paste)()}};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.register(a);var b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.V,\n[module$exports$Blockly$utils$KeyCodes.KeyCodes.CTRL]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.V,[module$exports$Blockly$utils$KeyCodes.KeyCodes.ALT]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.V,\n[module$exports$Blockly$utils$KeyCodes.KeyCodes.META]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name)},registerUndo:function(){var a={name:module$exports$Blockly$ShortcutItems.names.UNDO,preconditionFn:function(c){return!c.options.readOnly&&!module$exports$Blockly$Gesture.Gesture.inProgress()},callback:function(c){c.hideChaff();c.undo(!1);return!0}};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.register(a);var b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.Z,\n[module$exports$Blockly$utils$KeyCodes.KeyCodes.CTRL]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.Z,[module$exports$Blockly$utils$KeyCodes.KeyCodes.ALT]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.Z,\n[module$exports$Blockly$utils$KeyCodes.KeyCodes.META]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name)},registerRedo:function(){var a={name:module$exports$Blockly$ShortcutItems.names.REDO,preconditionFn:function(c){return!module$exports$Blockly$Gesture.Gesture.inProgress()&&!c.options.readOnly},callback:function(c){c.hideChaff();c.undo(!0);return!0}};module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.register(a);var b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.Z,\n[module$exports$Blockly$utils$KeyCodes.KeyCodes.SHIFT,module$exports$Blockly$utils$KeyCodes.KeyCodes.CTRL]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.Z,[module$exports$Blockly$utils$KeyCodes.KeyCodes.SHIFT,module$exports$Blockly$utils$KeyCodes.KeyCodes.ALT]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,\na.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.Z,[module$exports$Blockly$utils$KeyCodes.KeyCodes.SHIFT,module$exports$Blockly$utils$KeyCodes.KeyCodes.META]);module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name);b=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.createSerializedKey(module$exports$Blockly$utils$KeyCodes.KeyCodes.Y,[module$exports$Blockly$utils$KeyCodes.KeyCodes.CTRL]);\nmodule$exports$Blockly$ShortcutRegistry.ShortcutRegistry.registry.addKeyMapping(b,a.name)},registerDefaultShortcuts:function(){(0,module$exports$Blockly$ShortcutItems.registerEscape)();(0,module$exports$Blockly$ShortcutItems.registerDelete)();(0,module$exports$Blockly$ShortcutItems.registerCopy)();(0,module$exports$Blockly$ShortcutItems.registerCut)();(0,module$exports$Blockly$ShortcutItems.registerPaste)();(0,module$exports$Blockly$ShortcutItems.registerUndo)();(0,module$exports$Blockly$ShortcutItems.registerRedo)()}};\n(0,module$exports$Blockly$ShortcutItems.registerDefaultShortcuts)();var module$exports$Blockly$Events$FinishedLoading={FinishedLoading:function(a){this.isBlank=\"undefined\"===typeof a;this.workspaceId=a?a.id:\"\";this.group=(0,module$exports$Blockly$Events$utils.getGroup)();this.recordUndo=!1}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$FinishedLoading.FinishedLoading,module$exports$Blockly$Events$Abstract);module$exports$Blockly$Events$FinishedLoading.FinishedLoading.prototype.type=module$exports$Blockly$Events$utils.FINISHED_LOADING;\nmodule$exports$Blockly$Events$FinishedLoading.FinishedLoading.prototype.toJson=function(){var a={type:this.type};this.group&&(a.group=this.group);this.workspaceId&&(a.workspaceId=this.workspaceId);return a};module$exports$Blockly$Events$FinishedLoading.FinishedLoading.prototype.fromJson=function(a){this.isBlank=!1;this.workspaceId=a.workspaceId;this.group=a.group};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.FINISHED_LOADING,module$exports$Blockly$Events$FinishedLoading.FinishedLoading);var module$exports$Blockly$Events$Ui={Ui:function(a,b,c,d){module$exports$Blockly$Events$Ui.Ui.superClass_.constructor.call(this,a?a.workspace.id:void 0);this.blockId=a?a.id:null;this.element=\"undefined\"===typeof b?\"\":b;this.oldValue=\"undefined\"===typeof c?\"\":c;this.newValue=\"undefined\"===typeof d?\"\":d}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$Ui.Ui,module$exports$Blockly$Events$UiBase.UiBase);module$exports$Blockly$Events$Ui.Ui.prototype.type=module$exports$Blockly$Events$utils.UI;\nmodule$exports$Blockly$Events$Ui.Ui.prototype.toJson=function(){var a=module$exports$Blockly$Events$Ui.Ui.superClass_.toJson.call(this);a.element=this.element;void 0!==this.newValue&&(a.newValue=this.newValue);this.blockId&&(a.blockId=this.blockId);return a};module$exports$Blockly$Events$Ui.Ui.prototype.fromJson=function(a){module$exports$Blockly$Events$Ui.Ui.superClass_.fromJson.call(this,a);this.element=a.element;this.newValue=a.newValue;this.blockId=a.blockId};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.UI,module$exports$Blockly$Events$Ui.Ui);var module$exports$Blockly$Events$BubbleOpen={BubbleOpen:function(a,b,c){module$exports$Blockly$Events$BubbleOpen.BubbleOpen.superClass_.constructor.call(this,a?a.workspace.id:void 0);this.blockId=a?a.id:null;this.isOpen=b;this.bubbleType=c}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$BubbleOpen.BubbleOpen,module$exports$Blockly$Events$UiBase.UiBase);module$exports$Blockly$Events$BubbleOpen.BubbleOpen.prototype.type=module$exports$Blockly$Events$utils.BUBBLE_OPEN;\nmodule$exports$Blockly$Events$BubbleOpen.BubbleOpen.prototype.toJson=function(){var a=module$exports$Blockly$Events$BubbleOpen.BubbleOpen.superClass_.toJson.call(this);a.isOpen=this.isOpen;a.bubbleType=this.bubbleType;a.blockId=this.blockId;return a};module$exports$Blockly$Events$BubbleOpen.BubbleOpen.prototype.fromJson=function(a){module$exports$Blockly$Events$BubbleOpen.BubbleOpen.superClass_.fromJson.call(this,a);this.isOpen=a.isOpen;this.bubbleType=a.bubbleType;this.blockId=a.blockId};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.BUBBLE_OPEN,module$exports$Blockly$Events$BubbleOpen.BubbleOpen);var module$exports$Blockly$Events$CommentChange={CommentChange:function(a,b,c){module$exports$Blockly$Events$CommentChange.CommentChange.superClass_.constructor.call(this,a);a&&(this.oldContents_=\"undefined\"===typeof b?\"\":b,this.newContents_=\"undefined\"===typeof c?\"\":c)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$CommentChange.CommentChange,module$exports$Blockly$Events$CommentBase.CommentBase);\nmodule$exports$Blockly$Events$CommentChange.CommentChange.prototype.type=module$exports$Blockly$Events$utils.COMMENT_CHANGE;module$exports$Blockly$Events$CommentChange.CommentChange.prototype.toJson=function(){var a=module$exports$Blockly$Events$CommentChange.CommentChange.superClass_.toJson.call(this);a.oldContents=this.oldContents_;a.newContents=this.newContents_;return a};\nmodule$exports$Blockly$Events$CommentChange.CommentChange.prototype.fromJson=function(a){module$exports$Blockly$Events$CommentChange.CommentChange.superClass_.fromJson.call(this,a);this.oldContents_=a.oldContents;this.newContents_=a.newContents};module$exports$Blockly$Events$CommentChange.CommentChange.prototype.isNull=function(){return this.oldContents_===this.newContents_};\nmodule$exports$Blockly$Events$CommentChange.CommentChange.prototype.run=function(a){var b=this.getEventWorkspace_().getCommentById(this.commentId);b?b.setContent(a?this.newContents_:this.oldContents_):console.warn(\"Can't change non-existent comment: \"+this.commentId)};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.COMMENT_CHANGE,module$exports$Blockly$Events$CommentChange.CommentChange);var module$exports$Blockly$Events$CommentCreate={CommentCreate:function(a){module$exports$Blockly$Events$CommentCreate.CommentCreate.superClass_.constructor.call(this,a);a&&(this.xml=a.toXmlWithXY())}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$CommentCreate.CommentCreate,module$exports$Blockly$Events$CommentBase.CommentBase);module$exports$Blockly$Events$CommentCreate.CommentCreate.prototype.type=module$exports$Blockly$Events$utils.COMMENT_CREATE;\nmodule$exports$Blockly$Events$CommentCreate.CommentCreate.prototype.toJson=function(){var a=module$exports$Blockly$Events$CommentCreate.CommentCreate.superClass_.toJson.call(this);a.xml=(0,$.module$exports$Blockly$Xml.domToText)(this.xml);return a};module$exports$Blockly$Events$CommentCreate.CommentCreate.prototype.fromJson=function(a){module$exports$Blockly$Events$CommentCreate.CommentCreate.superClass_.fromJson.call(this,a);this.xml=(0,$.module$exports$Blockly$Xml.textToDom)(a.xml)};\nmodule$exports$Blockly$Events$CommentCreate.CommentCreate.prototype.run=function(a){module$exports$Blockly$Events$CommentBase.CommentBase.CommentCreateDeleteHelper(this,a)};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.COMMENT_CREATE,module$exports$Blockly$Events$CommentCreate.CommentCreate);var module$exports$Blockly$Events$CommentDelete={CommentDelete:function(a){module$exports$Blockly$Events$CommentDelete.CommentDelete.superClass_.constructor.call(this,a);a&&(this.xml=a.toXmlWithXY())}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$CommentDelete.CommentDelete,module$exports$Blockly$Events$CommentBase.CommentBase);module$exports$Blockly$Events$CommentDelete.CommentDelete.prototype.type=module$exports$Blockly$Events$utils.COMMENT_DELETE;\nmodule$exports$Blockly$Events$CommentDelete.CommentDelete.prototype.toJson=function(){return module$exports$Blockly$Events$CommentDelete.CommentDelete.superClass_.toJson.call(this)};module$exports$Blockly$Events$CommentDelete.CommentDelete.prototype.fromJson=function(a){module$exports$Blockly$Events$CommentDelete.CommentDelete.superClass_.fromJson.call(this,a)};\nmodule$exports$Blockly$Events$CommentDelete.CommentDelete.prototype.run=function(a){module$exports$Blockly$Events$CommentBase.CommentBase.CommentCreateDeleteHelper(this,!a)};(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.COMMENT_DELETE,module$exports$Blockly$Events$CommentDelete.CommentDelete);var module$exports$Blockly$Events$TrashcanOpen={TrashcanOpen:function(a,b){module$exports$Blockly$Events$TrashcanOpen.TrashcanOpen.superClass_.constructor.call(this,b);this.isOpen=a}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$TrashcanOpen.TrashcanOpen,module$exports$Blockly$Events$UiBase.UiBase);module$exports$Blockly$Events$TrashcanOpen.TrashcanOpen.prototype.type=module$exports$Blockly$Events$utils.TRASHCAN_OPEN;\nmodule$exports$Blockly$Events$TrashcanOpen.TrashcanOpen.prototype.toJson=function(){var a=module$exports$Blockly$Events$TrashcanOpen.TrashcanOpen.superClass_.toJson.call(this);a.isOpen=this.isOpen;return a};module$exports$Blockly$Events$TrashcanOpen.TrashcanOpen.prototype.fromJson=function(a){module$exports$Blockly$Events$TrashcanOpen.TrashcanOpen.superClass_.fromJson.call(this,a);this.isOpen=a.isOpen};\n(0,module$exports$Blockly$registry.register)(module$exports$Blockly$registry.Type.EVENT,module$exports$Blockly$Events$utils.TRASHCAN_OPEN,module$exports$Blockly$Events$TrashcanOpen.TrashcanOpen);$.module$exports$Blockly$Events={Abstract:module$exports$Blockly$Events$Abstract};$.module$exports$Blockly$Events.BubbleOpen=module$exports$Blockly$Events$BubbleOpen.BubbleOpen;$.module$exports$Blockly$Events.BlockBase=module$exports$Blockly$Events$BlockBase.BlockBase;$.module$exports$Blockly$Events.BlockChange=module$exports$Blockly$Events$BlockChange.BlockChange;$.module$exports$Blockly$Events.BlockCreate=module$exports$Blockly$Events$BlockCreate.BlockCreate;\n$.module$exports$Blockly$Events.BlockDelete=module$exports$Blockly$Events$BlockDelete.BlockDelete;$.module$exports$Blockly$Events.BlockDrag=module$exports$Blockly$Events$BlockDrag.BlockDrag;$.module$exports$Blockly$Events.BlockMove=module$exports$Blockly$Events$BlockMove.BlockMove;$.module$exports$Blockly$Events.Click=module$exports$Blockly$Events$Click.Click;$.module$exports$Blockly$Events.CommentBase=module$exports$Blockly$Events$CommentBase.CommentBase;\n$.module$exports$Blockly$Events.CommentChange=module$exports$Blockly$Events$CommentChange.CommentChange;$.module$exports$Blockly$Events.CommentCreate=module$exports$Blockly$Events$CommentCreate.CommentCreate;$.module$exports$Blockly$Events.CommentDelete=module$exports$Blockly$Events$CommentDelete.CommentDelete;$.module$exports$Blockly$Events.CommentMove=module$exports$Blockly$Events$CommentMove.CommentMove;$.module$exports$Blockly$Events.FinishedLoading=module$exports$Blockly$Events$FinishedLoading.FinishedLoading;\n$.module$exports$Blockly$Events.MarkerMove=module$exports$Blockly$Events$MarkerMove.MarkerMove;$.module$exports$Blockly$Events.Selected=module$exports$Blockly$Events$Selected.Selected;$.module$exports$Blockly$Events.ThemeChange=module$exports$Blockly$Events$ThemeChange.ThemeChange;$.module$exports$Blockly$Events.ToolboxItemSelect=module$exports$Blockly$Events$ToolboxItemSelect.ToolboxItemSelect;$.module$exports$Blockly$Events.TrashcanOpen=module$exports$Blockly$Events$TrashcanOpen.TrashcanOpen;\n$.module$exports$Blockly$Events.Ui=module$exports$Blockly$Events$Ui.Ui;$.module$exports$Blockly$Events.UiBase=module$exports$Blockly$Events$UiBase.UiBase;$.module$exports$Blockly$Events.VarBase=module$exports$Blockly$Events$VarBase.VarBase;$.module$exports$Blockly$Events.VarCreate=module$exports$Blockly$Events$VarCreate.VarCreate;$.module$exports$Blockly$Events.VarDelete=module$exports$Blockly$Events$VarDelete.VarDelete;$.module$exports$Blockly$Events.VarRename=module$exports$Blockly$Events$VarRename.VarRename;\n$.module$exports$Blockly$Events.ViewportChange=module$exports$Blockly$Events$ViewportChange.ViewportChange;$.module$exports$Blockly$Events.BLOCK_CHANGE=module$exports$Blockly$Events$utils.CHANGE;$.module$exports$Blockly$Events.BLOCK_CREATE=module$exports$Blockly$Events$utils.CREATE;$.module$exports$Blockly$Events.BLOCK_DELETE=module$exports$Blockly$Events$utils.DELETE;$.module$exports$Blockly$Events.BLOCK_DRAG=module$exports$Blockly$Events$utils.BLOCK_DRAG;\n$.module$exports$Blockly$Events.BLOCK_MOVE=module$exports$Blockly$Events$utils.MOVE;$.module$exports$Blockly$Events.BUBBLE_OPEN=module$exports$Blockly$Events$utils.BUBBLE_OPEN;$.module$exports$Blockly$Events.BumpEvent=module$exports$Blockly$Events$utils.BumpEvent;$.module$exports$Blockly$Events.BUMP_EVENTS=module$exports$Blockly$Events$utils.BUMP_EVENTS;$.module$exports$Blockly$Events.CHANGE=module$exports$Blockly$Events$utils.CHANGE;$.module$exports$Blockly$Events.CLICK=module$exports$Blockly$Events$utils.CLICK;\n$.module$exports$Blockly$Events.COMMENT_CHANGE=module$exports$Blockly$Events$utils.COMMENT_CHANGE;$.module$exports$Blockly$Events.COMMENT_CREATE=module$exports$Blockly$Events$utils.COMMENT_CREATE;$.module$exports$Blockly$Events.COMMENT_DELETE=module$exports$Blockly$Events$utils.COMMENT_DELETE;$.module$exports$Blockly$Events.COMMENT_MOVE=module$exports$Blockly$Events$utils.COMMENT_MOVE;$.module$exports$Blockly$Events.CREATE=module$exports$Blockly$Events$utils.CREATE;\n$.module$exports$Blockly$Events.DELETE=module$exports$Blockly$Events$utils.DELETE;$.module$exports$Blockly$Events.FINISHED_LOADING=module$exports$Blockly$Events$utils.FINISHED_LOADING;$.module$exports$Blockly$Events.MARKER_MOVE=module$exports$Blockly$Events$utils.MARKER_MOVE;$.module$exports$Blockly$Events.MOVE=module$exports$Blockly$Events$utils.MOVE;$.module$exports$Blockly$Events.SELECTED=module$exports$Blockly$Events$utils.SELECTED;$.module$exports$Blockly$Events.THEME_CHANGE=module$exports$Blockly$Events$utils.THEME_CHANGE;\n$.module$exports$Blockly$Events.TOOLBOX_ITEM_SELECT=module$exports$Blockly$Events$utils.TOOLBOX_ITEM_SELECT;$.module$exports$Blockly$Events.TRASHCAN_OPEN=module$exports$Blockly$Events$utils.TRASHCAN_OPEN;$.module$exports$Blockly$Events.UI=module$exports$Blockly$Events$utils.UI;$.module$exports$Blockly$Events.VAR_CREATE=module$exports$Blockly$Events$utils.VAR_CREATE;$.module$exports$Blockly$Events.VAR_DELETE=module$exports$Blockly$Events$utils.VAR_DELETE;\n$.module$exports$Blockly$Events.VAR_RENAME=module$exports$Blockly$Events$utils.VAR_RENAME;$.module$exports$Blockly$Events.VIEWPORT_CHANGE=module$exports$Blockly$Events$utils.VIEWPORT_CHANGE;$.module$exports$Blockly$Events.clearPendingUndo=module$exports$Blockly$Events$utils.clearPendingUndo;$.module$exports$Blockly$Events.disable=module$exports$Blockly$Events$utils.disable;$.module$exports$Blockly$Events.enable=module$exports$Blockly$Events$utils.enable;$.module$exports$Blockly$Events.filter=module$exports$Blockly$Events$utils.filter;\n$.module$exports$Blockly$Events.fire=module$exports$Blockly$Events$utils.fire;$.module$exports$Blockly$Events.fromJson=module$exports$Blockly$Events$utils.fromJson;$.module$exports$Blockly$Events.getDescendantIds=module$exports$Blockly$Events$utils.getDescendantIds;$.module$exports$Blockly$Events.get=module$exports$Blockly$Events$utils.get;$.module$exports$Blockly$Events.getGroup=module$exports$Blockly$Events$utils.getGroup;$.module$exports$Blockly$Events.getRecordUndo=module$exports$Blockly$Events$utils.getRecordUndo;\n$.module$exports$Blockly$Events.isEnabled=module$exports$Blockly$Events$utils.isEnabled;$.module$exports$Blockly$Events.setGroup=module$exports$Blockly$Events$utils.setGroup;$.module$exports$Blockly$Events.setRecordUndo=module$exports$Blockly$Events$utils.setRecordUndo;$.module$exports$Blockly$Events.disableOrphans=module$exports$Blockly$Events$utils.disableOrphans;\nObject.defineProperties($.module$exports$Blockly$Events,{recordUndo:{get:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.Events.recordUndo\",\"September 2021\",\"September 2022\",\"Blockly.Events.getRecordUndo()\");return(0,module$exports$Blockly$Events$utils.getRecordUndo)()},set:function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.Events.recordUndo\",\"September 2021\",\"September 2022\",\"Blockly.Events.setRecordUndo()\");(0,module$exports$Blockly$Events$utils.setRecordUndo)(a)}}});var module$exports$Blockly$ContextMenuItems={registerUndo:function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(){return $.module$exports$Blockly$Msg.Msg.UNDO},preconditionFn:function(a){return 0<a.workspace.getUndoStack().length?\"enabled\":\"disabled\"},callback:function(a){a.workspace.undo(!1)},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.WORKSPACE,id:\"undoWorkspace\",weight:1})},registerRedo:function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(){return $.module$exports$Blockly$Msg.Msg.REDO},\npreconditionFn:function(a){return 0<a.workspace.getRedoStack().length?\"enabled\":\"disabled\"},callback:function(a){a.workspace.undo(!0)},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.WORKSPACE,id:\"redoWorkspace\",weight:2})},registerCleanup:function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(){return $.module$exports$Blockly$Msg.Msg.CLEAN_UP},preconditionFn:function(a){return a.workspace.isMovable()?1<\na.workspace.getTopBlocks(!1).length?\"enabled\":\"disabled\":\"hidden\"},callback:function(a){a.workspace.cleanUp()},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.WORKSPACE,id:\"cleanWorkspace\",weight:3})}},module$contents$Blockly$ContextMenuItems_toggleOption_=function(a,b){var c=0,d=0,e=function(h){d--;h.setCollapsed(a);0===d&&(0,$.module$exports$Blockly$Events.setGroup)(!1)};(0,$.module$exports$Blockly$Events.setGroup)(!0);for(var f=0;f<b.length;f++)for(var g=b[f];g;)d++,\nsetTimeout(e.bind(null,g),c),g=g.getNextBlock(),c+=10};\nmodule$exports$Blockly$ContextMenuItems.registerCollapse=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(){return $.module$exports$Blockly$Msg.Msg.COLLAPSE_ALL},preconditionFn:function(a){if(a.workspace.options.collapse){a=a.workspace.getTopBlocks(!1);for(var b=0;b<a.length;b++)for(var c=a[b];c;){if(!c.isCollapsed())return\"enabled\";c=c.getNextBlock()}return\"disabled\"}return\"hidden\"},callback:function(a){module$contents$Blockly$ContextMenuItems_toggleOption_(!0,\na.workspace.getTopBlocks(!0))},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.WORKSPACE,id:\"collapseWorkspace\",weight:4})};\nmodule$exports$Blockly$ContextMenuItems.registerExpand=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(){return $.module$exports$Blockly$Msg.Msg.EXPAND_ALL},preconditionFn:function(a){if(a.workspace.options.collapse){a=a.workspace.getTopBlocks(!1);for(var b=0;b<a.length;b++)for(var c=a[b];c;){if(c.isCollapsed())return\"enabled\";c=c.getNextBlock()}return\"disabled\"}return\"hidden\"},callback:function(a){module$contents$Blockly$ContextMenuItems_toggleOption_(!1,\na.workspace.getTopBlocks(!0))},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.WORKSPACE,id:\"expandWorkspace\",weight:5})};\nvar module$contents$Blockly$ContextMenuItems_addDeletableBlocks_=function(a,b){if(a.isDeletable())Array.prototype.push.apply(b,a.getDescendants(!1));else{a=a.getChildren(!1);for(var c=0;c<a.length;c++)module$contents$Blockly$ContextMenuItems_addDeletableBlocks_(a[c],b)}},module$contents$Blockly$ContextMenuItems_getDeletableBlocks_=function(a){var b=[];a=a.getTopBlocks(!0);for(var c=0;c<a.length;c++)module$contents$Blockly$ContextMenuItems_addDeletableBlocks_(a[c],b);return b},module$contents$Blockly$ContextMenuItems_deleteNext_=\nfunction(a,b){(0,module$exports$Blockly$Events$utils.setGroup)(b);var c=a.shift();c&&(c.workspace?(c.dispose(!1,!0),setTimeout(module$contents$Blockly$ContextMenuItems_deleteNext_,10,a,b)):module$contents$Blockly$ContextMenuItems_deleteNext_(a,b));(0,module$exports$Blockly$Events$utils.setGroup)(!1)};\nmodule$exports$Blockly$ContextMenuItems.registerDeleteAll=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(a){if(a.workspace)return a=module$contents$Blockly$ContextMenuItems_getDeletableBlocks_(a.workspace).length,1===a?$.module$exports$Blockly$Msg.Msg.DELETE_BLOCK:$.module$exports$Blockly$Msg.Msg.DELETE_X_BLOCKS.replace(\"%1\",String(a))},preconditionFn:function(a){if(a.workspace)return 0<module$contents$Blockly$ContextMenuItems_getDeletableBlocks_(a.workspace).length?\n\"enabled\":\"disabled\"},callback:function(a){if(a.workspace){a.workspace.cancelCurrentGesture();var b=module$contents$Blockly$ContextMenuItems_getDeletableBlocks_(a.workspace),c=(0,module$exports$Blockly$utils$idGenerator.genUid)();2>b.length?module$contents$Blockly$ContextMenuItems_deleteNext_(b,c):(0,module$exports$Blockly$dialog.confirm)($.module$exports$Blockly$Msg.Msg.DELETE_ALL_BLOCKS.replace(\"%1\",String(b.length)),function(d){d&&module$contents$Blockly$ContextMenuItems_deleteNext_(b,c)})}},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.WORKSPACE,\nid:\"workspaceDelete\",weight:6})};var module$contents$Blockly$ContextMenuItems_registerWorkspaceOptions_=function(){(0,module$exports$Blockly$ContextMenuItems.registerUndo)();(0,module$exports$Blockly$ContextMenuItems.registerRedo)();(0,module$exports$Blockly$ContextMenuItems.registerCleanup)();(0,module$exports$Blockly$ContextMenuItems.registerCollapse)();(0,module$exports$Blockly$ContextMenuItems.registerExpand)();(0,module$exports$Blockly$ContextMenuItems.registerDeleteAll)()};\nmodule$exports$Blockly$ContextMenuItems.registerDuplicate=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(){return $.module$exports$Blockly$Msg.Msg.DUPLICATE_BLOCK},preconditionFn:function(a){a=a.block;return!a.isInFlyout&&a.isDeletable()&&a.isMovable()?a.isDuplicatable()?\"enabled\":\"disabled\":\"hidden\"},callback:function(a){a.block&&(0,module$exports$Blockly$clipboard.duplicate)(a.block)},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.BLOCK,\nid:\"blockDuplicate\",weight:1})};\nmodule$exports$Blockly$ContextMenuItems.registerComment=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(a){return a.block.getCommentIcon()?$.module$exports$Blockly$Msg.Msg.REMOVE_COMMENT:$.module$exports$Blockly$Msg.Msg.ADD_COMMENT},preconditionFn:function(a){a=a.block;return module$exports$Blockly$utils$userAgent.IE||a.isInFlyout||!a.workspace.options.comments||a.isCollapsed()||!a.isEditable()?\"hidden\":\"enabled\"},callback:function(a){a=\na.block;a.getCommentIcon()?a.setCommentText(null):a.setCommentText(\"\")},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.BLOCK,id:\"blockComment\",weight:2})};\nmodule$exports$Blockly$ContextMenuItems.registerInline=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(a){return a.block.getInputsInline()?$.module$exports$Blockly$Msg.Msg.EXTERNAL_INPUTS:$.module$exports$Blockly$Msg.Msg.INLINE_INPUTS},preconditionFn:function(a){a=a.block;if(!a.isInFlyout&&a.isMovable()&&!a.isCollapsed())for(var b=1;b<a.inputList.length;b++)if(a.inputList[b-1].type!==$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT&&\na.inputList[b].type!==$.module$exports$Blockly$inputTypes.inputTypes.STATEMENT)return\"enabled\";return\"hidden\"},callback:function(a){a.block.setInputsInline(!a.block.getInputsInline())},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.BLOCK,id:\"blockInline\",weight:3})};\nmodule$exports$Blockly$ContextMenuItems.registerCollapseExpandBlock=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(a){return a.block.isCollapsed()?$.module$exports$Blockly$Msg.Msg.EXPAND_BLOCK:$.module$exports$Blockly$Msg.Msg.COLLAPSE_BLOCK},preconditionFn:function(a){a=a.block;return!a.isInFlyout&&a.isMovable()&&a.workspace.options.collapse?\"enabled\":\"hidden\"},callback:function(a){a.block.setCollapsed(!a.block.isCollapsed())},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.BLOCK,\nid:\"blockCollapseExpand\",weight:4})};\nmodule$exports$Blockly$ContextMenuItems.registerDisable=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(a){return a.block.isEnabled()?$.module$exports$Blockly$Msg.Msg.DISABLE_BLOCK:$.module$exports$Blockly$Msg.Msg.ENABLE_BLOCK},preconditionFn:function(a){a=a.block;return!a.isInFlyout&&a.workspace.options.disable&&a.isEditable()?a.getInheritedDisabled()?\"disabled\":\"enabled\":\"hidden\"},callback:function(a){a=a.block;var b=(0,module$exports$Blockly$Events$utils.getGroup)();\nb||(0,module$exports$Blockly$Events$utils.setGroup)(!0);a.setEnabled(!a.isEnabled());b||(0,module$exports$Blockly$Events$utils.setGroup)(!1)},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.BLOCK,id:\"blockDisable\",weight:5})};\nmodule$exports$Blockly$ContextMenuItems.registerDelete=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(a){var b=a.block;a=b.getDescendants(!1).length;(b=b.getNextBlock())&&(a-=b.getDescendants(!1).length);return 1===a?$.module$exports$Blockly$Msg.Msg.DELETE_BLOCK:$.module$exports$Blockly$Msg.Msg.DELETE_X_BLOCKS.replace(\"%1\",String(a))},preconditionFn:function(a){return!a.block.isInFlyout&&a.block.isDeletable()?\"enabled\":\"hidden\"},callback:function(a){a.block&&\na.block.checkAndDelete()},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.BLOCK,id:\"blockDelete\",weight:6})};\nmodule$exports$Blockly$ContextMenuItems.registerHelp=function(){module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.registry.register({displayText:function(){return $.module$exports$Blockly$Msg.Msg.HELP},preconditionFn:function(a){a=a.block;return(\"function\"===typeof a.helpUrl?a.helpUrl():a.helpUrl)?\"enabled\":\"hidden\"},callback:function(a){a.block.showHelp()},scopeType:module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry.ScopeType.BLOCK,id:\"blockHelp\",weight:7})};\nvar module$contents$Blockly$ContextMenuItems_registerBlockOptions_=function(){(0,module$exports$Blockly$ContextMenuItems.registerDuplicate)();(0,module$exports$Blockly$ContextMenuItems.registerComment)();(0,module$exports$Blockly$ContextMenuItems.registerInline)();(0,module$exports$Blockly$ContextMenuItems.registerCollapseExpandBlock)();(0,module$exports$Blockly$ContextMenuItems.registerDisable)();(0,module$exports$Blockly$ContextMenuItems.registerDelete)();(0,module$exports$Blockly$ContextMenuItems.registerHelp)()};\nmodule$exports$Blockly$ContextMenuItems.registerDefaultOptions=function(){module$contents$Blockly$ContextMenuItems_registerWorkspaceOptions_();module$contents$Blockly$ContextMenuItems_registerBlockOptions_()};(0,module$exports$Blockly$ContextMenuItems.registerDefaultOptions)();var module$exports$Blockly$Icon={Icon:function(a){this.block_=a;this.iconGroup_=null}};module$exports$Blockly$Icon.Icon.prototype.collapseHidden=!0;module$exports$Blockly$Icon.Icon.prototype.SIZE=17;module$exports$Blockly$Icon.Icon.prototype.bubble_=null;module$exports$Blockly$Icon.Icon.prototype.iconXY_=null;\nmodule$exports$Blockly$Icon.Icon.prototype.createIcon=function(){this.iconGroup_||(this.iconGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyIconGroup\"},null),this.block_.isInFlyout&&(0,module$exports$Blockly$utils$dom.addClass)(this.iconGroup_,\"blocklyIconGroupReadonly\"),this.drawIcon_(this.iconGroup_),this.block_.getSvgRoot().appendChild(this.iconGroup_),(0,module$exports$Blockly$browserEvents.conditionalBind)(this.iconGroup_,\"mouseup\",\nthis,this.iconClick_),this.updateEditable())};module$exports$Blockly$Icon.Icon.prototype.dispose=function(){(0,module$exports$Blockly$utils$dom.removeNode)(this.iconGroup_);this.iconGroup_=null;this.setVisible(!1);this.block_=null};module$exports$Blockly$Icon.Icon.prototype.updateEditable=function(){};module$exports$Blockly$Icon.Icon.prototype.isVisible=function(){return!!this.bubble_};\nmodule$exports$Blockly$Icon.Icon.prototype.iconClick_=function(a){this.block_.workspace.isDragging()||this.block_.isInFlyout||(0,module$exports$Blockly$browserEvents.isRightButton)(a)||this.setVisible(!this.isVisible())};module$exports$Blockly$Icon.Icon.prototype.applyColour=function(){this.isVisible()&&this.bubble_.setColour(this.block_.style.colourPrimary)};module$exports$Blockly$Icon.Icon.prototype.setIconLocation=function(a){this.iconXY_=a;this.isVisible()&&this.bubble_.setAnchorLocation(a)};\nmodule$exports$Blockly$Icon.Icon.prototype.computeIconLocation=function(){var a=this.block_.getRelativeToSurfaceXY(),b=(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(this.iconGroup_);a=new module$exports$Blockly$utils$Coordinate.Coordinate(a.x+b.x+this.SIZE/2,a.y+b.y+this.SIZE/2);module$exports$Blockly$utils$Coordinate.Coordinate.equals(this.getIconLocation(),a)||this.setIconLocation(a)};module$exports$Blockly$Icon.Icon.prototype.getIconLocation=function(){return this.iconXY_};\nmodule$exports$Blockly$Icon.Icon.prototype.getCorrectedSize=function(){return new module$exports$Blockly$utils$Size.Size(module$exports$Blockly$Icon.Icon.prototype.SIZE,module$exports$Blockly$Icon.Icon.prototype.SIZE-2)};var module$exports$Blockly$Warning={Warning:function(a){module$exports$Blockly$Warning.Warning.superClass_.constructor.call(this,a);this.createIcon();this.text_=Object.create(null)}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Warning.Warning,module$exports$Blockly$Icon.Icon);module$exports$Blockly$Warning.Warning.prototype.collapseHidden=!1;\nmodule$exports$Blockly$Warning.Warning.prototype.drawIcon_=function(a){(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyIconShape\",d:\"M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyIconSymbol\",d:\"m7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,\n{\"class\":\"blocklyIconSymbol\",x:\"7\",y:\"11\",height:\"2\",width:\"2\"},a)};module$exports$Blockly$Warning.Warning.prototype.setVisible=function(a){a!==this.isVisible()&&((0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.BUBBLE_OPEN))(this.block_,a,\"warning\")),a?this.createBubble_():this.disposeBubble_())};\nmodule$exports$Blockly$Warning.Warning.prototype.createBubble_=function(){this.paragraphElement_=module$exports$Blockly$Bubble.Bubble.textToDom(this.getText());this.bubble_=module$exports$Blockly$Bubble.Bubble.createNonEditableBubble(this.paragraphElement_,this.block_,this.iconXY_);this.applyColour()};module$exports$Blockly$Warning.Warning.prototype.disposeBubble_=function(){this.bubble_.dispose();this.paragraphElement_=this.bubble_=null};\nmodule$exports$Blockly$Warning.Warning.prototype.setText=function(a,b){this.text_[b]!==a&&(a?this.text_[b]=a:delete this.text_[b],this.isVisible()&&(this.setVisible(!1),this.setVisible(!0)))};module$exports$Blockly$Warning.Warning.prototype.getText=function(){var a=[],b;for(b in this.text_)a.push(this.text_[b]);return a.join(\"\\n\")};module$exports$Blockly$Warning.Warning.prototype.dispose=function(){this.block_.warning=null;module$exports$Blockly$Icon.Icon.prototype.dispose.call(this)};var module$exports$Blockly$Comment={Comment:function(a){module$exports$Blockly$Comment.Comment.superClass_.constructor.call(this,a);this.model_=a.commentModel;this.model_.text=this.model_.text||\"\";this.cachedText_=\"\";this.onInputWrapper_=this.onChangeWrapper_=this.onWheelWrapper_=this.onMouseUpWrapper_=null;this.createIcon()}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Comment.Comment,module$exports$Blockly$Icon.Icon);\nmodule$exports$Blockly$Comment.Comment.prototype.drawIcon_=function(a){(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CIRCLE,{\"class\":\"blocklyIconShape\",r:\"8\",cx:\"8\",cy:\"8\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyIconSymbol\",d:\"m6.8,10h2c0.003,-0.617 0.271,-0.962 0.633,-1.266 2.875,-2.4050.607,-5.534 -3.765,-3.874v1.7c3.12,-1.657 3.698,0.118 2.336,1.25-1.201,0.998 -1.201,1.528 -1.204,2.19z\"},\na);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blocklyIconSymbol\",x:\"6.8\",y:\"10.78\",height:\"2\",width:\"2\"},a)};\nmodule$exports$Blockly$Comment.Comment.prototype.createEditor_=function(){this.foreignObject_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FOREIGNOBJECT,{x:module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH,y:module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH},null);var a=document.createElementNS(module$exports$Blockly$utils$dom.HTML_NS,\"body\");a.setAttribute(\"xmlns\",module$exports$Blockly$utils$dom.HTML_NS);a.className=\"blocklyMinimalBody\";var b=this.textarea_=\ndocument.createElementNS(module$exports$Blockly$utils$dom.HTML_NS,\"textarea\");b.className=\"blocklyCommentTextarea\";b.setAttribute(\"dir\",this.block_.RTL?\"RTL\":\"LTR\");b.value=this.model_.text;this.resizeTextarea_();a.appendChild(b);this.foreignObject_.appendChild(a);this.onMouseUpWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"mouseup\",this,this.startEdit_,!0,!0);this.onWheelWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"wheel\",this,function(c){c.stopPropagation()});\nthis.onChangeWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"change\",this,function(c){this.cachedText_!==this.model_.text&&(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(this.block_,\"comment\",null,this.cachedText_,this.model_.text))});this.onInputWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"input\",this,function(c){this.model_.text=b.value});setTimeout(b.focus.bind(b),\n0);return this.foreignObject_};module$exports$Blockly$Comment.Comment.prototype.updateEditable=function(){module$exports$Blockly$Comment.Comment.superClass_.updateEditable.call(this);this.isVisible()&&(this.disposeBubble_(),this.createBubble_())};module$exports$Blockly$Comment.Comment.prototype.onBubbleResize_=function(){this.isVisible()&&(this.model_.size=this.bubble_.getBubbleSize(),this.resizeTextarea_())};\nmodule$exports$Blockly$Comment.Comment.prototype.resizeTextarea_=function(){var a=this.model_.size,b=2*module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH,c=a.width-b;a=a.height-b;this.foreignObject_.setAttribute(\"width\",c);this.foreignObject_.setAttribute(\"height\",a);this.textarea_.style.width=c-4+\"px\";this.textarea_.style.height=a-4+\"px\"};\nmodule$exports$Blockly$Comment.Comment.prototype.setVisible=function(a){a!==this.isVisible()&&((0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.BUBBLE_OPEN))(this.block_,a,\"comment\")),(this.model_.pinned=a)?this.createBubble_():this.disposeBubble_())};\nmodule$exports$Blockly$Comment.Comment.prototype.createBubble_=function(){!this.block_.isEditable()||module$exports$Blockly$utils$userAgent.IE?this.createNonEditableBubble_():this.createEditableBubble_()};\nmodule$exports$Blockly$Comment.Comment.prototype.createEditableBubble_=function(){this.bubble_=new module$exports$Blockly$Bubble.Bubble(this.block_.workspace,this.createEditor_(),this.block_.pathObject.svgPath,this.iconXY_,this.model_.size.width,this.model_.size.height);this.bubble_.setSvgId(this.block_.id);this.bubble_.registerResizeEvent(this.onBubbleResize_.bind(this));this.applyColour()};\nmodule$exports$Blockly$Comment.Comment.prototype.createNonEditableBubble_=function(){this.paragraphElement_=module$exports$Blockly$Bubble.Bubble.textToDom(this.block_.getCommentText());this.bubble_=module$exports$Blockly$Bubble.Bubble.createNonEditableBubble(this.paragraphElement_,this.block_,this.iconXY_);this.applyColour()};\nmodule$exports$Blockly$Comment.Comment.prototype.disposeBubble_=function(){this.onMouseUpWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onMouseUpWrapper_),this.onMouseUpWrapper_=null);this.onWheelWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onWheelWrapper_),this.onWheelWrapper_=null);this.onChangeWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onChangeWrapper_),this.onChangeWrapper_=null);this.onInputWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onInputWrapper_),\nthis.onInputWrapper_=null);this.bubble_.dispose();this.paragraphElement_=this.foreignObject_=this.textarea_=this.bubble_=null};module$exports$Blockly$Comment.Comment.prototype.startEdit_=function(a){this.bubble_.promote()&&this.textarea_.focus();this.cachedText_=this.model_.text};module$exports$Blockly$Comment.Comment.prototype.getBubbleSize=function(){return this.model_.size};\nmodule$exports$Blockly$Comment.Comment.prototype.setBubbleSize=function(a,b){this.bubble_?this.bubble_.setBubbleSize(a,b):(this.model_.size.width=a,this.model_.size.height=b)};module$exports$Blockly$Comment.Comment.prototype.updateText=function(){this.textarea_?this.textarea_.value=this.model_.text:this.paragraphElement_&&(this.paragraphElement_.firstChild.textContent=this.model_.text)};module$exports$Blockly$Comment.Comment.prototype.dispose=function(){this.block_.comment=null;module$exports$Blockly$Icon.Icon.prototype.dispose.call(this)};\n(0,module$exports$Blockly$Css.register)(\"\\n .blocklyCommentTextarea {\\n background-color: #fef49c;\\n border: 0;\\n display: block;\\n margin: 0;\\n outline: 0;\\n padding: 3px;\\n resize: none;\\n text-overflow: hidden;\\n }\\n\");var module$exports$Blockly$uiPosition={verticalPosition:{TOP:0,BOTTOM:1},horizontalPosition:{LEFT:0,RIGHT:1},bumpDirection:{UP:0,DOWN:1},getStartPositionRect:function(a,b,c,d,e,f){var g=f.scrollbar&&f.scrollbar.canScrollVertically();a.horizontal===module$exports$Blockly$uiPosition.horizontalPosition.LEFT?(c=e.absoluteMetrics.left+c,g&&f.RTL&&(c+=module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness)):(c=e.absoluteMetrics.left+e.viewMetrics.width-b.width-c,g&&!f.RTL&&(c-=module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness));\na.vertical===module$exports$Blockly$uiPosition.verticalPosition.TOP?a=e.absoluteMetrics.top+d:(a=e.absoluteMetrics.top+e.viewMetrics.height-b.height-d,f.scrollbar&&f.scrollbar.canScrollHorizontally()&&(a-=module$exports$Blockly$Scrollbar.Scrollbar.scrollbarThickness));return new module$exports$Blockly$utils$Rect.Rect(a,a+b.height,c,c+b.width)},getCornerOppositeToolbox:function(a,b){return{horizontal:b.toolboxMetrics.position===module$exports$Blockly$utils$toolbox.Position.LEFT||a.horizontalLayout&&\n!a.RTL?module$exports$Blockly$uiPosition.horizontalPosition.RIGHT:module$exports$Blockly$uiPosition.horizontalPosition.LEFT,vertical:b.toolboxMetrics.position===module$exports$Blockly$utils$toolbox.Position.BOTTOM?module$exports$Blockly$uiPosition.verticalPosition.TOP:module$exports$Blockly$uiPosition.verticalPosition.BOTTOM}},bumpPositionRect:function(a,b,c,d){for(var e=a.left,f=a.right-a.left,g=a.bottom-a.top,h=0;h<d.length;h++){var k=d[h];a.intersects(k)&&(a=c===module$exports$Blockly$uiPosition.bumpDirection.UP?\nk.top-g-b:k.bottom+b,a=new module$exports$Blockly$utils$Rect.Rect(a,a+g,e,e+f),h=-1)}return a}};var module$exports$Blockly$IPositionable={IPositionable:function(){}};var module$exports$Blockly$ZoomControls={ZoomControls:function(a){this.workspace_=a;this.id=\"zoomControls\";this.zoomResetGroup_=this.zoomOutGroup_=this.zoomInGroup_=this.onZoomOutWrapper_=this.onZoomInWrapper_=this.onZoomResetWrapper_=null}};module$exports$Blockly$ZoomControls.ZoomControls.prototype.WIDTH_=32;module$exports$Blockly$ZoomControls.ZoomControls.prototype.HEIGHT_=32;module$exports$Blockly$ZoomControls.ZoomControls.prototype.SMALL_SPACING_=2;\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.LARGE_SPACING_=11;module$exports$Blockly$ZoomControls.ZoomControls.prototype.MARGIN_VERTICAL_=20;module$exports$Blockly$ZoomControls.ZoomControls.prototype.MARGIN_HORIZONTAL_=20;module$exports$Blockly$ZoomControls.ZoomControls.prototype.svgGroup_=null;module$exports$Blockly$ZoomControls.ZoomControls.prototype.left_=0;module$exports$Blockly$ZoomControls.ZoomControls.prototype.top_=0;\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.initialized_=!1;module$exports$Blockly$ZoomControls.ZoomControls.prototype.createDom=function(){this.svgGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{},null);var a=String(Math.random()).substring(2);this.createZoomOutSvg_(a);this.createZoomInSvg_(a);this.workspace_.isMovable()&&this.createZoomResetSvg_(a);return this.svgGroup_};\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.init=function(){this.workspace_.getComponentManager().addComponent({component:this,weight:2,capabilities:[module$exports$Blockly$ComponentManager.ComponentManager.Capability.POSITIONABLE]});this.initialized_=!0};\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.dispose=function(){this.workspace_.getComponentManager().removeComponent(\"zoomControls\");this.svgGroup_&&(0,module$exports$Blockly$utils$dom.removeNode)(this.svgGroup_);this.onZoomResetWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.onZoomResetWrapper_);this.onZoomInWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.onZoomInWrapper_);this.onZoomOutWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.onZoomOutWrapper_)};\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.getBoundingRectangle=function(){var a=this.SMALL_SPACING_+2*this.HEIGHT_;this.zoomResetGroup_&&(a+=this.LARGE_SPACING_+this.HEIGHT_);return new module$exports$Blockly$utils$Rect.Rect(this.top_,this.top_+a,this.left_,this.left_+this.WIDTH_)};\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.position=function(a,b){if(this.initialized_){var c=(0,module$exports$Blockly$uiPosition.getCornerOppositeToolbox)(this.workspace_,a),d=this.SMALL_SPACING_+2*this.HEIGHT_;this.zoomResetGroup_&&(d+=this.LARGE_SPACING_+this.HEIGHT_);a=(0,module$exports$Blockly$uiPosition.getStartPositionRect)(c,new module$exports$Blockly$utils$Size.Size(this.WIDTH_,d),this.MARGIN_HORIZONTAL_,this.MARGIN_VERTICAL_,a,this.workspace_);c=c.vertical;b=(0,module$exports$Blockly$uiPosition.bumpPositionRect)(a,\nthis.MARGIN_VERTICAL_,c===module$exports$Blockly$uiPosition.verticalPosition.TOP?module$exports$Blockly$uiPosition.bumpDirection.DOWN:module$exports$Blockly$uiPosition.bumpDirection.UP,b);c===module$exports$Blockly$uiPosition.verticalPosition.TOP?(c=this.SMALL_SPACING_+this.HEIGHT_,this.zoomInGroup_.setAttribute(\"transform\",\"translate(0, \"+c+\")\"),this.zoomResetGroup_&&this.zoomResetGroup_.setAttribute(\"transform\",\"translate(0, \"+(c+this.LARGE_SPACING_+this.HEIGHT_)+\")\")):(c=this.zoomResetGroup_?this.LARGE_SPACING_+\nthis.HEIGHT_:0,this.zoomInGroup_.setAttribute(\"transform\",\"translate(0, \"+c+\")\"),this.zoomOutGroup_.setAttribute(\"transform\",\"translate(0, \"+(c+this.SMALL_SPACING_+this.HEIGHT_)+\")\"));this.top_=b.top;this.left_=b.left;this.svgGroup_.setAttribute(\"transform\",\"translate(\"+this.left_+\",\"+this.top_+\")\")}};\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.createZoomOutSvg_=function(a){this.zoomOutGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyZoom\"},this.svgGroup_);var b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CLIPPATH,{id:\"blocklyZoomoutClipPath\"+a},this.zoomOutGroup_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{width:32,\nheight:32},b);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.IMAGE,{width:$.module$exports$Blockly$internalConstants.SPRITE.width,height:$.module$exports$Blockly$internalConstants.SPRITE.height,x:-64,y:-92,\"clip-path\":\"url(#blocklyZoomoutClipPath\"+a+\")\"},this.zoomOutGroup_).setAttributeNS(module$exports$Blockly$utils$dom.XLINK_NS,\"xlink:href\",this.workspace_.options.pathToMedia+$.module$exports$Blockly$internalConstants.SPRITE.url);this.onZoomOutWrapper_=\n(0,module$exports$Blockly$browserEvents.conditionalBind)(this.zoomOutGroup_,\"mousedown\",null,this.zoom_.bind(this,-1))};\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.createZoomInSvg_=function(a){this.zoomInGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyZoom\"},this.svgGroup_);var b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CLIPPATH,{id:\"blocklyZoominClipPath\"+a},this.zoomInGroup_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{width:32,\nheight:32},b);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.IMAGE,{width:$.module$exports$Blockly$internalConstants.SPRITE.width,height:$.module$exports$Blockly$internalConstants.SPRITE.height,x:-32,y:-92,\"clip-path\":\"url(#blocklyZoominClipPath\"+a+\")\"},this.zoomInGroup_).setAttributeNS(module$exports$Blockly$utils$dom.XLINK_NS,\"xlink:href\",this.workspace_.options.pathToMedia+$.module$exports$Blockly$internalConstants.SPRITE.url);this.onZoomInWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(this.zoomInGroup_,\n\"mousedown\",null,this.zoom_.bind(this,1))};module$exports$Blockly$ZoomControls.ZoomControls.prototype.zoom_=function(a,b){this.workspace_.markFocused();this.workspace_.zoomCenter(a);this.fireZoomEvent_();(0,module$exports$Blockly$Touch.clearTouchIdentifier)();b.stopPropagation();b.preventDefault()};\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.createZoomResetSvg_=function(a){this.zoomResetGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyZoom\"},this.svgGroup_);var b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CLIPPATH,{id:\"blocklyZoomresetClipPath\"+a},this.zoomResetGroup_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,\n{width:32,height:32},b);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.IMAGE,{width:$.module$exports$Blockly$internalConstants.SPRITE.width,height:$.module$exports$Blockly$internalConstants.SPRITE.height,y:-92,\"clip-path\":\"url(#blocklyZoomresetClipPath\"+a+\")\"},this.zoomResetGroup_).setAttributeNS(module$exports$Blockly$utils$dom.XLINK_NS,\"xlink:href\",this.workspace_.options.pathToMedia+$.module$exports$Blockly$internalConstants.SPRITE.url);this.onZoomResetWrapper_=\n(0,module$exports$Blockly$browserEvents.conditionalBind)(this.zoomResetGroup_,\"mousedown\",null,this.resetZoom_.bind(this))};\nmodule$exports$Blockly$ZoomControls.ZoomControls.prototype.resetZoom_=function(a){this.workspace_.markFocused();var b=Math.log(this.workspace_.options.zoomOptions.startScale/this.workspace_.scale)/Math.log(this.workspace_.options.zoomOptions.scaleSpeed);this.workspace_.beginCanvasTransition();this.workspace_.zoomCenter(b);this.workspace_.scrollCenter();setTimeout(this.workspace_.endCanvasTransition.bind(this.workspace_),500);this.fireZoomEvent_();(0,module$exports$Blockly$Touch.clearTouchIdentifier)();\na.stopPropagation();a.preventDefault()};module$exports$Blockly$ZoomControls.ZoomControls.prototype.fireZoomEvent_=function(){var a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CLICK))(null,this.workspace_.id,\"zoom_controls\");(0,module$exports$Blockly$Events$utils.fire)(a)};(0,module$exports$Blockly$Css.register)(\"\\n .blocklyZoom>image, .blocklyZoom>svg>image {\\n opacity: .4;\\n }\\n\\n .blocklyZoom>image:hover, .blocklyZoom>svg>image:hover {\\n opacity: .6;\\n }\\n\\n .blocklyZoom>image:active, .blocklyZoom>svg>image:active {\\n opacity: .8;\\n }\\n\");var module$exports$Blockly$WorkspaceComment={WorkspaceComment:function(a,b,c,d,e){this.id=e&&!a.getCommentById(e)?e:(0,module$exports$Blockly$utils$idGenerator.genUid)();a.addTopComment(this);this.xy_=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0);this.height_=c;this.width_=d;this.workspace=a;this.RTL=a.RTL;this.editable_=this.movable_=this.deletable_=!0;this.content_=b;this.disposed_=!1;this.isComment=!0;module$exports$Blockly$WorkspaceComment.WorkspaceComment.fireCreateEvent(this)}};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.dispose=function(){this.disposed_||((0,module$exports$Blockly$Events$utils.isEnabled)()&&(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.COMMENT_DELETE))(this)),this.workspace.removeTopComment(this),this.disposed_=!0)};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.getHeight=function(){return this.height_};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.setHeight=function(a){this.height_=a};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.getWidth=function(){return this.width_};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.setWidth=function(a){this.width_=a};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.getXY=function(){return new module$exports$Blockly$utils$Coordinate.Coordinate(this.xy_.x,this.xy_.y)};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.moveBy=function(a,b){var c=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.COMMENT_MOVE))(this);this.xy_.translate(a,b);c.recordNew();(0,module$exports$Blockly$Events$utils.fire)(c)};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.isDeletable=function(){return this.deletable_&&!(this.workspace&&this.workspace.options.readOnly)};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.setDeletable=function(a){this.deletable_=a};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.isMovable=function(){return this.movable_&&!(this.workspace&&this.workspace.options.readOnly)};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.setMovable=function(a){this.movable_=a};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.isEditable=function(){return this.editable_&&!(this.workspace&&this.workspace.options.readOnly)};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.setEditable=function(a){this.editable_=a};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.getContent=function(){return this.content_};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.setContent=function(a){this.content_!==a&&((0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.COMMENT_CHANGE))(this,this.content_,a)),this.content_=a)};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.toXmlWithXY=function(a){a=this.toXml(a);a.setAttribute(\"x\",Math.round(this.xy_.x));a.setAttribute(\"y\",Math.round(this.xy_.y));a.setAttribute(\"h\",this.height_);a.setAttribute(\"w\",this.width_);return a};module$exports$Blockly$WorkspaceComment.WorkspaceComment.prototype.toXml=function(a){var b=(0,$.module$exports$Blockly$utils$xml.createElement)(\"comment\");a||(b.id=this.id);b.textContent=this.getContent();return b};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.fireCreateEvent=function(a){if((0,module$exports$Blockly$Events$utils.isEnabled)()){var b=(0,module$exports$Blockly$Events$utils.getGroup)();b||(0,module$exports$Blockly$Events$utils.setGroup)(!0);try{(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.COMMENT_CREATE))(a))}finally{b||(0,module$exports$Blockly$Events$utils.setGroup)(!1)}}};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.fromXml=function(a,b){var c=module$exports$Blockly$WorkspaceComment.WorkspaceComment.parseAttributes(a);b=new module$exports$Blockly$WorkspaceComment.WorkspaceComment(b,c.content,c.h,c.w,c.id);c=parseInt(a.getAttribute(\"x\"),10);a=parseInt(a.getAttribute(\"y\"),10);isNaN(c)||isNaN(a)||b.moveBy(c,a);module$exports$Blockly$WorkspaceComment.WorkspaceComment.fireCreateEvent(b);return b};\nmodule$exports$Blockly$WorkspaceComment.WorkspaceComment.parseAttributes=function(a){var b=a.getAttribute(\"h\"),c=a.getAttribute(\"w\");return{id:a.getAttribute(\"id\"),h:b?parseInt(b,10):100,w:c?parseInt(c,10):100,x:parseInt(a.getAttribute(\"x\"),10),y:parseInt(a.getAttribute(\"y\"),10),content:a.textContent}};var module$exports$Blockly$WorkspaceCommentSvg={},module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE=8,module$contents$Blockly$WorkspaceCommentSvg_BORDER_RADIUS=3,module$contents$Blockly$WorkspaceCommentSvg_TEXTAREA_OFFSET=2;\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg=function(a,b,c,d,e){this.onMouseMoveWrapper_=this.onMouseUpWrapper_=null;this.svgGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyComment\"},null);this.svgGroup_.translate_=\"\";this.svgRect_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blocklyCommentRect\",x:0,y:0,rx:module$contents$Blockly$WorkspaceCommentSvg_BORDER_RADIUS,\nry:module$contents$Blockly$WorkspaceCommentSvg_BORDER_RADIUS});this.svgGroup_.appendChild(this.svgRect_);this.rendered_=!1;this.useDragSurface_=(0,module$exports$Blockly$utils$svgMath.is3dSupported)()&&!!a.getBlockDragSurface();module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.superClass_.constructor.call(this,a,b,c,d,e);this.render()};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg,module$exports$Blockly$WorkspaceComment.WorkspaceComment);\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.DEFAULT_SIZE=100;module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.TOP_OFFSET=10;\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.dispose=function(){this.disposed_||((0,$.module$exports$Blockly$common.getSelected)()===this&&(this.unselect(),this.workspace.cancelCurrentGesture()),(0,module$exports$Blockly$Events$utils.isEnabled)()&&(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.COMMENT_DELETE))(this)),(0,module$exports$Blockly$utils$dom.removeNode)(this.svgGroup_),this.disposeInternal_(),\n(0,module$exports$Blockly$Events$utils.disable)(),module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.superClass_.dispose.call(this),(0,module$exports$Blockly$Events$utils.enable)())};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.initSvg=function(a){if(!this.workspace.rendered)throw TypeError(\"Workspace is headless.\");this.workspace.options.readOnly||this.eventsInit_||((0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgRectTarget_,\"mousedown\",this,this.pathMouseDown_),(0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgHandleTarget_,\"mousedown\",this,this.pathMouseDown_));this.eventsInit_=!0;this.updateMovable();this.getSvgRoot().parentNode||\nthis.workspace.getBubbleCanvas().appendChild(this.getSvgRoot());!a&&this.textarea_&&this.textarea_.select()};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.pathMouseDown_=function(a){var b=this.workspace.getGesture(a);b&&b.handleBubbleStart(a,this)};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.showContextMenu=function(a){if(!this.workspace.options.readOnly){var b=[];this.isDeletable()&&this.isMovable()&&(b.push((0,$.module$exports$Blockly$ContextMenu.commentDuplicateOption)(this)),b.push((0,$.module$exports$Blockly$ContextMenu.commentDeleteOption)(this)));(0,$.module$exports$Blockly$ContextMenu.show)(a,b,this.RTL)}};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.select=function(){if((0,$.module$exports$Blockly$common.getSelected)()!==this){var a=null;if((0,$.module$exports$Blockly$common.getSelected)()){a=(0,$.module$exports$Blockly$common.getSelected)().id;(0,module$exports$Blockly$Events$utils.disable)();try{(0,$.module$exports$Blockly$common.getSelected)().unselect()}finally{(0,module$exports$Blockly$Events$utils.enable)()}}a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.SELECTED))(a,\nthis.id,this.workspace.id);(0,module$exports$Blockly$Events$utils.fire)(a);(0,$.module$exports$Blockly$common.setSelected)(this);this.addSelect()}};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.unselect=function(){if((0,$.module$exports$Blockly$common.getSelected)()===this){var a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.SELECTED))(this.id,null,this.workspace.id);(0,module$exports$Blockly$Events$utils.fire)(a);(0,$.module$exports$Blockly$common.setSelected)(null);this.removeSelect();this.blurFocus()}};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.addSelect=function(){(0,module$exports$Blockly$utils$dom.addClass)(this.svgGroup_,\"blocklySelected\");this.setFocus()};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.removeSelect=function(){(0,module$exports$Blockly$utils$dom.removeClass)(this.svgGroup_,\"blocklySelected\");this.blurFocus()};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.addFocus=function(){(0,module$exports$Blockly$utils$dom.addClass)(this.svgGroup_,\"blocklyFocused\")};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.removeFocus=function(){(0,module$exports$Blockly$utils$dom.removeClass)(this.svgGroup_,\"blocklyFocused\")};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.getRelativeToSurfaceXY=function(){var a=0,b=0,c=this.useDragSurface_?this.workspace.getBlockDragSurface().getGroup():null,d=this.getSvgRoot();if(d){do{var e=(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(d);a+=e.x;b+=e.y;this.useDragSurface_&&this.workspace.getBlockDragSurface().getCurrentBlock()===d&&(e=this.workspace.getBlockDragSurface().getSurfaceTranslation(),a+=e.x,b+=e.y);d=d.parentNode}while(d&&d!==this.workspace.getBubbleCanvas()&&\nd!==c)}return this.xy_=new module$exports$Blockly$utils$Coordinate.Coordinate(a,b)};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.moveBy=function(a,b){var c=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.COMMENT_MOVE))(this),d=this.getRelativeToSurfaceXY();this.translate(d.x+a,d.y+b);this.xy_=new module$exports$Blockly$utils$Coordinate.Coordinate(d.x+a,d.y+b);c.recordNew();(0,module$exports$Blockly$Events$utils.fire)(c);this.workspace.resizeContents()};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.translate=function(a,b){this.xy_=new module$exports$Blockly$utils$Coordinate.Coordinate(a,b);this.getSvgRoot().setAttribute(\"transform\",\"translate(\"+a+\",\"+b+\")\")};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.moveToDragSurface=function(){if(this.useDragSurface_){var a=this.getRelativeToSurfaceXY();this.clearTransformAttributes_();this.workspace.getBlockDragSurface().translateSurface(a.x,a.y);this.workspace.getBlockDragSurface().setBlocksAndShow(this.getSvgRoot())}};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.moveDuringDrag=function(a,b){a?a.translateSurface(b.x,b.y):(this.svgGroup_.translate_=\"translate(\"+b.x+\",\"+b.y+\")\",this.svgGroup_.setAttribute(\"transform\",this.svgGroup_.translate_+this.svgGroup_.skew_))};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.moveTo=function(a,b){this.translate(a,b)};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.clearTransformAttributes_=function(){this.getSvgRoot().removeAttribute(\"transform\")};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.getBoundingRectangle=function(){var a=this.getRelativeToSurfaceXY(),b=this.getHeightWidth(),c=a.y,d=a.y+b.height;if(this.RTL){var e=a.x-b.width;a=a.x}else e=a.x,a=a.x+b.width;return new module$exports$Blockly$utils$Rect.Rect(c,d,e,a)};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.updateMovable=function(){this.isMovable()?(0,module$exports$Blockly$utils$dom.addClass)(this.svgGroup_,\"blocklyDraggable\"):(0,module$exports$Blockly$utils$dom.removeClass)(this.svgGroup_,\"blocklyDraggable\")};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.setMovable=function(a){module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.superClass_.setMovable.call(this,a);this.updateMovable()};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.setEditable=function(a){module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.superClass_.setEditable.call(this,a);this.textarea_&&(this.textarea_.readOnly=!a)};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.setDragging=function(a){a?(a=this.getSvgRoot(),a.translate_=\"\",a.skew_=\"\",(0,module$exports$Blockly$utils$dom.addClass)(this.svgGroup_,\"blocklyDragging\")):(0,module$exports$Blockly$utils$dom.removeClass)(this.svgGroup_,\"blocklyDragging\")};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.getSvgRoot=function(){return this.svgGroup_};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.getContent=function(){return this.textarea_?this.textarea_.value:this.content_};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.setContent=function(a){module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.superClass_.setContent.call(this,a);this.textarea_&&(this.textarea_.value=a)};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.setDeleteStyle=function(a){a?(0,module$exports$Blockly$utils$dom.addClass)(this.svgGroup_,\"blocklyDraggingDelete\"):(0,module$exports$Blockly$utils$dom.removeClass)(this.svgGroup_,\"blocklyDraggingDelete\")};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.setAutoLayout=function(a){};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.fromXml=function(a,b,c){(0,module$exports$Blockly$Events$utils.disable)();try{var d=module$exports$Blockly$WorkspaceComment.WorkspaceComment.parseAttributes(a);var e=new module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg(b,d.content,d.h,d.w,d.id);b.rendered&&(e.initSvg(!0),e.render());if(!isNaN(d.x)&&!isNaN(d.y))if(b.RTL){var f=c||b.getWidth();e.moveBy(f-d.x,d.y)}else e.moveBy(d.x,d.y)}finally{(0,module$exports$Blockly$Events$utils.enable)()}module$exports$Blockly$WorkspaceComment.WorkspaceComment.fireCreateEvent(e);\nreturn e};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.toXmlWithXY=function(a){var b;this.workspace.RTL&&(b=this.workspace.getWidth());a=this.toXml(a);var c=this.getRelativeToSurfaceXY();a.setAttribute(\"x\",Math.round(this.workspace.RTL?b-c.x:c.x));a.setAttribute(\"y\",Math.round(c.y));a.setAttribute(\"h\",this.getHeight());a.setAttribute(\"w\",this.getWidth());return a};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.toCopyData=function(){return{saveInfo:this.toXmlWithXY(),source:this.workspace,typeCounts:null}};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.getHeightWidth=function(){return{width:this.getWidth(),height:this.getHeight()}};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.render=function(){if(!this.rendered_){var a=this.getHeightWidth();this.createEditor_();this.svgGroup_.appendChild(this.foreignObject_);this.svgHandleTarget_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blocklyCommentHandleTarget\",x:0,y:0});this.svgGroup_.appendChild(this.svgHandleTarget_);this.svgRectTarget_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,\n{\"class\":\"blocklyCommentTarget\",x:0,y:0,rx:module$contents$Blockly$WorkspaceCommentSvg_BORDER_RADIUS,ry:module$contents$Blockly$WorkspaceCommentSvg_BORDER_RADIUS});this.svgGroup_.appendChild(this.svgRectTarget_);this.addResizeDom_();this.isDeletable()&&this.addDeleteDom_();this.setSize_(a.width,a.height);this.textarea_.value=this.content_;this.rendered_=!0;this.resizeGroup_&&(0,module$exports$Blockly$browserEvents.conditionalBind)(this.resizeGroup_,\"mousedown\",this,this.resizeMouseDown_);this.isDeletable()&&\n((0,module$exports$Blockly$browserEvents.conditionalBind)(this.deleteGroup_,\"mousedown\",this,this.deleteMouseDown_),(0,module$exports$Blockly$browserEvents.conditionalBind)(this.deleteGroup_,\"mouseout\",this,this.deleteMouseOut_),(0,module$exports$Blockly$browserEvents.conditionalBind)(this.deleteGroup_,\"mouseup\",this,this.deleteMouseUp_))}};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.createEditor_=function(){this.foreignObject_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.FOREIGNOBJECT,{x:0,y:module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.TOP_OFFSET,\"class\":\"blocklyCommentForeignObject\"},null);var a=document.createElementNS(module$exports$Blockly$utils$dom.HTML_NS,\"body\");a.setAttribute(\"xmlns\",module$exports$Blockly$utils$dom.HTML_NS);a.className=\n\"blocklyMinimalBody\";var b=document.createElementNS(module$exports$Blockly$utils$dom.HTML_NS,\"textarea\");b.className=\"blocklyCommentTextarea\";b.setAttribute(\"dir\",this.RTL?\"RTL\":\"LTR\");b.readOnly=!this.isEditable();a.appendChild(b);this.textarea_=b;this.foreignObject_.appendChild(a);(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"wheel\",this,function(c){c.stopPropagation()});(0,module$exports$Blockly$browserEvents.conditionalBind)(b,\"change\",this,function(c){this.setContent(b.value)});\nreturn this.foreignObject_};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.addResizeDom_=function(){this.resizeGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":this.RTL?\"blocklyResizeSW\":\"blocklyResizeSE\"},this.svgGroup_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.POLYGON,{points:\"0,x x,x x,0\".replace(/x/g,module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE.toString())},this.resizeGroup_);\n(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,{\"class\":\"blocklyResizeLine\",x1:module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE/3,y1:module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE-1,x2:module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE-1,y2:module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE/3},this.resizeGroup_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,{\"class\":\"blocklyResizeLine\",\nx1:2*module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE/3,y1:module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE-1,x2:module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE-1,y2:2*module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE/3},this.resizeGroup_)};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.addDeleteDom_=function(){this.deleteGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyCommentDeleteIcon\"},this.svgGroup_);this.deleteIconBorder_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CIRCLE,{\"class\":\"blocklyDeleteIconShape\",r:\"7\",cx:\"7.5\",cy:\"7.5\"},this.deleteGroup_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,\n{x1:\"5\",y1:\"10\",x2:\"10\",y2:\"5\",stroke:\"#fff\",\"stroke-width\":\"2\"},this.deleteGroup_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.LINE,{x1:\"5\",y1:\"5\",x2:\"10\",y2:\"10\",stroke:\"#fff\",\"stroke-width\":\"2\"},this.deleteGroup_)};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.resizeMouseDown_=function(a){this.unbindDragEvents_();(0,module$exports$Blockly$browserEvents.isRightButton)(a)||(this.workspace.startDrag(a,new module$exports$Blockly$utils$Coordinate.Coordinate(this.workspace.RTL?-this.width_:this.width_,this.height_)),this.onMouseUpWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\"mouseup\",this,this.resizeMouseUp_),this.onMouseMoveWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(document,\n\"mousemove\",this,this.resizeMouseMove_),this.workspace.hideChaff());a.stopPropagation()};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.deleteMouseDown_=function(a){(0,module$exports$Blockly$utils$dom.addClass)(this.deleteIconBorder_,\"blocklyDeleteIconHighlighted\");a.stopPropagation()};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.deleteMouseOut_=function(a){(0,module$exports$Blockly$utils$dom.removeClass)(this.deleteIconBorder_,\"blocklyDeleteIconHighlighted\")};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.deleteMouseUp_=function(a){this.dispose();a.stopPropagation()};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.unbindDragEvents_=function(){this.onMouseUpWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onMouseUpWrapper_),this.onMouseUpWrapper_=null);this.onMouseMoveWrapper_&&((0,module$exports$Blockly$browserEvents.unbind)(this.onMouseMoveWrapper_),this.onMouseMoveWrapper_=null)};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.resizeMouseUp_=function(a){(0,module$exports$Blockly$Touch.clearTouchIdentifier)();this.unbindDragEvents_()};module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.resizeMouseMove_=function(a){this.autoLayout_=!1;a=this.workspace.moveDrag(a);this.setSize_(this.RTL?-a.x:a.x,a.y)};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.resizeComment_=function(){var a=this.getHeightWidth(),b=module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.TOP_OFFSET,c=2*module$contents$Blockly$WorkspaceCommentSvg_TEXTAREA_OFFSET;this.foreignObject_.setAttribute(\"width\",a.width);this.foreignObject_.setAttribute(\"height\",a.height-b);this.RTL&&this.foreignObject_.setAttribute(\"x\",-a.width);this.textarea_.style.width=a.width-c+\"px\";this.textarea_.style.height=a.height-\nc-b+\"px\"};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.setSize_=function(a,b){a=Math.max(a,45);b=Math.max(b,20+module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.TOP_OFFSET);this.width_=a;this.height_=b;this.svgRect_.setAttribute(\"width\",a);this.svgRect_.setAttribute(\"height\",b);this.svgRectTarget_.setAttribute(\"width\",a);this.svgRectTarget_.setAttribute(\"height\",b);this.svgHandleTarget_.setAttribute(\"width\",a);this.svgHandleTarget_.setAttribute(\"height\",module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.TOP_OFFSET);this.RTL&&\n(this.svgRect_.setAttribute(\"transform\",\"scale(-1 1)\"),this.svgRectTarget_.setAttribute(\"transform\",\"scale(-1 1)\"));this.resizeGroup_&&(this.RTL?(this.resizeGroup_.setAttribute(\"transform\",\"translate(\"+(-a+module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE)+\",\"+(b-module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE)+\") scale(-1 1)\"),this.deleteGroup_.setAttribute(\"transform\",\"translate(\"+(-a+module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE)+\",\"+-module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE+\n\") scale(-1 1)\")):(this.resizeGroup_.setAttribute(\"transform\",\"translate(\"+(a-module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE)+\",\"+(b-module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE)+\")\"),this.deleteGroup_.setAttribute(\"transform\",\"translate(\"+(a-module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE)+\",\"+-module$contents$Blockly$WorkspaceCommentSvg_RESIZE_SIZE+\")\")));this.resizeComment_()};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.disposeInternal_=function(){this.svgHandleTarget_=this.svgRectTarget_=this.foreignObject_=this.textarea_=null;this.disposed_=!0};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.setFocus=function(){var a=this;this.focused_=!0;setTimeout(function(){a.disposed_||(a.textarea_.focus(),a.addFocus(),(0,module$exports$Blockly$utils$dom.addClass)(a.svgRectTarget_,\"blocklyCommentTargetFocused\"),(0,module$exports$Blockly$utils$dom.addClass)(a.svgHandleTarget_,\"blocklyCommentHandleTargetFocused\"))},0)};\nmodule$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg.prototype.blurFocus=function(){var a=this;this.focused_=!1;setTimeout(function(){a.disposed_||(a.textarea_.blur(),a.removeFocus(),(0,module$exports$Blockly$utils$dom.removeClass)(a.svgRectTarget_,\"blocklyCommentTargetFocused\"),(0,module$exports$Blockly$utils$dom.removeClass)(a.svgHandleTarget_,\"blocklyCommentHandleTargetFocused\"))},0)};(0,module$exports$Blockly$Css.register)(\"\\n .blocklyCommentForeignObject {\\n position: relative;\\n z-index: 0;\\n }\\n\\n .blocklyCommentRect {\\n fill: #E7DE8E;\\n stroke: #bcA903;\\n stroke-width: 1px;\\n }\\n\\n .blocklyCommentTarget {\\n fill: transparent;\\n stroke: #bcA903;\\n }\\n\\n .blocklyCommentTargetFocused {\\n fill: none;\\n }\\n\\n .blocklyCommentHandleTarget {\\n fill: none;\\n }\\n\\n .blocklyCommentHandleTargetFocused {\\n fill: transparent;\\n }\\n\\n .blocklyFocused>.blocklyCommentRect {\\n fill: #B9B272;\\n stroke: #B9B272;\\n }\\n\\n .blocklySelected>.blocklyCommentTarget {\\n stroke: #fc3;\\n stroke-width: 3px;\\n }\\n\\n .blocklyCommentDeleteIcon {\\n cursor: pointer;\\n fill: #000;\\n display: none;\\n }\\n\\n .blocklySelected > .blocklyCommentDeleteIcon {\\n display: block;\\n }\\n\\n .blocklyDeleteIconShape {\\n fill: #000;\\n stroke: #000;\\n stroke-width: 1px;\\n }\\n\\n .blocklyDeleteIconShape.blocklyDeleteIconHighlighted {\\n stroke: #fc3;\\n }\\n\");var module$exports$Blockly$Trashcan={Trashcan:function(a){module$exports$Blockly$Trashcan.Trashcan.superClass_.constructor.call(this);this.workspace_=a;this.id=\"trashcan\";this.contents_=[];this.flyout=null;0>=this.workspace_.options.maxTrashcanContents||(a=new module$exports$Blockly$Options.Options({scrollbars:!0,parentWorkspace:this.workspace_,rtl:this.workspace_.RTL,oneBasedIndex:this.workspace_.options.oneBasedIndex,renderer:this.workspace_.options.renderer,rendererOverrides:this.workspace_.options.rendererOverrides,\nmove:{scrollbars:!0}}),this.workspace_.horizontalLayout?(a.toolboxPosition=this.workspace_.toolboxPosition===module$exports$Blockly$utils$toolbox.Position.TOP?module$exports$Blockly$utils$toolbox.Position.BOTTOM:module$exports$Blockly$utils$toolbox.Position.TOP,this.flyout=new ((0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX,this.workspace_.options,!0))(a)):(a.toolboxPosition=this.workspace_.toolboxPosition===module$exports$Blockly$utils$toolbox.Position.RIGHT?\nmodule$exports$Blockly$utils$toolbox.Position.LEFT:module$exports$Blockly$utils$toolbox.Position.RIGHT,this.flyout=new ((0,module$exports$Blockly$registry.getClassFromOptions)(module$exports$Blockly$registry.Type.FLYOUTS_VERTICAL_TOOLBOX,this.workspace_.options,!0))(a)),this.workspace_.addChangeListener(this.onDelete_.bind(this)))}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Trashcan.Trashcan,module$exports$Blockly$DeleteArea.DeleteArea);\nvar module$contents$Blockly$Trashcan_WIDTH=47,module$contents$Blockly$Trashcan_BODY_HEIGHT=44,module$contents$Blockly$Trashcan_LID_HEIGHT=16,module$contents$Blockly$Trashcan_MARGIN_VERTICAL=20,module$contents$Blockly$Trashcan_MARGIN_HORIZONTAL=20,module$contents$Blockly$Trashcan_MARGIN_HOTSPOT=10,module$contents$Blockly$Trashcan_SPRITE_LEFT=0,module$contents$Blockly$Trashcan_SPRITE_TOP=32,module$contents$Blockly$Trashcan_HAS_BLOCKS_LID_ANGLE=.1,module$contents$Blockly$Trashcan_ANIMATION_LENGTH=80,\nmodule$contents$Blockly$Trashcan_ANIMATION_FRAMES=4,module$contents$Blockly$Trashcan_OPACITY_MIN=.4,module$contents$Blockly$Trashcan_OPACITY_MAX=.8,module$contents$Blockly$Trashcan_MAX_LID_ANGLE=45;module$exports$Blockly$Trashcan.Trashcan.prototype.isLidOpen=!1;module$exports$Blockly$Trashcan.Trashcan.prototype.minOpenness_=0;module$exports$Blockly$Trashcan.Trashcan.prototype.svgGroup_=null;module$exports$Blockly$Trashcan.Trashcan.prototype.svgLid_=null;\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.lidTask_=0;module$exports$Blockly$Trashcan.Trashcan.prototype.lidOpen_=0;module$exports$Blockly$Trashcan.Trashcan.prototype.left_=0;module$exports$Blockly$Trashcan.Trashcan.prototype.top_=0;module$exports$Blockly$Trashcan.Trashcan.prototype.initialized_=!1;\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.createDom=function(){this.svgGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":\"blocklyTrash\"},null);var a=String(Math.random()).substring(2);var b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CLIPPATH,{id:\"blocklyTrashBodyClipPath\"+a},this.svgGroup_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,\n{width:module$contents$Blockly$Trashcan_WIDTH,height:module$contents$Blockly$Trashcan_BODY_HEIGHT,y:module$contents$Blockly$Trashcan_LID_HEIGHT},b);var c=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.IMAGE,{width:$.module$exports$Blockly$internalConstants.SPRITE.width,x:-module$contents$Blockly$Trashcan_SPRITE_LEFT,height:$.module$exports$Blockly$internalConstants.SPRITE.height,y:-module$contents$Blockly$Trashcan_SPRITE_TOP,\"clip-path\":\"url(#blocklyTrashBodyClipPath\"+\na+\")\"},this.svgGroup_);c.setAttributeNS(module$exports$Blockly$utils$dom.XLINK_NS,\"xlink:href\",this.workspace_.options.pathToMedia+$.module$exports$Blockly$internalConstants.SPRITE.url);b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CLIPPATH,{id:\"blocklyTrashLidClipPath\"+a},this.svgGroup_);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{width:module$contents$Blockly$Trashcan_WIDTH,height:module$contents$Blockly$Trashcan_LID_HEIGHT},\nb);this.svgLid_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.IMAGE,{width:$.module$exports$Blockly$internalConstants.SPRITE.width,x:-module$contents$Blockly$Trashcan_SPRITE_LEFT,height:$.module$exports$Blockly$internalConstants.SPRITE.height,y:-module$contents$Blockly$Trashcan_SPRITE_TOP,\"clip-path\":\"url(#blocklyTrashLidClipPath\"+a+\")\"},this.svgGroup_);this.svgLid_.setAttributeNS(module$exports$Blockly$utils$dom.XLINK_NS,\"xlink:href\",this.workspace_.options.pathToMedia+\n$.module$exports$Blockly$internalConstants.SPRITE.url);(0,module$exports$Blockly$browserEvents.bind)(this.svgGroup_,\"mousedown\",this,this.blockMouseDownWhenOpenable_);(0,module$exports$Blockly$browserEvents.bind)(this.svgGroup_,\"mouseup\",this,this.click);(0,module$exports$Blockly$browserEvents.bind)(c,\"mouseover\",this,this.mouseOver_);(0,module$exports$Blockly$browserEvents.bind)(c,\"mouseout\",this,this.mouseOut_);this.animateLid_();return this.svgGroup_};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.init=function(){0<this.workspace_.options.maxTrashcanContents&&((0,module$exports$Blockly$utils$dom.insertAfter)(this.flyout.createDom(module$exports$Blockly$utils$Svg.Svg.SVG),this.workspace_.getParentSvg()),this.flyout.init(this.workspace_));this.workspace_.getComponentManager().addComponent({component:this,weight:1,capabilities:[module$exports$Blockly$ComponentManager.ComponentManager.Capability.AUTOHIDEABLE,module$exports$Blockly$ComponentManager.ComponentManager.Capability.DELETE_AREA,\nmodule$exports$Blockly$ComponentManager.ComponentManager.Capability.DRAG_TARGET,module$exports$Blockly$ComponentManager.ComponentManager.Capability.POSITIONABLE]});this.initialized_=!0;this.setLidOpen(!1)};module$exports$Blockly$Trashcan.Trashcan.prototype.dispose=function(){this.workspace_.getComponentManager().removeComponent(\"trashcan\");this.svgGroup_&&((0,module$exports$Blockly$utils$dom.removeNode)(this.svgGroup_),this.svgGroup_=null);this.workspace_=this.svgLid_=null;clearTimeout(this.lidTask_)};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.hasContents_=function(){return!!this.contents_.length};module$exports$Blockly$Trashcan.Trashcan.prototype.contentsIsOpen=function(){return!!this.flyout&&this.flyout.isVisible()};module$exports$Blockly$Trashcan.Trashcan.prototype.openFlyout=function(){if(!this.contentsIsOpen()){var a=this.contents_.map(function(b){return JSON.parse(b)});this.flyout.show(a);this.fireUiEvent_(!0)}};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.closeFlyout=function(){this.contentsIsOpen()&&(this.flyout.hide(),this.fireUiEvent_(!1),this.workspace_.recordDragTargets())};module$exports$Blockly$Trashcan.Trashcan.prototype.autoHide=function(a){!a&&this.flyout&&this.closeFlyout()};module$exports$Blockly$Trashcan.Trashcan.prototype.emptyContents=function(){this.hasContents_()&&(this.contents_.length=0,this.setMinOpenness_(0),this.closeFlyout())};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.position=function(a,b){if(this.initialized_){var c=(0,module$exports$Blockly$uiPosition.getCornerOppositeToolbox)(this.workspace_,a);a=(0,module$exports$Blockly$uiPosition.getStartPositionRect)(c,new module$exports$Blockly$utils$Size.Size(module$contents$Blockly$Trashcan_WIDTH,module$contents$Blockly$Trashcan_BODY_HEIGHT+module$contents$Blockly$Trashcan_LID_HEIGHT),module$contents$Blockly$Trashcan_MARGIN_HORIZONTAL,module$contents$Blockly$Trashcan_MARGIN_VERTICAL,\na,this.workspace_);b=(0,module$exports$Blockly$uiPosition.bumpPositionRect)(a,module$contents$Blockly$Trashcan_MARGIN_VERTICAL,c.vertical===module$exports$Blockly$uiPosition.verticalPosition.TOP?module$exports$Blockly$uiPosition.bumpDirection.DOWN:module$exports$Blockly$uiPosition.bumpDirection.UP,b);this.top_=b.top;this.left_=b.left;this.svgGroup_.setAttribute(\"transform\",\"translate(\"+this.left_+\",\"+this.top_+\")\")}};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.getBoundingRectangle=function(){return new module$exports$Blockly$utils$Rect.Rect(this.top_,this.top_+module$contents$Blockly$Trashcan_BODY_HEIGHT+module$contents$Blockly$Trashcan_LID_HEIGHT,this.left_,this.left_+module$contents$Blockly$Trashcan_WIDTH)};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.top+module$contents$Blockly$Trashcan_SPRITE_TOP-module$contents$Blockly$Trashcan_MARGIN_HOTSPOT;a=a.left+module$contents$Blockly$Trashcan_SPRITE_LEFT-module$contents$Blockly$Trashcan_MARGIN_HOTSPOT;return new module$exports$Blockly$utils$Rect.Rect(b,b+module$contents$Blockly$Trashcan_LID_HEIGHT+module$contents$Blockly$Trashcan_BODY_HEIGHT+2*module$contents$Blockly$Trashcan_MARGIN_HOTSPOT,\na,a+module$contents$Blockly$Trashcan_WIDTH+2*module$contents$Blockly$Trashcan_MARGIN_HOTSPOT)};module$exports$Blockly$Trashcan.Trashcan.prototype.onDragOver=function(a){this.setLidOpen(this.wouldDelete_)};module$exports$Blockly$Trashcan.Trashcan.prototype.onDragExit=function(a){this.setLidOpen(!1)};module$exports$Blockly$Trashcan.Trashcan.prototype.onDrop=function(a){setTimeout(this.setLidOpen.bind(this,!1),100)};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.setLidOpen=function(a){this.isLidOpen!==a&&(clearTimeout(this.lidTask_),this.isLidOpen=a,this.animateLid_())};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.animateLid_=function(){var a=module$contents$Blockly$Trashcan_ANIMATION_FRAMES,b=1/(a+1);this.lidOpen_+=this.isLidOpen?b:-b;this.lidOpen_=Math.min(Math.max(this.lidOpen_,this.minOpenness_),1);this.setLidAngle_(this.lidOpen_*module$contents$Blockly$Trashcan_MAX_LID_ANGLE);this.svgGroup_.style.opacity=module$contents$Blockly$Trashcan_OPACITY_MIN+this.lidOpen_*(module$contents$Blockly$Trashcan_OPACITY_MAX-module$contents$Blockly$Trashcan_OPACITY_MIN);\nthis.lidOpen_>this.minOpenness_&&1>this.lidOpen_&&(this.lidTask_=setTimeout(this.animateLid_.bind(this),module$contents$Blockly$Trashcan_ANIMATION_LENGTH/a))};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.setLidAngle_=function(a){var b=this.workspace_.toolboxPosition===module$exports$Blockly$utils$toolbox.Position.RIGHT||this.workspace_.horizontalLayout&&this.workspace_.RTL;this.svgLid_.setAttribute(\"transform\",\"rotate(\"+(b?-a:a)+\",\"+(b?4:module$contents$Blockly$Trashcan_WIDTH-4)+\",\"+(module$contents$Blockly$Trashcan_LID_HEIGHT-2)+\")\")};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.setMinOpenness_=function(a){this.minOpenness_=a;this.isLidOpen||this.setLidAngle_(a*module$contents$Blockly$Trashcan_MAX_LID_ANGLE)};module$exports$Blockly$Trashcan.Trashcan.prototype.closeLid=function(){this.setLidOpen(!1)};module$exports$Blockly$Trashcan.Trashcan.prototype.click=function(){this.hasContents_()&&this.openFlyout()};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.fireUiEvent_=function(a){a=new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.TRASHCAN_OPEN))(a,this.workspace_.id);(0,module$exports$Blockly$Events$utils.fire)(a)};module$exports$Blockly$Trashcan.Trashcan.prototype.blockMouseDownWhenOpenable_=function(a){!this.contentsIsOpen()&&this.hasContents_()&&a.stopPropagation()};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.mouseOver_=function(){this.hasContents_()&&this.setLidOpen(!0)};module$exports$Blockly$Trashcan.Trashcan.prototype.mouseOut_=function(){this.setLidOpen(!1)};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.onDelete_=function(a){if(!(0>=this.workspace_.options.maxTrashcanContents||a.type!==module$exports$Blockly$Events$utils.DELETE||a.wasShadow)&&(a=this.cleanBlockJson_(a.oldJson),-1===this.contents_.indexOf(a))){for(this.contents_.unshift(a);this.contents_.length>this.workspace_.options.maxTrashcanContents;)this.contents_.pop();this.setMinOpenness_(module$contents$Blockly$Trashcan_HAS_BLOCKS_LID_ANGLE)}};\nmodule$exports$Blockly$Trashcan.Trashcan.prototype.cleanBlockJson_=function(a){function b(c){if(c){delete c.id;delete c.x;delete c.y;delete c.enabled;if(c.icons&&c.icons.comment){var d=c.icons.comment;delete d.height;delete d.width;delete d.pinned}d=c.inputs;for(var e in d){var f=d[e];b(f.block);b(f.shadow)}c.next&&(c=c.next,b(c.block),b(c.shadow))}}a=JSON.parse(JSON.stringify(a));b(a);a.kind=\"BLOCK\";return JSON.stringify(a)};var module$exports$Blockly$FlyoutButton={FlyoutButton:function(a,b,c,d){this.workspace_=a;this.targetWorkspace_=b;this.text_=c.text;this.position_=new module$exports$Blockly$utils$Coordinate.Coordinate(0,0);this.isLabel_=d;this.callbackKey_=c.callbackKey||c.callbackkey;this.cssClass_=c[\"web-class\"]||null;this.onMouseUpWrapper_=null;this.info=c}};module$exports$Blockly$FlyoutButton.FlyoutButton.MARGIN_X=5;module$exports$Blockly$FlyoutButton.FlyoutButton.MARGIN_Y=2;\nmodule$exports$Blockly$FlyoutButton.FlyoutButton.prototype.width=0;module$exports$Blockly$FlyoutButton.FlyoutButton.prototype.height=0;\nmodule$exports$Blockly$FlyoutButton.FlyoutButton.prototype.createDom=function(){var a=this.isLabel_?\"blocklyFlyoutLabel\":\"blocklyFlyoutButton\";this.cssClass_&&(a+=\" \"+this.cssClass_);this.svgGroup_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.G,{\"class\":a},this.workspace_.getCanvas());var b;this.isLabel_||(b=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blocklyFlyoutButtonShadow\",rx:4,ry:4,x:1,\ny:1},this.svgGroup_));a=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":this.isLabel_?\"blocklyFlyoutLabelBackground\":\"blocklyFlyoutButtonBackground\",rx:4,ry:4},this.svgGroup_);var c=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.TEXT,{\"class\":this.isLabel_?\"blocklyFlyoutLabelText\":\"blocklyText\",x:0,y:0,\"text-anchor\":\"middle\"},this.svgGroup_),d=(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(this.text_);\nthis.workspace_.RTL&&(d+=\"\\u200f\");c.textContent=d;this.isLabel_&&(this.svgText_=c,this.workspace_.getThemeManager().subscribe(this.svgText_,\"flyoutForegroundColour\",\"fill\"));var e=(0,module$exports$Blockly$utils$style.getComputedStyle)(c,\"fontSize\"),f=(0,module$exports$Blockly$utils$style.getComputedStyle)(c,\"fontWeight\"),g=(0,module$exports$Blockly$utils$style.getComputedStyle)(c,\"fontFamily\");this.width=(0,module$exports$Blockly$utils$dom.getFastTextWidthWithSizeString)(c,e,f,g);d=(0,module$exports$Blockly$utils$dom.measureFontMetrics)(d,\ne,f,g);this.height=d.height;this.isLabel_||(this.width+=2*module$exports$Blockly$FlyoutButton.FlyoutButton.MARGIN_X,this.height+=2*module$exports$Blockly$FlyoutButton.FlyoutButton.MARGIN_Y,b.setAttribute(\"width\",this.width),b.setAttribute(\"height\",this.height));a.setAttribute(\"width\",this.width);a.setAttribute(\"height\",this.height);c.setAttribute(\"x\",this.width/2);c.setAttribute(\"y\",this.height/2-d.height/2+d.baseline);this.updateTransform_();this.onMouseUpWrapper_=(0,module$exports$Blockly$browserEvents.conditionalBind)(this.svgGroup_,\n\"mouseup\",this,this.onMouseUp_);return this.svgGroup_};module$exports$Blockly$FlyoutButton.FlyoutButton.prototype.show=function(){this.updateTransform_();this.svgGroup_.setAttribute(\"display\",\"block\")};module$exports$Blockly$FlyoutButton.FlyoutButton.prototype.updateTransform_=function(){this.svgGroup_.setAttribute(\"transform\",\"translate(\"+this.position_.x+\",\"+this.position_.y+\")\")};\nmodule$exports$Blockly$FlyoutButton.FlyoutButton.prototype.moveTo=function(a,b){this.position_.x=a;this.position_.y=b;this.updateTransform_()};module$exports$Blockly$FlyoutButton.FlyoutButton.prototype.isLabel=function(){return this.isLabel_};module$exports$Blockly$FlyoutButton.FlyoutButton.prototype.getPosition=function(){return this.position_};module$exports$Blockly$FlyoutButton.FlyoutButton.prototype.getButtonText=function(){return this.text_};\nmodule$exports$Blockly$FlyoutButton.FlyoutButton.prototype.getTargetWorkspace=function(){return this.targetWorkspace_};module$exports$Blockly$FlyoutButton.FlyoutButton.prototype.dispose=function(){this.onMouseUpWrapper_&&(0,module$exports$Blockly$browserEvents.unbind)(this.onMouseUpWrapper_);this.svgGroup_&&(0,module$exports$Blockly$utils$dom.removeNode)(this.svgGroup_);this.svgText_&&this.workspace_.getThemeManager().unsubscribe(this.svgText_)};\nmodule$exports$Blockly$FlyoutButton.FlyoutButton.prototype.onMouseUp_=function(a){(a=this.targetWorkspace_.getGesture(a))&&a.cancel();this.isLabel_&&this.callbackKey_?console.warn(\"Labels should not have callbacks. Label text: \"+this.text_):this.isLabel_||this.callbackKey_&&this.targetWorkspace_.getButtonCallback(this.callbackKey_)?this.isLabel_||this.targetWorkspace_.getButtonCallback(this.callbackKey_)(this):console.warn(\"Buttons should have callbacks. Button text: \"+this.text_)};(0,module$exports$Blockly$Css.register)(\"\\n .blocklyFlyoutButton {\\n fill: #888;\\n cursor: default;\\n }\\n\\n .blocklyFlyoutButtonShadow {\\n fill: #666;\\n }\\n\\n .blocklyFlyoutButton:hover {\\n fill: #aaa;\\n }\\n\\n .blocklyFlyoutLabel {\\n cursor: default;\\n }\\n\\n .blocklyFlyoutLabelBackground {\\n opacity: 0;\\n }\\n\");var module$exports$Blockly$BlocklyOptions={BlocklyOptions:function(){}};var module$exports$Blockly$VariablesDynamic={CATEGORY_NAME:\"VARIABLE_DYNAMIC\",onCreateVariableButtonClick_String:function(a){(0,$.module$exports$Blockly$Variables.createVariableButtonHandler)(a.getTargetWorkspace(),void 0,\"String\")},onCreateVariableButtonClick_Number:function(a){(0,$.module$exports$Blockly$Variables.createVariableButtonHandler)(a.getTargetWorkspace(),void 0,\"Number\")},onCreateVariableButtonClick_Colour:function(a){(0,$.module$exports$Blockly$Variables.createVariableButtonHandler)(a.getTargetWorkspace(),\nvoid 0,\"Colour\")},flyoutCategory:function(a){var b=[],c=document.createElement(\"button\");c.setAttribute(\"text\",$.module$exports$Blockly$Msg.Msg.NEW_STRING_VARIABLE);c.setAttribute(\"callbackKey\",\"CREATE_VARIABLE_STRING\");b.push(c);c=document.createElement(\"button\");c.setAttribute(\"text\",$.module$exports$Blockly$Msg.Msg.NEW_NUMBER_VARIABLE);c.setAttribute(\"callbackKey\",\"CREATE_VARIABLE_NUMBER\");b.push(c);c=document.createElement(\"button\");c.setAttribute(\"text\",$.module$exports$Blockly$Msg.Msg.NEW_COLOUR_VARIABLE);\nc.setAttribute(\"callbackKey\",\"CREATE_VARIABLE_COLOUR\");b.push(c);a.registerButtonCallback(\"CREATE_VARIABLE_STRING\",module$exports$Blockly$VariablesDynamic.onCreateVariableButtonClick_String);a.registerButtonCallback(\"CREATE_VARIABLE_NUMBER\",module$exports$Blockly$VariablesDynamic.onCreateVariableButtonClick_Number);a.registerButtonCallback(\"CREATE_VARIABLE_COLOUR\",module$exports$Blockly$VariablesDynamic.onCreateVariableButtonClick_Colour);a=(0,module$exports$Blockly$VariablesDynamic.flyoutCategoryBlocks)(a);\nreturn b=b.concat(a)},flyoutCategoryBlocks:function(a){a=a.getAllVariables();var b=[];if(0<a.length){if($.module$exports$Blockly$blocks.Blocks.variables_set_dynamic){var c=a[a.length-1],d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");d.setAttribute(\"type\",\"variables_set_dynamic\");d.setAttribute(\"gap\",24);d.appendChild((0,$.module$exports$Blockly$Variables.generateVariableFieldDom)(c));b.push(d)}if($.module$exports$Blockly$blocks.Blocks.variables_get_dynamic)for(a.sort(module$exports$Blockly$VariableModel.VariableModel.compareByName),\nc=0;d=a[c];c++){var e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");e.setAttribute(\"type\",\"variables_get_dynamic\");e.setAttribute(\"gap\",8);e.appendChild((0,$.module$exports$Blockly$Variables.generateVariableFieldDom)(d));b.push(e)}}return b}};var module$exports$Blockly$IRegistrableField={IRegistrableField:{}};var module$contents$Blockly$Procedures_procTupleComparator;$.module$exports$Blockly$Procedures={CATEGORY_NAME:\"PROCEDURE\",DEFAULT_ARG:\"x\",allProcedures:function(a){var b=a.getBlocksByType(\"procedures_defnoreturn\",!1).map(function(c){return c.getProcedureDef()});a=a.getBlocksByType(\"procedures_defreturn\",!1).map(function(c){return c.getProcedureDef()});b.sort(module$contents$Blockly$Procedures_procTupleComparator);a.sort(module$contents$Blockly$Procedures_procTupleComparator);return[b,a]}};\nmodule$contents$Blockly$Procedures_procTupleComparator=function(a,b){return a[0].localeCompare(b[0],void 0,{sensitivity:\"base\"})};$.module$exports$Blockly$Procedures.findLegalName=function(a,b){if(b.isInFlyout)return a;for(a=a||$.module$exports$Blockly$Msg.Msg.UNNAMED_KEY||\"unnamed\";!module$contents$Blockly$Procedures_isLegalName(a,b.workspace,b);){var c=a.match(/^(.*?)(\\d+)$/);a=c?c[1]+(parseInt(c[2],10)+1):a+\"2\"}return a};\nvar module$contents$Blockly$Procedures_isLegalName=function(a,b,c){return!(0,$.module$exports$Blockly$Procedures.isNameUsed)(a,b,c)};$.module$exports$Blockly$Procedures.isNameUsed=function(a,b,c){b=b.getAllBlocks(!1);for(var d=0;d<b.length;d++)if(b[d]!==c&&b[d].getProcedureDef){var e=b[d].getProcedureDef();if($.module$exports$Blockly$Names.Names.equals(e[0],a))return!0}return!1};\n$.module$exports$Blockly$Procedures.rename=function(a){a=a.trim();var b=(0,$.module$exports$Blockly$Procedures.findLegalName)(a,this.getSourceBlock()),c=this.getValue();if(c!==a&&c!==b){a=this.getSourceBlock().workspace.getAllBlocks(!1);for(var d=0;d<a.length;d++)a[d].renameProcedure&&a[d].renameProcedure(c,b)}return b};\n$.module$exports$Blockly$Procedures.flyoutCategory=function(a){function b(f,g){for(var h=0;h<f.length;h++){var k=f[h][0],l=f[h][1],m=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");m.setAttribute(\"type\",g);m.setAttribute(\"gap\",16);var n=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");n.setAttribute(\"name\",k);m.appendChild(n);for(k=0;k<l.length;k++){var p=(0,$.module$exports$Blockly$utils$xml.createElement)(\"arg\");p.setAttribute(\"name\",l[k]);n.appendChild(p)}c.push(m)}}\nvar c=[];if($.module$exports$Blockly$blocks.Blocks.procedures_defnoreturn){var d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");d.setAttribute(\"type\",\"procedures_defnoreturn\");d.setAttribute(\"gap\",16);var e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\");e.setAttribute(\"name\",\"NAME\");e.appendChild((0,$.module$exports$Blockly$utils$xml.createTextNode)($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFNORETURN_PROCEDURE));d.appendChild(e);c.push(d)}$.module$exports$Blockly$blocks.Blocks.procedures_defreturn&&\n(d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\"),d.setAttribute(\"type\",\"procedures_defreturn\"),d.setAttribute(\"gap\",16),e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\"),e.setAttribute(\"name\",\"NAME\"),e.appendChild((0,$.module$exports$Blockly$utils$xml.createTextNode)($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_PROCEDURE)),d.appendChild(e),c.push(d));$.module$exports$Blockly$blocks.Blocks.procedures_ifreturn&&(d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\"),\nd.setAttribute(\"type\",\"procedures_ifreturn\"),d.setAttribute(\"gap\",16),c.push(d));c.length&&c[c.length-1].setAttribute(\"gap\",24);a=(0,$.module$exports$Blockly$Procedures.allProcedures)(a);b(a[0],\"procedures_callnoreturn\");b(a[1],\"procedures_callreturn\");return c};\nvar module$contents$Blockly$Procedures_updateMutatorFlyout=function(a){for(var b=[],c=a.getBlocksByType(\"procedures_mutatorarg\",!1),d=0,e;e=c[d];d++)b.push(e.getFieldValue(\"NAME\"));c=(0,$.module$exports$Blockly$utils$xml.createElement)(\"xml\");d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");d.setAttribute(\"type\",\"procedures_mutatorarg\");e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\");e.setAttribute(\"name\",\"NAME\");b=(0,$.module$exports$Blockly$Variables.generateUniqueNameFromOptions)($.module$exports$Blockly$Procedures.DEFAULT_ARG,\nb);b=(0,$.module$exports$Blockly$utils$xml.createTextNode)(b);e.appendChild(b);d.appendChild(e);c.appendChild(d);a.updateToolbox(c)};\n$.module$exports$Blockly$Procedures.mutatorOpenListener=function(a){if(a.type===module$exports$Blockly$Events$utils.BUBBLE_OPEN&&\"mutator\"===a.bubbleType&&a.isOpen){a=module$exports$Blockly$Workspace.Workspace.getById(a.workspaceId).getBlockById(a.blockId);var b=a.type;if(\"procedures_defnoreturn\"===b||\"procedures_defreturn\"===b)a=a.mutator.getWorkspace(),module$contents$Blockly$Procedures_updateMutatorFlyout(a),a.addChangeListener(module$contents$Blockly$Procedures_mutatorChangeListener)}};\nvar module$contents$Blockly$Procedures_mutatorChangeListener=function(a){if(a.type===module$exports$Blockly$Events$utils.CREATE||a.type===module$exports$Blockly$Events$utils.DELETE||a.type===module$exports$Blockly$Events$utils.CHANGE)a=module$exports$Blockly$Workspace.Workspace.getById(a.workspaceId),module$contents$Blockly$Procedures_updateMutatorFlyout(a)};\n$.module$exports$Blockly$Procedures.getCallers=function(a,b){var c=[];b=b.getAllBlocks(!1);for(var d=0;d<b.length;d++)if(b[d].getProcedureCall){var e=b[d].getProcedureCall();e&&$.module$exports$Blockly$Names.Names.equals(e,a)&&c.push(b[d])}return c};\n$.module$exports$Blockly$Procedures.mutateCallers=function(a){var b=(0,module$exports$Blockly$Events$utils.getRecordUndo)(),c=a.getProcedureDef()[0],d=a.mutationToDom(!0);a=(0,$.module$exports$Blockly$Procedures.getCallers)(c,a.workspace);c=0;for(var e;e=a[c];c++){var f=e.mutationToDom();f=f&&(0,$.module$exports$Blockly$Xml.domToText)(f);e.domToMutation(d);var g=e.mutationToDom();g=g&&(0,$.module$exports$Blockly$Xml.domToText)(g);f!==g&&((0,module$exports$Blockly$Events$utils.setRecordUndo)(!1),(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(e,\n\"mutation\",null,f,g)),(0,module$exports$Blockly$Events$utils.setRecordUndo)(b))}};$.module$exports$Blockly$Procedures.getDefinition=function(a,b){b=b.getAllBlocks(!1);for(var c=0;c<b.length;c++)if(b[c].getProcedureDef){var d=b[c].getProcedureDef();if(d&&$.module$exports$Blockly$Names.Names.equals(d[0],a))return b[c]}return null};$.module$exports$Blockly$Mutator={Mutator:function(a){$.module$exports$Blockly$Mutator.Mutator.superClass_.constructor.call(this,null);this.quarkNames_=a}};(0,$.module$exports$Blockly$utils$object.inherits)($.module$exports$Blockly$Mutator.Mutator,module$exports$Blockly$Icon.Icon);$.module$exports$Blockly$Mutator.Mutator.prototype.workspace_=null;$.module$exports$Blockly$Mutator.Mutator.prototype.workspaceWidth_=0;$.module$exports$Blockly$Mutator.Mutator.prototype.workspaceHeight_=0;\n$.module$exports$Blockly$Mutator.Mutator.prototype.setBlock=function(a){this.block_=a};$.module$exports$Blockly$Mutator.Mutator.prototype.getWorkspace=function(){return this.workspace_};\n$.module$exports$Blockly$Mutator.Mutator.prototype.drawIcon_=function(a){(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.RECT,{\"class\":\"blocklyIconShape\",rx:\"4\",ry:\"4\",height:\"16\",width:\"16\"},a);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.PATH,{\"class\":\"blocklyIconSymbol\",d:\"m4.203,7.296 0,1.368 -0.92,0.677 -0.11,0.41 0.9,1.559 0.41,0.11 1.043,-0.457 1.187,0.683 0.127,1.134 0.3,0.3 1.8,0 0.3,-0.299 0.127,-1.138 1.185,-0.682 1.046,0.458 0.409,-0.11 0.9,-1.559 -0.11,-0.41 -0.92,-0.677 0,-1.366 0.92,-0.677 0.11,-0.41 -0.9,-1.559 -0.409,-0.109 -1.046,0.458 -1.185,-0.682 -0.127,-1.138 -0.3,-0.299 -1.8,0 -0.3,0.3 -0.126,1.135 -1.187,0.682 -1.043,-0.457 -0.41,0.11 -0.899,1.559 0.108,0.409z\"},\na);(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.CIRCLE,{\"class\":\"blocklyIconShape\",r:\"2.7\",cx:\"8\",cy:\"8\"},a)};$.module$exports$Blockly$Mutator.Mutator.prototype.iconClick_=function(a){this.block_.isEditable()&&module$exports$Blockly$Icon.Icon.prototype.iconClick_.call(this,a)};\n$.module$exports$Blockly$Mutator.Mutator.prototype.createEditor_=function(){this.svgDialog_=(0,module$exports$Blockly$utils$dom.createSvgElement)(module$exports$Blockly$utils$Svg.Svg.SVG,{x:module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH,y:module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH},null);if(this.quarkNames_.length){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"xml\");for(var b=0,c;c=this.quarkNames_[b];b++){var d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");\nd.setAttribute(\"type\",c);a.appendChild(d)}}else a=null;b=new module$exports$Blockly$Options.Options({disable:!1,parentWorkspace:this.block_.workspace,media:this.block_.workspace.options.pathToMedia,rtl:this.block_.RTL,horizontalLayout:!1,renderer:this.block_.workspace.options.renderer,rendererOverrides:this.block_.workspace.options.rendererOverrides});b.toolboxPosition=this.block_.RTL?module$exports$Blockly$utils$toolbox.Position.RIGHT:module$exports$Blockly$utils$toolbox.Position.LEFT;if(c=!!a)b.languageTree=\n(0,module$exports$Blockly$utils$toolbox.convertToolboxDefToJson)(a);this.workspace_=new module$exports$Blockly$WorkspaceSvg.WorkspaceSvg(b);this.workspace_.isMutator=!0;this.workspace_.addChangeListener(module$exports$Blockly$Events$utils.disableOrphans);a=c?this.workspace_.addFlyout(module$exports$Blockly$utils$Svg.Svg.G):null;b=this.workspace_.createDom(\"blocklyMutatorBackground\");a&&b.insertBefore(a,this.workspace_.svgBlockCanvas_);this.svgDialog_.appendChild(b);return this.svgDialog_};\n$.module$exports$Blockly$Mutator.Mutator.prototype.updateEditable=function(){$.module$exports$Blockly$Mutator.Mutator.superClass_.updateEditable.call(this);this.block_.isInFlyout||(this.block_.isEditable()?this.iconGroup_&&(0,module$exports$Blockly$utils$dom.removeClass)(this.iconGroup_,\"blocklyIconGroupReadonly\"):(this.setVisible(!1),this.iconGroup_&&(0,module$exports$Blockly$utils$dom.addClass)(this.iconGroup_,\"blocklyIconGroupReadonly\")))};\n$.module$exports$Blockly$Mutator.Mutator.prototype.resizeBubble_=function(){var a=2*module$exports$Blockly$Bubble.Bubble.BORDER_WIDTH,b=this.workspace_.getCanvas().getBBox(),c=b.width+b.x,d=b.height+3*a,e=this.workspace_.getFlyout();if(e){var f=e.getWorkspace().getMetricsManager().getScrollMetrics();d=Math.max(d,f.height+20);c+=e.getWidth()}this.block_.RTL&&(c=-b.x);c+=3*a;if(Math.abs(this.workspaceWidth_-c)>a||Math.abs(this.workspaceHeight_-d)>a)this.workspaceWidth_=c,this.workspaceHeight_=d,this.bubble_.setBubbleSize(c+\na,d+a),this.svgDialog_.setAttribute(\"width\",this.workspaceWidth_),this.svgDialog_.setAttribute(\"height\",this.workspaceHeight_),this.workspace_.setCachedParentSvgSize(this.workspaceWidth_,this.workspaceHeight_);this.block_.RTL&&(a=\"translate(\"+this.workspaceWidth_+\",0)\",this.workspace_.getCanvas().setAttribute(\"transform\",a));this.workspace_.resize()};$.module$exports$Blockly$Mutator.Mutator.prototype.onBubbleMove_=function(){this.workspace_&&this.workspace_.recordDragTargets()};\n$.module$exports$Blockly$Mutator.Mutator.prototype.setVisible=function(a){if(a!==this.isVisible())if((0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.BUBBLE_OPEN))(this.block_,a,\"mutator\")),a){this.bubble_=new module$exports$Blockly$Bubble.Bubble(this.block_.workspace,this.createEditor_(),this.block_.pathObject.svgPath,this.iconXY_,null,null);this.bubble_.setSvgId(this.block_.id);this.bubble_.registerMoveEvent(this.onBubbleMove_.bind(this));\nvar b=this.workspace_.options.languageTree;a=this.workspace_.getFlyout();b&&(a.init(this.workspace_),a.show(b));this.rootBlock_=this.block_.decompose(this.workspace_);b=this.rootBlock_.getDescendants(!1);for(var c=0,d=void 0;d=b[c];c++)d.render();this.rootBlock_.setMovable(!1);this.rootBlock_.setDeletable(!1);a?(b=2*a.CORNER_RADIUS,a=this.rootBlock_.RTL?a.getWidth()+b:b):a=b=16;this.block_.RTL&&(a=-a);this.rootBlock_.moveBy(a,b);if(this.block_.saveConnections){var e=this,f=this.block_;f.saveConnections(this.rootBlock_);\nthis.sourceListener_=function(){f.saveConnections(e.rootBlock_)};this.block_.workspace.addChangeListener(this.sourceListener_)}this.resizeBubble_();this.workspace_.addChangeListener(this.workspaceChanged_.bind(this));this.updateWorkspace_();this.applyColour()}else this.svgDialog_=null,this.workspace_.dispose(),this.rootBlock_=this.workspace_=null,this.bubble_.dispose(),this.bubble_=null,this.workspaceHeight_=this.workspaceWidth_=0,this.sourceListener_&&(this.block_.workspace.removeChangeListener(this.sourceListener_),\nthis.sourceListener_=null)};$.module$exports$Blockly$Mutator.Mutator.prototype.workspaceChanged_=function(a){a.isUiEvent||a.type===module$exports$Blockly$Events$utils.CHANGE&&\"disabled\"===a.element||a.type===module$exports$Blockly$Events$utils.CREATE||this.updateWorkspace_()};\n$.module$exports$Blockly$Mutator.Mutator.prototype.updateWorkspace_=function(){if(!this.workspace_.isDragging())for(var a=this.workspace_.getTopBlocks(!1),b=0,c=void 0;c=a[b];b++){var d=c.getRelativeToSurfaceXY();20>d.y&&c.moveBy(0,20-d.y);if(c.RTL){var e=-20,f=this.workspace_.getFlyout();f&&(e-=f.getWidth());d.x>e&&c.moveBy(e-d.x,0)}else 20>d.x&&c.moveBy(20-d.x,0)}if(this.rootBlock_.workspace===this.workspace_){(0,module$exports$Blockly$Events$utils.setGroup)(!0);var g=this.block_;a=module$exports$Blockly$Events$BlockChange.BlockChange.getExtraBlockState_(g);\nb=g.rendered;g.rendered=!1;g.compose(this.rootBlock_);g.rendered=b;g.initSvg();g.rendered&&g.render();b=module$exports$Blockly$Events$BlockChange.BlockChange.getExtraBlockState_(g);if(a!==b){(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(g,\"mutation\",null,a,b));var h=(0,module$exports$Blockly$Events$utils.getGroup)();setTimeout(function(){(0,module$exports$Blockly$Events$utils.setGroup)(h);g.bumpNeighbours();\n(0,module$exports$Blockly$Events$utils.setGroup)(!1)},$.module$exports$Blockly$internalConstants.BUMP_DELAY)}this.workspace_.isDragging()||this.resizeBubble_();(0,module$exports$Blockly$Events$utils.setGroup)(!1)}};$.module$exports$Blockly$Mutator.Mutator.prototype.dispose=function(){this.block_.mutator=null;module$exports$Blockly$Icon.Icon.prototype.dispose.call(this)};\n$.module$exports$Blockly$Mutator.Mutator.prototype.updateBlockStyle=function(){var a=this.workspace_;if(a&&a.getAllBlocks(!1)){for(var b=a.getAllBlocks(!1),c=0,d;d=b[c];c++)d.setStyle(d.getStyleName());if(a=a.getFlyout())for(a=a.workspace_.getAllBlocks(!1),b=0;c=a[b];b++)c.setStyle(c.getStyleName())}};\n$.module$exports$Blockly$Mutator.Mutator.reconnect=function(a,b,c){if(!a||!a.getSourceBlock().workspace)return!1;c=b.getInput(c).connection;var d=a.targetBlock();return d&&d!==b||c.targetConnection===a?!1:(c.isConnected()&&c.disconnect(),c.connect(a),!0)};$.module$exports$Blockly$Mutator.Mutator.findParentWs=function(a){var b=null;if(a&&a.options){var c=a.options.parentWorkspace;a.isFlyout?c&&c.options&&(b=c.options.parentWorkspace):c&&(b=c)}return b};$.Blockly={VERSION:\"7.20211209.2\"};$.Blockly.ALIGN_LEFT=$.module$exports$Blockly$Input.Align.LEFT;$.Blockly.ALIGN_CENTRE=$.module$exports$Blockly$Input.Align.CENTRE;$.Blockly.ALIGN_RIGHT=$.module$exports$Blockly$Input.Align.RIGHT;$.Blockly.INPUT_VALUE=$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;$.Blockly.OUTPUT_VALUE=$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE;$.Blockly.NEXT_STATEMENT=$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT;\n$.Blockly.PREVIOUS_STATEMENT=$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT;$.Blockly.DUMMY_INPUT=$.module$exports$Blockly$inputTypes.inputTypes.DUMMY;$.Blockly.TOOLBOX_AT_TOP=module$exports$Blockly$utils$toolbox.Position.TOP;$.Blockly.TOOLBOX_AT_BOTTOM=module$exports$Blockly$utils$toolbox.Position.BOTTOM;$.Blockly.TOOLBOX_AT_LEFT=module$exports$Blockly$utils$toolbox.Position.LEFT;$.Blockly.TOOLBOX_AT_RIGHT=module$exports$Blockly$utils$toolbox.Position.RIGHT;\n$.Blockly.svgResize=$.module$exports$Blockly$common.svgResize;var module$contents$Blockly_hideChaff=function(a){(0,$.module$exports$Blockly$common.getMainWorkspace)().hideChaff(a)};$.Blockly.hideChaff=module$contents$Blockly_hideChaff;$.Blockly.getMainWorkspace=$.module$exports$Blockly$common.getMainWorkspace;$.Blockly.defineBlocksWithJsonArray=$.module$exports$Blockly$common.defineBlocksWithJsonArray;$.Blockly.setParentContainer=$.module$exports$Blockly$common.setParentContainer;\nObject.defineProperties($.Blockly,{alert:{set:function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.alert\",\"December 2021\",\"December 2022\");(0,module$exports$Blockly$dialog.setAlert)(a)},get:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.alert\",\"December 2021\",\"December 2022\",\"Blockly.dialog.alert()\");return module$exports$Blockly$dialog.alert}},confirm:{set:function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.confirm\",\"December 2021\",\"December 2022\");\n(0,module$exports$Blockly$dialog.setConfirm)(a)},get:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.confirm\",\"December 2021\",\"December 2022\",\"Blockly.dialog.confirm()\");return module$exports$Blockly$dialog.confirm}},mainWorkspace:{set:function(a){(0,$.module$exports$Blockly$common.setMainWorkspace)(a)},get:function(){return(0,$.module$exports$Blockly$common.getMainWorkspace)()}},prompt:{set:function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.prompt\",\"December 2021\",\n\"December 2022\");(0,module$exports$Blockly$dialog.setPrompt)(a)},get:function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.prompt\",\"December 2021\",\"December 2022\",\"Blockly.dialog.prompt()\");return module$exports$Blockly$dialog.prompt}},selected:{get:function(){return(0,$.module$exports$Blockly$common.getSelected)()},set:function(a){(0,$.module$exports$Blockly$common.setSelected)(a)}},HSV_SATURATION:{get:function(){return module$exports$Blockly$utils.colour.getHsvSaturation()},set:function(a){module$exports$Blockly$utils.colour.setHsvSaturation(a)}},\nHSV_VALUE:{get:function(){return module$exports$Blockly$utils.colour.getHsvValue()},set:function(a){module$exports$Blockly$utils.colour.setHsvValue(a)}}});$.Blockly.svgSize=module$exports$Blockly$utils$svgMath.svgSize;var module$contents$Blockly_resizeSvgContentsLocal=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.resizeSvgContents\",\"December 2021\",\"December 2022\",\"Blockly.WorkspaceSvg.resizeSvgContents\");(0,module$exports$Blockly$WorkspaceSvg.resizeSvgContents)(a)};\n$.Blockly.resizeSvgContents=module$contents$Blockly_resizeSvgContentsLocal;var module$contents$Blockly_copy=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.copy\",\"December 2021\",\"December 2022\",\"Blockly.clipboard.copy\");(0,module$exports$Blockly$clipboard.copy)(a)};$.Blockly.copy=module$contents$Blockly_copy;\nvar module$contents$Blockly_paste=function(){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.paste\",\"December 2021\",\"December 2022\",\"Blockly.clipboard.paste\");return(0,module$exports$Blockly$clipboard.paste)()};$.Blockly.paste=module$contents$Blockly_paste;var module$contents$Blockly_duplicate=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.duplicate\",\"December 2021\",\"December 2022\",\"Blockly.clipboard.duplicate\");(0,module$exports$Blockly$clipboard.duplicate)(a)};\n$.Blockly.duplicate=module$contents$Blockly_duplicate;var module$contents$Blockly_isNumber=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.isNumber\",\"December 2021\",\"December 2022\",\"Blockly.utils.string.isNumber\");return module$exports$Blockly$utils.string.isNumber(a)};$.Blockly.isNumber=module$contents$Blockly_isNumber;\nvar module$contents$Blockly_hueToHex=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.hueToHex\",\"December 2021\",\"December 2022\",\"Blockly.utils.colour.hueToHex\");return(0,module$exports$Blockly$utils$colour.hueToHex)(a)};$.Blockly.hueToHex=module$contents$Blockly_hueToHex;\nvar module$contents$Blockly_bindEvent_=function(a,b,c,d){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.bindEvent_\",\"December 2021\",\"December 2022\",\"Blockly.browserEvents.bind\");return(0,module$exports$Blockly$browserEvents.bind)(a,b,c,d)};$.Blockly.bindEvent_=module$contents$Blockly_bindEvent_;var module$contents$Blockly_unbindEvent_=function(a){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.unbindEvent_\",\"December 2021\",\"December 2022\",\"Blockly.browserEvents.unbind\");return(0,module$exports$Blockly$browserEvents.unbind)(a)};\n$.Blockly.unbindEvent_=module$contents$Blockly_unbindEvent_;var module$contents$Blockly_bindEventWithChecks_=function(a,b,c,d,e,f){(0,module$exports$Blockly$utils$deprecation.warn)(\"Blockly.bindEventWithChecks_\",\"December 2021\",\"December 2022\",\"Blockly.browserEvents.conditionalBind\");return(0,module$exports$Blockly$browserEvents.conditionalBind)(a,b,c,d,e,f)};$.Blockly.bindEventWithChecks_=module$contents$Blockly_bindEventWithChecks_;$.Blockly.LINE_MODE_MULTIPLIER=$.module$exports$Blockly$internalConstants.LINE_MODE_MULTIPLIER;\n$.Blockly.PAGE_MODE_MULTIPLIER=$.module$exports$Blockly$internalConstants.PAGE_MODE_MULTIPLIER;$.Blockly.DRAG_RADIUS=$.module$exports$Blockly$internalConstants.DRAG_RADIUS;$.Blockly.FLYOUT_DRAG_RADIUS=$.module$exports$Blockly$internalConstants.FLYOUT_DRAG_RADIUS;$.Blockly.SNAP_RADIUS=$.module$exports$Blockly$internalConstants.SNAP_RADIUS;$.Blockly.CONNECTING_SNAP_RADIUS=$.module$exports$Blockly$internalConstants.SNAP_RADIUS;$.Blockly.CURRENT_CONNECTION_PREFERENCE=$.module$exports$Blockly$internalConstants.CURRENT_CONNECTION_PREFERENCE;\n$.Blockly.BUMP_DELAY=$.module$exports$Blockly$internalConstants.BUMP_DELAY;$.Blockly.BUMP_RANDOMNESS=$.module$exports$Blockly$internalConstants.BUMP_RANDOMNESS;$.Blockly.COLLAPSE_CHARS=$.module$exports$Blockly$internalConstants.COLLAPSE_CHARS;$.Blockly.LONGPRESS=$.module$exports$Blockly$internalConstants.LONGPRESS;$.Blockly.SOUND_LIMIT=$.module$exports$Blockly$internalConstants.SOUND_LIMIT;$.Blockly.DRAG_STACK=$.module$exports$Blockly$internalConstants.DRAG_STACK;$.Blockly.SPRITE=$.module$exports$Blockly$internalConstants.SPRITE;\n$.Blockly.DRAG_NONE=$.module$exports$Blockly$internalConstants.DRAG_NONE;$.Blockly.DRAG_STICKY=$.module$exports$Blockly$internalConstants.DRAG_STICKY;$.Blockly.DRAG_BEGIN=$.module$exports$Blockly$internalConstants.DRAG_BEGIN;$.Blockly.DRAG_FREE=$.module$exports$Blockly$internalConstants.DRAG_FREE;$.Blockly.OPPOSITE_TYPE=$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE;$.Blockly.RENAME_VARIABLE_ID=$.module$exports$Blockly$internalConstants.RENAME_VARIABLE_ID;$.Blockly.DELETE_VARIABLE_ID=$.module$exports$Blockly$internalConstants.DELETE_VARIABLE_ID;\n$.Blockly.COLLAPSED_INPUT_NAME=module$exports$Blockly$constants.COLLAPSED_INPUT_NAME;$.Blockly.COLLAPSED_FIELD_NAME=module$exports$Blockly$constants.COLLAPSED_FIELD_NAME;$.Blockly.VARIABLE_CATEGORY_NAME=$.module$exports$Blockly$Variables.CATEGORY_NAME;$.Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME=module$exports$Blockly$VariablesDynamic.CATEGORY_NAME;$.Blockly.PROCEDURE_CATEGORY_NAME=$.module$exports$Blockly$Procedures.CATEGORY_NAME;$.Blockly.ASTNode=module$exports$Blockly$ASTNode.ASTNode;\n$.Blockly.BasicCursor=module$exports$Blockly$BasicCursor.BasicCursor;$.Blockly.Block=module$exports$Blockly$Block.Block;$.Blockly.BlocklyOptions=module$exports$Blockly$BlocklyOptions.BlocklyOptions;$.Blockly.BlockDragger=module$exports$Blockly$BlockDragger.BlockDragger;$.Blockly.BlockDragSurfaceSvg=module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg;$.Blockly.BlockSvg=module$exports$Blockly$BlockSvg.BlockSvg;$.Blockly.Blocks=$.module$exports$Blockly$blocks.Blocks;$.Blockly.Bubble=module$exports$Blockly$Bubble.Bubble;\n$.Blockly.BubbleDragger=module$exports$Blockly$BubbleDragger.BubbleDragger;$.Blockly.CollapsibleToolboxCategory=module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory;$.Blockly.Comment=module$exports$Blockly$Comment.Comment;$.Blockly.ComponentManager=module$exports$Blockly$ComponentManager.ComponentManager;$.Blockly.Connection=module$exports$Blockly$Connection.Connection;$.Blockly.ConnectionType=$.module$exports$Blockly$ConnectionType.ConnectionType;\n$.Blockly.ConnectionChecker=module$exports$Blockly$ConnectionChecker.ConnectionChecker;$.Blockly.ConnectionDB=module$exports$Blockly$ConnectionDB.ConnectionDB;$.Blockly.ContextMenu=$.module$exports$Blockly$ContextMenu;$.Blockly.ContextMenuItems=module$exports$Blockly$ContextMenuItems;$.Blockly.ContextMenuRegistry=module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry;$.Blockly.Css=module$exports$Blockly$Css;$.Blockly.Cursor=module$exports$Blockly$Cursor.Cursor;$.Blockly.DeleteArea=module$exports$Blockly$DeleteArea.DeleteArea;\n$.Blockly.DragTarget=module$exports$Blockly$DragTarget.DragTarget;$.Blockly.DropDownDiv=module$exports$Blockly$DropDownDiv.DropDownDiv;$.Blockly.Events=$.module$exports$Blockly$Events;$.Blockly.Extensions=$.module$exports$Blockly$Extensions;$.Blockly.Field=module$exports$Blockly$Field.Field;$.Blockly.FieldAngle=module$exports$Blockly$FieldAngle.FieldAngle;$.Blockly.FieldCheckbox=$.module$exports$Blockly$FieldCheckbox.FieldCheckbox;$.Blockly.FieldColour=module$exports$Blockly$FieldColour.FieldColour;\n$.Blockly.FieldDropdown=$.module$exports$Blockly$FieldDropdown.FieldDropdown;$.Blockly.FieldImage=$.module$exports$Blockly$FieldImage.FieldImage;$.Blockly.FieldLabel=$.module$exports$Blockly$FieldLabel.FieldLabel;$.Blockly.FieldLabelSerializable=module$exports$Blockly$FieldLabelSerializable.FieldLabelSerializable;$.Blockly.FieldMultilineInput=module$exports$Blockly$FieldMultilineInput.FieldMultilineInput;$.Blockly.FieldNumber=module$exports$Blockly$FieldNumber.FieldNumber;\n$.Blockly.FieldTextInput=$.module$exports$Blockly$FieldTextInput.FieldTextInput;$.Blockly.FieldVariable=module$exports$Blockly$FieldVariable.FieldVariable;$.Blockly.Flyout=module$exports$Blockly$Flyout.Flyout;$.Blockly.FlyoutButton=module$exports$Blockly$FlyoutButton.FlyoutButton;$.Blockly.FlyoutMetricsManager=module$exports$Blockly$FlyoutMetricsManager.FlyoutMetricsManager;$.Blockly.Generator=$.module$exports$Blockly$Generator.Generator;$.Blockly.Gesture=module$exports$Blockly$Gesture.Gesture;\n$.Blockly.Grid=module$exports$Blockly$Grid.Grid;$.Blockly.HorizontalFlyout=module$exports$Blockly$HorizontalFlyout.HorizontalFlyout;$.Blockly.IASTNodeLocation=module$exports$Blockly$IASTNodeLocation.IASTNodeLocation;$.Blockly.IASTNodeLocationSvg=module$exports$Blockly$IASTNodeLocationSvg.IASTNodeLocationSvg;$.Blockly.IASTNodeLocationWithBlock=module$exports$Blockly$IASTNodeLocationWithBlock.IASTNodeLocationWithBlock;$.Blockly.IAutoHideable=module$exports$Blockly$IAutoHideable.IAutoHideable;\n$.Blockly.IBlockDragger=module$exports$Blockly$IBlockDragger.IBlockDragger;$.Blockly.IBoundedElement=module$exports$Blockly$IBoundedElement.IBoundedElement;$.Blockly.IBubble=module$exports$Blockly$IBubble.IBubble;$.Blockly.ICollapsibleToolboxItem=module$exports$Blockly$ICollapsibleToolboxItem.ICollapsibleToolboxItem;$.Blockly.IComponent=module$exports$Blockly$IComponent.IComponent;$.Blockly.IConnectionChecker=module$exports$Blockly$IConnectionChecker.IConnectionChecker;$.Blockly.IContextMenu=module$exports$Blockly$IContextMenu.IContextMenu;\n$.Blockly.Icon=module$exports$Blockly$Icon.Icon;$.Blockly.ICopyable=module$exports$Blockly$ICopyable.ICopyable;$.Blockly.IDeletable=module$exports$Blockly$IDeletable.IDeletable;$.Blockly.IDeleteArea=module$exports$Blockly$IDeleteArea.IDeleteArea;$.Blockly.IDragTarget=module$exports$Blockly$IDragTarget.IDragTarget;$.Blockly.IDraggable=module$exports$Blockly$IDraggable.IDraggable;$.Blockly.IFlyout=module$exports$Blockly$IFlyout.IFlyout;$.Blockly.IKeyboardAccessible=module$exports$Blockly$IKeyboardAccessible.IKeyboardAccessible;\n$.Blockly.IMetricsManager=module$exports$Blockly$IMetricsManager.IMetricsManager;$.Blockly.IMovable=module$exports$Blockly$IMovable.IMovable;$.Blockly.Input=$.module$exports$Blockly$Input.Input;$.Blockly.InsertionMarkerManager=module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager;$.Blockly.IPositionable=module$exports$Blockly$IPositionable.IPositionable;$.Blockly.IRegistrable=module$exports$Blockly$IRegistrable.IRegistrable;$.Blockly.IRegistrableField=module$exports$Blockly$IRegistrableField.IRegistrableField;\n$.Blockly.ISelectable=module$exports$Blockly$ISelectable.ISelectable;$.Blockly.ISelectableToolboxItem=module$exports$Blockly$ISelectableToolboxItem.ISelectableToolboxItem;$.Blockly.IStyleable=module$exports$Blockly$IStyleable.IStyleable;$.Blockly.IToolbox=module$exports$Blockly$IToolbox.IToolbox;$.Blockly.IToolboxItem=module$exports$Blockly$IToolboxItem.IToolboxItem;$.Blockly.Marker=module$exports$Blockly$Marker.Marker;$.Blockly.MarkerManager=module$exports$Blockly$MarkerManager.MarkerManager;\n$.Blockly.Menu=module$exports$Blockly$Menu.Menu;$.Blockly.MenuItem=module$exports$Blockly$MenuItem.MenuItem;$.Blockly.MetricsManager=module$exports$Blockly$MetricsManager.MetricsManager;$.Blockly.Mutator=$.module$exports$Blockly$Mutator.Mutator;$.Blockly.Msg=$.module$exports$Blockly$Msg.Msg;$.Blockly.Names=$.module$exports$Blockly$Names.Names;$.Blockly.Options=module$exports$Blockly$Options.Options;$.Blockly.Procedures=$.module$exports$Blockly$Procedures;$.Blockly.RenderedConnection=module$exports$Blockly$RenderedConnection.RenderedConnection;\n$.Blockly.Scrollbar=module$exports$Blockly$Scrollbar.Scrollbar;$.Blockly.ScrollbarPair=module$exports$Blockly$ScrollbarPair.ScrollbarPair;$.Blockly.ShortcutItems=module$exports$Blockly$ShortcutItems;$.Blockly.ShortcutRegistry=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry;$.Blockly.TabNavigateCursor=module$exports$Blockly$TabNavigateCursor.TabNavigateCursor;$.Blockly.Theme=module$exports$Blockly$Theme.Theme;$.Blockly.Themes=module$exports$Blockly$Themes;$.Blockly.ThemeManager=module$exports$Blockly$ThemeManager.ThemeManager;\n$.Blockly.Toolbox=module$exports$Blockly$Toolbox.Toolbox;$.Blockly.ToolboxCategory=module$exports$Blockly$ToolboxCategory.ToolboxCategory;$.Blockly.ToolboxItem=module$exports$Blockly$ToolboxItem.ToolboxItem;$.Blockly.ToolboxSeparator=module$exports$Blockly$ToolboxSeparator.ToolboxSeparator;$.Blockly.Tooltip=module$exports$Blockly$Tooltip;$.Blockly.Touch=module$exports$Blockly$Touch;$.Blockly.TouchGesture=module$exports$Blockly$TouchGesture.TouchGesture;$.Blockly.Trashcan=module$exports$Blockly$Trashcan.Trashcan;\n$.Blockly.VariableMap=module$exports$Blockly$VariableMap.VariableMap;$.Blockly.VariableModel=module$exports$Blockly$VariableModel.VariableModel;$.Blockly.Variables=$.module$exports$Blockly$Variables;$.Blockly.VariablesDynamic=module$exports$Blockly$VariablesDynamic;$.Blockly.VerticalFlyout=module$exports$Blockly$VerticalFlyout.VerticalFlyout;$.Blockly.Warning=module$exports$Blockly$Warning.Warning;$.Blockly.WidgetDiv=module$exports$Blockly$WidgetDiv;$.Blockly.Workspace=module$exports$Blockly$Workspace.Workspace;\n$.Blockly.WorkspaceAudio=module$exports$Blockly$WorkspaceAudio.WorkspaceAudio;$.Blockly.WorkspaceComment=module$exports$Blockly$WorkspaceComment.WorkspaceComment;$.Blockly.WorkspaceCommentSvg=module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg;$.Blockly.WorkspaceDragSurfaceSvg=module$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg;$.Blockly.WorkspaceDragger=module$exports$Blockly$WorkspaceDragger.WorkspaceDragger;$.Blockly.WorkspaceSvg=module$exports$Blockly$WorkspaceSvg.WorkspaceSvg;\n$.Blockly.Xml=$.module$exports$Blockly$Xml;$.Blockly.ZoomControls=module$exports$Blockly$ZoomControls.ZoomControls;$.Blockly.blockAnimations=module$exports$Blockly$blockAnimations;$.Blockly.blockRendering=module$exports$Blockly$blockRendering;$.Blockly.browserEvents=module$exports$Blockly$browserEvents;$.Blockly.bumpObjects=module$exports$Blockly$bumpObjects;$.Blockly.clipboard=module$exports$Blockly$clipboard;$.Blockly.common=$.module$exports$Blockly$common;$.Blockly.connectionTypes=$.module$exports$Blockly$ConnectionType.ConnectionType;\n$.Blockly.constants=module$exports$Blockly$constants;$.Blockly.dialog=module$exports$Blockly$dialog;$.Blockly.fieldRegistry=module$exports$Blockly$fieldRegistry;$.Blockly.geras=module$exports$Blockly$geras;$.Blockly.inject=module$exports$Blockly$inject.inject;$.Blockly.inputTypes=$.module$exports$Blockly$inputTypes.inputTypes;$.Blockly.minimalist=module$exports$Blockly$minimalist;$.Blockly.registry=module$exports$Blockly$registry;\n$.Blockly.serialization={blocks:module$exports$Blockly$serialization$blocks,exceptions:module$exports$Blockly$serialization$exceptions,priorities:module$exports$Blockly$serialization$priorities,registry:module$exports$Blockly$serialization$registry,variables:module$exports$Blockly$serialization$variables,workspaces:module$exports$Blockly$serialization$workspaces,ISerializer:module$exports$Blockly$serialization$ISerializer.ISerializer};$.Blockly.thrasos=module$exports$Blockly$thrasos;\n$.Blockly.uiPosition=module$exports$Blockly$uiPosition;$.Blockly.utils=module$exports$Blockly$utils;$.Blockly.zelos=module$exports$Blockly$zelos;\"Blockly\"in $.module$exports$Blockly$utils$global.globalThis||($.module$exports$Blockly$utils$global.globalThis.Blockly={Msg:$.module$exports$Blockly$Msg.Msg});\nif(!COMPILED&&\"object\"===typeof $.module$exports$Blockly$utils$global.globalThis.Blockly&&$.module$exports$Blockly$utils$global.globalThis.Blockly!==$.Blockly){var descriptors=Object.getOwnPropertyDescriptors($.Blockly),accessors={},key;for(key in descriptors)if(descriptors[key].get||descriptors[key].set)accessors[key]=descriptors[key];Object.defineProperties($.module$exports$Blockly$utils$global.globalThis.Blockly,accessors)};\n$.Blockly.internal_=$;\nreturn $.Blockly;\n}));\n\n\n//# sourceMappingURL=blockly_compressed.js.map\n","'use strict'\n\nfunction normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercaseâ€, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no object method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n\nmodule.exports = normalizeIdentifier\n","'use strict'\n\nfunction miniflat(value) {\n return value === null || value === undefined\n ? []\n : 'length' in value\n ? value\n : [value]\n}\n\nmodule.exports = miniflat\n","'use strict'\n\nvar chunkedSplice = require('./chunked-splice.js')\n\nfunction chunkedPush(list, items) {\n if (list.length) {\n chunkedSplice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n\nmodule.exports = chunkedPush\n","'use strict'\n\nfunction resolveAll(constructs, events, context) {\n var called = []\n var index = -1\n var resolve\n\n while (++index < constructs.length) {\n resolve = constructs[index].resolveAll\n\n if (resolve && called.indexOf(resolve) < 0) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n\nmodule.exports = resolveAll\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiAlpha = regexCheck(/[A-Za-z]/)\n\nmodule.exports = asciiAlpha\n","'use strict'\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar chunkedPush = require('../util/chunked-push.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar normalizeIdentifier = require('../util/normalize-identifier.js')\nvar resolveAll = require('../util/resolve-all.js')\nvar shallow = require('../util/shallow.js')\nvar factoryDestination = require('./factory-destination.js')\nvar factoryLabel = require('./factory-label.js')\nvar factoryTitle = require('./factory-title.js')\nvar factoryWhitespace = require('./factory-whitespace.js')\n\nvar labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\nvar resourceConstruct = {\n tokenize: tokenizeResource\n}\nvar fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\nvar collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n\nfunction resolveAllLabelEnd(events) {\n var index = -1\n var token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n !token._used &&\n (token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd')\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n\nfunction resolveToLabelEnd(events, context) {\n var index = events.length\n var offset = 0\n var group\n var label\n var text\n var token\n var open\n var close\n var media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: shallow(events[open][1].start),\n end: shallow(events[events.length - 1][1].end)\n }\n label = {\n type: 'label',\n start: shallow(events[open][1].start),\n end: shallow(events[close][1].end)\n }\n text = {\n type: 'labelText',\n start: shallow(events[open + offset + 2][1].end),\n end: shallow(events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = chunkedPush(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = chunkedPush(media, [['enter', text, context]]) // Between.\n\n media = chunkedPush(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = chunkedPush(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = chunkedPush(media, events.slice(close + 1)) // Media close.\n\n media = chunkedPush(media, [['exit', group, context]])\n chunkedSplice(events, open, events.length, media)\n return events\n}\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n var self = this\n var index = self.events.length\n var labelStart\n var defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined =\n self.parser.defined.indexOf(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n ) > -1\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 3\n )(code)\n }\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n\nfunction tokenizeFullReference(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n\n function afterLabel(code) {\n return self.parser.defined.indexOf(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n ) < 0\n ? nok(code)\n : ok(code)\n }\n}\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = labelEnd\n","'use strict'\n\nmodule.exports = visit\n\nvar visitParents = require('unist-util-visit-parents')\n\nvar CONTINUE = visitParents.CONTINUE\nvar SKIP = visitParents.SKIP\nvar EXIT = visitParents.EXIT\n\nvisit.CONTINUE = CONTINUE\nvisit.SKIP = SKIP\nvisit.EXIT = EXIT\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n var index = parent ? parent.children.indexOf(node) : null\n return visitor(node, index, parent)\n }\n}\n","module.exports = require(\"core-js-pure/features/symbol/iterator\");","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","module.exports = require(\"core-js-pure/features/object/get-own-property-descriptor\");","module.exports = require(\"core-js-pure/features/instance/for-each\");","module.exports = require(\"core-js-pure/features/object/get-own-property-descriptors\");","module.exports = require(\"core-js-pure/features/object/get-prototype-of\");","/*\n Generate a unique guid\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript\n */\n\nexport default function generateGuid() {\n let d = new Date().getTime()\n if (\n typeof performance !== 'undefined' &&\n typeof performance.now === 'function'\n ) {\n // use high-precision timer if available\n d += performance.now()\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n // eslint-disable-next-line no-bitwise\n const r = (d + Math.random() * 16) % 16 | 0\n d = Math.floor(d / 16)\n // eslint-disable-next-line no-bitwise\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16)\n })\n}\n\n/*\n Validate a guid\n */\nexport function isGuid(stringToTest: string) {\n const regexGuid =\n // eslint-disable-next-line no-useless-escape\n /^(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}$/gi\n\n return regexGuid.test(stringToTest)\n}\n","!function(e,t){if(\"function\"==typeof define&&define.amd)define([\"exports\"],t);else if(\"undefined\"!=typeof exports)t(exports);else{var o={};t(o),e.bodyScrollLock=o}}(this,function(exports){\"use strict\";function i(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t<e.length;t++)o[t]=e[t];return o}return Array.from(e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var l=!1;if(\"undefined\"!=typeof window){var e={get passive(){l=!0}};window.addEventListener(\"testPassive\",null,e),window.removeEventListener(\"testPassive\",null,e)}function d(t){return u.some(function(e){return!(!e.options.allowTouchMove||!e.options.allowTouchMove(t))})}function c(e){var t=e||window.event;return!!d(t.target)||(1<t.touches.length||(t.preventDefault&&t.preventDefault(),!1))}function o(){setTimeout(function(){void 0!==m&&(document.body.style.paddingRight=m,m=void 0),void 0!==f&&(document.body.style.overflow=f,f=void 0)})}var a=\"undefined\"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||\"MacIntel\"===window.navigator.platform&&1<window.navigator.maxTouchPoints),u=[],s=!1,v=-1,f=void 0,m=void 0;exports.disableBodyScroll=function(r,e){if(a){if(!r)return void console.error(\"disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.\");if(r&&!u.some(function(e){return e.targetElement===r})){var t={targetElement:r,options:e||{}};u=[].concat(i(u),[t]),r.ontouchstart=function(e){1===e.targetTouches.length&&(v=e.targetTouches[0].clientY)},r.ontouchmove=function(e){var t,o,n,i;1===e.targetTouches.length&&(o=r,i=(t=e).targetTouches[0].clientY-v,d(t.target)||(o&&0===o.scrollTop&&0<i||(n=o)&&n.scrollHeight-n.scrollTop<=n.clientHeight&&i<0?c(t):t.stopPropagation()))},s||(document.addEventListener(\"touchmove\",c,l?{passive:!1}:void 0),s=!0)}}else{n=e,setTimeout(function(){if(void 0===m){var e=!!n&&!0===n.reserveScrollBarGap,t=window.innerWidth-document.documentElement.clientWidth;e&&0<t&&(m=document.body.style.paddingRight,document.body.style.paddingRight=t+\"px\")}void 0===f&&(f=document.body.style.overflow,document.body.style.overflow=\"hidden\")});var o={targetElement:r,options:e||{}};u=[].concat(i(u),[o])}var n},exports.clearAllBodyScrollLocks=function(){a?(u.forEach(function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null}),s&&(document.removeEventListener(\"touchmove\",c,l?{passive:!1}:void 0),s=!1),u=[],v=-1):(o(),u=[])},exports.enableBodyScroll=function(t){if(a){if(!t)return void console.error(\"enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.\");t.ontouchstart=null,t.ontouchmove=null,u=u.filter(function(e){return e.targetElement!==t}),s&&0===u.length&&(document.removeEventListener(\"touchmove\",c,l?{passive:!1}:void 0),s=!1)}else(u=u.filter(function(e){return e.targetElement!==t})).length||o()}});\n","module.exports = require(\"core-js-pure/features/promise\");","module.exports = require(\"core-js-pure/features/map\");","import * as React from 'react'\nimport { docuSignThemeName, DocuSignThemeName } from '../../themes'\n\ntype ThemeContextValue = {\n name: DocuSignThemeName\n fallbackTheme?: boolean\n}\n\n/**\n * A singular context for use in `@ds/ui`. This is to allow for multiple\n * versions of @ds/ui and @ds/components. This package will be consumed by\n * @ds/ui and as a result no matter what version of @ds/ui is being referenced\n * they should all point back to this 1 @ds/theme-context context reference.\n */\nexport const ThemeContext = React.createContext<ThemeContextValue>(\n /**\n * We need to fallback to Olive theme here to allow @ds/components to upgrade\n * to @ds/ui. As apps are fully transitioned over to @ds/ui@4.0 in the coming\n * months then we can remove this in @ds/ui@5.0.\n */\n { name: docuSignThemeName.olive, fallbackTheme: true }\n)\n\nexport function useThemeContext(): ThemeContextValue {\n const context = React.useContext(ThemeContext)\n return context\n}\n","module.exports = require(\"core-js-pure/features/object/get-own-property-descriptor\");","module.exports = require(\"core-js-pure/features/instance/for-each\");","module.exports = require(\"core-js-pure/features/object/get-own-property-descriptors\");","module.exports = require(\"core-js-pure/features/object/freeze\");","module.exports = require(\"core-js-pure/features/object/get-prototype-of\");","module.exports = require(\"core-js-pure/features/promise\");","module.exports = require(\"core-js-pure/features/map\");","module.exports = require(\"core-js-pure/features/object/freeze\");","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar NavbarBrand = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n as = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-brand');\n var Component = as || (props.href ? 'a' : 'span');\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, bsPrefix)\n }));\n});\nNavbarBrand.displayName = 'NavbarBrand';\nexport default NavbarBrand;","import ownerDocument from './ownerDocument';\n/**\n * Returns the owner window of a given element.\n * \n * @param node the element\n */\n\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc && doc.defaultView || window;\n}","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n var css = '';\n var transforms = '';\n\n if (typeof property === 'string') {\n return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n }\n\n Object.keys(property).forEach(function (key) {\n var value = property[key];\n\n if (!value && value !== 0) {\n node.style.removeProperty(hyphenate(key));\n } else if (isTransform(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += hyphenate(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += \"transform: \" + transforms + \";\";\n }\n\n node.style.cssText += \";\" + css;\n}\n\nexport default style;","import ownerWindow from './ownerWindow';\n/**\n * Returns one or all computed style properties of an element.\n * \n * @param node the element\n * @param psuedoElement the style property\n */\n\nexport default function getComputedStyle(node, psuedoElement) {\n return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","/* eslint-disable no-return-assign */\nimport canUseDOM from './canUseDOM';\nexport var optionsSupported = false;\nexport var onceSupported = false;\n\ntry {\n var options = {\n get passive() {\n return optionsSupported = true;\n },\n\n get once() {\n // eslint-disable-next-line no-multi-assign\n return onceSupported = optionsSupported = true;\n }\n\n };\n\n if (canUseDOM) {\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, true);\n }\n} catch (e) {\n /* */\n}\n\n/**\n * An `addEventListener` ponyfill, supports the `once` option\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction addEventListener(node, eventName, handler, options) {\n if (options && typeof options !== 'boolean' && !onceSupported) {\n var once = options.once,\n capture = options.capture;\n var wrappedHandler = handler;\n\n if (!onceSupported && once) {\n wrappedHandler = handler.__once || function onceHandler(event) {\n this.removeEventListener(eventName, onceHandler, capture);\n handler.call(this, event);\n };\n\n handler.__once = wrappedHandler;\n }\n\n node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);\n }\n\n node.addEventListener(eventName, handler, options);\n}\n\nexport default addEventListener;","/**\n * A `removeEventListener` ponyfill\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction removeEventListener(node, eventName, handler, options) {\n var capture = options && typeof options !== 'boolean' ? options.capture : options;\n node.removeEventListener(eventName, handler, capture);\n\n if (handler.__once) {\n node.removeEventListener(eventName, handler.__once, capture);\n }\n}\n\nexport default removeEventListener;","import addEventListener from './addEventListener';\nimport removeEventListener from './removeEventListener';\n\nfunction listen(node, eventName, handler, options) {\n addEventListener(node, eventName, handler, options);\n return function () {\n removeEventListener(node, eventName, handler, options);\n };\n}\n\nexport default listen;","import css from './css';\nimport listen from './listen';\nimport triggerEvent from './triggerEvent';\n\nfunction parseDuration(node) {\n var str = css(node, 'transitionDuration') || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nfunction emulateTransitionEnd(element, duration, padding) {\n if (padding === void 0) {\n padding = 5;\n }\n\n var called = false;\n var handle = setTimeout(function () {\n if (!called) triggerEvent(element, 'transitionend', true);\n }, duration + padding);\n var remove = listen(element, 'transitionend', function () {\n called = true;\n }, {\n once: true\n });\n return function () {\n clearTimeout(handle);\n remove();\n };\n}\n\nexport default function transitionEnd(element, handler, duration, padding) {\n if (duration == null) duration = parseDuration(element) || 0;\n var removeEmulate = emulateTransitionEnd(element, duration, padding);\n var remove = listen(element, 'transitionend', handler);\n return function () {\n removeEmulate();\n remove();\n };\n}","/**\n * Triggers an event on a given element.\n * \n * @param node the element\n * @param eventName the event name to trigger\n * @param bubbles whether the event should bubble up\n * @param cancelable whether the event should be cancelable\n */\nexport default function triggerEvent(node, eventName, bubbles, cancelable) {\n if (bubbles === void 0) {\n bubbles = false;\n }\n\n if (cancelable === void 0) {\n cancelable = true;\n }\n\n if (node) {\n var event = document.createEvent('HTMLEvents');\n event.initEvent(eventName, bubbles, cancelable);\n node.dispatchEvent(event);\n }\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\n\nfunction parseDuration(node, property) {\n var str = css(node, property) || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nexport default function transitionEndListener(element, handler) {\n var duration = parseDuration(element, 'transitionDuration');\n var delay = parseDuration(element, 'transitionDelay');\n var remove = transitionEnd(element, function (e) {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"className\", \"children\", \"dimension\", \"getDimensionValue\"];\n\nvar _collapseStyles;\n\nimport classNames from 'classnames';\nimport css from 'dom-helpers/css';\nimport React, { useMemo } from 'react';\nimport Transition, { ENTERED, ENTERING, EXITED, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport createChainedFunction from './createChainedFunction';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nvar MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\n\nfunction getDefaultDimensionValue(dimension, elem) {\n var offset = \"offset\" + dimension[0].toUpperCase() + dimension.slice(1);\n var value = elem[offset];\n var margins = MARGINS[dimension];\n return value + // @ts-ignore\n parseInt(css(elem, margins[0]), 10) + // @ts-ignore\n parseInt(css(elem, margins[1]), 10);\n}\n\nvar collapseStyles = (_collapseStyles = {}, _collapseStyles[EXITED] = 'collapse', _collapseStyles[EXITING] = 'collapsing', _collapseStyles[ENTERING] = 'collapsing', _collapseStyles[ENTERED] = 'collapse show', _collapseStyles);\nvar defaultProps = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n getDimensionValue: getDefaultDimensionValue\n};\nvar Collapse = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var onEnter = _ref.onEnter,\n onEntering = _ref.onEntering,\n onEntered = _ref.onEntered,\n onExit = _ref.onExit,\n onExiting = _ref.onExiting,\n className = _ref.className,\n children = _ref.children,\n _ref$dimension = _ref.dimension,\n dimension = _ref$dimension === void 0 ? 'height' : _ref$dimension,\n _ref$getDimensionValu = _ref.getDimensionValue,\n getDimensionValue = _ref$getDimensionValu === void 0 ? getDefaultDimensionValue : _ref$getDimensionValu,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n /* Compute dimension */\n var computedDimension = typeof dimension === 'function' ? dimension() : dimension;\n /* -- Expanding -- */\n\n var handleEnter = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = '0';\n }, onEnter);\n }, [computedDimension, onEnter]);\n var handleEntering = useMemo(function () {\n return createChainedFunction(function (elem) {\n var scroll = \"scroll\" + computedDimension[0].toUpperCase() + computedDimension.slice(1);\n elem.style[computedDimension] = elem[scroll] + \"px\";\n }, onEntering);\n }, [computedDimension, onEntering]);\n var handleEntered = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = null;\n }, onEntered);\n }, [computedDimension, onEntered]);\n /* -- Collapsing -- */\n\n var handleExit = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = getDimensionValue(computedDimension, elem) + \"px\";\n triggerBrowserReflow(elem);\n }, onExit);\n }, [onExit, getDimensionValue, computedDimension]);\n var handleExiting = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = null;\n }, onExiting);\n }, [computedDimension, onExiting]);\n return /*#__PURE__*/React.createElement(Transition // @ts-ignore\n , _extends({\n ref: ref,\n addEndListener: transitionEndListener\n }, props, {\n \"aria-expanded\": props.role ? props.in : null,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting\n }), function (state, innerProps) {\n return /*#__PURE__*/React.cloneElement(children, _extends({}, innerProps, {\n className: classNames(className, children.props.className, collapseStyles[state], computedDimension === 'width' && 'width')\n }));\n });\n}); // @ts-ignore\n\n// @ts-ignore\nCollapse.defaultProps = defaultProps;\nexport default Collapse;","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"bsPrefix\"];\nimport React from 'react';\nimport Collapse from './Collapse';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nvar NavbarCollapse = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var children = _ref.children,\n bsPrefix = _ref.bsPrefix,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-collapse');\n return /*#__PURE__*/React.createElement(NavbarContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(Collapse, _extends({\n in: !!(context && context.expanded)\n }, props), /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: bsPrefix\n }, children));\n });\n});\nNavbarCollapse.displayName = 'NavbarCollapse';\nexport default NavbarCollapse;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"children\", \"label\", \"as\", \"onClick\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nvar defaultProps = {\n label: 'Toggle navigation'\n};\nvar NavbarToggle = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n label = _ref.label,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'button' : _ref$as,\n onClick = _ref.onClick,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-toggler');\n\n var _ref2 = useContext(NavbarContext) || {},\n onToggle = _ref2.onToggle,\n expanded = _ref2.expanded;\n\n var handleClick = useEventCallback(function (e) {\n if (onClick) onClick(e);\n if (onToggle) onToggle();\n });\n\n if (Component === 'button') {\n props.type = 'button';\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n onClick: handleClick,\n \"aria-label\": label,\n className: classNames(className, bsPrefix, !expanded && 'collapsed')\n }), children || /*#__PURE__*/React.createElement(\"span\", {\n className: bsPrefix + \"-icon\"\n }));\n});\nNavbarToggle.displayName = 'NavbarToggle';\nNavbarToggle.defaultProps = defaultProps;\nexport default NavbarToggle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"expand\", \"variant\", \"bg\", \"fixed\", \"sticky\", \"className\", \"children\", \"as\", \"expanded\", \"onToggle\", \"onSelect\", \"collapseOnSelect\"];\nimport classNames from 'classnames';\nimport React, { useCallback, useMemo } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport NavbarBrand from './NavbarBrand';\nimport NavbarCollapse from './NavbarCollapse';\nimport NavbarToggle from './NavbarToggle';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport SelectableContext from './SelectableContext';\nvar NavbarText = createWithBsPrefix('navbar-text', {\n Component: 'span'\n});\nvar defaultProps = {\n expand: true,\n variant: 'light',\n collapseOnSelect: false\n};\nvar Navbar = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _useUncontrolled = useUncontrolled(props, {\n expanded: 'onToggle'\n }),\n initialBsPrefix = _useUncontrolled.bsPrefix,\n expand = _useUncontrolled.expand,\n variant = _useUncontrolled.variant,\n bg = _useUncontrolled.bg,\n fixed = _useUncontrolled.fixed,\n sticky = _useUncontrolled.sticky,\n className = _useUncontrolled.className,\n children = _useUncontrolled.children,\n _useUncontrolled$as = _useUncontrolled.as,\n Component = _useUncontrolled$as === void 0 ? 'nav' : _useUncontrolled$as,\n expanded = _useUncontrolled.expanded,\n _onToggle = _useUncontrolled.onToggle,\n onSelect = _useUncontrolled.onSelect,\n collapseOnSelect = _useUncontrolled.collapseOnSelect,\n controlledProps = _objectWithoutPropertiesLoose(_useUncontrolled, _excluded);\n\n var bsPrefix = useBootstrapPrefix(initialBsPrefix, 'navbar');\n var handleCollapse = useCallback(function () {\n if (onSelect) onSelect.apply(void 0, arguments);\n\n if (collapseOnSelect && expanded) {\n if (_onToggle) {\n _onToggle(false);\n }\n }\n }, [onSelect, collapseOnSelect, expanded, _onToggle]); // will result in some false positives but that seems better\n // than false negatives. strict `undefined` check allows explicit\n // \"nulling\" of the role if the user really doesn't want one\n\n if (controlledProps.role === undefined && Component !== 'nav') {\n controlledProps.role = 'navigation';\n }\n\n var expandClass = bsPrefix + \"-expand\";\n if (typeof expand === 'string') expandClass = expandClass + \"-\" + expand;\n var navbarContext = useMemo(function () {\n return {\n onToggle: function onToggle() {\n return _onToggle && _onToggle(!expanded);\n },\n bsPrefix: bsPrefix,\n expanded: !!expanded\n };\n }, [bsPrefix, expanded, _onToggle]);\n return /*#__PURE__*/React.createElement(NavbarContext.Provider, {\n value: navbarContext\n }, /*#__PURE__*/React.createElement(SelectableContext.Provider, {\n value: handleCollapse\n }, /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, controlledProps, {\n className: classNames(className, bsPrefix, expand && expandClass, variant && bsPrefix + \"-\" + variant, bg && \"bg-\" + bg, sticky && \"sticky-\" + sticky, fixed && \"fixed-\" + fixed)\n }), children)));\n});\nNavbar.defaultProps = defaultProps;\nNavbar.displayName = 'Navbar';\nNavbar.Brand = NavbarBrand;\nNavbar.Toggle = NavbarToggle;\nNavbar.Collapse = NavbarCollapse;\nNavbar.Text = NavbarText;\nexport default Navbar;","import { KazMonConfig } from './KazMonConfig'\nimport { isBrowser } from '../Utility'\nexport interface ClientVariables {\n Host: string\n Path: string\n UserAgent: string\n Platform: string\n Dimension: string\n QueryString?: { [key: string]: string }\n Hash?: string\n}\n\nexport function getClientVariables(\n config: KazMonConfig\n): ClientVariables | undefined {\n if (isBrowser()) {\n const location = window.location\n const cvars: ClientVariables = {\n Host: location.host,\n Path: location.pathname,\n UserAgent: window.navigator.userAgent,\n Platform: window.navigator.platform,\n Dimension: `${window.innerWidth} x ${window.innerHeight}`,\n }\n if (location.search) {\n const permittedPropNames = new Set(config.queryStringWhitelist || [])\n const rawProps = new URLSearchParams(location.search)\n const scrubbedProps = {}\n // @ts-ignore ts def is wrong...missing keys() on URLSearchParams\n for (const key of rawProps.keys()) {\n if (permittedPropNames.has(key)) {\n const values = rawProps.getAll(key)\n scrubbedProps[key] = values.length > 1 ? values : values[0]\n } else {\n scrubbedProps[key] = 'SCRUBBED'\n }\n }\n cvars.QueryString = scrubbedProps\n }\n if (location.hash) {\n const permittedHashValues = new Set(config.hashWhitelist || [])\n const hashValue = location.hash.replace('#', '')\n cvars.Hash = permittedHashValues.has(hashValue) ? hashValue : 'SCRUBBED'\n }\n return cvars\n }\n return undefined\n}\n","import { EventSource } from './EventSource'\nimport { KazMonEventOptions } from './KazMonEventOptions'\nimport { ClientContext } from './ClientContext'\nimport { getClientVariables } from './TelemetryTypes'\nimport { KazMonConfig } from './KazMonConfig'\n\ntype UnknownObject = Record<string, unknown>\n\nexport class Event extends EventSource {\n public data: UnknownObject\n\n public traceToken?: string\n\n public correlationToken?: string\n\n public appVersion?: string\n\n public identity?: string\n\n public ClientContext!: ClientContext\n\n constructor(\n eventSource: EventSource,\n eventData: UnknownObject,\n options: KazMonEventOptions,\n config: KazMonConfig,\n clientVariables?: UnknownObject\n ) {\n super(eventSource)\n\n this.data = {\n ...eventData,\n ClientVariables:\n clientVariables === undefined\n ? getClientVariables(config) || {}\n : {\n ...(getClientVariables(config) || {}),\n clientVariables,\n },\n }\n\n this.traceToken = options.traceToken\n this.correlationToken = options.correlationToken\n this.appVersion = options.appVersion\n this.identity = options.identity\n }\n\n public applyClientContext(clientContext: ClientContext) {\n this.ClientContext = {\n application: clientContext.application,\n environment: clientContext.environment,\n partition: clientContext.partition,\n site: clientContext.site,\n }\n }\n}\n","export class EventSource {\n public eventCategory: string\n\n public eventName: string\n\n public eventType: string\n\n protected constructor(eventSource: EventSource) {\n this.eventCategory = eventSource.eventCategory\n this.eventName = eventSource.eventName\n this.eventType = eventSource.eventType\n }\n}\n","export class CounterData {\n public measure?: number\n\n public instance?: string\n\n public success?: boolean\n\n constructor(measure?: number, instance?: string, success?: boolean) {\n this.measure = measure\n this.instance = instance\n this.success = success\n }\n}\n","import { CounterSource } from './CounterSource'\nimport { CounterData } from './CounterData'\nimport { ClientContext } from './ClientContext'\n\nexport class Counter extends CounterSource {\n public metrics: CounterData[]\n\n public clientContext!: ClientContext\n\n constructor(counterSource: CounterSource, counterData: CounterData) {\n super(counterSource)\n\n this.metrics = []\n\n const metric = new CounterData(\n counterData.measure,\n counterData.instance,\n counterData.success\n )\n this.metrics.push(metric)\n }\n\n public applyClientContext(clientContext: ClientContext) {\n this.clientContext = {\n application: clientContext.application,\n environment: clientContext.environment,\n partition: clientContext.partition,\n site: clientContext.site,\n }\n }\n}\n","export class CounterSource {\n public counterCategory: string\n\n public counterName: string\n\n public ranges?: number[]\n\n public displayUnit?: string\n\n public hasInstance?: boolean\n\n public hasMeasure?: boolean\n\n public hasErrorCount?: boolean\n\n public showVolume?: boolean\n\n public hideCountChart?: boolean\n\n protected constructor(counterSource: CounterSource) {\n this.counterCategory = counterSource.counterCategory\n this.counterName = counterSource.counterName\n this.ranges = counterSource.ranges\n this.displayUnit = counterSource.displayUnit\n this.hasInstance = counterSource.hasInstance\n this.hasMeasure = counterSource.hasMeasure\n this.hasErrorCount = counterSource.hasErrorCount\n this.showVolume = counterSource.showVolume\n this.hideCountChart = counterSource.hideCountChart\n }\n}\n","import { TelemetryConfig } from './TelemetryContext'\n\nexport interface ISendBuffer {\n /**\n * Enqueue the payload\n */\n enqueue: (payload: string) => void\n\n /**\n * Returns the number of elements in the buffer\n */\n count: () => number\n\n /**\n * Clears the buffer\n */\n clear: () => void\n\n /**\n * Returns items stored in the buffer\n */\n getItems: () => string[]\n\n /**\n * Build a batch of all elements in the payload array\n */\n batchPayloads: (payload: string[]) => string | undefined\n}\n\nexport class ArraySendBuffer implements ISendBuffer {\n private config: TelemetryConfig\n private buffer: string[]\n\n constructor(config: TelemetryConfig) {\n this.config = config\n\n this.buffer = []\n }\n\n public enqueue(payload: string) {\n this.buffer.push(payload)\n }\n\n public count(): number {\n return this.buffer.length\n }\n\n public clear() {\n this.buffer.length = 0\n }\n\n public getItems(): string[] {\n return this.buffer.slice(0)\n }\n\n public batchPayloads(payloads: string[]): string | undefined {\n if (payloads && payloads.length > 0) {\n const batch = this.config.emitLineDelimitedJson()\n ? payloads.join('\\n')\n : '[' + payloads.join(',') + ']'\n\n return batch\n } else {\n return undefined\n }\n }\n}\n","/* eslint-disable no-console */\n\nimport type { TelemetryConfig } from './TelemetryContext'\nimport type { ISendBuffer } from './SendBuffer'\nimport { ArraySendBuffer } from './SendBuffer'\nimport type { TelemetryWrapper } from './TelemetryWrapper'\n\nexport type SendPayload = (\n request: {\n url: string\n headers: { [key: string]: string }\n json: string\n },\n onComplete: (error?: Error) => void\n) => void\n\nexport class Sender {\n private config: TelemetryConfig\n private timeoutHandle: ReturnType<typeof setTimeout> | undefined\n private httpSend: SendPayload\n public buffer: ISendBuffer\n\n constructor(config: TelemetryConfig, httpSend: SendPayload) {\n this.config = config\n this.buffer = new ArraySendBuffer(config)\n this.httpSend = httpSend\n }\n\n /**\n * Add a telemetry item to the send buffer\n */\n public send(telemetry: TelemetryWrapper) {\n if (this.config.disableTelemetry()) {\n return\n }\n\n if (!telemetry) {\n console.log('invalid telemetry' + telemetry)\n return\n }\n\n const payload: string = JSON.stringify(telemetry)\n\n // flush if we would exceed the max-size limit by adding this item\n const bufferPayload = this.buffer.getItems()\n const batch = this.buffer.batchPayloads(bufferPayload)\n\n if (\n batch &&\n batch.length + payload.length > this.config.maxBatchSizeBytes()\n ) {\n this.triggerSend()\n }\n\n // enqueue the payload\n this.buffer.enqueue(payload)\n\n // ensure an invocation timeout is set\n this._setupTimer()\n }\n\n /**\n * Sets up the timer which triggers actually sending the data.\n */\n private _setupTimer() {\n if (!this.timeoutHandle) {\n const timerValue = this.config.maxBatchIntervalMs()\n\n this.timeoutHandle = setTimeout(() => {\n this.triggerSend()\n }, timerValue)\n }\n }\n\n /**\n * Immediately send buffered data\n */\n public triggerSend() {\n try {\n // Send data only if disableTelemetry is false\n if (!this.config.disableTelemetry() && this.buffer.count() > 0) {\n const payload = this.buffer.getItems()\n const batch = this.buffer.batchPayloads(payload)\n this.buffer.clear()\n this.sendToServer(batch, () => this.clearTimer())\n } else {\n this.buffer.clear() // don't let queue cause memory overflow\n this.clearTimer()\n }\n } catch (e) {\n this.clearTimer()\n console.log(e)\n }\n }\n\n private sendToServer(json: string | undefined, onComplete: () => void) {\n if (json) {\n try {\n const path = '/api/v1/TelemetryWrapper'\n const root = this.config.endpointUrl()\n const url = `${\n root.charAt(root.length - 1) === '/' ? root.slice(0, -1) : root\n }${path}`\n this.httpSend(\n {\n url: url,\n headers: {\n Authorization: 'kazmon ' + this.config.instrumentationKey(),\n 'Content-Type': 'application/json;charset=UTF-8',\n },\n json: json,\n },\n (error) => {\n if (error) {\n console.error(\n `Logger failed attempting to post telemetry data to server`,\n error\n )\n }\n onComplete()\n }\n )\n } catch (error) {\n console.error(`Error trying to send telemetry data to server`, error)\n onComplete()\n }\n } else {\n onComplete()\n }\n }\n\n private clearTimer() {\n clearTimeout(this.timeoutHandle as ReturnType<typeof setTimeout>)\n this.timeoutHandle = undefined\n }\n}\n","/* eslint-disable no-console */\n\nimport { ClientContext } from './ClientContext'\nimport { Event } from './Event'\nimport { Counter } from './Counter'\nimport { Sender, SendPayload } from './Sender'\nimport { TelemetryWrapper } from './TelemetryWrapper'\n\nexport interface TelemetryConfig {\n endpointUrl: () => string\n instrumentationKey: () => string\n\n clientContext: () => ClientContext\n\n disableTelemetry: () => boolean\n emitLineDelimitedJson: () => boolean\n maxBatchSizeBytes: () => number\n maxBatchIntervalMs: () => number\n}\n\nexport class TelemetryContext {\n private appContext: ClientContext\n public sender: Sender\n\n constructor(config: TelemetryConfig, httpHandler: SendPayload) {\n this.appContext = config.clientContext()\n this.sender = new Sender(config, httpHandler)\n }\n\n /**\n * Queue a telemetry item to be sent\n */\n public send(item: Event | Counter) {\n // validate input\n if (!item) {\n console.log('invalid telemetry item: ' + item)\n return\n }\n\n // ensure a sender was constructed\n if (!this.sender) {\n console.log('Sender was not initialized')\n return\n }\n\n item.applyClientContext(this.appContext)\n\n if (item instanceof Event) {\n const telemetry = {\n telemetryType: 'event',\n telemetryData: item,\n } as TelemetryWrapper\n this.sender.send(telemetry)\n } else if (item instanceof Counter) {\n const telemetry = {\n telemetryType: 'counter',\n telemetryData: item,\n } as TelemetryWrapper\n this.sender.send(telemetry)\n }\n }\n}\n","import { KazMonConfig } from './KazMonConfig'\nimport { STANDARD_LOG_URLS } from '../Config/componentsConfig'\n\nexport class Initialization {\n public static getDefaultConfig(): KazMonConfig {\n const config = {} as KazMonConfig\n\n config.endpointUrl = STANDARD_LOG_URLS.TEST\n config.disableTelemetry = false\n config.disableFlushOnBeforeUnload = false\n config.emitLineDelimitedJson = false\n config.enableDebug = false\n config.maxBatchSizeBytes = 102400 // 100kb\n config.maxBatchIntervalMs = 15000\n\n return config\n }\n}\n","import { EventSource } from './EventSource'\nimport { CounterSource } from './CounterSource'\nimport { ClientContext } from './ClientContext'\n\nexport class DefaultSources {\n private requestEvent: EventSource\n private requestCounter: CounterSource\n private errorEvent: EventSource\n private loadTimeEvent: EventSource\n private loadTimeCounter: CounterSource\n\n constructor(context: ClientContext) {\n this.requestEvent = {\n eventCategory: context.application,\n eventName: 'Client Request',\n eventType: 'DocuSign.Monitoring.ClientTelemetry',\n }\n\n this.requestCounter = {\n counterCategory: context.application,\n counterName: 'Client Requests',\n ranges: [10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000],\n displayUnit: 'milliseconds',\n showVolume: false,\n hideCountChart: false,\n hasInstance: true,\n hasMeasure: true,\n hasErrorCount: true,\n }\n\n this.errorEvent = {\n eventCategory: context.application,\n eventName: 'Client Error',\n eventType: 'DocuSign.Monitoring.ClientTelemetry',\n }\n\n this.loadTimeEvent = {\n eventCategory: context.application,\n eventName: 'Load Time',\n eventType: 'DocuSign.Monitoring.ClientTelemetry',\n }\n\n this.loadTimeCounter = {\n counterCategory: context.application,\n counterName: 'Load Time',\n ranges: [10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000],\n displayUnit: 'milliseconds',\n showVolume: false,\n hideCountChart: false,\n hasInstance: true,\n hasMeasure: true,\n hasErrorCount: true,\n }\n }\n\n public getRequestEventSource(): EventSource {\n return this.requestEvent\n }\n\n public getRequestCounterSource(): CounterSource {\n return this.requestCounter\n }\n\n public getErrorEventSource(): EventSource {\n return this.errorEvent\n }\n\n public getLoadTimeEventSource(): EventSource {\n return this.loadTimeEvent\n }\n\n public getLoadTimeCounterSource(): CounterSource {\n return this.loadTimeCounter\n }\n}\n","export class KazMonEventOptions {\n public traceToken: string | undefined\n public correlationToken: string | undefined\n public appVersion: string | undefined\n public identity: string | undefined\n}\n","import { KazMon } from './KazMon'\n\ntype UnknownObject = Record<string, unknown>\n\nexport class PerformanceTimingInfo {\n unload: number | undefined\n redirect: number | undefined\n appCache: number | undefined\n dns: number | undefined\n tcp: number | undefined\n ssl: number | undefined\n request: number | undefined\n response: number | undefined\n dom: number | undefined\n onLoad: number | undefined\n}\n\nexport class PerformanceNavigationInfo {\n type: string | undefined\n redirectCount: number | undefined\n}\n\nexport class PageViewData {\n total: number | undefined\n ttfb: number | undefined\n domContentLoaded: number | undefined\n PerformanceTiming: PerformanceTimingInfo | undefined\n PerformanceNavigation: PerformanceNavigationInfo | undefined\n Properties: UnknownObject | undefined\n}\n\nexport class PageView {\n public trackPageView(\n kazmonInstance: KazMon,\n counterInstanceName?: string,\n clientVariables?: UnknownObject,\n customProperties?: UnknownObject\n ) {\n const pvData = new PageViewData()\n if (customProperties) {\n pvData.Properties = customProperties\n }\n\n if (this.isPerformanceTimingSupported()) {\n const handle = window.setInterval(() => {\n if (this.isPerformanceTimingReady()) {\n window.clearInterval(handle)\n\n this.populatePerformanceTimingData(pvData)\n\n if (this.isPerformanceNavigationSupported()) {\n this.populatePerformanceNavigationData(pvData)\n }\n\n kazmonInstance.trackPageViewInternal(\n pvData,\n counterInstanceName,\n clientVariables\n )\n }\n }, 100)\n } else {\n kazmonInstance.trackPageViewInternal(\n pvData,\n counterInstanceName,\n clientVariables\n )\n }\n }\n\n private isPerformanceTimingSupported(): boolean {\n return (\n window && window.performance && window.performance.timing !== undefined\n )\n }\n\n private isPerformanceNavigationSupported(): boolean {\n return (\n window &&\n window.performance &&\n window.performance.navigation !== undefined\n )\n }\n\n private isPerformanceTimingReady(): boolean {\n const timing = window.performance.timing\n return timing !== undefined && timing.loadEventEnd > 0\n }\n\n private populatePerformanceNavigationData(pvData: PageViewData) {\n const output = new PerformanceNavigationInfo()\n\n switch (performance.navigation.type) {\n case PerformanceNavigation.TYPE_NAVIGATE:\n output.type = 'Navigation'\n break\n case PerformanceNavigation.TYPE_RELOAD:\n output.type = 'Reload'\n break\n case PerformanceNavigation.TYPE_BACK_FORWARD:\n output.type = 'History'\n break\n default:\n output.type = 'Unknown'\n break\n }\n\n output.redirectCount = performance.navigation.redirectCount\n\n pvData.PerformanceNavigation = output\n }\n\n private populatePerformanceTimingData(pvData: PageViewData) {\n const ptSummary = new PerformanceTimingInfo()\n const timing = performance.timing\n\n pvData.total = this.getDuration(timing.navigationStart, timing.loadEventEnd)\n pvData.ttfb = this.getDuration(timing.requestStart, timing.responseStart)\n pvData.domContentLoaded = this.getDuration(\n timing.requestStart,\n timing.domContentLoadedEventStart\n )\n\n ptSummary.redirect = this.getDuration(\n timing.redirectStart,\n timing.redirectEnd\n )\n ptSummary.unload = this.getDuration(\n timing.unloadEventStart,\n timing.unloadEventEnd\n )\n ptSummary.appCache = this.getDuration(\n timing.fetchStart,\n timing.domainLookupStart\n )\n ptSummary.dns = this.getDuration(\n timing.domainLookupStart,\n timing.domainLookupEnd\n )\n ptSummary.tcp = this.getDuration(timing.connectStart, timing.connectEnd)\n ptSummary.ssl =\n timing.secureConnectionStart === 0\n ? 0\n : this.getDuration(timing.secureConnectionStart, timing.connectEnd)\n ptSummary.request = this.getDuration(\n timing.requestStart,\n timing.responseStart\n )\n ptSummary.response = this.getDuration(\n timing.responseStart,\n timing.responseEnd\n )\n ptSummary.dom = this.getDuration(timing.domLoading, timing.domComplete)\n ptSummary.onLoad = this.getDuration(\n timing.loadEventStart,\n timing.loadEventEnd\n )\n\n pvData.PerformanceTiming = ptSummary\n }\n\n public getDuration(start: number, end: number): number {\n let duration = 0\n if (!(isNaN(start) || isNaN(end))) {\n duration = Math.max(end - start, 0)\n }\n\n return duration\n }\n}\n","import { SendPayload } from './Sender'\n\n/**\n * Send the kazmon payload to the server (using xhr)\n * @param request request info\n * @param onComplete callback when send complete\n */\nexport const xhrHttpSender: SendPayload = (\n request: {\n url: string\n headers: { [key: string]: string }\n json: string\n },\n onComplete: (error?: Error) => void\n) => {\n try {\n const xhr = new XMLHttpRequest()\n xhr.withCredentials = false\n xhr.open('POST', request.url)\n const headers = request.headers || {}\n for (const key in headers) {\n xhr.setRequestHeader(key, headers[key])\n }\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status <= 299) {\n onComplete()\n } else {\n onComplete(\n new Error(\n `Error attempting to send payload to kazmon server at ${request.url}. Status=${xhr.status}.`\n )\n )\n }\n }\n xhr.onerror = () => {\n onComplete(\n new Error(`Error sending data to Kazmon. Status = ${xhr.status}`)\n )\n }\n xhr.send(request.json)\n } catch (err) {\n onComplete(err)\n }\n}\n","import { Event } from './Event'\nimport { EventSource } from './EventSource'\nimport { CounterSource } from './CounterSource'\nimport { TelemetryContext, TelemetryConfig } from './TelemetryContext'\nimport { KazMonConfig } from './KazMonConfig'\nimport { Initialization } from './Initialization'\nimport { CounterData } from './CounterData'\nimport { Counter } from './Counter'\nimport { DefaultSources } from './DefaultSources'\nimport { KazMonEventOptions } from './KazMonEventOptions'\nimport generateGuid from '../Utility/generateGuid'\nimport { PageView, PageViewData } from './PageView'\nimport { SendPayload } from './Sender'\nimport { xhrHttpSender } from './xhrHttpSender'\nimport { STANDARD_LOG_URLS } from '../Config/componentsConfig'\n\n/*\n A client SDK for logging telemetry events to the KazMon service\n*/\n\ntype UnknownObject = Record<string, unknown>\nexport interface KazMonErrorData {\n message: string\n error?: Error\n meta?: UnknownObject\n}\n\nexport type KazMonErrorParameter = string | Error | KazMonErrorData\n\ninterface ErrorEventData {\n errorMessage: string\n errorStack?: string\n [key: string]: unknown\n}\n\nexport class KazMon {\n public telemetryContext: TelemetryContext\n public config: KazMonConfig\n private defaultSources: DefaultSources\n private pageView!: PageView\n\n public eventOptions: KazMonEventOptions = new KazMonEventOptions()\n\n private isInitialized(): boolean {\n return this.telemetryContext !== null\n }\n\n constructor(config: KazMonConfig) {\n // Assign standard logging endpoint urls, if the known environment is given and endpointUrl is missing\n if (\n config.environment &&\n !config.endpointUrl &&\n STANDARD_LOG_URLS[config.environment.toUpperCase()]\n ) {\n config.endpointUrl = STANDARD_LOG_URLS[config.environment.toUpperCase()]\n }\n\n this.config = { ...Initialization.getDefaultConfig(), ...config }\n\n const configGetters: TelemetryConfig = {\n endpointUrl: () => this.config.endpointUrl!,\n instrumentationKey: () => this.config.instrumentationKey,\n\n clientContext: () => ({\n application: this.config.application,\n environment: this.config.environment,\n partition: this.config.partition,\n site: this.config.site,\n }),\n\n disableTelemetry: () => this.config.disableTelemetry!,\n emitLineDelimitedJson: () => this.config.emitLineDelimitedJson!,\n maxBatchSizeBytes: () => this.config.maxBatchSizeBytes!,\n maxBatchIntervalMs: () => this.config.maxBatchIntervalMs!,\n }\n\n this.defaultSources = new DefaultSources(configGetters.clientContext())\n this.telemetryContext = new TelemetryContext(\n configGetters,\n this.createHttpHandler()\n )\n\n if (\n this.isBrowser() &&\n !config.disableFlushOnBeforeUnload &&\n 'onbeforeunload' in window\n ) {\n this.addFlushOnBeforeUnload(this)\n }\n }\n\n public trackPageView(\n counterInstanceName?: string,\n clientVariables?: UnknownObject,\n customProperties?: UnknownObject\n ) {\n if (this.isBrowser()) {\n if (this.pageView === undefined) {\n this.pageView = new PageView()\n }\n this.pageView.trackPageView(\n this,\n counterInstanceName,\n clientVariables,\n customProperties\n )\n } else {\n throw new Error('Kazmon page tracking invalid outside of a browser')\n }\n }\n\n public trackPageViewInternal(\n pvData: PageViewData,\n counterInstanceName?: string,\n clientVariables?: UnknownObject\n ) {\n if (this.isBrowser()) {\n const {\n total,\n ttfb,\n domContentLoaded,\n PerformanceTiming,\n PerformanceNavigation,\n Properties,\n } = pvData\n\n this.emitLoadTimeEvent(\n {\n total,\n ttfb,\n domContentLoaded,\n PerformanceTiming,\n PerformanceNavigation,\n Properties,\n },\n clientVariables\n )\n if (\n counterInstanceName &&\n pvData.total !== undefined &&\n pvData.total > 0\n ) {\n this.emitLoadTimeCounter({\n measure: pvData.total,\n instance: counterInstanceName,\n })\n }\n } else {\n throw new Error('Kazmon page tracking invalid outside of a browser')\n }\n }\n\n public setTraceToken(traceToken?: string): string {\n if (traceToken) {\n this.eventOptions.traceToken = traceToken\n } else {\n this.eventOptions.traceToken = generateGuid()\n }\n return this.eventOptions.traceToken\n }\n\n public setCorrelationToken(correlationToken?: string): string {\n if (correlationToken) {\n this.eventOptions.correlationToken = correlationToken\n } else {\n this.eventOptions.correlationToken = generateGuid()\n }\n return this.eventOptions.correlationToken\n }\n\n public setAppVersion(appVersion: string) {\n this.eventOptions.appVersion = appVersion\n }\n\n public setIdentity(identity: string) {\n this.eventOptions.identity = identity\n }\n\n /**\n * FullName in KazMon == \"YourApplicationName/Client Request\"\n */\n public emitRequestEvent(\n eventData: UnknownObject,\n clientVariables?: UnknownObject\n ) {\n this.emitEvent(\n this.defaultSources.getRequestEventSource(),\n eventData,\n clientVariables\n )\n }\n\n /**\n * Counter in KazMon == \"YourApplicationName/Client Requests\"\n */\n public emitRequestCounter(counterData: CounterData) {\n if (counterData.success === undefined) {\n counterData.success = true\n }\n this.emitCounter(this.defaultSources.getRequestCounterSource(), counterData)\n }\n\n /**\n * FullName in KazMon == \"YourApplicationName/Client Error\"\n */\n public emitErrorEvent(\n errorInfo: KazMonErrorParameter,\n clientVariables?: UnknownObject\n ) {\n this.emitEvent(\n this.defaultSources.getErrorEventSource(),\n this.normalizeErrorInfo(errorInfo),\n clientVariables\n )\n }\n\n /**\n * FullName in KazMon == \"YourApplicationName/Load Time\"\n */\n public emitLoadTimeEvent(\n eventData: UnknownObject,\n clientVariables?: UnknownObject\n ) {\n this.emitEvent(\n this.defaultSources.getLoadTimeEventSource(),\n eventData,\n clientVariables\n )\n }\n\n /**\n * Counter in KazMon == \"YourApplicationName/Load Time\"\n */\n public emitLoadTimeCounter(counterData: CounterData) {\n if (counterData.success === undefined) {\n counterData.success = true\n }\n this.emitCounter(\n this.defaultSources.getLoadTimeCounterSource(),\n counterData\n )\n }\n\n public emitEvent(\n eventSource: EventSource,\n eventData: UnknownObject,\n clientVariables?: UnknownObject\n ) {\n if (!this.isInitialized()) {\n console.log('KazMon class was not initialized') // eslint-disable-line no-console\n return\n }\n\n const event = new Event(\n eventSource,\n eventData,\n this.eventOptions,\n this.config,\n clientVariables\n )\n this.telemetryContext.send(event)\n }\n\n public emitCounter(counterSource: CounterSource, counterData: CounterData) {\n if (!this.isInitialized()) {\n console.log('KazMon class was not initialized') // eslint-disable-line no-console\n return\n }\n\n const counter = new Counter(counterSource, counterData)\n this.telemetryContext.send(counter)\n }\n\n public addFlushOnBeforeUnload(kazMonInstance: KazMon): void {\n // Add callback to push events when the user navigates away\n\n const flushOnBeforeUnload = () => {\n // Adds the ability to flush all data before the page unloads.\n // Note: This approach tries to push an async request with all the pending events onbeforeunload.\n // Firefox does not respect this. Other browsers DO push out the call with < 100% hit rate.\n // Telemetry here will help us analyze how effective this approach is.\n // Another approach would be to make this call sync with a acceptable timeout to reduce the\n // impact on user experience.\n kazMonInstance.flush()\n }\n\n if (this.isBrowser()) {\n window.addEventListener('beforeunload', flushOnBeforeUnload, false)\n }\n }\n\n public flush() {\n this.telemetryContext.sender.triggerSend()\n }\n\n private normalizeErrorInfo(errorInfo: KazMonErrorParameter): ErrorEventData {\n if (typeof errorInfo === 'string' && !this.isEmpty(errorInfo)) {\n return { errorMessage: errorInfo }\n } else if (errorInfo instanceof Error) {\n return {\n errorMessage: errorInfo.message,\n errorStack: errorInfo.stack,\n }\n } else if (this.isEmpty(errorInfo)) {\n return { errorMessage: 'UNKNOWN ERROR...NO INFORMATION PROVIDED' }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } else if ((errorInfo as any).message) {\n const errorData = errorInfo as KazMonErrorData\n return {\n errorMessage: errorData.message,\n errorStack: errorData.error ? errorData.error.stack : undefined,\n errorMeta: errorData.meta,\n }\n } else if (Array.isArray(errorInfo)) {\n return { errorMessage: errorInfo.toString() }\n } else if (typeof errorInfo === 'object') {\n return { errorMessage: errorInfo.toString(), errorMeta: errorInfo }\n } else {\n return { errorMessage: errorInfo + '' }\n }\n }\n\n protected createHttpHandler(): SendPayload {\n return xhrHttpSender\n }\n\n private isEmpty(value?: KazMonErrorParameter) {\n if (typeof value === 'string') {\n return value.match(/^\\s*$/) !== null\n } else if (value instanceof Error) {\n return false\n } else if (typeof value === 'object') {\n for (const key in value) {\n if (!(value[key] === undefined || value[key] === null)) {\n return false\n }\n }\n return true\n }\n return value === undefined || value === null\n }\n\n private isBrowser() {\n return typeof window !== 'undefined'\n }\n}\n","import { KazMon, KazMonErrorData } from '../Kazmon'\n\n/*\n\n A logger which sends errors to remote KazMon service\n\n*/\n\nconst MAX_SEND_WAIT_SECONDS = 5\ntype AppMetaData = { [key: string]: string | AppMetaData }\n\nexport interface ErrorData {\n /** error message */\n message: string\n /** error object if available */\n error?: Error\n /** meta info */\n meta?: Record<string, unknown>\n}\n\nexport class ErrorLogger {\n readonly kazmon: KazMon\n private appMeta: AppMetaData\n private previousErrors: Set<string> = new Set()\n\n constructor(kazmon: KazMon, appMetaData?: AppMetaData) {\n this.kazmon = kazmon\n this.appMeta = appMetaData || {}\n }\n\n /**\n * Log an error\n *\n * @param error\n * @param componentName\n */\n public logError(\n error: ErrorData,\n componentName?: string,\n componentVersion?: string\n ) {\n this.kazmon.emitErrorEvent(\n this.withAppMeta(error, componentName, componentVersion)\n )\n }\n\n /**\n * Log an error. Ignore if already logged (first arg used to determine \"same\").\n *\n * @param error\n * @param componentName\n */\n public logErrorOnce(\n error: ErrorData,\n componentName?: string,\n componentVersion?: string\n ) {\n if (error) {\n const errorKey =\n error.message +\n (componentName ? `@@@${componentName}` : '') +\n (componentVersion ? `@@@${componentVersion}` : '')\n if (!this.previousErrors.has(errorKey)) {\n this.logError(error, componentName, componentVersion)\n this.previousErrors.add(errorKey)\n }\n }\n }\n\n /** reset knowledge of previous errors logged */\n public resetError = () => {\n this.previousErrors.clear()\n }\n\n private withAppMeta(\n error: KazMonErrorData,\n componentName?: string,\n componentVersion?: string\n ): KazMonErrorData {\n if (error) {\n const meta = {\n ...(error.meta || {}),\n ...this.appMeta,\n componentName: componentName || '',\n componentVersion: componentVersion || '',\n }\n return {\n ...error,\n meta,\n }\n }\n return error\n }\n}\n\n/**\n * create a new error Logger which sends errors to KazMon\n *\n * @param kazmon an instance of KazMon which should handle sending errors to KazMon service\n * @param appMetaData meta data which should accompany each send\n */\nexport function createErrorLoggerWithKazmon(\n kazmon: KazMon,\n appMetaData?: AppMetaData\n) {\n return new ErrorLogger(kazmon, appMetaData)\n}\n\n/**\n * create a new error Logger which sends errors to KazMon\n *\n * @param config kazmon configuration\n * @param appVersion app version\n * @param appMetaData meta data which should accompany each send\n *\n * // TODO: get correct link to kazmon SDK\n * @see {@link foo} for further information.\n */\nexport function createErrorLogger(\n config: {\n /** kazmon server URL */\n kazmonEndpointUrl: string\n /** instrumentation key */\n instrumentationKey: string\n /** application name */\n application: string\n /** optional environment name */\n environment?: string\n /** override of default minimum time between sending event batches to server */\n maxBatchIntervalMs?: number\n },\n appVersion: string,\n appMetaData?: AppMetaData\n) {\n const kazmonConfig = {\n ...config,\n maxBatchIntervalMs:\n config.maxBatchIntervalMs || MAX_SEND_WAIT_SECONDS * 1000,\n }\n const kazmon = new KazMon(kazmonConfig)\n kazmon.setAppVersion(appVersion)\n return createErrorLoggerWithKazmon(kazmon, appMetaData)\n}\n","import {\n logError as logConsoleError,\n logWarnOnce,\n resetInfo,\n resetWarn,\n ErrorData,\n ErrorLogger,\n createErrorLogger,\n createErrorLoggerWithKazmon,\n} from '../Logger'\nimport { KazMonErrorData } from '../Kazmon'\nimport { componentsConfig } from '../Config'\n\n/*\n These functions can be used by components to log errors, warnings or info.\n\n Warnings and Info are logged to console.\n\n Errors are logged to kazmon IF the app has set properities in componentsConfig\n for kazmon logging. Otherwise errors are logged to console.\n\n @see componentsConfig\n*/\n\n/* eslint-disable no-console */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst KAZMON_INSTRUMENTATION_KEY = '7ddc99fc-d1b6-40c5-9b3b-80686b0d29aa'\nconst KAZMON_APP = 'ds-components'\nconst DEFAULT_APP_ID = 'unknown'\nconst DEFAULT_APP_VERSION = 'unknown'\nconst MAX_SEND_WAIT_SECONDS = 5\n\nlet errorLogger: ErrorLogger | undefined\n\nconst previousErrors: Set<any> = new Set()\n\nexport type EventData = {\n [key: string]: string | number | EventData\n}\n\n/**\n * Log an error\n *\n * @param error\n * @param componentName\n */\nexport const logComponentError = (\n error: ErrorData,\n componentName?: string,\n componentVersion?: string\n) => {\n const title = componentName ? `${componentName} error` : 'Error'\n const version = componentVersion ? ` (version ${componentVersion})` : ''\n if (isInitialized()) {\n errorLogger?.logError(error, componentName, componentVersion)\n }\n logConsoleError(title + version, error)\n}\n\n/**\n * Log an error only once. Error message argument (and component name if provided) used to determine if previously logged.\n *\n * @param error\n * @param componentName\n */\nexport const logComponentErrorOnce = (\n error: ErrorData,\n componentName?: string,\n componentVersion?: string\n) => {\n if (error) {\n const errorKey =\n error.message +\n (componentName ? `@@@${componentName}` : '') +\n (componentVersion ? `@@@${componentVersion}` : '')\n if (!previousErrors.has(errorKey)) {\n logComponentError(error, componentName, componentVersion)\n previousErrors.add(errorKey)\n }\n }\n}\n\n/**\n * Log an http error\n *\n * @param httpError\n * @param componentName\n */\nexport const logComponentHttpError = (\n httpError: {\n request: { method: string; url: string }\n description: string\n status: number\n },\n componentName?: string,\n componentVersion?: string\n) => {\n const request = httpError.request || {}\n const error: KazMonErrorData = {\n message: httpError.description,\n meta: {\n status: httpError.status,\n method: request.method,\n url: request.url,\n },\n }\n logComponentError(error, componentName, componentVersion)\n}\n\n/**\n * Log a non-error event to kazmon\n *\n * @param eventData\n * @param componentName\n */\nexport const logComponentEvent = (\n eventData: EventData,\n componentName?: string,\n componentVersion?: string\n) => {\n if (isInitialized()) {\n errorLogger?.kazmon?.emitRequestEvent({\n ...appMetaData(),\n ...eventData,\n componentName: componentName || '?',\n componentVersion: componentVersion || '?',\n })\n }\n}\n\n/**\n * Log a deprecation warning\n *\n * @param message\n * @param componentName\n */\nexport const logComponentDeprecation = (\n message: string,\n componentName?: string\n) => {\n if (!componentsConfig.isSuppressingDeprecationWarnings()) {\n const componentQualifier = componentName\n ? ` (component ${componentName})`\n : ''\n logWarnOnce(`Deprecation Warning${componentQualifier}: ${message}`)\n }\n}\n\n/**\n * Reset the logger (primarily for testing purposes)\n */\nexport const resetComponentsLogging = () => {\n resetWarn()\n resetInfo()\n errorLogger = undefined\n previousErrors.clear()\n}\n\nexport const getComponentsKazMon = () => {\n initializeKazmonErrorLogger()\n return errorLogger?.kazmon\n}\n\nfunction isInitialized(): boolean {\n return initializeKazmonErrorLogger()\n}\n\nfunction initializeKazmonErrorLogger(): boolean {\n /*\n This lazy initializer also logs warning regarding WHY it cannot initialize the logger\n or what might be missing when logging\n */\n if (!errorLogger) {\n const endpointUrl = componentsConfig.getLoggingUrl()\n const preConfiguredKazMon = componentsConfig.getComponentsKazMon()\n if (preConfiguredKazMon) {\n errorLogger = createErrorLoggerWithKazmon(preConfiguredKazMon)\n return true\n } else if (endpointUrl) {\n errorLogger = createErrorLogger(\n {\n kazmonEndpointUrl: endpointUrl,\n instrumentationKey: KAZMON_INSTRUMENTATION_KEY,\n application: KAZMON_APP,\n environment: componentsConfig.getLoggingEnvironment(),\n maxBatchIntervalMs: MAX_SEND_WAIT_SECONDS * 1000,\n },\n '',\n appMetaData()\n )\n const appId = componentsConfig.getAppDescription().appId\n if (!appId) {\n logWarnOnce(\n `WARNING!!! Logging is configured but no appId is configured. You should use componentsConfig.setAppDescription() to set the app ID and version. Meanwhile \"${DEFAULT_APP_ID}\" will be used as the appId.`\n )\n }\n return true\n }\n logWarnOnce(\n 'WARNING!!! components logging not configured. You should use componentsConfig.setLoggingUrl() to set the URL OR provide a KazMon instance via componentsConfig.setComponentKazMon(). Meanwhile logging will be sent to console.'\n )\n return false\n }\n return true\n}\n\nfunction appMetaData() {\n return {\n appId: componentsConfig.getAppDescription().appId || DEFAULT_APP_ID,\n appVersion:\n componentsConfig.getAppDescription().appVersion || DEFAULT_APP_VERSION,\n }\n}\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","'use strict';\nvar $ = require('./export');\nvar global = require('../internals/global');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar fails = require('../internals/fails');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar defineProperty = require('../internals/object-define-property').f;\nvar forEach = require('../internals/array-iteration').forEach;\nvar DESCRIPTORS = require('../internals/descriptors');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var exported = {};\n var Constructor;\n\n if (!DESCRIPTORS || typeof NativeConstructor != 'function'\n || !(IS_WEAK || NativePrototype.forEach && !fails(function () { new NativeConstructor().entries().next(); }))\n ) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else {\n Constructor = wrapper(function (target, iterable) {\n setInternalState(anInstance(target, Constructor, CONSTRUCTOR_NAME), {\n type: CONSTRUCTOR_NAME,\n collection: new NativeConstructor()\n });\n if (iterable != undefined) iterate(iterable, target[ADDER], { that: target, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n forEach(['add', 'clear', 'delete', 'forEach', 'get', 'has', 'set', 'keys', 'values', 'entries'], function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in NativePrototype && !(IS_WEAK && KEY == 'clear')) {\n createNonEnumerableProperty(Constructor.prototype, KEY, function (a, b) {\n var collection = getInternalState(this).collection;\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = collection[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n }\n });\n\n IS_WEAK || defineProperty(Constructor.prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).collection.size;\n }\n });\n }\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME, false, true);\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: true }, exported);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","require('../../modules/es.object.keys');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.keys;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var filter = require('../array/virtual/filter');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.filter;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.filter) ? filter : own;\n};\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var slice = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.slice) ? slice : own;\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","require('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","require('../../modules/es.map');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Map;\n","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","'use strict';\nvar $ = require('../internals/export');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar iterate = require('../internals/iterate');\n\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n // eslint-disable-next-line unicorn/error-message -- expected\n that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));\n var errorsArray = [];\n iterate(errors, errorsArray.push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `Map.prototype.upsert` method\n// https://github.com/thumbsupep/proposal-upsert\nmodule.exports = function upsert(key, updateFn /* , insertFn */) {\n var map = anObject(this);\n var insertFn = arguments.length > 2 ? arguments[2] : undefined;\n var value;\n if (typeof updateFn != 'function' && typeof insertFn != 'function') {\n throw TypeError('At least one callback required');\n }\n if (map.has(key)) {\n value = map.get(key);\n if (typeof updateFn == 'function') {\n value = updateFn(value);\n map.set(key, value);\n }\n } else if (typeof insertFn == 'function') {\n value = insertFn();\n map.set(key, value);\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar fails = require('../internals/fails');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar defineProperty = require('../internals/object-define-property').f;\nvar forEach = require('../internals/array-iteration').forEach;\nvar DESCRIPTORS = require('../internals/descriptors');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var exported = {};\n var Constructor;\n\n if (!DESCRIPTORS || !isCallable(NativeConstructor)\n || !(IS_WEAK || NativePrototype.forEach && !fails(function () { new NativeConstructor().entries().next(); }))\n ) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else {\n Constructor = wrapper(function (target, iterable) {\n setInternalState(anInstance(target, Prototype), {\n type: CONSTRUCTOR_NAME,\n collection: new NativeConstructor()\n });\n if (iterable != undefined) iterate(iterable, target[ADDER], { that: target, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n forEach(['add', 'clear', 'delete', 'forEach', 'get', 'has', 'set', 'keys', 'values', 'entries'], function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in NativePrototype && !(IS_WEAK && KEY == 'clear')) {\n createNonEnumerableProperty(Prototype, KEY, function (a, b) {\n var collection = getInternalState(this).collection;\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = collection[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n }\n });\n\n IS_WEAK || defineProperty(Prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).collection.size;\n }\n });\n }\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME, false, true);\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: true }, exported);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var parent = require('../../es/object/keys');\n\nmodule.exports = parent;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar arraySlice = require('../internals/array-slice');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n redefine(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!SymbolPrototype[TO_PRIMITIVE]) {\n var valueOf = SymbolPrototype.valueOf;\n // eslint-disable-next-line no-unused-vars -- required for .length\n redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n // TODO: improve hint logic\n return call(valueOf, this);\n });\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var parent = require('../../es/instance/filter');\n\nmodule.exports = parent;\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar Function = global.Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = NATIVE_BIND ? Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n return passed;\n};\n","export default '2.38.0';","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","var parent = require('../../es/map');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","var parent = require('../../es/promise');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar installErrorCause = require('../internals/install-error-cause');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Error = global.Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n var options = arguments.length > 2 ? arguments[2] : undefined;\n var isInstance = isPrototypeOf(AggregateErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);\n } else {\n that = isInstance ? this : create(AggregateErrorPrototype);\n createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));\n installErrorCause(that, options);\n var errorsArray = [];\n iterate(errors, push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($AggregateError, Error);\nelse copyConstructorProperties($AggregateError, Error, { name: true });\n\nvar AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(1, $AggregateError),\n message: createPropertyDescriptor(1, ''),\n name: createPropertyDescriptor(1, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var AggregateError = getBuiltIn('AggregateError');\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar anObject = require('../internals/an-object');\n\nvar TypeError = global.TypeError;\n\n// `Map.prototype.upsert` method\n// https://github.com/thumbsupep/proposal-upsert\nmodule.exports = function upsert(key, updateFn /* , insertFn */) {\n var map = anObject(this);\n var get = aCallable(map.get);\n var has = aCallable(map.has);\n var set = aCallable(map.set);\n var insertFn = arguments.length > 2 ? arguments[2] : undefined;\n var value;\n if (!isCallable(updateFn) && !isCallable(insertFn)) {\n throw TypeError('At least one callback required');\n }\n if (call(has, map, key)) {\n value = call(get, map, key);\n if (isCallable(updateFn)) {\n value = updateFn(value);\n call(set, map, key, value);\n }\n } else if (isCallable(insertFn)) {\n value = insertFn();\n call(set, map, key, value);\n } return value;\n};\n","'use strict'\n\nmodule.exports = require('./lib')\n","'use strict'\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = stringify\n\nfunction stringify(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if (own.call(value, 'position') || own.call(value, 'type')) {\n return position(value.position)\n }\n\n // Position.\n if (own.call(value, 'start') || own.call(value, 'end')) {\n return position(value)\n }\n\n // Point.\n if (own.call(value, 'line') || own.call(value, 'column')) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\nfunction point(point) {\n if (!point || typeof point !== 'object') {\n point = {}\n }\n\n return index(point.line) + ':' + index(point.column)\n}\n\nfunction position(pos) {\n if (!pos || typeof pos !== 'object') {\n pos = {}\n }\n\n return point(pos.start) + '-' + point(pos.end)\n}\n\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict'\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = own\n","'use strict'\n\n// Counts tabs based on their expanded size, and CR+LF as one character.\n\nfunction sizeChunks(chunks) {\n var index = -1\n var size = 0\n\n while (++index < chunks.length) {\n size += typeof chunks[index] === 'string' ? chunks[index].length : 1\n }\n\n return size\n}\n\nmodule.exports = sizeChunks\n","'use strict'\n\nvar assign = require('../constant/assign.js')\nvar chunkedSplice = require('./chunked-splice.js')\nvar shallow = require('./shallow.js')\n\nfunction subtokenize(events) {\n var jumps = {}\n var index = -1\n var event\n var lineIndex\n var otherIndex\n var otherEvent\n var parameters\n var subevents\n var more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1].isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container || event[1]._movePreviousLineEndings) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = shallow(events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n chunkedSplice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n\nfunction subcontent(events, eventIndex) {\n var token = events[eventIndex][1]\n var context = events[eventIndex][2]\n var startPosition = eventIndex - 1\n var startPositions = []\n var tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n var childEvents = tokenizer.events\n var jumps = []\n var gaps = {}\n var stream\n var previous\n var index\n var entered\n var end\n var adjust // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (token) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== token) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!token._tokenizer) {\n stream = context.sliceStream(token)\n\n if (!token.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(token.start)\n }\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = token\n token = token.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n token = previous\n index = childEvents.length\n\n while (index--) {\n // Make sure we’ve at least seen something (final eol is part of the last\n // token).\n if (childEvents[index][0] === 'enter') {\n entered = true\n } else if (\n // Find a void token that includes a break.\n entered &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n add(childEvents.slice(index + 1, end))\n // Help GC.\n token._tokenizer = token.next = undefined\n token = token.previous\n end = index + 1\n }\n }\n\n // Help GC.\n tokenizer.events = token._tokenizer = token.next = undefined // Do head:\n\n add(childEvents.slice(0, end))\n index = -1\n adjust = 0\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n\n function add(slice) {\n var start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n chunkedSplice(events, start, 2, slice)\n }\n}\n\nmodule.exports = subtokenize\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar assign = require('../constant/assign.js')\nvar shallow = require('../util/shallow.js')\n\nvar text = initializeFactory('text')\nvar string = initializeFactory('string')\nvar resolver = {\n resolveAll: createResolver()\n}\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n\n function initializeText(effects) {\n var self = this\n var constructs = this.parser.constructs[field]\n var text = effects.attempt(constructs, start, notText)\n return start\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n\n function atBreak(code) {\n var list = constructs[code]\n var index = -1\n\n if (code === null) {\n return true\n }\n\n if (list) {\n while (++index < list.length) {\n if (\n !list[index].previous ||\n list[index].previous.call(self, self.previous)\n ) {\n return true\n }\n }\n }\n }\n }\n}\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n\n function resolveAllText(events, context) {\n var index = -1\n var enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n} // A rather ugly set of instructions which again looks at chunks in the input\n// stream.\n// The reason to do this here is that it is *much* faster to parse in reverse.\n// And that we can’t hook into `null` to split the line suffix before an EOF.\n// To do: figure out if we can make this into a clean utility, or even in core.\n// As it will be useful for GFMs literal autolink extension (and maybe even\n// tables?)\n\nfunction resolveAllLineSuffixes(events, context) {\n var eventIndex = -1\n var chunks\n var data\n var chunk\n var index\n var bufferIndex\n var size\n var tabs\n var token\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n data = events[eventIndex - 1][1]\n chunks = context.sliceStream(data)\n index = chunks.length\n bufferIndex = -1\n size = 0\n tabs = undefined\n\n while (index--) {\n chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1);\n else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: shallow(data.end)\n }\n data.end = shallow(token.start)\n\n if (data.start.offset === data.end.offset) {\n assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n\nexports.resolver = resolver\nexports.string = string\nexports.text = text\n","'use strict'\n\n// Note: EOF is seen as ASCII control here, because `null < 32 == true`.\nfunction asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code < 32 || code === 127\n )\n}\n\nmodule.exports = asciiControl\n","'use strict'\n\n/* eslint-env browser */\n\nvar el\n\nvar semicolon = 59 // ';'\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiDigit = regexCheck(/\\d/)\n\nmodule.exports = asciiDigit\n","'use strict'\n\nvar asciiControl = require('../character/ascii-control.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\n\n// eslint-disable-next-line max-params\nfunction destinationFactory(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n var limit = max || Infinity\n var balance = 0\n return start\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (asciiControl(code) || code === 41) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n\nmodule.exports = destinationFactory\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownSpace = require('../character/markdown-space.js')\n\n// eslint-disable-next-line max-params\nfunction labelFactory(effects, ok, nok, type, markerType, stringType) {\n var self = this\n var size = 0\n var data\n return start\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* c8 ignore next */\n (code === 94 &&\n /* c8 ignore next */\n !size &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n\nmodule.exports = labelFactory\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nfunction whitespaceFactory(effects, ok) {\n var seen\n return start\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n\nmodule.exports = whitespaceFactory\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('./factory-space.js')\n\nfunction titleFactory(effects, ok, nok, type, markerType, stringType) {\n var marker\n return start\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n\nmodule.exports = titleFactory\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nvar thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n var size = 0\n var marker\n return start\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n\nmodule.exports = thematicBreak\n","'use strict'\n\nvar start = factory('start')\nvar end = factory('end')\n\nmodule.exports = position\n\nposition.start = start\nposition.end = end\n\nfunction position(node) {\n return {start: start(node), end: end(node)}\n}\n\nfunction factory(type) {\n point.displayName = type\n\n return point\n\n function point(node) {\n var point = (node && node.position && node.position[type]) || {}\n\n return {\n line: point.line || null,\n column: point.column || null,\n offset: isNaN(point.offset) ? null : point.offset\n }\n }\n}\n","'use strict'\n\nmodule.exports = one\n\nvar u = require('unist-builder')\nvar all = require('./all')\n\nvar own = {}.hasOwnProperty\n\n// Transform an unknown node.\nfunction unknown(h, node) {\n if (text(node)) {\n return h.augment(node, u('text', node.value))\n }\n\n return h(node, 'div', all(h, node))\n}\n\n// Visit a node.\nfunction one(h, node, parent) {\n var type = node && node.type\n var fn\n\n // Fail on non-nodes.\n if (!type) {\n throw new Error('Expected node, got `' + node + '`')\n }\n\n if (own.call(h.handlers, type)) {\n fn = h.handlers[type]\n } else if (h.passThrough && h.passThrough.indexOf(type) > -1) {\n fn = returnNode\n } else {\n fn = h.unknownHandler\n }\n\n return (typeof fn === 'function' ? fn : unknown)(h, node, parent)\n}\n\n// Check if the node should be renderered as a text node.\nfunction text(node) {\n var data = node.data || {}\n\n if (\n own.call(data, 'hName') ||\n own.call(data, 'hProperties') ||\n own.call(data, 'hChildren')\n ) {\n return false\n }\n\n return 'value' in node\n}\n\nfunction returnNode(h, node) {\n var clone\n\n if (node.children) {\n clone = Object.assign({}, node)\n clone.children = all(h, node)\n return clone\n }\n\n return node\n}\n","'use strict'\n\nmodule.exports = thematicBreak\n\nfunction thematicBreak(h, node) {\n return h(node, 'hr')\n}\n","'use strict'\n\nmodule.exports = list\n\nvar wrap = require('../wrap')\nvar all = require('../all')\n\nfunction list(h, node) {\n var props = {}\n var name = node.ordered ? 'ol' : 'ul'\n var items\n var index = -1\n var length\n\n if (typeof node.start === 'number' && node.start !== 1) {\n props.start = node.start\n }\n\n items = all(h, node)\n length = items.length\n\n // Like GitHub, add a class for custom styling.\n while (++index < length) {\n if (\n items[index].properties.className &&\n items[index].properties.className.indexOf('task-list-item') !== -1\n ) {\n props.className = ['contains-task-list']\n break\n }\n }\n\n return h(node, name, props, wrap(items, true))\n}\n","'use strict'\n\nmodule.exports = footnoteReference\n\nvar u = require('unist-builder')\n\nfunction footnoteReference(h, node) {\n var footnoteOrder = h.footnoteOrder\n var identifier = String(node.identifier)\n\n if (footnoteOrder.indexOf(identifier) === -1) {\n footnoteOrder.push(identifier)\n }\n\n return h(node.position, 'sup', {id: 'fnref-' + identifier}, [\n h(node, 'a', {href: '#fn-' + identifier, className: ['footnote-ref']}, [\n u('text', node.label || identifier)\n ])\n ])\n}\n","'use strict'\n\nmodule.exports = revert\n\nvar u = require('unist-builder')\nvar all = require('./all')\n\n// Return the content of a reference without definition as Markdown.\nfunction revert(h, node) {\n var subtype = node.referenceType\n var suffix = ']'\n var contents\n var head\n var tail\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return u('text', '![' + node.alt + suffix)\n }\n\n contents = all(h, node)\n head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift(u('text', '['))\n }\n\n tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push(u('text', suffix))\n }\n\n return contents\n}\n","'use strict'\n\nvar xtend = require('xtend')\nvar Schema = require('./schema')\n\nmodule.exports = merge\n\nfunction merge(definitions) {\n var length = definitions.length\n var property = []\n var normal = []\n var index = -1\n var info\n var space\n\n while (++index < length) {\n info = definitions[index]\n property.push(info.property)\n normal.push(info.normal)\n space = info.space\n }\n\n return new Schema(\n xtend.apply(null, property),\n xtend.apply(null, normal),\n space\n )\n}\n","'use strict'\n\nmodule.exports = Schema\n\nvar proto = Schema.prototype\n\nproto.space = null\nproto.normal = {}\nproto.property = {}\n\nfunction Schema(property, normal, space) {\n this.property = property\n this.normal = normal\n\n if (space) {\n this.space = space\n }\n}\n","'use strict'\n\nvar create = require('./util/create')\n\nmodule.exports = create({\n space: 'xlink',\n transform: xlinkTransform,\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n\nfunction xlinkTransform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n}\n","'use strict'\n\nmodule.exports = normalize\n\nfunction normalize(value) {\n return value.toLowerCase()\n}\n","'use strict'\n\nvar Info = require('./info')\nvar types = require('./types')\n\nmodule.exports = DefinedInfo\n\nDefinedInfo.prototype = new Info()\nDefinedInfo.prototype.defined = true\n\nvar checks = [\n 'boolean',\n 'booleanish',\n 'overloadedBoolean',\n 'number',\n 'commaSeparated',\n 'spaceSeparated',\n 'commaOrSpaceSeparated'\n]\nvar checksLength = checks.length\n\nfunction DefinedInfo(property, attribute, mask, space) {\n var index = -1\n var check\n\n mark(this, 'space', space)\n\n Info.call(this, property, attribute)\n\n while (++index < checksLength) {\n check = checks[index]\n mark(this, check, (mask & types[check]) === types[check])\n }\n}\n\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value\n }\n}\n","'use strict'\n\nmodule.exports = Info\n\nvar proto = Info.prototype\n\nproto.space = null\nproto.attribute = null\nproto.property = null\nproto.boolean = false\nproto.booleanish = false\nproto.overloadedBoolean = false\nproto.number = false\nproto.commaSeparated = false\nproto.spaceSeparated = false\nproto.commaOrSpaceSeparated = false\nproto.mustUseProperty = false\nproto.defined = false\n\nfunction Info(property, attribute) {\n this.property = property\n this.attribute = attribute\n}\n","'use strict'\n\nvar create = require('./util/create')\n\nmodule.exports = create({\n space: 'xml',\n transform: xmlTransform,\n properties: {\n xmlLang: null,\n xmlBase: null,\n xmlSpace: null\n }\n})\n\nfunction xmlTransform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n}\n","'use strict'\n\nvar create = require('./util/create')\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform')\n\nmodule.exports = create({\n space: 'xmlns',\n attributes: {\n xmlnsxlink: 'xmlns:xlink'\n },\n transform: caseInsensitiveTransform,\n properties: {\n xmlns: null,\n xmlnsXLink: null\n }\n})\n","'use strict'\n\nvar caseSensitiveTransform = require('./case-sensitive-transform')\n\nmodule.exports = caseInsensitiveTransform\n\nfunction caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","'use strict'\n\nmodule.exports = caseSensitiveTransform\n\nfunction caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\n\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\n\nmodule.exports = create({\n transform: ariaTransform,\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n\nfunction ariaTransform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n}\n","import { useRef, useEffect } from 'react'\nimport { logComponentDeprecation } from '@ds/logging'\nimport { Lazy } from './Lazy'\n\n/*\n\n This hook is an equivalent of addListener. It removes the add listener when the\n component is unmounted.\n\n Examples:\n\n const handleClick = (clickEvent) => // handle event\n\n basic:\n\n useEventListener(\"click\", handleClick, myRef.current)\n\n with a callback ref (handles the fact that 'current' is not populated on first render):\n\n const [myRef, setMyRef] = useState();\n\n useEventListener(\"click\", handleClick, myRef);\n\n return\n\n <div ref={setMyRef} ....\n\n\n*/\n\ntype ListenerTarget =\n | (() => EventTarget)\n | EventTarget\n | Lazy<EventTarget>\n | null\n\nexport function useEventListener(\n eventName: string,\n handler: EventListener,\n listenerTarget?: ListenerTarget,\n enabled = true\n) {\n const handlerRef = useRef<EventListener>(handler)\n\n useEffect(() => {\n handlerRef.current = handler\n }, [handler])\n\n useEffect(() => {\n let eventListener: (event: Event) => void\n let target: EventTarget | null | undefined\n\n if (typeof listenerTarget === 'function') {\n logComponentDeprecation(\n \"Passing 'listenerTarget' as a function is deprecated. Use a callback ref (via useState) and passing the element directly\",\n 'useEventListener'\n )\n target = listenerTarget()\n } else if (listenerTarget instanceof Lazy) {\n target = listenerTarget.value\n } else {\n target = listenerTarget\n }\n\n if (enabled === true && target) {\n eventListener = (event: Event) => {\n handlerRef.current(event)\n }\n target.addEventListener(eventName, eventListener)\n }\n return () => {\n if (target) {\n target.removeEventListener(eventName, eventListener)\n }\n }\n }, [enabled, eventName, listenerTarget])\n}\n","module.exports = require(\"core-js-pure/features/instance/filter\");","var _Symbol = require(\"@babel/runtime-corejs3/core-js/symbol\");\n\nvar _Symbol$iterator = require(\"@babel/runtime-corejs3/core-js/symbol/iterator\");\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"core-js-pure/features/object/assign\");","import _Array$isArray from \"@babel/runtime-corejs3/core-js/array/is-array\";\nexport default function _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","'use strict';\nmodule.exports = require('./lib/index');\n","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _getIteratorMethod from \"@babel/runtime-corejs3/core-js/get-iterator-method\";\nimport _Array$from from \"@babel/runtime-corejs3/core-js/array/from\";\nexport default function _iterableToArray(iter) {\n if (typeof _Symbol !== \"undefined\" && _getIteratorMethod(iter) != null || iter[\"@@iterator\"] != null) return _Array$from(iter);\n}","module.exports = require(\"core-js-pure/stable/array/is-array\");","module.exports = require(\"core-js-pure/features/instance/bind\");","import { useEffect, useState } from 'react'\nimport { getLang, addLangListener, removeLangListener, Locale } from '@ds/base'\n\n/**\n * A custom React hook that observes changes to the 'html' element on the page via\n * a 'useEffect' hook.\n *\n * A 'useState' hook stores the last observed value of the element's 'lang' attribute.\n *\n * When the 'lang' attribute changes, the state of the custom hook is updated and\n * the newly observed value of the attribute is returned.\n *\n * @returns {?string} The last observed value of the 'lang' attribute of\n * the 'html' element, or null.\n */\n\nexport const useHtmlLang = (): string | null => {\n const [currentLocale, setCurrentLocale] = useState(getLang())\n\n useEffect(() => {\n const langListener = (locale?: Locale) => {\n setCurrentLocale(locale)\n }\n addLangListener(langListener)\n\n return () => removeLangListener(langListener)\n }, [])\n\n return currentLocale || null\n}\n","module.exports = require(\"core-js-pure/features/instance/filter\");","module.exports = require(\"core-js-pure/stable/object/assign\");","module.exports = require(\"core-js-pure/features/object/assign\");","module.exports = require(\"core-js-pure/features/symbol/iterator\");","module.exports = require(\"core-js-pure/stable/url-search-params\");","module.exports = require(\"core-js-pure/stable/instance/keys\");","import * as React from 'react'\nimport {\n AnchorForwardRef,\n ButtonForwardRef,\n ConditionalTagRef,\n SpanForwardRef,\n} from '../../../types'\nimport { AnchorTarget } from '../../../variables'\n\nexport type ConditionalTagElement =\n | HTMLAnchorElement\n | HTMLButtonElement\n | HTMLSpanElement\n\nexport interface ConditionalTagProps\n extends Omit<React.HTMLAttributes<ConditionalTagElement>, 'onClick'> {\n children: React.ReactNode\n\n /**\n * A custom class name.\n * */\n className?: string\n\n /**\n * When passed in conjunction with an \"onClick\" will return a disabled button\n */\n disabled?: boolean\n\n /**\n * Whether to force render a <span> or not. Used in tandem with `onClick`. (Defaults to `false`).\n */\n forceSpan?: boolean\n\n /**\n * Used to determine which element to render if neither `href` nor `onClick` are passed.\n * By default it will be a <span>.\n */\n forceButton?: boolean\n\n /**\n * A React ref to assign to the HTML node representing the ConditionalTag element.\n */\n forwardedRef?: ConditionalTagRef\n\n /**\n * If href is provided then it will render an anchor\n */\n href?: string\n\n /**\n * When passed without an \"href\" will cause a button to render unless `forceSpan` is true then will render a span.\n */\n onClick?:\n | React.MouseEventHandler<ConditionalTagElement>\n | React.KeyboardEventHandler<HTMLSpanElement>\n\n /**\n * The rel of the anchor tag\n */\n rel?: string\n\n /**\n * The role attribute\n */\n role?: string\n\n /**\n * How the anchor should behave when clicked\n */\n target?: AnchorTarget\n\n /**\n * Text representing advisory information related to the element.\n */\n title?: string\n\n /**\n * The type of button to be rendered.\n */\n type?: 'button' | 'submit' | 'reset'\n}\n\nexport function ConditionalTag(props: ConditionalTagProps) {\n const {\n children,\n className,\n disabled = false,\n forceSpan = false,\n forceButton = false,\n forwardedRef,\n href,\n onClick,\n rel,\n role,\n target,\n type = 'button',\n ...restProps\n } = props\n\n if (href && !disabled) {\n return (\n <a\n {...restProps}\n className={className}\n href={href}\n onClick={onClick as React.MouseEventHandler<HTMLAnchorElement>}\n rel={rel}\n ref={forwardedRef as AnchorForwardRef}\n role={role}\n target={target}\n >\n {children}\n </a>\n )\n }\n\n if (onClick) {\n if (forceSpan) {\n return (\n <span\n {...restProps}\n className={className}\n onClick={onClick as React.MouseEventHandler<HTMLSpanElement>}\n onKeyDown={onClick as React.KeyboardEventHandler<HTMLSpanElement>}\n ref={forwardedRef as SpanForwardRef}\n role=\"button\"\n tabIndex={0}\n >\n {children}\n </span>\n )\n }\n\n return (\n <button\n {...restProps}\n className={className}\n disabled={disabled}\n onClick={onClick as React.MouseEventHandler<HTMLButtonElement>}\n ref={forwardedRef as ButtonForwardRef}\n role={role}\n // eslint-disable-next-line react/button-has-type\n type={type}\n >\n {children}\n </button>\n )\n }\n\n if (forceButton) {\n return (\n <button\n {...restProps}\n className={className}\n disabled={disabled}\n ref={forwardedRef as ButtonForwardRef}\n role={role}\n // eslint-disable-next-line react/button-has-type\n type={type}\n >\n {children}\n </button>\n )\n }\n\n return (\n <span\n {...restProps}\n className={className}\n ref={forwardedRef as SpanForwardRef}\n >\n {children}\n </span>\n )\n}\n","const keyboardNavigableElementSelectors = [\n '*[contenteditable]',\n '*[tabindex]:not([tabindex=\"-1\"])',\n\n 'details',\n 'embed',\n 'iframe',\n\n 'a[href]',\n 'audio[controls]',\n 'img[usemap]',\n 'menu[type=\"toolbar\"]',\n 'object[usemap]',\n 'video[controls]',\n\n 'button:not([disabled])',\n 'input:not([disabled]):not([type=\"hidden\"])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n].join(', ')\n\n/**\n * @returns A list of focusable elements within the given container.\n */\nexport const keyboardNavigableElements = (\n container: HTMLElement\n): HTMLElement[] =>\n Array.from(container.querySelectorAll(keyboardNavigableElementSelectors))\n","// This file replaces `index.js` in bundlers like webpack or Rollup,\n// according to `browser` config in `package.json`.\n\nif (process.env.NODE_ENV !== 'production') {\n // All bundlers will remove this block in production bundle\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use `nanoid/non-secure`. ' +\n 'For secure ID install `expo-random` locally and use `nanoid/async`.'\n )\n }\n if (typeof self === 'undefined' || (!self.crypto && !self.msCrypto)) {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\n\nvar crypto = self.crypto || self.msCrypto\n\n// This alphabet uses a-z A-Z 0-9 _- symbols.\n// Symbols are generated for smaller size.\n// -_zyxwvutsrqponmlkjihgfedcba9876543210ZYXWVUTSRQPONMLKJIHGFEDCBA\nvar url = '-_'\n// Loop from 36 to 0 (from z to a and 9 to 0 in Base36).\nvar i = 36\nwhile (i--) {\n // 36 is radix. Number.prototype.toString(36) returns number\n // in Base36 representation. Base36 is like hex, but it uses 0–9 and a-z.\n url += i.toString(36)\n}\n// Loop from 36 to 10 (from Z to A in Base36).\ni = 36\nwhile (i-- - 10) {\n url += i.toString(36).toUpperCase()\n}\n\nmodule.exports = function (size) {\n var id = ''\n var bytes = crypto.getRandomValues(new Uint8Array(size || 21))\n i = size || 21\n\n // Compact alternative for `for (var i = 0; i < size; i++)`\n while (i--) {\n // We can’t use bytes bigger than the alphabet. 63 is 00111111 bitmask.\n // This mask reduces random byte 0-255 to 0-63 values.\n // There is no need in `|| ''` and `* 1.6` hacks in here,\n // because bitmask trim bytes exact to alphabet size.\n id += url[bytes[i] & 63]\n }\n return id\n}\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\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 // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","module.exports = require(\"core-js-pure/stable/instance/ends-with\");","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","module.exports = require(\"core-js-pure/stable/map\");","module.exports = require(\"core-js-pure/stable/instance/repeat\");","module.exports = require(\"core-js-pure/stable/instance/starts-with\");","module.exports = require(\"core-js-pure/features/instance/bind\");","import template from './template'\n\n/**\n * Print an error in the browser's development console.\n *\n * @param {string} msg - The error message to display in the console.\n */\nconst consoleError = (msg: string) => {\n /* eslint-disable-next-line no-console */\n console.error(template('Error', msg))\n}\n\nexport default consoleError\n","/*\n * __ ___\n * _____/ /___ __/ (_)____\n * / ___/ __/ / / / / / ___/\n * (__ ) /_/ /_/ / / (__ )\n * /____/\\__/\\__, /_/_/____/\n * /____/\n *\n * light - weight css preprocessor @licence MIT\n */\n(function (factory) {/* eslint-disable */\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? (module['exports'] = factory(null)) :\n\t\ttypeof define === 'function' && define['amd'] ? define(factory(null)) :\n\t\t\t(window['stylis'] = factory(null))\n}(/** @param {*=} options */function factory (options) {/* eslint-disable */\n\n\t'use strict'\n\n\t/**\n\t * Notes\n\t *\n\t * The ['<method name>'] pattern is used to support closure compiler\n\t * the jsdoc signatures are also used to the same effect\n\t *\n\t * ----\n\t *\n\t * int + int + int === n4 [faster]\n\t *\n\t * vs\n\t *\n\t * int === n1 && int === n2 && int === n3\n\t *\n\t * ----\n\t *\n\t * switch (int) { case ints...} [faster]\n\t *\n\t * vs\n\t *\n\t * if (int == 1 && int === 2 ...)\n\t *\n\t * ----\n\t *\n\t * The (first*n1 + second*n2 + third*n3) format used in the property parser\n\t * is a simple way to hash the sequence of characters\n\t * taking into account the index they occur in\n\t * since any number of 3 character sequences could produce duplicates.\n\t *\n\t * On the other hand sequences that are directly tied to the index of the character\n\t * resolve a far more accurate measure, it's also faster\n\t * to evaluate one condition in a switch statement\n\t * than three in an if statement regardless of the added math.\n\t *\n\t * This allows the vendor prefixer to be both small and fast.\n\t */\n\n\tvar nullptn = /^\\0+/g /* matches leading null characters */\n\tvar formatptn = /[\\0\\r\\f]/g /* matches new line, null and formfeed characters */\n\tvar colonptn = /: */g /* splits animation rules */\n\tvar cursorptn = /zoo|gra/ /* assert cursor varient */\n\tvar transformptn = /([,: ])(transform)/g /* vendor prefix transform, older webkit */\n\tvar animationptn = /,+\\s*(?![^(]*[)])/g /* splits multiple shorthand notation animations */\n\tvar propertiesptn = / +\\s*(?![^(]*[)])/g /* animation properties */\n\tvar elementptn = / *[\\0] */g /* selector elements */\n\tvar selectorptn = /,\\r+?/g /* splits selectors */\n\tvar andptn = /([\\t\\r\\n ])*\\f?&/g /* match & */\n\tvar escapeptn = /:global\\(((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g /* matches :global(.*) */\n\tvar invalidptn = /\\W+/g /* removes invalid characters from keyframes */\n\tvar keyframeptn = /@(k\\w+)\\s*(\\S*)\\s*/ /* matches @keyframes $1 */\n\tvar plcholdrptn = /::(place)/g /* match ::placeholder varient */\n\tvar readonlyptn = /:(read-only)/g /* match :read-only varient */\n\tvar beforeptn = /\\s+(?=[{\\];=:>])/g /* matches \\s before ] ; = : */\n\tvar afterptn = /([[}=:>])\\s+/g /* matches \\s after characters [ } = : */\n\tvar tailptn = /(\\{[^{]+?);(?=\\})/g /* matches tail semi-colons ;} */\n\tvar whiteptn = /\\s{2,}/g /* matches repeating whitespace */\n\tvar pseudoptn = /([^\\(])(:+) */g /* pseudo element */\n\tvar writingptn = /[svh]\\w+-[tblr]{2}/ /* match writing mode property values */\n\tvar gradientptn = /([\\w-]+t\\()/g /* match *gradient property */\n\tvar supportsptn = /\\(\\s*(.*)\\s*\\)/g /* match supports (groups) */\n\tvar propertyptn = /([\\s\\S]*?);/g /* match properties leading semicolon */\n\tvar selfptn = /-self|flex-/g /* match flex- and -self in align-self: flex-*; */\n\tvar pseudofmt = /[^]*?(:[rp][el]a[\\w-]+)[^]*/ /* extrats :readonly or :placholder from selector */\n\tvar trimptn = /[ \\t]+$/ /* match tail whitspace */\n\tvar dimensionptn = /stretch|:\\s*\\w+\\-(?:conte|avail)/ /* match max/min/fit-content, fill-available */\n\tvar imgsrcptn = /([^-])(image-set\\()/\n\n\t/* vendors */\n\tvar webkit = '-webkit-'\n\tvar moz = '-moz-'\n\tvar ms = '-ms-'\n\n\t/* character codes */\n\tvar SEMICOLON = 59 /* ; */\n\tvar CLOSEBRACES = 125 /* } */\n\tvar OPENBRACES = 123 /* { */\n\tvar OPENPARENTHESES = 40 /* ( */\n\tvar CLOSEPARENTHESES = 41 /* ) */\n\tvar OPENBRACKET = 91 /* [ */\n\tvar CLOSEBRACKET = 93 /* ] */\n\tvar NEWLINE = 10 /* \\n */\n\tvar CARRIAGE = 13 /* \\r */\n\tvar TAB = 9 /* \\t */\n\tvar AT = 64 /* @ */\n\tvar SPACE = 32 /* */\n\tvar AND = 38 /* & */\n\tvar DASH = 45 /* - */\n\tvar UNDERSCORE = 95 /* _ */\n\tvar STAR = 42 /* * */\n\tvar COMMA = 44 /* , */\n\tvar COLON = 58 /* : */\n\tvar SINGLEQUOTE = 39 /* ' */\n\tvar DOUBLEQUOTE = 34 /* \" */\n\tvar FOWARDSLASH = 47 /* / */\n\tvar GREATERTHAN = 62 /* > */\n\tvar PLUS = 43 /* + */\n\tvar TILDE = 126 /* ~ */\n\tvar NULL = 0 /* \\0 */\n\tvar FORMFEED = 12 /* \\f */\n\tvar VERTICALTAB = 11 /* \\v */\n\n\t/* special identifiers */\n\tvar KEYFRAME = 107 /* k */\n\tvar MEDIA = 109 /* m */\n\tvar SUPPORTS = 115 /* s */\n\tvar PLACEHOLDER = 112 /* p */\n\tvar READONLY = 111 /* o */\n\tvar IMPORT = 105 /* <at>i */\n\tvar CHARSET = 99 /* <at>c */\n\tvar DOCUMENT = 100 /* <at>d */\n\tvar PAGE = 112 /* <at>p */\n\n\tvar column = 1 /* current column */\n\tvar line = 1 /* current line numebr */\n\tvar pattern = 0 /* :pattern */\n\n\tvar cascade = 1 /* #id h1 h2 vs h1#id h2#id */\n\tvar prefix = 1 /* vendor prefix */\n\tvar escape = 1 /* escape :global() pattern */\n\tvar compress = 0 /* compress output */\n\tvar semicolon = 0 /* no/semicolon option */\n\tvar preserve = 0 /* preserve empty selectors */\n\n\t/* empty reference */\n\tvar array = []\n\n\t/* plugins */\n\tvar plugins = []\n\tvar plugged = 0\n\tvar should = null\n\n\t/* plugin context */\n\tvar POSTS = -2\n\tvar PREPS = -1\n\tvar UNKWN = 0\n\tvar PROPS = 1\n\tvar BLCKS = 2\n\tvar ATRUL = 3\n\n\t/* plugin newline context */\n\tvar unkwn = 0\n\n\t/* keyframe animation */\n\tvar keyed = 1\n\tvar key = ''\n\n\t/* selector namespace */\n\tvar nscopealt = ''\n\tvar nscope = ''\n\n\t/**\n\t * Compile\n\t *\n\t * @param {Array<string>} parent\n\t * @param {Array<string>} current\n\t * @param {string} body\n\t * @param {number} id\n\t * @param {number} depth\n\t * @return {string}\n\t */\n\tfunction compile (parent, current, body, id, depth) {\n\t\tvar bracket = 0 /* brackets [] */\n\t\tvar comment = 0 /* comments /* // or /* */\n\t\tvar parentheses = 0 /* functions () */\n\t\tvar quote = 0 /* quotes '', \"\" */\n\n\t\tvar first = 0 /* first character code */\n\t\tvar second = 0 /* second character code */\n\t\tvar code = 0 /* current character code */\n\t\tvar tail = 0 /* previous character code */\n\t\tvar trail = 0 /* character before previous code */\n\t\tvar peak = 0 /* previous non-whitespace code */\n\n\t\tvar counter = 0 /* count sequence termination */\n\t\tvar context = 0 /* track current context */\n\t\tvar atrule = 0 /* track @at-rule context */\n\t\tvar pseudo = 0 /* track pseudo token index */\n\t\tvar caret = 0 /* current character index */\n\t\tvar format = 0 /* control character formating context */\n\t\tvar insert = 0 /* auto semicolon insertion */\n\t\tvar invert = 0 /* inverted selector pattern */\n\t\tvar length = 0 /* generic length address */\n\t\tvar eof = body.length /* end of file(length) */\n\t\tvar eol = eof - 1 /* end of file(characters) */\n\n\t\tvar char = '' /* current character */\n\t\tvar chars = '' /* current buffer of characters */\n\t\tvar child = '' /* next buffer of characters */\n\t\tvar out = '' /* compiled body */\n\t\tvar children = '' /* compiled children */\n\t\tvar flat = '' /* compiled leafs */\n\t\tvar selector /* generic selector address */\n\t\tvar result /* generic address */\n\n\t\t// ...build body\n\t\twhile (caret < eof) {\n\t\t\tcode = body.charCodeAt(caret)\n\n\t\t\t// eof varient\n\t\t\tif (caret === eol) {\n\t\t\t\t// last character + noop context, add synthetic padding for noop context to terminate\n\t\t\t\tif (comment + quote + parentheses + bracket !== 0) {\n\t\t\t\t\tif (comment !== 0) {\n\t\t\t\t\t\tcode = comment === FOWARDSLASH ? NEWLINE : FOWARDSLASH\n\t\t\t\t\t}\n\n\t\t\t\t\tquote = parentheses = bracket = 0\n\t\t\t\t\teof++\n\t\t\t\t\teol++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (comment + quote + parentheses + bracket === 0) {\n\t\t\t\t// eof varient\n\t\t\t\tif (caret === eol) {\n\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\tchars = chars.replace(formatptn, '')\n\t\t\t\t\t}\n\n\t\t\t\t\tif (chars.trim().length > 0) {\n\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\t\tcase NEWLINE: {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tchars += body.charAt(caret)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcode = SEMICOLON\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// auto semicolon insertion\n\t\t\t\tif (insert === 1) {\n\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t// false flags\n\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\tcase SINGLEQUOTE:\n\t\t\t\t\t\tcase OPENPARENTHESES:\n\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// ignore\n\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// valid\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t\tlength = caret\n\t\t\t\t\t\t\tfirst = code\n\t\t\t\t\t\t\tcaret--\n\t\t\t\t\t\t\tcode = SEMICOLON\n\n\t\t\t\t\t\t\twhile (length < eof) {\n\t\t\t\t\t\t\t\tswitch (body.charCodeAt(length++)) {\n\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\t\t\t\tcase SEMICOLON: {\n\t\t\t\t\t\t\t\t\t\t++caret\n\t\t\t\t\t\t\t\t\t\tcode = first\n\t\t\t\t\t\t\t\t\t\tlength = eof\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\t\t\t\t\t\t++caret\n\t\t\t\t\t\t\t\t\t\t\tcode = first\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\t\t\t\t\tlength = eof\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// token varient\n\t\t\t\tswitch (code) {\n\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\tchars = chars.trim()\n\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\t\t\t\t\t\tcounter = 1\n\t\t\t\t\t\tlength = ++caret\n\n\t\t\t\t\t\twhile (caret < eof) {\n\t\t\t\t\t\t\tswitch (code = body.charCodeAt(caret)) {\n\t\t\t\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\t\t\t\tcounter++\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\t\t\t\t\tcounter--\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\t\t\tswitch (second = body.charCodeAt(caret + 1)) {\n\t\t\t\t\t\t\t\t\t\t// /*, //\n\t\t\t\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\t\t\t\t\tcaret = delimited(second, caret, eol, body)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// given \"[\" === 91 & \"]\" === 93 hence forth 91 + 1 + 1 === 93\n\t\t\t\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\t\t\t\tcode++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// given \"(\" === 40 & \")\" === 41 hence forth 40 + 1 === 41\n\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\tcode++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// quote tail delimiter is identical to the head delimiter hence noop,\n\t\t\t\t\t\t\t\t// fallthrough clauses have been shifted to the correct tail delimiter\n\t\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\t\tcase SINGLEQUOTE: {\n\t\t\t\t\t\t\t\t\twhile (caret++ < eol) {\n\t\t\t\t\t\t\t\t\t\tif (body.charCodeAt(caret) === code) {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (counter === 0) {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tcaret++\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchild = body.substring(length, caret)\n\n\t\t\t\t\t\tif (first === NULL) {\n\t\t\t\t\t\t\tfirst = (chars = chars.replace(nullptn, '').trim()).charCodeAt(0)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tswitch (first) {\n\t\t\t\t\t\t\t// @at-rule\n\t\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\t\t\t\tchars = chars.replace(formatptn, '')\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsecond = chars.charCodeAt(1)\n\n\t\t\t\t\t\t\t\tswitch (second) {\n\t\t\t\t\t\t\t\t\tcase DOCUMENT:\n\t\t\t\t\t\t\t\t\tcase MEDIA:\n\t\t\t\t\t\t\t\t\tcase SUPPORTS:\n\t\t\t\t\t\t\t\t\tcase DASH: {\n\t\t\t\t\t\t\t\t\t\tselector = current\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\tselector = array\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tchild = compile(current, selector, child, second, depth+1)\n\t\t\t\t\t\t\t\tlength = child.length\n\n\t\t\t\t\t\t\t\t// preserve empty @at-rule\n\t\t\t\t\t\t\t\tif (preserve > 0 && length === 0) {\n\t\t\t\t\t\t\t\t\tlength = chars.length\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// execute plugins, @at-rule context\n\t\t\t\t\t\t\t\tif (plugged > 0) {\n\t\t\t\t\t\t\t\t\tselector = select(array, chars, invert)\n\t\t\t\t\t\t\t\t\tresult = proxy(ATRUL, child, selector, current, line, column, length, second, depth, id)\n\t\t\t\t\t\t\t\t\tchars = selector.join('')\n\n\t\t\t\t\t\t\t\t\tif (result !== void 0) {\n\t\t\t\t\t\t\t\t\t\tif ((length = (child = result.trim()).length) === 0) {\n\t\t\t\t\t\t\t\t\t\t\tsecond = 0\n\t\t\t\t\t\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (length > 0) {\n\t\t\t\t\t\t\t\t\tswitch (second) {\n\t\t\t\t\t\t\t\t\t\tcase SUPPORTS: {\n\t\t\t\t\t\t\t\t\t\t\tchars = chars.replace(supportsptn, supports)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcase DOCUMENT:\n\t\t\t\t\t\t\t\t\t\tcase MEDIA:\n\t\t\t\t\t\t\t\t\t\tcase DASH: {\n\t\t\t\t\t\t\t\t\t\t\tchild = chars + '{' + child + '}'\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcase KEYFRAME: {\n\t\t\t\t\t\t\t\t\t\t\tchars = chars.replace(keyframeptn, '$1 $2' + (keyed > 0 ? key : ''))\n\t\t\t\t\t\t\t\t\t\t\tchild = chars + '{' + child + '}'\n\n\t\t\t\t\t\t\t\t\t\t\tif (prefix === 1 || (prefix === 2 && vendor('@'+child, 3))) {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = '@' + webkit + child + '@' + child\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = '@' + child\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tchild = chars + child\n\n\t\t\t\t\t\t\t\t\t\t\tif (id === PAGE) {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = (out += child, '')\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// selector\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tchild = compile(current, select(current, chars, invert), child, id, depth+1)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchildren += child\n\n\t\t\t\t\t\t// reset\n\t\t\t\t\t\tcontext = 0\n\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\tformat = 0\n\t\t\t\t\t\tinvert = 0\n\t\t\t\t\t\tatrule = 0\n\t\t\t\t\t\tchars = ''\n\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\tcode = body.charCodeAt(++caret)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\tcase SEMICOLON: {\n\t\t\t\t\t\tchars = (format > 0 ? chars.replace(formatptn, '') : chars).trim()\n\n\t\t\t\t\t\tif ((length = chars.length) > 1) {\n\t\t\t\t\t\t\t// monkey-patch missing colon\n\t\t\t\t\t\t\tif (pseudo === 0) {\n\t\t\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\n\t\t\t\t\t\t\t\t// first character is a letter or dash, buffer has a space character\n\t\t\t\t\t\t\t\tif ((first === DASH || first > 96 && first < 123)) {\n\t\t\t\t\t\t\t\t\tlength = (chars = chars.replace(' ', ':')).length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// execute plugins, property context\n\t\t\t\t\t\t\tif (plugged > 0) {\n\t\t\t\t\t\t\t\tif ((result = proxy(PROPS, chars, current, parent, line, column, out.length, id, depth, id)) !== void 0) {\n\t\t\t\t\t\t\t\t\tif ((length = (chars = result.trim()).length) === 0) {\n\t\t\t\t\t\t\t\t\t\tchars = '\\0\\0'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\t\t\t\t\t\t\tsecond = chars.charCodeAt(1)\n\n\t\t\t\t\t\t\tswitch (first) {\n\t\t\t\t\t\t\t\tcase NULL: {\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\t\t\tif (second === IMPORT || second === CHARSET) {\n\t\t\t\t\t\t\t\t\t\tflat += chars + body.charAt(caret)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\tif (chars.charCodeAt(length-1) === COLON) {\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tout += property(chars, first, second, chars.charCodeAt(2))\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// reset\n\t\t\t\t\t\tcontext = 0\n\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\tformat = 0\n\t\t\t\t\t\tinvert = 0\n\t\t\t\t\t\tchars = ''\n\t\t\t\t\t\tcode = body.charCodeAt(++caret)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// parse characters\n\t\t\tswitch (code) {\n\t\t\t\tcase CARRIAGE:\n\t\t\t\tcase NEWLINE: {\n\t\t\t\t\t// auto insert semicolon\n\t\t\t\t\tif (comment + quote + parentheses + bracket + semicolon === 0) {\n\t\t\t\t\t\t// valid non-whitespace characters that\n\t\t\t\t\t\t// may precede a newline\n\t\t\t\t\t\tswitch (peak) {\n\t\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\t\tcase SINGLEQUOTE:\n\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\tcase AT:\n\t\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\t\tcase FOWARDSLASH:\n\t\t\t\t\t\t\tcase DASH:\n\t\t\t\t\t\t\tcase COLON:\n\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t// current buffer has a colon\n\t\t\t\t\t\t\t\tif (pseudo > 0) {\n\t\t\t\t\t\t\t\t\tinsert = 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// terminate line comment\n\t\t\t\t\tif (comment === FOWARDSLASH) {\n\t\t\t\t\t\tcomment = 0\n\t\t\t\t\t} else if (cascade + context === 0 && id !== KEYFRAME && chars.length > 0) {\n\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\tchars += '\\0'\n\t\t\t\t\t}\n\n\t\t\t\t\t// execute plugins, newline context\n\t\t\t\t\tif (plugged * unkwn > 0) {\n\t\t\t\t\t\tproxy(UNKWN, chars, current, parent, line, column, out.length, id, depth, id)\n\t\t\t\t\t}\n\n\t\t\t\t\t// next line, reset column position\n\t\t\t\t\tcolumn = 1\n\t\t\t\t\tline++\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase SEMICOLON:\n\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\tif (comment + quote + parentheses + bracket === 0) {\n\t\t\t\t\t\tcolumn++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\t// increment column position\n\t\t\t\t\tcolumn++\n\n\t\t\t\t\t// current character\n\t\t\t\t\tchar = body.charAt(caret)\n\n\t\t\t\t\t// remove comments, escape functions, strings, attributes and prepare selectors\n\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\tif (quote + bracket + comment === 0) {\n\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\t\tcase COLON:\n\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\t\t\tchar = ''\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\tif (code !== SPACE) {\n\t\t\t\t\t\t\t\t\t\t\tchar = ' '\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// escape breaking control characters\n\t\t\t\t\t\tcase NULL: {\n\t\t\t\t\t\t\tchar = '\\\\0'\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase FORMFEED: {\n\t\t\t\t\t\t\tchar = '\\\\f'\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase VERTICALTAB: {\n\t\t\t\t\t\t\tchar = '\\\\v'\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// &\n\t\t\t\t\t\tcase AND: {\n\t\t\t\t\t\t\t// inverted selector pattern i.e html &\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0 && cascade > 0) {\n\t\t\t\t\t\t\t\tinvert = 1\n\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\tchar = '\\f' + char\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// ::p<l>aceholder, l\n\t\t\t\t\t\t// :read-on<l>y, l\n\t\t\t\t\t\tcase 108: {\n\t\t\t\t\t\t\tif (quote + comment + bracket + pattern === 0 && pseudo > 0) {\n\t\t\t\t\t\t\t\tswitch (caret - pseudo) {\n\t\t\t\t\t\t\t\t\t// ::placeholder\n\t\t\t\t\t\t\t\t\tcase 2: {\n\t\t\t\t\t\t\t\t\t\tif (tail === PLACEHOLDER && body.charCodeAt(caret-3) === COLON) {\n\t\t\t\t\t\t\t\t\t\t\tpattern = tail\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// :read-only\n\t\t\t\t\t\t\t\t\tcase 8: {\n\t\t\t\t\t\t\t\t\t\tif (trail === READONLY) {\n\t\t\t\t\t\t\t\t\t\t\tpattern = trail\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// :<pattern>\n\t\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\tpseudo = caret\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// selectors\n\t\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\t\tif (comment + parentheses + quote + bracket === 0) {\n\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\tchar += '\\r'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// quotes\n\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\tcase SINGLEQUOTE: {\n\t\t\t\t\t\t\tif (comment === 0) {\n\t\t\t\t\t\t\t\tquote = quote === code ? 0 : (quote === 0 ? code : quote)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// attributes\n\t\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\t\tif (quote + comment + parentheses === 0) {\n\t\t\t\t\t\t\t\tbracket++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase CLOSEBRACKET: {\n\t\t\t\t\t\t\tif (quote + comment + parentheses === 0) {\n\t\t\t\t\t\t\t\tbracket--\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// functions\n\t\t\t\t\t\tcase CLOSEPARENTHESES: {\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\tparentheses--\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\tswitch (tail*2 + trail*3) {\n\t\t\t\t\t\t\t\t\t\t// :matches\n\t\t\t\t\t\t\t\t\t\tcase 533: {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t// :global, :not, :nth-child etc...\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tcounter = 0\n\t\t\t\t\t\t\t\t\t\t\tcontext = 1\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tparentheses++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\tif (comment + parentheses + quote + bracket + pseudo + atrule === 0) {\n\t\t\t\t\t\t\t\tatrule = 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// block/line comments\n\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\tif (quote + bracket + parentheses > 0) {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tswitch (comment) {\n\t\t\t\t\t\t\t\t// initialize line/block comment context\n\t\t\t\t\t\t\t\tcase 0: {\n\t\t\t\t\t\t\t\t\tswitch (code*2 + body.charCodeAt(caret+1)*3) {\n\t\t\t\t\t\t\t\t\t\t// //\n\t\t\t\t\t\t\t\t\t\tcase 235: {\n\t\t\t\t\t\t\t\t\t\t\tcomment = FOWARDSLASH\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t// /*\n\t\t\t\t\t\t\t\t\t\tcase 220: {\n\t\t\t\t\t\t\t\t\t\t\tlength = caret\n\t\t\t\t\t\t\t\t\t\t\tcomment = STAR\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// end block comment context\n\t\t\t\t\t\t\t\tcase STAR: {\n\t\t\t\t\t\t\t\t\tif (code === FOWARDSLASH && tail === STAR && length + 2 !== caret) {\n\t\t\t\t\t\t\t\t\t\t// /*<!> ... */, !\n\t\t\t\t\t\t\t\t\t\tif (body.charCodeAt(length+2) === 33) {\n\t\t\t\t\t\t\t\t\t\t\tout += body.substring(length, caret+1)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tchar = ''\n\t\t\t\t\t\t\t\t\t\tcomment = 0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ignore comment blocks\n\t\t\t\t\tif (comment === 0) {\n\t\t\t\t\t\t// aggressive isolation mode, divide each individual selector\n\t\t\t\t\t\t// including selectors in :not function but excluding selectors in :global function\n\t\t\t\t\t\tif (cascade + quote + bracket + atrule === 0 && id !== KEYFRAME && code !== SEMICOLON) {\n\t\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\t\t// outside of an isolated context i.e nth-child(<...>)\n\t\t\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\t\t\tcase CARRIAGE: {\n\t\t\t\t\t\t\t\t\t\t\t\tchar = char + '\\0'\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t\tchar = '\\0' + char + (code === COMMA ? '' : '\\0')\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// within an isolated context, sleep untill it's terminated\n\t\t\t\t\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\t\t\t// :globa<l>(\n\t\t\t\t\t\t\t\t\t\t\t\tif (pseudo + 7 === caret && tail === 108) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tcontext = ++counter\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcase CLOSEPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\t\t\tif ((context = --counter) === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\tchar += '\\0'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\t\tcase NULL:\n\t\t\t\t\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\t\t\tcase FORMFEED:\n\t\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\t\tcase CARRIAGE: {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t// ignore in isolated contexts\n\t\t\t\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t\t\t\tchar += '\\0'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// concat buffer of characters\n\t\t\t\t\t\tchars += char\n\n\t\t\t\t\t\t// previous non-whitespace character code\n\t\t\t\t\t\tif (code !== SPACE && code !== TAB) {\n\t\t\t\t\t\t\tpeak = code\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// tail character codes\n\t\t\ttrail = tail\n\t\t\ttail = code\n\n\t\t\t// visit every character\n\t\t\tcaret++\n\t\t}\n\n\t\tlength = out.length\n\n\t\t// preserve empty selector\n \t\tif (preserve > 0) {\n \t\t\tif (length === 0 && children.length === 0 && (current[0].length === 0) === false) {\n \t\t\t\tif (id !== MEDIA || (current.length === 1 && (cascade > 0 ? nscopealt : nscope) === current[0])) {\n\t\t\t\t\tlength = current.join(',').length + 2\n \t\t\t\t}\n \t\t\t}\n\t\t}\n\n\t\tif (length > 0) {\n\t\t\t// cascade isolation mode?\n\t\t\tselector = cascade === 0 && id !== KEYFRAME ? isolate(current) : current\n\n\t\t\t// execute plugins, block context\n\t\t\tif (plugged > 0) {\n\t\t\t\tresult = proxy(BLCKS, out, selector, parent, line, column, length, id, depth, id)\n\n\t\t\t\tif (result !== void 0 && (out = result).length === 0) {\n\t\t\t\t\treturn flat + out + children\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tout = selector.join(',') + '{' + out + '}'\n\n\t\t\tif (prefix*pattern !== 0) {\n\t\t\t\tif (prefix === 2 && !vendor(out, 2))\n\t\t\t\t\tpattern = 0\n\n\t\t\t\tswitch (pattern) {\n\t\t\t\t\t// ::read-only\n\t\t\t\t\tcase READONLY: {\n\t\t\t\t\t\tout = out.replace(readonlyptn, ':'+moz+'$1')+out\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// ::placeholder\n\t\t\t\t\tcase PLACEHOLDER: {\n\t\t\t\t\t\tout = (\n\t\t\t\t\t\t\tout.replace(plcholdrptn, '::' + webkit + 'input-$1') +\n\t\t\t\t\t\t\tout.replace(plcholdrptn, '::' + moz + '$1') +\n\t\t\t\t\t\t\tout.replace(plcholdrptn, ':' + ms + 'input-$1') + out\n\t\t\t\t\t\t)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tpattern = 0\n\t\t\t}\n\t\t}\n\n\t\treturn flat + out + children\n\t}\n\n\t/**\n\t * Select\n\t *\n\t * @param {Array<string>} parent\n\t * @param {string} current\n\t * @param {number} invert\n\t * @return {Array<string>}\n\t */\n\tfunction select (parent, current, invert) {\n\t\tvar selectors = current.trim().split(selectorptn)\n\t\tvar out = selectors\n\n\t\tvar length = selectors.length\n\t\tvar l = parent.length\n\n\t\tswitch (l) {\n\t\t\t// 0-1 parent selectors\n\t\t\tcase 0:\n\t\t\tcase 1: {\n\t\t\t\tfor (var i = 0, selector = l === 0 ? '' : parent[0] + ' '; i < length; ++i) {\n\t\t\t\t\tout[i] = scope(selector, out[i], invert, l).trim()\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// >2 parent selectors, nested\n\t\t\tdefault: {\n\t\t\t\tfor (var i = 0, j = 0, out = []; i < length; ++i) {\n\t\t\t\t\tfor (var k = 0; k < l; ++k) {\n\t\t\t\t\t\tout[j++] = scope(parent[k] + ' ', selectors[i], invert, l).trim()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn out\n\t}\n\n\t/**\n\t * Scope\n\t *\n\t * @param {string} parent\n\t * @param {string} current\n\t * @param {number} invert\n\t * @param {number} level\n\t * @return {string}\n\t */\n\tfunction scope (parent, current, invert, level) {\n\t\tvar selector = current\n\t\tvar code = selector.charCodeAt(0)\n\n\t\t// trim leading whitespace\n\t\tif (code < 33) {\n\t\t\tcode = (selector = selector.trim()).charCodeAt(0)\n\t\t}\n\n\t\tswitch (code) {\n\t\t\t// &\n\t\t\tcase AND: {\n\t\t\t\tswitch (cascade + level) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\tcase 1: {\n\t\t\t\t\t\tif (parent.trim().length === 0) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\treturn selector.replace(andptn, '$1'+parent.trim())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// :\n\t\t\tcase COLON: {\n\t\t\t\tswitch (selector.charCodeAt(1)) {\n\t\t\t\t\t// g in :global\n\t\t\t\t\tcase 103: {\n\t\t\t\t\t\tif (escape > 0 && cascade > 0) {\n\t\t\t\t\t\t\treturn selector.replace(escapeptn, '$1').replace(andptn, '$1'+nscope)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\t// :hover\n\t\t\t\t\t\treturn parent.trim() + selector.replace(andptn, '$1'+parent.trim())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\t// html &\n\t\t\t\tif (invert*cascade > 0 && selector.indexOf('\\f') > 0) {\n\t\t\t\t\treturn selector.replace(andptn, (parent.charCodeAt(0) === COLON ? '' : '$1')+parent.trim())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn parent + selector\n\t}\n\n\t/**\n\t * Property\n\t *\n\t * @param {string} input\n\t * @param {number} first\n\t * @param {number} second\n\t * @param {number} third\n\t * @return {string}\n\t */\n\tfunction property (input, first, second, third) {\n\t\tvar index = 0\n\t\tvar out = input + ';'\n\t\tvar hash = (first*2) + (second*3) + (third*4)\n\t\tvar cache\n\n\t\t// animation: a, n, i characters\n\t\tif (hash === 944) {\n\t\t\treturn animation(out)\n\t\t} else if (prefix === 0 || (prefix === 2 && !vendor(out, 1))) {\n\t\t\treturn out\n\t\t}\n\n\t\t// vendor prefix\n\t\tswitch (hash) {\n\t\t\t// text-decoration/text-size-adjust/text-shadow/text-align/text-transform: t, e, x\n\t\t\tcase 1015: {\n\t\t\t\t// text-shadow/text-align/text-transform, a\n\t\t\t\treturn out.charCodeAt(10) === 97 ? webkit + out + out : out\n\t\t\t}\n\t\t\t// filter/fill f, i, l\n\t\t\tcase 951: {\n\t\t\t\t// filter, t\n\t\t\t\treturn out.charCodeAt(3) === 116 ? webkit + out + out : out\n\t\t\t}\n\t\t\t// color/column, c, o, l\n\t\t\tcase 963: {\n\t\t\t\t// column, n\n\t\t\t\treturn out.charCodeAt(5) === 110 ? webkit + out + out : out\n\t\t\t}\n\t\t\t// box-decoration-break, b, o, x\n\t\t\tcase 1009: {\n\t\t\t\tif (out.charCodeAt(4) !== 100) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\t// mask, m, a, s\n\t\t\t// clip-path, c, l, i\n\t\t\tcase 969:\n\t\t\tcase 942: {\n\t\t\t\treturn webkit + out + out\n\t\t\t}\n\t\t\t// appearance: a, p, p\n\t\t\tcase 978: {\n\t\t\t\treturn webkit + out + moz + out + out\n\t\t\t}\n\t\t\t// hyphens: h, y, p\n\t\t\t// user-select: u, s, e\n\t\t\tcase 1019:\n\t\t\tcase 983: {\n\t\t\t\treturn webkit + out + moz + out + ms + out + out\n\t\t\t}\n\t\t\t// background/backface-visibility, b, a, c\n\t\t\tcase 883: {\n\t\t\t\t// backface-visibility, -\n\t\t\t\tif (out.charCodeAt(8) === DASH) {\n\t\t\t\t\treturn webkit + out + out\n\t\t\t\t}\n\n\t\t\t\t// image-set(...)\n\t\t\t\tif (out.indexOf('image-set(', 11) > 0) {\n\t\t\t\t\treturn out.replace(imgsrcptn, '$1'+webkit+'$2') + out\n\t\t\t\t}\n\n\t\t\t\treturn out\n\t\t\t}\n\t\t\t// flex: f, l, e\n\t\t\tcase 932: {\n\t\t\t\tif (out.charCodeAt(4) === DASH) {\n\t\t\t\t\tswitch (out.charCodeAt(5)) {\n\t\t\t\t\t\t// flex-grow, g\n\t\t\t\t\t\tcase 103: {\n\t\t\t\t\t\t\treturn webkit + 'box-' + out.replace('-grow', '') + webkit + out + ms + out.replace('grow', 'positive') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// flex-shrink, s\n\t\t\t\t\t\tcase 115: {\n\t\t\t\t\t\t\treturn webkit + out + ms + out.replace('shrink', 'negative') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// flex-basis, b\n\t\t\t\t\t\tcase 98: {\n\t\t\t\t\t\t\treturn webkit + out + ms + out.replace('basis', 'preferred-size') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn webkit + out + ms + out + out\n\t\t\t}\n\t\t\t// order: o, r, d\n\t\t\tcase 964: {\n\t\t\t\treturn webkit + out + ms + 'flex' + '-' + out + out\n\t\t\t}\n\t\t\t// justify-items/justify-content, j, u, s\n\t\t\tcase 1023: {\n\t\t\t\t// justify-content, c\n\t\t\t\tif (out.charCodeAt(8) !== 99) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\tcache = out.substring(out.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify')\n\t\t\t\treturn webkit + 'box-pack' + cache + webkit + out + ms + 'flex-pack' + cache + out\n\t\t\t}\n\t\t\t// cursor, c, u, r\n\t\t\tcase 1005: {\n\t\t\t\treturn cursorptn.test(out) ? out.replace(colonptn, ':' + webkit) + out.replace(colonptn, ':' + moz) + out : out\n\t\t\t}\n\t\t\t// writing-mode, w, r, i\n\t\t\tcase 1000: {\n\t\t\t\tcache = out.substring(13).trim()\n\t\t\t\tindex = cache.indexOf('-') + 1\n\n\t\t\t\tswitch (cache.charCodeAt(0)+cache.charCodeAt(index)) {\n\t\t\t\t\t// vertical-lr\n\t\t\t\t\tcase 226: {\n\t\t\t\t\t\tcache = out.replace(writingptn, 'tb')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// vertical-rl\n\t\t\t\t\tcase 232: {\n\t\t\t\t\t\tcache = out.replace(writingptn, 'tb-rl')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// horizontal-tb\n\t\t\t\t\tcase 220: {\n\t\t\t\t\t\tcache = out.replace(writingptn, 'lr')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\treturn out\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn webkit + out + ms + cache + out\n\t\t\t}\n\t\t\t// position: sticky\n\t\t\tcase 1017: {\n\t\t\t\tif (out.indexOf('sticky', 9) === -1) {\n\t\t\t\t\treturn out\n\t\t\t\t}\n\t\t\t}\n\t\t\t// display(flex/inline-flex/inline-box): d, i, s\n\t\t\tcase 975: {\n\t\t\t\tindex = (out = input).length - 10\n\t\t\t\tcache = (out.charCodeAt(index) === 33 ? out.substring(0, index) : out).substring(input.indexOf(':', 7) + 1).trim()\n\n\t\t\t\tswitch (hash = cache.charCodeAt(0) + (cache.charCodeAt(7)|0)) {\n\t\t\t\t\t// inline-\n\t\t\t\t\tcase 203: {\n\t\t\t\t\t\t// inline-box\n\t\t\t\t\t\tif (cache.charCodeAt(8) < 111) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// inline-box/sticky\n\t\t\t\t\tcase 115: {\n\t\t\t\t\t\tout = out.replace(cache, webkit+cache)+';'+out\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// inline-flex\n\t\t\t\t\t// flex\n\t\t\t\t\tcase 207:\n\t\t\t\t\tcase 102: {\n\t\t\t\t\t\tout = (\n\t\t\t\t\t\t\tout.replace(cache, webkit+(hash > 102 ? 'inline-' : '')+'box')+';'+\n\t\t\t\t\t\t\tout.replace(cache, webkit+cache)+';'+\n\t\t\t\t\t\t\tout.replace(cache, ms+cache+'box')+';'+\n\t\t\t\t\t\t\tout\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn out + ';'\n\t\t\t}\n\t\t\t// align-items, align-center, align-self: a, l, i, -\n\t\t\tcase 938: {\n\t\t\t\tif (out.charCodeAt(5) === DASH) {\n\t\t\t\t\tswitch (out.charCodeAt(6)) {\n\t\t\t\t\t\t// align-items, i\n\t\t\t\t\t\tcase 105: {\n\t\t\t\t\t\t\tcache = out.replace('-items', '')\n\t\t\t\t\t\t\treturn webkit + out + webkit + 'box-' + cache + ms + 'flex-' + cache + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// align-self, s\n\t\t\t\t\t\tcase 115: {\n\t\t\t\t\t\t\treturn webkit + out + ms + 'flex-item-' + out.replace(selfptn, '') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// align-content\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\treturn webkit + out + ms + 'flex-line-pack' + out.replace('align-content', '').replace(selfptn, '') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// min/max\n\t\t\tcase 973:\n\t\t\tcase 989: {\n\t\t\t\t// min-/max- height/width/block-size/inline-size\n\t\t\t\tif (out.charCodeAt(3) !== DASH || out.charCodeAt(4) === 122) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\t// height/width: min-content / width: max-content\n\t\t\tcase 931:\n\t\t\tcase 953: {\n\t\t\t\tif (dimensionptn.test(input) === true) {\n\t\t\t\t\t// stretch\n\t\t\t\t\tif ((cache = input.substring(input.indexOf(':') + 1)).charCodeAt(0) === 115)\n\t\t\t\t\t\treturn property(input.replace('stretch', 'fill-available'), first, second, third).replace(':fill-available', ':stretch')\n\t\t\t\t\telse\n\t\t\t\t\t\treturn out.replace(cache, webkit + cache) + out.replace(cache, moz + cache.replace('fill-', '')) + out\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// transform, transition: t, r, a\n\t\t\tcase 962: {\n\t\t\t\tout = webkit + out + (out.charCodeAt(5) === 102 ? ms + out : '') + out\n\n\t\t\t\t// transitions\n\t\t\t\tif (second + third === 211 && out.charCodeAt(13) === 105 && out.indexOf('transform', 10) > 0) {\n\t\t\t\t\treturn out.substring(0, out.indexOf(';', 27) + 1).replace(transformptn, '$1' + webkit + '$2') + out\n\t\t\t\t}\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\treturn out\n\t}\n\n\t/**\n\t * Vendor\n\t *\n\t * @param {string} content\n\t * @param {number} context\n\t * @return {boolean}\n\t */\n\tfunction vendor (content, context) {\n\t\tvar index = content.indexOf(context === 1 ? ':' : '{')\n\t\tvar key = content.substring(0, context !== 3 ? index : 10)\n\t\tvar value = content.substring(index + 1, content.length - 1)\n\n\t\treturn should(context !== 2 ? key : key.replace(pseudofmt, '$1'), value, context)\n\t}\n\n\t/**\n\t * Supports\n\t *\n\t * @param {string} match\n\t * @param {string} group\n\t * @return {string}\n\t */\n\tfunction supports (match, group) {\n\t\tvar out = property(group, group.charCodeAt(0), group.charCodeAt(1), group.charCodeAt(2))\n\n\t\treturn out !== group+';' ? out.replace(propertyptn, ' or ($1)').substring(4) : '('+group+')'\n\t}\n\n\t/**\n\t * Animation\n\t *\n\t * @param {string} input\n\t * @return {string}\n\t */\n\tfunction animation (input) {\n\t\tvar length = input.length\n\t\tvar index = input.indexOf(':', 9) + 1\n\t\tvar declare = input.substring(0, index).trim()\n\t\tvar out = input.substring(index, length-1).trim()\n\n\t\tswitch (input.charCodeAt(9)*keyed) {\n\t\t\tcase 0: {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// animation-*, -\n\t\t\tcase DASH: {\n\t\t\t\t// animation-name, n\n\t\t\t\tif (input.charCodeAt(10) !== 110) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\t// animation/animation-name\n\t\t\tdefault: {\n\t\t\t\t// split in case of multiple animations\n\t\t\t\tvar list = out.split((out = '', animationptn))\n\n\t\t\t\tfor (var i = 0, index = 0, length = list.length; i < length; index = 0, ++i) {\n\t\t\t\t\tvar value = list[i]\n\t\t\t\t\tvar items = value.split(propertiesptn)\n\n\t\t\t\t\twhile (value = items[index]) {\n\t\t\t\t\t\tvar peak = value.charCodeAt(0)\n\n\t\t\t\t\t\tif (keyed === 1 && (\n\t\t\t\t\t\t\t// letters\n\t\t\t\t\t\t\t(peak > AT && peak < 90) || (peak > 96 && peak < 123) || peak === UNDERSCORE ||\n\t\t\t\t\t\t\t// dash but not in sequence i.e --\n\t\t\t\t\t\t\t(peak === DASH && value.charCodeAt(1) !== DASH)\n\t\t\t\t\t\t)) {\n\t\t\t\t\t\t\t// not a number/function\n\t\t\t\t\t\t\tswitch (isNaN(parseFloat(value)) + (value.indexOf('(') !== -1)) {\n\t\t\t\t\t\t\t\tcase 1: {\n\t\t\t\t\t\t\t\t\tswitch (value) {\n\t\t\t\t\t\t\t\t\t\t// not a valid reserved keyword\n\t\t\t\t\t\t\t\t\t\tcase 'infinite': case 'alternate': case 'backwards': case 'running':\n\t\t\t\t\t\t\t\t\t\tcase 'normal': case 'forwards': case 'both': case 'none': case 'linear':\n\t\t\t\t\t\t\t\t\t\tcase 'ease': case 'ease-in': case 'ease-out': case 'ease-in-out':\n\t\t\t\t\t\t\t\t\t\tcase 'paused': case 'reverse': case 'alternate-reverse': case 'inherit':\n\t\t\t\t\t\t\t\t\t\tcase 'initial': case 'unset': case 'step-start': case 'step-end': {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tvalue += key\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\titems[index++] = value\n\t\t\t\t\t}\n\n\t\t\t\t\tout += (i === 0 ? '' : ',') + items.join(' ')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tout = declare + out + ';'\n\n\t\tif (prefix === 1 || (prefix === 2 && vendor(out, 1)))\n\t\t\treturn webkit + out + out\n\n\t\treturn out\n\t}\n\n\t/**\n\t * Isolate\n\t *\n\t * @param {Array<string>} current\n\t */\n\tfunction isolate (current) {\n\t\tfor (var i = 0, length = current.length, selector = Array(length), padding, element; i < length; ++i) {\n\t\t\t// split individual elements in a selector i.e h1 h2 === [h1, h2]\n\t\t\tvar elements = current[i].split(elementptn)\n\t\t\tvar out = ''\n\n\t\t\tfor (var j = 0, size = 0, tail = 0, code = 0, l = elements.length; j < l; ++j) {\n\t\t\t\t// empty element\n\t\t\t\tif ((size = (element = elements[j]).length) === 0 && l > 1) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\ttail = out.charCodeAt(out.length-1)\n\t\t\t\tcode = element.charCodeAt(0)\n\t\t\t\tpadding = ''\n\n\t\t\t\tif (j !== 0) {\n\t\t\t\t\t// determine if we need padding\n\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tpadding = ' '\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tswitch (code) {\n\t\t\t\t\tcase AND: {\n\t\t\t\t\t\telement = padding + nscopealt\n\t\t\t\t\t}\n\t\t\t\t\tcase TILDE:\n\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\tcase PLUS:\n\t\t\t\t\tcase SPACE:\n\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\telement = padding + element + nscopealt\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\tswitch (element.charCodeAt(1)*2 + element.charCodeAt(2)*3) {\n\t\t\t\t\t\t\t// :global\n\t\t\t\t\t\t\tcase 530: {\n\t\t\t\t\t\t\t\tif (escape > 0) {\n\t\t\t\t\t\t\t\t\telement = padding + element.substring(8, size - 1)\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// :hover, :nth-child(), ...\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tif (j < 1 || elements[j-1].length < 1) {\n\t\t\t\t\t\t\t\t\telement = padding + nscopealt + element\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\tpadding = ''\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tif (size > 1 && element.indexOf(':') > 0) {\n\t\t\t\t\t\t\telement = padding + element.replace(pseudoptn, '$1' + nscopealt + '$2')\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telement = padding + element + nscopealt\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tout += element\n\t\t\t}\n\n\t\t\tselector[i] = out.replace(formatptn, '').trim()\n\t\t}\n\n\t\treturn selector\n\t}\n\n\t/**\n\t * Proxy\n\t *\n\t * @param {number} context\n\t * @param {string} content\n\t * @param {Array<string>} selectors\n\t * @param {Array<string>} parents\n\t * @param {number} line\n\t * @param {number} column\n\t * @param {number} length\n\t * @param {number} id\n\t * @param {number} depth\n\t * @param {number} at\n\t * @return {(string|void|*)}\n\t */\n\tfunction proxy (context, content, selectors, parents, line, column, length, id, depth, at) {\n\t\tfor (var i = 0, out = content, next; i < plugged; ++i) {\n\t\t\tswitch (next = plugins[i].call(stylis, context, out, selectors, parents, line, column, length, id, depth, at)) {\n\t\t\t\tcase void 0:\n\t\t\t\tcase false:\n\t\t\t\tcase true:\n\t\t\t\tcase null: {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tout = next\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (out !== content) {\n\t\t return out\n\t\t}\n\t}\n\n\t/**\n\t * @param {number} code\n\t * @param {number} index\n\t * @param {number} length\n\t * @param {string} body\n\t * @return {number}\n\t */\n\tfunction delimited (code, index, length, body) {\n\t\tfor (var i = index + 1; i < length; ++i) {\n\t\t\tswitch (body.charCodeAt(i)) {\n\t\t\t\t// /*\n\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\tif (code === STAR) {\n\t\t\t\t\t\tif (body.charCodeAt(i - 1) === STAR && index + 2 !== i) {\n\t\t\t\t\t\t\treturn i + 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// //\n\t\t\t\tcase NEWLINE: {\n\t\t\t\t\tif (code === FOWARDSLASH) {\n\t\t\t\t\t\treturn i + 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn i\n\t}\n\n\t/**\n\t * @param {number} type\n\t * @param {number} index\n\t * @param {number} length\n\t * @param {number} find\n\t * @param {string} body\n\t * @return {number}\n\t */\n\tfunction match (type, index, length, body) {\n\t\tfor (var i = index + 1; i < length; ++i) {\n\t\t\tswitch (body.charCodeAt(i)) {\n\t\t\t\tcase type: {\n\t\t\t\t\treturn i\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn i\n\t}\n\n\t/**\n\t * Minify\n\t *\n\t * @param {(string|*)} output\n\t * @return {string}\n\t */\n\tfunction minify (output) {\n\t\treturn output\n\t\t\t.replace(formatptn, '')\n\t\t\t.replace(beforeptn, '')\n\t\t\t.replace(afterptn, '$1')\n\t\t\t.replace(tailptn, '$1')\n\t\t\t.replace(whiteptn, ' ')\n\t}\n\n\t/**\n\t * Use\n\t *\n\t * @param {(Array<function(...?)>|function(...?)|number|void)?} plugin\n\t */\n\tfunction use (plugin) {\n\t\tswitch (plugin) {\n\t\t\tcase void 0:\n\t\t\tcase null: {\n\t\t\t\tplugged = plugins.length = 0\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tif (typeof plugin === 'function') {\n\t\t\t\t\tplugins[plugged++] = plugin\n\t\t\t\t}\telse if (typeof plugin === 'object') {\n\t\t\t\t\tfor (var i = 0, length = plugin.length; i < length; ++i) {\n\t\t\t\t\t\tuse(plugin[i])\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tunkwn = !!plugin|0\n\t\t\t\t}\n\t\t\t}\n \t\t}\n\n \t\treturn use\n\t}\n\n\t/**\n\t * Set\n\t *\n\t * @param {*} options\n\t */\n\tfunction set (options) {\n\t\tfor (var name in options) {\n\t\t\tvar value = options[name]\n\t\t\tswitch (name) {\n\t\t\t\tcase 'keyframe': keyed = value|0; break\n\t\t\t\tcase 'global': escape = value|0; break\n\t\t\t\tcase 'cascade': cascade = value|0; break\n\t\t\t\tcase 'compress': compress = value|0; break\n\t\t\t\tcase 'semicolon': semicolon = value|0; break\n\t\t\t\tcase 'preserve': preserve = value|0; break\n\t\t\t\tcase 'prefix':\n\t\t\t\t\tshould = null\n\n\t\t\t\t\tif (!value) {\n\t\t\t\t\t\tprefix = 0\n\t\t\t\t\t} else if (typeof value !== 'function') {\n\t\t\t\t\t\tprefix = 1\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprefix = 2\n\t\t\t\t\t\tshould = value\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn set\n\t}\n\n\t/**\n\t * Stylis\n\t *\n\t * @param {string} selector\n\t * @param {string} input\n\t * @return {*}\n\t */\n\tfunction stylis (selector, input) {\n\t\tif (this !== void 0 && this.constructor === stylis) {\n\t\t\treturn factory(selector)\n\t\t}\n\n\t\t// setup\n\t\tvar ns = selector\n\t\tvar code = ns.charCodeAt(0)\n\n\t\t// trim leading whitespace\n\t\tif (code < 33) {\n\t\t\tcode = (ns = ns.trim()).charCodeAt(0)\n\t\t}\n\n\t\t// keyframe/animation namespace\n\t\tif (keyed > 0) {\n\t\t\tkey = ns.replace(invalidptn, code === OPENBRACKET ? '' : '-')\n\t\t}\n\n\t\t// reset, used to assert if a plugin is moneky-patching the return value\n\t\tcode = 1\n\n\t\t// cascade/isolate\n\t\tif (cascade === 1) {\n\t\t\tnscope = ns\n\t\t} else {\n\t\t\tnscopealt = ns\n\t\t}\n\n\t\tvar selectors = [nscope]\n\t\tvar result\n\n\t\t// execute plugins, pre-process context\n\t\tif (plugged > 0) {\n\t\t\tresult = proxy(PREPS, input, selectors, selectors, line, column, 0, 0, 0, 0)\n\n\t\t\tif (result !== void 0 && typeof result === 'string') {\n\t\t\t\tinput = result\n\t\t\t}\n\t\t}\n\n\t\t// build\n\t\tvar output = compile(array, selectors, input, 0, 0)\n\n\t\t// execute plugins, post-process context\n\t\tif (plugged > 0) {\n\t\t\tresult = proxy(POSTS, output, selectors, selectors, line, column, output.length, 0, 0, 0)\n\n\t\t\t// bypass minification\n\t\t\tif (result !== void 0 && typeof(output = result) !== 'string') {\n\t\t\t\tcode = 0\n\t\t\t}\n\t\t}\n\n\t\t// reset\n\t\tkey = ''\n\t\tnscope = ''\n\t\tnscopealt = ''\n\t\tpattern = 0\n\t\tline = 1\n\t\tcolumn = 1\n\n\t\treturn compress*code === 0 ? output : minify(output)\n\t}\n\n\tstylis['use'] = use\n\tstylis['set'] = set\n\n\tif (options !== void 0) {\n\t\tset(options)\n\t}\n\n\treturn stylis\n}));\n","/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n'use strict';\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: 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 arguments: true,\n arity: true\n};\n\nvar isGetOwnPropertySymbolsAvailable = typeof Object.getOwnPropertySymbols === 'function';\n\nmodule.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n var keys = Object.getOwnPropertyNames(sourceComponent);\n\n /* istanbul ignore else */\n if (isGetOwnPropertySymbolsAvailable) {\n keys = keys.concat(Object.getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) {\n try {\n targetComponent[keys[i]] = sourceComponent[keys[i]];\n } catch (error) {\n\n }\n }\n }\n }\n\n return targetComponent;\n};\n","/* eslint-disable */\n;(function(root, factory) {\n if (typeof define === 'function' && define.amd) { // AMD\n define(['../core'], factory);\n } else if (typeof exports === 'object') { // Node.js\n module.exports = factory(require('../core'));\n } else { // Browser\n root.Blockly.Msg = factory(root.Blockly);\n }\n}(this, function(Blockly) {\n\n var Blockly = {};Blockly.Msg={};// This file was automatically generated. Do not modify.\n\n'use strict';\n\nBlockly.Msg[\"ADD_COMMENT\"] = \"Add Comment\";\nBlockly.Msg[\"CANNOT_DELETE_VARIABLE_PROCEDURE\"] = \"Can't delete the variable '%1' because it's part of the definition of the function '%2'\";\nBlockly.Msg[\"CHANGE_VALUE_TITLE\"] = \"Change value:\";\nBlockly.Msg[\"CLEAN_UP\"] = \"Clean up Blocks\";\nBlockly.Msg[\"COLLAPSED_WARNINGS_WARNING\"] = \"Collapsed blocks contain warnings.\";\nBlockly.Msg[\"COLLAPSE_ALL\"] = \"Collapse Blocks\";\nBlockly.Msg[\"COLLAPSE_BLOCK\"] = \"Collapse Block\";\nBlockly.Msg[\"COLOUR_BLEND_COLOUR1\"] = \"colour 1\";\nBlockly.Msg[\"COLOUR_BLEND_COLOUR2\"] = \"colour 2\";\nBlockly.Msg[\"COLOUR_BLEND_HELPURL\"] = \"https://meyerweb.com/eric/tools/color-blend/#:::rgbp\";\nBlockly.Msg[\"COLOUR_BLEND_RATIO\"] = \"ratio\";\nBlockly.Msg[\"COLOUR_BLEND_TITLE\"] = \"blend\";\nBlockly.Msg[\"COLOUR_BLEND_TOOLTIP\"] = \"Blends two colours together with a given ratio (0.0 - 1.0).\";\nBlockly.Msg[\"COLOUR_PICKER_HELPURL\"] = \"https://en.wikipedia.org/wiki/Color\";\nBlockly.Msg[\"COLOUR_PICKER_TOOLTIP\"] = \"Choose a colour from the palette.\";\nBlockly.Msg[\"COLOUR_RANDOM_HELPURL\"] = \"http://randomcolour.com\";\nBlockly.Msg[\"COLOUR_RANDOM_TITLE\"] = \"random colour\";\nBlockly.Msg[\"COLOUR_RANDOM_TOOLTIP\"] = \"Choose a colour at random.\";\nBlockly.Msg[\"COLOUR_RGB_BLUE\"] = \"blue\";\nBlockly.Msg[\"COLOUR_RGB_GREEN\"] = \"green\";\nBlockly.Msg[\"COLOUR_RGB_HELPURL\"] = \"https://www.december.com/html/spec/colorpercompact.html\";\nBlockly.Msg[\"COLOUR_RGB_RED\"] = \"red\";\nBlockly.Msg[\"COLOUR_RGB_TITLE\"] = \"colour with\";\nBlockly.Msg[\"COLOUR_RGB_TOOLTIP\"] = \"Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.\";\nBlockly.Msg[\"CONTROLS_FLOW_STATEMENTS_HELPURL\"] = \"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks\";\nBlockly.Msg[\"CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK\"] = \"break out of loop\";\nBlockly.Msg[\"CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE\"] = \"continue with next iteration of loop\";\nBlockly.Msg[\"CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK\"] = \"Break out of the containing loop.\";\nBlockly.Msg[\"CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE\"] = \"Skip the rest of this loop, and continue with the next iteration.\";\nBlockly.Msg[\"CONTROLS_FLOW_STATEMENTS_WARNING\"] = \"Warning: This block may only be used within a loop.\";\nBlockly.Msg[\"CONTROLS_FOREACH_HELPURL\"] = \"https://github.com/google/blockly/wiki/Loops#for-each\";\nBlockly.Msg[\"CONTROLS_FOREACH_TITLE\"] = \"for each item %1 in list %2\";\nBlockly.Msg[\"CONTROLS_FOREACH_TOOLTIP\"] = \"For each item in a list, set the variable '%1' to the item, and then do some statements.\";\nBlockly.Msg[\"CONTROLS_FOR_HELPURL\"] = \"https://github.com/google/blockly/wiki/Loops#count-with\";\nBlockly.Msg[\"CONTROLS_FOR_TITLE\"] = \"count with %1 from %2 to %3 by %4\";\nBlockly.Msg[\"CONTROLS_FOR_TOOLTIP\"] = \"Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.\";\nBlockly.Msg[\"CONTROLS_IF_ELSEIF_TOOLTIP\"] = \"Add a condition to the if block.\";\nBlockly.Msg[\"CONTROLS_IF_ELSE_TOOLTIP\"] = \"Add a final, catch-all condition to the if block.\";\nBlockly.Msg[\"CONTROLS_IF_HELPURL\"] = \"https://github.com/google/blockly/wiki/IfElse\";\nBlockly.Msg[\"CONTROLS_IF_IF_TOOLTIP\"] = \"Add, remove, or reorder sections to reconfigure this if block.\";\nBlockly.Msg[\"CONTROLS_IF_MSG_ELSE\"] = \"else\";\nBlockly.Msg[\"CONTROLS_IF_MSG_ELSEIF\"] = \"else if\";\nBlockly.Msg[\"CONTROLS_IF_MSG_IF\"] = \"if\";\nBlockly.Msg[\"CONTROLS_IF_TOOLTIP_1\"] = \"If a value is true, then do some statements.\";\nBlockly.Msg[\"CONTROLS_IF_TOOLTIP_2\"] = \"If a value is true, then do the first block of statements. Otherwise, do the second block of statements.\";\nBlockly.Msg[\"CONTROLS_IF_TOOLTIP_3\"] = \"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.\";\nBlockly.Msg[\"CONTROLS_IF_TOOLTIP_4\"] = \"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.\";\nBlockly.Msg[\"CONTROLS_REPEAT_HELPURL\"] = \"https://en.wikipedia.org/wiki/For_loop\";\nBlockly.Msg[\"CONTROLS_REPEAT_INPUT_DO\"] = \"do\";\nBlockly.Msg[\"CONTROLS_REPEAT_TITLE\"] = \"repeat %1 times\";\nBlockly.Msg[\"CONTROLS_REPEAT_TOOLTIP\"] = \"Do some statements several times.\";\nBlockly.Msg[\"CONTROLS_WHILEUNTIL_HELPURL\"] = \"https://github.com/google/blockly/wiki/Loops#repeat\";\nBlockly.Msg[\"CONTROLS_WHILEUNTIL_OPERATOR_UNTIL\"] = \"repeat until\";\nBlockly.Msg[\"CONTROLS_WHILEUNTIL_OPERATOR_WHILE\"] = \"repeat while\";\nBlockly.Msg[\"CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL\"] = \"While a value is false, then do some statements.\";\nBlockly.Msg[\"CONTROLS_WHILEUNTIL_TOOLTIP_WHILE\"] = \"While a value is true, then do some statements.\";\nBlockly.Msg[\"DELETE_ALL_BLOCKS\"] = \"Delete all %1 blocks?\";\nBlockly.Msg[\"DELETE_BLOCK\"] = \"Delete Block\";\nBlockly.Msg[\"DELETE_VARIABLE\"] = \"Delete the '%1' variable\";\nBlockly.Msg[\"DELETE_VARIABLE_CONFIRMATION\"] = \"Delete %1 uses of the '%2' variable?\";\nBlockly.Msg[\"DELETE_X_BLOCKS\"] = \"Delete %1 Blocks\";\nBlockly.Msg[\"DIALOG_CANCEL\"] = \"Cancel\";\nBlockly.Msg[\"DIALOG_OK\"] = \"OK\";\nBlockly.Msg[\"DISABLE_BLOCK\"] = \"Disable Block\";\nBlockly.Msg[\"DUPLICATE_BLOCK\"] = \"Duplicate\";\nBlockly.Msg[\"DUPLICATE_COMMENT\"] = \"Duplicate Comment\";\nBlockly.Msg[\"ENABLE_BLOCK\"] = \"Enable Block\";\nBlockly.Msg[\"EXPAND_ALL\"] = \"Expand Blocks\";\nBlockly.Msg[\"EXPAND_BLOCK\"] = \"Expand Block\";\nBlockly.Msg[\"EXTERNAL_INPUTS\"] = \"External Inputs\";\nBlockly.Msg[\"HELP\"] = \"Help\";\nBlockly.Msg[\"INLINE_INPUTS\"] = \"Inline Inputs\";\nBlockly.Msg[\"LISTS_CREATE_EMPTY_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#create-empty-list\";\nBlockly.Msg[\"LISTS_CREATE_EMPTY_TITLE\"] = \"create empty list\";\nBlockly.Msg[\"LISTS_CREATE_EMPTY_TOOLTIP\"] = \"Returns a list, of length 0, containing no data records\";\nBlockly.Msg[\"LISTS_CREATE_WITH_CONTAINER_TITLE_ADD\"] = \"list\";\nBlockly.Msg[\"LISTS_CREATE_WITH_CONTAINER_TOOLTIP\"] = \"Add, remove, or reorder sections to reconfigure this list block.\";\nBlockly.Msg[\"LISTS_CREATE_WITH_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#create-list-with\";\nBlockly.Msg[\"LISTS_CREATE_WITH_INPUT_WITH\"] = \"create list with\";\nBlockly.Msg[\"LISTS_CREATE_WITH_ITEM_TOOLTIP\"] = \"Add an item to the list.\";\nBlockly.Msg[\"LISTS_CREATE_WITH_TOOLTIP\"] = \"Create a list with any number of items.\";\nBlockly.Msg[\"LISTS_GET_INDEX_FIRST\"] = \"first\";\nBlockly.Msg[\"LISTS_GET_INDEX_FROM_END\"] = \"# from end\";\nBlockly.Msg[\"LISTS_GET_INDEX_FROM_START\"] = \"#\";\nBlockly.Msg[\"LISTS_GET_INDEX_GET\"] = \"get\";\nBlockly.Msg[\"LISTS_GET_INDEX_GET_REMOVE\"] = \"get and remove\";\nBlockly.Msg[\"LISTS_GET_INDEX_LAST\"] = \"last\";\nBlockly.Msg[\"LISTS_GET_INDEX_RANDOM\"] = \"random\";\nBlockly.Msg[\"LISTS_GET_INDEX_REMOVE\"] = \"remove\";\nBlockly.Msg[\"LISTS_GET_INDEX_TAIL\"] = \"\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_GET_FIRST\"] = \"Returns the first item in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_GET_FROM\"] = \"Returns the item at the specified position in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_GET_LAST\"] = \"Returns the last item in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_GET_RANDOM\"] = \"Returns a random item in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST\"] = \"Removes and returns the first item in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM\"] = \"Removes and returns the item at the specified position in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST\"] = \"Removes and returns the last item in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM\"] = \"Removes and returns a random item in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST\"] = \"Removes the first item in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM\"] = \"Removes the item at the specified position in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST\"] = \"Removes the last item in a list.\";\nBlockly.Msg[\"LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM\"] = \"Removes a random item in a list.\";\nBlockly.Msg[\"LISTS_GET_SUBLIST_END_FROM_END\"] = \"to # from end\";\nBlockly.Msg[\"LISTS_GET_SUBLIST_END_FROM_START\"] = \"to #\";\nBlockly.Msg[\"LISTS_GET_SUBLIST_END_LAST\"] = \"to last\";\nBlockly.Msg[\"LISTS_GET_SUBLIST_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#getting-a-sublist\";\nBlockly.Msg[\"LISTS_GET_SUBLIST_START_FIRST\"] = \"get sub-list from first\";\nBlockly.Msg[\"LISTS_GET_SUBLIST_START_FROM_END\"] = \"get sub-list from # from end\";\nBlockly.Msg[\"LISTS_GET_SUBLIST_START_FROM_START\"] = \"get sub-list from #\";\nBlockly.Msg[\"LISTS_GET_SUBLIST_TAIL\"] = \"\";\nBlockly.Msg[\"LISTS_GET_SUBLIST_TOOLTIP\"] = \"Creates a copy of the specified portion of a list.\";\nBlockly.Msg[\"LISTS_INDEX_FROM_END_TOOLTIP\"] = \"%1 is the last item.\";\nBlockly.Msg[\"LISTS_INDEX_FROM_START_TOOLTIP\"] = \"%1 is the first item.\";\nBlockly.Msg[\"LISTS_INDEX_OF_FIRST\"] = \"find first occurrence of item\";\nBlockly.Msg[\"LISTS_INDEX_OF_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list\";\nBlockly.Msg[\"LISTS_INDEX_OF_LAST\"] = \"find last occurrence of item\";\nBlockly.Msg[\"LISTS_INDEX_OF_TOOLTIP\"] = \"Returns the index of the first/last occurrence of the item in the list. Returns %1 if item is not found.\";\nBlockly.Msg[\"LISTS_INLIST\"] = \"in list\";\nBlockly.Msg[\"LISTS_ISEMPTY_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#is-empty\";\nBlockly.Msg[\"LISTS_ISEMPTY_TITLE\"] = \"%1 is empty\";\nBlockly.Msg[\"LISTS_ISEMPTY_TOOLTIP\"] = \"Returns true if the list is empty.\";\nBlockly.Msg[\"LISTS_LENGTH_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#length-of\";\nBlockly.Msg[\"LISTS_LENGTH_TITLE\"] = \"length of %1\";\nBlockly.Msg[\"LISTS_LENGTH_TOOLTIP\"] = \"Returns the length of a list.\";\nBlockly.Msg[\"LISTS_REPEAT_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#create-list-with\";\nBlockly.Msg[\"LISTS_REPEAT_TITLE\"] = \"create list with item %1 repeated %2 times\";\nBlockly.Msg[\"LISTS_REPEAT_TOOLTIP\"] = \"Creates a list consisting of the given value repeated the specified number of times.\";\nBlockly.Msg[\"LISTS_REVERSE_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#reversing-a-list\";\nBlockly.Msg[\"LISTS_REVERSE_MESSAGE0\"] = \"reverse %1\";\nBlockly.Msg[\"LISTS_REVERSE_TOOLTIP\"] = \"Reverse a copy of a list.\";\nBlockly.Msg[\"LISTS_SET_INDEX_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#in-list--set\";\nBlockly.Msg[\"LISTS_SET_INDEX_INPUT_TO\"] = \"as\";\nBlockly.Msg[\"LISTS_SET_INDEX_INSERT\"] = \"insert at\";\nBlockly.Msg[\"LISTS_SET_INDEX_SET\"] = \"set\";\nBlockly.Msg[\"LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST\"] = \"Inserts the item at the start of a list.\";\nBlockly.Msg[\"LISTS_SET_INDEX_TOOLTIP_INSERT_FROM\"] = \"Inserts the item at the specified position in a list.\";\nBlockly.Msg[\"LISTS_SET_INDEX_TOOLTIP_INSERT_LAST\"] = \"Append the item to the end of a list.\";\nBlockly.Msg[\"LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM\"] = \"Inserts the item randomly in a list.\";\nBlockly.Msg[\"LISTS_SET_INDEX_TOOLTIP_SET_FIRST\"] = \"Sets the first item in a list.\";\nBlockly.Msg[\"LISTS_SET_INDEX_TOOLTIP_SET_FROM\"] = \"Sets the item at the specified position in a list.\";\nBlockly.Msg[\"LISTS_SET_INDEX_TOOLTIP_SET_LAST\"] = \"Sets the last item in a list.\";\nBlockly.Msg[\"LISTS_SET_INDEX_TOOLTIP_SET_RANDOM\"] = \"Sets a random item in a list.\";\nBlockly.Msg[\"LISTS_SORT_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#sorting-a-list\";\nBlockly.Msg[\"LISTS_SORT_ORDER_ASCENDING\"] = \"ascending\";\nBlockly.Msg[\"LISTS_SORT_ORDER_DESCENDING\"] = \"descending\";\nBlockly.Msg[\"LISTS_SORT_TITLE\"] = \"sort %1 %2 %3\";\nBlockly.Msg[\"LISTS_SORT_TOOLTIP\"] = \"Sort a copy of a list.\";\nBlockly.Msg[\"LISTS_SORT_TYPE_IGNORECASE\"] = \"alphabetic, ignore case\";\nBlockly.Msg[\"LISTS_SORT_TYPE_NUMERIC\"] = \"numeric\";\nBlockly.Msg[\"LISTS_SORT_TYPE_TEXT\"] = \"alphabetic\";\nBlockly.Msg[\"LISTS_SPLIT_HELPURL\"] = \"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists\";\nBlockly.Msg[\"LISTS_SPLIT_LIST_FROM_TEXT\"] = \"make list from text\";\nBlockly.Msg[\"LISTS_SPLIT_TEXT_FROM_LIST\"] = \"make text from list\";\nBlockly.Msg[\"LISTS_SPLIT_TOOLTIP_JOIN\"] = \"Join a list of texts into one text, separated by a delimiter.\";\nBlockly.Msg[\"LISTS_SPLIT_TOOLTIP_SPLIT\"] = \"Split text into a list of texts, breaking at each delimiter.\";\nBlockly.Msg[\"LISTS_SPLIT_WITH_DELIMITER\"] = \"with delimiter\";\nBlockly.Msg[\"LOGIC_BOOLEAN_FALSE\"] = \"false\";\nBlockly.Msg[\"LOGIC_BOOLEAN_HELPURL\"] = \"https://github.com/google/blockly/wiki/Logic#values\";\nBlockly.Msg[\"LOGIC_BOOLEAN_TOOLTIP\"] = \"Returns either true or false.\";\nBlockly.Msg[\"LOGIC_BOOLEAN_TRUE\"] = \"true\";\nBlockly.Msg[\"LOGIC_COMPARE_HELPURL\"] = \"https://en.wikipedia.org/wiki/Inequality_(mathematics)\";\nBlockly.Msg[\"LOGIC_COMPARE_TOOLTIP_EQ\"] = \"Return true if both inputs equal each other.\";\nBlockly.Msg[\"LOGIC_COMPARE_TOOLTIP_GT\"] = \"Return true if the first input is greater than the second input.\";\nBlockly.Msg[\"LOGIC_COMPARE_TOOLTIP_GTE\"] = \"Return true if the first input is greater than or equal to the second input.\";\nBlockly.Msg[\"LOGIC_COMPARE_TOOLTIP_LT\"] = \"Return true if the first input is smaller than the second input.\";\nBlockly.Msg[\"LOGIC_COMPARE_TOOLTIP_LTE\"] = \"Return true if the first input is smaller than or equal to the second input.\";\nBlockly.Msg[\"LOGIC_COMPARE_TOOLTIP_NEQ\"] = \"Return true if both inputs are not equal to each other.\";\nBlockly.Msg[\"LOGIC_NEGATE_HELPURL\"] = \"https://github.com/google/blockly/wiki/Logic#not\";\nBlockly.Msg[\"LOGIC_NEGATE_TITLE\"] = \"not %1\";\nBlockly.Msg[\"LOGIC_NEGATE_TOOLTIP\"] = \"Returns true if the input is false. Returns false if the input is true.\";\nBlockly.Msg[\"LOGIC_NULL\"] = \"null\";\nBlockly.Msg[\"LOGIC_NULL_HELPURL\"] = \"https://en.wikipedia.org/wiki/Nullable_type\";\nBlockly.Msg[\"LOGIC_NULL_TOOLTIP\"] = \"Returns null.\";\nBlockly.Msg[\"LOGIC_OPERATION_AND\"] = \"and\";\nBlockly.Msg[\"LOGIC_OPERATION_HELPURL\"] = \"https://github.com/google/blockly/wiki/Logic#logical-operations\";\nBlockly.Msg[\"LOGIC_OPERATION_OR\"] = \"or\";\nBlockly.Msg[\"LOGIC_OPERATION_TOOLTIP_AND\"] = \"Return true if both inputs are true.\";\nBlockly.Msg[\"LOGIC_OPERATION_TOOLTIP_OR\"] = \"Return true if at least one of the inputs is true.\";\nBlockly.Msg[\"LOGIC_TERNARY_CONDITION\"] = \"test\";\nBlockly.Msg[\"LOGIC_TERNARY_HELPURL\"] = \"https://en.wikipedia.org/wiki/%3F:\";\nBlockly.Msg[\"LOGIC_TERNARY_IF_FALSE\"] = \"if false\";\nBlockly.Msg[\"LOGIC_TERNARY_IF_TRUE\"] = \"if true\";\nBlockly.Msg[\"LOGIC_TERNARY_TOOLTIP\"] = \"Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.\";\nBlockly.Msg[\"MATH_ADDITION_SYMBOL\"] = \"+\";\nBlockly.Msg[\"MATH_ARITHMETIC_HELPURL\"] = \"https://en.wikipedia.org/wiki/Arithmetic\";\nBlockly.Msg[\"MATH_ARITHMETIC_TOOLTIP_ADD\"] = \"Return the sum of the two numbers.\";\nBlockly.Msg[\"MATH_ARITHMETIC_TOOLTIP_DIVIDE\"] = \"Return the quotient of the two numbers.\";\nBlockly.Msg[\"MATH_ARITHMETIC_TOOLTIP_MINUS\"] = \"Return the difference of the two numbers.\";\nBlockly.Msg[\"MATH_ARITHMETIC_TOOLTIP_MULTIPLY\"] = \"Return the product of the two numbers.\";\nBlockly.Msg[\"MATH_ARITHMETIC_TOOLTIP_POWER\"] = \"Return the first number raised to the power of the second number.\";\nBlockly.Msg[\"MATH_ATAN2_HELPURL\"] = \"https://en.wikipedia.org/wiki/Atan2\";\nBlockly.Msg[\"MATH_ATAN2_TITLE\"] = \"atan2 of X:%1 Y:%2\";\nBlockly.Msg[\"MATH_ATAN2_TOOLTIP\"] = \"Return the arctangent of point (X, Y) in degrees from -180 to 180.\";\nBlockly.Msg[\"MATH_CHANGE_HELPURL\"] = \"https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter\";\nBlockly.Msg[\"MATH_CHANGE_TITLE\"] = \"change %1 by %2\";\nBlockly.Msg[\"MATH_CHANGE_TOOLTIP\"] = \"Add a number to variable '%1'.\";\nBlockly.Msg[\"MATH_CONSTANT_HELPURL\"] = \"https://en.wikipedia.org/wiki/Mathematical_constant\";\nBlockly.Msg[\"MATH_CONSTANT_TOOLTIP\"] = \"Return one of the common constants: Ï€ (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).\";\nBlockly.Msg[\"MATH_CONSTRAIN_HELPURL\"] = \"https://en.wikipedia.org/wiki/Clamping_(graphics)\";\nBlockly.Msg[\"MATH_CONSTRAIN_TITLE\"] = \"constrain %1 low %2 high %3\";\nBlockly.Msg[\"MATH_CONSTRAIN_TOOLTIP\"] = \"Constrain a number to be between the specified limits (inclusive).\";\nBlockly.Msg[\"MATH_DIVISION_SYMBOL\"] = \"÷\";\nBlockly.Msg[\"MATH_IS_DIVISIBLE_BY\"] = \"is divisible by\";\nBlockly.Msg[\"MATH_IS_EVEN\"] = \"is even\";\nBlockly.Msg[\"MATH_IS_NEGATIVE\"] = \"is negative\";\nBlockly.Msg[\"MATH_IS_ODD\"] = \"is odd\";\nBlockly.Msg[\"MATH_IS_POSITIVE\"] = \"is positive\";\nBlockly.Msg[\"MATH_IS_PRIME\"] = \"is prime\";\nBlockly.Msg[\"MATH_IS_TOOLTIP\"] = \"Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.\";\nBlockly.Msg[\"MATH_IS_WHOLE\"] = \"is whole\";\nBlockly.Msg[\"MATH_MODULO_HELPURL\"] = \"https://en.wikipedia.org/wiki/Modulo_operation\";\nBlockly.Msg[\"MATH_MODULO_TITLE\"] = \"remainder of %1 ÷ %2\";\nBlockly.Msg[\"MATH_MODULO_TOOLTIP\"] = \"Return the remainder from dividing the two numbers.\";\nBlockly.Msg[\"MATH_MULTIPLICATION_SYMBOL\"] = \"×\";\nBlockly.Msg[\"MATH_NUMBER_HELPURL\"] = \"https://en.wikipedia.org/wiki/Number\";\nBlockly.Msg[\"MATH_NUMBER_TOOLTIP\"] = \"A number.\";\nBlockly.Msg[\"MATH_ONLIST_HELPURL\"] = \"\";\nBlockly.Msg[\"MATH_ONLIST_OPERATOR_AVERAGE\"] = \"average of list\";\nBlockly.Msg[\"MATH_ONLIST_OPERATOR_MAX\"] = \"max of list\";\nBlockly.Msg[\"MATH_ONLIST_OPERATOR_MEDIAN\"] = \"median of list\";\nBlockly.Msg[\"MATH_ONLIST_OPERATOR_MIN\"] = \"min of list\";\nBlockly.Msg[\"MATH_ONLIST_OPERATOR_MODE\"] = \"modes of list\";\nBlockly.Msg[\"MATH_ONLIST_OPERATOR_RANDOM\"] = \"random item of list\";\nBlockly.Msg[\"MATH_ONLIST_OPERATOR_STD_DEV\"] = \"standard deviation of list\";\nBlockly.Msg[\"MATH_ONLIST_OPERATOR_SUM\"] = \"sum of list\";\nBlockly.Msg[\"MATH_ONLIST_TOOLTIP_AVERAGE\"] = \"Return the average (arithmetic mean) of the numeric values in the list.\";\nBlockly.Msg[\"MATH_ONLIST_TOOLTIP_MAX\"] = \"Return the largest number in the list.\";\nBlockly.Msg[\"MATH_ONLIST_TOOLTIP_MEDIAN\"] = \"Return the median number in the list.\";\nBlockly.Msg[\"MATH_ONLIST_TOOLTIP_MIN\"] = \"Return the smallest number in the list.\";\nBlockly.Msg[\"MATH_ONLIST_TOOLTIP_MODE\"] = \"Return a list of the most common item(s) in the list.\";\nBlockly.Msg[\"MATH_ONLIST_TOOLTIP_RANDOM\"] = \"Return a random element from the list.\";\nBlockly.Msg[\"MATH_ONLIST_TOOLTIP_STD_DEV\"] = \"Return the standard deviation of the list.\";\nBlockly.Msg[\"MATH_ONLIST_TOOLTIP_SUM\"] = \"Return the sum of all the numbers in the list.\";\nBlockly.Msg[\"MATH_POWER_SYMBOL\"] = \"^\";\nBlockly.Msg[\"MATH_RANDOM_FLOAT_HELPURL\"] = \"https://en.wikipedia.org/wiki/Random_number_generation\";\nBlockly.Msg[\"MATH_RANDOM_FLOAT_TITLE_RANDOM\"] = \"random fraction\";\nBlockly.Msg[\"MATH_RANDOM_FLOAT_TOOLTIP\"] = \"Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).\";\nBlockly.Msg[\"MATH_RANDOM_INT_HELPURL\"] = \"https://en.wikipedia.org/wiki/Random_number_generation\";\nBlockly.Msg[\"MATH_RANDOM_INT_TITLE\"] = \"random integer from %1 to %2\";\nBlockly.Msg[\"MATH_RANDOM_INT_TOOLTIP\"] = \"Return a random integer between the two specified limits, inclusive.\";\nBlockly.Msg[\"MATH_ROUND_HELPURL\"] = \"https://en.wikipedia.org/wiki/Rounding\";\nBlockly.Msg[\"MATH_ROUND_OPERATOR_ROUND\"] = \"round\";\nBlockly.Msg[\"MATH_ROUND_OPERATOR_ROUNDDOWN\"] = \"round down\";\nBlockly.Msg[\"MATH_ROUND_OPERATOR_ROUNDUP\"] = \"round up\";\nBlockly.Msg[\"MATH_ROUND_TOOLTIP\"] = \"Round a number up or down.\";\nBlockly.Msg[\"MATH_SINGLE_HELPURL\"] = \"https://en.wikipedia.org/wiki/Square_root\";\nBlockly.Msg[\"MATH_SINGLE_OP_ABSOLUTE\"] = \"absolute\";\nBlockly.Msg[\"MATH_SINGLE_OP_ROOT\"] = \"square root\";\nBlockly.Msg[\"MATH_SINGLE_TOOLTIP_ABS\"] = \"Return the absolute value of a number.\";\nBlockly.Msg[\"MATH_SINGLE_TOOLTIP_EXP\"] = \"Return e to the power of a number.\";\nBlockly.Msg[\"MATH_SINGLE_TOOLTIP_LN\"] = \"Return the natural logarithm of a number.\";\nBlockly.Msg[\"MATH_SINGLE_TOOLTIP_LOG10\"] = \"Return the base 10 logarithm of a number.\";\nBlockly.Msg[\"MATH_SINGLE_TOOLTIP_NEG\"] = \"Return the negation of a number.\";\nBlockly.Msg[\"MATH_SINGLE_TOOLTIP_POW10\"] = \"Return 10 to the power of a number.\";\nBlockly.Msg[\"MATH_SINGLE_TOOLTIP_ROOT\"] = \"Return the square root of a number.\";\nBlockly.Msg[\"MATH_SUBTRACTION_SYMBOL\"] = \"-\";\nBlockly.Msg[\"MATH_TRIG_ACOS\"] = \"acos\";\nBlockly.Msg[\"MATH_TRIG_ASIN\"] = \"asin\";\nBlockly.Msg[\"MATH_TRIG_ATAN\"] = \"atan\";\nBlockly.Msg[\"MATH_TRIG_COS\"] = \"cos\";\nBlockly.Msg[\"MATH_TRIG_HELPURL\"] = \"https://en.wikipedia.org/wiki/Trigonometric_functions\";\nBlockly.Msg[\"MATH_TRIG_SIN\"] = \"sin\";\nBlockly.Msg[\"MATH_TRIG_TAN\"] = \"tan\";\nBlockly.Msg[\"MATH_TRIG_TOOLTIP_ACOS\"] = \"Return the arccosine of a number.\";\nBlockly.Msg[\"MATH_TRIG_TOOLTIP_ASIN\"] = \"Return the arcsine of a number.\";\nBlockly.Msg[\"MATH_TRIG_TOOLTIP_ATAN\"] = \"Return the arctangent of a number.\";\nBlockly.Msg[\"MATH_TRIG_TOOLTIP_COS\"] = \"Return the cosine of a degree (not radian).\";\nBlockly.Msg[\"MATH_TRIG_TOOLTIP_SIN\"] = \"Return the sine of a degree (not radian).\";\nBlockly.Msg[\"MATH_TRIG_TOOLTIP_TAN\"] = \"Return the tangent of a degree (not radian).\";\nBlockly.Msg[\"NEW_COLOUR_VARIABLE\"] = \"Create colour variable...\";\nBlockly.Msg[\"NEW_NUMBER_VARIABLE\"] = \"Create number variable...\";\nBlockly.Msg[\"NEW_STRING_VARIABLE\"] = \"Create string variable...\";\nBlockly.Msg[\"NEW_VARIABLE\"] = \"Create variable...\";\nBlockly.Msg[\"NEW_VARIABLE_TITLE\"] = \"New variable name:\";\nBlockly.Msg[\"NEW_VARIABLE_TYPE_TITLE\"] = \"New variable type:\";\nBlockly.Msg[\"ORDINAL_NUMBER_SUFFIX\"] = \"\";\nBlockly.Msg[\"PROCEDURES_ALLOW_STATEMENTS\"] = \"allow statements\";\nBlockly.Msg[\"PROCEDURES_BEFORE_PARAMS\"] = \"with:\";\nBlockly.Msg[\"PROCEDURES_CALLNORETURN_HELPURL\"] = \"https://en.wikipedia.org/wiki/Subroutine\";\nBlockly.Msg[\"PROCEDURES_CALLNORETURN_TOOLTIP\"] = \"Run the user-defined function '%1'.\";\nBlockly.Msg[\"PROCEDURES_CALLRETURN_HELPURL\"] = \"https://en.wikipedia.org/wiki/Subroutine\";\nBlockly.Msg[\"PROCEDURES_CALLRETURN_TOOLTIP\"] = \"Run the user-defined function '%1' and use its output.\";\nBlockly.Msg[\"PROCEDURES_CALL_BEFORE_PARAMS\"] = \"with:\";\nBlockly.Msg[\"PROCEDURES_CREATE_DO\"] = \"Create '%1'\";\nBlockly.Msg[\"PROCEDURES_DEFNORETURN_COMMENT\"] = \"Describe this function...\";\nBlockly.Msg[\"PROCEDURES_DEFNORETURN_DO\"] = \"\";\nBlockly.Msg[\"PROCEDURES_DEFNORETURN_HELPURL\"] = \"https://en.wikipedia.org/wiki/Subroutine\";\nBlockly.Msg[\"PROCEDURES_DEFNORETURN_PROCEDURE\"] = \"do something\";\nBlockly.Msg[\"PROCEDURES_DEFNORETURN_TITLE\"] = \"to\";\nBlockly.Msg[\"PROCEDURES_DEFNORETURN_TOOLTIP\"] = \"Creates a function with no output.\";\nBlockly.Msg[\"PROCEDURES_DEFRETURN_HELPURL\"] = \"https://en.wikipedia.org/wiki/Subroutine\";\nBlockly.Msg[\"PROCEDURES_DEFRETURN_RETURN\"] = \"return\";\nBlockly.Msg[\"PROCEDURES_DEFRETURN_TOOLTIP\"] = \"Creates a function with an output.\";\nBlockly.Msg[\"PROCEDURES_DEF_DUPLICATE_WARNING\"] = \"Warning: This function has duplicate parameters.\";\nBlockly.Msg[\"PROCEDURES_HIGHLIGHT_DEF\"] = \"Highlight function definition\";\nBlockly.Msg[\"PROCEDURES_IFRETURN_HELPURL\"] = \"http://c2.com/cgi/wiki?GuardClause\";\nBlockly.Msg[\"PROCEDURES_IFRETURN_TOOLTIP\"] = \"If a value is true, then return a second value.\";\nBlockly.Msg[\"PROCEDURES_IFRETURN_WARNING\"] = \"Warning: This block may be used only within a function definition.\";\nBlockly.Msg[\"PROCEDURES_MUTATORARG_TITLE\"] = \"input name:\";\nBlockly.Msg[\"PROCEDURES_MUTATORARG_TOOLTIP\"] = \"Add an input to the function.\";\nBlockly.Msg[\"PROCEDURES_MUTATORCONTAINER_TITLE\"] = \"inputs\";\nBlockly.Msg[\"PROCEDURES_MUTATORCONTAINER_TOOLTIP\"] = \"Add, remove, or reorder inputs to this function.\";\nBlockly.Msg[\"REDO\"] = \"Redo\";\nBlockly.Msg[\"REMOVE_COMMENT\"] = \"Remove Comment\";\nBlockly.Msg[\"RENAME_VARIABLE\"] = \"Rename variable...\";\nBlockly.Msg[\"RENAME_VARIABLE_TITLE\"] = \"Rename all '%1' variables to:\";\nBlockly.Msg[\"TEXT_APPEND_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#text-modification\";\nBlockly.Msg[\"TEXT_APPEND_TITLE\"] = \"to %1 append text %2\";\nBlockly.Msg[\"TEXT_APPEND_TOOLTIP\"] = \"Append some text to variable '%1'.\";\nBlockly.Msg[\"TEXT_CHANGECASE_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#adjusting-text-case\";\nBlockly.Msg[\"TEXT_CHANGECASE_OPERATOR_LOWERCASE\"] = \"to lower case\";\nBlockly.Msg[\"TEXT_CHANGECASE_OPERATOR_TITLECASE\"] = \"to Title Case\";\nBlockly.Msg[\"TEXT_CHANGECASE_OPERATOR_UPPERCASE\"] = \"to UPPER CASE\";\nBlockly.Msg[\"TEXT_CHANGECASE_TOOLTIP\"] = \"Return a copy of the text in a different case.\";\nBlockly.Msg[\"TEXT_CHARAT_FIRST\"] = \"get first letter\";\nBlockly.Msg[\"TEXT_CHARAT_FROM_END\"] = \"get letter # from end\";\nBlockly.Msg[\"TEXT_CHARAT_FROM_START\"] = \"get letter #\";\nBlockly.Msg[\"TEXT_CHARAT_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#extracting-text\";\nBlockly.Msg[\"TEXT_CHARAT_LAST\"] = \"get last letter\";\nBlockly.Msg[\"TEXT_CHARAT_RANDOM\"] = \"get random letter\";\nBlockly.Msg[\"TEXT_CHARAT_TAIL\"] = \"\";\nBlockly.Msg[\"TEXT_CHARAT_TITLE\"] = \"in text %1 %2\";\nBlockly.Msg[\"TEXT_CHARAT_TOOLTIP\"] = \"Returns the letter at the specified position.\";\nBlockly.Msg[\"TEXT_COUNT_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#counting-substrings\";\nBlockly.Msg[\"TEXT_COUNT_MESSAGE0\"] = \"count %1 in %2\";\nBlockly.Msg[\"TEXT_COUNT_TOOLTIP\"] = \"Count how many times some text occurs within some other text.\";\nBlockly.Msg[\"TEXT_CREATE_JOIN_ITEM_TOOLTIP\"] = \"Add an item to the text.\";\nBlockly.Msg[\"TEXT_CREATE_JOIN_TITLE_JOIN\"] = \"join\";\nBlockly.Msg[\"TEXT_CREATE_JOIN_TOOLTIP\"] = \"Add, remove, or reorder sections to reconfigure this text block.\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_END_FROM_END\"] = \"to letter # from end\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_END_FROM_START\"] = \"to letter #\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_END_LAST\"] = \"to last letter\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_INPUT_IN_TEXT\"] = \"in text\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_START_FIRST\"] = \"get substring from first letter\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_START_FROM_END\"] = \"get substring from letter # from end\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_START_FROM_START\"] = \"get substring from letter #\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_TAIL\"] = \"\";\nBlockly.Msg[\"TEXT_GET_SUBSTRING_TOOLTIP\"] = \"Returns a specified portion of the text.\";\nBlockly.Msg[\"TEXT_INDEXOF_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#finding-text\";\nBlockly.Msg[\"TEXT_INDEXOF_OPERATOR_FIRST\"] = \"find first occurrence of text\";\nBlockly.Msg[\"TEXT_INDEXOF_OPERATOR_LAST\"] = \"find last occurrence of text\";\nBlockly.Msg[\"TEXT_INDEXOF_TITLE\"] = \"in text %1 %2 %3\";\nBlockly.Msg[\"TEXT_INDEXOF_TOOLTIP\"] = \"Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found.\";\nBlockly.Msg[\"TEXT_ISEMPTY_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#checking-for-empty-text\";\nBlockly.Msg[\"TEXT_ISEMPTY_TITLE\"] = \"%1 is empty\";\nBlockly.Msg[\"TEXT_ISEMPTY_TOOLTIP\"] = \"Returns true if the provided text is empty.\";\nBlockly.Msg[\"TEXT_JOIN_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#text-creation\";\nBlockly.Msg[\"TEXT_JOIN_TITLE_CREATEWITH\"] = \"create text with\";\nBlockly.Msg[\"TEXT_JOIN_TOOLTIP\"] = \"Create a piece of text by joining together any number of items.\";\nBlockly.Msg[\"TEXT_LENGTH_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#text-modification\";\nBlockly.Msg[\"TEXT_LENGTH_TITLE\"] = \"length of %1\";\nBlockly.Msg[\"TEXT_LENGTH_TOOLTIP\"] = \"Returns the number of letters (including spaces) in the provided text.\";\nBlockly.Msg[\"TEXT_PRINT_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#printing-text\";\nBlockly.Msg[\"TEXT_PRINT_TITLE\"] = \"print %1\";\nBlockly.Msg[\"TEXT_PRINT_TOOLTIP\"] = \"Print the specified text, number or other value.\";\nBlockly.Msg[\"TEXT_PROMPT_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user\";\nBlockly.Msg[\"TEXT_PROMPT_TOOLTIP_NUMBER\"] = \"Prompt for user for a number.\";\nBlockly.Msg[\"TEXT_PROMPT_TOOLTIP_TEXT\"] = \"Prompt for user for some text.\";\nBlockly.Msg[\"TEXT_PROMPT_TYPE_NUMBER\"] = \"prompt for number with message\";\nBlockly.Msg[\"TEXT_PROMPT_TYPE_TEXT\"] = \"prompt for text with message\";\nBlockly.Msg[\"TEXT_REPLACE_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#replacing-substrings\";\nBlockly.Msg[\"TEXT_REPLACE_MESSAGE0\"] = \"replace %1 with %2 in %3\";\nBlockly.Msg[\"TEXT_REPLACE_TOOLTIP\"] = \"Replace all occurances of some text within some other text.\";\nBlockly.Msg[\"TEXT_REVERSE_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#reversing-text\";\nBlockly.Msg[\"TEXT_REVERSE_MESSAGE0\"] = \"reverse %1\";\nBlockly.Msg[\"TEXT_REVERSE_TOOLTIP\"] = \"Reverses the order of the characters in the text.\";\nBlockly.Msg[\"TEXT_TEXT_HELPURL\"] = \"https://en.wikipedia.org/wiki/String_(computer_science)\";\nBlockly.Msg[\"TEXT_TEXT_TOOLTIP\"] = \"A letter, word, or line of text.\";\nBlockly.Msg[\"TEXT_TRIM_HELPURL\"] = \"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces\";\nBlockly.Msg[\"TEXT_TRIM_OPERATOR_BOTH\"] = \"trim spaces from both sides of\";\nBlockly.Msg[\"TEXT_TRIM_OPERATOR_LEFT\"] = \"trim spaces from left side of\";\nBlockly.Msg[\"TEXT_TRIM_OPERATOR_RIGHT\"] = \"trim spaces from right side of\";\nBlockly.Msg[\"TEXT_TRIM_TOOLTIP\"] = \"Return a copy of the text with spaces removed from one or both ends.\";\nBlockly.Msg[\"TODAY\"] = \"Today\";\nBlockly.Msg[\"UNDO\"] = \"Undo\";\nBlockly.Msg[\"UNNAMED_KEY\"] = \"unnamed\";\nBlockly.Msg[\"VARIABLES_DEFAULT_NAME\"] = \"item\";\nBlockly.Msg[\"VARIABLES_GET_CREATE_SET\"] = \"Create 'set %1'\";\nBlockly.Msg[\"VARIABLES_GET_HELPURL\"] = \"https://github.com/google/blockly/wiki/Variables#get\";\nBlockly.Msg[\"VARIABLES_GET_TOOLTIP\"] = \"Returns the value of this variable.\";\nBlockly.Msg[\"VARIABLES_SET\"] = \"set %1 to %2\";\nBlockly.Msg[\"VARIABLES_SET_CREATE_GET\"] = \"Create 'get %1'\";\nBlockly.Msg[\"VARIABLES_SET_HELPURL\"] = \"https://github.com/google/blockly/wiki/Variables#set\";\nBlockly.Msg[\"VARIABLES_SET_TOOLTIP\"] = \"Sets this variable to be equal to the input.\";\nBlockly.Msg[\"VARIABLE_ALREADY_EXISTS\"] = \"A variable named '%1' already exists.\";\nBlockly.Msg[\"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\"] = \"A variable named '%1' already exists for another type: '%2'.\";\nBlockly.Msg[\"WORKSPACE_ARIA_LABEL\"] = \"Blockly Workspace\";\nBlockly.Msg[\"WORKSPACE_COMMENT_DEFAULT_TEXT\"] = \"Say something...\";\nBlockly.Msg[\"CONTROLS_FOREACH_INPUT_DO\"] = Blockly.Msg[\"CONTROLS_REPEAT_INPUT_DO\"];\nBlockly.Msg[\"CONTROLS_FOR_INPUT_DO\"] = Blockly.Msg[\"CONTROLS_REPEAT_INPUT_DO\"];\nBlockly.Msg[\"CONTROLS_IF_ELSEIF_TITLE_ELSEIF\"] = Blockly.Msg[\"CONTROLS_IF_MSG_ELSEIF\"];\nBlockly.Msg[\"CONTROLS_IF_ELSE_TITLE_ELSE\"] = Blockly.Msg[\"CONTROLS_IF_MSG_ELSE\"];\nBlockly.Msg[\"CONTROLS_IF_IF_TITLE_IF\"] = Blockly.Msg[\"CONTROLS_IF_MSG_IF\"];\nBlockly.Msg[\"CONTROLS_IF_MSG_THEN\"] = Blockly.Msg[\"CONTROLS_REPEAT_INPUT_DO\"];\nBlockly.Msg[\"CONTROLS_WHILEUNTIL_INPUT_DO\"] = Blockly.Msg[\"CONTROLS_REPEAT_INPUT_DO\"];\nBlockly.Msg[\"LISTS_CREATE_WITH_ITEM_TITLE\"] = Blockly.Msg[\"VARIABLES_DEFAULT_NAME\"];\nBlockly.Msg[\"LISTS_GET_INDEX_HELPURL\"] = Blockly.Msg[\"LISTS_INDEX_OF_HELPURL\"];\nBlockly.Msg[\"LISTS_GET_INDEX_INPUT_IN_LIST\"] = Blockly.Msg[\"LISTS_INLIST\"];\nBlockly.Msg[\"LISTS_GET_SUBLIST_INPUT_IN_LIST\"] = Blockly.Msg[\"LISTS_INLIST\"];\nBlockly.Msg[\"LISTS_INDEX_OF_INPUT_IN_LIST\"] = Blockly.Msg[\"LISTS_INLIST\"];\nBlockly.Msg[\"LISTS_SET_INDEX_INPUT_IN_LIST\"] = Blockly.Msg[\"LISTS_INLIST\"];\nBlockly.Msg[\"MATH_CHANGE_TITLE_ITEM\"] = Blockly.Msg[\"VARIABLES_DEFAULT_NAME\"];\nBlockly.Msg[\"PROCEDURES_DEFRETURN_COMMENT\"] = Blockly.Msg[\"PROCEDURES_DEFNORETURN_COMMENT\"];\nBlockly.Msg[\"PROCEDURES_DEFRETURN_DO\"] = Blockly.Msg[\"PROCEDURES_DEFNORETURN_DO\"];\nBlockly.Msg[\"PROCEDURES_DEFRETURN_PROCEDURE\"] = Blockly.Msg[\"PROCEDURES_DEFNORETURN_PROCEDURE\"];\nBlockly.Msg[\"PROCEDURES_DEFRETURN_TITLE\"] = Blockly.Msg[\"PROCEDURES_DEFNORETURN_TITLE\"];\nBlockly.Msg[\"TEXT_APPEND_VARIABLE\"] = Blockly.Msg[\"VARIABLES_DEFAULT_NAME\"];\nBlockly.Msg[\"TEXT_CREATE_JOIN_ITEM_TITLE_ITEM\"] = Blockly.Msg[\"VARIABLES_DEFAULT_NAME\"];\n\nBlockly.Msg[\"MATH_HUE\"] = \"230\";\nBlockly.Msg[\"LOOPS_HUE\"] = \"120\";\nBlockly.Msg[\"LISTS_HUE\"] = \"260\";\nBlockly.Msg[\"LOGIC_HUE\"] = \"210\";\nBlockly.Msg[\"VARIABLES_HUE\"] = \"330\";\nBlockly.Msg[\"TEXTS_HUE\"] = \"160\";\nBlockly.Msg[\"PROCEDURES_HUE\"] = \"290\";\nBlockly.Msg[\"COLOUR_HUE\"] = \"20\";\nBlockly.Msg[\"VARIABLES_DYNAMIC_HUE\"] = \"310\";\nreturn Blockly.Msg;\n})); \n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","/*!\n\nJSZip v3.7.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/master/LICENSE\n*/\n\n!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=t()}}(function(){return function s(a,o,h){function u(r,t){if(!o[r]){if(!a[r]){var e=\"function\"==typeof require&&require;if(!t&&e)return e(r,!0);if(l)return l(r,!0);var i=new Error(\"Cannot find module '\"+r+\"'\");throw i.code=\"MODULE_NOT_FOUND\",i}var n=o[r]={exports:{}};a[r][0].call(n.exports,function(t){var e=a[r][1][t];return u(e||t)},n,n.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,t=0;t<h.length;t++)u(h[t]);return u}({1:[function(t,e,r){\"use strict\";var c=t(\"./utils\"),d=t(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(t){for(var e,r,i,n,s,a,o,h=[],u=0,l=t.length,f=l,d=\"string\"!==c.getTypeOf(t);u<t.length;)f=l-u,i=d?(e=t[u++],r=u<l?t[u++]:0,u<l?t[u++]:0):(e=t.charCodeAt(u++),r=u<l?t.charCodeAt(u++):0,u<l?t.charCodeAt(u++):0),n=e>>2,s=(3&e)<<4|r>>4,a=1<f?(15&r)<<2|i>>6:64,o=2<f?63&i:64,h.push(p.charAt(n)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(t){var e,r,i,n,s,a,o=0,h=0,u=\"data:\";if(t.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(t=t.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\")).length/4;if(t.charAt(t.length-1)===p.charAt(64)&&f--,t.charAt(t.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=d.uint8array?new Uint8Array(0|f):new Array(0|f);o<t.length;)e=p.indexOf(t.charAt(o++))<<2|(n=p.indexOf(t.charAt(o++)))>>4,r=(15&n)<<4|(s=p.indexOf(t.charAt(o++)))>>2,i=(3&s)<<6|(a=p.indexOf(t.charAt(o++))),l[h++]=e,64!==s&&(l[h++]=r),64!==a&&(l[h++]=i);return l}},{\"./support\":30,\"./utils\":32}],2:[function(t,e,r){\"use strict\";var i=t(\"./external\"),n=t(\"./stream/DataWorker\"),s=t(\"./stream/Crc32Probe\"),a=t(\"./stream/DataLengthProbe\");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n}o.prototype={getContentWorker:function(){var t=new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),e=this;return t.on(\"end\",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),t},getCompressedWorker:function(){return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(e.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",e)},e.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(t,e,r){\"use strict\";var i=t(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(t){return new i(\"STORE compression\")},uncompressWorker:function(){return new i(\"STORE decompression\")}},r.DEFLATE=t(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(t,e,r){\"use strict\";var i=t(\"./utils\");var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e){return void 0!==t&&t.length?\"string\"!==i.getTypeOf(t)?function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}(0|e,t,t.length,0):function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e.charCodeAt(a))];return-1^t}(0|e,t,t.length,0):0}},{\"./utils\":32}],5:[function(t,e,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){\"use strict\";var i=null;i=\"undefined\"!=typeof Promise?Promise:t(\"lie\"),e.exports={Promise:i}},{lie:37}],7:[function(t,e,r){\"use strict\";var i=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,n=t(\"pako\"),s=t(\"./utils\"),a=t(\"./stream/GenericWorker\"),o=i?\"uint8array\":\"array\";function h(t,e){a.call(this,\"FlateWorker/\"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},r.compressWorker=function(t){return new h(\"Deflate\",t)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(t,e,r){\"use strict\";function A(t,e){var r,i=\"\";for(r=0;r<e;r++)i+=String.fromCharCode(255&t),t>>>=8;return i}function i(t,e,r,i,n,s){var a,o,h=t.file,u=t.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),d=I.transformTo(\"string\",O.utf8encode(h.name)),c=h.comment,p=I.transformTo(\"string\",s(c)),m=I.transformTo(\"string\",O.utf8encode(c)),_=d.length!==h.name.length,g=m.length!==c.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(x.crc32=t.crc32,x.compressedSize=t.compressedSize,x.uncompressedSize=t.uncompressedSize);var S=0;e&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===n?(C=798,z|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(t){return 63&(t||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+d,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(i,4)+f+b+p}}var I=t(\"../utils\"),n=t(\"../stream/GenericWorker\"),O=t(\"../utf8\"),B=t(\"../crc32\"),R=t(\"../signature\");function s(t,e,r,i){n.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,n),s.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,n.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}))},s.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return R.DATA_DESCRIPTOR+A(t.crc32,4)+A(t.compressedSize,4)+A(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var r=this.bytesWritten-t,i=function(t,e,r,i,n){var s=I.transformTo(\"string\",n(i));return R.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+A(t,2)+A(t,2)+A(e,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,t,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on(\"data\",function(t){e.processChunk(t)}),t.on(\"end\",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()}),t.on(\"error\",function(t){e.error(t)}),this},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(t){var e=this._sources;if(!n.prototype.error.call(this,t))return!1;for(var r=0;r<e.length;r++)try{e[r].error(t)}catch(t){}return!0},s.prototype.lock=function(){n.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock()},e.exports=s},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(t,e,r){\"use strict\";var u=t(\"../compressions\"),i=t(\"./ZipFileWorker\");r.generateWorker=function(t,a,e){var o=new i(a.streamFiles,e,a.platform,a.encodeFileName),h=0;try{t.forEach(function(t,e){h++;var r=function(t,e){var r=t||e,i=u[r];if(!i)throw new Error(r+\" is not a valid compression method !\");return i}(e.options.compression,a.compression),i=e.options.compressionOptions||a.compressionOptions||{},n=e.dir,s=e.date;e._compressWorker(r,i).withStreamInfo(\"file\",{name:t,dir:n,date:s,comment:e.comment||\"\",unixPermissions:e.unixPermissions,dosPermissions:e.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(t){o.error(t)}return o}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(t,e,r){\"use strict\";function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files=Object.create(null),this.comment=null,this.root=\"\",this.clone=function(){var t=new i;for(var e in this)\"function\"!=typeof this[e]&&(t[e]=this[e]);return t}}(i.prototype=t(\"./object\")).loadAsync=t(\"./load\"),i.support=t(\"./support\"),i.defaults=t(\"./defaults\"),i.version=\"3.7.1\",i.loadAsync=function(t,e){return(new i).loadAsync(t,e)},i.external=t(\"./external\"),e.exports=i},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(t,e,r){\"use strict\";var i=t(\"./utils\"),n=t(\"./external\"),o=t(\"./utf8\"),h=t(\"./zipEntries\"),s=t(\"./stream/Crc32Probe\"),u=t(\"./nodejsUtils\");function l(i){return new n.Promise(function(t,e){var r=i.decompressed.getContentWorker().pipe(new s);r.on(\"error\",function(t){e(t)}).on(\"end\",function(){r.streamInfo.crc32!==i.decompressed.crc32?e(new Error(\"Corrupted zip : CRC32 mismatch\")):t()}).resume()})}e.exports=function(t,s){var a=this;return s=i.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),u.isNode&&u.isStream(t)?n.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):i.prepareContent(\"the loaded zip file\",t,!0,s.optimizedBinaryString,s.base64).then(function(t){var e=new h(s);return e.load(t),e}).then(function(t){var e=[n.Promise.resolve(t)],r=t.files;if(s.checkCRC32)for(var i=0;i<r.length;i++)e.push(l(r[i]));return n.Promise.all(e)}).then(function(t){for(var e=t.shift(),r=e.files,i=0;i<r.length;i++){var n=r[i];a.file(n.fileNameStr,n.decompressed,{binary:!0,optimizedBinaryString:!0,date:n.date,dir:n.dir,comment:n.fileCommentStr.length?n.fileCommentStr:null,unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions,createFolders:s.createFolders})}return e.zipComment.length&&(a.comment=e.zipComment),a})}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"../stream/GenericWorker\");function s(t,e){n.call(this,\"Nodejs stream input adapter for \"+t),this._upstreamEnded=!1,this._bindStream(e)}i.inherits(s,n),s.prototype._bindStream=function(t){var e=this;(this._stream=t).pause(),t.on(\"data\",function(t){e.push({data:t,meta:{percent:0}})}).on(\"error\",function(t){e.isPaused?this.generatedError=t:e.error(t)}).on(\"end\",function(){e.isPaused?e._upstreamEnded=!0:e.end()})},s.prototype.pause=function(){return!!n.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(t,e,r){\"use strict\";var n=t(\"readable-stream\").Readable;function i(t,e,r){n.call(this,e),this._helper=t;var i=this;t.on(\"data\",function(t,e){i.push(t)||i._helper.pause(),r&&r(e)}).on(\"error\",function(t){i.emit(\"error\",t)}).on(\"end\",function(){i.push(null)})}t(\"../utils\").inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},{\"../utils\":32,\"readable-stream\":16}],14:[function(t,e,r){\"use strict\";e.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(t,e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(t,e);if(\"number\"==typeof t)throw new Error('The \"data\" argument must not be a number');return new Buffer(t,e)},allocBuffer:function(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e},isBuffer:function(t){return Buffer.isBuffer(t)},isStream:function(t){return t&&\"function\"==typeof t.on&&\"function\"==typeof t.pause&&\"function\"==typeof t.resume}}},{}],15:[function(t,e,r){\"use strict\";function s(t,e,r){var i,n=u.getTypeOf(e),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),\"string\"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(t=g(t)),s.createFolders&&(i=_(t))&&b.call(this,i,!0);var a=\"string\"===n&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(e instanceof d&&0===e.uncompressedSize||s.dir||!e||0===e.length)&&(s.base64=!1,s.binary=!0,e=\"\",s.compression=\"STORE\",n=\"string\");var o=null;o=e instanceof d||e instanceof l?e:p.isNode&&p.isStream(e)?new m(t,e):u.prepareContent(t,e,s.binary,s.optimizedBinaryString,s.base64);var h=new c(t,o,s);this.files[t]=h}var n=t(\"./utf8\"),u=t(\"./utils\"),l=t(\"./stream/GenericWorker\"),a=t(\"./stream/StreamHelper\"),f=t(\"./defaults\"),d=t(\"./compressedObject\"),c=t(\"./zipObject\"),o=t(\"./generate\"),p=t(\"./nodejsUtils\"),m=t(\"./nodejs/NodejsStreamInputAdapter\"),_=function(t){\"/\"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf(\"/\");return 0<e?t.substring(0,e):\"\"},g=function(t){return\"/\"!==t.slice(-1)&&(t+=\"/\"),t},b=function(t,e){return e=void 0!==e?e:f.createFolders,t=g(t),this.files[t]||s.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function h(t){return\"[object RegExp]\"===Object.prototype.toString.call(t)}var i={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(t){var e,r,i;for(e in this.files)i=this.files[e],(r=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&t(r,i)},filter:function(r){var i=[];return this.forEach(function(t,e){r(t,e)&&i.push(e)}),i},file:function(t,e,r){if(1!==arguments.length)return t=this.root+t,s.call(this,t,e,r),this;if(h(t)){var i=t;return this.filter(function(t,e){return!e.dir&&i.test(t)})}var n=this.files[this.root+t];return n&&!n.dir?n:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(t,e){return e.dir&&r.test(t)});var t=this.root+r,e=b.call(this,t),i=this.clone();return i.root=e.name,i},remove:function(r){r=this.root+r;var t=this.files[r];if(t||(\"/\"!==r.slice(-1)&&(r+=\"/\"),t=this.files[r]),t&&!t.dir)delete this.files[r];else for(var e=this.filter(function(t,e){return e.name.slice(0,r.length)===r}),i=0;i<e.length;i++)delete this.files[e[i].name];return this},generate:function(t){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(t){var e,r={};try{if((r=u.extend(t||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:n.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");u.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var i=r.comment||this.comment||\"\";e=o.generateWorker(this,r,i)}catch(t){(e=new l(\"error\")).error(t)}return new a(e,r.type||\"string\",r.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return(t=t||{}).type||(t.type=\"nodebuffer\"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=i},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(t,e,r){e.exports=t(\"stream\")},{stream:void 0}],17:[function(t,e,r){\"use strict\";var i=t(\"./DataReader\");function n(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e]}t(\"../utils\").inherits(n,i),n.prototype.byteAt=function(t){return this.data[this.zero+t]},n.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===e&&this.data[s+1]===r&&this.data[s+2]===i&&this.data[s+3]===n)return s-this.zero;return-1},n.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.readData(4);return e===s[0]&&r===s[1]&&i===s[2]&&n===s[3]},n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./DataReader\":18}],18:[function(t,e,r){\"use strict\";var i=t(\"../utils\");function n(t){this.data=t,this.length=t.length,this.index=0,this.zero=0}n.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length<this.zero+t||t<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+t+\"). Corrupted zip ?\")},setIndex:function(t){this.checkIndex(t),this.index=t},skip:function(t){this.setIndex(this.index+t)},byteAt:function(t){},readInt:function(t){var e,r=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo(\"string\",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n},{\"../utils\":32}],19:[function(t,e,r){\"use strict\";var i=t(\"./Uint8ArrayReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(t,e,r){\"use strict\";var i=t(\"./DataReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./DataReader\":18}],21:[function(t,e,r){\"use strict\";var i=t(\"./ArrayReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"../support\"),s=t(\"./ArrayReader\"),a=t(\"./StringReader\"),o=t(\"./NodeBufferReader\"),h=t(\"./Uint8ArrayReader\");e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),\"string\"!==e||n.uint8array?\"nodebuffer\"===e?new o(t):n.uint8array?new h(i.transformTo(\"uint8array\",t)):new s(i.transformTo(\"array\",t)):new a(t)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(t,e,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(t,e,r){\"use strict\";var i=t(\"./GenericWorker\"),n=t(\"../utils\");function s(t){i.call(this,\"ConvertWorker to \"+t),this.destType=t}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta})},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(t,e,r){\"use strict\";var i=t(\"./GenericWorker\"),n=t(\"../crc32\");function s(){i.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}t(\"../utils\").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"./GenericWorker\");function s(t){n.call(this,\"DataLengthProbe for \"+t),this.propName=t,this.withStreamInfo(t,0)}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}n.prototype.processChunk.call(this,t)},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"./GenericWorker\");function s(t){n.call(this,\"DataWorker\");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":t=this.data.substring(this.index,e);break;case\"uint8array\":t=this.data.subarray(this.index,e);break;case\"array\":case\"nodebuffer\":t=this.data.slice(this.index,e)}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(t,e,r){\"use strict\";function i(t){this.name=t||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(t){this.emit(\"data\",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit(\"error\",t)}return!0},error:function(t){return!this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit(\"error\",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r<this._listeners[t].length;r++)this._listeners[t][r].call(this,e)},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=t;var e=this;return t.on(\"data\",function(t){e.processChunk(t)}),t.on(\"end\",function(){e.end()}),t.on(\"error\",function(t){e.error(t)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var t=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t)},withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(t)&&(this.streamInfo[t]=this.extraStreamInfo[t])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var t=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+t:t}},e.exports=i},{}],29:[function(t,e,r){\"use strict\";var h=t(\"../utils\"),n=t(\"./ConvertWorker\"),s=t(\"./GenericWorker\"),u=t(\"../base64\"),i=t(\"../support\"),a=t(\"../external\"),o=null;if(i.nodestream)try{o=t(\"../nodejs/NodejsStreamOutputAdapter\")}catch(t){}function l(t,o){return new a.Promise(function(e,r){var i=[],n=t._internalType,s=t._outputType,a=t._mimeType;t.on(\"data\",function(t,e){i.push(t),o&&o(e)}).on(\"error\",function(t){i=[],r(t)}).on(\"end\",function(){try{var t=function(t,e,r){switch(t){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",e),r);case\"base64\":return u.encode(e);default:return h.transformTo(t,e)}}(s,function(t,e){var r,i=0,n=null,s=0;for(r=0;r<e.length;r++)s+=e[r].length;switch(t){case\"string\":return e.join(\"\");case\"array\":return Array.prototype.concat.apply([],e);case\"uint8array\":for(n=new Uint8Array(s),r=0;r<e.length;r++)n.set(e[r],i),i+=e[r].length;return n;case\"nodebuffer\":return Buffer.concat(e);default:throw new Error(\"concat : unsupported type '\"+t+\"'\")}}(n,i),a);e(t)}catch(t){r(t)}i=[]}).resume()})}function f(t,e,r){var i=e;switch(e){case\"blob\":case\"arraybuffer\":i=\"uint8array\";break;case\"base64\":i=\"string\"}try{this._internalType=i,this._outputType=e,this._mimeType=r,h.checkSupport(i),this._worker=t.pipe(new n(i)),t.lock()}catch(t){this._worker=new s(\"error\"),this._worker.error(t)}}f.prototype={accumulate:function(t){return l(this,t)},on:function(t,e){var r=this;return\"data\"===t?this._worker.on(t,function(t){e.call(r,t.data,t.meta)}):this._worker.on(t,function(){h.delay(e,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(h.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new o(this,{objectMode:\"nodebuffer\"!==this._outputType},t)}},e.exports=f},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(t,e,r){\"use strict\";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var i=new ArrayBuffer(0);try{r.blob=0===new Blob([i],{type:\"application/zip\"}).size}catch(t){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(i),r.blob=0===n.getBlob(\"application/zip\").size}catch(t){r.blob=!1}}}try{r.nodestream=!!t(\"readable-stream\").Readable}catch(t){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(t,e,s){\"use strict\";for(var o=t(\"./utils\"),h=t(\"./support\"),r=t(\"./nodejsUtils\"),i=t(\"./stream/GenericWorker\"),u=new Array(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;u[254]=u[254]=1;function a(){i.call(this,\"utf-8 decode\"),this.leftOver=null}function l(){i.call(this,\"utf-8 encode\")}s.utf8encode=function(t){return h.nodebuffer?r.newBufferFrom(t,\"utf-8\"):function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=h.uint8array?new Uint8Array(o):new Array(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e}(t)},s.utf8decode=function(t){return h.nodebuffer?o.transformTo(\"nodebuffer\",t).toString(\"utf-8\"):function(t){var e,r,i,n,s=t.length,a=new Array(2*s);for(e=r=0;e<s;)if((i=t[e++])<128)a[r++]=i;else if(4<(n=u[i]))a[r++]=65533,e+=n-1;else{for(i&=2===n?31:3===n?15:7;1<n&&e<s;)i=i<<6|63&t[e++],n--;1<n?a[r++]=65533:i<65536?a[r++]=i:(i-=65536,a[r++]=55296|i>>10&1023,a[r++]=56320|1023&i)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(t=o.transformTo(h.uint8array?\"uint8array\":\"array\",t))},o.inherits(a,i),a.prototype.processChunk=function(t){var e=o.transformTo(h.uint8array?\"uint8array\":\"array\",t.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}(e),n=e;i!==e.length&&(h.uint8array?(n=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(n=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:s.utf8decode(n),meta:t.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,i),l.prototype.processChunk=function(t){this.push({data:s.utf8encode(t.data),meta:t.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(t,e,a){\"use strict\";var o=t(\"./support\"),h=t(\"./base64\"),r=t(\"./nodejsUtils\"),i=t(\"set-immediate-shim\"),u=t(\"./external\");function n(t){return t}function l(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}a.newBlob=function(e,r){a.checkSupport(\"blob\");try{return new Blob([e],{type:r})}catch(t){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(e),i.getBlob(r)}catch(t){throw new Error(\"Bug : can't construct the Blob.\")}}};var s={stringifyByChunk:function(t,e,r){var i=[],n=0,s=t.length;if(s<=r)return String.fromCharCode.apply(null,t);for(;n<s;)\"array\"===e||\"nodebuffer\"===e?i.push(String.fromCharCode.apply(null,t.slice(n,Math.min(n+r,s)))):i.push(String.fromCharCode.apply(null,t.subarray(n,Math.min(n+r,s)))),n+=r;return i.join(\"\")},stringifyByChar:function(t){for(var e=\"\",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(t){return!1}}()}};function f(t){var e=65536,r=a.getTypeOf(t),i=!0;if(\"uint8array\"===r?i=s.applyCanBeUsed.uint8array:\"nodebuffer\"===r&&(i=s.applyCanBeUsed.nodebuffer),i)for(;1<e;)try{return s.stringifyByChunk(t,r,e)}catch(t){e=Math.floor(e/2)}return s.stringifyByChar(t)}function d(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}a.applyFromCharCode=f;var c={};c.string={string:n,array:function(t){return l(t,new Array(t.length))},arraybuffer:function(t){return c.string.uint8array(t).buffer},uint8array:function(t){return l(t,new Uint8Array(t.length))},nodebuffer:function(t){return l(t,r.allocBuffer(t.length))}},c.array={string:f,array:n,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(t)}},c.arraybuffer={string:function(t){return f(new Uint8Array(t))},array:function(t){return d(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:n,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(new Uint8Array(t))}},c.uint8array={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:n,nodebuffer:function(t){return r.newBufferFrom(t)}},c.nodebuffer={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return c.nodebuffer.uint8array(t).buffer},uint8array:function(t){return d(t,new Uint8Array(t.length))},nodebuffer:n},a.transformTo=function(t,e){if(e=e||\"\",!t)return e;a.checkSupport(t);var r=a.getTypeOf(e);return c[r][t](e)},a.getTypeOf=function(t){return\"string\"==typeof t?\"string\":\"[object Array]\"===Object.prototype.toString.call(t)?\"array\":o.nodebuffer&&r.isBuffer(t)?\"nodebuffer\":o.uint8array&&t instanceof Uint8Array?\"uint8array\":o.arraybuffer&&t instanceof ArrayBuffer?\"arraybuffer\":void 0},a.checkSupport=function(t){if(!o[t.toLowerCase()])throw new Error(t+\" is not supported by this platform\")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(t){var e,r,i=\"\";for(r=0;r<(t||\"\").length;r++)i+=\"\\\\x\"+((e=t.charCodeAt(r))<16?\"0\":\"\")+e.toString(16).toUpperCase();return i},a.delay=function(t,e,r){i(function(){t.apply(r||null,e||[])})},a.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.prototype=new r},a.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&void 0===r[e]&&(r[e]=arguments[t][e]);return r},a.prepareContent=function(r,t,i,n,s){return u.Promise.resolve(t).then(function(i){return o.blob&&(i instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(i)))&&\"undefined\"!=typeof FileReader?new u.Promise(function(e,r){var t=new FileReader;t.onload=function(t){e(t.target.result)},t.onerror=function(t){r(t.target.error)},t.readAsArrayBuffer(i)}):i}).then(function(t){var e=a.getTypeOf(t);return e?(\"arraybuffer\"===e?t=a.transformTo(\"uint8array\",t):\"string\"===e&&(s?t=h.decode(t):i&&!0!==n&&(t=function(t){return l(t,o.uint8array?new Uint8Array(t.length):new Array(t.length))}(t))),t):u.Promise.reject(new Error(\"Can't read the data of '\"+r+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))})}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,\"set-immediate-shim\":54}],33:[function(t,e,r){\"use strict\";var i=t(\"./reader/readerFor\"),n=t(\"./utils\"),s=t(\"./signature\"),a=t(\"./zipEntry\"),o=(t(\"./utf8\"),t(\"./support\"));function h(t){this.files=[],this.loadOptions=t}h.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+n.pretty(e)+\", expected \"+n.pretty(t)+\")\")}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var i=this.reader.readString(4)===e;return this.reader.setIndex(r),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=o.uint8array?\"uint8array\":\"array\",r=n.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,r,i=this.zip64EndOfCentralSize-44;0<i;)t=this.reader.readInt(2),e=this.reader.readInt(4),r=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(t<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip: can't find end of central directory\");this.reader.setIndex(t);var e=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===n.MAX_VALUE_16BITS||this.diskWithCentralDirStart===n.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===n.MAX_VALUE_16BITS||this.centralDirRecords===n.MAX_VALUE_16BITS||this.centralDirSize===n.MAX_VALUE_32BITS||this.centralDirOffset===n.MAX_VALUE_32BITS){if(this.zip64=!0,(t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(t),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var i=e-r;if(0<i)this.isSignature(e,s.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(i)+\" bytes.\")},prepareReader:function(t){this.reader=i(t)},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utf8\":31,\"./utils\":32,\"./zipEntry\":34}],34:[function(t,e,r){\"use strict\";var i=t(\"./reader/readerFor\"),s=t(\"./utils\"),n=t(\"./compressedObject\"),a=t(\"./crc32\"),o=t(\"./utf8\"),h=t(\"./compressions\"),u=t(\"./support\");function l(t,e){this.options=t,this.loadOptions=e}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(t){var e,r;if(t.skip(22),this.fileNameLength=t.readInt(2),r=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(e=function(t){for(var e in h)if(h.hasOwnProperty(e)&&h[e].magic===t)return h[e];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+s.pretty(this.compressionMethod)+\" unknown (inner file : \"+s.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new n(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4<n;)e=t.readInt(2),r=t.readInt(2),i=t.readData(r),this.extraFields[e]={id:e,length:r,value:i};t.setIndex(n)},handleUTF8:function(){var t=u.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var r=s.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var n=s.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(n)}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileName)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null}},e.exports=l},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(t,e,r){\"use strict\";function i(t,e,r){this.name=t,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=e,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=t(\"./stream/StreamHelper\"),n=t(\"./stream/DataWorker\"),a=t(\"./utf8\"),o=t(\"./compressedObject\"),h=t(\"./stream/GenericWorker\");i.prototype={internalStream:function(t){var e=null,r=\"string\";try{if(!t)throw new Error(\"No output type specified.\");var i=\"string\"===(r=t.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),e=this._decompressWorker();var n=!this._dataBinary;n&&!i&&(e=e.pipe(new a.Utf8EncodeWorker)),!n&&i&&(e=e.pipe(new a.Utf8DecodeWorker))}catch(t){(e=new h(\"error\")).error(t)}return new s(e,r,\"\")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||\"nodebuffer\").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof o&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new n(this._data)}};for(var u=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],l=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},f=0;f<u.length;f++)i.prototype[u[f]]=l;e.exports=i},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(t,l,e){(function(e){\"use strict\";var r,i,t=e.MutationObserver||e.WebKitMutationObserver;if(t){var n=0,s=new t(u),a=e.document.createTextNode(\"\");s.observe(a,{characterData:!0}),r=function(){a.data=n=++n%2}}else if(e.setImmediate||void 0===e.MessageChannel)r=\"document\"in e&&\"onreadystatechange\"in e.document.createElement(\"script\")?function(){var t=e.document.createElement(\"script\");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var o=new e.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var t,e;i=!0;for(var r=h.length;r;){for(e=h,h=[],t=-1;++t<r;)e[t]();r=h.length}i=!1}l.exports=function(t){1!==h.push(t)||i||r()}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(t,e,r){\"use strict\";var n=t(\"immediate\");function u(){}var l={},s=[\"REJECTED\"],a=[\"FULFILLED\"],i=[\"PENDING\"];function o(t){if(\"function\"!=typeof t)throw new TypeError(\"resolver must be a function\");this.state=i,this.queue=[],this.outcome=void 0,t!==u&&c(this,t)}function h(t,e,r){this.promise=t,\"function\"==typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(e,r,i){n(function(){var t;try{t=r(i)}catch(t){return l.reject(e,t)}t===e?l.reject(e,new TypeError(\"Cannot resolve promise with itself\")):l.resolve(e,t)})}function d(t){var e=t&&t.then;if(t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof e)return function(){e.apply(t,arguments)}}function c(e,t){var r=!1;function i(t){r||(r=!0,l.reject(e,t))}function n(t){r||(r=!0,l.resolve(e,t))}var s=p(function(){t(n,i)});\"error\"===s.status&&i(s.value)}function p(t,e){var r={};try{r.value=t(e),r.status=\"success\"}catch(t){r.status=\"error\",r.value=t}return r}(e.exports=o).prototype.finally=function(e){if(\"function\"!=typeof e)return this;var r=this.constructor;return this.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})})},o.prototype.catch=function(t){return this.then(null,t)},o.prototype.then=function(t,e){if(\"function\"!=typeof t&&this.state===a||\"function\"!=typeof e&&this.state===s)return this;var r=new this.constructor(u);this.state!==i?f(r,this.state===a?t:e,this.outcome):this.queue.push(new h(r,t,e));return r},h.prototype.callFulfilled=function(t){l.resolve(this.promise,t)},h.prototype.otherCallFulfilled=function(t){f(this.promise,this.onFulfilled,t)},h.prototype.callRejected=function(t){l.reject(this.promise,t)},h.prototype.otherCallRejected=function(t){f(this.promise,this.onRejected,t)},l.resolve=function(t,e){var r=p(d,e);if(\"error\"===r.status)return l.reject(t,r.value);var i=r.value;if(i)c(t,i);else{t.state=a,t.outcome=e;for(var n=-1,s=t.queue.length;++n<s;)t.queue[n].callFulfilled(e)}return t},l.reject=function(t,e){t.state=s,t.outcome=e;for(var r=-1,i=t.queue.length;++r<i;)t.queue[r].callRejected(e);return t},o.resolve=function(t){if(t instanceof this)return t;return l.resolve(new this(u),t)},o.reject=function(t){var e=new this(u);return l.reject(e,t)},o.all=function(t){var r=this;if(\"[object Array]\"!==Object.prototype.toString.call(t))return this.reject(new TypeError(\"must be an array\"));var i=t.length,n=!1;if(!i)return this.resolve([]);var s=new Array(i),a=0,e=-1,o=new this(u);for(;++e<i;)h(t[e],e);return o;function h(t,e){r.resolve(t).then(function(t){s[e]=t,++a!==i||n||(n=!0,l.resolve(o,s))},function(t){n||(n=!0,l.reject(o,t))})}},o.race=function(t){var e=this;if(\"[object Array]\"!==Object.prototype.toString.call(t))return this.reject(new TypeError(\"must be an array\"));var r=t.length,i=!1;if(!r)return this.resolve([]);var n=-1,s=new this(u);for(;++n<r;)a=t[n],e.resolve(a).then(function(t){i||(i=!0,l.resolve(s,t))},function(t){i||(i=!0,l.reject(s,t))});var a;return s}},{immediate:36}],38:[function(t,e,r){\"use strict\";var i={};(0,t(\"./lib/utils/common\").assign)(i,t(\"./lib/deflate\"),t(\"./lib/inflate\"),t(\"./lib/zlib/constants\")),e.exports=i},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(t,e,r){\"use strict\";var a=t(\"./zlib/deflate\"),o=t(\"./utils/common\"),h=t(\"./utils/strings\"),n=t(\"./zlib/messages\"),s=t(\"./zlib/zstream\"),u=Object.prototype.toString,l=0,f=-1,d=0,c=8;function p(t){if(!(this instanceof p))return new p(t);this.options=o.assign({level:f,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:\"\"},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==l)throw new Error(n[r]);if(e.header&&a.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(i=\"string\"==typeof e.dictionary?h.string2buf(e.dictionary):\"[object ArrayBuffer]\"===u.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(r=a.deflateSetDictionary(this.strm,i))!==l)throw new Error(n[r]);this._dict_set=!0}}function i(t,e){var r=new p(e);if(r.push(t,!0),r.err)throw r.msg||n[r.err];return r.result}p.prototype.push=function(t,e){var r,i,n=this.strm,s=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:!0===e?4:0,\"string\"==typeof t?n.input=h.string2buf(t):\"[object ArrayBuffer]\"===u.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(s),n.next_out=0,n.avail_out=s),1!==(r=a.deflate(n,i))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==n.avail_out&&(0!==n.avail_in||4!==i&&2!==i)||(\"string\"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(n.output,n.next_out))):this.onData(o.shrinkBuf(n.output,n.next_out)))}while((0<n.avail_in||0===n.avail_out)&&1!==r);return 4===i?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==i||(this.onEnd(l),!(n.avail_out=0))},p.prototype.onData=function(t){this.chunks.push(t)},p.prototype.onEnd=function(t){t===l&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Deflate=p,r.deflate=i,r.deflateRaw=function(t,e){return(e=e||{}).raw=!0,i(t,e)},r.gzip=function(t,e){return(e=e||{}).gzip=!0,i(t,e)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(t,e,r){\"use strict\";var d=t(\"./zlib/inflate\"),c=t(\"./utils/common\"),p=t(\"./utils/strings\"),m=t(\"./zlib/constants\"),i=t(\"./zlib/messages\"),n=t(\"./zlib/zstream\"),s=t(\"./zlib/gzheader\"),_=Object.prototype.toString;function a(t){if(!(this instanceof a))return new a(t);this.options=c.assign({chunkSize:16384,windowBits:0,to:\"\"},t||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new n,this.strm.avail_out=0;var r=d.inflateInit2(this.strm,e.windowBits);if(r!==m.Z_OK)throw new Error(i[r]);this.header=new s,d.inflateGetHeader(this.strm,this.header)}function o(t,e){var r=new a(e);if(r.push(t,!0),r.err)throw r.msg||i[r.err];return r.result}a.prototype.push=function(t,e){var r,i,n,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;i=e===~~e?e:!0===e?m.Z_FINISH:m.Z_NO_FLUSH,\"string\"==typeof t?h.input=p.binstring2buf(t):\"[object ArrayBuffer]\"===_.call(t)?h.input=new Uint8Array(t):h.input=t,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new c.Buf8(u),h.next_out=0,h.avail_out=u),(r=d.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o=\"string\"==typeof l?p.string2buf(l):\"[object ArrayBuffer]\"===_.call(l)?new Uint8Array(l):l,r=d.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||i!==m.Z_FINISH&&i!==m.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(n=p.utf8border(h.output,h.next_out),s=h.next_out-n,a=p.buf2string(h.output,n),h.next_out=s,h.avail_out=u-s,s&&c.arraySet(h.output,h.output,n,s,0),this.onData(a)):this.onData(c.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(i=m.Z_FINISH),i===m.Z_FINISH?(r=d.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):i!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(t){this.chunks.push(t)},a.prototype.onEnd=function(t){t===m.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(t,e){return(e=e||{}).raw=!0,o(t,e)},r.ungzip=o},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(t,e,r){\"use strict\";var i=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+i),n);else for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){var e,r,i,n,s,a;for(e=i=0,r=t.length;e<r;e++)i+=t[e].length;for(a=new Uint8Array(i),e=n=0,r=t.length;e<r;e++)s=t[e],a.set(s,n),n+=s.length;return a}},s={arraySet:function(t,e,r,i,n){for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){return[].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(i)},{}],42:[function(t,e,r){\"use strict\";var h=t(\"./common\"),n=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var u=new h.Buf8(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function l(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&n))return String.fromCharCode.apply(null,h.shrinkBuf(t,e));for(var r=\"\",i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r}u[254]=u[254]=1,r.string2buf=function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=new h.Buf8(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e},r.buf2binstring=function(t){return l(t,t.length)},r.binstring2buf=function(t){for(var e=new h.Buf8(t.length),r=0,i=e.length;r<i;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,i,n,s,a=e||t.length,o=new Array(2*a);for(r=i=0;r<a;)if((n=t[r++])<128)o[i++]=n;else if(4<(s=u[n]))o[i++]=65533,r+=s-1;else{for(n&=2===s?31:3===s?15:7;1<s&&r<a;)n=n<<6|63&t[r++],s--;1<s?o[i++]=65533:n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|1023&n)}return l(o,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}},{\"./common\":41}],43:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(n=n+e[i++]|0)|0,--a;);n%=65521,s%=65521}return n|s<<16|0}},{}],44:[function(t,e,r){\"use strict\";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,e,r){\"use strict\";var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}},{}],46:[function(t,e,r){\"use strict\";var h,d=t(\"../utils/common\"),u=t(\"./trees\"),c=t(\"./adler32\"),p=t(\"./crc32\"),i=t(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,n=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(t,e){return t.msg=i[e],e}function T(t){return(t<<1)-(4<t?9:0)}function D(t){for(var e=t.length;0<=--e;)t[e]=0}function F(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(d.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function N(t,e){u._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,F(t.strm)}function U(t,e){t.pending_buf[t.pending++]=e}function P(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function L(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-z?t.strstart-(t.w_size-z):0,u=t.window,l=t.w_mask,f=t.prev,d=t.strstart+S,c=u[s+a-1],p=u[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(u[(r=e)+a]===p&&u[r+a-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<d);if(i=S-(d-s),s=d-S,a<i){if(t.match_start=e,o<=(a=i))break;c=u[s+a-1],p=u[s+a]}}}while((e=f[e&l])>h&&0!=--n);return a<=t.lookahead?a:t.lookahead}function j(t){var e,r,i,n,s,a,o,h,u,l,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-z)){for(d.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--r;);for(e=r=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--r;);n+=f}if(0===t.strm.avail_in)break;if(a=t.strm,o=t.window,h=t.strstart+t.lookahead,u=n,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,d.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=c(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),t.lookahead+=r,t.lookahead+t.insert>=x)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+x-1])&t.hash_mask,t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<x)););}while(t.lookahead<z&&0!==t.strm.avail_in)}function Z(t,e){for(var r,i;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r)),t.match_length>=x)if(i=u._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function W(t,e){for(var r,i,n;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=x-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r),t.match_length<=5&&(1===t.strategy||t.match_length===x&&4096<t.strstart-t.match_start)&&(t.match_length=x-1)),t.prev_length>=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-x,i=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=x-1,t.strstart++,i&&(N(t,!1),0===t.strm.avail_out))return A}else if(t.match_available){if((i=u._tr_tally(t,0,t.window[t.strstart-1]))&&N(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return A}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=u._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function M(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*w),this.dyn_dtree=new d.Buf16(2*(2*a+1)),this.bl_tree=new d.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(k+1),this.heap=new d.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=n,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?C:E,t.adler=2===e.wrap?0:1,e.last_flush=l,u._tr_init(e),m):R(t,_)}function K(t){var e=G(t);return e===m&&function(t){t.window_size=2*t.w_size,D(t.head),t.max_lazy_match=h[t.level].max_lazy,t.good_match=h[t.level].good_length,t.nice_match=h[t.level].nice_length,t.max_chain_length=h[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=x-1,t.match_available=0,t.ins_h=0}(t.state),e}function Y(t,e,r,i,n,s){if(!t)return _;var a=1;if(e===g&&(e=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),n<1||y<n||r!==v||i<8||15<i||e<0||9<e||s<0||b<s)return R(t,_);8===i&&(i=9);var o=new H;return(t.state=o).strm=t,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new d.Buf8(2*o.w_size),o.head=new d.Buf16(o.hash_size),o.prev=new d.Buf16(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new d.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=s,o.method=r,K(t)}h=[new M(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(j(t),0===t.lookahead&&e===l)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,N(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-z&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):(t.strstart>t.block_start&&(N(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?_:(t.state.gzhead=e,m):_},r.deflate=function(t,e){var r,i,n,s;if(!t||!t.state||5<e||e<0)return t?R(t,_):_;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||666===i.status&&e!==f)return R(t,0===t.avail_out?-5:_);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===C)if(2===i.wrap)t.adler=0,U(i,31),U(i,139),U(i,8),i.gzhead?(U(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),U(i,255&i.gzhead.time),U(i,i.gzhead.time>>8&255),U(i,i.gzhead.time>>16&255),U(i,i.gzhead.time>>24&255),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(U(i,255&i.gzhead.extra.length),U(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=p(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(U(i,0),U(i,0),U(i,0),U(i,0),U(i,0),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,3),i.status=E);else{var a=v+(i.w_bits-8<<4)<<8;a|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(a|=32),a+=31-a%31,i.status=E,P(i,a),0!==i.strstart&&(P(i,t.adler>>>16),P(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending!==i.pending_buf_size));)U(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,U(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,U(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(t),i.pending+2<=i.pending_buf_size&&(U(i,255&t.adler),U(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(F(t),0===t.avail_out)return i.last_flush=-1,m}else if(0===t.avail_in&&T(e)<=T(r)&&e!==f)return R(t,-5);if(666===i.status&&0!==t.avail_in)return R(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==l&&666!==i.status){var o=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(j(t),0===t.lookahead)){if(e===l)return A;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):3===i.strategy?function(t,e){for(var r,i,n,s,a=t.window;;){if(t.lookahead<=S){if(j(t),t.lookahead<=S&&e===l)return A;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0<t.strstart&&(i=a[n=t.strstart-1])===a[++n]&&i===a[++n]&&i===a[++n]){s=t.strstart+S;do{}while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&n<s);t.match_length=S-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=x?(r=u._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):h[i.level].func(i,e);if(o!==O&&o!==B||(i.status=666),o===A||o===O)return 0===t.avail_out&&(i.last_flush=-1),m;if(o===I&&(1===e?u._tr_align(i):5!==e&&(u._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),F(t),0===t.avail_out))return i.last_flush=-1,m}return e!==f?m:i.wrap<=0?1:(2===i.wrap?(U(i,255&t.adler),U(i,t.adler>>8&255),U(i,t.adler>>16&255),U(i,t.adler>>24&255),U(i,255&t.total_in),U(i,t.total_in>>8&255),U(i,t.total_in>>16&255),U(i,t.total_in>>24&255)):(P(i,t.adler>>>16),P(i,65535&t.adler)),F(t),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?m:1)},r.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==C&&69!==e&&73!==e&&91!==e&&103!==e&&e!==E&&666!==e?R(t,_):(t.state=null,e===E?R(t,-3):m):_},r.deflateSetDictionary=function(t,e){var r,i,n,s,a,o,h,u,l=e.length;if(!t||!t.state)return _;if(2===(s=(r=t.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(t.adler=c(t.adler,e,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new d.Buf8(r.w_size),d.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,o=t.next_in,h=t.input,t.avail_in=l,t.next_in=0,t.input=e,j(r);r.lookahead>=x;){for(i=r.strstart,n=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+x-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++,--n;);r.strstart=i,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,t.next_in=o,t.input=h,t.avail_in=a,r.wrap=s,m},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(t,e,r){\"use strict\";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],48:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C;r=t.state,i=t.next_in,z=t.input,n=i+(t.avail_in-5),s=t.next_out,C=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,d=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;t:do{p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=m[c&g];e:for(;;){if(c>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(c&(1<<y)-1)];continue e}if(32&y){r.mode=12;break t}t.msg=\"invalid literal/length code\",r.mode=30;break t}w=65535&v,(y&=15)&&(p<y&&(c+=z[i++]<<p,p+=8),w+=c&(1<<y)-1,c>>>=y,p-=y),p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=_[c&b];r:for(;;){if(c>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<<y)-1)];continue r}t.msg=\"invalid distance code\",r.mode=30;break t}if(k=65535&v,p<(y&=15)&&(c+=z[i++]<<p,(p+=8)<y&&(c+=z[i++]<<p,p+=8)),h<(k+=c&(1<<y)-1)){t.msg=\"invalid distance too far back\",r.mode=30;break t}if(c>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){t.msg=\"invalid distance too far back\",r.mode=30;break t}if(S=d,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=d[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=d[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(i<n&&s<o);i-=w=p>>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=s<o?o-s+257:257-(s-o),r.hold=c,r.bits=p}},{}],49:[function(t,e,r){\"use strict\";var I=t(\"../utils/common\"),O=t(\"./adler32\"),B=t(\"./crc32\"),R=t(\"./inffast\"),T=t(\"./inftrees\"),D=1,F=2,N=0,U=-2,P=1,i=852,n=592;function L(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg=\"\",e.wrap&&(t.adler=1&e.wrap),e.mode=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?U:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,o(t))):U}function u(t,e){var r,i;return t?(i=new s,(t.state=i).window=null,(r=h(t,e))!==N&&(t.state=null),r):U}var l,f,d=!0;function j(t){if(d){var e;for(l=new I.Buf32(512),f=new I.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(T(D,t.lens,0,288,l,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;T(F,t.lens,0,32,f,0,t.work,{bits:5}),d=!1}t.lencode=l,t.lenbits=9,t.distcode=f,t.distbits=5}function Z(t,e,r,i){var n,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),i>=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=n))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(t){return u(t,15)},r.inflateInit2=u,r.inflate=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return U;12===(r=t.state).mode&&(r.mode=13),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,f=o,d=h,x=N;t:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){t.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<k,t.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){t.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){t.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(65535&r.check)){t.msg=\"header crc mismatch\",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}t.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,2;t.adler=r.check=1,r.mode=12;case 12:if(5===e||6===e)break t;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o<c&&(c=o),h<c&&(c=h),0===c)break t;I.arraySet(n,i,s,c,a),o-=c,s+=c,h-=c,a+=c,r.length-=c;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){t.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){t.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+c>r.nlen+r.ndist){t.msg=\"invalid bit length repeat\",r.mode=30;break}for(;c--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){t.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg=\"invalid distance too far back\",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window}else m=n,p=a-r.offset,c=r.length;for(h<c&&(c=h),h-=c,r.length-=c;n[a++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break t;n[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break t;o--,u|=i[s++]<<l,l+=8}if(d-=h,t.total_out+=d,r.total+=d,d&&(t.adler=r.check=r.flags?B(r.check,n,d,a-d):O(r.check,n,d,a-d)),d=h,(r.flags?u:L(u))!==r.check){t.msg=\"incorrect data check\",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(4294967295&r.total)){t.msg=\"incorrect length check\",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break t;case 30:x=-3;break t;case 31:return-4;case 32:default:return U}return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,(r.wsize||d!==t.avail_out&&r.mode<30&&(r.mode<27||4!==e))&&Z(t,t.output,t.next_out,d-t.avail_out)?(r.mode=31,-4):(f-=t.avail_in,d-=t.avail_out,t.total_in+=f,t.total_out+=d,r.total+=d,r.wrap&&d&&(t.adler=r.check=r.flags?B(r.check,n,d,t.next_out-d):O(r.check,n,d,t.next_out-d)),t.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===d||4===e)&&x===N&&(x=-5),x)},r.inflateEnd=function(t){if(!t||!t.state)return U;var e=t.state;return e.window&&(e.window=null),t.state=null,N},r.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?U:((r.head=e).done=!1,N):U},r.inflateSetDictionary=function(t,e){var r,i=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,e,i,0)!==r.check?-3:Z(t,e,i,i)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(t,e,r){\"use strict\";var D=t(\"../utils/common\"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,i,n,s,a,o){var h,u,l,f,d,c,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<i;v++)O[e[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===t||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<i;v++)0!==e[r+v]&&(a[B[e[r+v]]++]=v);if(c=0===t?(A=R=a,19):1===t?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,d=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===t&&852<C||2===t&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<c?(m=0,a[v]):a[v]>c?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;n[d+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),d+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===t&&852<C||2===t&&592<C)return 1;n[l=E&f]=k<<24|x<<16|d-s|0}}return 0!==E&&(n[d+E]=b-S<<24|64<<16|0),o.bits=k,0}},{\"../utils/common\":41}],51:[function(t,e,r){\"use strict\";e.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],52:[function(t,e,r){\"use strict\";var n=t(\"../utils/common\"),o=0,h=1;function i(t){for(var e=t.length;0<=--e;)t[e]=0}var s=0,a=29,u=256,l=u+1+a,f=30,d=19,_=2*l+1,g=15,c=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));i(z);var C=new Array(2*f);i(C);var E=new Array(512);i(E);var A=new Array(256);i(A);var I=new Array(a);i(I);var O,B,R,T=new Array(f);function D(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function F(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function N(t){return t<256?E[t]:E[256+(t>>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<<t.bi_valid&65535,U(t,t.bi_buf),t.bi_buf=e>>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function L(t,e,r){P(t,r[2*e],r[2*e+1])}function j(t,e){for(var r=0;r|=1&t,t>>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o))}}function W(t){var e;for(e=0;e<l;e++)t.dyn_ltree[2*e]=0;for(e=0;e<f;e++)t.dyn_dtree[2*e]=0;for(e=0;e<d;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*m]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function M(t){8<t.bi_valid?U(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function H(t,e,r,i){var n=2*e,s=2*r;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[r]}function G(t,e,r){for(var i=t.heap[r],n=r<<1;n<=t.heap_len&&(n<t.heap_len&&H(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!H(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i}function K(t,e,r){var i,n,s,a,o=0;if(0!==t.last_lit)for(;i=t.pending_buf[t.d_buf+2*o]<<8|t.pending_buf[t.d_buf+2*o+1],n=t.pending_buf[t.l_buf+o],o++,0===i?L(t,n,e):(L(t,(s=A[n])+u+1,e),0!==(a=w[s])&&P(t,n-=I[s],a),L(t,s=N(--i),r),0!==(a=k[s])&&P(t,i-=T[s],a)),o<t.last_lit;);L(t,m,e)}function Y(t,e){var r,i,n,s=e.dyn_tree,a=e.stat_desc.static_tree,o=e.stat_desc.has_stree,h=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(t.heap[++t.heap_len]=u=r,t.depth[r]=0):s[2*r+1]=0;for(;t.heap_len<2;)s[2*(n=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=a[2*n+1]);for(e.max_code=u,r=t.heap_len>>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u<i||(t.bl_count[s]++,a=0,c<=i&&(a=d[i-c]),o=h[2*i],t.opt_len+=o*(s+a),f&&(t.static_len+=o*(l[2*i+1]+a)));if(0!==m){do{for(s=p-1;0===t.bl_count[s];)s--;t.bl_count[s]--,t.bl_count[s+1]+=2,t.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(i=t.bl_count[s];0!==i;)u<(n=t.heap[--r])||(h[2*n+1]!==s&&(t.opt_len+=(s-h[2*n+1])*h[2*n],h[2*n+1]=s),i--)}}(t,e),Z(s,u,t.bl_count)}function X(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=a,a=e[2*(i+1)+1],++o<h&&n===a||(o<u?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[2*b]++):o<=10?t.bl_tree[2*v]++:t.bl_tree[2*y]++,s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4))}function V(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),i=0;i<=r;i++)if(n=a,a=e[2*(i+1)+1],!(++o<h&&n===a)){if(o<u)for(;L(t,n,t.bl_tree),0!=--o;);else 0!==n?(n!==s&&(L(t,n,t.bl_tree),o--),L(t,b,t.bl_tree),P(t,o-3,2)):o<=10?(L(t,v,t.bl_tree),P(t,o-3,3)):(L(t,y,t.bl_tree),P(t,o-11,7));s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4)}}i(T);var q=!1;function J(t,e,r,i){P(t,(s<<1)+(i?1:0),3),function(t,e,r,i){M(t),i&&(U(t,r),U(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r,!0)}r._tr_init=function(t){q||(function(){var t,e,r,i,n,s=new Array(g+1);for(i=r=0;i<a-1;i++)for(I[i]=r,t=0;t<1<<w[i];t++)A[r++]=i;for(A[r-1]=i,i=n=0;i<16;i++)for(T[i]=n,t=0;t<1<<k[i];t++)E[n++]=i;for(n>>=7;i<f;i++)for(T[i]=n<<7,t=0;t<1<<k[i]-7;t++)E[256+n++]=i;for(e=0;e<=g;e++)s[e]=0;for(t=0;t<=143;)z[2*t+1]=8,t++,s[8]++;for(;t<=255;)z[2*t+1]=9,t++,s[9]++;for(;t<=279;)z[2*t+1]=7,t++,s[7]++;for(;t<=287;)z[2*t+1]=8,t++,s[8]++;for(Z(z,l+1,s),t=0;t<f;t++)C[2*t+1]=5,C[2*t]=j(t,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,d,p)}(),q=!0),t.l_desc=new F(t.dyn_ltree,O),t.d_desc=new F(t.dyn_dtree,B),t.bl_desc=new F(t.bl_tree,R),t.bi_buf=0,t.bi_valid=0,W(t)},r._tr_stored_block=J,r._tr_flush_block=function(t,e,r,i){var n,s,a=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e<u;e++)if(0!==t.dyn_ltree[2*e])return h;return o}(t)),Y(t,t.l_desc),Y(t,t.d_desc),a=function(t){var e;for(X(t,t.dyn_ltree,t.l_desc.max_code),X(t,t.dyn_dtree,t.d_desc.max_code),Y(t,t.bl_desc),e=d-1;3<=e&&0===t.bl_tree[2*S[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n<i;n++)P(t,t.bl_tree[2*S[n]+1],3);V(t,t.dyn_ltree,e-1),V(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),K(t,t.dyn_ltree,t.dyn_dtree)),W(t),i&&M(t)},r._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(A[r]+u+1)]++,t.dyn_dtree[2*N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{\"../utils/common\":41}],53:[function(t,e,r){\"use strict\";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,e,r){\"use strict\";e.exports=\"function\"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t)}},{}]},{},[10])(10)});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"className\", \"type\", \"tooltip\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nvar propTypes = {\n /**\n * Specify whether the feedback is for valid or invalid fields\n *\n * @type {('valid'|'invalid')}\n */\n type: PropTypes.string,\n\n /** Display feedback as a tooltip. */\n tooltip: PropTypes.bool,\n as: PropTypes.elementType\n};\nvar Feedback = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'valid' : _ref$type,\n _ref$tooltip = _ref.tooltip,\n tooltip = _ref$tooltip === void 0 ? false : _ref$tooltip,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, type + \"-\" + (tooltip ? 'tooltip' : 'feedback'))\n }));\n});\nFeedback.displayName = 'Feedback';\nFeedback.propTypes = propTypes;\nexport default Feedback;","import React from 'react'; // TODO\n\nvar FormContext = /*#__PURE__*/React.createContext({\n controlId: undefined\n});\nexport default FormContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"id\", \"bsPrefix\", \"bsCustomPrefix\", \"className\", \"type\", \"isValid\", \"isInvalid\", \"isStatic\", \"as\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormCheckInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var id = _ref.id,\n bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n className = _ref.className,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'checkbox' : _ref$type,\n _ref$isValid = _ref.isValid,\n isValid = _ref$isValid === void 0 ? false : _ref$isValid,\n _ref$isInvalid = _ref.isInvalid,\n isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,\n isStatic = _ref.isStatic,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'input' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId,\n custom = _useContext.custom;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-control-input'] : [bsPrefix, 'form-check-input'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n type: type,\n id: id || controlId,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid', isStatic && 'position-static')\n }));\n});\nFormCheckInput.displayName = 'FormCheckInput';\nexport default FormCheckInput;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"bsCustomPrefix\", \"className\", \"htmlFor\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormCheckLabel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n className = _ref.className,\n htmlFor = _ref.htmlFor,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId,\n custom = _useContext.custom;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-control-label'] : [bsPrefix, 'form-check-label'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n return /*#__PURE__*/React.createElement(\"label\", _extends({}, props, {\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix)\n }));\n});\nFormCheckLabel.displayName = 'FormCheckLabel';\nexport default FormCheckLabel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"id\", \"bsPrefix\", \"bsCustomPrefix\", \"inline\", \"disabled\", \"isValid\", \"isInvalid\", \"feedbackTooltip\", \"feedback\", \"className\", \"style\", \"title\", \"type\", \"label\", \"children\", \"custom\", \"as\"];\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport React, { useContext, useMemo } from 'react';\nimport Feedback from './Feedback';\nimport FormCheckInput from './FormCheckInput';\nimport FormCheckLabel from './FormCheckLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormCheck = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var id = _ref.id,\n bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n _ref$inline = _ref.inline,\n inline = _ref$inline === void 0 ? false : _ref$inline,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$isValid = _ref.isValid,\n isValid = _ref$isValid === void 0 ? false : _ref$isValid,\n _ref$isInvalid = _ref.isInvalid,\n isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,\n _ref$feedbackTooltip = _ref.feedbackTooltip,\n feedbackTooltip = _ref$feedbackTooltip === void 0 ? false : _ref$feedbackTooltip,\n feedback = _ref.feedback,\n className = _ref.className,\n style = _ref.style,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? '' : _ref$title,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'checkbox' : _ref$type,\n label = _ref.label,\n children = _ref.children,\n propCustom = _ref.custom,\n _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'input' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var custom = type === 'switch' ? true : propCustom;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-control'] : [bsPrefix, 'form-check'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId;\n\n var innerFormContext = useMemo(function () {\n return {\n controlId: id || controlId,\n custom: custom\n };\n }, [controlId, custom, id]);\n var hasLabel = custom || label != null && label !== false && !children;\n var input = /*#__PURE__*/React.createElement(FormCheckInput, _extends({}, props, {\n type: type === 'switch' ? 'checkbox' : type,\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n isStatic: !hasLabel,\n disabled: disabled,\n as: as\n }));\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: innerFormContext\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: style,\n className: classNames(className, bsPrefix, custom && \"custom-\" + type, inline && bsPrefix + \"-inline\")\n }, children || /*#__PURE__*/React.createElement(React.Fragment, null, input, hasLabel && /*#__PURE__*/React.createElement(FormCheckLabel, {\n title: title\n }, label), (isValid || isInvalid) && /*#__PURE__*/React.createElement(Feedback, {\n type: isValid ? 'valid' : 'invalid',\n tooltip: feedbackTooltip\n }, feedback))));\n});\nFormCheck.displayName = 'FormCheck';\nFormCheck.Input = FormCheckInput;\nFormCheck.Label = FormCheckLabel;\nexport default FormCheck;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"id\", \"bsPrefix\", \"bsCustomPrefix\", \"className\", \"isValid\", \"isInvalid\", \"lang\", \"as\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormFileInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var id = _ref.id,\n bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n className = _ref.className,\n isValid = _ref.isValid,\n isInvalid = _ref.isInvalid,\n lang = _ref.lang,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'input' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId,\n custom = _useContext.custom;\n\n var type = 'file';\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-file-input'] : [bsPrefix, 'form-control-file'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n id: id || controlId,\n type: type,\n lang: lang,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid')\n }));\n});\nFormFileInput.displayName = 'FormFileInput';\nexport default FormFileInput;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"bsCustomPrefix\", \"className\", \"htmlFor\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormFileLabel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n className = _ref.className,\n htmlFor = _ref.htmlFor,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId,\n custom = _useContext.custom;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom-file-label'] : [bsPrefix, 'form-file-label'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n return /*#__PURE__*/React.createElement(\"label\", _extends({}, props, {\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix),\n \"data-browse\": props['data-browse']\n }));\n});\nFormFileLabel.displayName = 'FormFileLabel';\nexport default FormFileLabel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"id\", \"bsPrefix\", \"bsCustomPrefix\", \"disabled\", \"isValid\", \"isInvalid\", \"feedbackTooltip\", \"feedback\", \"className\", \"style\", \"label\", \"children\", \"custom\", \"lang\", \"data-browse\", \"as\", \"inputAs\"];\nimport classNames from 'classnames';\nimport React, { useContext, useMemo } from 'react';\nimport all from 'prop-types-extra/lib/all';\nimport Feedback from './Feedback';\nimport FormFileInput from './FormFileInput';\nimport FormFileLabel from './FormFileLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormFile = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var id = _ref.id,\n bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$isValid = _ref.isValid,\n isValid = _ref$isValid === void 0 ? false : _ref$isValid,\n _ref$isInvalid = _ref.isInvalid,\n isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,\n _ref$feedbackTooltip = _ref.feedbackTooltip,\n feedbackTooltip = _ref$feedbackTooltip === void 0 ? false : _ref$feedbackTooltip,\n feedback = _ref.feedback,\n className = _ref.className,\n style = _ref.style,\n label = _ref.label,\n children = _ref.children,\n custom = _ref.custom,\n lang = _ref.lang,\n dataBrowse = _ref['data-browse'],\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n _ref$inputAs = _ref.inputAs,\n inputAs = _ref$inputAs === void 0 ? 'input' : _ref$inputAs,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom'] : [bsPrefix, 'form-file'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n var type = 'file';\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId;\n\n var innerFormContext = useMemo(function () {\n return {\n controlId: id || controlId,\n custom: custom\n };\n }, [controlId, custom, id]);\n var hasLabel = label != null && label !== false && !children;\n var input = /*#__PURE__*/React.createElement(FormFileInput, _extends({}, props, {\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n disabled: disabled,\n as: inputAs,\n lang: lang\n }));\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: innerFormContext\n }, /*#__PURE__*/React.createElement(Component, {\n style: style,\n className: classNames(className, bsPrefix, custom && \"custom-\" + type)\n }, children || /*#__PURE__*/React.createElement(React.Fragment, null, custom ? /*#__PURE__*/React.createElement(React.Fragment, null, input, hasLabel && /*#__PURE__*/React.createElement(FormFileLabel, {\n \"data-browse\": dataBrowse\n }, label)) : /*#__PURE__*/React.createElement(React.Fragment, null, hasLabel && /*#__PURE__*/React.createElement(FormFileLabel, null, label), input), (isValid || isInvalid) && /*#__PURE__*/React.createElement(Feedback, {\n type: isValid ? 'valid' : 'invalid',\n tooltip: feedbackTooltip\n }, feedback))));\n});\nFormFile.displayName = 'FormFile';\nFormFile.Input = FormFileInput;\nFormFile.Label = FormFileLabel;\nexport default FormFile;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"bsCustomPrefix\", \"type\", \"size\", \"htmlSize\", \"id\", \"className\", \"isValid\", \"isInvalid\", \"plaintext\", \"readOnly\", \"custom\", \"as\"];\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport React, { useContext } from 'react';\nimport warning from 'warning';\nimport Feedback from './Feedback';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormControl = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n bsCustomPrefix = _ref.bsCustomPrefix,\n type = _ref.type,\n size = _ref.size,\n htmlSize = _ref.htmlSize,\n id = _ref.id,\n className = _ref.className,\n _ref$isValid = _ref.isValid,\n isValid = _ref$isValid === void 0 ? false : _ref$isValid,\n _ref$isInvalid = _ref.isInvalid,\n isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,\n plaintext = _ref.plaintext,\n readOnly = _ref.readOnly,\n custom = _ref.custom,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'input' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId;\n\n var _ref2 = custom ? [bsCustomPrefix, 'custom'] : [bsPrefix, 'form-control'],\n prefix = _ref2[0],\n defaultPrefix = _ref2[1];\n\n bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);\n var classes;\n\n if (plaintext) {\n var _classes;\n\n classes = (_classes = {}, _classes[bsPrefix + \"-plaintext\"] = true, _classes);\n } else if (type === 'file') {\n var _classes2;\n\n classes = (_classes2 = {}, _classes2[bsPrefix + \"-file\"] = true, _classes2);\n } else if (type === 'range') {\n var _classes3;\n\n classes = (_classes3 = {}, _classes3[bsPrefix + \"-range\"] = true, _classes3);\n } else if (Component === 'select' && custom) {\n var _classes4;\n\n classes = (_classes4 = {}, _classes4[bsPrefix + \"-select\"] = true, _classes4[bsPrefix + \"-select-\" + size] = size, _classes4);\n } else {\n var _classes5;\n\n classes = (_classes5 = {}, _classes5[bsPrefix] = true, _classes5[bsPrefix + \"-\" + size] = size, _classes5);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !id, '`controlId` is ignored on `<FormControl>` when `id` is specified.') : void 0;\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n type: type,\n size: htmlSize,\n ref: ref,\n readOnly: readOnly,\n id: id || controlId,\n className: classNames(className, classes, isValid && \"is-valid\", isInvalid && \"is-invalid\")\n }));\n});\nFormControl.displayName = 'FormControl';\nexport default Object.assign(FormControl, {\n Feedback: Feedback\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"children\", \"controlId\", \"as\"];\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormGroup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n controlId = _ref.controlId,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-group');\n var context = useMemo(function () {\n return {\n controlId: controlId\n };\n }, [controlId]);\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, bsPrefix)\n }), children));\n});\nFormGroup.displayName = 'FormGroup';\nexport default FormGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];\nvar Col = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'col');\n var spans = [];\n var classes = [];\n DEVICE_SIZES.forEach(function (brkPoint) {\n var propValue = props[brkPoint];\n delete props[brkPoint];\n var span;\n var offset;\n var order;\n\n if (typeof propValue === 'object' && propValue != null) {\n var _propValue$span = propValue.span;\n span = _propValue$span === void 0 ? true : _propValue$span;\n offset = propValue.offset;\n order = propValue.order;\n } else {\n span = propValue;\n }\n\n var infix = brkPoint !== 'xs' ? \"-\" + brkPoint : '';\n if (span) spans.push(span === true ? \"\" + prefix + infix : \"\" + prefix + infix + \"-\" + span);\n if (order != null) classes.push(\"order\" + infix + \"-\" + order);\n if (offset != null) classes.push(\"offset\" + infix + \"-\" + offset);\n });\n\n if (!spans.length) {\n spans.push(prefix); // plain 'col'\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames.apply(void 0, [className].concat(spans, classes))\n }));\n});\nCol.displayName = 'Col';\nexport default Col;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"bsPrefix\", \"column\", \"srOnly\", \"className\", \"htmlFor\"];\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport warning from 'warning';\nimport Col from './Col';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar defaultProps = {\n column: false,\n srOnly: false\n};\nvar FormLabel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'label' : _ref$as,\n bsPrefix = _ref.bsPrefix,\n column = _ref.column,\n srOnly = _ref.srOnly,\n className = _ref.className,\n htmlFor = _ref.htmlFor,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _useContext = useContext(FormContext),\n controlId = _useContext.controlId;\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');\n var columnClass = 'col-form-label';\n if (typeof column === 'string') columnClass = columnClass + \" \" + columnClass + \"-\" + column;\n var classes = classNames(className, bsPrefix, srOnly && 'sr-only', column && columnClass);\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !htmlFor, '`controlId` is ignored on `<FormLabel>` when `htmlFor` is specified.') : void 0;\n htmlFor = htmlFor || controlId;\n if (column) return /*#__PURE__*/React.createElement(Col, _extends({\n ref: ref,\n as: \"label\",\n className: classes,\n htmlFor: htmlFor\n }, props));\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n React.createElement(Component, _extends({\n ref: ref,\n className: classes,\n htmlFor: htmlFor\n }, props))\n );\n});\nFormLabel.displayName = 'FormLabel';\nFormLabel.defaultProps = defaultProps;\nexport default FormLabel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"as\", \"muted\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar FormText = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'small' : _ref$as,\n muted = _ref.muted,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, bsPrefix, muted && 'text-muted')\n }));\n});\nFormText.displayName = 'FormText';\nexport default FormText;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport FormCheck from './FormCheck';\nvar Switch = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(FormCheck, _extends({}, props, {\n ref: ref,\n type: \"switch\"\n }));\n});\nSwitch.displayName = 'Switch';\nSwitch.Input = FormCheck.Input;\nSwitch.Label = FormCheck.Label;\nexport default Switch;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"inline\", \"className\", \"validated\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport FormCheck from './FormCheck';\nimport FormFile from './FormFile';\nimport FormControl from './FormControl';\nimport FormGroup from './FormGroup';\nimport FormLabel from './FormLabel';\nimport FormText from './FormText';\nimport Switch from './Switch';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport createWithBsPrefix from './createWithBsPrefix';\nvar FormRow = createWithBsPrefix('form-row');\nvar defaultProps = {\n inline: false\n};\nvar FormImpl = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n inline = _ref.inline,\n className = _ref.className,\n validated = _ref.validated,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'form' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form');\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, validated && 'was-validated', inline && bsPrefix + \"-inline\")\n }));\n});\nFormImpl.displayName = 'Form';\nFormImpl.defaultProps = defaultProps;\nFormImpl.Row = FormRow;\nFormImpl.Group = FormGroup;\nFormImpl.Control = FormControl;\nFormImpl.Check = FormCheck;\nFormImpl.File = FormFile;\nFormImpl.Switch = Switch;\nFormImpl.Label = FormLabel;\nFormImpl.Text = FormText;\nexport default FormImpl;","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\n * @returns A string with the first letter capitalized.\n */\nexport const capitalize = <W extends string>(word: W) =>\n `${word[0].toUpperCase()}${word.substring(1)}` as Capitalize<W>\n","import { capitalize } from './capitalize'\n\n/**\n * Given two strings representing a type and variant, returns a concatenated\n * string where the variant has been capitalized.\n *\n * @example\n * // returns 'typeVariant'\n * variant('type', 'variant')\n *\n * @returns The two strings concatenated into one, where the second input string\n * has been capitalized.\n */\nexport const variant = <T extends string, V extends string>(\n type: T,\n variantOf: V\n) =>\n (variantOf\n ? `${type}${capitalize(variantOf)}`\n : type) as `${T}${Capitalize<V>}`\n","import objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/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}","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 'whatwg-fetch'\nimport 'abortcontroller-polyfill'\nimport {\n ExtendedHttpRequest,\n HttpResponse,\n HttpMethod,\n AbortableHttpRequest,\n} from '../types'\nimport { FetchRestHandler } from './FetchRestHandler'\n\n/*\n\n For Browser only (extends the abstract FetchRestHandler using a Browser-only Fetch library).\n\n Fetch API\n (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n NOTE: The Promise returned from fetch() won’t reject on HTTP error status even if the response\n is an HTTP 404 or 500. Instead, it will resolve normally (with ok status set to false),\n and it will only reject on network failure or if anything prevented the request from completing.\n\n The HttpHandler interface which this class implements has the same approach (see the HttpHandler\n interface for details.\n\n*/\n\nexport class BrowserFetchRestHandler extends FetchRestHandler {\n /*\n\n sendRequest function is specific to the environment (browser vs. node) because the libraries are different and\n some options are only relevant to browser.\n\n */\n\n protected async sendRequest(\n request: Omit<ExtendedHttpRequest, 'method'>,\n httpMethod: HttpMethod\n ): Promise<HttpResponse> {\n ;(request as ExtendedHttpRequest).method = httpMethod\n const controller = new AbortController()\n const abortSignal = controller.signal\n\n const options: RequestInit = {\n cache: 'no-store',\n method: httpMethod,\n mode: 'cors',\n signal: abortSignal,\n }\n if (request.headers) {\n options.headers = request.headers\n }\n ;(request as AbortableHttpRequest).abort = () => controller.abort()\n\n options.body = this.createRequestBody(\n request.data as Record<string, unknown>\n )\n\n const fetchResponse = await fetch(request.url, options)\n const httpResponse = this.createResponse(\n request as ExtendedHttpRequest,\n fetchResponse.headers,\n fetchResponse.status\n )\n if (this.isJsonResponse(httpResponse)) {\n httpResponse.data = await fetchResponse.json()\n httpResponse.json = httpResponse.data\n } else if (this.isTextResponse(httpResponse)) {\n httpResponse.data = await fetchResponse.text()\n }\n return httpResponse\n }\n}\n","import {\n ExtendedHttpRequest,\n HttpResponse,\n HttpHandler,\n HttpMethod,\n HttpResponseHeaders,\n} from '../types'\n\n/*\n\n Abstract Rest handler which uses the Fetch API\n (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n The libraries for supporting Fetch are different on Node vs. Browser (isomorphic libraries are available\n but are not as mature/supported) so this abstract class is extended by a browser and node implementation).\n\n NOTE: The Promise returned from fetch() won’t reject on HTTP error status even if the response\n is an HTTP 404 or 500. Instead, it will resolve normally (with ok status set to false),\n and it will only reject on network failure or if anything prevented the request from completing.\n\n The HttpHandler interface which this class implements has the same approach (see the HttpHandler\n interface for details.\n\n*/\n\nexport abstract class FetchRestHandler implements HttpHandler {\n /*\n\n Public (HttpHandler API)\n\n */\n\n public async get(\n request: Omit<ExtendedHttpRequest, 'method'>\n ): Promise<HttpResponse> {\n return this.sendRequest(request, 'GET')\n }\n\n public async put(\n request: Omit<ExtendedHttpRequest, 'method'>\n ): Promise<HttpResponse> {\n return this.sendRequest(request, 'PUT')\n }\n\n public async post(\n request: Omit<ExtendedHttpRequest, 'method'>\n ): Promise<HttpResponse> {\n return this.sendRequest(request, 'POST')\n }\n\n public async delete(\n request: Omit<ExtendedHttpRequest, 'method'>\n ): Promise<HttpResponse> {\n return this.sendRequest(request, 'DELETE')\n }\n\n /*\n\n Abstract (must be implemented by subclasses)\n\n */\n\n protected abstract sendRequest(\n request: Omit<ExtendedHttpRequest, 'method'>,\n httpMethod: HttpMethod\n ): Promise<HttpResponse>\n\n /*\n\n Protected (can be used by subclasses)\n\n */\n\n protected createRequestBody(data: Record<string, unknown>) {\n if (data) {\n return typeof data === 'string' ? data : JSON.stringify(data)\n }\n return undefined\n }\n\n protected createResponse(\n request: ExtendedHttpRequest,\n headers: HttpResponseHeaders,\n status: number\n ) {\n const is2XX = status >= 200 && status < 300\n const httpResponse: HttpResponse = {\n contentType: headers.get('Content-Type') || '',\n request: request as ExtendedHttpRequest,\n status,\n is2XX,\n isOK: is2XX || status === 304,\n headers,\n elapsedMilliseconds: new Date().getTime() - request.beginTime.getTime(),\n }\n return httpResponse\n }\n\n protected isJsonResponse(response: HttpResponse) {\n return response.contentType.includes('application/json')\n }\n\n protected isTextResponse(response: HttpResponse) {\n return response.contentType.startsWith('text/')\n }\n}\n","const Sizes = {\n ExtraSmall: 544,\n Small: 768,\n Medium: 980,\n Large: 1200,\n ExtraLarge: 1880,\n} as const\n\n/**\n * @param max - The maximum screen width to be represented in pixels (exclusive).\n *\n * @returns A CSS media query containing max-width.\n */\nconst lessThan = (max: number): string => {\n const upperBound = max - 1\n return `@media screen and (max-width: ${upperBound}px)`\n}\n\n/**\n * @param min - The minimum screen width to be represented in pixels (inclusive).\n *\n * @returns A CSS media query containing min-width.\n */\nconst greaterThan = (min: number): string =>\n `@media screen and (min-width: ${min}px)`\n\n/**\n * @param min The minimum screen width to be represented in pixels (inclusive).\n * @param max The maximum screen width to be represented in pixels (exclusive).\n *\n * @returns A CSS media query containing min-width and max-width.\n */\nconst inBetween = (min: number, max: number): string => {\n const upperBound = max - 1\n return `@media screen and (min-width: ${min}px) and (max-width: ${upperBound}px)`\n}\n\nexport const breakpoints = {\n Sizes,\n lessThan,\n greaterThan,\n inBetween,\n}\n","import PropTypes from 'prop-types'\n\n/**\n * Use this to short-circuit any prop types that are not server-safe.\n *\n * @example\n * anyForSSR() || PropTypes.instanceOf(HTMLElement)\n */\nexport const anyForSSR = () =>\n typeof window === 'undefined' ? PropTypes.any : undefined\n\n/**\n * A custom PropType for an instance of an Element.\n *\n * The Web API Element interface is not available for consumers that render React\n * on the server. As a fallback we only check that it's an object.\n */\nconst ElementPropType =\n typeof Element === 'undefined'\n ? PropTypes.instanceOf(Object)\n : PropTypes.instanceOf(Element)\n\n/**\n * A custom PropType for an instance of a React ref object.\n */\nconst ReactRefObjectPropType = PropTypes.shape({\n current: ElementPropType,\n})\n\n/**\n * A custom PropType for an instance of a React ref.\n *\n * It handles both types that can be provided for a React ref:\n * - a React ref object\n * - a ref callback function\n */\nconst ReactRefPropType = PropTypes.oneOfType([\n ReactRefObjectPropType,\n PropTypes.func,\n])\n\nexport const CustomPropTypes = {\n Element: ElementPropType,\n ReactRef: ReactRefPropType,\n ReactRefObject: ReactRefObjectPropType,\n}\n","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _getIteratorMethod from \"@babel/runtime-corejs3/core-js/get-iterator-method\";\nimport _Array$isArray from \"@babel/runtime-corejs3/core-js/array/is-array\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof _Symbol !== \"undefined\" && _getIteratorMethod(o) || o[\"@@iterator\"];\n\n if (!it) {\n if (_Array$isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import consoleError from './consoleError'\n\nconst requiredPropMessage = ({ component, prop1, prop2 }) =>\n consoleError(\n `${component} - At least one of the props '${prop1}' or '${prop2}' are required, but neither prop received a value.`\n )\n\nexport default requiredPropMessage\n","import { OliveImages } from '@olive/images'\n\nconst oliveImages = {\n imgSrc: OliveImages(),\n}\nexport default oliveImages\n","import { keyframes } from '@emotion/core'\nimport { Tokens } from '../../theming/types'\n\nconst displayImage = keyframes`\n 0% {\n opacity: 0;\n transform: scale(0)\n }\n 100% {\n opacity: 1;\n transform: scale(1)\n }\n`\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n Image: {\n border: '0',\n maxWidth: '100%',\n },\n\n iconSize: {\n width: tokens.icon.defaultSize,\n height: tokens.icon.defaultSize,\n },\n\n showImage: {\n animation: `${displayImage} 0.1s linear`,\n },\n\n hideImage: {\n display: 'none',\n height: 0,\n },\n\n hidePlaceholder: {\n display: 'none',\n },\n\n objectFit: {\n width: '100%',\n height: '100%',\n },\n\n contain: {\n objectFit: 'contain',\n },\n\n cover: {\n objectFit: 'cover',\n },\n\n fill: {\n objectFit: 'fill',\n },\n\n none: {\n objectFit: 'none',\n },\n\n 'scale-down': {\n objectFit: 'scale-down',\n },\n } as const\n}\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { dataProps, mergeRefs, useEventListener } from '@ds/react-utils'\nimport { logErrorOnce } from '@ds/logging'\nimport { version as OliveImagesVersion } from '@olive/images'\n\nimport { consoleWarn, requiredPropMessage } from '../../logging'\nimport { oliveImages } from '../../modules'\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nfunction Image(props) {\n const {\n alt,\n kind,\n forwardedRef,\n objectFit,\n objectPosition,\n placeholder,\n src,\n ...restProps\n } = props\n const styles = useThemeStyles(baseStyles, 'Image')\n\n if (!(kind || src)) {\n requiredPropMessage({\n component: 'Image',\n prop1: 'kind',\n prop2: 'src',\n })\n }\n\n if (kind) {\n consoleWarn(`\n The prop \"kind\" has been deprecated in the Image component, and will be removed in a future release.\n Use the @olive/images package directly to get the URL to pass into the \"src\" prop.\n `)\n }\n\n // Note: Although this is using `ref` in naming updating will trigger a re-render\n const [imageRef, setImageRef] = useState()\n const [isImageLoaded, setIsImageLoaded] = useState(false)\n\n const handleImageLoaded = () => {\n if (!isImageLoaded) {\n setIsImageLoaded(true)\n }\n }\n\n useEventListener('load', handleImageLoaded, imageRef)\n\n const imageStyles = [\n styles.Image,\n objectFit && [styles.objectFit, styles[objectFit], { objectPosition }],\n placeholder && !isImageLoaded && styles.hideImage,\n placeholder && isImageLoaded && styles.showImage,\n ]\n\n const placeholderStyles = [isImageLoaded && styles.hidePlaceholder]\n\n const PlaceholderNode = placeholder && (\n <span css={placeholderStyles}>\n {React.cloneElement(placeholder, { alt })}\n </span>\n )\n\n const onError = () =>\n logErrorOnce(\n {\n message: `Error loading image ${src || oliveImages.imgSrc[kind]}`,\n meta: { '@olive/images version': OliveImagesVersion },\n },\n 'Image'\n )\n\n return (\n <>\n {PlaceholderNode}\n <img\n {...dataProps(restProps)}\n alt={alt}\n css={imageStyles}\n onError={onError}\n ref={mergeRefs(setImageRef, forwardedRef)}\n src={src || oliveImages.imgSrc[kind]}\n />\n </>\n )\n}\n\nImage.kinds = Object.keys(oliveImages.imgSrc).sort()\n\nImage.objectFitValues = ['contain', 'cover', 'fill', 'none', 'scale-down']\nImage.objectPositionValues = ['bottom', 'center', 'top']\n\nImage.propTypes = {\n /**\n * The alternative text for the 'alt' attribute.\n */\n alt: PropTypes.string.isRequired,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * A React ref to assign to the `<img>` element\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * The image to display.\n *\n * (!) At least one of the props 'kind' or 'src' is required. If both are\n * provided, the value for 'src' will be used.\n */\n kind: PropTypes.oneOf(Image.kinds),\n\n /**\n * The CSS object-fit property to specify how an Image should be resized to fit its container.\n *\n * - 'contain': scaled to maintain its aspect ratio while fitting within the content box.\n * - 'cover': content is sized to maintain aspect ratio while filling the entire content box.\n * - 'fill' : content is sized to fill the element's content box.\n * - 'none' : The replaced content is not resized.\n * - 'scaleDown' : The content is sized as if none or contain were specified.\n */\n objectFit: PropTypes.oneOf(Image.objectFitValues),\n\n /**\n * The vertical position to place the image when `objectFit` is provided.\n */\n objectPosition: PropTypes.oneOf(Image.objectPositionValues),\n\n /**\n * The placeholder accepts OliveSvg component to display image in following conditions.\n *\n * - `<img>` src fails to load\n * - `<img>` src takes time to fetch from http\n * - Until `<img>` loads on DOM\n * - It will replaced by `<img>` on a successful load of `<img>`\n */\n placeholder: PropTypes.node,\n\n /**\n * The URL of the image to display.\n *\n * (!) At least one of the props 'kind' or 'src' is required. If both are\n * provided, the value for 'src' will be used.\n */\n src: PropTypes.string,\n}\n\nImage.defaultProps = {\n 'data-.*': undefined,\n forwardedRef: undefined,\n kind: undefined,\n objectFit: undefined,\n objectPosition: undefined,\n placeholder: undefined,\n src: undefined,\n}\n\nImage.displayName = 'Image'\n\nexport default Image\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { allValues } from '@olive/icons'\nimport { OliveImages } from '@olive/images'\n\nimport Icon from '../Icon'\nimport Image from '../Image'\n\n/**\n * Run the OliveImages() function with no args to get a key/value object\n * of all the imge keys and their CDN URLs\n */\nconst imageSourceUrls = OliveImages()\n\nexport const IconKinds = allValues\nexport const ImageKinds = Object.keys(imageSourceUrls).sort()\n\n/**\n * Remap the image kinds to have a prefix to be used in the component's icon prop\n */\nconst IMAGE_ICON_PREFIX = 'IMAGE.'\nconst PrefixedImageKinds = ImageKinds.map(\n (image) => `${IMAGE_ICON_PREFIX}${image}`\n)\n\n/**\n * Because we do this prefix thing, test if the icon kind used in a component\n * is actually an image kind with prefix\n */\nconst IsImageKind = (kind) => kind && RegExp(`^${IMAGE_ICON_PREFIX}`).test(kind)\n\n/**\n * Since we do this prefix thing, this is a helper function to remove the prefix\n * and then get the right URL\n */\nconst GetImageSource = (kind) =>\n imageSourceUrls[kind.replace(IMAGE_ICON_PREFIX, '')]\n\n/**\n * Export a combined array of icons kinds, and prefixed image kinds,\n * to be used for the icon prop in components.\n *\n * This is absolutely not ideal, and eventually we will replace\n * the icon/iconPosition props with startElement/endElement props\n */\nexport const IconWithImageKinds = [...IconKinds, ...PrefixedImageKinds]\n\n/**\n * Export a helper React component to take care of this logic\n */\nexport const IconOrImage = (props) => {\n const { kind } = props\n\n return IsImageKind(kind) ? (\n <Image alt=\"\" src={GetImageSource(kind)} />\n ) : (\n <Icon kind={kind} />\n )\n}\n\nIconOrImage.propTypes = {\n kind: PropTypes.oneOf(IconWithImageKinds).isRequired,\n}\n","import { keyframes } from '@emotion/core'\n\nimport { Tokens } from '../../theming/types'\n\nimport { styles } from '../../utilities'\nimport colors from '../../theming/docusign-themes/olive/colors'\nimport { CreateButtonCss, CreateFocusCss } from '../../styles'\nimport fontFamilies from '../../theming/docusign-themes/olive/fontFamilies'\n\nconst spin = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n Button: {\n default: {\n ...tokens.typography.button,\n alignItems: 'center',\n borderRadius: '2px',\n borderColor: 'transparent',\n borderStyle: 'solid',\n borderWidth: '1px',\n color: colors.black,\n cursor: 'pointer',\n display: 'inline-flex',\n fontFamily: fontFamilies.MavenPro,\n justifyContent: 'center',\n letterSpacing: '0.66px',\n margin: 0,\n minHeight: tokens.button.defaultSize,\n overflow: 'visible',\n padding: '4px 14px',\n position: 'relative',\n textAlign: 'center',\n textDecoration: 'none',\n textTransform: 'uppercase',\n transitionProperty: 'background-color, border-color, box-shadow, color',\n transitionDuration: '0.1s',\n transitionTimingFunction: 'cubic-bezier(0.33, 0, 0.67, 1)',\n verticalAlign: 'middle',\n\n '&:lang(ja), &:lang(ko), &:lang(zh)': {\n whiteSpace: 'nowrap',\n },\n\n '& img': {\n height: '16px',\n },\n\n '& svg': {\n fill: 'currentColor',\n transition: 'fill 0.2s ease',\n },\n\n '&:hover': {\n svg: {\n fill: 'currentcolor',\n },\n },\n\n ...CreateFocusCss(tokens.focus.outer),\n\n '&:disabled, &:disabled:hover': {\n cursor: 'not-allowed',\n },\n },\n\n disabled: {\n '&:hover': {\n cursor: 'not-allowed',\n },\n },\n\n groupLeft: {\n borderRadius: '2px 0px 0px 2px',\n borderRight: 'none',\n\n ...CreateFocusCss({\n zIndex: 1,\n }),\n },\n\n groupMiddle: {\n borderRadius: 0,\n borderRight: 'none',\n\n ...CreateFocusCss({\n zIndex: 1,\n }),\n },\n\n groupRight: {\n borderRadius: '0px 2px 2px 0px',\n\n ...CreateFocusCss({\n zIndex: 1,\n }),\n },\n\n main: CreateButtonCss(tokens.button.main),\n\n primary: CreateButtonCss(tokens.button.primary),\n\n secondary: CreateButtonCss(tokens.button.secondary),\n\n tertiary: CreateButtonCss(tokens.button.tertiary),\n\n danger: CreateButtonCss(tokens.button.danger),\n\n inverted: {\n ...CreateFocusCss({\n outlineColor: colors.white,\n }),\n\n primary: {\n backgroundColor: colors.white,\n borderColor: colors.white,\n color: colors.black,\n\n '& svg': {\n fill: colors.black,\n },\n\n '&:hover': {\n backgroundColor: 'transparent',\n borderColor: colors.white,\n color: colors.white,\n\n '& svg': {\n fill: colors.white,\n },\n },\n\n '&:active': {\n opacity: 0.7,\n },\n\n '&:disabled, &:disabled:hover': {\n opacity: 0.3,\n },\n },\n\n secondary: {\n backgroundColor: 'transparent',\n borderColor: colors.white,\n color: colors.white,\n\n '& svg': {\n fill: colors.white,\n },\n\n '&:hover': {\n backgroundColor: colors.white,\n color: colors.black,\n\n '& svg': {\n fill: colors.gray8,\n },\n },\n\n '&:active': {\n opacity: 0.7,\n },\n\n '&:disabled, &:disabled:hover': {\n opacity: 0.4,\n },\n },\n\n tertiary: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n color: colors.white,\n\n '& svg': {\n fill: colors.white,\n },\n\n '&:hover': {\n borderColor: colors.white,\n color: colors.white,\n transition: `\n background-color 0.2s ease,\n border 0.2s ease,\n box-shadow 0.2s ease,\n color 0.2s ease\n `,\n\n '& svg': {\n fill: colors.white,\n },\n },\n\n '&:active, &[aria-expanded=\"true\"]': {\n opacity: 0.7,\n },\n\n '&:disabled, &:disabled:hover': {\n opacity: 0.4,\n },\n },\n },\n\n sizeSmall: {\n fontSize: '11px',\n minHeight: '22px',\n minWidth: '22px',\n padding: '1px 10px',\n },\n\n sizeMedium: {\n fontSize: '12px',\n minHeight: tokens.button.defaultSize,\n minWidth: tokens.button.defaultSize,\n padding: '4px 14px',\n },\n\n sizeLarge: {\n fontSize: '13px',\n minHeight: '34px',\n minWidth: '34px',\n padding: '7px 18px',\n },\n\n sizeXlarge: {\n fontSize: '13px',\n minHeight: '40px',\n minWidth: '40px',\n padding: '10px 20px',\n },\n\n round: {\n borderRadius: '50%',\n boxShadow: tokens.elevation.low,\n height: '48px',\n minHeight: '48px',\n padding: 0,\n width: '48px',\n\n '&:hover': {\n boxShadow: tokens.elevation.medium,\n },\n },\n\n fullWidth: {\n width: '100%',\n },\n\n text: {\n pointerEvents: 'none',\n },\n },\n\n Icon: {\n default: {\n lineHeight: '0.66px',\n pointerEvents: 'none',\n },\n\n beforeText: {\n marginLeft: '-4px',\n marginRight: '6px',\n },\n\n afterText: {\n marginLeft: '6px',\n marginRight: '-4px',\n },\n\n round: {\n margin: 0,\n },\n\n hideText: {\n margin: 0,\n },\n },\n\n menuTrigger: {\n paddingRight: '6px',\n },\n\n caret: {\n display: 'inline-flex',\n marginLeft: '2px',\n },\n\n /**\n * 1. We set height: 0 here to address a flex bug in IE11.\n * Since we are always setting a min-height on buttons, this should not\n * have any effect on the button itself.\n * This is not an ideal solution and is intended as a temporary fix.\n */\n hideText: {\n height: 0 /* 1 */,\n padding: 0,\n },\n\n pill: {\n borderRadius: '20px',\n },\n\n hidden: styles.visuallyHidden,\n\n fileInput: {\n input: {\n ...styles.visuallyHidden,\n\n '&:focus + label': tokens.focus.outer,\n },\n },\n\n loadingSpinner: {\n animation: `${spin} 1s infinite linear`,\n borderRadius: '100%',\n borderStyle: 'solid',\n borderTopColor: 'transparent',\n borderWidth: '2px',\n display: 'inline-block',\n height: '14px',\n marginRight: '8px',\n verticalAlign: 'middle',\n width: '14px',\n },\n } as const\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ariaProps, dataProps, onProps } from '@ds/react-utils'\n\nimport { requiredPropMessage, consoleWarn, warnDeprecated } from '../../logging'\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\nimport { conditionalTag, variant } from '../../utilities'\n\nimport { IconOrImage, IconWithImageKinds } from '../IconOrImage'\nimport Caret from '../../internal/components/Caret'\n\nimport baseStyles from './styles'\n\nexport const ButtonIcons = IconWithImageKinds\nexport const ButtonIconPositions = ['beforeText', 'afterText']\nexport const ButtonKinds = [\n 'main',\n 'primary',\n 'secondary',\n 'tertiary',\n 'danger',\n]\nexport const ButtonSizes = ['xlarge', 'large', 'medium', 'small']\nexport const ButtonTargets = ['_blank', '_parent', '_self', '_top']\nexport const ButtonTypes = ['button', 'submit', 'reset']\n\n/**\n * Buttons give users a simple and direct way to take an action.\n */\nfunction Button(props) {\n const {\n accessibilityText,\n active,\n disabled,\n forwardedRef,\n fullWidth,\n hideTrigger,\n href,\n icon,\n iconPosition,\n inverted,\n kind,\n loading,\n onClick,\n pill,\n menuTrigger,\n rel,\n role,\n size,\n target,\n text,\n type,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'Button')\n\n if (inverted) {\n warnDeprecated('Button [inverted]', 'InvertedButton', {\n story: 'components-invertedbutton--default',\n })\n // Don't return the InvertedButton component just yet. Let's wait to get some feedback to make sure it's not missing anything.\n // return <InvertedButton {...props} />\n }\n\n if (!(text || accessibilityText)) {\n requiredPropMessage({\n component: 'Button',\n prop1: 'text',\n prop2: 'accessibilityText',\n })\n }\n\n if (loading && icon) {\n consoleWarn(`\n When using a button component, both the loading and icon props cannot\n be used at the same time. The icon prop will take precendence.\n `)\n }\n\n const sizeVariant = variant('size', size)\n\n const activeStyles = active && styles.Button[kind].active\n const groupLeftStyles = restProps.groupLeft && styles.Button.groupLeft\n const groupMiddleStyles = restProps.groupMiddle && {\n ...styles.Button.groupMiddle,\n ...styles.Button.groupNotFirst,\n }\n const groupRightStyles = restProps.groupRight && {\n ...styles.Button.groupRight,\n ...styles.Button.groupNotFirst,\n }\n\n const invertedStyles = inverted && [\n styles.Button.inverted,\n styles.Button.inverted[kind],\n ]\n\n const pillStyles = pill && styles.pill\n const roundStyles = restProps.round && styles.Button.round\n const triggerStyles = menuTrigger &&\n !hideTrigger && [styles.menuTrigger, styles.Button[kind].menuTrigger]\n const textStyles = !text && styles.hideText\n const iconButtonStyles = icon && styles.iconButton?.[iconPosition]\n\n const buttonStyles = [\n styles.Button.default,\n styles.Button[kind].default,\n styles.Button[sizeVariant],\n activeStyles,\n pillStyles,\n roundStyles,\n iconButtonStyles,\n // For CSS specificity, triggerStyles needs to come after Icon styles for buttons that have both an Icon and MenuTrigger.\n triggerStyles,\n invertedStyles,\n textStyles,\n groupLeftStyles,\n groupMiddleStyles,\n groupRightStyles,\n ]\n\n const iconStyles = [\n styles.Icon.default,\n styles.Icon[iconPosition],\n restProps.round && styles.Icon.round,\n !text && styles.Icon.hideText,\n ]\n\n const IconNode = icon && (\n <span css={iconStyles}>\n <IconOrImage kind={icon} />\n </span>\n )\n\n const iconBefore = iconPosition === 'beforeText' && IconNode\n const iconAfter = iconPosition === 'afterText' && IconNode\n\n const caret = menuTrigger && !hideTrigger && (\n <span css={styles.caret}>\n <Caret disabled={disabled} />\n </span>\n )\n\n const textHiddenStyles = [\n styles.Button.text,\n restProps.round && styles.hidden,\n ]\n\n const textSpan = text && (\n <span\n {...(accessibilityText && { 'aria-hidden': 'true' })}\n css={textHiddenStyles}\n >\n {text}\n </span>\n )\n\n const accessibilityTextClass = styles.hidden\n\n const accessibilityTextSpan = accessibilityText && (\n <span css={accessibilityTextClass}>{accessibilityText}</span>\n )\n\n const buttonText = (\n <>\n {textSpan}\n {accessibilityTextSpan}\n </>\n )\n\n const fullWidthStyle = fullWidth ? styles.Button.fullWidth : null\n\n const spinner = loading && !icon && <span css={styles.loadingSpinner} />\n\n const [TagName, TagAttributes] = conditionalTag({\n disabled,\n href,\n onClick,\n rel,\n target,\n type,\n })\n\n const buttonAriaProps = ariaProps(restProps)\n const additionalAttributes = !href && {\n 'aria-haspopup': menuTrigger || buttonAriaProps['aria-haspopup'],\n 'aria-expanded': restProps.expanded || buttonAriaProps['aria-expanded'],\n }\n const buttonHelperClasses = 'olv-button olv-ignore-transform'\n\n if (restProps.fileInput) {\n const { accept, id, multiple, onChange } = restProps\n\n const labelStyles = [\n buttonStyles,\n disabled && styles.Button.disabled,\n disabled && styles.Button[kind].disabled,\n ]\n\n return (\n <>\n <input\n {...dataProps(restProps)}\n accept={accept}\n css={styles.fileInput.input}\n disabled={disabled}\n id={id}\n multiple={multiple}\n onChange={onChange}\n onClick={onClick}\n type=\"file\"\n />\n <label\n {...onProps(restProps)}\n className={buttonHelperClasses}\n css={labelStyles}\n htmlFor={id}\n ref={forwardedRef}\n >\n {iconBefore}\n {buttonText}\n {iconAfter}\n </label>\n </>\n )\n }\n\n return (\n <TagName\n {...ariaProps(restProps)}\n {...dataProps(restProps)}\n {...onProps(restProps)}\n {...TagAttributes}\n {...additionalAttributes}\n css={buttonStyles}\n className={buttonHelperClasses}\n onClick={onClick}\n ref={forwardedRef}\n role={role}\n style={fullWidthStyle}\n >\n {iconBefore}\n {spinner}\n {buttonText}\n {iconAfter}\n {caret}\n </TagName>\n )\n}\n\nButton.icons = ButtonIcons\nButton.iconPositions = ButtonIconPositions\nButton.kinds = ButtonKinds\nButton.sizes = ButtonSizes\nButton.targets = ButtonTargets\nButton.types = ButtonTypes\n\nButton.propTypes = {\n /**\n * The text to present to assistive devices in order to identify the Button.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n accessibilityText: PropTypes.string,\n\n /**\n * Manually applies an active state to the button style.\n */\n active: PropTypes.bool,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Applies the 'disabled' attribute.\n */\n disabled: PropTypes.bool,\n\n /**\n * A React ref to assign to the HTML node representing the Button element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Forces the Button to fill the full width of its container.\n *\n * Note that other styles (height, padding, etc.) are still defined by the\n * value of the `size` prop.\n */\n fullWidth: PropTypes.bool,\n\n /**\n * Hides the \"down arrow icon\" that is automatically applied when a Button\n * is passed as the value of the 'trigger' prop of a Menu element.\n */\n hideTrigger: PropTypes.bool,\n\n /**\n * URL for navigating. If a URL is supplied it renders as an anchor element, if not,\n * a button element.\n */\n href: PropTypes.string,\n\n /**\n * The Icon to show inside the Button.\n */\n icon: PropTypes.oneOf(ButtonIcons),\n\n /**\n * Position the supplied icon before or after the Button text.\n */\n iconPosition: PropTypes.oneOf(ButtonIconPositions),\n\n /**\n * Inverts the Button colors (for an applicable Button.kind).\n */\n inverted: PropTypes.bool,\n\n /**\n * The kind of the Button.\n */\n kind: PropTypes.oneOf(ButtonKinds),\n\n /**\n * Display a loading indicator in the button. Note: cannot be used with an additional icon.\n */\n loading: PropTypes.bool,\n\n /**\n * Displays a \"down arrow icon\" inside the Button (placed to the right of\n * any text that is present). Use this prop when clicking the Button will\n * display a menu beneath it.\n *\n * (!) Applying this prop will also add the HTML attribute aria-haspopup=\"true\"\n * to the rendered button element.\n */\n menuTrigger: PropTypes.bool,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n\n /**\n * Display the Button with rounded ends (i.e. \"pill\" shaped).\n */\n pill: PropTypes.bool,\n\n /**\n * The relationship of the linked URL of an anchor as space-separated link types.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n */\n rel: PropTypes.string,\n\n /**\n * The aria role to be added to the Button\n */\n role: PropTypes.string,\n\n /**\n * The size of the Button.\n */\n size: PropTypes.oneOf(ButtonSizes),\n\n /**\n * The HTML link target to use when an href is given.\n */\n target: PropTypes.oneOf(ButtonTargets),\n\n /**\n * The text to be displayed inside of the Button.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n text: PropTypes.string,\n\n /**\n * The HTML 'type' attribute to apply to the rendered button element.\n */\n type: PropTypes.oneOf(ButtonTypes),\n}\n\nButton.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n accessibilityText: '',\n active: false,\n disabled: false,\n forwardedRef: undefined,\n fullWidth: false,\n hideTrigger: false,\n href: '',\n icon: undefined,\n iconPosition: 'beforeText',\n inverted: false,\n kind: 'secondary',\n loading: false,\n menuTrigger: false,\n onClick: undefined,\n pill: undefined,\n rel: undefined,\n role: undefined,\n size: 'medium',\n target: undefined,\n text: '',\n type: 'button',\n}\n\nButton.displayName = 'Button'\n\nexport default Button\n","import { withRef } from '../../HOC'\n\nimport Button from './Button'\n\nexport default withRef(Button)\n","import mixpanel from 'mixpanel-browser'\nimport { componentsConfig } from '@ds/logging'\n\n/*\n\n Analytics collector for components.\n\n Components which need to record events should call initialize when loaded. It will only intialize\n once for all parties.\n\n The initialize method supports an optional parameter to indicate if prod or not. However, usage of\n this parameter is deprecated. Apps should set logging and app information and that will be used\n to derive PROD vs. TEST.\n (https://github.docusignhq.com/pages/FrontEndShared/components/docs/welcome/usage#logging-configuration)\n\n NOTE: If the user has set DNT (Do Not Track) the analytics will not be\n sent.\n NOTE: Events will include app config meta data if set by app\n (https://github.docusignhq.com/pages/FrontEndShared/components/docs/welcome/usage#logging-configuration)\n\n*/\n\nconst PROD_TOKEN = 'f8e5a2707c7775b3a96550f97154a12f'\nconst TEST_TOKEN = 'fa2704a56c2fab789f2cf9cddf5a9862'\n\nconst ANALYTICS_ATTACHED_ATTRIBUTE = 'data-analytics-attached'\n\nconst preInitCompletionEvents: AnalyticEvent[] = []\nlet isAnalyticsInitialized = false\nlet isMixPanelInitialized = false\n\nexport type AnalyticMetaData = { [key: string]: any } // eslint-disable-line @typescript-eslint/no-explicit-any\n\nexport interface AnalyticEvent {\n eventName: string\n meta?: AnalyticMetaData\n}\n\nexport type AnalyticEventMetaProvider = (\n link: HTMLAnchorElement\n) => AnalyticMetaData\n\nexport const initializeAnalytics = (isProd?: boolean) => {\n if (isSimulating()) {\n isAnalyticsInitialized = false\n } else if (!isAnalyticsInitialized) {\n isAnalyticsInitialized = true\n const useProd =\n isProd === undefined ? componentsConfig.isProdLogging() : isProd\n try {\n mixpanel.init(useProd ? PROD_TOKEN : TEST_TOKEN, {\n secure_cookie: true,\n persistence: 'localStorage',\n persistence_name: 'docusign_components',\n loaded: () => applyInitialQueuedEvents(),\n })\n } catch (error) {\n console.log('mixpanel not available...' + error.message) // eslint-disable-line no-console\n }\n }\n}\n\nexport const resetAnalytics = () => {\n isAnalyticsInitialized = false\n isMixPanelInitialized = false\n}\n\nexport const recordAnalyticEvent = (event: AnalyticEvent) => {\n if (isSimulating()) {\n console.log('Analytics in simulation mode. event sent', event) // eslint-disable-line no-console\n } else if (isMixPanelInitialized) {\n sendEventTomixpanel(event)\n } else {\n preInitCompletionEvents.push(event)\n }\n}\n\nexport const attachAnalyticEventToLink = (\n domId: string,\n eventName: string,\n meta: AnalyticEventMetaProvider | AnalyticMetaData\n) => {\n const element = document.getElementById(domId)\n /*\n To ensure we don't over-report we are adding an attribute on the element to\n indicate that we have registered the tracking listener (and checking for it before adding)\n This is because mixpanel will not prevent more than one listener on the link.\n */\n if (element && !element.getAttribute(ANALYTICS_ATTACHED_ATTRIBUTE)) {\n element.setAttribute(ANALYTICS_ATTACHED_ATTRIBUTE, 'true')\n const selector = `#${domId}`\n if (isSimulating()) {\n // eslint-disable-next-line no-console\n console.log(\n `Analytics in simulation mode. Link tracking added to selector \"${selector}\": will record event \"${eventName}\"`\n )\n } else {\n try {\n mixpanel.track_links(selector, eventName, addAppMeta(meta))\n } catch (error) {\n console.log('mixpanel not available...' + error.message) // eslint-disable-line no-console\n }\n }\n }\n}\n\n/*\n NOTE: this function does not prevent duplicate events being fired on a link if\n it is called more than once for a selector. The consumer must provide logic\n to prevent this (consider using attachAnalyticEventToLink instead)\n*/\nexport const attachAnalyticEventToLinkSelector = (\n selector: string,\n eventName: string,\n meta: AnalyticEventMetaProvider | AnalyticMetaData\n) => {\n if (isSimulating()) {\n // eslint-disable-next-line no-console\n console.log(\n `Analytics in simulation mode. Link tracking added to selector \"${selector}\": will record event \"${eventName}\"`\n )\n } else {\n try {\n mixpanel.track_links(selector, eventName, addAppMeta(meta))\n } catch (error) {\n console.log('mixpanel not available...' + error.message) // eslint-disable-line no-console\n }\n }\n}\n\nfunction sendEventTomixpanel(event: AnalyticEvent) {\n try {\n mixpanel.track(event.eventName, addAppMeta(event.meta))\n } catch (error) {\n console.log('mixpanel not available...' + error.message) // eslint-disable-line no-console\n }\n}\n\nfunction applyInitialQueuedEvents() {\n preInitCompletionEvents.forEach((event) => {\n sendEventTomixpanel(event)\n })\n preInitCompletionEvents.length = 0\n isMixPanelInitialized = true\n}\n\nfunction addAppMeta(metaData?: AnalyticMetaData) {\n const appDescription = componentsConfig.getAppDescription()\n if (appDescription.appId) {\n return { ...(metaData || {}), ...appDescription }\n }\n return metaData\n}\n\nfunction isSimulating() {\n return componentsConfig.isSimulatingAnalytics()\n}\n","import * as React from 'react'\nimport { Button, Icon, useIsInk } from '@ds/ui'\nimport styles from './styles'\n\n/*\n\n A button used as trigger to an ds/ui Menu\n\n*/\n\nexport interface FooterMenuTriggerButtonProps {\n text: string\n onClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void\n forwardedRef?: React.RefObject<HTMLButtonElement>\n 'data-qa': string\n}\n\nexport const FooterMenuTriggerButton: React.FunctionComponent<FooterMenuTriggerButtonProps> =\n (props) => {\n const isInk = useIsInk()\n return (\n <>\n {isInk ? (\n <div css={styles.footerMenuTriggerInkButtonCSS}>\n <Button\n kind=\"tertiary\"\n menuTrigger={true}\n onClick={props.onClick}\n onKeyDown={props.onKeyDown}\n ref={props.forwardedRef}\n aria-haspopup=\"true\"\n data-qa={props['data-qa']}\n text={props.text}\n />\n </div>\n ) : (\n <button\n type=\"button\"\n css={styles.footerMenuTriggerButtonCSS}\n onClick={props.onClick}\n onKeyDown={props.onKeyDown}\n ref={props.forwardedRef}\n aria-haspopup=\"true\"\n data-qa={props['data-qa']}\n >\n <div>\n {props.text}\n <Icon kind=\"menuTriangleDown\" size={12} />\n </div>\n </button>\n )}\n </>\n )\n }\n","import * as React from 'react'\nimport type { MenuAlignment } from '@ds/ui'\nimport { Menu, AnyArgsVoidReturn, AnchorOrButtonOnClickHandler } from '@ds/ui'\nimport { TranslateFunction } from '@ds/base'\nimport { TranslationKeys } from '@ds/comp-private'\nimport { Locale } from '@ds/base'\nimport { sortedLocaleAndDisplayName, getDisplayName } from './localeDisplay'\nimport { FooterMenuTriggerButton } from './FooterMenuTriggerButton'\n\ninterface Props {\n alignment?: MenuAlignment\n locales: Locale[]\n currentLocale: Locale\n translate: TranslateFunction<TranslationKeys>\n onLocaleSelected: (locale: Locale) => void\n onMenuOpened?: () => void\n menuButtonDataQa: string\n}\n\nexport const FooterLanguageSelectorDesktop: React.FunctionComponent<Props> = (\n props\n) => {\n const localeDescriptions = sortedLocaleAndDisplayName(props.locales)\n return (\n <div>\n <Menu.Button>\n {(\n buttonOnClick: AnyArgsVoidReturn,\n buttonOnKeyDown: AnyArgsVoidReturn,\n buttonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>,\n menuVisible: boolean,\n menuAnchor: HTMLElement,\n menuRef: React.RefObject<HTMLDivElement>,\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler,\n menuOnVisible: () => void\n ) => (\n <>\n <FooterMenuTriggerButton\n text={getDisplayName(props.currentLocale)}\n data-qa={props.menuButtonDataQa}\n onClick={buttonOnClick}\n onKeyDown={buttonOnKeyDown}\n forwardedRef={buttonRef as React.RefObject<HTMLButtonElement>}\n />\n <Menu\n location=\"above\"\n alignment={props.alignment || 'start'}\n visible={menuVisible}\n anchor={menuAnchor}\n forwardedRef={menuRef}\n maxHeight=\"calc(100vh - 80px)\"\n locationFixed={true}\n onVisible={() => {\n menuOnVisible()\n props.onMenuOpened && props.onMenuOpened()\n }}\n >\n <Menu.Group\n accessibilityTitle={props.translate('Aria-language-selector')}\n >\n {localeDescriptions.map((langAndName) => {\n return (\n <Menu.Item\n key={langAndName.locale}\n text={langAndName.displayName}\n onClick={menuItemEventHandler(\n (event: Event, closeMenu: () => unknown) => {\n if (props.currentLocale !== langAndName.locale) {\n props.onLocaleSelected(langAndName.locale)\n }\n closeMenu()\n }\n )}\n onKeyDown={menuItemOnKeyDown}\n data-qa={`language-selection-${langAndName.locale}`}\n />\n )\n })}\n </Menu.Group>\n </Menu>\n </>\n )}\n </Menu.Button>\n </div>\n )\n}\n","import * as React from 'react'\nimport { Locale } from '@ds/base'\nimport { Reveal } from '../Reveal'\nimport { sortedLocaleAndDisplayName } from './localeDisplay'\nimport { FooterLanguageSelectorPhoneMenu } from './FooterLanguageSelectorPhoneMenu'\nimport styles from './styles'\n\ninterface LanguageSelectorRevealProps {\n /** locales (e.g., [\"en\", \"fr\", ...]) which should be included in the menu */\n locales: Locale[]\n /** currentlye selected locale */\n currentLocale: Locale\n /** should the menu be visible? */\n visible: boolean\n /** callback when locale selected */\n onLocaleSelected: (locale: Locale) => void\n /** callback when user cancels selection (e.g., taps outside the menu) */\n onCancel: () => void\n}\n\n/** A menu of locales revealed from the bottom of the viewport. Intended for use on small devices (e.g., phones) */\nexport const LanguageSelectorReveal: React.FunctionComponent<LanguageSelectorRevealProps> =\n (props) => {\n const localeDescriptions = sortedLocaleAndDisplayName(props.locales)\n const localeCount = props.locales.length\n const maxRowsToShow = 7.5 // show half a row (so user will see they must swipe up to see more)\n const revealHeight = Math.min(\n localeCount * styles.phoneFooterRowHeight,\n Math.round(maxRowsToShow * styles.phoneFooterRowHeight)\n )\n\n return (\n <Reveal\n distance={revealHeight}\n from=\"bottom\"\n visible={props.visible}\n onCancel={props.onCancel}\n overflow=\"auto\"\n >\n <FooterLanguageSelectorPhoneMenu\n localeDescriptions={localeDescriptions}\n currentLocale={props.currentLocale}\n onLocaleSelected={props.onLocaleSelected}\n />\n </Reveal>\n )\n }\n","import * as React from 'react'\nimport { FooterMenuTriggerButton } from './FooterMenuTriggerButton'\nimport { Locale, TranslateFunction } from '@ds/base'\nimport { TranslationKeys } from '@ds/comp-private'\nimport { getDisplayName } from './localeDisplay'\nimport { LanguageSelectorReveal } from './LanguageSelectorReveal'\n\ninterface FooterLanguageSelectorPhoneProps {\n locales: Locale[]\n currentLocale: Locale\n translate: TranslateFunction<TranslationKeys>\n onLocaleSelected: (locale: Locale) => void\n onMenuOpened?: () => void\n menuButtonDataQa: string\n}\n\nexport const FooterLanguageSelectorPhone: React.FunctionComponent<FooterLanguageSelectorPhoneProps> =\n (props) => {\n const [isShowingMenu, setIsShowingMenu] = React.useState(false)\n\n return (\n <div>\n <FooterMenuTriggerButton\n text={getDisplayName(props.currentLocale)}\n data-qa={props.menuButtonDataQa}\n onClick={() => {\n if (!isShowingMenu && props.onMenuOpened) {\n props.onMenuOpened()\n }\n setIsShowingMenu(true)\n }}\n />\n <LanguageSelectorReveal\n locales={props.locales}\n currentLocale={props.currentLocale}\n visible={isShowingMenu}\n onLocaleSelected={(locale: Locale) => {\n setIsShowingMenu(false)\n props.onLocaleSelected(locale)\n }}\n onCancel={() => setIsShowingMenu(false)}\n />\n </div>\n )\n }\n","import * as React from 'react'\n\n// Load dependencies\nconst { Fragment } = React\n\n// Component interpolation regex\nconst regex =\n // eslint-disable-next-line no-useless-escape\n /<([^\\/.]+?)(?:\\s*|\\s+[^\\/\\>]+)>(.*?)<\\/\\1>|<([^\\/.]+?)(?:\\s*|\\s+[^\\/\\>]+)\\/>/\n\n// Create the recursive component tree\n/* Case 0 matches all text that is neither a component tag nor the child of\n a component tag. Case 1 matches the component name of tags that have a opening and\n closing notation(<Link>child</Link>). Case 2 matches the children of case 1 components. Case 3\n matches self closing tags(<br />).\n*/\nconst Interpolate: React.FunctionComponent<{\n text: string\n components: {\n [name: string]: (children?: React.ReactNode) => React.ReactNode\n }\n}> = ({ text, components }) => (\n <>\n {\n text.split(regex).reduce(\n (\n {\n tree,\n component,\n }: {\n tree: Array<React.ReactElement<any>> // eslint-disable-line @typescript-eslint/no-explicit-any\n component?: string\n },\n v: string,\n k: number\n ) => {\n switch (k % 4) {\n case 0:\n return {\n // eslint-disable-next-line react/no-array-index-key\n tree: [...tree, <Fragment key={k}>{v}</Fragment>],\n }\n case 1:\n return { tree, component: v }\n case 2:\n return {\n tree:\n component && components[component]\n ? [\n ...tree,\n // eslint-disable-next-line react/no-array-index-key\n <Fragment key={k}>\n {components[component](\n <Interpolate text={v} components={components} />\n )}\n </Fragment>,\n ]\n : tree,\n }\n case 3:\n return {\n tree:\n v && components[v]\n ? // eslint-disable-next-line react/no-array-index-key\n [...tree, <Fragment key={k}>{components[v]()}</Fragment>]\n : tree,\n }\n default:\n return { tree }\n }\n },\n { tree: [] }\n ).tree\n }\n </>\n)\n\n// Export\nexport default Interpolate\n","import * as React from 'react'\nimport MediaQuery, { MediaQueryMatchers } from 'react-responsive'\nimport { LinkTarget, useIsInk, DocuSignLogo } from '@ds/ui'\nimport type { MenuAlignment } from '@ds/ui'\nimport { Locale } from '@ds/base'\nimport {\n useTranslate,\n initializeAnalytics,\n recordAnalyticEvent,\n} from '@ds/comp-private'\nimport { FooterLanguageSelectorDesktop } from './FooterLanguageSelectorDesktop'\nimport { FooterLanguageSelectorPhone } from './FooterLanguageSelectorPhone'\nimport { FooterLink } from './types'\nimport {\n standardFooterLinks,\n defaultFooterLinks,\n defaultLinkRel,\n defaultLinkTarget,\n} from './footerConfiguration'\nimport { Interpolate, useHtmlLang } from '@ds/react-utils'\nimport styles from './styles'\nimport { isEmpty } from 'lodash'\n\nexport interface FooterProps {\n links: FooterLink[]\n locales?: Locale[]\n onLocaleSelected?: (locale: Locale) => void\n currentLocale?: Locale\n hidePoweredBy?: boolean\n onLinkClicked?: (segment: FooterLink) => void // useful for analytic tracking\n dataQaOverrides?: { [key: string]: string }\n mediaQueryOverrideValues?: Partial<MediaQueryMatchers>\n}\n\ninterface FooterFunctionComponent extends React.FunctionComponent<FooterProps> {\n standardFooterLinks: {\n [key: string]: FooterLink\n }\n defaultFooterLinks: FooterLink[]\n}\n\nconst Footer: FooterFunctionComponent = (props) => {\n const pageLocale = useHtmlLang()\n const currentLocale = props.currentLocale || pageLocale || 'en'\n const translate = useTranslate(currentLocale)\n const isInk = useIsInk()\n\n const includeLanguageSelector =\n !isEmpty(props.locales) && props.onLocaleSelected\n\n React.useEffect(() => {\n initializeAnalytics()\n }, [])\n\n return (\n <footer role=\"contentinfo\" css={styles.footerContainerCSS(isInk)}>\n <MediaQuery\n query=\"(max-width: 540px)\"\n device={props.mediaQueryOverrideValues}\n >\n {renderSmall()}\n </MediaQuery>\n <MediaQuery\n query=\"(min-width: 541px) and (max-width: 1023px)\"\n device={props.mediaQueryOverrideValues}\n >\n {renderMedium()}\n </MediaQuery>\n <MediaQuery\n query=\"(min-width: 1024px)\"\n device={props.mediaQueryOverrideValues}\n >\n {renderLarge()}\n </MediaQuery>\n </footer>\n )\n\n function renderSmall() {\n return (\n <div data-qa=\"footer\" data-qa-mediawidth=\"small\">\n <div css={styles.footerTopRowCSS}>\n {props.hidePoweredBy ? '' : renderPoweredBy()}\n </div>\n <MainRowContainer centered={true}>{renderLinks(true)}</MainRowContainer>\n <div css={styles.footerBottomRowCSS}>{renderCopyright()}</div>\n </div>\n )\n }\n\n function renderMedium() {\n return (\n <div data-qa=\"footer\" data-qa-mediawidth=\"medium\">\n <div css={styles.footerTopRowCSS}>\n {props.hidePoweredBy ? '' : renderPoweredBy()}\n </div>\n <MainRowContainer centered={true}>{renderLinks(true)}</MainRowContainer>\n <div css={styles.footerBottomRowCSS}>{renderCopyright()}</div>\n </div>\n )\n }\n\n function renderLarge() {\n return (\n <div data-qa=\"footer\" data-qa-mediawidth=\"large\">\n <MainRowContainer centered={props.hidePoweredBy}>\n {props.hidePoweredBy ? null : renderPoweredBy()}\n {renderLinks()}\n {renderCopyright(20)}\n </MainRowContainer>\n </div>\n )\n }\n\n function renderLinks(isMobileWidth = false) {\n return (\n <div\n css={\n isMobileWidth\n ? styles.footerLinkListMobileCSS\n : styles.footerLinkListCSS(isInk)\n }\n >\n {includeLanguageSelector && renderLanguageSelector(isMobileWidth)}\n {props.links.map((link) => {\n validateLink(link)\n\n const dataQA =\n (props.dataQaOverrides && props.dataQaOverrides[link.id]) ||\n `footer-link-${link.id}`\n return link.url ? (\n <ActiveFooterLink\n key={link.id}\n text={translatedSegmentText(link)}\n url={translatedLinkURL(link)}\n linkName={link.id}\n callback={\n props.onLinkClicked\n ? () => props.onLinkClicked!(link)\n : undefined\n }\n rel={link.rel}\n target={link.target}\n dataQA={dataQA}\n />\n ) : (\n <PassiveFooterLink\n key={link.id}\n linkName={link.id}\n text={translatedSegmentText(link)}\n dataQA={dataQA}\n />\n )\n })}\n </div>\n )\n }\n\n function handleLocaleSelected(locale: Locale) {\n recordAnalyticEvent({\n eventName: 'locale-change',\n meta: { fromLocale: currentLocale, toLocale: locale },\n })\n props.onLocaleSelected?.(locale)\n }\n\n function renderLanguageSelector(isPhone = false) {\n const selectorProps = {\n alignment: 'start' as MenuAlignment,\n locales: props.locales!,\n currentLocale,\n onLocaleSelected: handleLocaleSelected,\n translate,\n onMenuOpened: () =>\n props.onLinkClicked && props.onLinkClicked({ id: 'LANGUAGE_SELECTOR' }),\n menuButtonDataQa:\n (props.dataQaOverrides && props.dataQaOverrides['LANGUAGE_SELECTOR']) ||\n 'footer-link-LANGUAGE_SELECTOR',\n }\n return (\n <>\n {isPhone ? (\n <FooterLanguageSelectorPhone {...selectorProps} />\n ) : (\n <FooterLanguageSelectorDesktop {...selectorProps} />\n )}\n </>\n )\n }\n\n function renderPoweredBy() {\n return (\n <div css={styles.footerLogoCSS}>\n <Interpolate\n text={translate('Powered by', {\n DOCUSIGN_LOGO: '<LogoImage />',\n })}\n components={{\n LogoImage: () => (\n <div css={styles.footerLogoSvgCSS(isInk)}>\n <DocuSignLogo key=\"image\" />\n </div>\n ),\n }}\n />\n </div>\n )\n }\n\n function renderCopyright(leftMargin = 0) {\n const translatedText = translate(\n 'Copyright © {{CURRENT_YEAR}} DocuSign, Inc. All rights reserved',\n {\n CURRENT_YEAR: new Date().getFullYear().toString(),\n }\n )\n return (\n <div style={{ marginLeft: leftMargin }}>\n <PassiveFooterLink\n linkName=\"COPYRIGHT\"\n dataQA=\"footer-copyright\"\n text={translatedText}\n />\n </div>\n )\n }\n\n function translatedSegmentText(segment: FooterLink) {\n if (!segment.customTranslate && !segment.textId) {\n throw new Error(\n 'Footer links must provide either a textId OR a customTranslate function'\n )\n }\n return segment.customTranslate\n ? segment.customTranslate(currentLocale)\n : translate(segment.textId!)\n }\n\n function translatedLinkURL(segment: FooterLink) {\n return typeof segment.url === 'string'\n ? segment.url\n : segment.url!(currentLocale)\n }\n\n function validateLink(link: FooterLink) {\n if (link.url && !link.id) {\n throw Error(`Footer Link missing id (${JSON.stringify(link)})`)\n }\n if (!link.textId && !link.customTranslate) {\n throw Error(\n `Footer Link missing either textId, or customTranslate. One is necessary for localization translate (${JSON.stringify(\n link\n )})`\n )\n }\n }\n}\n\nconst MainRowContainer: React.FunctionComponent<{ centered?: boolean }> = (\n props\n) => {\n return (\n <div\n css={\n props.centered\n ? styles.footerMainRowWCenteredCSS\n : styles.footerMainRowExtendedCSS\n }\n >\n {props.children}\n </div>\n )\n}\n\nconst ActiveFooterLink: React.FunctionComponent<{\n url: string\n linkName: string\n text: string\n callback?: () => void\n dataQA: string\n rel?: string\n target?: LinkTarget\n}> = (props) => {\n const isInk = useIsInk()\n return (\n <div data-link={true}>\n <a\n css={styles.footerLinkCSS(isInk)}\n href={props.url}\n target={props.target || defaultLinkTarget()}\n rel={props.rel || defaultLinkRel()}\n data-qa={props.dataQA}\n onClick={props.callback ? () => props.callback!() : undefined}\n >\n {props.text}\n </a>\n </div>\n )\n}\n\nconst PassiveFooterLink: React.FunctionComponent<{\n linkName: string\n text: string\n dataQA: string\n}> = (props) => {\n return (\n <div data-link={true}>\n <span data-qa={props.dataQA}>{props.text}</span>\n </div>\n )\n}\n\nFooter.standardFooterLinks = standardFooterLinks\nFooter.defaultFooterLinks = defaultFooterLinks\n\nexport default Footer\n","import React from 'react'\n\nimport PropTypes from 'prop-types'\n\nimport { dataProps } from '@ds/react-utils'\n\nfunction SelectOption(props) {\n const { disabled, text, value, ...restProps } = props\n\n return (\n <option {...dataProps(props)} disabled={disabled} value={value}>\n {text}\n </option>\n )\n}\n\nSelectOption.propTypes = {\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Disables the SelectOption.\n */\n disabled: PropTypes.bool,\n\n /**\n * The text label for the SelectOption.\n */\n text: PropTypes.string.isRequired,\n\n /**\n * The value represented by this option.\n */\n value: PropTypes.string.isRequired,\n}\n\nSelectOption.defaultProps = {\n 'data-.*': undefined,\n disabled: false,\n}\n\nexport default SelectOption\n","import { Tokens } from '../../theming/types'\n\nimport { styles } from '../../utilities'\n\nconst triggerWidth = '24px'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n background: tokens.form.defaultBackgroundColor,\n display: 'flex',\n\n ...styles.touchScreenFormFieldFontSize,\n },\n\n innerWrap: {\n display: 'flex',\n width: '100%',\n },\n\n labelWrap: {\n marginBottom: '4px',\n },\n\n select: {\n ...tokens.typography.bodyMedium,\n appearance: 'none',\n background: tokens.form.defaultBackgroundColor,\n border: `1px solid ${tokens.form.defaultBorderColor}`,\n color: tokens.text.defaultColor,\n borderRadius: '2px',\n fontFamily: tokens.font.body,\n height: '28px',\n padding: `0 ${triggerWidth} 0 8px`,\n width: '100%',\n MozPaddingStart: '4px',\n textOverflow: 'ellipsis',\n\n '&:hover': {\n borderColor: tokens.form.hoverBorderColor,\n },\n\n '&:-moz-focusring': {\n color: 'transparent',\n textShadow: `0 0 0 ${tokens.text.defaultColor}`,\n },\n\n '&:focus': {\n outline: tokens.form.focusOutline,\n outlineOffset: tokens.form.focusOutlineOffset,\n },\n\n '::-ms-value': {\n ...tokens.typography.bodyMedium,\n background: 'transparent',\n color: 'inherit',\n },\n\n '::-ms-expand': {\n display: 'none',\n paddingRight: triggerWidth,\n },\n },\n },\n\n caret: {\n width: triggerWidth,\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n marginLeft: `-${triggerWidth}`,\n pointerEvents: 'none',\n textOverflow: 'ellipsis',\n },\n\n disabled: {\n select: {\n backgroundColor: tokens.form.disabledBackgroundColor,\n cursor: 'not-allowed',\n opacity: tokens.form.disabledOpacity,\n\n '&:hover': {\n borderColor: tokens.form.defaultBorderColor,\n },\n },\n description: {\n opacity: tokens.form.disabledOpacity,\n },\n },\n\n error: {\n select: {\n borderColor: tokens.form.errorBorderColor,\n\n '&:hover': {\n borderColor: tokens.form.errorBorderColor,\n },\n },\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps, useUniqueId } from '@ds/react-utils'\n\nimport { useIsInk, useThemeStyles } from '../../theming'\n\nimport AboveInputContainer from '../AboveInputContainer'\nimport BelowInputContainer from '../BelowInputContainer'\nimport Caret from '../../internal/components/Caret'\nimport InputDescription from '../../internal/components/InputDescription'\nimport InputLabel from '../../internal/components/InputLabel'\n\nimport SelectOption from './SelectOption'\n\nimport baseStyles from './styles'\n\n/**\n * Select allows users to make a single or multiple selections from a given list of options.\n */\nfunction Select(props) {\n const {\n children,\n description,\n disabled,\n error,\n hideLabel,\n inputHelp,\n label,\n name,\n onChange,\n required,\n value,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'Select')\n\n const selectId = useUniqueId('short')\n const descriptionId = useUniqueId('short')\n const errorId = useUniqueId('short')\n const isInk = useIsInk()\n\n const wrapStyles = [styles.default.wrap, disabled && styles.disabled.wrap]\n\n const selectStyles = [\n styles.default.select,\n disabled && styles.disabled.select,\n error && styles.error.select,\n ]\n\n const InputLabelNode = (\n <InputLabel\n forId={selectId}\n hidden={hideLabel}\n disabled={disabled}\n required={required}\n >\n {label}\n </InputLabel>\n )\n\n const DescriptionNode = description && (\n <InputDescription disabled={disabled} id={descriptionId} kind=\"helper\">\n {description}\n </InputDescription>\n )\n\n const ErrorNode = error && (\n <InputDescription id={errorId} kind=\"error\">\n {error}\n </InputDescription>\n )\n\n const InputHelpNode = inputHelp && (\n <div css={styles.default.help}>{inputHelp}</div>\n )\n\n const errorIdValue = error ? errorId : ''\n // eslint-disable-next-line no-nested-ternary\n const descriptionIdValue = useIsInk()\n ? description\n ? descriptionId\n : ''\n : description && !error\n ? descriptionId\n : ''\n const ariaDescribedByValue = `${errorIdValue} ${descriptionIdValue}`.trim()\n\n return (\n <>\n <AboveInputContainer\n description={isInk && DescriptionNode}\n hideLabel={hideLabel}\n label={InputLabelNode}\n />\n\n <div css={wrapStyles}>\n <div css={styles.default.innerWrap}>\n <select\n {...dataProps(restProps)}\n {...onProps(restProps)}\n {...(ariaDescribedByValue && {\n 'aria-describedby': ariaDescribedByValue,\n })}\n {...(error && { 'aria-invalid': 'true' })}\n css={selectStyles}\n disabled={disabled}\n id={selectId}\n name={name}\n onChange={onChange}\n required={required}\n value={value}\n >\n {children}\n </select>\n <span css={styles.caret}>\n <Caret disabled={disabled} />\n </span>\n </div>\n\n {InputHelpNode}\n </div>\n\n <BelowInputContainer\n description={!isInk && DescriptionNode}\n error={ErrorNode}\n />\n </>\n )\n}\n\nSelect.propTypes = {\n /**\n * Accepts any number of Select.Option components.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Applies a 'description' treatment, displaying the provided text.\n */\n description: PropTypes.string,\n\n /**\n * Disables the Select.\n */\n disabled: PropTypes.bool,\n\n /**\n * Applies an 'error' treatment, displaying the provided text.\n */\n error: PropTypes.string,\n\n /**\n * Hide the label while allowing assistive devices to identify the control.\n */\n hideLabel: PropTypes.bool,\n\n /**\n * The element to add a help tooltip to the left of the Select component.\n *\n * Takes an InputHelp component.\n */\n inputHelp: PropTypes.element,\n\n /**\n * The text label for the Select.\n */\n label: PropTypes.string.isRequired,\n\n /**\n * The name HTML attribute for the Select.\n */\n name: PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'change' event is fired.\n */\n onChange: PropTypes.func,\n\n /**\n * Adds a visual treatment indicating that the associated control requires a value.\n */\n required: PropTypes.bool,\n\n /**\n * The value of the control, setting this selects the option represented by that value.\n *\n * This is also used to specify the default selected option.\n */\n value: PropTypes.string,\n}\n\nSelect.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n description: undefined,\n disabled: false,\n error: undefined,\n hideLabel: false,\n inputHelp: undefined,\n name: undefined,\n onChange: undefined,\n required: false,\n value: undefined,\n}\n\nSelect.displayName = 'Select'\nSelectOption.displayName = 'Select.Option'\n\nSelect.Option = SelectOption\n\nexport default Select\n","import { Tokens } from '../../theming/types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n size: tokens.icon.defaultSize,\n } as const\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { allValues } from '@olive/icons'\n\nimport { OliveIcon, SpanForwardRef } from '../../types'\nimport { consoleWarn } from '../../logging'\nimport { CustomPropTypes } from '../../support'\nimport { useThemeIcon } from '../../theming'\n\nimport colorVariables from '../../theming/docusign-themes/olive/colors'\n\nimport BaseIcon from '../../internal/components/BaseIcon'\n\n/** these will be removed in a future release */\nconst DEPRECATED_COLOR_VALUES = {\n currentColor: 'currentColor',\n inherit: 'inherit',\n initial: 'initial',\n transparent: 'transparent',\n unset: 'unset',\n}\n\nconst colors = { ...DEPRECATED_COLOR_VALUES, ...colorVariables }\n\nexport type IconColor = keyof typeof colors\n\nexport interface IconProps {\n /** The name of the icon to use. */\n kind: OliveIcon\n /** The size of the Icon in 'px' units. */\n size?: number\n /**\n * An OliveReact named color, the CSS color 'transparent',\n * or one of the CSS keywords 'inherit', 'initial', 'unset'.\n */\n color?: IconColor\n /** A React ref to assign to the HTML node representing the Icon element. */\n forwardedRef?: SpanForwardRef\n /** @ignore @internal Subject to change. Do not use */\n hexColor?: string\n /** @deprecated Use forwardedRef instead. */\n ref?: SpanForwardRef\n}\n\nexport function Icon(props: IconProps) {\n const {\n color = 'currentColor',\n forwardedRef,\n kind,\n size,\n ...restProps\n } = props\n\n if (\n color !== Icon.defaultProps.color &&\n color &&\n color in DEPRECATED_COLOR_VALUES\n ) {\n consoleWarn(`The prop values for color: 'currentColor', 'inherit', 'initial', 'transparent'\n and 'unset' are being deprecated, please use CSS instead. This will be built into the component in a future release.`)\n }\n\n if (kind.indexOf('-') > -1) {\n consoleWarn(\n 'The value for the kind prop of the Icon component should be in camel case.'\n )\n }\n\n /* eslint-disable max-len */\n\n /**\n * Eventually we will remove the hexColor, color, and size props.\n * Adding the deprecation warnings now so when we have a migration\n * strategy we can uncomment them.\n */\n\n // if (restProps.hexColor) {\n // consoleWarn('The hexColor prop of the Icon component has been deprecated. It will be removed in a future release.')\n // }\n\n // if (restProps.color) {\n // consoleWarn('The color prop of the Icon component has been deprecated. It will be removed in a future release.')\n // }\n\n // if (restProps.size) {\n // consoleWarn('The size prop of the Icon component has been deprecated. It will be removed in a future release.')\n // }\n\n /* eslint-enable max-len */\n\n const svgString = useThemeIcon('default', kind)\n\n return (\n <BaseIcon\n {...restProps}\n forwardedRef={forwardedRef}\n size=\"default\"\n svgString={svgString}\n legacyFill={restProps.hexColor || colors[color]}\n legacySize={size ? `${size}px` : undefined}\n />\n )\n}\n\nIcon.colors = Object.keys(colors)\n\n/**\n * The icon kinds in both camelCase and paramCase.\n */\nIcon.kinds = allValues\n\n// Keeping `keys` around for backwards compatibility. Can be removed in a future release.\nIcon.keys = Icon.kinds\n\nIcon.propTypes = {\n /**\n * An OliveReact named color, the CSS color 'transparent',\n * -or-\n * one of the CSS keywords 'inherit', 'initial', 'unset'.\n */\n color: PropTypes.oneOf(Icon.colors),\n\n /**\n * A React ref to assign to the HTML node representing the Icon element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * The name of the icon to use.\n */\n kind: PropTypes.oneOf(Icon.kinds).isRequired,\n\n /**\n * @deprecated Use forwardedRef instead.\n */\n ref: CustomPropTypes.ReactRef,\n\n /**\n * The size of the Icon in 'px' units.\n *\n * Note: the default is `16`, however this value may be different if the icon\n * is provided by a context provider (in which case the default size for the\n * icon will also be provided by the context).\n */\n size: PropTypes.number,\n}\n\nIcon.defaultProps = {\n color: 'currentColor',\n forwardedRef: undefined,\n ref: undefined,\n size: undefined,\n}\n\nIcon.displayName = 'Icon'\n\nexport default Icon\n","import React from 'react'\nimport { withRef } from '../../HOC'\n\nimport Icon, { IconProps } from './Icon'\n\n// TODO: Remove this assertion after deleting propTypes and defaultProps\nconst IconWithHOC = withRef(Icon as React.ComponentType<IconProps>)\n\nexport default IconWithHOC\n","import { keyframes } from '@emotion/core'\nimport { styles } from '../../utilities'\nimport { Tokens } from '../../theming/types'\nimport colors from '../../theming/docusign-themes/olive/colors'\n\nconst spin = keyframes`\n 0% {\n transform-origin: 50% 50%;\n }\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst expandCollapseSmall = keyframes`\n 0% {\n stroke-dasharray: 5px, 57px;\n stroke-dashoffset: 0px;\n }\n 50% {\n stroke-dasharray: 43px, 57px;\n stroke-dashoffset: -7px;\n }\n 100% {\n stroke-dasharray: 43px, 57px;\n stroke-dashoffset: -52px;\n }\n`\n\nconst expandCollapseMedium = keyframes`\n 0% {\n stroke-dasharray: 10px, 120px;\n stroke-dashoffset: 0px;\n }\n 50% {\n stroke-dasharray: 90px, 120px;\n stroke-dashoffset: -15px;\n }\n 100% {\n stroke-dasharray: 90px, 120px;\n stroke-dashoffset: -110px;\n }\n`\n\nconst expandCollapseLarge = keyframes`\n 0% {\n stroke-dasharray: 20px, 239px;\n stroke-dashoffset: 0px;\n }\n 50% {\n stroke-dasharray: 179px, 239px;\n stroke-dashoffset: -30px;\n }\n 100% {\n stroke-dasharray: 179px, 239px;\n stroke-dashoffset: -219px;\n }\n`\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n alignItems: 'center',\n display: 'inline-flex',\n },\n\n circleFill: {\n fill: 'transparent',\n stroke: colors.gray6,\n transition: 'stroke-dashoffset 0.35s',\n transform: 'rotate(-90deg)',\n transformOrigin: '50% 50%',\n },\n\n circleTrack: {\n stroke: tokens.bar.defaultTrackColor,\n fill: 'transparent',\n },\n },\n\n subtle: {\n circleFill: {\n stroke: tokens.bar.subtleFillColor,\n },\n },\n\n indeterminate: {\n wrap: {\n svg: {\n animation: `${spin} 1.4s linear infinite`,\n },\n },\n\n small: {\n circleFill: {\n animation: `${expandCollapseSmall} 1.4s ease-in-out infinite`,\n strokeDasharray: '43px, 57px',\n strokeDashoffset: '0px',\n },\n },\n\n medium: {\n circleFill: {\n animation: `${expandCollapseMedium} 1.4s ease-in-out infinite`,\n strokeDasharray: '90px, 120px',\n strokeDashoffset: '0px',\n },\n },\n\n large: {\n circleFill: {\n animation: `${expandCollapseLarge} 1.4s ease-in-out infinite`,\n strokeDasharray: '180px, 239px',\n strokeDashoffset: '0px',\n },\n },\n },\n\n small: {\n height: '22px',\n centerPointX: 11,\n centerPointY: 11,\n radius: 9,\n strokeWidth: 3,\n width: '22px',\n },\n\n medium: {\n height: '44px',\n centerPointX: 22,\n centerPointY: 22,\n radius: 19,\n strokeWidth: 6,\n width: '44px',\n },\n\n large: {\n height: '88px',\n centerPointX: 44,\n centerPointY: 44,\n radius: 38,\n strokeWidth: 12,\n width: '88px',\n },\n\n text: {\n ...tokens.typography.inputLabel,\n marginLeft: '16px',\n },\n\n hidden: styles.visuallyHidden,\n }\n}\n","import React, { useState, useEffect } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { dataProps } from '@ds/react-utils'\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nfunction ProgressCircle(props) {\n const { kind, hideText, max, size, text, value, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles, 'ProgressCircle')\n\n const [circumference, setCircumference] = useState()\n const offset = circumference - (value / max) * circumference\n\n useEffect(() => {\n const circumferenceEquation = styles[size].radius * 2 * Math.PI\n setCircumference(circumferenceEquation)\n }, [size, styles])\n\n const hasValue = value !== undefined && value !== null\n\n const textStyles = [styles.text, hideText && styles.hidden]\n\n const wrapStyles = [\n styles.default.wrap,\n !hasValue && styles.indeterminate.wrap,\n ]\n\n const circleFillStyles = [\n styles.default.circleFill,\n !hasValue && styles.indeterminate[size].circleFill,\n kind && styles[kind].circleFill,\n ]\n\n return (\n <>\n <div css={wrapStyles} {...dataProps(restProps)}>\n <svg height={styles[size].height} width={styles[size].width}>\n <circle\n css={styles.default.circleTrack}\n r={styles[size].radius}\n cx={styles[size].centerPointX}\n cy={styles[size].centerPointY}\n strokeWidth={styles[size].strokeWidth}\n />\n <circle\n css={circleFillStyles}\n r={styles[size].radius}\n cx={styles[size].centerPointX}\n cy={styles[size].centerPointY}\n strokeWidth={styles[size].strokeWidth}\n strokeDasharray={`${circumference} ${circumference}`}\n strokeDashoffset={`${offset}`}\n />\n </svg>\n <span css={textStyles}>{text}</span>\n </div>\n </>\n )\n}\n\nexport const ProgressCircleKinds = ['default', 'subtle']\nexport const ProgressCircleSizes = ['small', 'medium', 'large']\n\nProgressCircle.kinds = ProgressCircleKinds\nProgressCircle.sizes = ProgressCircleSizes\n\nProgressCircle.propTypes = {\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Hides the ProgressCircle text while allowing assistive devices to identify it.\n */\n hideText: PropTypes.bool,\n\n /**\n * Whether the ProgressCircle displays as default or subtle.\n */\n kind: PropTypes.oneOf(ProgressCircleKinds),\n\n /**\n * The max attribute, if present, must have a value greater than 0\n * and be a valid floating point number.\n */\n max: PropTypes.number,\n\n /**\n * The different size variants of the Loader itself. The 'x-small' variant is used for the\n * progress button and has a different style treatment.\n */\n size: PropTypes.oneOf(ProgressCircleSizes),\n\n /**\n * The text to be displayed to the right side of the Circle.\n */\n text: PropTypes.string.isRequired,\n\n /**\n * Must be a valid floating point number between 0 and `max`.\n * If value is omitted, the ProgressBar will display an indeterminate state.\n */\n value: PropTypes.number,\n}\n\nProgressCircle.defaultProps = {\n 'data-.*': undefined,\n hideText: false,\n kind: 'default',\n max: 1,\n size: 'medium',\n value: undefined,\n}\n\nProgressCircle.displayName = 'ProgressCircle'\n\nexport default ProgressCircle\n","/** @license React v17.0.2\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'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function C(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}C.prototype.isReactComponent={};C.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(z(85));this.updater.enqueueSetState(this,a,b,\"setState\")};C.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction D(){}D.prototype=C.prototype;function E(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}var F=E.prototype=new D;F.constructor=E;l(F,C.prototype);F.isPureReactComponent=!0;var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};\nfunction J(a,b,c){var e,d={},k=null,h=null;if(null!=b)for(e in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)H.call(b,e)&&!I.hasOwnProperty(e)&&(d[e]=b[e]);var g=arguments.length-2;if(1===g)d.children=c;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];d.children=f}if(a&&a.defaultProps)for(e in g=a.defaultProps,g)void 0===d[e]&&(d[e]=g[e]);return{$$typeof:n,type:a,key:k,ref:h,props:d,_owner:G.current}}\nfunction K(a,b){return{$$typeof:n,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function L(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===n}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var M=/\\/+/g;function N(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction O(a,b,c,e,d){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case n:case p:h=!0}}if(h)return h=a,d=d(h),a=\"\"===e?\".\"+N(h,0):e,Array.isArray(d)?(c=\"\",null!=a&&(c=a.replace(M,\"$&/\")+\"/\"),O(d,b,c,\"\",function(a){return a})):null!=d&&(L(d)&&(d=K(d,c+(!d.key||h&&h.key===d.key?\"\":(\"\"+d.key).replace(M,\"$&/\")+\"/\")+a)),b.push(d)),1;h=0;e=\"\"===e?\".\":e+\":\";if(Array.isArray(a))for(var g=\n0;g<a.length;g++){k=a[g];var f=e+N(k,g);h+=O(k,b,c,f,d)}else if(f=y(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=e+N(k,g++),h+=O(k,b,c,f,d);else if(\"object\"===k)throw b=\"\"+a,Error(z(31,\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b));return h}function P(a,b,c){if(null==a)return a;var e=[],d=0;O(a,e,\"\",\"\",function(a){return b.call(c,a,d++)});return e}\nfunction Q(a){if(-1===a._status){var b=a._result;b=b();a._status=0;a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}if(1===a._status)return a._result;throw a._result;}var R={current:null};function S(){var a=R.current;if(null===a)throw Error(z(321));return a}var T={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:G,IsSomeRendererActing:{current:!1},assign:l};\nexports.Children={map:P,forEach:function(a,b,c){P(a,function(){b.apply(this,arguments)},c)},count:function(a){var b=0;P(a,function(){b++});return b},toArray:function(a){return P(a,function(a){return a})||[]},only:function(a){if(!L(a))throw Error(z(143));return a}};exports.Component=C;exports.PureComponent=E;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(z(267,a));var e=l({},a.props),d=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=G.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)H.call(b,f)&&!I.hasOwnProperty(f)&&(e[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)e.children=c;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];e.children=g}return{$$typeof:n,type:a.type,\nkey:d,ref:k,props:e,_owner:h}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:r,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:q,_context:a};return a.Consumer=a};exports.createElement=J;exports.createFactory=function(a){var b=J.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:t,render:a}};exports.isValidElement=L;\nexports.lazy=function(a){return{$$typeof:v,_payload:{_status:-1,_result:a},_init:Q}};exports.memo=function(a,b){return{$$typeof:u,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return S().useCallback(a,b)};exports.useContext=function(a,b){return S().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return S().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return S().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return S().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return S().useMemo(a,b)};exports.useReducer=function(a,b,c){return S().useReducer(a,b,c)};exports.useRef=function(a){return S().useRef(a)};exports.useState=function(a){return S().useState(a)};exports.version=\"17.0.2\";\n","/** @license React v17.0.2\n * react-dom.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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(y(227));var ba=new Set,ca={};function da(a,b){ea(a,b);ea(a+\"Capture\",b)}\nfunction ea(a,b){ca[a]=b;for(a=0;a<b.length;a++)ba.add(b[a])}\nvar fa=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ha=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,ia=Object.prototype.hasOwnProperty,\nja={},ka={};function la(a){if(ia.call(ka,a))return!0;if(ia.call(ja,a))return!1;if(ha.test(a))return ka[a]=!0;ja[a]=!0;return!1}function ma(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction na(a,b,c,d){if(null===b||\"undefined\"===typeof b||ma(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function B(a,b,c,d,e,f,g){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;this.removeEmptyString=g}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,!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,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback 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,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(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(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(na(b,c,e,d)&&(c=null),d||null===e?la(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar ra=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,sa=60103,ta=60106,ua=60107,wa=60108,xa=60114,ya=60109,za=60110,Aa=60112,Ba=60113,Ca=60120,Da=60115,Ea=60116,Fa=60121,Ga=60128,Ha=60129,Ia=60130,Ja=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var E=Symbol.for;sa=E(\"react.element\");ta=E(\"react.portal\");ua=E(\"react.fragment\");wa=E(\"react.strict_mode\");xa=E(\"react.profiler\");ya=E(\"react.provider\");za=E(\"react.context\");Aa=E(\"react.forward_ref\");Ba=E(\"react.suspense\");Ca=E(\"react.suspense_list\");Da=E(\"react.memo\");Ea=E(\"react.lazy\");Fa=E(\"react.block\");E(\"react.scope\");Ga=E(\"react.opaque.id\");Ha=E(\"react.debug_trace_mode\");Ia=E(\"react.offscreen\");Ja=E(\"react.legacy_hidden\")}\nvar Ka=\"function\"===typeof Symbol&&Symbol.iterator;function La(a){if(null===a||\"object\"!==typeof a)return null;a=Ka&&a[Ka]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var Ma;function Na(a){if(void 0===Ma)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);Ma=b&&b[1]||\"\"}return\"\\n\"+Ma+a}var Oa=!1;\nfunction Pa(a,b){if(!a||Oa)return\"\";Oa=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(k){var d=k}Reflect.construct(a,[],b)}else{try{b.call()}catch(k){d=k}a.call(b.prototype)}else{try{throw Error();}catch(k){d=k}a()}}catch(k){if(k&&d&&\"string\"===typeof k.stack){for(var e=k.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(y(91));return m({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(y(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(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 jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(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 mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=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!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(a,b,c,d,e){return a(b,c,d,e)}function Ib(){}var Jb=Gb,Kb=!1,Lb=!1;function Mb(){if(null!==zb||null!==Ab)Ib(),Fb()}\nfunction Nb(a,b,c){if(Lb)return a(b,c);Lb=!0;try{return Jb(a,b,c)}finally{Lb=!1,Mb()}}\nfunction Ob(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(y(231,b,typeof c));return c}var Pb=!1;if(fa)try{var Qb={};Object.defineProperty(Qb,\"passive\",{get:function(){Pb=!0}});window.addEventListener(\"test\",Qb,Qb);window.removeEventListener(\"test\",Qb,Qb)}catch(a){Pb=!1}function Rb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(n){this.onError(n)}}var Sb=!1,Tb=null,Ub=!1,Vb=null,Wb={onError:function(a){Sb=!0;Tb=a}};function Xb(a,b,c,d,e,f,g,h,k){Sb=!1;Tb=null;Rb.apply(Wb,arguments)}\nfunction Yb(a,b,c,d,e,f,g,h,k){Xb.apply(this,arguments);if(Sb){if(Sb){var l=Tb;Sb=!1;Tb=null}else throw Error(y(198));Ub||(Ub=!0,Vb=l)}}function Zb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function $b(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 ac(a){if(Zb(a)!==a)throw Error(y(188));}\nfunction bc(a){var b=a.alternate;if(!b){b=Zb(a);if(null===b)throw Error(y(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 ac(e),a;if(f===d)return ac(e),b;f=f.sibling}throw Error(y(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(y(189));}}if(c.alternate!==d)throw Error(y(190));}if(3!==c.tag)throw Error(y(188));return c.stateNode.current===c?a:b}function cc(a){a=bc(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}\nfunction dc(a,b){for(var c=a.alternate;null!==b;){if(b===a||b===c)return!0;b=b.return}return!1}var ec,fc,gc,hc,ic=!1,jc=[],kc=null,lc=null,mc=null,nc=new Map,oc=new Map,pc=[],qc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction rc(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlags:c|16,nativeEvent:e,targetContainers:[d]}}function sc(a,b){switch(a){case \"focusin\":case \"focusout\":kc=null;break;case \"dragenter\":case \"dragleave\":lc=null;break;case \"mouseover\":case \"mouseout\":mc=null;break;case \"pointerover\":case \"pointerout\":nc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":oc.delete(b.pointerId)}}\nfunction tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=rc(b,c,d,e,f),null!==b&&(b=Cb(b),null!==b&&fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction uc(a,b,c,d,e){switch(b){case \"focusin\":return kc=tc(kc,a,b,c,d,e),!0;case \"dragenter\":return lc=tc(lc,a,b,c,d,e),!0;case \"mouseover\":return mc=tc(mc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;nc.set(f,tc(nc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,oc.set(f,tc(oc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction vc(a){var b=wc(a.target);if(null!==b){var c=Zb(b);if(null!==c)if(b=c.tag,13===b){if(b=$b(c),null!==b){a.blockedOn=b;hc(a.lanePriority,function(){r.unstable_runWithPriority(a.priority,function(){gc(c)})});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c)return b=Cb(c),null!==b&&fc(b),a.blockedOn=c,!1;b.shift()}return!0}function zc(a,b,c){xc(a)&&c.delete(b)}\nfunction Ac(){for(ic=!1;0<jc.length;){var a=jc[0];if(null!==a.blockedOn){a=Cb(a.blockedOn);null!==a&&ec(a);break}for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c){a.blockedOn=c;break}b.shift()}null===a.blockedOn&&jc.shift()}null!==kc&&xc(kc)&&(kc=null);null!==lc&&xc(lc)&&(lc=null);null!==mc&&xc(mc)&&(mc=null);nc.forEach(zc);oc.forEach(zc)}\nfunction Bc(a,b){a.blockedOn===b&&(a.blockedOn=null,ic||(ic=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Ac)))}\nfunction Cc(a){function b(b){return Bc(b,a)}if(0<jc.length){Bc(jc[0],a);for(var c=1;c<jc.length;c++){var d=jc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==kc&&Bc(kc,a);null!==lc&&Bc(lc,a);null!==mc&&Bc(mc,a);nc.forEach(b);oc.forEach(b);for(c=0;c<pc.length;c++)d=pc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<pc.length&&(c=pc[0],null===c.blockedOn);)vc(c),null===c.blockedOn&&pc.shift()}\nfunction Dc(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Ec={animationend:Dc(\"Animation\",\"AnimationEnd\"),animationiteration:Dc(\"Animation\",\"AnimationIteration\"),animationstart:Dc(\"Animation\",\"AnimationStart\"),transitionend:Dc(\"Transition\",\"TransitionEnd\")},Fc={},Gc={};\nfa&&(Gc=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ec.animationend.animation,delete Ec.animationiteration.animation,delete Ec.animationstart.animation),\"TransitionEvent\"in window||delete Ec.transitionend.transition);function Hc(a){if(Fc[a])return Fc[a];if(!Ec[a])return a;var b=Ec[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Gc)return Fc[a]=b[c];return a}\nvar Ic=Hc(\"animationend\"),Jc=Hc(\"animationiteration\"),Kc=Hc(\"animationstart\"),Lc=Hc(\"transitionend\"),Mc=new Map,Nc=new Map,Oc=[\"abort\",\"abort\",Ic,\"animationEnd\",Jc,\"animationIteration\",Kc,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\n\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Lc,\"transitionEnd\",\"waiting\",\"waiting\"];function Pc(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e=\"on\"+(e[0].toUpperCase()+e.slice(1));Nc.set(d,b);Mc.set(d,e);da(e,[d])}}var Qc=r.unstable_now;Qc();var F=8;\nfunction Rc(a){if(0!==(1&a))return F=15,1;if(0!==(2&a))return F=14,2;if(0!==(4&a))return F=13,4;var b=24&a;if(0!==b)return F=12,b;if(0!==(a&32))return F=11,32;b=192&a;if(0!==b)return F=10,b;if(0!==(a&256))return F=9,256;b=3584&a;if(0!==b)return F=8,b;if(0!==(a&4096))return F=7,4096;b=4186112&a;if(0!==b)return F=6,b;b=62914560&a;if(0!==b)return F=5,b;if(a&67108864)return F=4,67108864;if(0!==(a&134217728))return F=3,134217728;b=805306368&a;if(0!==b)return F=2,b;if(0!==(1073741824&a))return F=1,1073741824;\nF=8;return a}function Sc(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function Tc(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(y(358,a));}}\nfunction Uc(a,b){var c=a.pendingLanes;if(0===c)return F=0;var d=0,e=0,f=a.expiredLanes,g=a.suspendedLanes,h=a.pingedLanes;if(0!==f)d=f,e=F=15;else if(f=c&134217727,0!==f){var k=f&~g;0!==k?(d=Rc(k),e=F):(h&=f,0!==h&&(d=Rc(h),e=F))}else f=c&~g,0!==f?(d=Rc(f),e=F):0!==h&&(d=Rc(h),e=F);if(0===d)return 0;d=31-Vc(d);d=c&((0>d?0:1<<d)<<1)-1;if(0!==b&&b!==d&&0===(b&g)){Rc(b);if(e<=F)return b;F=e}b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Vc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction Wc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Xc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:return a=Yc(24&~b),0===a?Xc(10,b):a;case 10:return a=Yc(192&~b),0===a?Xc(8,b):a;case 8:return a=Yc(3584&~b),0===a&&(a=Yc(4186112&~b),0===a&&(a=512)),a;case 2:return b=Yc(805306368&~b),0===b&&(b=268435456),b}throw Error(y(358,a));}function Yc(a){return a&-a}function Zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0<jc.length&&-1<qc.indexOf(a))a=rc(null,a,b,c,d),jc.push(a);else{var f=yc(a,b,c,d);if(null===f)e&&sc(a,d);else{if(e){if(-1<qc.indexOf(a)){a=rc(f,a,b,c,d);jc.push(a);return}if(uc(f,a,b,c,d))return;sc(a,d)}jd(a,b,d,null,c)}}}}\nfunction yc(a,b,c,d){var e=xb(d);e=wc(e);if(null!==e){var f=Zb(e);if(null===f)e=null;else{var g=f.tag;if(13===g){e=$b(f);if(null!==e)return e;e=null}else if(3===g){if(f.stateNode.hydrate)return 3===f.tag?f.stateNode.containerInfo:null;e=null}else f!==e&&(e=null)}}jd(a,b,d,e,c);return null}var kd=null,ld=null,md=null;\nfunction nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}function od(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}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}m(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=m({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=m({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=m({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=m({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=m({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=m({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=m({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={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\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=m({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=m({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=m({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=m({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=m({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=fa&&\"CompositionEvent\"in window,be=null;fa&&\"documentMode\"in document&&(be=document.documentMode);var ce=fa&&\"TextEvent\"in window&&!be,de=fa&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!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<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(fa){var xe;if(fa){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));a=re;if(Kb)a(b);else{Kb=!0;try{Gb(a,b)}finally{Kb=!1,Mb()}}}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge,Ie=Object.prototype.hasOwnProperty;\nfunction Je(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!Ie.call(b,c[d])||!He(a[c[d]],b[c[d]]))return!1;return!0}function Ke(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Le(a,b){var c=Ke(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=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=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();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=Xa(a.document)}return b}function Oe(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)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nPc(\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),\n0);Pc(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);Pc(Oc,2);for(var Ve=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),We=0;We<Ve.length;We++)Nc.set(Ve[We],0);ea(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);\nea(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ea(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);ea(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);da(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));da(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));da(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);da(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));\nda(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));da(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Xe=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Ye=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(Xe));\nfunction Ze(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Yb(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}}}if(Ub)throw a=Vb,Ub=!1,Vb=null,a;}\nfunction G(a,b){var c=$e(b),d=a+\"__bubble\";c.has(d)||(af(b,a,2,!1),c.add(d))}var bf=\"_reactListening\"+Math.random().toString(36).slice(2);function cf(a){a[bf]||(a[bf]=!0,ba.forEach(function(b){Ye.has(b)||df(b,!1,a,null);df(b,!0,a,null)}))}\nfunction df(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,f=c;\"selectionchange\"===a&&9!==c.nodeType&&(f=c.ownerDocument);if(null!==d&&!b&&Ye.has(a)){if(\"scroll\"!==a)return;e|=2;f=d}var g=$e(f),h=a+\"__\"+(b?\"capture\":\"bubble\");g.has(h)||(b&&(e|=4),af(f,a,e,b),g.add(h))}\nfunction af(a,b,c,d){var e=Nc.get(b);switch(void 0===e?2:e){case 0:e=gd;break;case 1:e=id;break;default:e=hd}c=e.bind(null,b,c,a);e=void 0;!Pb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction jd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Nb(function(){var d=f,e=xb(c),g=[];\na:{var h=Mc.get(a);if(void 0!==h){var k=td,x=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":x=\"focus\";k=Fd;break;case \"focusout\":x=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case Ic:case Jc:case Kc:k=Hd;break;case Lc:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var w=0!==(b&4),z=!w&&\"scroll\"===a,u=w?null!==h?h+\"Capture\":null:h;w=[];for(var t=d,q;null!==\nt;){q=t;var v=q.stateNode;5===q.tag&&null!==v&&(q=v,null!==u&&(v=Ob(t,u),null!=v&&w.push(ef(t,v,q))));if(z)break;t=t.return}0<w.length&&(h=new k(h,x,null,c,e),g.push({event:h,listeners:w}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&0===(b&16)&&(x=c.relatedTarget||c.fromElement)&&(wc(x)||x[ff]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(x=c.relatedTarget||c.toElement,k=d,x=x?wc(x):null,null!==\nx&&(z=Zb(x),x!==z||5!==x.tag&&6!==x.tag))x=null}else k=null,x=d;if(k!==x){w=Bd;v=\"onMouseLeave\";u=\"onMouseEnter\";t=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)w=Td,v=\"onPointerLeave\",u=\"onPointerEnter\",t=\"pointer\";z=null==k?h:ue(k);q=null==x?h:ue(x);h=new w(v,t+\"leave\",k,c,e);h.target=z;h.relatedTarget=q;v=null;wc(e)===d&&(w=new w(u,t+\"enter\",x,c,e),w.target=q,w.relatedTarget=z,v=w);z=v;if(k&&x)b:{w=k;u=x;t=0;for(q=w;q;q=gf(q))t++;q=0;for(v=u;v;v=gf(v))q++;for(;0<t-q;)w=gf(w),t--;for(;0<q-t;)u=\ngf(u),q--;for(;t--;){if(w===u||null!==u&&w===u.alternate)break b;w=gf(w);u=gf(u)}w=null}else w=null;null!==k&&hf(g,h,k,w,!1);null!==x&&null!==z&&hf(g,z,x,w,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var J=ve;else if(me(h))if(we)J=Fe;else{J=De;var K=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(J=Ee);if(J&&(J=J(a,d))){ne(g,J,c,e);break a}K&&K(a,h,d);\"focusout\"===a&&(K=h._wrapperState)&&\nK.controlled&&\"number\"===h.type&&bb(h,\"number\",h.value)}K=d?ue(d):window;switch(a){case \"focusin\":if(me(K)||\"true\"===K.contentEditable)Qe=K,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var Q;if(ae)b:{switch(a){case \"compositionstart\":var L=\"onCompositionStart\";break b;case \"compositionend\":L=\"onCompositionEnd\";break b;\ncase \"compositionupdate\":L=\"onCompositionUpdate\";break b}L=void 0}else ie?ge(a,c)&&(L=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(L=\"onCompositionStart\");L&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==L?\"onCompositionEnd\"===L&&ie&&(Q=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),K=oe(d,L),0<K.length&&(L=new Ld(L,a,null,c,e),g.push({event:L,listeners:K}),Q?L.data=Q:(Q=he(c),null!==Q&&(L.data=Q))));if(Q=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),0<d.length&&(e=new Ld(\"onBeforeInput\",\n\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=Q)}se(g,b)})}function ef(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Ob(a,c),null!=f&&d.unshift(ef(a,f,e)),f=Ob(a,b),null!=f&&d.push(ef(a,f,e)));a=a.return}return d}function gf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction hf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Ob(c,f),null!=k&&g.unshift(ef(c,k,h))):e||(k=Ob(c,f),null!=k&&g.push(ef(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}function jf(){}var kf=null,lf=null;function mf(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction nf(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 of=\"function\"===typeof setTimeout?setTimeout:void 0,pf=\"function\"===typeof clearTimeout?clearTimeout:void 0;function qf(a){1===a.nodeType?a.textContent=\"\":9===a.nodeType&&(a=a.body,null!=a&&(a.textContent=\"\"))}\nfunction rf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}function sf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var tf=0;function uf(a){return{$$typeof:Ga,toString:a,valueOf:a}}var vf=Math.random().toString(36).slice(2),wf=\"__reactFiber$\"+vf,xf=\"__reactProps$\"+vf,ff=\"__reactContainer$\"+vf,yf=\"__reactEvents$\"+vf;\nfunction wc(a){var b=a[wf];if(b)return b;for(var c=a.parentNode;c;){if(b=c[ff]||c[wf]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=sf(a);null!==a;){if(c=a[wf])return c;a=sf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[wf]||a[ff];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(y(33));}function Db(a){return a[xf]||null}\nfunction $e(a){var b=a[yf];void 0===b&&(b=a[yf]=new Set);return b}var zf=[],Af=-1;function Bf(a){return{current:a}}function H(a){0>Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction 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 Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction 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(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});ag=null}catch(c){throw null!==ag&&(ag=ag.slice(a+1)),Of(Uf,ig),c;}finally{cg=!1}}}var kg=ra.ReactCurrentBatchConfig;function lg(a,b){if(a&&a.defaultProps){b=m({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var mg=Bf(null),ng=null,og=null,pg=null;function qg(){pg=og=ng=null}\nfunction rg(a){var b=mg.current;H(mg);a.type._context._currentValue=b}function sg(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)===b)if(null===c||(c.childLanes&b)===b)break;else c.childLanes|=b;else a.childLanes|=b,null!==c&&(c.childLanes|=b);a=a.return}}function tg(a,b){ng=a;pg=og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(ug=!0),a.firstContext=null)}\nfunction vg(a,b){if(pg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)pg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===og){if(null===ng)throw Error(y(308));og=b;ng.dependencies={lanes:0,firstContext:b,responders:null}}else og=og.next=b}return a._currentValue}var wg=!1;function xg(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}\nfunction yg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function zg(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}function Ag(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction Bg(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction Cg(a,b,c,d){var e=a.updateQueue;wg=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var n=a.alternate;if(null!==n){n=n.updateQueue;var A=n.lastBaseUpdate;A!==g&&(null===A?n.firstBaseUpdate=l:A.next=l,n.lastBaseUpdate=k)}}if(null!==f){A=e.baseState;g=0;n=l=k=null;do{h=f.lane;var p=f.eventTime;if((d&h)===h){null!==n&&(n=n.next={eventTime:p,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,\nnext:null});a:{var C=a,x=f;h=b;p=c;switch(x.tag){case 1:C=x.payload;if(\"function\"===typeof C){A=C.call(p,A,h);break a}A=C;break a;case 3:C.flags=C.flags&-4097|64;case 0:C=x.payload;h=\"function\"===typeof C?C.call(p,A,h):C;if(null===h||void 0===h)break a;A=m({},A,h);break a;case 2:wg=!0}}null!==f.callback&&(a.flags|=32,h=e.effects,null===h?e.effects=[f]:h.push(f))}else p={eventTime:p,lane:h,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===n?(l=n=p,k=A):n=n.next=p,g|=h;f=f.next;if(null===\nf)if(h=e.shared.pending,null===h)break;else f=h.next,h.next=null,e.lastBaseUpdate=h,e.shared.pending=null}while(1);null===n&&(k=A);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=n;Dg|=g;a.lanes=g;a.memoizedState=A}}function Eg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(y(191,e));e.call(d)}}}var Fg=(new aa.Component).refs;\nfunction Gg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:m({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Kg={isMounted:function(a){return(a=a._reactInternals)?Zb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=Hg(),d=Ig(a),e=zg(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=\nb);Ag(a,e);Jg(a,d,c)}};function Lg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Je(c,d)||!Je(e,f):!0}\nfunction Mg(a,b,c){var d=!1,e=Cf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=vg(f):(e=Ff(b)?Df:M.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Ef(a,e):Cf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Kg;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Ng(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Kg.enqueueReplaceState(b,b.state,null)}\nfunction Og(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Fg;xg(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=vg(f):(f=Ff(b)?Df:M.current,e.context=Ef(a,f));Cg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Gg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Kg.enqueueReplaceState(e,e.state,null),Cg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4)}var Pg=Array.isArray;\nfunction Qg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(y(309));var d=c.stateNode}if(!d)throw Error(y(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Fg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(y(284));if(!c._owner)throw Error(y(290,a));}return a}\nfunction Rg(a,b){if(\"textarea\"!==a.type)throw Error(y(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b));}\nfunction Sg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.flags=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Tg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags=2,\nc):d;b.flags=2;return c}function g(b){a&&null===b.alternate&&(b.flags=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Ug(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Qg(a,b,c),d.return=a,d;d=Vg(c.type,c.key,c.props,null,a.mode,d);d.ref=Qg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=\nWg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function n(a,b,c,d,f){if(null===b||7!==b.tag)return b=Xg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function A(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Ug(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case sa:return c=Vg(b.type,b.key,b.props,null,a.mode,c),c.ref=Qg(a,null,b),c.return=a,c;case ta:return b=Wg(b,a.mode,c),b.return=a,b}if(Pg(b)||La(b))return b=Xg(b,\na.mode,c,null),b.return=a,b;Rg(a,b)}return null}function p(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case sa:return c.key===e?c.type===ua?n(a,b,c.props.children,d,e):k(a,b,c,d):null;case ta:return c.key===e?l(a,b,c,d):null}if(Pg(c)||La(c))return null!==e?null:n(a,b,c,d,null);Rg(a,c)}return null}function C(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||\nnull,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case sa:return a=a.get(null===d.key?c:d.key)||null,d.type===ua?n(b,a,d.props.children,e,d.key):k(b,a,d,e);case ta:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Pg(d)||La(d))return a=a.get(c)||null,n(b,a,d,e,null);Rg(b,d)}return null}function x(e,g,h,k){for(var l=null,t=null,u=g,z=g=0,q=null;null!==u&&z<h.length;z++){u.index>z?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;z<h.length;z++)u=A(e,h[z],k),null!==u&&(g=f(u,g,z),null===t?l=u:t.sibling=u,t=u);return l}for(u=d(e,u);z<h.length;z++)q=C(u,e,z,h[z],k),null!==q&&(a&&null!==q.alternate&&u.delete(null===q.key?z:q.key),g=f(q,g,z),null===t?l=q:t.sibling=q,t=q);a&&u.forEach(function(a){return b(e,a)});return l}function w(e,g,h,k){var l=La(h);if(\"function\"!==typeof l)throw Error(y(150));h=l.call(h);if(null==\nh)throw Error(y(151));for(var t=l=null,u=g,z=g=0,q=null,n=h.next();null!==u&&!n.done;z++,n=h.next()){u.index>z?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta: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||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(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||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&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}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(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 ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;a<th.length;a++)th[a]._workInProgressVersionPrimary=null;th.length=0}var vh=ra.ReactCurrentDispatcher,wh=ra.ReactCurrentBatchConfig,xh=0,R=null,S=null,T=null,yh=!1,zh=!1;function Ah(){throw Error(y(321));}function Bh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Ch(a,b,c,d,e,f){xh=f;R=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;vh.current=null===a||null===a.memoizedState?Dh:Eh;a=c(d,e);if(zh){f=0;do{zh=!1;if(!(25>f))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0<h;){var k=31-Vc(h),v=1<<k;d[k]|=a;h&=~v}}},[c,b,d]);h.useEffect(function(){return d(b._source,function(){var a=p.getSnapshot,c=p.setSnapshot;try{c(a(b._source));var d=Ig(w);e.mutableReadLanes|=d&e.pendingLanes}catch(q){c(function(){throw q;})}})},[b,d]);He(C,c)&&He(x,b)&&He(A,d)||(a={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:n},a.dispatch=l=Oh.bind(null,R,a),k.queue=a,k.baseQueue=null,n=Mh(e,b,c),k.memoizedState=k.baseState=n);return n}\nfunction Ph(a,b,c){var d=Ih();return Nh(d,a,b,c)}function Qh(a){var b=Hh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:a};a=a.dispatch=Oh.bind(null,R,a);return[b.memoizedState,a]}\nfunction Rh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=R.updateQueue;null===b?(b={lastEffect:null},R.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function Sh(a){var b=Hh();a={current:a};return b.memoizedState=a}function Th(){return Ih().memoizedState}function Uh(a,b,c,d){var e=Hh();R.flags|=a;e.memoizedState=Rh(1|b,c,void 0,void 0===d?null:d)}\nfunction Vh(a,b,c,d){var e=Ih();d=void 0===d?null:d;var f=void 0;if(null!==S){var g=S.memoizedState;f=g.destroy;if(null!==d&&Bh(d,g.deps)){Rh(b,c,f,d);return}}R.flags|=a;e.memoizedState=Rh(1|b,c,f,d)}function Wh(a,b){return Uh(516,4,a,b)}function Xh(a,b){return Vh(516,4,a,b)}function Yh(a,b){return Vh(4,2,a,b)}function 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}}\nfunction $h(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,2,Zh.bind(null,b,a),c)}function ai(){}function bi(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}function ci(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}\nfunction di(a,b){var c=eg();gg(98>c?98:c,function(){a(!0)});gg(97<c?97:c,function(){var c=wh.transition;wh.transition=1;try{a(!1),b()}finally{wh.transition=c}})}\nfunction Oh(a,b,c){var d=Hg(),e=Ig(a),f={lane:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.pending;null===g?f.next=f:(f.next=g.next,g.next=f);b.pending=f;g=a.alternate;if(a===R||null!==g&&g===R)zh=yh=!0;else{if(0===a.lanes&&(null===g||0===g.lanes)&&(g=b.lastRenderedReducer,null!==g))try{var h=b.lastRenderedState,k=g(h,c);f.eagerReducer=g;f.eagerState=k;if(He(k,h))return}catch(l){}finally{}Jg(a,e,d)}}\nvar Gh={readContext:vg,useCallback:Ah,useContext:Ah,useEffect:Ah,useImperativeHandle:Ah,useLayoutEffect:Ah,useMemo:Ah,useReducer:Ah,useRef:Ah,useState:Ah,useDebugValue:Ah,useDeferredValue:Ah,useTransition:Ah,useMutableSource:Ah,useOpaqueIdentifier:Ah,unstable_isNewReconciler:!1},Dh={readContext:vg,useCallback:function(a,b){Hh().memoizedState=[a,void 0===b?null:b];return a},useContext:vg,useEffect:Wh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Uh(4,2,Zh.bind(null,\nb,a),c)},useLayoutEffect:function(a,b){return Uh(4,2,a,b)},useMemo:function(a,b){var c=Hh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Hh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Oh.bind(null,R,a);return[d.memoizedState,a]},useRef:Sh,useState:Qh,useDebugValue:ai,useDeferredValue:function(a){var b=Qh(a),c=b[0],d=b[1];Wh(function(){var b=wh.transition;\nwh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Qh(!1),b=a[0];a=di.bind(null,a[1]);Sh(a);return[a,b]},useMutableSource:function(a,b,c){var d=Hh();d.memoizedState={refs:{getSnapshot:b,setSnapshot:null},source:a,subscribe:c};return Nh(d,a,b,c)},useOpaqueIdentifier:function(){if(lh){var a=!1,b=uf(function(){a||(a=!0,c(\"r:\"+(tf++).toString(36)));throw Error(y(355));}),c=Qh(b)[1];0===(R.mode&2)&&(R.flags|=516,Rh(5,function(){c(\"r:\"+(tf++).toString(36))},\nvoid 0,null));return b}b=\"r:\"+(tf++).toString(36);Qh(b);return b},unstable_isNewReconciler:!1},Eh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Kh,useRef:Th,useState:function(){return Kh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Kh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Kh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Kh(Jh)[0]},unstable_isNewReconciler:!1},Fh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Lh,useRef:Th,useState:function(){return Lh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Lh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Lh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Lh(Jh)[0]},unstable_isNewReconciler:!1},ei=ra.ReactCurrentOwner,ug=!1;function fi(a,b,c,d){b.child=null===a?Zg(b,null,c,d):Yg(b,a.child,c,d)}function gi(a,b,c,d,e){c=c.render;var f=b.ref;tg(b,e);d=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,d,e);return b.child}\nfunction ii(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!ji(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ki(a,b,g,d,e,f);a=Vg(c.type,null,d,b,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===(e&f)&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Je,c(e,d)&&a.ref===b.ref))return hi(a,b,f);b.flags|=1;a=Tg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ki(a,b,c,d,e,f){if(null!==a&&Je(a.memoizedProps,d)&&a.ref===b.ref)if(ug=!1,0!==(f&e))0!==(a.flags&16384)&&(ug=!0);else return b.lanes=a.lanes,hi(a,b,f);return li(a,b,c,d,f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode||\"unstable-defer-without-hiding\"===d.mode)if(0===(b.mode&4))b.memoizedState={baseLanes:0},ni(b,c);else if(0!==(c&1073741824))b.memoizedState={baseLanes:0},ni(b,null!==f?f.baseLanes:c);else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a},ni(b,a),null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,ni(b,d);fi(a,b,e,c);return b.child}\nfunction oi(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=128}function li(a,b,c,d,e){var f=Ff(c)?Df:M.current;f=Ef(b,f);tg(b,e);c=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,c,e);return b.child}\nfunction pi(a,b,c,d,e){if(Ff(c)){var f=!0;Jf(b)}else f=!1;tg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Mg(b,c,d),Og(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=vg(l):(l=Ff(c)?Df:M.current,l=Ef(b,l));var n=c.getDerivedStateFromProps,A=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;A||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Ng(b,g,d,l);wg=!1;var p=b.memoizedState;g.state=p;Cg(b,d,g,e);k=b.memoizedState;h!==d||p!==k||N.current||wg?(\"function\"===typeof n&&(Gg(b,c,n,d),k=b.memoizedState),(h=wg||Lg(b,c,h,d,p,k,l))?(A||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:lg(b.type,h);g.props=l;A=b.pendingProps;p=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=vg(k):(k=Ff(c)?Df:M.current,k=Ef(b,k));var C=c.getDerivedStateFromProps;(n=\"function\"===typeof C||\n\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==A||p!==k)&&Ng(b,g,d,k);wg=!1;p=b.memoizedState;g.state=p;Cg(b,d,g,e);var x=b.memoizedState;h!==A||p!==x||N.current||wg?(\"function\"===typeof C&&(Gg(b,c,C,d),x=b.memoizedState),(l=wg||Lg(b,c,l,d,p,x,k))?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||\nh===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),d=!1)}return qi(a,b,c,d,f,e)}\nfunction qi(a,b,c,d,e,f){oi(a,b);var g=0!==(b.flags&64);if(!d&&!g)return e&&Kf(b,c,!1),hi(a,b,f);d=b.stateNode;ei.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Yg(b,a.child,null,f),b.child=Yg(b,null,h,f)):fi(a,b,h,f);b.memoizedState=d.state;e&&Kf(b,c,!0);return b.child}function ri(a){var b=a.stateNode;b.pendingContext?Hf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Hf(a,b.context,!1);eh(a,b.containerInfo)}\nvar si={dehydrated:null,retryLane:0};\nfunction ti(a,b,c){var d=b.pendingProps,e=P.current,f=!1,g;(g=0!==(b.flags&64))||(g=null!==a&&null===a.memoizedState?!1:0!==(e&2));g?(f=!0,b.flags&=-65):null!==a&&null===a.memoizedState||void 0===d.fallback||!0===d.unstable_avoidThisFallback||(e|=1);I(P,e&1);if(null===a){void 0!==d.fallback&&ph(b);a=d.children;e=d.fallback;if(f)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=si,a;if(\"number\"===typeof d.unstable_expectedLoadTime)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},\nb.memoizedState=si,b.lanes=33554432,a;c=vi({mode:\"visible\",children:a},b.mode,c,null);c.return=b;return b.child=c}if(null!==a.memoizedState){if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:\n{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}function ui(a,b,c,d){var e=a.mode,f=a.child;b={mode:\"hidden\",children:b};0===(e&2)&&null!==f?(f.childLanes=0,f.pendingProps=b):f=vi(b,e,0,null);c=Xg(c,e,d,null);f.return=a;c.return=a;f.sibling=c;a.child=f;return c}\nfunction xi(a,b,c,d){var e=a.child;a=e.sibling;c=Tg(e,{mode:\"visible\",children:c});0===(b.mode&2)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(a.nextEffect=null,a.flags=8,b.firstEffect=b.lastEffect=a);return b.child=c}\nfunction wi(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:\"hidden\",children:c};0===(f&2)&&b.child!==g?(c=b.child,c.childLanes=0,c.pendingProps=h,g=c.lastEffect,null!==g?(b.firstEffect=c.firstEffect,b.lastEffect=g,g.nextEffect=null):b.firstEffect=b.lastEffect=null):c=Tg(g,h);null!==a?d=Tg(a,d):(d=Xg(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yi(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);sg(a.return,b)}\nfunction zi(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailMode=e,g.lastEffect=f)}\nfunction Ai(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;fi(a,b,d.children,c);d=P.current;if(0!==(d&2))d=d&1|2,b.flags|=64;else{if(null!==a&&0!==(a.flags&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&yi(a,c);else if(19===a.tag)yi(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(P,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===ih(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);zi(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===ih(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}zi(b,!0,c,null,f,b.lastEffect);break;case \"together\":zi(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction hi(a,b,c){null!==a&&(b.dependencies=a.dependencies);Dg|=b.lanes;if(0!==(c&b.childLanes)){if(null!==a&&b.child!==a.child)throw Error(y(153));if(null!==b.child){a=b.child;c=Tg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Tg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}return null}var Bi,Ci,Di,Ei;\nBi=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Ci=function(){};\nDi=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;dh(ah.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"option\":e=eb(a,e);d=eb(a,d);f=[];break;case \"select\":e=m({},e,{value:void 0});d=m({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=jf)}vb(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===\nl){var h=e[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ca.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||\n(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,c)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ca.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&G(\"scroll\",a),f||h===k||(f=[])):\"object\"===typeof k&&null!==k&&k.$$typeof===Ga?k.toString():(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",\nc);var l=f;if(b.updateQueue=l)b.flags|=4}};Ei=function(a,b,c,d){c!==d&&(b.flags|=4)};function Fi(a,b){if(!lh)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction Gi(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return Ff(b.type)&&Gf(),null;case 3:fh();H(N);H(M);uh();d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)rh(b)?b.flags|=4:d.hydrate||(b.flags|=256);Ci(b);return null;case 5:hh(b);var e=dh(ch.current);c=b.type;if(null!==a&&null!=b.stateNode)Di(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=128);else{if(!d){if(null===\nb.stateNode)throw Error(y(166));return null}a=dh(ah.current);if(rh(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[wf]=b;d[xf]=f;switch(c){case \"dialog\":G(\"cancel\",d);G(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<Xe.length;a++)G(Xe[a],d);break;case \"source\":G(\"error\",d);break;case \"img\":case \"image\":case \"link\":G(\"error\",d);G(\"load\",d);break;case \"details\":G(\"toggle\",d);break;case \"input\":Za(d,f);G(\"invalid\",d);break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};G(\"invalid\",d);break;case \"textarea\":hb(d,f),G(\"invalid\",d)}vb(c,f);a=null;for(var g in f)f.hasOwnProperty(g)&&(e=f[g],\"children\"===g?\"string\"===typeof e?d.textContent!==e&&(a=[\"children\",e]):\"number\"===typeof e&&d.textContent!==\"\"+e&&(a=[\"children\",\"\"+e]):ca.hasOwnProperty(g)&&null!=e&&\"onScroll\"===g&&G(\"scroll\",d));switch(c){case \"input\":Va(d);cb(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=\njf)}d=a;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;a===kb.html&&(a=lb(c));a===kb.html?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<Xe.length;e++)G(Xe[e],a);e=d;break;case \"source\":G(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":G(\"error\",a);G(\"load\",a);e=d;break;case \"details\":G(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);G(\"invalid\",a);break;case \"option\":e=eb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=m({},d,{value:void 0});G(\"invalid\",a);break;case \"textarea\":hb(a,d);e=\ngb(a,d);G(\"invalid\",a);break;default:e=d}vb(c,e);var h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?tb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&ob(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==c||\"\"!==k)&&pb(a,k):\"number\"===typeof k&&pb(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ca.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&G(\"scroll\",a):null!=k&&qa(a,f,k,g))}switch(c){case \"input\":Va(a);cb(a,d,!1);\nbreak;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=jf)}mf(c,d)&&(b.flags|=4)}null!==b.ref&&(b.flags|=128)}return null;case 6:if(a&&null!=b.stateNode)Ei(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(y(166));\nc=dh(ch.current);dh(ah.current);rh(b)?(d=b.stateNode,c=b.memoizedProps,d[wf]=b,d.nodeValue!==c&&(b.flags|=4)):(d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[wf]=b,b.stateNode=d)}return null;case 13:H(P);d=b.memoizedState;if(0!==(b.flags&64))return b.lanes=c,b;d=null!==d;c=!1;null===a?void 0!==b.memoizedProps.fallback&&rh(b):c=null!==a.memoizedState;if(d&&!c&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(P.current&1))0===V&&(V=3);else{if(0===V||3===V)V=\n4;null===U||0===(Dg&134217727)&&0===(Hi&134217727)||Ii(U,W)}if(d||c)b.flags|=4;return null;case 4:return fh(),Ci(b),null===a&&cf(b.stateNode.containerInfo),null;case 10:return rg(b),null;case 17:return Ff(b.type)&&Gf(),null;case 19:H(P);d=b.memoizedState;if(null===d)return null;f=0!==(b.flags&64);g=d.rendering;if(null===g)if(f)Fi(d,!1);else{if(0!==V||null!==a&&0!==(a.flags&64))for(a=b.child;null!==a;){g=ih(a);if(null!==g){b.flags|=64;Fi(d,!1);f=g.updateQueue;null!==f&&(b.updateQueue=f,b.flags|=4);\nnull===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,\nf.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;I(P,P.current&1|2);return b.child}a=a.sibling}null!==d.tail&&O()>Ji&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;e<f.length;e+=\n2){var g=f[e],h=f[e+1];\"style\"===g?tb(c,h):\"dangerouslySetInnerHTML\"===g?ob(c,h):\"children\"===g?pb(c,h):qa(c,g,h,b)}switch(a){case \"input\":ab(c,d);break;case \"textarea\":ib(c,d);break;case \"select\":a=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?fb(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?fb(c,!!d.multiple,d.defaultValue,!0):fb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(y(162));b.stateNode.nodeValue=\nb.memoizedProps;return;case 3:c=b.stateNode;c.hydrate&&(c.hydrate=!1,Cc(c.containerInfo));return;case 12:return;case 13:null!==b.memoizedState&&(jj=O(),aj(b.child,!0));kj(b);return;case 19:kj(b);return;case 17:return;case 23:case 24:aj(b,null!==b.memoizedState);return}throw Error(y(163));}function kj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ui);b.forEach(function(b){var d=lj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction mj(a,b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}var nj=Math.ceil,oj=ra.ReactCurrentDispatcher,pj=ra.ReactCurrentOwner,X=0,U=null,Y=null,W=0,qj=0,rj=Bf(0),V=0,sj=null,tj=0,Dg=0,Hi=0,uj=0,vj=null,jj=0,Ji=Infinity;function wj(){Ji=O()+500}var Z=null,Qi=!1,Ri=null,Ti=null,xj=!1,yj=null,zj=90,Aj=[],Bj=[],Cj=null,Dj=0,Ej=null,Fj=-1,Gj=0,Hj=0,Ij=null,Jj=!1;function Hg(){return 0!==(X&48)?O():-1!==Fj?Fj:Fj=O()}\nfunction Ig(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===eg()?1:2;0===Gj&&(Gj=tj);if(0!==kg.transition){0!==Hj&&(Hj=null!==vj?vj.pendingLanes:0);a=Gj;var b=4186112&~Hj;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=eg();0!==(X&4)&&98===a?a=Xc(12,Gj):(a=Sc(a),a=Xc(a,Gj));return a}\nfunction Jg(a,b,c){if(50<Dj)throw Dj=0,Ej=null,Error(y(185));a=Kj(a,b);if(null===a)return null;$c(a,b,c);a===U&&(Hi|=b,4===V&&Ii(a,W));var d=eg();1===b?0!==(X&8)&&0===(X&48)?Lj(a):(Mj(a,c),0===X&&(wj(),ig())):(0===(X&4)||98!==d&&99!==d||(null===Cj?Cj=new Set([a]):Cj.add(a)),Mj(a,c));vj=a}function Kj(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}\nfunction Mj(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedLanes,f=a.expirationTimes,g=a.pendingLanes;0<g;){var h=31-Vc(g),k=1<<h,l=f[h];if(-1===l){if(0===(k&d)||0!==(k&e)){l=b;Rc(k);var n=F;f[h]=10<=n?l+250:6<=n?l+5E3:-1}}else l<=b&&(a.expiredLanes|=k);g&=~k}d=Uc(a,a===U?W:0);b=F;if(0===d)null!==c&&(c!==Zf&&Pf(c),a.callbackNode=null,a.callbackPriority=0);else{if(null!==c){if(a.callbackPriority===b)return;c!==Zf&&Pf(c)}15===b?(c=Lj.bind(null,a),null===ag?(ag=[c],bg=Of(Uf,jg)):ag.push(c),\nc=Zf):14===b?c=hg(99,Lj.bind(null,a)):(c=Tc(b),c=hg(c,Nj.bind(null,a)));a.callbackPriority=b;a.callbackNode=c}}\nfunction Nj(a){Fj=-1;Hj=Gj=0;if(0!==(X&48))throw Error(y(327));var b=a.callbackNode;if(Oj()&&a.callbackNode!==b)return null;var c=Uc(a,a===U?W:0);if(0===c)return null;var d=c;var e=X;X|=16;var f=Pj();if(U!==a||W!==d)wj(),Qj(a,d);do try{Rj();break}catch(h){Sj(a,h)}while(1);qg();oj.current=f;X=e;null!==Y?d=0:(U=null,W=0,d=V);if(0!==(tj&Hi))Qj(a,0);else if(0!==d){2===d&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),c=Wc(a),0!==c&&(d=Tj(a,c)));if(1===d)throw b=sj,Qj(a,0),Ii(a,c),Mj(a,O()),b;a.finishedWork=\na.current.alternate;a.finishedLanes=c;switch(d){case 0:case 1:throw Error(y(345));case 2:Uj(a);break;case 3:Ii(a,c);if((c&62914560)===c&&(d=jj+500-O(),10<d)){if(0!==Uc(a,0))break;e=a.suspendedLanes;if((e&c)!==c){Hg();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=of(Uj.bind(null,a),d);break}Uj(a);break;case 4:Ii(a,c);if((c&4186112)===c)break;d=a.eventTimes;for(e=-1;0<c;){var g=31-Vc(c);f=1<<g;g=d[g];g>e&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10<c){a.timeoutHandle=of(Uj.bind(null,a),c);break}Uj(a);break;case 5:Uj(a);break;default:throw Error(y(329));}}Mj(a,O());return a.callbackNode===b?Nj.bind(null,a):null}function Ii(a,b){b&=~uj;b&=~Hi;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Vc(b),d=1<<c;a[c]=-1;b&=~d}}\nfunction Lj(a){if(0!==(X&48))throw Error(y(327));Oj();if(a===U&&0!==(a.expiredLanes&W)){var b=W;var c=Tj(a,b);0!==(tj&Hi)&&(b=Uc(a,b),c=Tj(a,b))}else b=Uc(a,0),c=Tj(a,b);0!==a.tag&&2===c&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),b=Wc(a),0!==b&&(c=Tj(a,b)));if(1===c)throw c=sj,Qj(a,0),Ii(a,b),Mj(a,O()),c;a.finishedWork=a.current.alternate;a.finishedLanes=b;Uj(a);Mj(a,O());return null}\nfunction Vj(){if(null!==Cj){var a=Cj;Cj=null;a.forEach(function(a){a.expiredLanes|=24&a.pendingLanes;Mj(a,O())})}ig()}function Wj(a,b){var c=X;X|=1;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function Xj(a,b){var c=X;X&=-2;X|=8;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function ni(a,b){I(rj,qj);qj|=b;tj|=b}function Ki(){qj=rj.current;H(rj)}\nfunction Qj(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,pf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Gf();break;case 3:fh();H(N);H(M);uh();break;case 5:hh(d);break;case 4:fh();break;case 13:H(P);break;case 19:H(P);break;case 10:rg(d);break;case 23:case 24:Ki()}c=c.return}U=a;Y=Tg(a.current,null);W=qj=tj=b;V=0;sj=null;uj=Hi=Dg=0}\nfunction Sj(a,b){do{var c=Y;try{qg();vh.current=Gh;if(yh){for(var d=R.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}yh=!1}xh=0;T=S=R=null;zh=!1;pj.current=null;if(null===c||null===c.return){V=1;sj=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=W;h.flags|=2048;h.firstEffect=h.lastEffect=null;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k;if(0===(h.mode&2)){var n=h.alternate;n?(h.updateQueue=n.updateQueue,h.memoizedState=n.memoizedState,h.lanes=n.lanes):\n(h.updateQueue=null,h.memoizedState=null)}var A=0!==(P.current&1),p=g;do{var C;if(C=13===p.tag){var x=p.memoizedState;if(null!==x)C=null!==x.dehydrated?!0:!1;else{var w=p.memoizedProps;C=void 0===w.fallback?!1:!0!==w.unstable_avoidThisFallback?!0:A?!1:!0}}if(C){var z=p.updateQueue;if(null===z){var u=new Set;u.add(l);p.updateQueue=u}else z.add(l);if(0===(p.mode&2)){p.flags|=64;h.flags|=16384;h.flags&=-2981;if(1===h.tag)if(null===h.alternate)h.tag=17;else{var t=zg(-1,1);t.tag=2;Ag(h,t)}h.lanes|=1;break a}k=\nvoid 0;h=b;var q=f.pingCache;null===q?(q=f.pingCache=new Oi,k=new Set,q.set(l,k)):(k=q.get(l),void 0===k&&(k=new Set,q.set(l,k)));if(!k.has(h)){k.add(h);var v=Yj.bind(null,f,l,h);l.then(v,v)}p.flags|=4096;p.lanes=b;break a}p=p.return}while(null!==p);k=Error((Ra(h.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1<b.flags&&(null!==\na.lastEffect?a.lastEffect.nextEffect=b:a.firstEffect=b,a.lastEffect=b))}else{c=Li(b);if(null!==c){c.flags&=2047;Y=c;return}null!==a&&(a.firstEffect=a.lastEffect=null,a.flags|=2048)}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===V&&(V=5)}function Uj(a){var b=eg();gg(99,dk.bind(null,a,b));return null}\nfunction dk(a,b){do Oj();while(null!==yj);if(0!==(X&48))throw Error(y(327));var c=a.finishedWork;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(y(177));a.callbackNode=null;var d=c.lanes|c.childLanes,e=d,f=a.pendingLanes&~e;a.pendingLanes=e;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=e;a.mutableReadLanes&=e;a.entangledLanes&=e;e=a.entanglements;for(var g=a.eventTimes,h=a.expirationTimes;0<f;){var k=31-Vc(f),l=1<<k;e[k]=0;g[k]=-1;h[k]=-1;f&=~l}null!==\nCj&&0===(d&24)&&Cj.has(a)&&Cj.delete(a);a===U&&(Y=U=null,W=0);1<c.flags?null!==c.lastEffect?(c.lastEffect.nextEffect=c,d=c.firstEffect):d=c:d=c.firstEffect;if(null!==d){e=X;X|=32;pj.current=null;kf=fd;g=Ne();if(Oe(g)){if(\"selectionStart\"in g)h={start:g.selectionStart,end:g.selectionEnd};else a:if(h=(h=g.ownerDocument)&&h.defaultView||window,(l=h.getSelection&&h.getSelection())&&0!==l.rangeCount){h=l.anchorNode;f=l.anchorOffset;k=l.focusNode;l=l.focusOffset;try{h.nodeType,k.nodeType}catch(va){h=null;\nbreak a}var n=0,A=-1,p=-1,C=0,x=0,w=g,z=null;b:for(;;){for(var u;;){w!==h||0!==f&&3!==w.nodeType||(A=n+f);w!==k||0!==l&&3!==w.nodeType||(p=n+l);3===w.nodeType&&(n+=w.nodeValue.length);if(null===(u=w.firstChild))break;z=w;w=u}for(;;){if(w===g)break b;z===h&&++C===f&&(A=n);z===k&&++x===l&&(p=n);if(null!==(u=w.nextSibling))break;w=z;z=w.parentNode}w=u}h=-1===A||-1===p?null:{start:A,end:p}}else h=null;h=h||{start:0,end:0}}else h=null;lf={focusedElem:g,selectionRange:h};fd=!1;Ij=null;Jj=!1;Z=d;do try{ek()}catch(va){if(null===\nZ)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Ij=null;Z=d;do try{for(g=a;null!==Z;){var t=Z.flags;t&16&&pb(Z.stateNode,\"\");if(t&128){var q=Z.alternate;if(null!==q){var v=q.ref;null!==v&&(\"function\"===typeof v?v(null):v.current=null)}}switch(t&1038){case 2:fj(Z);Z.flags&=-3;break;case 6:fj(Z);Z.flags&=-3;ij(Z.alternate,Z);break;case 1024:Z.flags&=-1025;break;case 1028:Z.flags&=-1025;ij(Z.alternate,Z);break;case 4:ij(Z.alternate,Z);break;case 8:h=Z;cj(g,h);var J=h.alternate;dj(h);null!==\nJ&&dj(J)}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);v=lf;q=Ne();t=v.focusedElem;g=v.selectionRange;if(q!==t&&t&&t.ownerDocument&&Me(t.ownerDocument.documentElement,t)){null!==g&&Oe(t)&&(q=g.start,v=g.end,void 0===v&&(v=q),\"selectionStart\"in t?(t.selectionStart=q,t.selectionEnd=Math.min(v,t.value.length)):(v=(q=t.ownerDocument||document)&&q.defaultView||window,v.getSelection&&(v=v.getSelection(),h=t.textContent.length,J=Math.min(g.start,h),g=void 0===\ng.end?J:Math.min(g.end,h),!v.extend&&J>g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;t<q.length;t++)v=q[t],v.element.scrollLeft=v.left,v.element.scrollTop=v.top}fd=!!kf;lf=kf=null;a.current=c;Z=d;do try{for(t=a;null!==Z;){var K=Z.flags;K&36&&Yi(t,Z.alternate,Z);if(K&128){q=void 0;var Q=Z.ref;if(null!==Q){var L=Z.stateNode;switch(Z.tag){case 5:q=L;break;default:q=L}\"function\"===typeof Q?Q(q):Q.current=q}}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Z=null;$f();X=e}else a.current=c;if(xj)xj=!1,yj=a,zj=b;else for(Z=d;null!==Z;)b=\nZ.nextEffect,Z.nextEffect=null,Z.flags&8&&(K=Z,K.sibling=null,K.stateNode=null),Z=b;d=a.pendingLanes;0===d&&(Ti=null);1===d?a===Ej?Dj++:(Dj=0,Ej=a):Dj=0;c=c.stateNode;if(Mf&&\"function\"===typeof Mf.onCommitFiberRoot)try{Mf.onCommitFiberRoot(Lf,c,void 0,64===(c.current.flags&64))}catch(va){}Mj(a,O());if(Qi)throw Qi=!1,a=Ri,Ri=null,a;if(0!==(X&8))return null;ig();return null}\nfunction ek(){for(;null!==Z;){var a=Z.alternate;Jj||null===Ij||(0!==(Z.flags&8)?dc(Z,Ij)&&(Jj=!0):13===Z.tag&&mj(a,Z)&&dc(Z,Ij)&&(Jj=!0));var b=Z.flags;0!==(b&256)&&Xi(a,Z);0===(b&512)||xj||(xj=!0,hg(97,function(){Oj();return null}));Z=Z.nextEffect}}function Oj(){if(90!==zj){var a=97<zj?97:zj;zj=90;return gg(a,fk)}return!1}function $i(a,b){Aj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}function Zi(a,b){Bj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}\nfunction fk(){if(null===yj)return!1;var a=yj;yj=null;if(0!==(X&48))throw Error(y(331));var b=X;X|=32;var c=Bj;Bj=[];for(var d=0;d<c.length;d+=2){var e=c[d],f=c[d+1],g=e.destroy;e.destroy=void 0;if(\"function\"===typeof g)try{g()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}c=Aj;Aj=[];for(d=0;d<c.length;d+=2){e=c[d];f=c[d+1];try{var h=e.create;e.destroy=h()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}for(h=a.current.firstEffect;null!==h;)a=h.nextEffect,h.nextEffect=null,h.flags&8&&(h.sibling=\nnull,h.stateNode=null),h=a;X=b;ig();return!0}function gk(a,b,c){b=Mi(c,b);b=Pi(a,b,1);Ag(a,b);b=Hg();a=Kj(a,1);null!==a&&($c(a,1,b),Mj(a,b))}\nfunction Wi(a,b){if(3===a.tag)gk(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){gk(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d))){a=Mi(b,a);var e=Si(c,a,1);Ag(c,e);e=Hg();c=Kj(c,1);if(null!==c)$c(c,1,e),Mj(c,e);else if(\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d)))try{d.componentDidCatch(b,a)}catch(f){}break}}c=c.return}}\nfunction Yj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=Hg();a.pingedLanes|=a.suspendedLanes&c;U===a&&(W&c)===c&&(4===V||3===V&&(W&62914560)===W&&500>O()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e<a.length;e+=2)f=a[e],f._workInProgressVersionPrimary=a[e+1],th.push(f);c=Zg(b,null,d,c);for(b.child=c;c;)c.flags=c.flags&-3|1024,c=c.sibling}else fi(a,b,d,c),sh();b=b.child}return b;case 5:return gh(b),null===a&&\nph(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,nf(d,e)?g=null:null!==f&&nf(d,f)&&(b.flags|=16),oi(a,b),fi(a,b,g,c),b.child;case 6:return null===a&&ph(b),null;case 13:return ti(a,b,c);case 4:return eh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Yg(b,null,d,c):fi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),gi(a,b,d,e,c);case 7:return fi(a,b,b.pendingProps,c),b.child;case 8:return fi(a,b,b.pendingProps.children,\nc),b.child;case 12:return fi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(mg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=He(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!N.current){b=hi(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=\nk.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=zg(-1,c&-c),l.tag=2,Ag(h,l));h.lanes|=c;l=h.alternate;null!==l&&(l.lanes|=c);sg(h.return,c);k.lanes|=c;break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}fi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,tg(b,c),e=vg(e,\nf.unstable_observedBits),d=d(e),b.flags|=1,fi(a,b,d,c),b.child;case 14:return e=b.type,f=lg(e,b.pendingProps),f=lg(e.type,f),ii(a,b,e,f,d,c);case 15:return ki(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Ff(d)?(a=!0,Jf(b)):a=!1,tg(b,c),Mg(b,d,e),Og(b,d,e,c),qi(null,b,d,!0,a,c);case 19:return Ai(a,b,c);case 23:return mi(a,b,c);case 24:return mi(a,b,c)}throw Error(y(156,b.tag));\n};function ik(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function nh(a,b,c,d){return new ik(a,b,c,d)}function ji(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction hk(a){if(\"function\"===typeof a)return ji(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Aa)return 11;if(a===Da)return 14}return 2}\nfunction Tg(a,b){var c=a.alternate;null===c?(c=nh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Vg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ji(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ua:return Xg(c.children,e,f,b);case Ha:g=8;e|=16;break;case wa:g=8;e|=1;break;case xa:return a=nh(12,c,b,e|8),a.elementType=xa,a.type=xa,a.lanes=f,a;case Ba:return a=nh(13,c,b,e),a.type=Ba,a.elementType=Ba,a.lanes=f,a;case Ca:return a=nh(19,c,b,e),a.elementType=Ca,a.lanes=f,a;case Ia:return vi(c,e,f,b);case Ja:return a=nh(24,c,b,e),a.elementType=Ja,a.lanes=f,a;default:if(\"object\"===\ntypeof a&&null!==a)switch(a.$$typeof){case ya:g=10;break a;case za:g=9;break a;case Aa:g=11;break a;case Da:g=14;break a;case Ea:g=16;d=null;break a;case Fa:g=22;break a}throw Error(y(130,null==a?a:typeof a,\"\"));}b=nh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Xg(a,b,c,d){a=nh(7,a,d,b);a.lanes=c;return a}function vi(a,b,c,d){a=nh(23,a,d,b);a.elementType=Ia;a.lanes=c;return a}function Ug(a,b,c){a=nh(6,a,null,b);a.lanes=c;return a}\nfunction Wg(a,b,c){b=nh(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction jk(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=0;this.eventTimes=Zc(0);this.expirationTimes=Zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=Zc(0);this.mutableSourceEagerHydrationData=null}\nfunction kk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ta,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction lk(a,b,c,d){var e=b.current,f=Hg(),g=Ig(e);a:if(c){c=c._reactInternals;b:{if(Zb(c)!==c||1!==c.tag)throw Error(y(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(Ff(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(y(171));}if(1===c.tag){var k=c.type;if(Ff(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=zg(f,g);b.payload={element:a};d=void 0===d?null:d;null!==\nd&&(b.callback=d);Ag(e,b);Jg(e,g,f);return g}function mk(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 nk(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function ok(a,b){nk(a,b);(a=a.alternate)&&nk(a,b)}function pk(){return null}\nfunction qk(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationOptions.mutableSources||null;c=new jk(a,b,null!=c&&!0===c.hydrate);b=nh(3,null,null,2===b?7:1===b?3:0);c.current=b;b.stateNode=c;xg(b);a[ff]=c.current;cf(8===a.nodeType?a.parentNode:a);if(d)for(a=0;a<d.length;a++){b=d[a];var e=b._getVersion;e=e(b._source);null==c.mutableSourceEagerHydrationData?c.mutableSourceEagerHydrationData=[b,e]:c.mutableSourceEagerHydrationData.push(b,e)}this._internalRoot=c}\nqk.prototype.render=function(a){lk(a,this._internalRoot,null,null)};qk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;lk(null,a,null,function(){b[ff]=null})};function rk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}\nfunction sk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qk(a,0,b?{hydrate:!0}:void 0)}\nfunction tk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=mk(g);h.call(a)}}lk(b,g,a,e)}else{f=c._reactRootContainer=sk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=mk(g);k.call(a)}}Xj(function(){lk(b,g,a,e)})}return mk(g)}ec=function(a){if(13===a.tag){var b=Hg();Jg(a,4,b);ok(a,4)}};fc=function(a){if(13===a.tag){var b=Hg();Jg(a,67108864,b);ok(a,67108864)}};\ngc=function(a){if(13===a.tag){var b=Hg(),c=Ig(a);Jg(a,c,b);ok(a,c)}};hc=function(a,b){return b()};\nyb=function(a,b,c){switch(b){case \"input\":ab(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(y(90));Wa(d);ab(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Wj;\nHb=function(a,b,c,d,e){var f=X;X|=4;try{return gg(98,a.bind(null,b,c,d,e))}finally{X=f,0===X&&(wj(),ig())}};Ib=function(){0===(X&49)&&(Vj(),Oj())};Jb=function(a,b){var c=X;X|=2;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}};function uk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!rk(b))throw Error(y(200));return kk(a,b,null,c)}var vk={Events:[Cb,ue,Db,Eb,Fb,Oj,{current:!1}]},wk={findFiberByHostInstance:wc,bundleType:0,version:\"17.0.2\",rendererPackageName:\"react-dom\"};\nvar xk={bundleType:wk.bundleType,version:wk.version,rendererPackageName:wk.rendererPackageName,rendererConfig:wk.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ra.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=cc(a);return null===a?null:a.stateNode},findFiberByHostInstance:wk.findFiberByHostInstance||\npk,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var yk=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yk.isDisabled&&yk.supportsFiber)try{Lf=yk.inject(xk),Mf=yk}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vk;exports.createPortal=uk;\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(y(188));throw Error(y(268,Object.keys(a)));}a=cc(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a,b){var c=X;if(0!==(c&48))return a(b);X|=1;try{if(a)return gg(99,a.bind(null,b))}finally{X=c,ig()}};exports.hydrate=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!0,c)};\nexports.render=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!rk(a))throw Error(y(40));return a._reactRootContainer?(Xj(function(){tk(null,null,a,!1,function(){a._reactRootContainer=null;a[ff]=null})}),!0):!1};exports.unstable_batchedUpdates=Wj;exports.unstable_createPortal=function(a,b){return uk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!rk(c))throw Error(y(200));if(null==a||void 0===a._reactInternals)throw Error(y(38));return tk(a,b,c,!1,d)};exports.version=\"17.0.2\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v0.20.2\n * scheduler.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'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):D=0<a?Math.floor(1E3/a):5};var F=new MessageChannel,G=F.port2;F.port1.onmessage=function(){if(null!==B){var a=exports.unstable_now();E=a+D;try{B(!0,a)?G.postMessage(null):(A=!1,B=null)}catch(b){throw G.postMessage(null),b;}}else A=!1};f=function(a){B=a;A||(A=!0,G.postMessage(null))};g=function(a,b){C=\nx(function(){a(exports.unstable_now())},b)};h=function(){y(C);C=-1}}function H(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<I(e,b))a[d]=b,a[c]=e,c=d;else break a}}function J(a){a=a[0];return void 0===a?null:a}\nfunction K(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:N++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/** @license React v17.0.2\n * react-jsx-runtime.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'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","/**\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var parent = require('../../es/instance/trim');\n\nmodule.exports = parent;\n","var trim = require('../string/virtual/trim');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.trim;\n return typeof it === 'string' || it === StringPrototype\n || (it instanceof String && own === StringPrototype.trim) ? trim : own;\n};\n","require('../../../modules/es.string.trim');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').trim;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var parent = require('../../es/instance/concat');\n\nmodule.exports = parent;\n","var concat = require('../array/virtual/concat');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.concat;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.concat) ? concat : own;\n};\n","require('../../../modules/es.array.concat');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').concat;\n","var parent = require('../../es/set');\n\nmodule.exports = parent;\n","require('../../modules/es.set');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var parent = require('../../es/object/keys');\n\nmodule.exports = parent;\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var parent = require('../../es/instance/map');\n\nmodule.exports = parent;\n","var map = require('../array/virtual/map');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.map;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.map) ? map : own;\n};\n","require('../../../modules/es.array.map');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').map;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var parent = require('../../es/object/keys');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","require('../../modules/es.symbol');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertySymbols;\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var parent = require('../../es/instance/filter');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.filter');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').filter;\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var parent = require('../../es/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-own-property-descriptor');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var parent = require('../../stable/instance/for-each');\n\nmodule.exports = parent;\n","require('../../modules/web.dom-collections.iterator');\nvar forEach = require('../array/virtual/for-each');\nvar classof = require('../../internals/classof');\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.forEach;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.forEach)\n // eslint-disable-next-line no-prototype-builtins -- safe\n || DOMIterables.hasOwnProperty(classof(it)) ? forEach : own;\n};\n","var parent = require('../../../es/array/virtual/for-each');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.for-each');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var parent = require('../../es/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-own-property-descriptors');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertyDescriptors;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var parent = require('../../es/object/define-properties');\n\nmodule.exports = parent;\n","require('../../modules/es.object.define-properties');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperties = module.exports = function defineProperties(T, D) {\n return Object.defineProperties(T, D);\n};\n\nif (Object.defineProperties.sham) defineProperties.sham = true;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModile = require('../internals/object-define-property');\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\n});\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var baseInverter = require('./_baseInverter');\n\n/**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\nfunction createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n}\n\nmodule.exports = createInverter;\n","var baseForOwn = require('./_baseForOwn');\n\n/**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n}\n\nmodule.exports = baseInverter;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var parent = require('../../es/symbol');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.pattern-match');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('asyncDispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('dispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\ndefineWellKnownSymbol('replaceAll');\n","var parent = require('../../es/symbol/iterator');\n\nmodule.exports = parent;\n","require('../../modules/es.symbol.iterator');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","var parent = require('../../es/json/stringify');\n\nmodule.exports = parent;\n","require('../../modules/es.json.stringify');\nvar core = require('../../internals/path');\n\n// eslint-disable-next-line es/no-json -- safe\nif (!core.JSON) core.JSON = { stringify: JSON.stringify };\n\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nmodule.exports = function stringify(it, replacer, space) {\n return core.JSON.stringify.apply(null, arguments);\n};\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar fails = require('../internals/fails');\n\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar re = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar fix = function (match, offset, string) {\n var prev = string.charAt(offset - 1);\n var next = string.charAt(offset + 1);\n if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) {\n return '\\\\u' + match.charCodeAt(0).toString(16);\n } return match;\n};\n\nvar FORCED = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n // https://github.com/tc39/proposal-well-formed-stringify\n $({ target: 'JSON', stat: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var result = $stringify.apply(null, arguments);\n return typeof result == 'string' ? result.replace(re, fix) : result;\n }\n });\n}\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var parent = require('../../es/object/create');\n\nmodule.exports = parent;\n","require('../../modules/es.object.create');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nmodule.exports = function create(P, D) {\n return Object.create(P, D);\n};\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","var parent = require('../../es/object/set-prototype-of');\n\nmodule.exports = parent;\n","require('../../modules/es.object.set-prototype-of');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.setPrototypeOf;\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","var parent = require('../../es/reflect/construct');\n\nmodule.exports = parent;\n","require('../../modules/es.reflect.construct');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Reflect.construct;\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var parent = require('../../es/object/get-prototype-of');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-prototype-of');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getPrototypeOf;\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","require('../modules/web.dom-collections.iterator');\nrequire('../modules/es.string.iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = getIteratorMethod;\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../web/url-search-params');\n\nmodule.exports = parent;\n","require('../modules/web.url-search-params');\nvar path = require('../internals/path');\n\nmodule.exports = path.URLSearchParams;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://теÑÑ‚').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","require('../../modules/web.dom-collections.iterator');\nvar keys = require('../array/virtual/keys');\nvar classof = require('../../internals/classof');\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.keys;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.keys)\n // eslint-disable-next-line no-prototype-builtins -- safe\n || DOMIterables.hasOwnProperty(classof(it)) ? keys : own;\n};\n","var parent = require('../../../es/array/virtual/keys');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.iterator');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').keys;\n","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/index-of');\n\nmodule.exports = parent;\n","var indexOf = require('../array/virtual/index-of');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.indexOf;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.indexOf) ? indexOf : own;\n};\n","require('../../../modules/es.array.index-of');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').indexOf;\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\n\nvar alphabet = require('./alphabet');\nvar build = require('./build');\nvar isValid = require('./is-valid');\n\n// if you are using cluster or multiple servers use this to make each instance\n// has a unique value for worker\n// Note: I don't know if this is automatically set when using third\n// party cluster solutions such as pm2.\nvar clusterWorkerId = require('./util/cluster-worker-id') || 0;\n\n/**\n * Set the seed.\n * Highly recommended if you don't want people to try to figure out your id schema.\n * exposed as shortid.seed(int)\n * @param seed Integer value to seed the random alphabet. ALWAYS USE THE SAME SEED or you might get overlaps.\n */\nfunction seed(seedValue) {\n alphabet.seed(seedValue);\n return module.exports;\n}\n\n/**\n * Set the cluster worker or machine id\n * exposed as shortid.worker(int)\n * @param workerId worker must be positive integer. Number less than 16 is recommended.\n * returns shortid module so it can be chained.\n */\nfunction worker(workerId) {\n clusterWorkerId = workerId;\n return module.exports;\n}\n\n/**\n *\n * sets new characters to use in the alphabet\n * returns the shuffled alphabet\n */\nfunction characters(newCharacters) {\n if (newCharacters !== undefined) {\n alphabet.characters(newCharacters);\n }\n\n return alphabet.shuffled();\n}\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction generate() {\n return build(clusterWorkerId);\n}\n\n// Export all other functions as properties of the generate function\nmodule.exports = generate;\nmodule.exports.generate = generate;\nmodule.exports.seed = seed;\nmodule.exports.worker = worker;\nmodule.exports.characters = characters;\nmodule.exports.isValid = isValid;\n","'use strict';\n\n// Found this seed-based random generator somewhere\n// Based on The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)\n\nvar seed = 1;\n\n/**\n * return a random number based on a seed\n * @param seed\n * @returns {number}\n */\nfunction getNextValue() {\n seed = (seed * 9301 + 49297) % 233280;\n return seed/(233280.0);\n}\n\nfunction setSeed(_seed_) {\n seed = _seed_;\n}\n\nmodule.exports = {\n nextValue: getNextValue,\n seed: setSeed\n};\n","'use strict';\n\nvar generate = require('./generate');\nvar alphabet = require('./alphabet');\n\n// Ignore all milliseconds before a certain time to reduce the size of the date entropy without sacrificing uniqueness.\n// This number should be updated every year or so to keep the generated id short.\n// To regenerate `new Date() - 0` and bump the version. Always bump the version!\nvar REDUCE_TIME = 1567752802062;\n\n// don't change unless we change the algos or REDUCE_TIME\n// must be an integer and less than 16\nvar version = 7;\n\n// Counter is used when shortid is called multiple times in one second.\nvar counter;\n\n// Remember the last time shortid was called in case counter is needed.\nvar previousSeconds;\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction build(clusterWorkerId) {\n var str = '';\n\n var seconds = Math.floor((Date.now() - REDUCE_TIME) * 0.001);\n\n if (seconds === previousSeconds) {\n counter++;\n } else {\n counter = 0;\n previousSeconds = seconds;\n }\n\n str = str + generate(version);\n str = str + generate(clusterWorkerId);\n if (counter > 0) {\n str = str + generate(counter);\n }\n str = str + generate(seconds);\n return str;\n}\n\nmodule.exports = build;\n","'use strict';\n\nvar alphabet = require('./alphabet');\nvar random = require('./random/random-byte');\nvar format = require('nanoid/format');\n\nfunction generate(number) {\n var loopCounter = 0;\n var done;\n\n var str = '';\n\n while (!done) {\n str = str + format(random, alphabet.get(), 1);\n done = number < (Math.pow(16, loopCounter + 1 ) );\n loopCounter++;\n }\n return str;\n}\n\nmodule.exports = generate;\n","'use strict';\n\nvar crypto = typeof window === 'object' && (window.crypto || window.msCrypto); // IE 11 uses window.msCrypto\n\nvar randomByte;\n\nif (!crypto || !crypto.getRandomValues) {\n randomByte = function(size) {\n var bytes = [];\n for (var i = 0; i < size; i++) {\n bytes.push(Math.floor(Math.random() * 256));\n }\n return bytes;\n };\n} else {\n randomByte = function(size) {\n return crypto.getRandomValues(new Uint8Array(size));\n };\n}\n\nmodule.exports = randomByte;\n","// This file replaces `format.js` in bundlers like webpack or Rollup,\n// according to `browser` config in `package.json`.\n\nmodule.exports = function (random, alphabet, size) {\n // We can’t use bytes bigger than the alphabet. To make bytes values closer\n // to the alphabet, we apply bitmask on them. We look for the closest\n // `2 ** x - 1` number, which will be bigger than alphabet size. If we have\n // 30 symbols in the alphabet, we will take 31 (00011111).\n // We do not use faster Math.clz32, because it is not available in browsers.\n var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1\n // Bitmask is not a perfect solution (in our example it will pass 31 bytes,\n // which is bigger than the alphabet). As a result, we will need more bytes,\n // than ID size, because we will refuse bytes bigger than the alphabet.\n\n // Every hardware random generator call is costly,\n // because we need to wait for entropy collection. This is why often it will\n // be faster to ask for few extra bytes in advance, to avoid additional calls.\n\n // Here we calculate how many random bytes should we call in advance.\n // It depends on ID length, mask / alphabet size and magic number 1.6\n // (which was selected according benchmarks).\n\n // -~f => Math.ceil(f) if n is float number\n // -~i => i + 1 if n is integer number\n var step = -~(1.6 * mask * size / alphabet.length)\n var id = ''\n\n while (true) {\n var bytes = random(step)\n // Compact alternative for `for (var i = 0; i < step; i++)`\n var i = step\n while (i--) {\n // If random byte is bigger than alphabet even after bitmask,\n // we refuse it by `|| ''`.\n id += alphabet[bytes[i] & mask] || ''\n // More compact than `id.length + 1 === size`\n if (id.length === +size) return id\n }\n }\n}\n","'use strict';\nvar alphabet = require('./alphabet');\n\nfunction isShortId(id) {\n if (!id || typeof id !== 'string' || id.length < 6 ) {\n return false;\n }\n\n var nonAlphabetic = new RegExp('[^' +\n alphabet.get().replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&') +\n ']');\n return !nonAlphabetic.test(id);\n}\n\nmodule.exports = isShortId;\n","'use strict';\n\nmodule.exports = 0;\n","var parent = require('../../es/instance/includes');\n\nmodule.exports = parent;\n","var arrayIncludes = require('../array/virtual/includes');\nvar stringIncludes = require('../string/virtual/includes');\n\nvar ArrayPrototype = Array.prototype;\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.includes;\n if (it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.includes)) return arrayIncludes;\n if (typeof it === 'string' || it === StringPrototype || (it instanceof String && own === StringPrototype.includes)) {\n return stringIncludes;\n } return own;\n};\n","require('../../../modules/es.array.includes');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').includes;\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","require('../../../modules/es.string.includes');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').includes;\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var parent = require('../../es/instance/filter');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\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|disablePictureInPicture|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|inert|itemProp|itemScope|itemType|itemID|itemRef|on|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","var parent = require('../../es/instance/find');\n\nmodule.exports = parent;\n","var find = require('../array/virtual/find');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.find;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.find) ? find : own;\n};\n","require('../../../modules/es.array.find');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').find;\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var parent = require('../../es/map');\n\nmodule.exports = parent;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var parent = require('../../es/promise');\nrequire('../../modules/esnext.aggregate-error');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.all-settled');\nrequire('../../modules/esnext.promise.try');\nrequire('../../modules/esnext.promise.any');\n\nmodule.exports = parent;\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromiseConstructorPrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructorPrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromiseConstructorPrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructorPrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = typeof window == 'object';\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && typeof NativePromise == 'function') {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n","// TODO: Remove from `core-js@4`\nrequire('./es.aggregate-error');\n","// TODO: Remove from `core-js@4`\nrequire('./es.promise.all-settled.js');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true }, {\n 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n","// TODO: Remove from `core-js@4`\nrequire('./es.promise.any');\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var parent = require('../../es/promise');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/sort');\n\nmodule.exports = parent;\n","var sort = require('../array/virtual/sort');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.sort;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.sort) ? sort : own;\n};\n","require('../../../modules/es.array.sort');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').sort;\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return String(x) > String(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aFunction(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn);\n\n var items = [];\n var arrayLength = toLength(array.length);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) items.push(array[index]);\n }\n\n items = internalSort(items, getSortCompare(comparefn));\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","// TODO: use something more complex like timsort?\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n mergeSort(array.slice(0, middle), comparefn),\n mergeSort(array.slice(middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n var result = [];\n\n while (lindex < llength || rindex < rlength) {\n if (lindex < llength && rindex < rlength) {\n result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]);\n } else {\n result.push(lindex < llength ? left[lindex++] : right[rindex++]);\n }\n } return result;\n};\n\nmodule.exports = mergeSort;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","var parent = require('../../es/instance/repeat');\n\nmodule.exports = parent;\n","var repeat = require('../string/virtual/repeat');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.repeat;\n return typeof it === 'string' || it === StringPrototype\n || (it instanceof String && own === StringPrototype.repeat) ? repeat : own;\n};\n","require('../../../modules/es.string.repeat');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').repeat;\n","var $ = require('../internals/export');\nvar repeat = require('../internals/string-repeat');\n\n// `String.prototype.repeat` method\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\n$({ target: 'String', proto: true }, {\n repeat: repeat\n});\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var parent = require('../../es/instance/starts-with');\n\nmodule.exports = parent;\n","var startsWith = require('../string/virtual/starts-with');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.startsWith;\n return typeof it === 'string' || it === StringPrototype\n || (it instanceof String && own === StringPrototype.startsWith) ? startsWith : own;\n};\n","require('../../../modules/es.string.starts-with');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').startsWith;\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar $startsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var parent = require('../../es/map');\nrequire('../../modules/esnext.map.from');\nrequire('../../modules/esnext.map.of');\nrequire('../../modules/esnext.map.delete-all');\nrequire('../../modules/esnext.map.emplace');\nrequire('../../modules/esnext.map.every');\nrequire('../../modules/esnext.map.filter');\nrequire('../../modules/esnext.map.find');\nrequire('../../modules/esnext.map.find-key');\nrequire('../../modules/esnext.map.group-by');\nrequire('../../modules/esnext.map.includes');\nrequire('../../modules/esnext.map.key-by');\nrequire('../../modules/esnext.map.key-of');\nrequire('../../modules/esnext.map.map-keys');\nrequire('../../modules/esnext.map.map-values');\nrequire('../../modules/esnext.map.merge');\nrequire('../../modules/esnext.map.reduce');\nrequire('../../modules/esnext.map.some');\nrequire('../../modules/esnext.map.update');\n// TODO: remove from `core-js@4`\nrequire('../../modules/esnext.map.upsert');\n// TODO: remove from `core-js@4`\nrequire('../../modules/esnext.map.update-or-insert');\n\nmodule.exports = parent;\n","var $ = require('../internals/export');\nvar from = require('../internals/collection-from');\n\n// `Map.from` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n$({ target: 'Map', stat: true }, {\n from: from\n});\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar aFunction = require('../internals/a-function');\nvar bind = require('../internals/function-bind-context');\nvar iterate = require('../internals/iterate');\n\nmodule.exports = function from(source /* , mapFn, thisArg */) {\n var length = arguments.length;\n var mapFn = length > 1 ? arguments[1] : undefined;\n var mapping, array, n, boundFunction;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n array = [];\n if (mapping) {\n n = 0;\n boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined, 2);\n iterate(source, function (nextItem) {\n array.push(boundFunction(nextItem, n++));\n });\n } else {\n iterate(source, array.push, { that: array });\n }\n return new this(array);\n};\n","var $ = require('../internals/export');\nvar of = require('../internals/collection-of');\n\n// `Map.of` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n$({ target: 'Map', stat: true }, {\n of: of\n});\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nmodule.exports = function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar collectionDeleteAll = require('../internals/collection-delete-all');\n\n// `Map.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n deleteAll: function deleteAll(/* ...elements */) {\n return collectionDeleteAll.apply(this, arguments);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\n\n// https://github.com/tc39/collection-methods\nmodule.exports = function (/* ...elements */) {\n var collection = anObject(this);\n var remover = aFunction(collection['delete']);\n var allDeleted = true;\n var wasDeleted;\n for (var k = 0, len = arguments.length; k < len; k++) {\n wasDeleted = remover.call(collection, arguments[k]);\n allDeleted = allDeleted && wasDeleted;\n }\n return !!allDeleted;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar $emplace = require('../internals/map-emplace');\n\n// `Map.prototype.emplace` method\n// https://github.com/thumbsupep/proposal-upsert\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n emplace: $emplace\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `Map.prototype.emplace` method\n// https://github.com/thumbsupep/proposal-upsert\nmodule.exports = function emplace(key, handler) {\n var map = anObject(this);\n var value = (map.has(key) && 'update' in handler)\n ? handler.update(map.get(key), key, map)\n : handler.insert(key, map);\n map.set(key, value);\n return value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.every` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n every: function every(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return !iterate(iterator, function (key, value, stop) {\n if (!boundFunction(value, key, map)) return stop();\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar bind = require('../internals/function-bind-context');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.filter` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n filter: function filter(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();\n var setter = aFunction(newMap.set);\n iterate(iterator, function (key, value) {\n if (boundFunction(value, key, map)) setter.call(newMap, key, value);\n }, { AS_ENTRIES: true, IS_ITERATOR: true });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.find` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n find: function find(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return iterate(iterator, function (key, value, stop) {\n if (boundFunction(value, key, map)) return stop(value);\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.findKey` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n findKey: function findKey(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return iterate(iterator, function (key, value, stop) {\n if (boundFunction(value, key, map)) return stop(key);\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aFunction = require('../internals/a-function');\n\n// `Map.groupBy` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', stat: true }, {\n groupBy: function groupBy(iterable, keyDerivative) {\n var newMap = new this();\n aFunction(keyDerivative);\n var has = aFunction(newMap.has);\n var get = aFunction(newMap.get);\n var set = aFunction(newMap.set);\n iterate(iterable, function (element) {\n var derivedKey = keyDerivative(element);\n if (!has.call(newMap, derivedKey)) set.call(newMap, derivedKey, [element]);\n else get.call(newMap, derivedKey).push(element);\n });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar sameValueZero = require('../internals/same-value-zero');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.includes` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n includes: function includes(searchElement) {\n return iterate(getMapIterator(anObject(this)), function (key, value, stop) {\n if (sameValueZero(value, searchElement)) return stop();\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","// `SameValueZero` abstract operation\n// https://tc39.es/ecma262/#sec-samevaluezero\nmodule.exports = function (x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y || x != x && y != y;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aFunction = require('../internals/a-function');\n\n// `Map.keyBy` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', stat: true }, {\n keyBy: function keyBy(iterable, keyDerivative) {\n var newMap = new this();\n aFunction(keyDerivative);\n var setter = aFunction(newMap.set);\n iterate(iterable, function (element) {\n setter.call(newMap, keyDerivative(element), element);\n });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.includes` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n keyOf: function keyOf(searchElement) {\n return iterate(getMapIterator(anObject(this)), function (key, value, stop) {\n if (value === searchElement) return stop(key);\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar bind = require('../internals/function-bind-context');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.mapKeys` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n mapKeys: function mapKeys(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();\n var setter = aFunction(newMap.set);\n iterate(iterator, function (key, value) {\n setter.call(newMap, boundFunction(value, key, map), value);\n }, { AS_ENTRIES: true, IS_ITERATOR: true });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar bind = require('../internals/function-bind-context');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.mapValues` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n mapValues: function mapValues(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();\n var setter = aFunction(newMap.set);\n iterate(iterator, function (key, value) {\n setter.call(newMap, key, boundFunction(value, key, map));\n }, { AS_ENTRIES: true, IS_ITERATOR: true });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.merge` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n merge: function merge(iterable /* ...iterbles */) {\n var map = anObject(this);\n var setter = aFunction(map.set);\n var i = 0;\n while (i < arguments.length) {\n iterate(arguments[i++], setter, { that: map, AS_ENTRIES: true });\n }\n return map;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.reduce` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n aFunction(callbackfn);\n iterate(iterator, function (key, value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = callbackfn(accumulator, value, key, map);\n }\n }, { AS_ENTRIES: true, IS_ITERATOR: true });\n if (noInitial) throw TypeError('Reduce of empty map with no initial value');\n return accumulator;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.some` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n some: function some(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return iterate(iterator, function (key, value, stop) {\n if (boundFunction(value, key, map)) return stop();\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\n\n// `Set.prototype.update` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n update: function update(key, callback /* , thunk */) {\n var map = anObject(this);\n var length = arguments.length;\n aFunction(callback);\n var isPresentInMap = map.has(key);\n if (!isPresentInMap && length < 3) {\n throw TypeError('Updating absent value');\n }\n var value = isPresentInMap ? map.get(key) : aFunction(length > 2 ? arguments[2] : undefined)(key, map);\n map.set(key, callback(value, key, map));\n return map;\n }\n});\n","'use strict';\n// TODO: remove from `core-js@4`\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar $upsert = require('../internals/map-upsert');\n\n// `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`)\n// https://github.com/thumbsupep/proposal-upsert\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n upsert: $upsert\n});\n","'use strict';\n// TODO: remove from `core-js@4`\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar $upsert = require('../internals/map-upsert');\n\n// `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`)\n// https://github.com/thumbsupep/proposal-upsert\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n updateOrInsert: $upsert\n});\n","var parent = require('../../es/instance/bind');\n\nmodule.exports = parent;\n","var bind = require('../function/virtual/bind');\n\nvar FunctionPrototype = Function.prototype;\n\nmodule.exports = function (it) {\n var own = it.bind;\n return it === FunctionPrototype || (it instanceof Function && own === FunctionPrototype.bind) ? bind : own;\n};\n","require('../../../modules/es.function.bind');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Function').bind;\n","var $ = require('../internals/export');\nvar bind = require('../internals/function-bind');\n\n// `Function.prototype.bind` method\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n$({ target: 'Function', proto: true }, {\n bind: bind\n});\n","/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\n *\n * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n */\n(function() {\n'use strict';\n\n// Exit early if we're not running in a browser.\nif (typeof window !== 'object') {\n return;\n}\n\n// Exit early if all IntersectionObserver and IntersectionObserverEntry\n// features are natively supported.\nif ('IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype,\n 'isIntersecting', {\n get: function () {\n return this.intersectionRatio > 0;\n }\n });\n }\n return;\n}\n\n/**\n * Returns the embedding frame element, if any.\n * @param {!Document} doc\n * @return {!Element}\n */\nfunction getFrameElement(doc) {\n try {\n return doc.defaultView && doc.defaultView.frameElement || null;\n } catch (e) {\n // Ignore the error.\n return null;\n }\n}\n\n/**\n * A local reference to the root document.\n */\nvar document = (function(startDoc) {\n var doc = startDoc;\n var frame = getFrameElement(doc);\n while (frame) {\n doc = frame.ownerDocument;\n frame = getFrameElement(doc);\n }\n return doc;\n})(window.document);\n\n/**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observing a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\nvar registry = [];\n\n/**\n * The signal updater for cross-origin intersection. When not null, it means\n * that the polyfill is configured to work in a cross-origin mode.\n * @type {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\nvar crossOriginUpdater = null;\n\n/**\n * The current cross-origin intersection. Only used in the cross-origin mode.\n * @type {DOMRect|ClientRect}\n */\nvar crossOriginRect = null;\n\n\n/**\n * Creates the global IntersectionObserverEntry constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\nfunction IntersectionObserverEntry(entry) {\n this.time = entry.time;\n this.target = entry.target;\n this.rootBounds = ensureDOMRect(entry.rootBounds);\n this.boundingClientRect = ensureDOMRect(entry.boundingClientRect);\n this.intersectionRect = ensureDOMRect(entry.intersectionRect || getEmptyRect());\n this.isIntersecting = !!entry.intersectionRect;\n\n // Calculates the intersection ratio.\n var targetRect = this.boundingClientRect;\n var targetArea = targetRect.width * targetRect.height;\n var intersectionRect = this.intersectionRect;\n var intersectionArea = intersectionRect.width * intersectionRect.height;\n\n // Sets intersection ratio.\n if (targetArea) {\n // Round the intersection ratio to avoid floating point math issues:\n // https://github.com/w3c/IntersectionObserver/issues/324\n this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n } else {\n // If area is zero and is intersecting, sets to 1, otherwise to 0\n this.intersectionRatio = this.isIntersecting ? 1 : 0;\n }\n}\n\n\n/**\n * Creates the global IntersectionObserver constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n * changes have queued. The function is not invoked if the queue has\n * been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\nfunction IntersectionObserver(callback, opt_options) {\n\n var options = opt_options || {};\n\n if (typeof callback != 'function') {\n throw new Error('callback must be a function');\n }\n\n if (\n options.root &&\n options.root.nodeType != 1 &&\n options.root.nodeType != 9\n ) {\n throw new Error('root must be a Document or Element');\n }\n\n // Binds and throttles `this._checkForIntersections`.\n this._checkForIntersections = throttle(\n this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n\n // Private properties.\n this._callback = callback;\n this._observationTargets = [];\n this._queuedEntries = [];\n this._rootMarginValues = this._parseRootMargin(options.rootMargin);\n\n // Public properties.\n this.thresholds = this._initThresholds(options.threshold);\n this.root = options.root || null;\n this.rootMargin = this._rootMarginValues.map(function(margin) {\n return margin.value + margin.unit;\n }).join(' ');\n\n /** @private @const {!Array<!Document>} */\n this._monitoringDocuments = [];\n /** @private @const {!Array<function()>} */\n this._monitoringUnsubscribes = [];\n}\n\n\n/**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\nIntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n\n\n/**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\nIntersectionObserver.prototype.POLL_INTERVAL = null;\n\n/**\n * Use a mutation observer on the root element\n * to detect intersection changes.\n */\nIntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\n\n\n/**\n * Sets up the polyfill in the cross-origin mode. The result is the\n * updater function that accepts two arguments: `boundingClientRect` and\n * `intersectionRect` - just as these fields would be available to the\n * parent via `IntersectionObserverEntry`. This function should be called\n * each time the iframe receives intersection information from the parent\n * window, e.g. via messaging.\n * @return {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\nIntersectionObserver._setupCrossOriginUpdater = function() {\n if (!crossOriginUpdater) {\n /**\n * @param {DOMRect|ClientRect} boundingClientRect\n * @param {DOMRect|ClientRect} intersectionRect\n */\n crossOriginUpdater = function(boundingClientRect, intersectionRect) {\n if (!boundingClientRect || !intersectionRect) {\n crossOriginRect = getEmptyRect();\n } else {\n crossOriginRect = convertFromParentRect(boundingClientRect, intersectionRect);\n }\n registry.forEach(function(observer) {\n observer._checkForIntersections();\n });\n };\n }\n return crossOriginUpdater;\n};\n\n\n/**\n * Resets the cross-origin mode.\n */\nIntersectionObserver._resetCrossOriginUpdater = function() {\n crossOriginUpdater = null;\n crossOriginRect = null;\n};\n\n\n/**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.observe = function(target) {\n var isTargetAlreadyObserved = this._observationTargets.some(function(item) {\n return item.element == target;\n });\n\n if (isTargetAlreadyObserved) {\n return;\n }\n\n if (!(target && target.nodeType == 1)) {\n throw new Error('target must be an Element');\n }\n\n this._registerInstance();\n this._observationTargets.push({element: target, entry: null});\n this._monitorIntersections(target.ownerDocument);\n this._checkForIntersections();\n};\n\n\n/**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.unobserve = function(target) {\n this._observationTargets =\n this._observationTargets.filter(function(item) {\n return item.element != target;\n });\n this._unmonitorIntersections(target.ownerDocument);\n if (this._observationTargets.length == 0) {\n this._unregisterInstance();\n }\n};\n\n\n/**\n * Stops observing all target elements for intersection changes.\n */\nIntersectionObserver.prototype.disconnect = function() {\n this._observationTargets = [];\n this._unmonitorAllIntersections();\n this._unregisterInstance();\n};\n\n\n/**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\nIntersectionObserver.prototype.takeRecords = function() {\n var records = this._queuedEntries.slice();\n this._queuedEntries = [];\n return records;\n};\n\n\n/**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n * a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\nIntersectionObserver.prototype._initThresholds = function(opt_threshold) {\n var threshold = opt_threshold || [0];\n if (!Array.isArray(threshold)) threshold = [threshold];\n\n return threshold.sort().filter(function(t, i, a) {\n if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n throw new Error('threshold must be a number between 0 and 1 inclusively');\n }\n return t !== a[i - 1];\n });\n};\n\n\n/**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n * defaulting to '0px'.\n * @return {Array<Object>} An array of margin objects with the keys\n * value and unit.\n */\nIntersectionObserver.prototype._parseRootMargin = function(opt_rootMargin) {\n var marginString = opt_rootMargin || '0px';\n var margins = marginString.split(/\\s+/).map(function(margin) {\n var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n if (!parts) {\n throw new Error('rootMargin must be specified in pixels or percent');\n }\n return {value: parseFloat(parts[1]), unit: parts[2]};\n });\n\n // Handles shorthand.\n margins[1] = margins[1] || margins[0];\n margins[2] = margins[2] || margins[0];\n margins[3] = margins[3] || margins[1];\n\n return margins;\n};\n\n\n/**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibility state is visible.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._monitorIntersections = function(doc) {\n var win = doc.defaultView;\n if (!win) {\n // Already destroyed.\n return;\n }\n if (this._monitoringDocuments.indexOf(doc) != -1) {\n // Already monitoring.\n return;\n }\n\n // Private state for monitoring.\n var callback = this._checkForIntersections;\n var monitoringInterval = null;\n var domObserver = null;\n\n // If a poll interval is set, use polling instead of listening to\n // resize and scroll events or DOM mutations.\n if (this.POLL_INTERVAL) {\n monitoringInterval = win.setInterval(callback, this.POLL_INTERVAL);\n } else {\n addEvent(win, 'resize', callback, true);\n addEvent(doc, 'scroll', callback, true);\n if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in win) {\n domObserver = new win.MutationObserver(callback);\n domObserver.observe(doc, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n }\n\n this._monitoringDocuments.push(doc);\n this._monitoringUnsubscribes.push(function() {\n // Get the window object again. When a friendly iframe is destroyed, it\n // will be null.\n var win = doc.defaultView;\n\n if (win) {\n if (monitoringInterval) {\n win.clearInterval(monitoringInterval);\n }\n removeEvent(win, 'resize', callback, true);\n }\n\n removeEvent(doc, 'scroll', callback, true);\n if (domObserver) {\n domObserver.disconnect();\n }\n });\n\n // Also monitor the parent.\n var rootDoc =\n (this.root && (this.root.ownerDocument || this.root)) || document;\n if (doc != rootDoc) {\n var frame = getFrameElement(doc);\n if (frame) {\n this._monitorIntersections(frame.ownerDocument);\n }\n }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._unmonitorIntersections = function(doc) {\n var index = this._monitoringDocuments.indexOf(doc);\n if (index == -1) {\n return;\n }\n\n var rootDoc =\n (this.root && (this.root.ownerDocument || this.root)) || document;\n\n // Check if any dependent targets are still remaining.\n var hasDependentTargets =\n this._observationTargets.some(function(item) {\n var itemDoc = item.element.ownerDocument;\n // Target is in this context.\n if (itemDoc == doc) {\n return true;\n }\n // Target is nested in this context.\n while (itemDoc && itemDoc != rootDoc) {\n var frame = getFrameElement(itemDoc);\n itemDoc = frame && frame.ownerDocument;\n if (itemDoc == doc) {\n return true;\n }\n }\n return false;\n });\n if (hasDependentTargets) {\n return;\n }\n\n // Unsubscribe.\n var unsubscribe = this._monitoringUnsubscribes[index];\n this._monitoringDocuments.splice(index, 1);\n this._monitoringUnsubscribes.splice(index, 1);\n unsubscribe();\n\n // Also unmonitor the parent.\n if (doc != rootDoc) {\n var frame = getFrameElement(doc);\n if (frame) {\n this._unmonitorIntersections(frame.ownerDocument);\n }\n }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._unmonitorAllIntersections = function() {\n var unsubscribes = this._monitoringUnsubscribes.slice(0);\n this._monitoringDocuments.length = 0;\n this._monitoringUnsubscribes.length = 0;\n for (var i = 0; i < unsubscribes.length; i++) {\n unsubscribes[i]();\n }\n};\n\n\n/**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\nIntersectionObserver.prototype._checkForIntersections = function() {\n if (!this.root && crossOriginUpdater && !crossOriginRect) {\n // Cross origin monitoring, but no initial data available yet.\n return;\n }\n\n var rootIsInDom = this._rootIsInDom();\n var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n\n this._observationTargets.forEach(function(item) {\n var target = item.element;\n var targetRect = getBoundingClientRect(target);\n var rootContainsTarget = this._rootContainsTarget(target);\n var oldEntry = item.entry;\n var intersectionRect = rootIsInDom && rootContainsTarget &&\n this._computeTargetAndRootIntersection(target, targetRect, rootRect);\n\n var rootBounds = null;\n if (!this._rootContainsTarget(target)) {\n rootBounds = getEmptyRect();\n } else if (!crossOriginUpdater || this.root) {\n rootBounds = rootRect;\n }\n\n var newEntry = item.entry = new IntersectionObserverEntry({\n time: now(),\n target: target,\n boundingClientRect: targetRect,\n rootBounds: rootBounds,\n intersectionRect: intersectionRect\n });\n\n if (!oldEntry) {\n this._queuedEntries.push(newEntry);\n } else if (rootIsInDom && rootContainsTarget) {\n // If the new entry intersection ratio has crossed any of the\n // thresholds, add a new entry.\n if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n this._queuedEntries.push(newEntry);\n }\n } else {\n // If the root is not in the DOM or target is not contained within\n // root but the previous entry for this target had an intersection,\n // add a new record indicating removal.\n if (oldEntry && oldEntry.isIntersecting) {\n this._queuedEntries.push(newEntry);\n }\n }\n }, this);\n\n if (this._queuedEntries.length) {\n this._callback(this.takeRecords(), this);\n }\n};\n\n\n/**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} targetRect The bounding rect of the target.\n * @param {Object} rootRect The bounding rect of the root after being\n * expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n * intersection is found.\n * @private\n */\nIntersectionObserver.prototype._computeTargetAndRootIntersection =\n function(target, targetRect, rootRect) {\n // If the element isn't displayed, an intersection can't happen.\n if (window.getComputedStyle(target).display == 'none') return;\n\n var intersectionRect = targetRect;\n var parent = getParentNode(target);\n var atRoot = false;\n\n while (!atRoot && parent) {\n var parentRect = null;\n var parentComputedStyle = parent.nodeType == 1 ?\n window.getComputedStyle(parent) : {};\n\n // If the parent isn't displayed, an intersection can't happen.\n if (parentComputedStyle.display == 'none') return null;\n\n if (parent == this.root || parent.nodeType == /* DOCUMENT */ 9) {\n atRoot = true;\n if (parent == this.root || parent == document) {\n if (crossOriginUpdater && !this.root) {\n if (!crossOriginRect ||\n crossOriginRect.width == 0 && crossOriginRect.height == 0) {\n // A 0-size cross-origin intersection means no-intersection.\n parent = null;\n parentRect = null;\n intersectionRect = null;\n } else {\n parentRect = crossOriginRect;\n }\n } else {\n parentRect = rootRect;\n }\n } else {\n // Check if there's a frame that can be navigated to.\n var frame = getParentNode(parent);\n var frameRect = frame && getBoundingClientRect(frame);\n var frameIntersect =\n frame &&\n this._computeTargetAndRootIntersection(frame, frameRect, rootRect);\n if (frameRect && frameIntersect) {\n parent = frame;\n parentRect = convertFromParentRect(frameRect, frameIntersect);\n } else {\n parent = null;\n intersectionRect = null;\n }\n }\n } else {\n // If the element has a non-visible overflow, and it's not the <body>\n // or <html> element, update the intersection rect.\n // Note: <body> and <html> cannot be clipped to a rect that's not also\n // the document rect, so no need to compute a new intersection.\n var doc = parent.ownerDocument;\n if (parent != doc.body &&\n parent != doc.documentElement &&\n parentComputedStyle.overflow != 'visible') {\n parentRect = getBoundingClientRect(parent);\n }\n }\n\n // If either of the above conditionals set a new parentRect,\n // calculate new intersection data.\n if (parentRect) {\n intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n }\n if (!intersectionRect) break;\n parent = parent && getParentNode(parent);\n }\n return intersectionRect;\n};\n\n\n/**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {ClientRect} The expanded root rect.\n * @private\n */\nIntersectionObserver.prototype._getRootRect = function() {\n var rootRect;\n if (this.root && !isDoc(this.root)) {\n rootRect = getBoundingClientRect(this.root);\n } else {\n // Use <html>/<body> instead of window since scroll bars affect size.\n var doc = isDoc(this.root) ? this.root : document;\n var html = doc.documentElement;\n var body = doc.body;\n rootRect = {\n top: 0,\n left: 0,\n right: html.clientWidth || body.clientWidth,\n width: html.clientWidth || body.clientWidth,\n bottom: html.clientHeight || body.clientHeight,\n height: html.clientHeight || body.clientHeight\n };\n }\n return this._expandRectByRootMargin(rootRect);\n};\n\n\n/**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {DOMRect|ClientRect} rect The rect object to expand.\n * @return {ClientRect} The expanded rect.\n * @private\n */\nIntersectionObserver.prototype._expandRectByRootMargin = function(rect) {\n var margins = this._rootMarginValues.map(function(margin, i) {\n return margin.unit == 'px' ? margin.value :\n margin.value * (i % 2 ? rect.width : rect.height) / 100;\n });\n var newRect = {\n top: rect.top - margins[0],\n right: rect.right + margins[1],\n bottom: rect.bottom + margins[2],\n left: rect.left - margins[3]\n };\n newRect.width = newRect.right - newRect.left;\n newRect.height = newRect.bottom - newRect.top;\n\n return newRect;\n};\n\n\n/**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n * particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n * particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\nIntersectionObserver.prototype._hasCrossedThreshold =\n function(oldEntry, newEntry) {\n\n // To make comparing easier, an entry that has a ratio of 0\n // but does not actually intersect is given a value of -1\n var oldRatio = oldEntry && oldEntry.isIntersecting ?\n oldEntry.intersectionRatio || 0 : -1;\n var newRatio = newEntry.isIntersecting ?\n newEntry.intersectionRatio || 0 : -1;\n\n // Ignore unchanged ratios\n if (oldRatio === newRatio) return;\n\n for (var i = 0; i < this.thresholds.length; i++) {\n var threshold = this.thresholds[i];\n\n // Return true if an entry matches a threshold or if the new ratio\n // and the old ratio are on the opposite sides of a threshold.\n if (threshold == oldRatio || threshold == newRatio ||\n threshold < oldRatio !== threshold < newRatio) {\n return true;\n }\n }\n};\n\n\n/**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\nIntersectionObserver.prototype._rootIsInDom = function() {\n return !this.root || containsDeep(document, this.root);\n};\n\n\n/**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\nIntersectionObserver.prototype._rootContainsTarget = function(target) {\n var rootDoc =\n (this.root && (this.root.ownerDocument || this.root)) || document;\n return (\n containsDeep(rootDoc, target) &&\n (!this.root || rootDoc == target.ownerDocument)\n );\n};\n\n\n/**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\nIntersectionObserver.prototype._registerInstance = function() {\n if (registry.indexOf(this) < 0) {\n registry.push(this);\n }\n};\n\n\n/**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\nIntersectionObserver.prototype._unregisterInstance = function() {\n var index = registry.indexOf(this);\n if (index != -1) registry.splice(index, 1);\n};\n\n\n/**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\nfunction now() {\n return window.performance && performance.now && performance.now();\n}\n\n\n/**\n * Throttles a function and delays its execution, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n * function can be called again.\n * @return {Function} The throttled function.\n */\nfunction throttle(fn, timeout) {\n var timer = null;\n return function () {\n if (!timer) {\n timer = setTimeout(function() {\n fn();\n timer = null;\n }, timeout);\n }\n };\n}\n\n\n/**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n * phase. Note: this only works in modern browsers.\n */\nfunction addEvent(node, event, fn, opt_useCapture) {\n if (typeof node.addEventListener == 'function') {\n node.addEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.attachEvent == 'function') {\n node.attachEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n * flag set to true, it should be set to true here in order to remove it.\n */\nfunction removeEvent(node, event, fn, opt_useCapture) {\n if (typeof node.removeEventListener == 'function') {\n node.removeEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.detatchEvent == 'function') {\n node.detatchEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object|?ClientRect} The intersection rect or undefined if no\n * intersection is found.\n */\nfunction computeRectIntersection(rect1, rect2) {\n var top = Math.max(rect1.top, rect2.top);\n var bottom = Math.min(rect1.bottom, rect2.bottom);\n var left = Math.max(rect1.left, rect2.left);\n var right = Math.min(rect1.right, rect2.right);\n var width = right - left;\n var height = bottom - top;\n\n return (width >= 0 && height >= 0) && {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n width: width,\n height: height\n } || null;\n}\n\n\n/**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {DOMRect|ClientRect} The (possibly shimmed) rect of the element.\n */\nfunction getBoundingClientRect(el) {\n var rect;\n\n try {\n rect = el.getBoundingClientRect();\n } catch (err) {\n // Ignore Windows 7 IE11 \"Unspecified error\"\n // https://github.com/w3c/IntersectionObserver/pull/205\n }\n\n if (!rect) return getEmptyRect();\n\n // Older IE\n if (!(rect.width && rect.height)) {\n rect = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n }\n return rect;\n}\n\n\n/**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {ClientRect} The empty rect.\n */\nfunction getEmptyRect() {\n return {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0\n };\n}\n\n\n/**\n * Ensure that the result has all of the necessary fields of the DOMRect.\n * Specifically this ensures that `x` and `y` fields are set.\n *\n * @param {?DOMRect|?ClientRect} rect\n * @return {?DOMRect}\n */\nfunction ensureDOMRect(rect) {\n // A `DOMRect` object has `x` and `y` fields.\n if (!rect || 'x' in rect) {\n return rect;\n }\n // A IE's `ClientRect` type does not have `x` and `y`. The same is the case\n // for internally calculated Rect objects. For the purposes of\n // `IntersectionObserver`, it's sufficient to simply mirror `left` and `top`\n // for these fields.\n return {\n top: rect.top,\n y: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n right: rect.right,\n width: rect.width,\n height: rect.height\n };\n}\n\n\n/**\n * Inverts the intersection and bounding rect from the parent (frame) BCR to\n * the local BCR space.\n * @param {DOMRect|ClientRect} parentBoundingRect The parent's bound client rect.\n * @param {DOMRect|ClientRect} parentIntersectionRect The parent's own intersection rect.\n * @return {ClientRect} The local root bounding rect for the parent's children.\n */\nfunction convertFromParentRect(parentBoundingRect, parentIntersectionRect) {\n var top = parentIntersectionRect.top - parentBoundingRect.top;\n var left = parentIntersectionRect.left - parentBoundingRect.left;\n return {\n top: top,\n left: left,\n height: parentIntersectionRect.height,\n width: parentIntersectionRect.width,\n bottom: top + parentIntersectionRect.height,\n right: left + parentIntersectionRect.width\n };\n}\n\n\n/**\n * Checks to see if a parent element contains a child element (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\nfunction containsDeep(parent, child) {\n var node = child;\n while (node) {\n if (node == parent) return true;\n\n node = getParentNode(node);\n }\n return false;\n}\n\n\n/**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\nfunction getParentNode(node) {\n var parent = node.parentNode;\n\n if (node.nodeType == /* DOCUMENT */ 9 && node != document) {\n // If this node is a document node, look for the embedding frame.\n return getFrameElement(node);\n }\n\n // If the parent has element that is assigned through shadow root slot\n if (parent && parent.assignedSlot) {\n parent = parent.assignedSlot.parentNode\n }\n\n if (parent && parent.nodeType == 11 && parent.host) {\n // If the parent is a shadow root, return the host element.\n return parent.host;\n }\n\n return parent;\n}\n\n/**\n * Returns true if `node` is a Document.\n * @param {!Node} node\n * @returns {boolean}\n */\nfunction isDoc(node) {\n return node && node.nodeType === 9;\n}\n\n\n// Exposes the constructors globally.\nwindow.IntersectionObserver = IntersectionObserver;\nwindow.IntersectionObserverEntry = IntersectionObserverEntry;\n\n}());\n","var parent = require('../../es/set');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.set');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var parent = require('../../es/instance/concat');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/concat');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.concat;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.concat) ? method : own;\n};\n","require('../../../modules/es.array.concat');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').concat;\n","var parent = require('../../actual/object/keys');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/keys');\n\nmodule.exports = parent;\n","require('../../modules/es.object.keys');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.keys;\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var parent = require('../../actual/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","require('../../modules/es.symbol');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertySymbols;\n","var parent = require('../../actual/instance/filter');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/filter');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/filter');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.filter;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.filter) ? method : own;\n};\n","require('../../../modules/es.array.filter');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').filter;\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var parent = require('../../actual/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-own-property-descriptor');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var parent = require('../../actual/instance/for-each');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/for-each');\n\nmodule.exports = parent;\n","require('../../modules/web.dom-collections.iterator');\nvar classof = require('../../internals/classof');\nvar hasOwn = require('../../internals/has-own-property');\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/for-each');\n\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.forEach;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.forEach)\n || hasOwn(DOMIterables, classof(it)) ? method : own;\n};\n","var parent = require('../../../es/array/virtual/for-each');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.for-each');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var parent = require('../../actual/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-own-property-descriptors');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertyDescriptors;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var parent = require('../../actual/object/define-properties');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/define-properties');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-properties');\n\nmodule.exports = parent;\n","require('../../modules/es.object.define-properties');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperties = module.exports = function defineProperties(T, D) {\n return Object.defineProperties(T, D);\n};\n\nif (Object.defineProperties.sham) defineProperties.sham = true;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var parent = require('../../actual/object/define-property');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/define-property');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var parent = require('../../actual/object/assign');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/assign');\n\nmodule.exports = parent;\n","var parent = require('../../actual/instance/index-of');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/index-of');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/index-of');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/index-of');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.indexOf;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.indexOf) ? method : own;\n};\n","require('../../../modules/es.array.index-of');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').indexOf;\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar $IndexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar un$IndexOf = uncurryThis([].indexOf);\n\nvar NEGATIVE_ZERO = !!un$IndexOf && 1 / un$IndexOf([1], 1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n var fromIndex = arguments.length > 1 ? arguments[1] : undefined;\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? un$IndexOf(this, searchElement, fromIndex) || 0\n : $IndexOf(this, searchElement, fromIndex);\n }\n});\n","var parent = require('../../actual/array/is-array');\n\nmodule.exports = parent;\n","var parent = require('../../stable/array/is-array');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","require('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var parent = require('../../actual/symbol');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.pattern-match');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","var parent = require('../../stable/symbol');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('asyncDispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('dispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\ndefineWellKnownSymbol('replaceAll');\n","var parent = require('../actual/get-iterator-method');\n\nmodule.exports = parent;\n","var parent = require('../stable/get-iterator-method');\n\nmodule.exports = parent;\n","var parent = require('../es/get-iterator-method');\nrequire('../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../modules/es.array.iterator');\nrequire('../modules/es.string.iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = getIteratorMethod;\n","var parent = require('../../actual/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../stable/array/from');\n\nmodule.exports = parent;\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var parent = require('../../actual/instance/slice');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/slice');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own;\n};\n","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var parent = require('../../es/instance/sort');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/sort');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.sort;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.sort) ? method : own;\n};\n","require('../../../modules/es.array.sort');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').sort;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","var parent = require('../../es/instance/map');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/map');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.map;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.map) ? method : own;\n};\n","require('../../../modules/es.array.map');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').map;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var parent = require('../../actual/object/freeze');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/freeze');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/freeze');\n\nmodule.exports = parent;\n","require('../../modules/es.object.freeze');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.freeze;\n","var $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","var parent = require('../../actual/symbol/iterator');\n\nmodule.exports = parent;\n","var parent = require('../../stable/symbol/iterator');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol/iterator');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/es.symbol.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","var parent = require('../../es/json/stringify');\n\nmodule.exports = parent;\n","require('../../modules/es.json.stringify');\nvar path = require('../../internals/path');\nvar apply = require('../../internals/function-apply');\n\n// eslint-disable-next-line es/no-json -- safe\nif (!path.JSON) path.JSON = { stringify: JSON.stringify };\n\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nmodule.exports = function stringify(it, replacer, space) {\n return apply(path.JSON.stringify, null, arguments);\n};\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\n\nvar Array = global.Array;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar fix = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nvar FORCED = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n // https://github.com/tc39/proposal-well-formed-stringify\n $({ target: 'JSON', stat: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n for (var i = 0, l = arguments.length, args = Array(l); i < l; i++) args[i] = arguments[i];\n var result = apply($stringify, null, args);\n return typeof result == 'string' ? replace(result, tester, fix) : result;\n }\n });\n}\n","var parent = require('../../actual/object/create');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/create');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/create');\n\nmodule.exports = parent;\n","require('../../modules/es.object.create');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nmodule.exports = function create(P, D) {\n return Object.create(P, D);\n};\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","var parent = require('../../actual/object/set-prototype-of');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/set-prototype-of');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/set-prototype-of');\n\nmodule.exports = parent;\n","require('../../modules/es.object.set-prototype-of');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.setPrototypeOf;\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","var parent = require('../../actual/reflect/construct');\n\nmodule.exports = parent;\n","var parent = require('../../stable/reflect/construct');\n\nmodule.exports = parent;\n","var parent = require('../../es/reflect/construct');\n\nmodule.exports = parent;\n","require('../../modules/es.reflect.construct');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Reflect.construct;\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var parent = require('../../actual/object/get-prototype-of');\n\nmodule.exports = parent;\n","var parent = require('../../stable/object/get-prototype-of');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-prototype-of');\n\nmodule.exports = parent;\n","require('../../modules/es.object.get-prototype-of');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getPrototypeOf;\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var parent = require('../../web/url-search-params');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","require('../modules/web.url-search-params');\nvar path = require('../internals/path');\n\nmodule.exports = path.URLSearchParams;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar n$Fetch = getBuiltIn('fetch');\nvar N$Request = getBuiltIn('Request');\nvar Headers = getBuiltIn('Headers');\nvar RequestPrototype = N$Request && N$Request.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar RegExp = global.RegExp;\nvar TypeError = global.TypeError;\nvar decodeURIComponent = global.decodeURIComponent;\nvar encodeURIComponent = global.encodeURIComponent;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = replace(it, plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = replace(result, percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n push(this.entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(this.entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(this.entries, {\n key: deserialize(shift(entry)),\n value: deserialize(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n setInternalState(this, new URLSearchParamsState(init));\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) splice(entries, index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(n$Fetch)) {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return n$Fetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(N$Request)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new N$Request(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://теÑÑ‚').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","require('../../modules/web.dom-collections.iterator');\nvar classof = require('../../internals/classof');\nvar hasOwn = require('../../internals/has-own-property');\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/keys');\n\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.keys;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.keys)\n || hasOwn(DOMIterables, classof(it)) ? method : own;\n};\n","var parent = require('../../../es/array/virtual/keys');\n\nmodule.exports = parent;\n","require('../../../modules/es.array.iterator');\nrequire('../../../modules/es.object.to-string');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').keys;\n","var parent = require('../../es/instance/trim');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../string/virtual/trim');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.trim;\n return typeof it == 'string' || it === StringPrototype\n || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.trim) ? method : own;\n};\n","require('../../../modules/es.string.trim');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').trim;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","var parent = require('../../es/instance/includes');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar arrayMethod = require('../array/virtual/includes');\nvar stringMethod = require('../string/virtual/includes');\n\nvar ArrayPrototype = Array.prototype;\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.includes;\n if (it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.includes)) return arrayMethod;\n if (typeof it == 'string' || it === StringPrototype || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.includes)) {\n return stringMethod;\n } return own;\n};\n","require('../../../modules/es.array.includes');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').includes;\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","require('../../../modules/es.string.includes');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').includes;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var parent = require('../../es/instance/ends-with');\n\nmodule.exports = parent;\n","var endsWith = require('../string/virtual/ends-with');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.endsWith;\n return typeof it === 'string' || it === StringPrototype\n || (it instanceof String && own === StringPrototype.endsWith) ? endsWith : own;\n};\n","require('../../../modules/es.string.ends-with');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').endsWith;\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar $endsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var parent = require('../../es/instance/find');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/find');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.find;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.find) ? method : own;\n};\n","require('../../../modules/es.array.find');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').find;\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","require('../../modules/es.array.iterator');\nrequire('../../modules/es.map');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Map;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var parent = require('../../actual/promise');\nrequire('../../modules/esnext.aggregate-error');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.all-settled');\nrequire('../../modules/esnext.promise.try');\nrequire('../../modules/esnext.promise.any');\n\nmodule.exports = parent;\n","var parent = require('../../stable/promise');\n\nmodule.exports = parent;\n","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\n\nvar getInternalState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromisePrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromisePrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromisePrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n // eslint-disable-next-line unicorn/no-thenable -- safe\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length == 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","module.exports = typeof window == 'object';\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromise)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.aggregate-error');\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.all-settled.js');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true, forced: true }, {\n 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.any');\n","var parent = require('../../es/instance/repeat');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../string/virtual/repeat');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.repeat;\n return typeof it == 'string' || it === StringPrototype\n || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.repeat) ? method : own;\n};\n","require('../../../modules/es.string.repeat');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').repeat;\n","var $ = require('../internals/export');\nvar repeat = require('../internals/string-repeat');\n\n// `String.prototype.repeat` method\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\n$({ target: 'String', proto: true }, {\n repeat: repeat\n});\n","'use strict';\nvar global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var parent = require('../../es/instance/starts-with');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../string/virtual/starts-with');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.startsWith;\n return typeof it == 'string' || it === StringPrototype\n || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.startsWith) ? method : own;\n};\n","require('../../../modules/es.string.starts-with');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').startsWith;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","var parent = require('../../actual/map');\nrequire('../../modules/esnext.map.from');\nrequire('../../modules/esnext.map.of');\nrequire('../../modules/esnext.map.delete-all');\nrequire('../../modules/esnext.map.emplace');\nrequire('../../modules/esnext.map.every');\nrequire('../../modules/esnext.map.filter');\nrequire('../../modules/esnext.map.find');\nrequire('../../modules/esnext.map.find-key');\nrequire('../../modules/esnext.map.group-by');\nrequire('../../modules/esnext.map.includes');\nrequire('../../modules/esnext.map.key-by');\nrequire('../../modules/esnext.map.key-of');\nrequire('../../modules/esnext.map.map-keys');\nrequire('../../modules/esnext.map.map-values');\nrequire('../../modules/esnext.map.merge');\nrequire('../../modules/esnext.map.reduce');\nrequire('../../modules/esnext.map.some');\nrequire('../../modules/esnext.map.update');\n// TODO: remove from `core-js@4`\nrequire('../../modules/esnext.map.upsert');\n// TODO: remove from `core-js@4`\nrequire('../../modules/esnext.map.update-or-insert');\n\nmodule.exports = parent;\n","var parent = require('../../stable/map');\n\nmodule.exports = parent;\n","var $ = require('../internals/export');\nvar from = require('../internals/collection-from');\n\n// `Map.from` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n$({ target: 'Map', stat: true, forced: true }, {\n from: from\n});\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar aConstructor = require('../internals/a-constructor');\nvar iterate = require('../internals/iterate');\n\nvar push = [].push;\n\nmodule.exports = function from(source /* , mapFn, thisArg */) {\n var length = arguments.length;\n var mapFn = length > 1 ? arguments[1] : undefined;\n var mapping, array, n, boundFunction;\n aConstructor(this);\n mapping = mapFn !== undefined;\n if (mapping) aCallable(mapFn);\n if (source == undefined) return new this();\n array = [];\n if (mapping) {\n n = 0;\n boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined);\n iterate(source, function (nextItem) {\n call(push, array, boundFunction(nextItem, n++));\n });\n } else {\n iterate(source, push, { that: array });\n }\n return new this(array);\n};\n","var $ = require('../internals/export');\nvar of = require('../internals/collection-of');\n\n// `Map.of` method\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n$({ target: 'Map', stat: true, forced: true }, {\n of: of\n});\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\n// https://tc39.github.io/proposal-setmap-offrom/\nmodule.exports = function of() {\n return new this(arraySlice(arguments));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar deleteAll = require('../internals/collection-delete-all');\n\n// `Map.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n deleteAll: deleteAll\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\n\n// https://github.com/tc39/collection-methods\nmodule.exports = function deleteAll(/* ...elements */) {\n var collection = anObject(this);\n var remover = aCallable(collection['delete']);\n var allDeleted = true;\n var wasDeleted;\n for (var k = 0, len = arguments.length; k < len; k++) {\n wasDeleted = call(remover, collection, arguments[k]);\n allDeleted = allDeleted && wasDeleted;\n }\n return !!allDeleted;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar emplace = require('../internals/map-emplace');\n\n// `Map.prototype.emplace` method\n// https://github.com/thumbsupep/proposal-upsert\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n emplace: emplace\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\n\n// `Map.prototype.emplace` method\n// https://github.com/thumbsupep/proposal-upsert\nmodule.exports = function emplace(key, handler) {\n var map = anObject(this);\n var get = aCallable(map.get);\n var has = aCallable(map.has);\n var set = aCallable(map.set);\n var value = (call(has, map, key) && 'update' in handler)\n ? handler.update(call(get, map, key), key, map)\n : handler.insert(key, map);\n call(set, map, key, value);\n return value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.every` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n every: function every(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return !iterate(iterator, function (key, value, stop) {\n if (!boundFunction(value, key, map)) return stop();\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.filter` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n filter: function filter(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();\n var setter = aCallable(newMap.set);\n iterate(iterator, function (key, value) {\n if (boundFunction(value, key, map)) call(setter, newMap, key, value);\n }, { AS_ENTRIES: true, IS_ITERATOR: true });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.find` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n find: function find(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return iterate(iterator, function (key, value, stop) {\n if (boundFunction(value, key, map)) return stop(value);\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.findKey` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n findKey: function findKey(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return iterate(iterator, function (key, value, stop) {\n if (boundFunction(value, key, map)) return stop(key);\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar getIterator = require('../internals/get-iterator');\nvar iterate = require('../internals/iterate');\n\nvar push = uncurryThis([].push);\n\n// `Map.groupBy` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', stat: true, forced: true }, {\n groupBy: function groupBy(iterable, keyDerivative) {\n aCallable(keyDerivative);\n var iterator = getIterator(iterable);\n var newMap = new this();\n var has = aCallable(newMap.has);\n var get = aCallable(newMap.get);\n var set = aCallable(newMap.set);\n iterate(iterator, function (element) {\n var derivedKey = keyDerivative(element);\n if (!call(has, newMap, derivedKey)) call(set, newMap, derivedKey, [element]);\n else push(call(get, newMap, derivedKey), element);\n }, { IS_ITERATOR: true });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar sameValueZero = require('../internals/same-value-zero');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.includes` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n includes: function includes(searchElement) {\n return iterate(getMapIterator(anObject(this)), function (key, value, stop) {\n if (sameValueZero(value, searchElement)) return stop();\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","// `SameValueZero` abstract operation\n// https://tc39.es/ecma262/#sec-samevaluezero\nmodule.exports = function (x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y || x != x && y != y;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\n\n// `Map.keyBy` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', stat: true, forced: true }, {\n keyBy: function keyBy(iterable, keyDerivative) {\n var newMap = new this();\n aCallable(keyDerivative);\n var setter = aCallable(newMap.set);\n iterate(iterable, function (element) {\n call(setter, newMap, keyDerivative(element), element);\n });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.keyOf` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n keyOf: function keyOf(searchElement) {\n return iterate(getMapIterator(anObject(this)), function (key, value, stop) {\n if (value === searchElement) return stop(key);\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.mapKeys` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n mapKeys: function mapKeys(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();\n var setter = aCallable(newMap.set);\n iterate(iterator, function (key, value) {\n call(setter, newMap, boundFunction(value, key, map), value);\n }, { AS_ENTRIES: true, IS_ITERATOR: true });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.mapValues` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n mapValues: function mapValues(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();\n var setter = aCallable(newMap.set);\n iterate(iterator, function (key, value) {\n call(setter, newMap, key, boundFunction(value, key, map));\n }, { AS_ENTRIES: true, IS_ITERATOR: true });\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.merge` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n merge: function merge(iterable /* ...iterables */) {\n var map = anObject(this);\n var setter = aCallable(map.set);\n var argumentsLength = arguments.length;\n var i = 0;\n while (i < argumentsLength) {\n iterate(arguments[i++], setter, { that: map, AS_ENTRIES: true });\n }\n return map;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar anObject = require('../internals/an-object');\nvar aCallable = require('../internals/a-callable');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\nvar TypeError = global.TypeError;\n\n// `Map.prototype.reduce` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n aCallable(callbackfn);\n iterate(iterator, function (key, value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = callbackfn(accumulator, value, key, map);\n }\n }, { AS_ENTRIES: true, IS_ITERATOR: true });\n if (noInitial) throw TypeError('Reduce of empty map with no initial value');\n return accumulator;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.some` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n some: function some(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return iterate(iterator, function (key, value, stop) {\n if (boundFunction(value, key, map)) return stop();\n }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar aCallable = require('../internals/a-callable');\n\nvar TypeError = global.TypeError;\n\n// `Set.prototype.update` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n update: function update(key, callback /* , thunk */) {\n var map = anObject(this);\n var get = aCallable(map.get);\n var has = aCallable(map.has);\n var set = aCallable(map.set);\n var length = arguments.length;\n aCallable(callback);\n var isPresentInMap = call(has, map, key);\n if (!isPresentInMap && length < 3) {\n throw TypeError('Updating absent value');\n }\n var value = isPresentInMap ? call(get, map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map);\n call(set, map, key, callback(value, key, map));\n return map;\n }\n});\n","'use strict';\n// TODO: remove from `core-js@4`\nvar $ = require('../internals/export');\nvar upsert = require('../internals/map-upsert');\n\n// `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`)\n// https://github.com/thumbsupep/proposal-upsert\n$({ target: 'Map', proto: true, real: true, forced: true }, {\n upsert: upsert\n});\n","'use strict';\n// TODO: remove from `core-js@4`\nvar $ = require('../internals/export');\nvar upsert = require('../internals/map-upsert');\n\n// `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`)\n// https://github.com/thumbsupep/proposal-upsert\n$({ target: 'Map', proto: true, real: true, name: 'upsert', forced: true }, {\n updateOrInsert: upsert\n});\n","var parent = require('../../actual/instance/bind');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/bind');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/bind');\n\nmodule.exports = parent;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../function/virtual/bind');\n\nvar FunctionPrototype = Function.prototype;\n\nmodule.exports = function (it) {\n var own = it.bind;\n return it === FunctionPrototype || (isPrototypeOf(FunctionPrototype, it) && own === FunctionPrototype.bind) ? method : own;\n};\n","require('../../../modules/es.function.bind');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Function').bind;\n","var $ = require('../internals/export');\nvar bind = require('../internals/function-bind');\n\n// `Function.prototype.bind` method\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n$({ target: 'Function', proto: true, forced: Function.bind !== bind }, {\n bind: bind\n});\n","var parent = require('../../es/object/freeze');\n\nmodule.exports = parent;\n","require('../../modules/es.object.freeze');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.freeze;\n","var $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _templateObject = _taggedTemplateLiteral(['\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n'], ['\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n ', '\\n']);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _styledComponents = require('styled-components');\n\nvar _styledComponents2 = _interopRequireDefault(_styledComponents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\nvar Flexbox = (0, _styledComponents2.default)(function (_ref) {\n var alignContent = _ref.alignContent,\n alignItems = _ref.alignItems,\n alignSelf = _ref.alignSelf,\n children = _ref.children,\n display = _ref.display,\n element = _ref.element,\n flex = _ref.flex,\n flexBasis = _ref.flexBasis,\n flexDirection = _ref.flexDirection,\n flexGrow = _ref.flexGrow,\n flexShrink = _ref.flexShrink,\n flexWrap = _ref.flexWrap,\n height = _ref.height,\n justifyContent = _ref.justifyContent,\n margin = _ref.margin,\n marginBottom = _ref.marginBottom,\n marginLeft = _ref.marginLeft,\n marginRight = _ref.marginRight,\n marginTop = _ref.marginTop,\n maxHeight = _ref.maxHeight,\n maxWidth = _ref.maxWidth,\n minHeight = _ref.minHeight,\n minWidth = _ref.minWidth,\n order = _ref.order,\n padding = _ref.padding,\n paddingBottom = _ref.paddingBottom,\n paddingLeft = _ref.paddingLeft,\n paddingRight = _ref.paddingRight,\n paddingTop = _ref.paddingTop,\n width = _ref.width,\n props = _objectWithoutProperties(_ref, ['alignContent', 'alignItems', 'alignSelf', 'children', 'display', 'element', 'flex', 'flexBasis', 'flexDirection', 'flexGrow', 'flexShrink', 'flexWrap', 'height', 'justifyContent', 'margin', 'marginBottom', 'marginLeft', 'marginRight', 'marginTop', 'maxHeight', 'maxWidth', 'minHeight', 'minWidth', 'order', 'padding', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', 'width']);\n\n return _react2.default.createElement(element, props, children);\n})(_templateObject, function (props) {\n return props.alignContent ? 'align-content: ' + props.alignContent + ';' : '';\n}, function (props) {\n return props.alignSelf ? 'align-self: ' + props.alignSelf + ';' : '';\n}, function (props) {\n return props.alignItems ? 'align-items: ' + props.alignItems + ';' : '';\n}, function (props) {\n return props.display ? 'display: ' + props.display + ';' : '';\n}, function (props) {\n return props.flex ? 'flex: ' + props.flex + ';' : '';\n}, function (props) {\n return props.flexBasis ? 'flex-basis: ' + props.flexBasis + ';' : '';\n}, function (props) {\n return props.flexDirection ? 'flex-direction: ' + props.flexDirection + ';' : '';\n}, function (props) {\n return props.flexGrow ? 'flex-grow: ' + props.flexGrow + ';' : '';\n}, function (props) {\n return props.flexShrink ? 'flex-shrink: ' + props.flexShrink + ';' : '';\n}, function (props) {\n return props.flexWrap ? 'flex-wrap: ' + props.flexWrap + ';' : '';\n}, function (props) {\n return props.height ? 'height: ' + props.height + ';' : '';\n}, function (props) {\n return props.justifyContent ? 'justify-content: ' + props.justifyContent + ';' : '';\n}, function (props) {\n return props.margin ? 'margin: ' + props.margin + ';' : '';\n}, function (props) {\n return props.marginBottom ? 'margin-bottom: ' + props.marginBottom + ';' : '';\n}, function (props) {\n return props.marginLeft ? 'margin-left: ' + props.marginLeft + ';' : '';\n}, function (props) {\n return props.marginRight ? 'margin-right: ' + props.marginRight + ';' : '';\n}, function (props) {\n return props.marginTop ? 'margin-top: ' + props.marginTop + ';' : '';\n}, function (props) {\n return props.maxHeight ? 'max-height: ' + props.maxHeight + ';' : '';\n}, function (props) {\n return props.maxWidth ? 'max-width: ' + props.maxWidth + ';' : '';\n}, function (props) {\n return props.minHeight ? 'min-height: ' + props.minHeight + ';' : '';\n}, function (props) {\n return props.minWidth ? 'min-width: ' + props.minWidth + ';' : '';\n}, function (props) {\n return props.order ? 'order: ' + props.order + ';' : '';\n}, function (props) {\n return props.padding ? 'padding: ' + props.padding + ';' : '';\n}, function (props) {\n return props.paddingBottom ? 'padding-bottom: ' + props.paddingBottom + ';' : '';\n}, function (props) {\n return props.paddingLeft ? 'padding-left: ' + props.paddingLeft + ';' : '';\n}, function (props) {\n return props.paddingRight ? 'padding-right: ' + props.paddingRight + ';' : '';\n}, function (props) {\n return props.paddingTop ? 'padding-top: ' + props.paddingTop + ';' : '';\n}, function (props) {\n return props.width ? 'width: ' + props.width + ';' : '';\n});\n\nFlexbox.propTypes = {\n alignContent: _propTypes2.default.oneOf(['center', 'flex-end', 'flex-start', 'space-around', 'space-between', 'stretch']),\n alignItems: _propTypes2.default.oneOf(['baseline', 'center', 'flex-end', 'flex-start', 'stretch']),\n alignSelf: _propTypes2.default.oneOf(['baseline', 'center', 'flex-end', 'flex-start', 'stretch']),\n children: _propTypes2.default.node,\n display: _propTypes2.default.oneOf(['flex', 'inline-flex']),\n element: _propTypes2.default.oneOf(['article', 'aside', 'div', 'figure', 'footer', 'header', 'main', 'nav', 'section']),\n flex: _propTypes2.default.string,\n flexBasis: _propTypes2.default.string,\n flexDirection: _propTypes2.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row']),\n flexGrow: _propTypes2.default.number,\n flexShrink: _propTypes2.default.number,\n flexWrap: _propTypes2.default.oneOf(['nowrap', 'wrap-reverse', 'wrap']),\n height: _propTypes2.default.string,\n inline: _propTypes2.default.bool,\n justifyContent: _propTypes2.default.oneOf(['center', 'flex-end', 'flex-start', 'space-around', 'space-between']),\n margin: _propTypes2.default.string,\n marginBottom: _propTypes2.default.string,\n marginLeft: _propTypes2.default.string,\n marginRight: _propTypes2.default.string,\n marginTop: _propTypes2.default.string,\n maxHeight: _propTypes2.default.string,\n maxWidth: _propTypes2.default.string,\n minHeight: _propTypes2.default.string,\n minWidth: _propTypes2.default.string,\n order: _propTypes2.default.number,\n padding: _propTypes2.default.string,\n paddingBottom: _propTypes2.default.string,\n paddingLeft: _propTypes2.default.string,\n paddingRight: _propTypes2.default.string,\n paddingTop: _propTypes2.default.string,\n style: _propTypes2.default.object,\n width: _propTypes2.default.string\n};\n\nFlexbox.defaultProps = {\n display: 'flex',\n element: 'div'\n};\n\nexports.default = Flexbox;","import isPlainObject from 'is-plain-object';\nimport Stylis from 'stylis';\nimport React, { Component, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport hoistStatics from 'hoist-non-react-statics';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\nvar _uppercasePattern = /([A-Z])/g;\n\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenate$2(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nvar hyphenate_1 = hyphenate$2;\n\nvar hyphenate = hyphenate_1;\n\nvar msPattern = /^ms-/;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}\n\nvar hyphenateStyleName_1 = hyphenateStyleName;\n\n// \nvar objToCss = function objToCss(obj, prevKey) {\n var css = Object.keys(obj).filter(function (key) {\n var chunk = obj[key];\n return chunk !== undefined && chunk !== null && chunk !== false && chunk !== '';\n }).map(function (key) {\n if (isPlainObject(obj[key])) return objToCss(obj[key], key);\n return hyphenateStyleName_1(key) + ': ' + obj[key] + ';';\n }).join(' ');\n return prevKey ? prevKey + ' {\\n ' + css + '\\n}' : css;\n};\n\nvar flatten = function flatten(chunks, executionContext) {\n return chunks.reduce(function (ruleSet, chunk) {\n /* Remove falsey values */\n if (chunk === undefined || chunk === null || chunk === false || chunk === '') {\n return ruleSet;\n }\n /* Flatten ruleSet */\n if (Array.isArray(chunk)) {\n return [].concat(ruleSet, flatten(chunk, executionContext));\n }\n\n /* Handle other components */\n if (chunk.hasOwnProperty('styledComponentId')) {\n // $FlowFixMe not sure how to make this pass\n return [].concat(ruleSet, ['.' + chunk.styledComponentId]);\n }\n\n /* Either execute or defer the function */\n if (typeof chunk === 'function') {\n return executionContext ? ruleSet.concat.apply(ruleSet, flatten([chunk(executionContext)], executionContext)) : ruleSet.concat(chunk);\n }\n\n /* Handle objects */\n return ruleSet.concat(\n // $FlowFixMe have to add %checks somehow to isPlainObject\n isPlainObject(chunk) ? objToCss(chunk) : chunk.toString());\n }, []);\n};\n\n// \nvar stylis = new Stylis({\n global: false,\n cascade: true,\n keyframe: false,\n prefix: true,\n compress: false,\n semicolon: true\n});\n\nvar stringifyRules = function stringifyRules(rules, selector, prefix) {\n var flatCSS = rules.join('').replace(/^\\s*\\/\\/.*$/gm, ''); // replace JS comments\n\n var cssStr = selector && prefix ? prefix + ' ' + selector + ' { ' + flatCSS + ' }' : flatCSS;\n\n return stylis(prefix || !selector ? '' : selector, cssStr);\n};\n\n// \nvar chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');\nvar charsLength = chars.length;\n\n/* Some high number, usually 9-digit base-10. Map it to base-😎 */\nvar generateAlphabeticName = function generateAlphabeticName(code) {\n var name = '';\n var x = void 0;\n\n for (x = code; x > charsLength; x = Math.floor(x / charsLength)) {\n name = chars[x % charsLength] + name;\n }\n\n return chars[x % charsLength] + name;\n};\n\n// \n\n\nvar interleave = (function (strings, interpolations) {\n return interpolations.reduce(function (array, interp, i) {\n return array.concat(interp, strings[i + 1]);\n }, [strings[0]]);\n});\n\n// \nvar css = (function (strings) {\n for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n return flatten(interleave(strings, interpolations));\n});\n\n// \nvar SC_COMPONENT_ID = /^[^\\S\\n]*?\\/\\* sc-component-id:\\s+(\\S+)\\s+\\*\\//gm;\n\nvar extractCompsFromCSS = (function (maybeCSS) {\n var css = '' + (maybeCSS || ''); // Definitely a string, and a clone\n var existingComponents = [];\n css.replace(SC_COMPONENT_ID, function (match, componentId, matchIndex) {\n existingComponents.push({ componentId: componentId, matchIndex: matchIndex });\n return match;\n });\n return existingComponents.map(function (_ref, i) {\n var componentId = _ref.componentId,\n matchIndex = _ref.matchIndex;\n\n var nextComp = existingComponents[i + 1];\n var cssFromDOM = nextComp ? css.slice(matchIndex, nextComp.matchIndex) : css.slice(matchIndex);\n return { componentId: componentId, cssFromDOM: cssFromDOM };\n });\n});\n\n// \n/* eslint-disable camelcase, no-undef */\n\nvar getNonce = (function () {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n});\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _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\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n// \n/* eslint-disable no-underscore-dangle */\n/*\n * Browser Style Sheet with Rehydration\n *\n * <style data-styled-components=\"x y z\"\n * data-styled-components-is-local=\"true\">\n * /· sc-component-id: a ·/\n * .sc-a { ... }\n * .x { ... }\n * /· sc-component-id: b ·/\n * .sc-b { ... }\n * .y { ... }\n * .z { ... }\n * </style>\n *\n * Note: replace · with * in the above snippet.\n * */\nvar COMPONENTS_PER_TAG = 40;\n\nvar BrowserTag = function () {\n function BrowserTag(el, isLocal) {\n var existingSource = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n classCallCheck(this, BrowserTag);\n\n this.el = el;\n this.isLocal = isLocal;\n this.ready = false;\n\n var extractedComps = extractCompsFromCSS(existingSource);\n\n this.size = extractedComps.length;\n this.components = extractedComps.reduce(function (acc, obj) {\n acc[obj.componentId] = obj; // eslint-disable-line no-param-reassign\n return acc;\n }, {});\n }\n\n BrowserTag.prototype.isFull = function isFull() {\n return this.size >= COMPONENTS_PER_TAG;\n };\n\n BrowserTag.prototype.addComponent = function addComponent(componentId) {\n if (!this.ready) this.replaceElement();\n if (process.env.NODE_ENV !== 'production' && this.components[componentId]) {\n throw new Error('Trying to add Component \\'' + componentId + '\\' twice!');\n }\n\n var comp = { componentId: componentId, textNode: document.createTextNode('') };\n this.el.appendChild(comp.textNode);\n\n this.size += 1;\n this.components[componentId] = comp;\n };\n\n BrowserTag.prototype.inject = function inject(componentId, css, name) {\n if (!this.ready) this.replaceElement();\n var comp = this.components[componentId];\n\n if (process.env.NODE_ENV !== 'production' && !comp) {\n throw new Error('Must add a new component before you can inject css into it');\n }\n if (comp.textNode.data === '') {\n comp.textNode.appendData('\\n/* sc-component-id: ' + componentId + ' */\\n');\n }\n\n comp.textNode.appendData(css);\n if (name) {\n var existingNames = this.el.getAttribute(SC_ATTR);\n this.el.setAttribute(SC_ATTR, existingNames ? existingNames + ' ' + name : name);\n }\n\n var nonce = getNonce();\n\n if (nonce) {\n this.el.setAttribute('nonce', nonce);\n }\n };\n\n BrowserTag.prototype.toHTML = function toHTML() {\n return this.el.outerHTML;\n };\n\n BrowserTag.prototype.toReactElement = function toReactElement() {\n throw new Error(\"BrowserTag doesn't implement toReactElement!\");\n };\n\n BrowserTag.prototype.clone = function clone() {\n throw new Error('BrowserTag cannot be cloned!');\n };\n\n /* Because we care about source order, before we can inject anything we need to\n * create a text node for each component and replace the existing CSS. */\n\n\n BrowserTag.prototype.replaceElement = function replaceElement() {\n var _this = this;\n\n this.ready = true;\n // We have nothing to inject. Use the current el.\n if (this.size === 0) return;\n\n // Build up our replacement style tag\n var newEl = this.el.cloneNode();\n newEl.appendChild(document.createTextNode('\\n'));\n\n Object.keys(this.components).forEach(function (key) {\n var comp = _this.components[key];\n\n // eslint-disable-next-line no-param-reassign\n comp.textNode = document.createTextNode(comp.cssFromDOM);\n newEl.appendChild(comp.textNode);\n });\n\n if (!this.el.parentNode) {\n throw new Error(\"Trying to replace an element that wasn't mounted!\");\n }\n\n // The ol' switcheroo\n this.el.parentNode.replaceChild(newEl, this.el);\n this.el = newEl;\n };\n\n return BrowserTag;\n}();\n\n/* Factory function to separate DOM operations from logical ones*/\n\n\nvar BrowserStyleSheet = {\n create: function create() {\n var tags = [];\n var names = {};\n\n /* Construct existing state from DOM */\n var nodes = document.querySelectorAll('[' + SC_ATTR + ']');\n var nodesLength = nodes.length;\n\n for (var i = 0; i < nodesLength; i += 1) {\n var el = nodes[i];\n\n tags.push(new BrowserTag(el, el.getAttribute(LOCAL_ATTR) === 'true', el.innerHTML));\n\n var attr = el.getAttribute(SC_ATTR);\n if (attr) {\n attr.trim().split(/\\s+/).forEach(function (name) {\n names[name] = true;\n });\n }\n }\n\n /* Factory for making more tags */\n var tagConstructor = function tagConstructor(isLocal) {\n var el = document.createElement('style');\n el.type = 'text/css';\n el.setAttribute(SC_ATTR, '');\n el.setAttribute(LOCAL_ATTR, isLocal ? 'true' : 'false');\n if (!document.head) throw new Error('Missing document <head>');\n document.head.appendChild(el);\n return new BrowserTag(el, isLocal);\n };\n\n return new StyleSheet(tagConstructor, tags, names);\n }\n};\n\n// \nvar SC_ATTR = 'data-styled-components';\nvar LOCAL_ATTR = 'data-styled-components-is-local';\nvar CONTEXT_KEY = '__styled-components-stylesheet__';\n\n/* eslint-disable flowtype/object-type-delimiter */\n\n/* eslint-enable flowtype/object-type-delimiter */\n\nvar instance = null;\n// eslint-disable-next-line no-use-before-define\nvar clones = [];\n\nvar StyleSheet = function () {\n function StyleSheet(tagConstructor) {\n var tags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var names = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, StyleSheet);\n this.hashes = {};\n this.deferredInjections = {};\n this.stylesCacheable = typeof document !== 'undefined';\n\n this.tagConstructor = tagConstructor;\n this.tags = tags;\n this.names = names;\n this.constructComponentTagMap();\n }\n\n // helper for `ComponentStyle` to know when it cache static styles.\n // staticly styled-component can not safely cache styles on the server\n // without all `ComponentStyle` instances saving a reference to the\n // the styleSheet instance they last rendered with,\n // or listening to creation / reset events. otherwise you might create\n // a component with one stylesheet and render it another api response\n // with another, losing styles on from your server-side render.\n\n\n StyleSheet.prototype.constructComponentTagMap = function constructComponentTagMap() {\n var _this = this;\n\n this.componentTags = {};\n\n this.tags.forEach(function (tag) {\n Object.keys(tag.components).forEach(function (componentId) {\n _this.componentTags[componentId] = tag;\n });\n });\n };\n\n /* Best level of caching—get the name from the hash straight away. */\n\n\n StyleSheet.prototype.getName = function getName(hash) {\n return this.hashes[hash.toString()];\n };\n\n /* Second level of caching—if the name is already in the dom, don't\n * inject anything and record the hash for getName next time. */\n\n\n StyleSheet.prototype.alreadyInjected = function alreadyInjected(hash, name) {\n if (!this.names[name]) return false;\n\n this.hashes[hash.toString()] = name;\n return true;\n };\n\n /* Third type of caching—don't inject components' componentId twice. */\n\n\n StyleSheet.prototype.hasInjectedComponent = function hasInjectedComponent(componentId) {\n return !!this.componentTags[componentId];\n };\n\n StyleSheet.prototype.deferredInject = function deferredInject(componentId, isLocal, css) {\n if (this === instance) {\n clones.forEach(function (clone) {\n clone.deferredInject(componentId, isLocal, css);\n });\n }\n\n this.getOrCreateTag(componentId, isLocal);\n this.deferredInjections[componentId] = css;\n };\n\n StyleSheet.prototype.inject = function inject(componentId, isLocal, css, hash, name) {\n if (this === instance) {\n clones.forEach(function (clone) {\n clone.inject(componentId, isLocal, css);\n });\n }\n\n var tag = this.getOrCreateTag(componentId, isLocal);\n\n var deferredInjection = this.deferredInjections[componentId];\n if (deferredInjection) {\n tag.inject(componentId, deferredInjection);\n delete this.deferredInjections[componentId];\n }\n\n tag.inject(componentId, css, name);\n\n if (hash && name) {\n this.hashes[hash.toString()] = name;\n }\n };\n\n StyleSheet.prototype.toHTML = function toHTML() {\n return this.tags.map(function (tag) {\n return tag.toHTML();\n }).join('');\n };\n\n StyleSheet.prototype.toReactElements = function toReactElements() {\n return this.tags.map(function (tag, i) {\n return tag.toReactElement('sc-' + i);\n });\n };\n\n StyleSheet.prototype.getOrCreateTag = function getOrCreateTag(componentId, isLocal) {\n var existingTag = this.componentTags[componentId];\n if (existingTag) {\n return existingTag;\n }\n\n var lastTag = this.tags[this.tags.length - 1];\n var componentTag = !lastTag || lastTag.isFull() || lastTag.isLocal !== isLocal ? this.createNewTag(isLocal) : lastTag;\n this.componentTags[componentId] = componentTag;\n componentTag.addComponent(componentId);\n return componentTag;\n };\n\n StyleSheet.prototype.createNewTag = function createNewTag(isLocal) {\n var newTag = this.tagConstructor(isLocal);\n this.tags.push(newTag);\n return newTag;\n };\n\n StyleSheet.reset = function reset(isServer) {\n instance = StyleSheet.create(isServer);\n };\n\n /* We can make isServer totally implicit once Jest 20 drops and we\n * can change environment on a per-test basis. */\n\n\n StyleSheet.create = function create() {\n var isServer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : typeof document === 'undefined';\n\n return (isServer ? ServerStyleSheet : BrowserStyleSheet).create();\n };\n\n StyleSheet.clone = function clone(oldSheet) {\n var newSheet = new StyleSheet(oldSheet.tagConstructor, oldSheet.tags.map(function (tag) {\n return tag.clone();\n }), _extends({}, oldSheet.names));\n\n newSheet.hashes = _extends({}, oldSheet.hashes);\n newSheet.deferredInjections = _extends({}, oldSheet.deferredInjections);\n clones.push(newSheet);\n\n return newSheet;\n };\n\n createClass(StyleSheet, null, [{\n key: 'instance',\n get: function get$$1() {\n return instance || (instance = StyleSheet.create());\n }\n }]);\n return StyleSheet;\n}();\n\nvar _StyleSheetManager$ch;\n\n// \nvar StyleSheetManager = function (_Component) {\n inherits(StyleSheetManager, _Component);\n\n function StyleSheetManager() {\n classCallCheck(this, StyleSheetManager);\n return possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n StyleSheetManager.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[CONTEXT_KEY] = this.props.sheet, _ref;\n };\n\n StyleSheetManager.prototype.render = function render() {\n /* eslint-disable react/prop-types */\n // Flow v0.43.1 will report an error accessing the `children` property,\n // but v0.47.0 will not. It is necessary to use a type cast instead of\n // a \"fixme\" comment to satisfy both Flow versions.\n return React.Children.only(this.props.children);\n };\n\n return StyleSheetManager;\n}(Component);\n\nStyleSheetManager.childContextTypes = (_StyleSheetManager$ch = {}, _StyleSheetManager$ch[CONTEXT_KEY] = PropTypes.oneOfType([PropTypes.instanceOf(StyleSheet), PropTypes.instanceOf(ServerStyleSheet)]).isRequired, _StyleSheetManager$ch);\n\nStyleSheetManager.propTypes = {\n sheet: PropTypes.oneOfType([PropTypes.instanceOf(StyleSheet), PropTypes.instanceOf(ServerStyleSheet)]).isRequired\n};\n\n// \n/* eslint-disable no-underscore-dangle */\nvar ServerTag = function () {\n function ServerTag(isLocal) {\n classCallCheck(this, ServerTag);\n\n this.isLocal = isLocal;\n this.components = {};\n this.size = 0;\n this.names = [];\n }\n\n ServerTag.prototype.isFull = function isFull() {\n return false;\n };\n\n ServerTag.prototype.addComponent = function addComponent(componentId) {\n if (process.env.NODE_ENV !== 'production' && this.components[componentId]) {\n throw new Error('Trying to add Component \\'' + componentId + '\\' twice!');\n }\n this.components[componentId] = { componentId: componentId, css: '' };\n this.size += 1;\n };\n\n ServerTag.prototype.concatenateCSS = function concatenateCSS() {\n var _this = this;\n\n return Object.keys(this.components).reduce(function (styles, k) {\n return styles + _this.components[k].css;\n }, '');\n };\n\n ServerTag.prototype.inject = function inject(componentId, css, name) {\n var comp = this.components[componentId];\n\n if (process.env.NODE_ENV !== 'production' && !comp) {\n throw new Error('Must add a new component before you can inject css into it');\n }\n if (comp.css === '') comp.css = '/* sc-component-id: ' + componentId + ' */\\n';\n\n comp.css += css.replace(/\\n*$/, '\\n');\n\n if (name) this.names.push(name);\n };\n\n ServerTag.prototype.toHTML = function toHTML() {\n var attrs = ['type=\"text/css\"', SC_ATTR + '=\"' + this.names.join(' ') + '\"', LOCAL_ATTR + '=\"' + (this.isLocal ? 'true' : 'false') + '\"'];\n\n var nonce = getNonce();\n\n if (nonce) {\n attrs.push('nonce=\"' + nonce + '\"');\n }\n\n return '<style ' + attrs.join(' ') + '>' + this.concatenateCSS() + '</style>';\n };\n\n ServerTag.prototype.toReactElement = function toReactElement(key) {\n var _attrs;\n\n var attrs = (_attrs = {}, _attrs[SC_ATTR] = this.names.join(' '), _attrs[LOCAL_ATTR] = this.isLocal.toString(), _attrs);\n\n var nonce = getNonce();\n\n if (nonce) {\n attrs.nonce = nonce;\n }\n\n return React.createElement('style', _extends({\n key: key,\n type: 'text/css'\n }, attrs, {\n dangerouslySetInnerHTML: { __html: this.concatenateCSS() }\n }));\n };\n\n ServerTag.prototype.clone = function clone() {\n var _this2 = this;\n\n var copy = new ServerTag(this.isLocal);\n copy.names = [].concat(this.names);\n copy.size = this.size;\n copy.components = Object.keys(this.components).reduce(function (acc, key) {\n acc[key] = _extends({}, _this2.components[key]); // eslint-disable-line no-param-reassign\n return acc;\n }, {});\n\n return copy;\n };\n\n return ServerTag;\n}();\n\nvar ServerStyleSheet = function () {\n function ServerStyleSheet() {\n classCallCheck(this, ServerStyleSheet);\n\n this.instance = StyleSheet.clone(StyleSheet.instance);\n }\n\n ServerStyleSheet.prototype.collectStyles = function collectStyles(children) {\n if (this.closed) {\n throw new Error(\"Can't collect styles once you've called getStyleTags!\");\n }\n return React.createElement(\n StyleSheetManager,\n { sheet: this.instance },\n children\n );\n };\n\n ServerStyleSheet.prototype.getStyleTags = function getStyleTags() {\n if (!this.closed) {\n clones.splice(clones.indexOf(this.instance), 1);\n this.closed = true;\n }\n\n return this.instance.toHTML();\n };\n\n ServerStyleSheet.prototype.getStyleElement = function getStyleElement() {\n if (!this.closed) {\n clones.splice(clones.indexOf(this.instance), 1);\n this.closed = true;\n }\n\n return this.instance.toReactElements();\n };\n\n ServerStyleSheet.create = function create() {\n return new StyleSheet(function (isLocal) {\n return new ServerTag(isLocal);\n });\n };\n\n return ServerStyleSheet;\n}();\n\n// \n\nvar LIMIT = 200;\n\nvar createWarnTooManyClasses = (function (displayName) {\n var generatedClasses = {};\n var warningSeen = false;\n\n return function (className) {\n if (!warningSeen) {\n generatedClasses[className] = true;\n if (Object.keys(generatedClasses).length >= LIMIT) {\n // Unable to find latestRule in test environment.\n /* eslint-disable no-console, prefer-template */\n console.warn('Over ' + LIMIT + ' classes were generated for component ' + displayName + '. \\n' + 'Consider using the attrs method, together with a style object for frequently changed styles.\\n' + 'Example:\\n' + ' const Component = styled.div.attrs({\\n' + ' style: ({ background }) => ({\\n' + ' background,\\n' + ' }),\\n' + ' })`width: 100%;`\\n\\n' + ' <Component />');\n warningSeen = true;\n generatedClasses = {};\n }\n }\n };\n});\n\n// \n/* eslint-disable max-len */\n/**\n * Trying to avoid the unknown-prop errors on styled components by filtering by\n * React's attribute whitelist.\n *\n * To regenerate this regex:\n *\n * 1. `npm i -g regexgen` (https://github.com/devongovett/regexgen)\n * 2. Run `regexgen` with the list of space-separated words below as input\n * 3. Surround the emitted regex with this: `/^(GENERATED_REGEX)$/` -- this will ensure a full string match\n * and no false positives from partials\n **/\n/*\nchildren dangerouslySetInnerHTML key ref autoFocus defaultValue valueLink defaultChecked checkedLink innerHTML suppressContentEditableWarning onFocusIn onFocusOut className onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onReset onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onAnimationStart onAnimationEnd onAnimationIteration onTransitionEnd onCopyCapture onCutCapture onPasteCapture onCompositionEndCapture onCompositionStartCapture onCompositionUpdateCapture onKeyDownCapture onKeyPressCapture onKeyUpCapture onFocusCapture onBlurCapture onChangeCapture onInputCapture onSubmitCapture onResetCapture onClickCapture onContextMenuCapture onDoubleClickCapture onDragCapture onDragEndCapture onDragEnterCapture onDragExitCapture onDragLeaveCapture onDragOverCapture onDragStartCapture onDropCapture onMouseDownCapture onMouseEnterCapture onMouseLeaveCapture onMouseMoveCapture onMouseOutCapture onMouseOverCapture onMouseUpCapture onSelectCapture onTouchCancelCapture onTouchEndCapture onTouchMoveCapture onTouchStartCapture onScrollCapture onWheelCapture onAbortCapture onCanPlayCapture onCanPlayThroughCapture onDurationChangeCapture onEmptiedCapture onEncryptedCapture onEndedCapture onErrorCapture onLoadedDataCapture onLoadedMetadataCapture onLoadStartCapture onPauseCapture onPlayCapture onPlayingCapture onProgressCapture onRateChangeCapture onSeekedCapture onSeekingCapture onStalledCapture onSuspendCapture onTimeUpdateCapture onVolumeChangeCapture onWaitingCapture onLoadCapture onAnimationStartCapture onAnimationEndCapture onAnimationIterationCapture onTransitionEndCapture accept acceptCharset accessKey action allowFullScreen allowTransparency alt as async autoComplete autoPlay capture cellPadding cellSpacing charSet challenge checked cite classID className cols colSpan content contentEditable contextMenu controls coords crossOrigin data dateTime default defer dir disabled download draggable encType form formAction formEncType formMethod formNoValidate formTarget frameBorder headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity is keyParams keyType kind label lang list loop low manifest 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 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 baseProfile baselineShift bbox begin bias by calcMode capHeight clip clipPath clipRule clipPathUnits 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 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 paintOrder panose1 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\n*/\n/* eslint-enable max-len */\n\nvar ATTRIBUTE_REGEX = /^((?:s(?:uppressContentEditableWarn|croll|pac)|(?:shape|image|text)Render|(?:letter|word)Spac|vHang|hang)ing|(?:on(?:AnimationIteration|C(?:o(?:mposition(?:Update|Start|End)|ntextMenu|py)|anPlayThrough|anPlay|hange|lick|ut)|(?:(?:Duration|Volume|Rate)Chang|(?:MouseLea|(?:Touch|Mouse)Mo|DragLea)v|Paus)e|Loaded(?:Metad|D)ata|(?:Animation|Touch|Load|Drag)Start|(?:(?:T(?:ransition|ouch)|Animation)E|Suspe)nd|DoubleClick|(?:TouchCanc|Whe)el|(?:Mouse(?:Ent|Ov)e|Drag(?:Ent|Ov)e|Erro)r|TimeUpdate|(?:E(?:n(?:crypt|d)|mpti)|S(?:tall|eek))ed|MouseDown|P(?:rogress|laying)|(?:MouseOu|DragExi|S(?:elec|ubmi)|Rese|Inpu)t|KeyPress|DragEnd|Key(?:Down|Up)|(?:Wait|Seek)ing|(?:MouseU|Dro)p|Scroll|Paste|Focus|Abort|Drag|Play|Load|Blur)Captur|alignmentBaselin|(?:limitingConeAng|xlink(?:(?:Arcr|R)o|Tit)|s(?:urfaceSca|ty|ca)|unselectab|baseProfi|fontSty|(?:focus|dragg)ab|multip|profi|tit)l|d(?:ominantBaselin|efaultValu)|a(?:uto(?:Capitaliz|Revers|Sav)|dditiv)|(?:(?:formNoValid|xlinkActu|noValid|accumul|rot)a|autoComple|decelera)t|(?:(?:attribute|item)T|datat)yp|(?:attribute|glyph)Nam|playsInlin|(?:formE|e)ncTyp|(?:writing|input|edge)Mod|(?:xlinkTy|itemSco|keyTy|slo)p|(?:amplitu|mo)d|(?:xmlSpa|non)c|fillRul|(?:dateTi|na)m|r(?:esourc|ol)|xmlBas|wmod)e|(?:glyphOrientationHorizont|loc)al|(?:externalResourcesRequir|select|revers|mut)ed|c(?:o(?:lorInterpolationFilter|ntrol|ord)s|o(?:lor(?:Interpolation)?|ntent)|(?:ontentS(?:cript|tyle)Typ|o(?:ntentEditab|lorProfi)l|l(?:assNam|ipRul)|a(?:lcMod|ptur)|it)e|olorRendering|l(?:ipPathUnits|assID)|o(?:ntextMenu|ls)|h(?:eckedLink|a(?:llenge|rSet)|ildren|ecked)|ell(?:Spac|Padd)ing|(?:rossOrigi|olSpa)n|apHeight|lip(?:Path)?|ursor|[xy])|glyphOrientationVertical|d(?:angerouslySetInnerHTML|efaultChecked|ownload|isabled|isplay|[xy])|(?:s(?:trikethroughThickn|eaml)es|(?:und|ov)erlineThicknes|r(?:equiredExtension|adiu)|(?:requiredFeatur|tableValu|stitchTil|numOctav|filterR)e|key(?:(?:Splin|Tim)e|Param)|autoFocu|header|bia)s|(?:(?:st(?:rikethroughPosi|dDevia)|(?:und|ov)erlinePosi|(?:textDecor|elev)a|orienta)tio|(?:strokeLinejo|orig)i|formActio|zoomAndPa|onFocusI|directio|(?:vers|act)io|rowSpa|begi|ico)n|o(?:n(?:AnimationIteration|C(?:o(?:mposition(?:Update|Start|End)|ntextMenu|py)|anPlayThrough|anPlay|hange|lick|ut)|(?:(?:Duration|Volume|Rate)Chang|(?:MouseLea|(?:Touch|Mouse)Mo|DragLea)v|Paus)e|Loaded(?:Metad|D)ata|(?:Animation|Touch|Load|Drag)Start|(?:(?:T(?:ransition|ouch)|Animation)E|Suspe)nd|DoubleClick|(?:TouchCanc|Whe)el|(?:Mouse(?:Ent|Ov)e|Drag(?:Ent|Ov)e|Erro)r|TimeUpdate|(?:E(?:n(?:crypt|d)|mpti)|S(?:tall|eek))ed|MouseDown|P(?:rogress|laying)|(?:MouseOu|DragExi|S(?:elec|ubmi)|Rese|Inpu)t|KeyPress|DragEnd|Key(?:Down|Up)|(?:Wait|Seek)ing|(?:MouseU|Dro)p|Scroll|Paste|Focus|Abort|Drag|Play|Load|Blur)|rient)|p(?:reserveA(?:spectRatio|lpha)|ointsAt[X-Z]|anose1)|(?:patternContent|ma(?:sk(?:Content)?|rker)|primitive|gradient|pattern|filter)Units|(?:gradientT|patternT|t)ransform|(?:(?:allowTranspar|baseFrequ)enc|re(?:ferrerPolic|adOnl)|(?:(?:st(?:roke|op)O|floodO|fillO|o)pac|integr|secur)it|visibilit|fontFamil|accessKe|propert|summar)y|(?:strokeMiterlimi|(?:specularConsta|repeatCou|fontVaria)n|(?:(?:specularE|e)xpon|renderingInt|asc)en|d(?:iffuseConsta|esce)n|(?:fontSizeAdju|lengthAdju|manife)s|baselineShif|vectorEffec|(?:(?:mar(?:ker|gin)|x)H|accentH|fontW)eigh|a(?:utoCorrec|bou)|markerStar|onFocusOu|in(?:tercep|lis)|restar|forma|heigh|lis)t|(?:(?:st(?:rokeDasho|artO)|o)ffs|acceptChars|formTarg|viewTarg|srcS)et|(?:(?:enableBackgrou|markerE)n|s(?:p(?:readMetho|ee)|ee)|formMetho|m(?:arkerMi|etho)|preloa|kin)d|k(?:ernel(?:UnitLength|Matrix)|[1-4])|(?:[xy]ChannelSelect|lightingCol|textAnch|floodCol|stopCol|operat|htmlF)or|(?:allowFullScre|hidd)en|strokeDasharray|systemLanguage|(?:strokeLineca|itemPro|useMa|wra|loo)p|v(?:Mathematical|ert(?:Origin[XY]|AdvY)|alues|ocab)|(?:pointerEve|keyPoi)nts|unicodeRange|(?:(?:allowReord|placehold|frameBord|paintOrd|post|ord)e|repeatDu|d(?:efe|u))r|mathematical|(?:vI|i)deographic|h(?:oriz(?:Origin|Adv)X|ttpEquiv)|u(?:nicodeBidi|[12])|(?:fontStretc|hig)h|(?:(?:mar(?:ker|gin)W|strokeW)id|azimu)th|vAlphabetic|mediaGroup|spellCheck|(?:unitsPerE|optimu|fro)m|r(?:adioGroup|e(?:sults|f[XY]|l)|ows|[xy])|(?:xmlnsXl|valueL)ink|a(?:rabicForm|l(?:phabetic|t)|sync)|pathLength|(?:text|m(?:in|ax))Length|innerHTML|xlinkShow|(?:xlinkHr|glyphR)ef|r(?:e(?:quired|sult|f))?|o(?:verflow|pen)|(?:tabInde|(?:sand|b)bo|viewBo)x|(?:(?:href|xml|src)La|kerni)ng|f(?:o(?:ntSize|rm)|il(?:ter|l))|autoPlay|unicode|p(?:attern|oints)|t(?:arget[XY]|o)|i(?:temRef|n2|s)|divisor|d(?:efault|ata|ir)?|srcDoc|s(?:coped|te(?:m[hv]|p)|pan)|(?:width|size)s|(?:stri|la)ng|prefix|itemID|s(?:t(?:roke|art)|hape|cope|rc)|a(?:ccept|s)|t(?:arget|ype)|typeof|width|value|x(?:mlns)?|label|m(?:edia|a(?:sk|x)|in)|size|href|k(?:ey)?|end|low|x[12]|i[dn]|y[12]|g[12]|by|f[xy]|[yz])$/;\n\n/* From DOMProperty */\nvar ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nvar isCustomAttribute = RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$'));\n\nvar validAttr = (function (name) {\n return ATTRIBUTE_REGEX.test(name) || isCustomAttribute(name.toLowerCase());\n});\n\n// \n\n\nfunction isTag(target) /* : %checks */{\n return typeof target === 'string';\n}\n\n// \n\n\nfunction isStyledComponent(target) /* : %checks */{\n return typeof target === 'function' && typeof target.styledComponentId === 'string';\n}\n\n// \n\n/* eslint-disable no-undef */\nfunction getComponentName(target) {\n return target.displayName || target.name || 'Component';\n}\n\n// \n\n\nvar determineTheme = (function (props, fallbackTheme, defaultProps) {\n // Props should take precedence over ThemeProvider, which should take precedence over\n // defaultProps, but React automatically puts defaultProps on props.\n\n /* eslint-disable react/prop-types */\n var isDefaultTheme = defaultProps && props.theme === defaultProps.theme;\n var theme = props.theme && !isDefaultTheme ? props.theme : fallbackTheme;\n /* eslint-enable */\n\n return theme;\n});\n\n// \nvar escapeRegex = /[[\\].#*$><+~=|^:(),\"'`-]+/g;\nvar dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nfunction escape(str) {\n return str\n // Replace all possible CSS selectors\n .replace(escapeRegex, '-')\n\n // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '');\n}\n\n// \n/**\n * Creates a broadcast that can be listened to, i.e. simple event emitter\n *\n * @see https://github.com/ReactTraining/react-broadcast\n */\n\nvar createBroadcast = function createBroadcast(initialState) {\n var listeners = {};\n var id = 0;\n var state = initialState;\n\n function publish(nextState) {\n state = nextState;\n\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (var key in listeners) {\n var listener = listeners[key];\n if (listener === undefined) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n listener(state);\n }\n }\n\n function subscribe(listener) {\n var currentId = id;\n listeners[currentId] = listener;\n id += 1;\n listener(state);\n return currentId;\n }\n\n function unsubscribe(unsubID) {\n listeners[unsubID] = undefined;\n }\n\n return { publish: publish, subscribe: subscribe, unsubscribe: unsubscribe };\n};\n\n// \n// Helper to call a given function, only once\nvar once = (function (cb) {\n var called = false;\n\n return function () {\n if (!called) {\n called = true;\n cb();\n }\n };\n});\n\nvar _ThemeProvider$childC;\nvar _ThemeProvider$contex;\n\n// \n/* globals React$Element */\n// NOTE: DO NOT CHANGE, changing this is a semver major change!\nvar CHANNEL = '__styled-components__';\nvar CHANNEL_NEXT = CHANNEL + 'next__';\n\nvar CONTEXT_CHANNEL_SHAPE = PropTypes.shape({\n getTheme: PropTypes.func,\n subscribe: PropTypes.func,\n unsubscribe: PropTypes.func\n});\n\nvar warnChannelDeprecated = void 0;\nif (process.env.NODE_ENV !== 'production') {\n warnChannelDeprecated = once(function () {\n // eslint-disable-next-line no-console\n console.error('Warning: Usage of `context.' + CHANNEL + '` as a function is deprecated. It will be replaced with the object on `.context.' + CHANNEL_NEXT + '` in a future version.');\n });\n}\n\nvar isFunction = function isFunction(test) {\n return typeof test === 'function';\n};\n\n/**\n * Provide a theme to an entire react component tree via context and event listeners (have to do\n * both context and event emitter as pure components block context updates)\n */\n\nvar ThemeProvider = function (_Component) {\n inherits(ThemeProvider, _Component);\n\n function ThemeProvider() {\n classCallCheck(this, ThemeProvider);\n\n var _this = possibleConstructorReturn(this, _Component.call(this));\n\n _this.unsubscribeToOuterId = -1;\n\n _this.getTheme = _this.getTheme.bind(_this);\n return _this;\n }\n\n ThemeProvider.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n // If there is a ThemeProvider wrapper anywhere around this theme provider, merge this theme\n // with the outer theme\n var outerContext = this.context[CHANNEL_NEXT];\n if (outerContext !== undefined) {\n this.unsubscribeToOuterId = outerContext.subscribe(function (theme) {\n _this2.outerTheme = theme;\n });\n }\n this.broadcast = createBroadcast(this.getTheme());\n };\n\n ThemeProvider.prototype.getChildContext = function getChildContext() {\n var _this3 = this,\n _babelHelpers$extends;\n\n return _extends({}, this.context, (_babelHelpers$extends = {}, _babelHelpers$extends[CHANNEL_NEXT] = {\n getTheme: this.getTheme,\n subscribe: this.broadcast.subscribe,\n unsubscribe: this.broadcast.unsubscribe\n }, _babelHelpers$extends[CHANNEL] = function (subscriber) {\n if (process.env.NODE_ENV !== 'production') {\n warnChannelDeprecated();\n }\n\n // Patch the old `subscribe` provide via `CHANNEL` for older clients.\n var unsubscribeId = _this3.broadcast.subscribe(subscriber);\n return function () {\n return _this3.broadcast.unsubscribe(unsubscribeId);\n };\n }, _babelHelpers$extends));\n };\n\n ThemeProvider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.theme !== nextProps.theme) {\n this.broadcast.publish(this.getTheme(nextProps.theme));\n }\n };\n\n ThemeProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.unsubscribeToOuterId !== -1) {\n this.context[CHANNEL_NEXT].unsubscribe(this.unsubscribeToOuterId);\n }\n };\n\n // Get the theme from the props, supporting both (outerTheme) => {} as well as object notation\n\n\n ThemeProvider.prototype.getTheme = function getTheme(passedTheme) {\n var theme = passedTheme || this.props.theme;\n if (isFunction(theme)) {\n var mergedTheme = theme(this.outerTheme);\n if (process.env.NODE_ENV !== 'production' && !isPlainObject(mergedTheme)) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n return mergedTheme;\n }\n if (!isPlainObject(theme)) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n return _extends({}, this.outerTheme, theme);\n };\n\n ThemeProvider.prototype.render = function render() {\n if (!this.props.children) {\n return null;\n }\n return React.Children.only(this.props.children);\n };\n\n return ThemeProvider;\n}(Component);\n\nThemeProvider.childContextTypes = (_ThemeProvider$childC = {}, _ThemeProvider$childC[CHANNEL] = PropTypes.func, _ThemeProvider$childC[CHANNEL_NEXT] = CONTEXT_CHANNEL_SHAPE, _ThemeProvider$childC);\nThemeProvider.contextTypes = (_ThemeProvider$contex = {}, _ThemeProvider$contex[CHANNEL_NEXT] = CONTEXT_CHANNEL_SHAPE, _ThemeProvider$contex);\n\n// \n\n// HACK for generating all static styles without needing to allocate\n// an empty execution context every single time...\nvar STATIC_EXECUTION_CONTEXT = {};\n\nvar _StyledComponent = (function (ComponentStyle, constructWithOptions) {\n var identifiers = {};\n\n /* We depend on components having unique IDs */\n var generateId = function generateId(_displayName, parentComponentId) {\n var displayName = typeof _displayName !== 'string' ? 'sc' : escape(_displayName);\n\n var componentId = void 0;\n\n /**\n * only fall back to hashing the component injection order if\n * a proper displayName isn't provided by the babel plugin\n */\n if (!_displayName) {\n var nr = (identifiers[displayName] || 0) + 1;\n identifiers[displayName] = nr;\n\n componentId = displayName + '-' + ComponentStyle.generateName(displayName + nr);\n } else {\n componentId = displayName + '-' + ComponentStyle.generateName(displayName);\n }\n\n return parentComponentId !== undefined ? parentComponentId + '-' + componentId : componentId;\n };\n\n var BaseStyledComponent = function (_Component) {\n inherits(BaseStyledComponent, _Component);\n\n function BaseStyledComponent() {\n var _temp, _this, _ret;\n\n classCallCheck(this, BaseStyledComponent);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.attrs = {}, _this.state = {\n theme: null,\n generatedClassName: ''\n }, _this.unsubscribeId = -1, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n BaseStyledComponent.prototype.unsubscribeFromContext = function unsubscribeFromContext() {\n if (this.unsubscribeId !== -1) {\n this.context[CHANNEL_NEXT].unsubscribe(this.unsubscribeId);\n }\n };\n\n BaseStyledComponent.prototype.buildExecutionContext = function buildExecutionContext(theme, props) {\n var attrs = this.constructor.attrs;\n\n var context = _extends({}, props, { theme: theme });\n if (attrs === undefined) {\n return context;\n }\n\n this.attrs = Object.keys(attrs).reduce(function (acc, key) {\n var attr = attrs[key];\n // eslint-disable-next-line no-param-reassign\n acc[key] = typeof attr === 'function' ? attr(context) : attr;\n return acc;\n }, {});\n\n return _extends({}, context, this.attrs);\n };\n\n BaseStyledComponent.prototype.generateAndInjectStyles = function generateAndInjectStyles(theme, props) {\n var _constructor = this.constructor,\n attrs = _constructor.attrs,\n componentStyle = _constructor.componentStyle,\n warnTooManyClasses = _constructor.warnTooManyClasses;\n\n var styleSheet = this.context[CONTEXT_KEY] || StyleSheet.instance;\n\n // staticaly styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n if (componentStyle.isStatic && attrs === undefined) {\n return componentStyle.generateAndInjectStyles(STATIC_EXECUTION_CONTEXT, styleSheet);\n } else {\n var executionContext = this.buildExecutionContext(theme, props);\n var className = componentStyle.generateAndInjectStyles(executionContext, styleSheet);\n\n if (process.env.NODE_ENV !== 'production' && warnTooManyClasses !== undefined) {\n warnTooManyClasses(className);\n }\n\n return className;\n }\n };\n\n BaseStyledComponent.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var componentStyle = this.constructor.componentStyle;\n\n var styledContext = this.context[CHANNEL_NEXT];\n\n // If this is a staticaly-styled component, we don't need to the theme\n // to generate or build styles.\n if (componentStyle.isStatic) {\n var generatedClassName = this.generateAndInjectStyles(STATIC_EXECUTION_CONTEXT, this.props);\n this.setState({ generatedClassName: generatedClassName });\n // If there is a theme in the context, subscribe to the event emitter. This\n // is necessary due to pure components blocking context updates, this circumvents\n // that by updating when an event is emitted\n } else if (styledContext !== undefined) {\n var subscribe = styledContext.subscribe;\n\n this.unsubscribeId = subscribe(function (nextTheme) {\n // This will be called once immediately\n var theme = determineTheme(_this2.props, nextTheme, _this2.constructor.defaultProps);\n var generatedClassName = _this2.generateAndInjectStyles(theme, _this2.props);\n\n _this2.setState({ theme: theme, generatedClassName: generatedClassName });\n });\n } else {\n // eslint-disable-next-line react/prop-types\n var theme = this.props.theme || {};\n var _generatedClassName = this.generateAndInjectStyles(theme, this.props);\n this.setState({ theme: theme, generatedClassName: _generatedClassName });\n }\n };\n\n BaseStyledComponent.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n // If this is a staticaly-styled component, we don't need to listen to\n // props changes to update styles\n var componentStyle = this.constructor.componentStyle;\n\n if (componentStyle.isStatic) {\n return;\n }\n\n this.setState(function (oldState) {\n var theme = determineTheme(nextProps, oldState.theme, _this3.constructor.defaultProps);\n var generatedClassName = _this3.generateAndInjectStyles(theme, nextProps);\n\n return { theme: theme, generatedClassName: generatedClassName };\n });\n };\n\n BaseStyledComponent.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unsubscribeFromContext();\n };\n\n BaseStyledComponent.prototype.render = function render() {\n var _this4 = this;\n\n // eslint-disable-next-line react/prop-types\n var innerRef = this.props.innerRef;\n var generatedClassName = this.state.generatedClassName;\n var _constructor2 = this.constructor,\n styledComponentId = _constructor2.styledComponentId,\n target = _constructor2.target;\n\n\n var isTargetTag = isTag(target);\n\n var className = [\n // eslint-disable-next-line react/prop-types\n this.props.className, styledComponentId, this.attrs.className, generatedClassName].filter(Boolean).join(' ');\n\n var baseProps = _extends({}, this.attrs, {\n className: className\n });\n\n if (isStyledComponent(target)) {\n baseProps.innerRef = innerRef;\n } else {\n baseProps.ref = innerRef;\n }\n\n var propsForElement = Object.keys(this.props).reduce(function (acc, propName) {\n // Don't pass through non HTML tags through to HTML elements\n // always omit innerRef\n if (propName !== 'innerRef' && propName !== 'className' && (!isTargetTag || validAttr(propName))) {\n // eslint-disable-next-line no-param-reassign\n acc[propName] = _this4.props[propName];\n }\n\n return acc;\n }, baseProps);\n\n return createElement(target, propsForElement);\n };\n\n return BaseStyledComponent;\n }(Component);\n\n var createStyledComponent = function createStyledComponent(target, options, rules) {\n var _StyledComponent$cont;\n\n var _options$displayName = options.displayName,\n displayName = _options$displayName === undefined ? isTag(target) ? 'styled.' + target : 'Styled(' + getComponentName(target) + ')' : _options$displayName,\n _options$componentId = options.componentId,\n componentId = _options$componentId === undefined ? generateId(options.displayName, options.parentComponentId) : _options$componentId,\n _options$ParentCompon = options.ParentComponent,\n ParentComponent = _options$ParentCompon === undefined ? BaseStyledComponent : _options$ParentCompon,\n extendingRules = options.rules,\n attrs = options.attrs;\n\n\n var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + '-' + options.componentId : componentId;\n\n var componentStyle = new ComponentStyle(extendingRules === undefined ? rules : extendingRules.concat(rules), attrs, styledComponentId);\n\n var StyledComponent = function (_ParentComponent) {\n inherits(StyledComponent, _ParentComponent);\n\n function StyledComponent() {\n classCallCheck(this, StyledComponent);\n return possibleConstructorReturn(this, _ParentComponent.apply(this, arguments));\n }\n\n StyledComponent.withComponent = function withComponent(tag) {\n var previousComponentId = options.componentId,\n optionsToCopy = objectWithoutProperties(options, ['componentId']);\n\n\n var newComponentId = previousComponentId && previousComponentId + '-' + (isTag(tag) ? tag : escape(getComponentName(tag)));\n\n var newOptions = _extends({}, optionsToCopy, {\n componentId: newComponentId,\n ParentComponent: StyledComponent\n });\n\n return createStyledComponent(tag, newOptions, rules);\n };\n\n createClass(StyledComponent, null, [{\n key: 'extend',\n get: function get$$1() {\n var rulesFromOptions = options.rules,\n parentComponentId = options.componentId,\n optionsToCopy = objectWithoutProperties(options, ['rules', 'componentId']);\n\n\n var newRules = rulesFromOptions === undefined ? rules : rulesFromOptions.concat(rules);\n\n var newOptions = _extends({}, optionsToCopy, {\n rules: newRules,\n parentComponentId: parentComponentId,\n ParentComponent: StyledComponent\n });\n\n return constructWithOptions(createStyledComponent, target, newOptions);\n }\n }]);\n return StyledComponent;\n }(ParentComponent);\n\n StyledComponent.contextTypes = (_StyledComponent$cont = {}, _StyledComponent$cont[CHANNEL] = PropTypes.func, _StyledComponent$cont[CHANNEL_NEXT] = CONTEXT_CHANNEL_SHAPE, _StyledComponent$cont[CONTEXT_KEY] = PropTypes.oneOfType([PropTypes.instanceOf(StyleSheet), PropTypes.instanceOf(ServerStyleSheet)]), _StyledComponent$cont);\n StyledComponent.displayName = displayName;\n StyledComponent.styledComponentId = styledComponentId;\n StyledComponent.attrs = attrs;\n StyledComponent.componentStyle = componentStyle;\n StyledComponent.target = target;\n\n\n if (process.env.NODE_ENV !== 'production') {\n StyledComponent.warnTooManyClasses = createWarnTooManyClasses(displayName);\n }\n\n return StyledComponent;\n };\n\n return createStyledComponent;\n});\n\n// murmurhash2 via https://gist.github.com/raycmorgan/588423\n\nfunction doHash(str, seed) {\n var m = 0x5bd1e995;\n var r = 24;\n var h = seed ^ str.length;\n var length = str.length;\n var currentIndex = 0;\n\n while (length >= 4) {\n var k = UInt32(str, currentIndex);\n\n k = Umul32(k, m);\n k ^= k >>> r;\n k = Umul32(k, m);\n\n h = Umul32(h, m);\n h ^= k;\n\n currentIndex += 4;\n length -= 4;\n }\n\n switch (length) {\n case 3:\n h ^= UInt16(str, currentIndex);\n h ^= str.charCodeAt(currentIndex + 2) << 16;\n h = Umul32(h, m);\n break;\n\n case 2:\n h ^= UInt16(str, currentIndex);\n h = Umul32(h, m);\n break;\n\n case 1:\n h ^= str.charCodeAt(currentIndex);\n h = Umul32(h, m);\n break;\n }\n\n h ^= h >>> 13;\n h = Umul32(h, m);\n h ^= h >>> 15;\n\n return h >>> 0;\n}\n\nfunction UInt32(str, pos) {\n return str.charCodeAt(pos++) + (str.charCodeAt(pos++) << 8) + (str.charCodeAt(pos++) << 16) + (str.charCodeAt(pos) << 24);\n}\n\nfunction UInt16(str, pos) {\n return str.charCodeAt(pos++) + (str.charCodeAt(pos++) << 8);\n}\n\nfunction Umul32(n, m) {\n n = n | 0;\n m = m | 0;\n var nlo = n & 0xffff;\n var nhi = n >>> 16;\n var res = nlo * m + ((nhi * m & 0xffff) << 16) | 0;\n return res;\n}\n\n// \nvar isStaticRules = function isStaticRules(rules, attrs) {\n for (var i = 0; i < rules.length; i += 1) {\n var rule = rules[i];\n\n // recursive case\n if (Array.isArray(rule) && !isStaticRules(rule)) {\n return false;\n } else if (typeof rule === 'function' && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled copmonent\n return false;\n }\n }\n\n if (attrs !== undefined) {\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (var key in attrs) {\n var value = attrs[key];\n if (typeof value === 'function') {\n return false;\n }\n }\n }\n\n return true;\n};\n\nvar isHRMEnabled = typeof module !== 'undefined' && module.hot && process.env.NODE_ENV !== 'production';\n\n/*\n ComponentStyle is all the CSS-specific stuff, not\n the React-specific stuff.\n */\nvar _ComponentStyle = (function (nameGenerator, flatten, stringifyRules) {\n var ComponentStyle = function () {\n function ComponentStyle(rules, attrs, componentId) {\n classCallCheck(this, ComponentStyle);\n\n this.rules = rules;\n this.isStatic = !isHRMEnabled && isStaticRules(rules, attrs);\n this.componentId = componentId;\n if (!StyleSheet.instance.hasInjectedComponent(this.componentId)) {\n var placeholder = process.env.NODE_ENV !== 'production' ? '.' + componentId + ' {}' : '';\n StyleSheet.instance.deferredInject(componentId, true, placeholder);\n }\n }\n\n /*\n * Flattens a rule set into valid CSS\n * Hashes it, wraps the whole chunk in a .hash1234 {}\n * Returns the hash to be injected on render()\n * */\n\n\n ComponentStyle.prototype.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet) {\n var isStatic = this.isStatic,\n lastClassName = this.lastClassName;\n\n if (isStatic && lastClassName !== undefined) {\n return lastClassName;\n }\n\n var flatCSS = flatten(this.rules, executionContext);\n var hash = doHash(this.componentId + flatCSS.join(''));\n\n var existingName = styleSheet.getName(hash);\n if (existingName !== undefined) {\n if (styleSheet.stylesCacheable) {\n this.lastClassName = existingName;\n }\n return existingName;\n }\n\n var name = nameGenerator(hash);\n if (styleSheet.stylesCacheable) {\n this.lastClassName = existingName;\n }\n if (styleSheet.alreadyInjected(hash, name)) {\n return name;\n }\n\n var css = '\\n' + stringifyRules(flatCSS, '.' + name);\n // NOTE: this can only be set when we inject the class-name.\n // For some reason, presumably due to how css is stringifyRules behaves in\n // differently between client and server, styles break.\n styleSheet.inject(this.componentId, true, css, hash, name);\n return name;\n };\n\n ComponentStyle.generateName = function generateName(str) {\n return nameGenerator(doHash(str));\n };\n\n return ComponentStyle;\n }();\n\n return ComponentStyle;\n});\n\n// \n// Thanks to ReactDOMFactories for this handy list!\n\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr',\n\n// SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\n// \n\nvar _styled = (function (styledComponent, constructWithOptions) {\n var styled = function styled(tag) {\n return constructWithOptions(styledComponent, tag);\n };\n\n // Shorthands for all valid HTML Elements\n domElements.forEach(function (domElement) {\n styled[domElement] = styled(domElement);\n });\n\n return styled;\n});\n\n// \nvar replaceWhitespace = function replaceWhitespace(str) {\n return str.replace(/\\s|\\\\n/g, '');\n};\n\nvar _keyframes = (function (nameGenerator, stringifyRules, css) {\n return function (strings) {\n for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n var rules = css.apply(undefined, [strings].concat(interpolations));\n var hash = doHash(replaceWhitespace(JSON.stringify(rules)));\n\n var existingName = StyleSheet.instance.getName(hash);\n if (existingName) return existingName;\n\n var name = nameGenerator(hash);\n if (StyleSheet.instance.alreadyInjected(hash, name)) return name;\n\n var generatedCSS = stringifyRules(rules, name, '@keyframes');\n StyleSheet.instance.inject('sc-keyframes-' + name, true, generatedCSS, hash, name);\n return name;\n };\n});\n\n// \nvar _injectGlobal = (function (stringifyRules, css) {\n var injectGlobal = function injectGlobal(strings) {\n for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n var rules = css.apply(undefined, [strings].concat(interpolations));\n var hash = doHash(JSON.stringify(rules));\n\n var componentId = 'sc-global-' + hash;\n if (StyleSheet.instance.hasInjectedComponent(componentId)) return;\n\n StyleSheet.instance.inject(componentId, false, stringifyRules(rules));\n };\n\n return injectGlobal;\n});\n\n// \n\n\nvar _constructWithOptions = (function (css) {\n var constructWithOptions = function constructWithOptions(componentConstructor, tag) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (process.env.NODE_ENV !== 'production' && typeof tag !== 'string' && typeof tag !== 'function') {\n // $FlowInvalidInputTest\n throw new Error('Cannot create styled-component for component: ' + tag);\n }\n\n /* This is callable directly as a template function */\n var templateFunction = function templateFunction(strings) {\n for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n return componentConstructor(tag, options, css.apply(undefined, [strings].concat(interpolations)));\n };\n\n /* If config methods are called, wrap up a new template function and merge options */\n templateFunction.withConfig = function (config) {\n return constructWithOptions(componentConstructor, tag, _extends({}, options, config));\n };\n templateFunction.attrs = function (attrs) {\n return constructWithOptions(componentConstructor, tag, _extends({}, options, {\n attrs: _extends({}, options.attrs || {}, attrs)\n }));\n };\n\n return templateFunction;\n };\n\n return constructWithOptions;\n});\n\n// \n/* globals ReactClass */\n\nvar wrapWithTheme = function wrapWithTheme(Component$$1) {\n var _WithTheme$contextTyp;\n\n var componentName = Component$$1.displayName || Component$$1.name || 'Component';\n\n var shouldSetInnerRef = isStyledComponent(Component$$1) ||\n // NOTE: We can't pass a ref to a stateless functional component\n typeof Component$$1 === 'function' && !(Component$$1.prototype && 'isReactComponent' in Component$$1.prototype);\n\n var WithTheme = function (_React$Component) {\n inherits(WithTheme, _React$Component);\n\n function WithTheme() {\n var _temp, _this, _ret;\n\n classCallCheck(this, WithTheme);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {}, _this.unsubscribeId = -1, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n // NOTE: This is so that isStyledComponent passes for the innerRef unwrapping\n\n\n WithTheme.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var defaultProps = this.constructor.defaultProps;\n\n var styledContext = this.context[CHANNEL_NEXT];\n var themeProp = determineTheme(this.props, undefined, defaultProps);\n if (styledContext === undefined && themeProp === undefined && process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps');\n } else if (styledContext === undefined && themeProp !== undefined) {\n this.setState({ theme: themeProp });\n } else {\n var subscribe = styledContext.subscribe;\n\n this.unsubscribeId = subscribe(function (nextTheme) {\n var theme = determineTheme(_this2.props, nextTheme, defaultProps);\n _this2.setState({ theme: theme });\n });\n }\n };\n\n WithTheme.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var defaultProps = this.constructor.defaultProps;\n\n this.setState(function (oldState) {\n var theme = determineTheme(nextProps, oldState.theme, defaultProps);\n\n return { theme: theme };\n });\n };\n\n WithTheme.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.unsubscribeId !== -1) {\n this.context[CHANNEL_NEXT].unsubscribe(this.unsubscribeId);\n }\n };\n\n WithTheme.prototype.render = function render() {\n // eslint-disable-next-line react/prop-types\n var innerRef = this.props.innerRef;\n var theme = this.state.theme;\n\n\n return React.createElement(Component$$1, _extends({\n theme: theme\n }, this.props, {\n innerRef: shouldSetInnerRef ? innerRef : undefined,\n ref: shouldSetInnerRef ? undefined : innerRef\n }));\n };\n\n return WithTheme;\n }(React.Component);\n\n WithTheme.displayName = 'WithTheme(' + componentName + ')';\n WithTheme.styledComponentId = 'withTheme';\n WithTheme.contextTypes = (_WithTheme$contextTyp = {}, _WithTheme$contextTyp[CHANNEL] = PropTypes.func, _WithTheme$contextTyp[CHANNEL_NEXT] = CONTEXT_CHANNEL_SHAPE, _WithTheme$contextTyp);\n\n\n return hoistStatics(WithTheme, Component$$1);\n};\n\n// \n\n/* Import singletons */\n/* Import singleton constructors */\n/* Import components */\n/* Import Higher Order Components */\n/* Instantiate singletons */\nvar ComponentStyle = _ComponentStyle(generateAlphabeticName, flatten, stringifyRules);\nvar constructWithOptions = _constructWithOptions(css);\nvar StyledComponent = _StyledComponent(ComponentStyle, constructWithOptions);\n\n/* Instantiate exported singletons */\nvar keyframes = _keyframes(generateAlphabeticName, stringifyRules, css);\nvar injectGlobal = _injectGlobal(stringifyRules, css);\nvar styled = _styled(StyledComponent, constructWithOptions);\n\nexport { css, keyframes, injectGlobal, ThemeProvider, wrapWithTheme as withTheme, ServerStyleSheet, StyleSheetManager };export default styled;\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/*!\n * isobject <https://github.com/jonschlinkert/isobject>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","/* eslint-disable */\n;(function(root, factory) {\n if (typeof define === 'function' && define.amd) { // AMD\n define(['./blockly_compressed'], factory);\n } else if (typeof exports === 'object') { // Node.js\n module.exports = factory(require('./blockly_compressed'));\n } else { // Browser\n root.Blockly = factory(root.Blockly);\n }\n}(this, function(Blockly) {\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Blockly module; just a wrapper for blockly_compressed.js.\n */\n\nreturn Blockly;\n})); \n","/* eslint-disable */\n;(function(root, factory) {\n if (typeof define === 'function' && define.amd) { // AMD\n define(['./core', './javascript_compressed.js'], factory);\n } else if (typeof exports === 'object') { // Node.js\n module.exports = factory(require('./core'), require('./javascript_compressed.js'));\n } else { // Browser\n root.BlocklyJavaScript = factory(root.Blockly, root.BlocklyJavaScript);\n }\n}(this, function(Blockly, BlocklyJavaScript) {\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview JavaScript Generator module; just a wrapper for\n * javascript_compressed.js.\n */\n\nreturn BlocklyJavaScript;\n})); \n","// Do not edit this file; automatically generated.\n\n/* eslint-disable */\n;(function(root, factory) {\n if (typeof define === 'function' && define.amd) { // AMD\n define([\"./blockly_compressed.js\"], factory);\n } else if (typeof exports === 'object') { // Node.js\n module.exports = factory(require(\"./blockly_compressed.js\"));\n } else { // Browser\n root.Blockly.JavaScript = factory(root.Blockly);\n }\n}(this, function(Blockly) {\nconst $=Blockly.internal_;\nvar module$contents$Blockly$JavaScript_JavaScript=new $.module$exports$Blockly$Generator.Generator(\"JavaScript\");module$contents$Blockly$JavaScript_JavaScript.addReservedWords(\"break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,new,return,super,switch,this,throw,try,typeof,var,void,while,with,yield,enum,implements,interface,let,package,private,protected,public,static,await,null,true,false,arguments,\"+Object.getOwnPropertyNames($.module$exports$Blockly$utils$global.globalThis).join(\",\"));\nmodule$contents$Blockly$JavaScript_JavaScript.ORDER_ATOMIC=0;module$contents$Blockly$JavaScript_JavaScript.ORDER_NEW=1.1;module$contents$Blockly$JavaScript_JavaScript.ORDER_MEMBER=1.2;module$contents$Blockly$JavaScript_JavaScript.ORDER_FUNCTION_CALL=2;module$contents$Blockly$JavaScript_JavaScript.ORDER_INCREMENT=3;module$contents$Blockly$JavaScript_JavaScript.ORDER_DECREMENT=3;module$contents$Blockly$JavaScript_JavaScript.ORDER_BITWISE_NOT=4.1;\nmodule$contents$Blockly$JavaScript_JavaScript.ORDER_UNARY_PLUS=4.2;module$contents$Blockly$JavaScript_JavaScript.ORDER_UNARY_NEGATION=4.3;module$contents$Blockly$JavaScript_JavaScript.ORDER_LOGICAL_NOT=4.4;module$contents$Blockly$JavaScript_JavaScript.ORDER_TYPEOF=4.5;module$contents$Blockly$JavaScript_JavaScript.ORDER_VOID=4.6;module$contents$Blockly$JavaScript_JavaScript.ORDER_DELETE=4.7;module$contents$Blockly$JavaScript_JavaScript.ORDER_AWAIT=4.8;\nmodule$contents$Blockly$JavaScript_JavaScript.ORDER_EXPONENTIATION=5;module$contents$Blockly$JavaScript_JavaScript.ORDER_MULTIPLICATION=5.1;module$contents$Blockly$JavaScript_JavaScript.ORDER_DIVISION=5.2;module$contents$Blockly$JavaScript_JavaScript.ORDER_MODULUS=5.3;module$contents$Blockly$JavaScript_JavaScript.ORDER_SUBTRACTION=6.1;module$contents$Blockly$JavaScript_JavaScript.ORDER_ADDITION=6.2;module$contents$Blockly$JavaScript_JavaScript.ORDER_BITWISE_SHIFT=7;\nmodule$contents$Blockly$JavaScript_JavaScript.ORDER_RELATIONAL=8;module$contents$Blockly$JavaScript_JavaScript.ORDER_IN=8;module$contents$Blockly$JavaScript_JavaScript.ORDER_INSTANCEOF=8;module$contents$Blockly$JavaScript_JavaScript.ORDER_EQUALITY=9;module$contents$Blockly$JavaScript_JavaScript.ORDER_BITWISE_AND=10;module$contents$Blockly$JavaScript_JavaScript.ORDER_BITWISE_XOR=11;module$contents$Blockly$JavaScript_JavaScript.ORDER_BITWISE_OR=12;\nmodule$contents$Blockly$JavaScript_JavaScript.ORDER_LOGICAL_AND=13;module$contents$Blockly$JavaScript_JavaScript.ORDER_LOGICAL_OR=14;module$contents$Blockly$JavaScript_JavaScript.ORDER_CONDITIONAL=15;module$contents$Blockly$JavaScript_JavaScript.ORDER_ASSIGNMENT=16;module$contents$Blockly$JavaScript_JavaScript.ORDER_YIELD=17;module$contents$Blockly$JavaScript_JavaScript.ORDER_COMMA=18;module$contents$Blockly$JavaScript_JavaScript.ORDER_NONE=99;\nmodule$contents$Blockly$JavaScript_JavaScript.ORDER_OVERRIDES=[[module$contents$Blockly$JavaScript_JavaScript.ORDER_FUNCTION_CALL,module$contents$Blockly$JavaScript_JavaScript.ORDER_MEMBER],[module$contents$Blockly$JavaScript_JavaScript.ORDER_FUNCTION_CALL,module$contents$Blockly$JavaScript_JavaScript.ORDER_FUNCTION_CALL],[module$contents$Blockly$JavaScript_JavaScript.ORDER_MEMBER,module$contents$Blockly$JavaScript_JavaScript.ORDER_MEMBER],[module$contents$Blockly$JavaScript_JavaScript.ORDER_MEMBER,\nmodule$contents$Blockly$JavaScript_JavaScript.ORDER_FUNCTION_CALL],[module$contents$Blockly$JavaScript_JavaScript.ORDER_LOGICAL_NOT,module$contents$Blockly$JavaScript_JavaScript.ORDER_LOGICAL_NOT],[module$contents$Blockly$JavaScript_JavaScript.ORDER_MULTIPLICATION,module$contents$Blockly$JavaScript_JavaScript.ORDER_MULTIPLICATION],[module$contents$Blockly$JavaScript_JavaScript.ORDER_ADDITION,module$contents$Blockly$JavaScript_JavaScript.ORDER_ADDITION],[module$contents$Blockly$JavaScript_JavaScript.ORDER_LOGICAL_AND,\nmodule$contents$Blockly$JavaScript_JavaScript.ORDER_LOGICAL_AND],[module$contents$Blockly$JavaScript_JavaScript.ORDER_LOGICAL_OR,module$contents$Blockly$JavaScript_JavaScript.ORDER_LOGICAL_OR]];module$contents$Blockly$JavaScript_JavaScript.isInitialized=!1;\nmodule$contents$Blockly$JavaScript_JavaScript.init=function(a){Object.getPrototypeOf(this).init.call(this);this.nameDB_?this.nameDB_.reset():this.nameDB_=new $.module$exports$Blockly$Names.Names(this.RESERVED_WORDS_);this.nameDB_.setVariableMap(a.getVariableMap());this.nameDB_.populateVariables(a);this.nameDB_.populateProcedures(a);for(var b=[],c=(0,$.module$exports$Blockly$Variables.allDeveloperVariables)(a),d=0;d<c.length;d++)b.push(this.nameDB_.getName(c[d],$.module$exports$Blockly$Names.NameType.DEVELOPER_VARIABLE));\na=(0,$.module$exports$Blockly$Variables.allUsedVarModels)(a);for(c=0;c<a.length;c++)b.push(this.nameDB_.getName(a[c].getId(),$.module$exports$Blockly$Names.NameType.VARIABLE));b.length&&(this.definitions_.variables=\"var \"+b.join(\", \")+\";\");this.isInitialized=!0};\nmodule$contents$Blockly$JavaScript_JavaScript.finish=function(a){var b=(0,$.module$exports$Blockly$utils$object.values)(this.definitions_);a=Object.getPrototypeOf(this).finish.call(this,a);this.isInitialized=!1;this.nameDB_.reset();return b.join(\"\\n\\n\")+\"\\n\\n\\n\"+a};module$contents$Blockly$JavaScript_JavaScript.scrubNakedValue=function(a){return a+\";\\n\"};\nmodule$contents$Blockly$JavaScript_JavaScript.quote_=function(a){a=a.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\n/g,\"\\\\\\n\").replace(/'/g,\"\\\\'\");return\"'\"+a+\"'\"};module$contents$Blockly$JavaScript_JavaScript.multiline_quote_=function(a){return a.split(/\\n/g).map(this.quote_).join(\" + '\\\\n' +\\n\")};\nmodule$contents$Blockly$JavaScript_JavaScript.scrub_=function(a,b,c){var d=\"\";if(!a.outputConnection||!a.outputConnection.targetConnection){var e=a.getCommentText();e&&(e=(0,$.module$exports$Blockly$utils$string.wrap)(e,this.COMMENT_WRAP-3),d+=this.prefixLines(e+\"\\n\",\"// \"));for(var f=0;f<a.inputList.length;f++)a.inputList[f].type===$.module$exports$Blockly$inputTypes.inputTypes.VALUE&&(e=a.inputList[f].connection.targetBlock())&&(e=this.allNestedComments(e))&&(d+=this.prefixLines(e,\"// \"))}a=a.nextConnection&&\na.nextConnection.targetBlock();c=c?\"\":this.blockToCode(a);return d+b+c};\nmodule$contents$Blockly$JavaScript_JavaScript.getAdjusted=function(a,b,c,d,e){c=c||0;e=e||this.ORDER_NONE;a.workspace.options.oneBasedIndex&&c--;var f=a.workspace.options.oneBasedIndex?\"1\":\"0\",g=e;if(0<c)var h=g=this.ORDER_ADDITION;else 0>c?h=g=this.ORDER_SUBTRACTION:d&&(h=g=this.ORDER_UNARY_NEGATION);a=this.valueToCode(a,b,g)||f;(0,$.module$exports$Blockly$utils$string.isNumber)(a)?(a=Number(a)+c,d&&(a=-a)):(0<c?a=a+\" + \"+c:0>c&&(a=a+\" - \"+-c),d&&(a=c?\"-(\"+a+\")\":\"-\"+a),h=Math.floor(h),e=Math.floor(e),\nh&&e>=h&&(a=\"(\"+a+\")\"));return a};$.Blockly.JavaScript=module$contents$Blockly$JavaScript_JavaScript;var module$exports$Blockly$JavaScript$variables={};$.Blockly.JavaScript.variables_get=function(a){return[$.Blockly.JavaScript.nameDB_.getName(a.getFieldValue(\"VAR\"),$.module$exports$Blockly$Names.NameType.VARIABLE),$.Blockly.JavaScript.ORDER_ATOMIC]};\n$.Blockly.JavaScript.variables_set=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"VALUE\",$.Blockly.JavaScript.ORDER_ASSIGNMENT)||\"0\";return $.Blockly.JavaScript.nameDB_.getName(a.getFieldValue(\"VAR\"),$.module$exports$Blockly$Names.NameType.VARIABLE)+\" = \"+b+\";\\n\"};var module$exports$Blockly$JavaScript$variablesDynamic={};$.Blockly.JavaScript.variables_get_dynamic=$.Blockly.JavaScript.variables_get;$.Blockly.JavaScript.variables_set_dynamic=$.Blockly.JavaScript.variables_set;var module$exports$Blockly$JavaScript$texts={},module$contents$Blockly$JavaScript$texts_strRegExp=/^\\s*'([^']|\\\\')*'\\s*$/,module$contents$Blockly$JavaScript$texts_forceString=function(a){return module$contents$Blockly$JavaScript$texts_strRegExp.test(a)?[a,$.Blockly.JavaScript.ORDER_ATOMIC]:[\"String(\"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]},module$contents$Blockly$JavaScript$texts_getSubstringIndex=function(a,b,c){return\"FIRST\"===b?\"0\":\"FROM_END\"===b?a+\".length - 1 - \"+c:\"LAST\"===b?a+\".length - 1\":\nc};$.Blockly.JavaScript.text=function(a){return[$.Blockly.JavaScript.quote_(a.getFieldValue(\"TEXT\")),$.Blockly.JavaScript.ORDER_ATOMIC]};$.Blockly.JavaScript.text_multiline=function(a){a=$.Blockly.JavaScript.multiline_quote_(a.getFieldValue(\"TEXT\"));var b=-1!==a.indexOf(\"+\")?$.Blockly.JavaScript.ORDER_ADDITION:$.Blockly.JavaScript.ORDER_ATOMIC;return[a,b]};\n$.Blockly.JavaScript.text_join=function(a){switch(a.itemCount_){case 0:return[\"''\",$.Blockly.JavaScript.ORDER_ATOMIC];case 1:return a=$.Blockly.JavaScript.valueToCode(a,\"ADD0\",$.Blockly.JavaScript.ORDER_NONE)||\"''\",module$contents$Blockly$JavaScript$texts_forceString(a);case 2:var b=$.Blockly.JavaScript.valueToCode(a,\"ADD0\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";a=$.Blockly.JavaScript.valueToCode(a,\"ADD1\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";return[module$contents$Blockly$JavaScript$texts_forceString(b)[0]+\n\" + \"+module$contents$Blockly$JavaScript$texts_forceString(a)[0],$.Blockly.JavaScript.ORDER_ADDITION];default:b=Array(a.itemCount_);for(var c=0;c<a.itemCount_;c++)b[c]=$.Blockly.JavaScript.valueToCode(a,\"ADD\"+c,$.Blockly.JavaScript.ORDER_NONE)||\"''\";return[\"[\"+b.join(\",\")+\"].join('')\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]}};\n$.Blockly.JavaScript.text_append=function(a){var b=$.Blockly.JavaScript.nameDB_.getName(a.getFieldValue(\"VAR\"),$.module$exports$Blockly$Names.NameType.VARIABLE);a=$.Blockly.JavaScript.valueToCode(a,\"TEXT\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";return b+\" += \"+module$contents$Blockly$JavaScript$texts_forceString(a)[0]+\";\\n\"};$.Blockly.JavaScript.text_length=function(a){return[($.Blockly.JavaScript.valueToCode(a,\"VALUE\",$.Blockly.JavaScript.ORDER_MEMBER)||\"''\")+\".length\",$.Blockly.JavaScript.ORDER_MEMBER]};\n$.Blockly.JavaScript.text_isEmpty=function(a){return[\"!\"+($.Blockly.JavaScript.valueToCode(a,\"VALUE\",$.Blockly.JavaScript.ORDER_MEMBER)||\"''\")+\".length\",$.Blockly.JavaScript.ORDER_LOGICAL_NOT]};\n$.Blockly.JavaScript.text_indexOf=function(a){var b=\"FIRST\"===a.getFieldValue(\"END\")?\"indexOf\":\"lastIndexOf\",c=$.Blockly.JavaScript.valueToCode(a,\"FIND\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";b=($.Blockly.JavaScript.valueToCode(a,\"VALUE\",$.Blockly.JavaScript.ORDER_MEMBER)||\"''\")+\".\"+b+\"(\"+c+\")\";return a.workspace.options.oneBasedIndex?[b+\" + 1\",$.Blockly.JavaScript.ORDER_ADDITION]:[b,$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.text_charAt=function(a){var b=a.getFieldValue(\"WHERE\")||\"FROM_START\",c=$.Blockly.JavaScript.valueToCode(a,\"VALUE\",\"RANDOM\"===b?$.Blockly.JavaScript.ORDER_NONE:$.Blockly.JavaScript.ORDER_MEMBER)||\"''\";switch(b){case \"FIRST\":return[c+\".charAt(0)\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL];case \"LAST\":return[c+\".slice(-1)\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL];case \"FROM_START\":return a=$.Blockly.JavaScript.getAdjusted(a,\"AT\"),[c+\".charAt(\"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL];\ncase \"FROM_END\":return a=$.Blockly.JavaScript.getAdjusted(a,\"AT\",1,!0),[c+\".slice(\"+a+\").charAt(0)\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL];case \"RANDOM\":return[$.Blockly.JavaScript.provideFunction_(\"textRandomLetter\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(text) {\",\" var x = Math.floor(Math.random() * text.length);\",\" return text[x];\",\"}\"])+\"(\"+c+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]}throw Error(\"Unhandled option (text_charAt).\");};\n$.Blockly.JavaScript.text_getSubstring=function(a){var b=a.getFieldValue(\"WHERE1\"),c=a.getFieldValue(\"WHERE2\"),d=\"FROM_END\"!==b&&\"LAST\"!==b&&\"FROM_END\"!==c&&\"LAST\"!==c,e=$.Blockly.JavaScript.valueToCode(a,\"STRING\",d?$.Blockly.JavaScript.ORDER_MEMBER:$.Blockly.JavaScript.ORDER_NONE)||\"''\";if(\"FIRST\"===b&&\"LAST\"===c)return[e,$.Blockly.JavaScript.ORDER_NONE];if(e.match(/^'?\\w+'?$/)||d){switch(b){case \"FROM_START\":b=$.Blockly.JavaScript.getAdjusted(a,\"AT1\");break;case \"FROM_END\":b=$.Blockly.JavaScript.getAdjusted(a,\n\"AT1\",1,!1,$.Blockly.JavaScript.ORDER_SUBTRACTION);b=e+\".length - \"+b;break;case \"FIRST\":b=\"0\";break;default:throw Error(\"Unhandled option (text_getSubstring).\");}switch(c){case \"FROM_START\":c=$.Blockly.JavaScript.getAdjusted(a,\"AT2\",1);break;case \"FROM_END\":c=$.Blockly.JavaScript.getAdjusted(a,\"AT2\",0,!1,$.Blockly.JavaScript.ORDER_SUBTRACTION);c=e+\".length - \"+c;break;case \"LAST\":c=e+\".length\";break;default:throw Error(\"Unhandled option (text_getSubstring).\");}e=e+\".slice(\"+b+\", \"+c+\")\"}else{d=$.Blockly.JavaScript.getAdjusted(a,\n\"AT1\");a=$.Blockly.JavaScript.getAdjusted(a,\"AT2\");var f={FIRST:\"First\",LAST:\"Last\",FROM_START:\"FromStart\",FROM_END:\"FromEnd\"};e=$.Blockly.JavaScript.provideFunction_(\"subsequence\"+f[b]+f[c],[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(sequence\"+(\"FROM_END\"===b||\"FROM_START\"===b?\", at1\":\"\")+(\"FROM_END\"===c||\"FROM_START\"===c?\", at2\":\"\")+\") {\",\" var start = \"+module$contents$Blockly$JavaScript$texts_getSubstringIndex(\"sequence\",b,\"at1\")+\";\",\" var end = \"+module$contents$Blockly$JavaScript$texts_getSubstringIndex(\"sequence\",\nc,\"at2\")+\" + 1;\",\" return sequence.slice(start, end);\",\"}\"])+\"(\"+e+(\"FROM_END\"===b||\"FROM_START\"===b?\", \"+d:\"\")+(\"FROM_END\"===c||\"FROM_START\"===c?\", \"+a:\"\")+\")\"}return[e,$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.text_changeCase=function(a){var b={UPPERCASE:\".toUpperCase()\",LOWERCASE:\".toLowerCase()\",TITLECASE:null}[a.getFieldValue(\"CASE\")];a=$.Blockly.JavaScript.valueToCode(a,\"TEXT\",b?$.Blockly.JavaScript.ORDER_MEMBER:$.Blockly.JavaScript.ORDER_NONE)||\"''\";return[b?a+b:$.Blockly.JavaScript.provideFunction_(\"textToTitleCase\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(str) {\",\" return str.replace(/\\\\S+/g,\",\" function(txt) {return txt[0].toUpperCase() + txt.substring(1).toLowerCase();});\",\n\"}\"])+\"(\"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};$.Blockly.JavaScript.text_trim=function(a){var b={LEFT:\".replace(/^[\\\\s\\\\xa0]+/, '')\",RIGHT:\".replace(/[\\\\s\\\\xa0]+$/, '')\",BOTH:\".trim()\"}[a.getFieldValue(\"MODE\")];return[($.Blockly.JavaScript.valueToCode(a,\"TEXT\",$.Blockly.JavaScript.ORDER_MEMBER)||\"''\")+b,$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.text_print=function(a){return\"window.alert(\"+($.Blockly.JavaScript.valueToCode(a,\"TEXT\",$.Blockly.JavaScript.ORDER_NONE)||\"''\")+\");\\n\"};$.Blockly.JavaScript.text_prompt_ext=function(a){var b=\"window.prompt(\"+(a.getField(\"TEXT\")?$.Blockly.JavaScript.quote_(a.getFieldValue(\"TEXT\")):$.Blockly.JavaScript.valueToCode(a,\"TEXT\",$.Blockly.JavaScript.ORDER_NONE)||\"''\")+\")\";\"NUMBER\"===a.getFieldValue(\"TYPE\")&&(b=\"Number(\"+b+\")\");return[b,$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.text_prompt=$.Blockly.JavaScript.text_prompt_ext;\n$.Blockly.JavaScript.text_count=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"TEXT\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";a=$.Blockly.JavaScript.valueToCode(a,\"SUB\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";return[$.Blockly.JavaScript.provideFunction_(\"textCount\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(haystack, needle) {\",\" if (needle.length === 0) {\",\" return haystack.length + 1;\",\" } else {\",\" return haystack.split(needle).length - 1;\",\" }\",\"}\"])+\"(\"+b+\", \"+\na+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.text_replace=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"TEXT\",$.Blockly.JavaScript.ORDER_NONE)||\"''\",c=$.Blockly.JavaScript.valueToCode(a,\"FROM\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";a=$.Blockly.JavaScript.valueToCode(a,\"TO\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";return[$.Blockly.JavaScript.provideFunction_(\"textReplace\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(haystack, needle, replacement) {\",' needle = needle.replace(/([-()\\\\[\\\\]{}+?*.$\\\\^|,:#<!\\\\\\\\])/g,\"\\\\\\\\$1\")',\n' .replace(/\\\\x08/g,\"\\\\\\\\x08\");',\" return haystack.replace(new RegExp(needle, 'g'), replacement);\",\"}\"])+\"(\"+b+\", \"+c+\", \"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};$.Blockly.JavaScript.text_reverse=function(a){return[($.Blockly.JavaScript.valueToCode(a,\"TEXT\",$.Blockly.JavaScript.ORDER_MEMBER)||\"''\")+\".split('').reverse().join('')\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};var module$exports$Blockly$JavaScript$procedures={};\n$.Blockly.JavaScript.procedures_defreturn=function(a){var b=$.Blockly.JavaScript.nameDB_.getName(a.getFieldValue(\"NAME\"),$.module$exports$Blockly$Names.NameType.PROCEDURE),c=\"\";$.Blockly.JavaScript.STATEMENT_PREFIX&&(c+=$.Blockly.JavaScript.injectId($.Blockly.JavaScript.STATEMENT_PREFIX,a));$.Blockly.JavaScript.STATEMENT_SUFFIX&&(c+=$.Blockly.JavaScript.injectId($.Blockly.JavaScript.STATEMENT_SUFFIX,a));c&&(c=$.Blockly.JavaScript.prefixLines(c,$.Blockly.JavaScript.INDENT));var d=\"\";$.Blockly.JavaScript.INFINITE_LOOP_TRAP&&\n(d=$.Blockly.JavaScript.prefixLines($.Blockly.JavaScript.injectId($.Blockly.JavaScript.INFINITE_LOOP_TRAP,a),$.Blockly.JavaScript.INDENT));var e=$.Blockly.JavaScript.statementToCode(a,\"STACK\"),f=$.Blockly.JavaScript.valueToCode(a,\"RETURN\",$.Blockly.JavaScript.ORDER_NONE)||\"\",g=\"\";e&&f&&(g=c);f&&(f=$.Blockly.JavaScript.INDENT+\"return \"+f+\";\\n\");for(var h=[],k=a.getVars(),l=0;l<k.length;l++)h[l]=$.Blockly.JavaScript.nameDB_.getName(k[l],$.module$exports$Blockly$Names.NameType.VARIABLE);c=\"function \"+\nb+\"(\"+h.join(\", \")+\") {\\n\"+c+d+e+g+f+\"}\";c=$.Blockly.JavaScript.scrub_(a,c);$.Blockly.JavaScript.definitions_[\"%\"+b]=c;return null};$.Blockly.JavaScript.procedures_defnoreturn=$.Blockly.JavaScript.procedures_defreturn;\n$.Blockly.JavaScript.procedures_callreturn=function(a){for(var b=$.Blockly.JavaScript.nameDB_.getName(a.getFieldValue(\"NAME\"),$.module$exports$Blockly$Names.NameType.PROCEDURE),c=[],d=a.getVars(),e=0;e<d.length;e++)c[e]=$.Blockly.JavaScript.valueToCode(a,\"ARG\"+e,$.Blockly.JavaScript.ORDER_NONE)||\"null\";return[b+\"(\"+c.join(\", \")+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};$.Blockly.JavaScript.procedures_callnoreturn=function(a){return $.Blockly.JavaScript.procedures_callreturn(a)[0]+\";\\n\"};\n$.Blockly.JavaScript.procedures_ifreturn=function(a){var b=\"if (\"+($.Blockly.JavaScript.valueToCode(a,\"CONDITION\",$.Blockly.JavaScript.ORDER_NONE)||\"false\")+\") {\\n\";$.Blockly.JavaScript.STATEMENT_SUFFIX&&(b+=$.Blockly.JavaScript.prefixLines($.Blockly.JavaScript.injectId($.Blockly.JavaScript.STATEMENT_SUFFIX,a),$.Blockly.JavaScript.INDENT));a.hasReturnValue_?(a=$.Blockly.JavaScript.valueToCode(a,\"VALUE\",$.Blockly.JavaScript.ORDER_NONE)||\"null\",b+=$.Blockly.JavaScript.INDENT+\"return \"+a+\";\\n\"):b+=$.Blockly.JavaScript.INDENT+\n\"return;\\n\";return b+\"}\\n\"};var module$exports$Blockly$JavaScript$math={};$.Blockly.JavaScript.math_number=function(a){a=Number(a.getFieldValue(\"NUM\"));return[a,0<=a?$.Blockly.JavaScript.ORDER_ATOMIC:$.Blockly.JavaScript.ORDER_UNARY_NEGATION]};\n$.Blockly.JavaScript.math_arithmetic=function(a){var b={ADD:[\" + \",$.Blockly.JavaScript.ORDER_ADDITION],MINUS:[\" - \",$.Blockly.JavaScript.ORDER_SUBTRACTION],MULTIPLY:[\" * \",$.Blockly.JavaScript.ORDER_MULTIPLICATION],DIVIDE:[\" / \",$.Blockly.JavaScript.ORDER_DIVISION],POWER:[null,$.Blockly.JavaScript.ORDER_NONE]}[a.getFieldValue(\"OP\")],c=b[0];b=b[1];var d=$.Blockly.JavaScript.valueToCode(a,\"A\",b)||\"0\";a=$.Blockly.JavaScript.valueToCode(a,\"B\",b)||\"0\";return c?[d+c+a,b]:[\"Math.pow(\"+d+\", \"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.math_single=function(a){var b=a.getFieldValue(\"OP\");if(\"NEG\"===b)return a=$.Blockly.JavaScript.valueToCode(a,\"NUM\",$.Blockly.JavaScript.ORDER_UNARY_NEGATION)||\"0\",\"-\"===a[0]&&(a=\" \"+a),[\"-\"+a,$.Blockly.JavaScript.ORDER_UNARY_NEGATION];a=\"SIN\"===b||\"COS\"===b||\"TAN\"===b?$.Blockly.JavaScript.valueToCode(a,\"NUM\",$.Blockly.JavaScript.ORDER_DIVISION)||\"0\":$.Blockly.JavaScript.valueToCode(a,\"NUM\",$.Blockly.JavaScript.ORDER_NONE)||\"0\";switch(b){case \"ABS\":var c=\"Math.abs(\"+a+\")\";break;\ncase \"ROOT\":c=\"Math.sqrt(\"+a+\")\";break;case \"LN\":c=\"Math.log(\"+a+\")\";break;case \"EXP\":c=\"Math.exp(\"+a+\")\";break;case \"POW10\":c=\"Math.pow(10,\"+a+\")\";break;case \"ROUND\":c=\"Math.round(\"+a+\")\";break;case \"ROUNDUP\":c=\"Math.ceil(\"+a+\")\";break;case \"ROUNDDOWN\":c=\"Math.floor(\"+a+\")\";break;case \"SIN\":c=\"Math.sin(\"+a+\" / 180 * Math.PI)\";break;case \"COS\":c=\"Math.cos(\"+a+\" / 180 * Math.PI)\";break;case \"TAN\":c=\"Math.tan(\"+a+\" / 180 * Math.PI)\"}if(c)return[c,$.Blockly.JavaScript.ORDER_FUNCTION_CALL];switch(b){case \"LOG10\":c=\n\"Math.log(\"+a+\") / Math.log(10)\";break;case \"ASIN\":c=\"Math.asin(\"+a+\") / Math.PI * 180\";break;case \"ACOS\":c=\"Math.acos(\"+a+\") / Math.PI * 180\";break;case \"ATAN\":c=\"Math.atan(\"+a+\") / Math.PI * 180\";break;default:throw Error(\"Unknown math operator: \"+b);}return[c,$.Blockly.JavaScript.ORDER_DIVISION]};\n$.Blockly.JavaScript.math_constant=function(a){return{PI:[\"Math.PI\",$.Blockly.JavaScript.ORDER_MEMBER],E:[\"Math.E\",$.Blockly.JavaScript.ORDER_MEMBER],GOLDEN_RATIO:[\"(1 + Math.sqrt(5)) / 2\",$.Blockly.JavaScript.ORDER_DIVISION],SQRT2:[\"Math.SQRT2\",$.Blockly.JavaScript.ORDER_MEMBER],SQRT1_2:[\"Math.SQRT1_2\",$.Blockly.JavaScript.ORDER_MEMBER],INFINITY:[\"Infinity\",$.Blockly.JavaScript.ORDER_ATOMIC]}[a.getFieldValue(\"CONSTANT\")]};\n$.Blockly.JavaScript.math_number_property=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"NUMBER_TO_CHECK\",$.Blockly.JavaScript.ORDER_MODULUS)||\"0\",c=a.getFieldValue(\"PROPERTY\");if(\"PRIME\"===c)return[$.Blockly.JavaScript.provideFunction_(\"mathIsPrime\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(n) {\",\" // https://en.wikipedia.org/wiki/Primality_test#Naive_methods\",\" if (n == 2 || n == 3) {\",\" return true;\",\" }\",\" // False if n is NaN, negative, is 1, or not whole.\",\n\" // And false if n is divisible by 2 or 3.\",\" if (isNaN(n) || n <= 1 || n % 1 !== 0 || n % 2 === 0 || n % 3 === 0) {\",\" return false;\",\" }\",\" // Check all the numbers of form 6k +/- 1, up to sqrt(n).\",\" for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {\",\" if (n % (x - 1) === 0 || n % (x + 1) === 0) {\",\" return false;\",\" }\",\" }\",\" return true;\",\"}\"])+\"(\"+b+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL];switch(c){case \"EVEN\":var d=b+\" % 2 === 0\";break;case \"ODD\":d=b+\" % 2 === 1\";\nbreak;case \"WHOLE\":d=b+\" % 1 === 0\";break;case \"POSITIVE\":d=b+\" > 0\";break;case \"NEGATIVE\":d=b+\" < 0\";break;case \"DIVISIBLE_BY\":a=$.Blockly.JavaScript.valueToCode(a,\"DIVISOR\",$.Blockly.JavaScript.ORDER_MODULUS)||\"0\",d=b+\" % \"+a+\" === 0\"}return[d,$.Blockly.JavaScript.ORDER_EQUALITY]};\n$.Blockly.JavaScript.math_change=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"DELTA\",$.Blockly.JavaScript.ORDER_ADDITION)||\"0\";a=$.Blockly.JavaScript.nameDB_.getName(a.getFieldValue(\"VAR\"),$.module$exports$Blockly$Names.NameType.VARIABLE);return a+\" = (typeof \"+a+\" === 'number' ? \"+a+\" : 0) + \"+b+\";\\n\"};$.Blockly.JavaScript.math_round=$.Blockly.JavaScript.math_single;$.Blockly.JavaScript.math_trig=$.Blockly.JavaScript.math_single;\n$.Blockly.JavaScript.math_on_list=function(a){var b=a.getFieldValue(\"OP\");switch(b){case \"SUM\":a=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_MEMBER)||\"[]\";a+=\".reduce(function(x, y) {return x + y;})\";break;case \"MIN\":a=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_NONE)||\"[]\";a=\"Math.min.apply(null, \"+a+\")\";break;case \"MAX\":a=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_NONE)||\"[]\";a=\"Math.max.apply(null, \"+a+\")\";break;case \"AVERAGE\":b=\n$.Blockly.JavaScript.provideFunction_(\"mathMean\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(myList) {\",\" return myList.reduce(function(x, y) {return x + y;}) / myList.length;\",\"}\"]);a=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_NONE)||\"[]\";a=b+\"(\"+a+\")\";break;case \"MEDIAN\":b=$.Blockly.JavaScript.provideFunction_(\"mathMedian\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(myList) {\",\" var localList = myList.filter(function (x) {return typeof x === 'number';});\",\n\" if (!localList.length) return null;\",\" localList.sort(function(a, b) {return b - a;});\",\" if (localList.length % 2 === 0) {\",\" return (localList[localList.length / 2 - 1] + localList[localList.length / 2]) / 2;\",\" } else {\",\" return localList[(localList.length - 1) / 2];\",\" }\",\"}\"]);a=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_NONE)||\"[]\";a=b+\"(\"+a+\")\";break;case \"MODE\":b=$.Blockly.JavaScript.provideFunction_(\"mathModes\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\n\"(values) {\",\" var modes = [];\",\" var counts = [];\",\" var maxCount = 0;\",\" for (var i = 0; i < values.length; i++) {\",\" var value = values[i];\",\" var found = false;\",\" var thisCount;\",\" for (var j = 0; j < counts.length; j++) {\",\" if (counts[j][0] === value) {\",\" thisCount = ++counts[j][1];\",\" found = true;\",\" break;\",\" }\",\" }\",\" if (!found) {\",\" counts.push([value, 1]);\",\" thisCount = 1;\",\" }\",\" maxCount = Math.max(thisCount, maxCount);\",\n\" }\",\" for (var j = 0; j < counts.length; j++) {\",\" if (counts[j][1] === maxCount) {\",\" modes.push(counts[j][0]);\",\" }\",\" }\",\" return modes;\",\"}\"]);a=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_NONE)||\"[]\";a=b+\"(\"+a+\")\";break;case \"STD_DEV\":b=$.Blockly.JavaScript.provideFunction_(\"mathStandardDeviation\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(numbers) {\",\" var n = numbers.length;\",\" if (!n) return null;\",\" var mean = numbers.reduce(function(x, y) {return x + y;}) / n;\",\n\" var variance = 0;\",\" for (var j = 0; j < n; j++) {\",\" variance += Math.pow(numbers[j] - mean, 2);\",\" }\",\" variance = variance / n;\",\" return Math.sqrt(variance);\",\"}\"]);a=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_NONE)||\"[]\";a=b+\"(\"+a+\")\";break;case \"RANDOM\":b=$.Blockly.JavaScript.provideFunction_(\"mathRandomList\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(list) {\",\" var x = Math.floor(Math.random() * list.length);\",\" return list[x];\",\"}\"]);\na=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_NONE)||\"[]\";a=b+\"(\"+a+\")\";break;default:throw Error(\"Unknown operator: \"+b);}return[a,$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};$.Blockly.JavaScript.math_modulo=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"DIVIDEND\",$.Blockly.JavaScript.ORDER_MODULUS)||\"0\";a=$.Blockly.JavaScript.valueToCode(a,\"DIVISOR\",$.Blockly.JavaScript.ORDER_MODULUS)||\"0\";return[b+\" % \"+a,$.Blockly.JavaScript.ORDER_MODULUS]};\n$.Blockly.JavaScript.math_constrain=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"VALUE\",$.Blockly.JavaScript.ORDER_NONE)||\"0\",c=$.Blockly.JavaScript.valueToCode(a,\"LOW\",$.Blockly.JavaScript.ORDER_NONE)||\"0\";a=$.Blockly.JavaScript.valueToCode(a,\"HIGH\",$.Blockly.JavaScript.ORDER_NONE)||\"Infinity\";return[\"Math.min(Math.max(\"+b+\", \"+c+\"), \"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.math_random_int=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"FROM\",$.Blockly.JavaScript.ORDER_NONE)||\"0\";a=$.Blockly.JavaScript.valueToCode(a,\"TO\",$.Blockly.JavaScript.ORDER_NONE)||\"0\";return[$.Blockly.JavaScript.provideFunction_(\"mathRandomInt\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(a, b) {\",\" if (a > b) {\",\" // Swap a and b to ensure a is smaller.\",\" var c = a;\",\" a = b;\",\" b = c;\",\" }\",\" return Math.floor(Math.random() * (b - a + 1) + a);\",\n\"}\"])+\"(\"+b+\", \"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};$.Blockly.JavaScript.math_random_float=function(a){return[\"Math.random()\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};$.Blockly.JavaScript.math_atan2=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"X\",$.Blockly.JavaScript.ORDER_NONE)||\"0\";return[\"Math.atan2(\"+($.Blockly.JavaScript.valueToCode(a,\"Y\",$.Blockly.JavaScript.ORDER_NONE)||\"0\")+\", \"+b+\") / Math.PI * 180\",$.Blockly.JavaScript.ORDER_DIVISION]};var module$exports$Blockly$JavaScript$loops={};\n$.Blockly.JavaScript.controls_repeat_ext=function(a){var b=a.getField(\"TIMES\")?String(Number(a.getFieldValue(\"TIMES\"))):$.Blockly.JavaScript.valueToCode(a,\"TIMES\",$.Blockly.JavaScript.ORDER_ASSIGNMENT)||\"0\";var c=$.Blockly.JavaScript.statementToCode(a,\"DO\");c=$.Blockly.JavaScript.addLoopTrap(c,a);a=\"\";var d=$.Blockly.JavaScript.nameDB_.getDistinctName(\"count\",$.module$exports$Blockly$Names.NameType.VARIABLE),e=b;b.match(/^\\w+$/)||(0,$.module$exports$Blockly$utils$string.isNumber)(b)||(e=$.Blockly.JavaScript.nameDB_.getDistinctName(\"repeat_end\",\n$.module$exports$Blockly$Names.NameType.VARIABLE),a+=\"var \"+e+\" = \"+b+\";\\n\");return a+(\"for (var \"+d+\" = 0; \"+d+\" < \"+e+\"; \"+d+\"++) {\\n\"+c+\"}\\n\")};$.Blockly.JavaScript.controls_repeat=$.Blockly.JavaScript.controls_repeat_ext;\n$.Blockly.JavaScript.controls_whileUntil=function(a){var b=\"UNTIL\"===a.getFieldValue(\"MODE\"),c=$.Blockly.JavaScript.valueToCode(a,\"BOOL\",b?$.Blockly.JavaScript.ORDER_LOGICAL_NOT:$.Blockly.JavaScript.ORDER_NONE)||\"false\",d=$.Blockly.JavaScript.statementToCode(a,\"DO\");d=$.Blockly.JavaScript.addLoopTrap(d,a);b&&(c=\"!\"+c);return\"while (\"+c+\") {\\n\"+d+\"}\\n\"};\n$.Blockly.JavaScript.controls_for=function(a){var b=$.Blockly.JavaScript.nameDB_.getName(a.getFieldValue(\"VAR\"),$.module$exports$Blockly$Names.NameType.VARIABLE),c=$.Blockly.JavaScript.valueToCode(a,\"FROM\",$.Blockly.JavaScript.ORDER_ASSIGNMENT)||\"0\",d=$.Blockly.JavaScript.valueToCode(a,\"TO\",$.Blockly.JavaScript.ORDER_ASSIGNMENT)||\"0\",e=$.Blockly.JavaScript.valueToCode(a,\"BY\",$.Blockly.JavaScript.ORDER_ASSIGNMENT)||\"1\",f=$.Blockly.JavaScript.statementToCode(a,\"DO\");f=$.Blockly.JavaScript.addLoopTrap(f,\na);if((0,$.module$exports$Blockly$utils$string.isNumber)(c)&&(0,$.module$exports$Blockly$utils$string.isNumber)(d)&&(0,$.module$exports$Blockly$utils$string.isNumber)(e)){var g=Number(c)<=Number(d);a=\"for (\"+b+\" = \"+c+\"; \"+b+(g?\" <= \":\" >= \")+d+\"; \"+b;b=Math.abs(Number(e));a=(1===b?a+(g?\"++\":\"--\"):a+((g?\" += \":\" -= \")+b))+(\") {\\n\"+f+\"}\\n\")}else a=\"\",g=c,c.match(/^\\w+$/)||(0,$.module$exports$Blockly$utils$string.isNumber)(c)||(g=$.Blockly.JavaScript.nameDB_.getDistinctName(b+\"_start\",$.module$exports$Blockly$Names.NameType.VARIABLE),\na+=\"var \"+g+\" = \"+c+\";\\n\"),c=d,d.match(/^\\w+$/)||(0,$.module$exports$Blockly$utils$string.isNumber)(d)||(c=$.Blockly.JavaScript.nameDB_.getDistinctName(b+\"_end\",$.module$exports$Blockly$Names.NameType.VARIABLE),a+=\"var \"+c+\" = \"+d+\";\\n\"),d=$.Blockly.JavaScript.nameDB_.getDistinctName(b+\"_inc\",$.module$exports$Blockly$Names.NameType.VARIABLE),a+=\"var \"+d+\" = \",a=(0,$.module$exports$Blockly$utils$string.isNumber)(e)?a+(Math.abs(e)+\";\\n\"):a+(\"Math.abs(\"+e+\");\\n\"),a=a+(\"if (\"+g+\" > \"+c+\") {\\n\")+($.Blockly.JavaScript.INDENT+\nd+\" = -\"+d+\";\\n\"),a+=\"}\\n\",a+=\"for (\"+b+\" = \"+g+\"; \"+d+\" >= 0 ? \"+b+\" <= \"+c+\" : \"+b+\" >= \"+c+\"; \"+b+\" += \"+d+\") {\\n\"+f+\"}\\n\";return a};\n$.Blockly.JavaScript.controls_forEach=function(a){var b=$.Blockly.JavaScript.nameDB_.getName(a.getFieldValue(\"VAR\"),$.module$exports$Blockly$Names.NameType.VARIABLE),c=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_ASSIGNMENT)||\"[]\",d=$.Blockly.JavaScript.statementToCode(a,\"DO\");d=$.Blockly.JavaScript.addLoopTrap(d,a);a=\"\";var e=c;c.match(/^\\w+$/)||(e=$.Blockly.JavaScript.nameDB_.getDistinctName(b+\"_list\",$.module$exports$Blockly$Names.NameType.VARIABLE),a+=\"var \"+e+\" = \"+c+\n\";\\n\");c=$.Blockly.JavaScript.nameDB_.getDistinctName(b+\"_index\",$.module$exports$Blockly$Names.NameType.VARIABLE);d=$.Blockly.JavaScript.INDENT+b+\" = \"+e+\"[\"+c+\"];\\n\"+d;return a+(\"for (var \"+c+\" in \"+e+\") {\\n\"+d+\"}\\n\")};\n$.Blockly.JavaScript.controls_flow_statements=function(a){var b=\"\";$.Blockly.JavaScript.STATEMENT_PREFIX&&(b+=$.Blockly.JavaScript.injectId($.Blockly.JavaScript.STATEMENT_PREFIX,a));$.Blockly.JavaScript.STATEMENT_SUFFIX&&(b+=$.Blockly.JavaScript.injectId($.Blockly.JavaScript.STATEMENT_SUFFIX,a));if($.Blockly.JavaScript.STATEMENT_PREFIX){var c=a.getSurroundLoop();c&&!c.suppressPrefixSuffix&&(b+=$.Blockly.JavaScript.injectId($.Blockly.JavaScript.STATEMENT_PREFIX,c))}switch(a.getFieldValue(\"FLOW\")){case \"BREAK\":return b+\n\"break;\\n\";case \"CONTINUE\":return b+\"continue;\\n\"}throw Error(\"Unknown flow statement.\");};var module$exports$Blockly$JavaScript$logic={};\n$.Blockly.JavaScript.controls_if=function(a){var b=0,c=\"\";$.Blockly.JavaScript.STATEMENT_PREFIX&&(c+=$.Blockly.JavaScript.injectId($.Blockly.JavaScript.STATEMENT_PREFIX,a));do{var d=$.Blockly.JavaScript.valueToCode(a,\"IF\"+b,$.Blockly.JavaScript.ORDER_NONE)||\"false\",e=$.Blockly.JavaScript.statementToCode(a,\"DO\"+b);$.Blockly.JavaScript.STATEMENT_SUFFIX&&(e=$.Blockly.JavaScript.prefixLines($.Blockly.JavaScript.injectId($.Blockly.JavaScript.STATEMENT_SUFFIX,a),$.Blockly.JavaScript.INDENT)+e);c+=(0<b?\n\" else \":\"\")+\"if (\"+d+\") {\\n\"+e+\"}\";b++}while(a.getInput(\"IF\"+b));if(a.getInput(\"ELSE\")||$.Blockly.JavaScript.STATEMENT_SUFFIX)b=$.Blockly.JavaScript.statementToCode(a,\"ELSE\"),$.Blockly.JavaScript.STATEMENT_SUFFIX&&(b=$.Blockly.JavaScript.prefixLines($.Blockly.JavaScript.injectId($.Blockly.JavaScript.STATEMENT_SUFFIX,a),$.Blockly.JavaScript.INDENT)+b),c+=\" else {\\n\"+b+\"}\";return c+\"\\n\"};$.Blockly.JavaScript.controls_ifelse=$.Blockly.JavaScript.controls_if;\n$.Blockly.JavaScript.logic_compare=function(a){var b={EQ:\"==\",NEQ:\"!=\",LT:\"<\",LTE:\"<=\",GT:\">\",GTE:\">=\"}[a.getFieldValue(\"OP\")],c=\"==\"===b||\"!=\"===b?$.Blockly.JavaScript.ORDER_EQUALITY:$.Blockly.JavaScript.ORDER_RELATIONAL,d=$.Blockly.JavaScript.valueToCode(a,\"A\",c)||\"0\";a=$.Blockly.JavaScript.valueToCode(a,\"B\",c)||\"0\";return[d+\" \"+b+\" \"+a,c]};\n$.Blockly.JavaScript.logic_operation=function(a){var b=\"AND\"===a.getFieldValue(\"OP\")?\"&&\":\"||\",c=\"&&\"===b?$.Blockly.JavaScript.ORDER_LOGICAL_AND:$.Blockly.JavaScript.ORDER_LOGICAL_OR,d=$.Blockly.JavaScript.valueToCode(a,\"A\",c);a=$.Blockly.JavaScript.valueToCode(a,\"B\",c);if(d||a){var e=\"&&\"===b?\"true\":\"false\";d||(d=e);a||(a=e)}else a=d=\"false\";return[d+\" \"+b+\" \"+a,c]};\n$.Blockly.JavaScript.logic_negate=function(a){var b=$.Blockly.JavaScript.ORDER_LOGICAL_NOT;return[\"!\"+($.Blockly.JavaScript.valueToCode(a,\"BOOL\",b)||\"true\"),b]};$.Blockly.JavaScript.logic_boolean=function(a){return[\"TRUE\"===a.getFieldValue(\"BOOL\")?\"true\":\"false\",$.Blockly.JavaScript.ORDER_ATOMIC]};$.Blockly.JavaScript.logic_null=function(a){return[\"null\",$.Blockly.JavaScript.ORDER_ATOMIC]};\n$.Blockly.JavaScript.logic_ternary=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"IF\",$.Blockly.JavaScript.ORDER_CONDITIONAL)||\"false\",c=$.Blockly.JavaScript.valueToCode(a,\"THEN\",$.Blockly.JavaScript.ORDER_CONDITIONAL)||\"null\";a=$.Blockly.JavaScript.valueToCode(a,\"ELSE\",$.Blockly.JavaScript.ORDER_CONDITIONAL)||\"null\";return[b+\" ? \"+c+\" : \"+a,$.Blockly.JavaScript.ORDER_CONDITIONAL]};var module$exports$Blockly$JavaScript$lists={};$.Blockly.JavaScript.lists_create_empty=function(a){return[\"[]\",$.Blockly.JavaScript.ORDER_ATOMIC]};$.Blockly.JavaScript.lists_create_with=function(a){for(var b=Array(a.itemCount_),c=0;c<a.itemCount_;c++)b[c]=$.Blockly.JavaScript.valueToCode(a,\"ADD\"+c,$.Blockly.JavaScript.ORDER_NONE)||\"null\";return[\"[\"+b.join(\", \")+\"]\",$.Blockly.JavaScript.ORDER_ATOMIC]};\n$.Blockly.JavaScript.lists_repeat=function(a){var b=$.Blockly.JavaScript.provideFunction_(\"listsRepeat\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(value, n) {\",\" var array = [];\",\" for (var i = 0; i < n; i++) {\",\" array[i] = value;\",\" }\",\" return array;\",\"}\"]),c=$.Blockly.JavaScript.valueToCode(a,\"ITEM\",$.Blockly.JavaScript.ORDER_NONE)||\"null\";a=$.Blockly.JavaScript.valueToCode(a,\"NUM\",$.Blockly.JavaScript.ORDER_NONE)||\"0\";return[b+\"(\"+c+\", \"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.lists_length=function(a){return[($.Blockly.JavaScript.valueToCode(a,\"VALUE\",$.Blockly.JavaScript.ORDER_MEMBER)||\"[]\")+\".length\",$.Blockly.JavaScript.ORDER_MEMBER]};$.Blockly.JavaScript.lists_isEmpty=function(a){return[\"!\"+($.Blockly.JavaScript.valueToCode(a,\"VALUE\",$.Blockly.JavaScript.ORDER_MEMBER)||\"[]\")+\".length\",$.Blockly.JavaScript.ORDER_LOGICAL_NOT]};\n$.Blockly.JavaScript.lists_indexOf=function(a){var b=\"FIRST\"===a.getFieldValue(\"END\")?\"indexOf\":\"lastIndexOf\",c=$.Blockly.JavaScript.valueToCode(a,\"FIND\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";b=($.Blockly.JavaScript.valueToCode(a,\"VALUE\",$.Blockly.JavaScript.ORDER_MEMBER)||\"[]\")+\".\"+b+\"(\"+c+\")\";return a.workspace.options.oneBasedIndex?[b+\" + 1\",$.Blockly.JavaScript.ORDER_ADDITION]:[b,$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.lists_getIndex=function(a){var b=a.getFieldValue(\"MODE\")||\"GET\",c=a.getFieldValue(\"WHERE\")||\"FROM_START\",d=$.Blockly.JavaScript.valueToCode(a,\"VALUE\",\"RANDOM\"===c?$.Blockly.JavaScript.ORDER_NONE:$.Blockly.JavaScript.ORDER_MEMBER)||\"[]\";switch(c){case \"FIRST\":if(\"GET\"===b)return[d+\"[0]\",$.Blockly.JavaScript.ORDER_MEMBER];if(\"GET_REMOVE\"===b)return[d+\".shift()\",$.Blockly.JavaScript.ORDER_MEMBER];if(\"REMOVE\"===b)return d+\".shift();\\n\";break;case \"LAST\":if(\"GET\"===b)return[d+\".slice(-1)[0]\",\n$.Blockly.JavaScript.ORDER_MEMBER];if(\"GET_REMOVE\"===b)return[d+\".pop()\",$.Blockly.JavaScript.ORDER_MEMBER];if(\"REMOVE\"===b)return d+\".pop();\\n\";break;case \"FROM_START\":a=$.Blockly.JavaScript.getAdjusted(a,\"AT\");if(\"GET\"===b)return[d+\"[\"+a+\"]\",$.Blockly.JavaScript.ORDER_MEMBER];if(\"GET_REMOVE\"===b)return[d+\".splice(\"+a+\", 1)[0]\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL];if(\"REMOVE\"===b)return d+\".splice(\"+a+\", 1);\\n\";break;case \"FROM_END\":a=$.Blockly.JavaScript.getAdjusted(a,\"AT\",1,!0);if(\"GET\"===\nb)return[d+\".slice(\"+a+\")[0]\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL];if(\"GET_REMOVE\"===b)return[d+\".splice(\"+a+\", 1)[0]\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL];if(\"REMOVE\"===b)return d+\".splice(\"+a+\", 1);\";break;case \"RANDOM\":d=$.Blockly.JavaScript.provideFunction_(\"listsGetRandomItem\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(list, remove) {\",\" var x = Math.floor(Math.random() * list.length);\",\" if (remove) {\",\" return list.splice(x, 1)[0];\",\" } else {\",\" return list[x];\",\n\" }\",\"}\"])+\"(\"+d+\", \"+(\"GET\"!==b)+\")\";if(\"GET\"===b||\"GET_REMOVE\"===b)return[d,$.Blockly.JavaScript.ORDER_FUNCTION_CALL];if(\"REMOVE\"===b)return d+\";\\n\"}throw Error(\"Unhandled combination (lists_getIndex).\");};\n$.Blockly.JavaScript.lists_setIndex=function(a){function b(){if(c.match(/^\\w+$/))return\"\";var g=$.Blockly.JavaScript.nameDB_.getDistinctName(\"tmpList\",$.module$exports$Blockly$Names.NameType.VARIABLE),h=\"var \"+g+\" = \"+c+\";\\n\";c=g;return h}var c=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_MEMBER)||\"[]\",d=a.getFieldValue(\"MODE\")||\"GET\",e=a.getFieldValue(\"WHERE\")||\"FROM_START\",f=$.Blockly.JavaScript.valueToCode(a,\"TO\",$.Blockly.JavaScript.ORDER_ASSIGNMENT)||\"null\";switch(e){case \"FIRST\":if(\"SET\"===\nd)return c+\"[0] = \"+f+\";\\n\";if(\"INSERT\"===d)return c+\".unshift(\"+f+\");\\n\";break;case \"LAST\":if(\"SET\"===d)return b()+(c+\"[\"+c+\".length - 1] = \"+f+\";\\n\");if(\"INSERT\"===d)return c+\".push(\"+f+\");\\n\";break;case \"FROM_START\":a=$.Blockly.JavaScript.getAdjusted(a,\"AT\");if(\"SET\"===d)return c+\"[\"+a+\"] = \"+f+\";\\n\";if(\"INSERT\"===d)return c+\".splice(\"+a+\", 0, \"+f+\");\\n\";break;case \"FROM_END\":a=$.Blockly.JavaScript.getAdjusted(a,\"AT\",1,!1,$.Blockly.JavaScript.ORDER_SUBTRACTION);e=b();if(\"SET\"===d)return e+(c+\"[\"+\nc+\".length - \"+a+\"] = \"+f+\";\\n\");if(\"INSERT\"===d)return e+(c+\".splice(\"+c+\".length - \"+a+\", 0, \"+f+\");\\n\");break;case \"RANDOM\":a=b();e=$.Blockly.JavaScript.nameDB_.getDistinctName(\"tmpX\",$.module$exports$Blockly$Names.NameType.VARIABLE);a+=\"var \"+e+\" = Math.floor(Math.random() * \"+c+\".length);\\n\";if(\"SET\"===d)return a+(c+\"[\"+e+\"] = \"+f+\";\\n\");if(\"INSERT\"===d)return a+(c+\".splice(\"+e+\", 0, \"+f+\");\\n\")}throw Error(\"Unhandled combination (lists_setIndex).\");};\nvar module$contents$Blockly$JavaScript$lists_getSubstringIndex=function(a,b,c){return\"FIRST\"===b?\"0\":\"FROM_END\"===b?a+\".length - 1 - \"+c:\"LAST\"===b?a+\".length - 1\":c};\n$.Blockly.JavaScript.lists_getSublist=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_MEMBER)||\"[]\",c=a.getFieldValue(\"WHERE1\"),d=a.getFieldValue(\"WHERE2\");if(\"FIRST\"===c&&\"LAST\"===d)b+=\".slice(0)\";else if(b.match(/^\\w+$/)||\"FROM_END\"!==c&&\"FROM_START\"===d){switch(c){case \"FROM_START\":c=$.Blockly.JavaScript.getAdjusted(a,\"AT1\");break;case \"FROM_END\":c=$.Blockly.JavaScript.getAdjusted(a,\"AT1\",1,!1,$.Blockly.JavaScript.ORDER_SUBTRACTION);c=b+\".length - \"+c;break;\ncase \"FIRST\":c=\"0\";break;default:throw Error(\"Unhandled option (lists_getSublist).\");}switch(d){case \"FROM_START\":d=$.Blockly.JavaScript.getAdjusted(a,\"AT2\",1);break;case \"FROM_END\":d=$.Blockly.JavaScript.getAdjusted(a,\"AT2\",0,!1,$.Blockly.JavaScript.ORDER_SUBTRACTION);d=b+\".length - \"+d;break;case \"LAST\":d=b+\".length\";break;default:throw Error(\"Unhandled option (lists_getSublist).\");}b=b+\".slice(\"+c+\", \"+d+\")\"}else{var e=$.Blockly.JavaScript.getAdjusted(a,\"AT1\");a=$.Blockly.JavaScript.getAdjusted(a,\n\"AT2\");var f={FIRST:\"First\",LAST:\"Last\",FROM_START:\"FromStart\",FROM_END:\"FromEnd\"};b=$.Blockly.JavaScript.provideFunction_(\"subsequence\"+f[c]+f[d],[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(sequence\"+(\"FROM_END\"===c||\"FROM_START\"===c?\", at1\":\"\")+(\"FROM_END\"===d||\"FROM_START\"===d?\", at2\":\"\")+\") {\",module$contents$Blockly$JavaScript$lists_getSubstringIndex(\"sequence\",c,\"at1\")+\";\",\" var end = \"+module$contents$Blockly$JavaScript$lists_getSubstringIndex(\"sequence\",d,\"at2\")+\" + 1;\",\n\" return sequence.slice(start, end);\",\"}\"])+\"(\"+b+(\"FROM_END\"===c||\"FROM_START\"===c?\", \"+e:\"\")+(\"FROM_END\"===d||\"FROM_START\"===d?\", \"+a:\"\")+\")\"}return[b,$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.lists_sort=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL)||\"[]\",c=\"1\"===a.getFieldValue(\"DIRECTION\")?1:-1;a=a.getFieldValue(\"TYPE\");var d=$.Blockly.JavaScript.provideFunction_(\"listsGetSortCompare\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(type, direction) {\",\" var compareFuncs = {\",' \"NUMERIC\": function(a, b) {',\" return Number(a) - Number(b); },\",' \"TEXT\": function(a, b) {',\" return a.toString() > b.toString() ? 1 : -1; },\",\n' \"IGNORE_CASE\": function(a, b) {',\" return a.toString().toLowerCase() > b.toString().toLowerCase() ? 1 : -1; },\",\" };\",\" var compare = compareFuncs[type];\",\" return function(a, b) { return compare(a, b) * direction; }\",\"}\"]);return[b+\".slice().sort(\"+d+'(\"'+a+'\", '+c+\"))\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.lists_split=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"INPUT\",$.Blockly.JavaScript.ORDER_MEMBER),c=$.Blockly.JavaScript.valueToCode(a,\"DELIM\",$.Blockly.JavaScript.ORDER_NONE)||\"''\";a=a.getFieldValue(\"MODE\");if(\"SPLIT\"===a)b||(b=\"''\"),a=\"split\";else if(\"JOIN\"===a)b||(b=\"[]\"),a=\"join\";else throw Error(\"Unknown mode: \"+a);return[b+\".\"+a+\"(\"+c+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.lists_reverse=function(a){return[($.Blockly.JavaScript.valueToCode(a,\"LIST\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL)||\"[]\")+\".slice().reverse()\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};var module$exports$Blockly$JavaScript$colour={};$.Blockly.JavaScript.colour_picker=function(a){return[$.Blockly.JavaScript.quote_(a.getFieldValue(\"COLOUR\")),$.Blockly.JavaScript.ORDER_ATOMIC]};$.Blockly.JavaScript.colour_random=function(a){return[$.Blockly.JavaScript.provideFunction_(\"colourRandom\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"() {\",\" var num = Math.floor(Math.random() * Math.pow(2, 24));\",\" return '#' + ('00000' + num.toString(16)).substr(-6);\",\"}\"])+\"()\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.colour_rgb=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"RED\",$.Blockly.JavaScript.ORDER_NONE)||0,c=$.Blockly.JavaScript.valueToCode(a,\"GREEN\",$.Blockly.JavaScript.ORDER_NONE)||0;a=$.Blockly.JavaScript.valueToCode(a,\"BLUE\",$.Blockly.JavaScript.ORDER_NONE)||0;return[$.Blockly.JavaScript.provideFunction_(\"colourRgb\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(r, g, b) {\",\" r = Math.max(Math.min(Number(r), 100), 0) * 2.55;\",\" g = Math.max(Math.min(Number(g), 100), 0) * 2.55;\",\n\" b = Math.max(Math.min(Number(b), 100), 0) * 2.55;\",\" r = ('0' + (Math.round(r) || 0).toString(16)).slice(-2);\",\" g = ('0' + (Math.round(g) || 0).toString(16)).slice(-2);\",\" b = ('0' + (Math.round(b) || 0).toString(16)).slice(-2);\",\" return '#' + r + g + b;\",\"}\"])+\"(\"+b+\", \"+c+\", \"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};\n$.Blockly.JavaScript.colour_blend=function(a){var b=$.Blockly.JavaScript.valueToCode(a,\"COLOUR1\",$.Blockly.JavaScript.ORDER_NONE)||\"'#000000'\",c=$.Blockly.JavaScript.valueToCode(a,\"COLOUR2\",$.Blockly.JavaScript.ORDER_NONE)||\"'#000000'\";a=$.Blockly.JavaScript.valueToCode(a,\"RATIO\",$.Blockly.JavaScript.ORDER_NONE)||.5;return[$.Blockly.JavaScript.provideFunction_(\"colourBlend\",[\"function \"+$.Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+\"(c1, c2, ratio) {\",\" ratio = Math.max(Math.min(Number(ratio), 1), 0);\",\n\" var r1 = parseInt(c1.substring(1, 3), 16);\",\" var g1 = parseInt(c1.substring(3, 5), 16);\",\" var b1 = parseInt(c1.substring(5, 7), 16);\",\" var r2 = parseInt(c2.substring(1, 3), 16);\",\" var g2 = parseInt(c2.substring(3, 5), 16);\",\" var b2 = parseInt(c2.substring(5, 7), 16);\",\" var r = Math.round(r1 * (1 - ratio) + r2 * ratio);\",\" var g = Math.round(g1 * (1 - ratio) + g2 * ratio);\",\" var b = Math.round(b1 * (1 - ratio) + b2 * ratio);\",\" r = ('0' + (r || 0).toString(16)).slice(-2);\",\" g = ('0' + (g || 0).toString(16)).slice(-2);\",\n\" b = ('0' + (b || 0).toString(16)).slice(-2);\",\" return '#' + r + g + b;\",\"}\"])+\"(\"+b+\", \"+c+\", \"+a+\")\",$.Blockly.JavaScript.ORDER_FUNCTION_CALL]};var module$exports$Blockly$JavaScript$all={};\n\nreturn $.Blockly.JavaScript;\n}));\n\n\n//# sourceMappingURL=javascript_compressed.js.map\n",null,null,null,null,null,null,null,null,null,"/* eslint-disable */\n;(function(root, factory) {\n if (typeof define === 'function' && define.amd) { // AMD\n define(['./blocks_compressed'], factory);\n } else if (typeof exports === 'object') { // Node.js\n module.exports = factory(require('./blocks_compressed'));\n } else { // Browser\n root.BlocklyBlocks = factory(root.BlocklyBlocks);\n }\n}(this, function(BlocklyBlocks) {\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Blockly blocks module; just a wrapper for blocks_compressed.js.\n */\n\nreturn BlocklyBlocks;\n})); \n","// Do not edit this file; automatically generated.\n\n/* eslint-disable */\n;(function(root, factory) {\n if (typeof define === 'function' && define.amd) { // AMD\n define([\"./blockly_compressed.js\"], factory);\n } else if (typeof exports === 'object') { // Node.js\n module.exports = factory(require(\"./blockly_compressed.js\"));\n } else { // Browser\n root.Blockly.Blocks = factory(root.Blockly);\n }\n}(this, function(Blockly) {\nconst $=Blockly.internal_;\nvar module$exports$Blockly$blocks$variablesDynamic={};\n(0,$.module$exports$Blockly$common.defineBlocksWithJsonArray)([{type:\"variables_get_dynamic\",message0:\"%1\",args0:[{type:\"field_variable\",name:\"VAR\",variable:\"%{BKY_VARIABLES_DEFAULT_NAME}\"}],output:null,style:\"variable_dynamic_blocks\",helpUrl:\"%{BKY_VARIABLES_GET_HELPURL}\",tooltip:\"%{BKY_VARIABLES_GET_TOOLTIP}\",extensions:[\"contextMenu_variableDynamicSetterGetter\"]},{type:\"variables_set_dynamic\",message0:\"%{BKY_VARIABLES_SET}\",args0:[{type:\"field_variable\",name:\"VAR\",variable:\"%{BKY_VARIABLES_DEFAULT_NAME}\"},\n{type:\"input_value\",name:\"VALUE\"}],previousStatement:null,nextStatement:null,style:\"variable_dynamic_blocks\",tooltip:\"%{BKY_VARIABLES_SET_TOOLTIP}\",helpUrl:\"%{BKY_VARIABLES_SET_HELPURL}\",extensions:[\"contextMenu_variableDynamicSetterGetter\"]}]);\nvar module$contents$Blockly$blocks$variablesDynamic_CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(a){if(!this.isInFlyout){var b=this.getFieldValue(\"VAR\");var c=this.workspace.getVariableById(b).type;if(\"variables_get_dynamic\"===this.type){b=\"variables_set_dynamic\";var d=$.module$exports$Blockly$Msg.Msg.VARIABLES_GET_CREATE_SET}else b=\"variables_get_dynamic\",d=$.module$exports$Blockly$Msg.Msg.VARIABLES_SET_CREATE_GET;var e={enabled:0<this.workspace.remainingCapacity()},\nf=this.getField(\"VAR\").getText();e.text=d.replace(\"%1\",f);d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\");d.setAttribute(\"name\",\"VAR\");d.setAttribute(\"variabletype\",c);d.appendChild((0,$.module$exports$Blockly$utils$xml.createTextNode)(f));c=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");c.setAttribute(\"type\",b);c.appendChild(d);e.callback=(0,$.module$exports$Blockly$ContextMenu.callbackFactory)(this,c);a.push(e)}else if(\"variables_get_dynamic\"===this.type||\"variables_get_reporter_dynamic\"===\nthis.type)b={text:$.module$exports$Blockly$Msg.Msg.RENAME_VARIABLE,enabled:!0,callback:module$contents$Blockly$blocks$variablesDynamic_renameOptionCallbackFactory(this)},e=this.getField(\"VAR\").getText(),e={text:$.module$exports$Blockly$Msg.Msg.DELETE_VARIABLE.replace(\"%1\",e),enabled:!0,callback:module$contents$Blockly$blocks$variablesDynamic_deleteOptionCallbackFactory(this)},a.unshift(b),a.unshift(e)},onchange:function(a){a=this.getFieldValue(\"VAR\");a=(0,$.module$exports$Blockly$Variables.getVariable)(this.workspace,\na);\"variables_get_dynamic\"===this.type?this.outputConnection.setCheck(a.type):this.getInput(\"VALUE\").connection.setCheck(a.type)}},module$contents$Blockly$blocks$variablesDynamic_renameOptionCallbackFactory=function(a){return function(){var b=a.workspace,c=a.getField(\"VAR\").getVariable();(0,$.module$exports$Blockly$Variables.renameVariable)(b,c)}},module$contents$Blockly$blocks$variablesDynamic_deleteOptionCallbackFactory=function(a){return function(){var b=a.workspace,c=a.getField(\"VAR\").getVariable();\nb.deleteVariableById(c.getId());b.refreshToolboxSelection()}};(0,$.module$exports$Blockly$Extensions.registerMixin)(\"contextMenu_variableDynamicSetterGetter\",module$contents$Blockly$blocks$variablesDynamic_CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN);var module$exports$Blockly$blocks$variables={};\n(0,$.module$exports$Blockly$common.defineBlocksWithJsonArray)([{type:\"variables_get\",message0:\"%1\",args0:[{type:\"field_variable\",name:\"VAR\",variable:\"%{BKY_VARIABLES_DEFAULT_NAME}\"}],output:null,style:\"variable_blocks\",helpUrl:\"%{BKY_VARIABLES_GET_HELPURL}\",tooltip:\"%{BKY_VARIABLES_GET_TOOLTIP}\",extensions:[\"contextMenu_variableSetterGetter\"]},{type:\"variables_set\",message0:\"%{BKY_VARIABLES_SET}\",args0:[{type:\"field_variable\",name:\"VAR\",variable:\"%{BKY_VARIABLES_DEFAULT_NAME}\"},{type:\"input_value\",\nname:\"VALUE\"}],previousStatement:null,nextStatement:null,style:\"variable_blocks\",tooltip:\"%{BKY_VARIABLES_SET_TOOLTIP}\",helpUrl:\"%{BKY_VARIABLES_SET_HELPURL}\",extensions:[\"contextMenu_variableSetterGetter\"]}]);\nvar module$contents$Blockly$blocks$variables_CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(a){if(!this.isInFlyout){if(\"variables_get\"===this.type){var b=\"variables_set\";var c=$.module$exports$Blockly$Msg.Msg.VARIABLES_GET_CREATE_SET}else b=\"variables_get\",c=$.module$exports$Blockly$Msg.Msg.VARIABLES_SET_CREATE_GET;var d={enabled:0<this.workspace.remainingCapacity()},e=this.getField(\"VAR\").getText();d.text=c.replace(\"%1\",e);c=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\");\nc.setAttribute(\"name\",\"VAR\");c.appendChild((0,$.module$exports$Blockly$utils$xml.createTextNode)(e));e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");e.setAttribute(\"type\",b);e.appendChild(c);d.callback=(0,$.module$exports$Blockly$ContextMenu.callbackFactory)(this,e);a.push(d)}else if(\"variables_get\"===this.type||\"variables_get_reporter\"===this.type)b={text:$.module$exports$Blockly$Msg.Msg.RENAME_VARIABLE,enabled:!0,callback:module$contents$Blockly$blocks$variables_renameOptionCallbackFactory(this)},\nd=this.getField(\"VAR\").getText(),d={text:$.module$exports$Blockly$Msg.Msg.DELETE_VARIABLE.replace(\"%1\",d),enabled:!0,callback:module$contents$Blockly$blocks$variables_deleteOptionCallbackFactory(this)},a.unshift(b),a.unshift(d)}},module$contents$Blockly$blocks$variables_renameOptionCallbackFactory=function(a){return function(){var b=a.workspace,c=a.getField(\"VAR\").getVariable();(0,$.module$exports$Blockly$Variables.renameVariable)(b,c)}},module$contents$Blockly$blocks$variables_deleteOptionCallbackFactory=\nfunction(a){return function(){var b=a.workspace,c=a.getField(\"VAR\").getVariable();b.deleteVariableById(c.getId());b.refreshToolboxSelection()}};(0,$.module$exports$Blockly$Extensions.registerMixin)(\"contextMenu_variableSetterGetter\",module$contents$Blockly$blocks$variables_CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN);var module$exports$Blockly$blocks$texts={};\n(0,$.module$exports$Blockly$common.defineBlocksWithJsonArray)([{type:\"text\",message0:\"%1\",args0:[{type:\"field_input\",name:\"TEXT\",text:\"\"}],output:\"String\",style:\"text_blocks\",helpUrl:\"%{BKY_TEXT_TEXT_HELPURL}\",tooltip:\"%{BKY_TEXT_TEXT_TOOLTIP}\",extensions:[\"text_quotes\",\"parent_tooltip_when_inline\"]},{type:\"text_multiline\",message0:\"%1 %2\",args0:[{type:\"field_image\",src:\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAdhgAAHYYBXaITgQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS42/U4J6AAAAP1JREFUOE+Vks0KQUEYhjmRIja4ABtZ2dm5A3t3Ia6AUm7CylYuQRaUhZSlLZJiQbFAyRnPN33y01HOW08z8873zpwzM4F3GWOCruvGIE4/rLaV+Nq1hVGMBqzhqlxgCys4wJA65xnogMHsQ5lujnYHTejBBCK2mE4abjCgMGhNxHgDFWjDSG07kdfVa2pZMf4ZyMAdWmpZMfYOsLiDMYMjlMB+K613QISRhTnITnsYg5yUd0DETmEoMlkFOeIT/A58iyK5E18BuTBfgYXfwNJv4P9/oEBerLylOnRhygmGdPpTTBZAPkde61lbQe4moWUvYUZYLfUNftIY4zwA5X2Z9AYnQrEAAAAASUVORK5CYII=\",width:12,\nheight:17,alt:\"\\u00b6\"},{type:\"field_multilinetext\",name:\"TEXT\",text:\"\"}],output:\"String\",style:\"text_blocks\",helpUrl:\"%{BKY_TEXT_TEXT_HELPURL}\",tooltip:\"%{BKY_TEXT_TEXT_TOOLTIP}\",extensions:[\"parent_tooltip_when_inline\"]},{type:\"text_join\",message0:\"\",output:\"String\",style:\"text_blocks\",helpUrl:\"%{BKY_TEXT_JOIN_HELPURL}\",tooltip:\"%{BKY_TEXT_JOIN_TOOLTIP}\",mutator:\"text_join_mutator\"},{type:\"text_create_join_container\",message0:\"%{BKY_TEXT_CREATE_JOIN_TITLE_JOIN} %1 %2\",args0:[{type:\"input_dummy\"},\n{type:\"input_statement\",name:\"STACK\"}],style:\"text_blocks\",tooltip:\"%{BKY_TEXT_CREATE_JOIN_TOOLTIP}\",enableContextMenu:!1},{type:\"text_create_join_item\",message0:\"%{BKY_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM}\",previousStatement:null,nextStatement:null,style:\"text_blocks\",tooltip:\"%{BKY_TEXT_CREATE_JOIN_ITEM_TOOLTIP}\",enableContextMenu:!1},{type:\"text_append\",message0:\"%{BKY_TEXT_APPEND_TITLE}\",args0:[{type:\"field_variable\",name:\"VAR\",variable:\"%{BKY_TEXT_APPEND_VARIABLE}\"},{type:\"input_value\",name:\"TEXT\"}],\npreviousStatement:null,nextStatement:null,style:\"text_blocks\",extensions:[\"text_append_tooltip\"]},{type:\"text_length\",message0:\"%{BKY_TEXT_LENGTH_TITLE}\",args0:[{type:\"input_value\",name:\"VALUE\",check:[\"String\",\"Array\"]}],output:\"Number\",style:\"text_blocks\",tooltip:\"%{BKY_TEXT_LENGTH_TOOLTIP}\",helpUrl:\"%{BKY_TEXT_LENGTH_HELPURL}\"},{type:\"text_isEmpty\",message0:\"%{BKY_TEXT_ISEMPTY_TITLE}\",args0:[{type:\"input_value\",name:\"VALUE\",check:[\"String\",\"Array\"]}],output:\"Boolean\",style:\"text_blocks\",tooltip:\"%{BKY_TEXT_ISEMPTY_TOOLTIP}\",\nhelpUrl:\"%{BKY_TEXT_ISEMPTY_HELPURL}\"},{type:\"text_indexOf\",message0:\"%{BKY_TEXT_INDEXOF_TITLE}\",args0:[{type:\"input_value\",name:\"VALUE\",check:\"String\"},{type:\"field_dropdown\",name:\"END\",options:[[\"%{BKY_TEXT_INDEXOF_OPERATOR_FIRST}\",\"FIRST\"],[\"%{BKY_TEXT_INDEXOF_OPERATOR_LAST}\",\"LAST\"]]},{type:\"input_value\",name:\"FIND\",check:\"String\"}],output:\"Number\",style:\"text_blocks\",helpUrl:\"%{BKY_TEXT_INDEXOF_HELPURL}\",inputsInline:!0,extensions:[\"text_indexOf_tooltip\"]},{type:\"text_charAt\",message0:\"%{BKY_TEXT_CHARAT_TITLE}\",\nargs0:[{type:\"input_value\",name:\"VALUE\",check:\"String\"},{type:\"field_dropdown\",name:\"WHERE\",options:[[\"%{BKY_TEXT_CHARAT_FROM_START}\",\"FROM_START\"],[\"%{BKY_TEXT_CHARAT_FROM_END}\",\"FROM_END\"],[\"%{BKY_TEXT_CHARAT_FIRST}\",\"FIRST\"],[\"%{BKY_TEXT_CHARAT_LAST}\",\"LAST\"],[\"%{BKY_TEXT_CHARAT_RANDOM}\",\"RANDOM\"]]}],output:\"String\",style:\"text_blocks\",helpUrl:\"%{BKY_TEXT_CHARAT_HELPURL}\",inputsInline:!0,mutator:\"text_charAt_mutator\"}]);\n$.module$exports$Blockly$blocks.Blocks.text_getSubstring={init:function(){this.WHERE_OPTIONS_1=[[$.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_START_FROM_START,\"FROM_START\"],[$.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_START_FROM_END,\"FROM_END\"],[$.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_START_FIRST,\"FIRST\"]];this.WHERE_OPTIONS_2=[[$.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_END_FROM_START,\"FROM_START\"],[$.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_END_FROM_END,\n\"FROM_END\"],[$.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_END_LAST,\"LAST\"]];this.setHelpUrl($.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_HELPURL);this.setStyle(\"text_blocks\");this.appendValueInput(\"STRING\").setCheck(\"String\").appendField($.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT);this.appendDummyInput(\"AT1\");this.appendDummyInput(\"AT2\");$.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_TAIL&&this.appendDummyInput(\"TAIL\").appendField($.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_TAIL);\nthis.setInputsInline(!0);this.setOutput(!0,\"String\");this.updateAt_(1,!0);this.updateAt_(2,!0);this.setTooltip($.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_TOOLTIP)},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\"),b=this.getInput(\"AT1\").type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;a.setAttribute(\"at1\",b);b=this.getInput(\"AT2\").type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;a.setAttribute(\"at2\",\nb);return a},domToMutation:function(a){var b=\"true\"===a.getAttribute(\"at1\");a=\"true\"===a.getAttribute(\"at2\");this.updateAt_(1,b);this.updateAt_(2,a)},updateAt_:function(a,b){this.removeInput(\"AT\"+a);this.removeInput(\"ORDINAL\"+a,!0);b?(this.appendValueInput(\"AT\"+a).setCheck(\"Number\"),$.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(\"ORDINAL\"+a).appendField($.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput(\"AT\"+a);2===a&&$.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_TAIL&&\n(this.removeInput(\"TAIL\",!0),this.appendDummyInput(\"TAIL\").appendField($.module$exports$Blockly$Msg.Msg.TEXT_GET_SUBSTRING_TAIL));var c=new $.module$exports$Blockly$FieldDropdown.FieldDropdown(this[\"WHERE_OPTIONS_\"+a],function(d){var e=\"FROM_START\"===d||\"FROM_END\"===d;if(e!==b){var f=this.getSourceBlock();f.updateAt_(a,e);f.setFieldValue(d,\"WHERE\"+a);return null}});this.getInput(\"AT\"+a).appendField(c,\"WHERE\"+a);1===a&&(this.moveInputBefore(\"AT1\",\"AT2\"),this.getInput(\"ORDINAL1\")&&this.moveInputBefore(\"ORDINAL1\",\n\"AT2\"))}};\n$.module$exports$Blockly$blocks.Blocks.text_changeCase={init:function(){var a=[[$.module$exports$Blockly$Msg.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE,\"UPPERCASE\"],[$.module$exports$Blockly$Msg.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE,\"LOWERCASE\"],[$.module$exports$Blockly$Msg.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE,\"TITLECASE\"]];this.setHelpUrl($.module$exports$Blockly$Msg.Msg.TEXT_CHANGECASE_HELPURL);this.setStyle(\"text_blocks\");this.appendValueInput(\"TEXT\").setCheck(\"String\").appendField(new $.module$exports$Blockly$FieldDropdown.FieldDropdown(a),\"CASE\");\nthis.setOutput(!0,\"String\");this.setTooltip($.module$exports$Blockly$Msg.Msg.TEXT_CHANGECASE_TOOLTIP)}};\n$.module$exports$Blockly$blocks.Blocks.text_trim={init:function(){var a=[[$.module$exports$Blockly$Msg.Msg.TEXT_TRIM_OPERATOR_BOTH,\"BOTH\"],[$.module$exports$Blockly$Msg.Msg.TEXT_TRIM_OPERATOR_LEFT,\"LEFT\"],[$.module$exports$Blockly$Msg.Msg.TEXT_TRIM_OPERATOR_RIGHT,\"RIGHT\"]];this.setHelpUrl($.module$exports$Blockly$Msg.Msg.TEXT_TRIM_HELPURL);this.setStyle(\"text_blocks\");this.appendValueInput(\"TEXT\").setCheck(\"String\").appendField(new $.module$exports$Blockly$FieldDropdown.FieldDropdown(a),\"MODE\");this.setOutput(!0,\n\"String\");this.setTooltip($.module$exports$Blockly$Msg.Msg.TEXT_TRIM_TOOLTIP)}};$.module$exports$Blockly$blocks.Blocks.text_print={init:function(){this.jsonInit({message0:$.module$exports$Blockly$Msg.Msg.TEXT_PRINT_TITLE,args0:[{type:\"input_value\",name:\"TEXT\"}],previousStatement:null,nextStatement:null,style:\"text_blocks\",tooltip:$.module$exports$Blockly$Msg.Msg.TEXT_PRINT_TOOLTIP,helpUrl:$.module$exports$Blockly$Msg.Msg.TEXT_PRINT_HELPURL})}};\nvar module$contents$Blockly$blocks$texts_TEXT_PROMPT_COMMON={updateType_:function(a){this.outputConnection.setCheck(\"NUMBER\"===a?\"Number\":\"String\")},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");a.setAttribute(\"type\",this.getFieldValue(\"TYPE\"));return a},domToMutation:function(a){this.updateType_(a.getAttribute(\"type\"))}};\n$.module$exports$Blockly$blocks.Blocks.text_prompt_ext=Object.assign({},module$contents$Blockly$blocks$texts_TEXT_PROMPT_COMMON,{init:function(){var a=[[$.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_TYPE_TEXT,\"TEXT\"],[$.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_TYPE_NUMBER,\"NUMBER\"]];this.setHelpUrl($.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_HELPURL);this.setStyle(\"text_blocks\");var b=this;a=new $.module$exports$Blockly$FieldDropdown.FieldDropdown(a,function(c){b.updateType_(c)});this.appendValueInput(\"TEXT\").appendField(a,\n\"TYPE\");this.setOutput(!0,\"String\");this.setTooltip(function(){return\"TEXT\"===b.getFieldValue(\"TYPE\")?$.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_TOOLTIP_TEXT:$.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_TOOLTIP_NUMBER})}});\n$.module$exports$Blockly$blocks.Blocks.text_prompt=Object.assign({},module$contents$Blockly$blocks$texts_TEXT_PROMPT_COMMON,{init:function(){this.mixin(module$contents$Blockly$blocks$texts_QUOTE_IMAGE_MIXIN);var a=[[$.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_TYPE_TEXT,\"TEXT\"],[$.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_TYPE_NUMBER,\"NUMBER\"]],b=this;this.setHelpUrl($.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_HELPURL);this.setStyle(\"text_blocks\");a=new $.module$exports$Blockly$FieldDropdown.FieldDropdown(a,\nfunction(c){b.updateType_(c)});this.appendDummyInput().appendField(a,\"TYPE\").appendField(this.newQuote_(!0)).appendField(new $.module$exports$Blockly$FieldTextInput.FieldTextInput(\"\"),\"TEXT\").appendField(this.newQuote_(!1));this.setOutput(!0,\"String\");this.setTooltip(function(){return\"TEXT\"===b.getFieldValue(\"TYPE\")?$.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_TOOLTIP_TEXT:$.module$exports$Blockly$Msg.Msg.TEXT_PROMPT_TOOLTIP_NUMBER})}});\n$.module$exports$Blockly$blocks.Blocks.text_count={init:function(){this.jsonInit({message0:$.module$exports$Blockly$Msg.Msg.TEXT_COUNT_MESSAGE0,args0:[{type:\"input_value\",name:\"SUB\",check:\"String\"},{type:\"input_value\",name:\"TEXT\",check:\"String\"}],output:\"Number\",inputsInline:!0,style:\"text_blocks\",tooltip:$.module$exports$Blockly$Msg.Msg.TEXT_COUNT_TOOLTIP,helpUrl:$.module$exports$Blockly$Msg.Msg.TEXT_COUNT_HELPURL})}};\n$.module$exports$Blockly$blocks.Blocks.text_replace={init:function(){this.jsonInit({message0:$.module$exports$Blockly$Msg.Msg.TEXT_REPLACE_MESSAGE0,args0:[{type:\"input_value\",name:\"FROM\",check:\"String\"},{type:\"input_value\",name:\"TO\",check:\"String\"},{type:\"input_value\",name:\"TEXT\",check:\"String\"}],output:\"String\",inputsInline:!0,style:\"text_blocks\",tooltip:$.module$exports$Blockly$Msg.Msg.TEXT_REPLACE_TOOLTIP,helpUrl:$.module$exports$Blockly$Msg.Msg.TEXT_REPLACE_HELPURL})}};\n$.module$exports$Blockly$blocks.Blocks.text_reverse={init:function(){this.jsonInit({message0:$.module$exports$Blockly$Msg.Msg.TEXT_REVERSE_MESSAGE0,args0:[{type:\"input_value\",name:\"TEXT\",check:\"String\"}],output:\"String\",inputsInline:!0,style:\"text_blocks\",tooltip:$.module$exports$Blockly$Msg.Msg.TEXT_REVERSE_TOOLTIP,helpUrl:$.module$exports$Blockly$Msg.Msg.TEXT_REVERSE_HELPURL})}};\nvar module$contents$Blockly$blocks$texts_QUOTE_IMAGE_MIXIN={QUOTE_IMAGE_LEFT_DATAURI:\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC\",QUOTE_IMAGE_RIGHT_DATAURI:\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==\",\nQUOTE_IMAGE_WIDTH:12,QUOTE_IMAGE_HEIGHT:12,quoteField_:function(a){for(var b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)if(a===e.name){c.insertFieldAt(d,this.newQuote_(!0));c.insertFieldAt(d+2,this.newQuote_(!1));return}console.warn('field named \"'+a+'\" not found in '+this.toDevString())},newQuote_:function(a){a=this.RTL?!a:a;return new $.module$exports$Blockly$FieldImage.FieldImage(a?this.QUOTE_IMAGE_LEFT_DATAURI:this.QUOTE_IMAGE_RIGHT_DATAURI,this.QUOTE_IMAGE_WIDTH,this.QUOTE_IMAGE_HEIGHT,\na?\"\\u201c\":\"\\u201d\")}},module$contents$Blockly$blocks$texts_TEXT_QUOTES_EXTENSION=function(){this.mixin(module$contents$Blockly$blocks$texts_QUOTE_IMAGE_MIXIN);this.quoteField_(\"TEXT\")},module$contents$Blockly$blocks$texts_TEXT_JOIN_MUTATOR_MIXIN={mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");a.setAttribute(\"items\",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute(\"items\"),10);this.updateShape_()},saveExtraState:function(){return{itemCount:this.itemCount_}},\nloadExtraState:function(a){this.itemCount_=a.itemCount;this.updateShape_()},decompose:function(a){var b=a.newBlock(\"text_create_join_container\");b.initSvg();for(var c=b.getInput(\"STACK\").connection,d=0;d<this.itemCount_;d++){var e=a.newBlock(\"text_create_join_item\");e.initSvg();c.connect(e.previousConnection);c=e.nextConnection}return b},compose:function(a){var b=a.getInputTargetBlock(\"STACK\");for(a=[];b&&!b.isInsertionMarker();)a.push(b.valueConnection_),b=b.nextConnection&&b.nextConnection.targetBlock();\nfor(b=0;b<this.itemCount_;b++){var c=this.getInput(\"ADD\"+b).connection.targetConnection;c&&-1===a.indexOf(c)&&c.disconnect()}this.itemCount_=a.length;this.updateShape_();for(b=0;b<this.itemCount_;b++)$.module$exports$Blockly$Mutator.Mutator.reconnect(a[b],this,\"ADD\"+b)},saveConnections:function(a){a=a.getInputTargetBlock(\"STACK\");for(var b=0;a;){var c=this.getInput(\"ADD\"+b);a.valueConnection_=c&&c.connection.targetConnection;a=a.nextConnection&&a.nextConnection.targetBlock();b++}},updateShape_:function(){this.itemCount_&&\nthis.getInput(\"EMPTY\")?this.removeInput(\"EMPTY\"):this.itemCount_||this.getInput(\"EMPTY\")||this.appendDummyInput(\"EMPTY\").appendField(this.newQuote_(!0)).appendField(this.newQuote_(!1));for(var a=0;a<this.itemCount_;a++)if(!this.getInput(\"ADD\"+a)){var b=this.appendValueInput(\"ADD\"+a).setAlign($.module$exports$Blockly$Input.Align.RIGHT);0===a&&b.appendField($.module$exports$Blockly$Msg.Msg.TEXT_JOIN_TITLE_CREATEWITH)}for(a=this.itemCount_;this.getInput(\"ADD\"+a);a++)this.removeInput(\"ADD\"+a)}},module$contents$Blockly$blocks$texts_TEXT_JOIN_EXTENSION=\nfunction(){this.mixin(module$contents$Blockly$blocks$texts_QUOTE_IMAGE_MIXIN);this.itemCount_=2;this.updateShape_();this.setMutator(new $.module$exports$Blockly$Mutator.Mutator([\"text_create_join_item\"]))};(0,$.module$exports$Blockly$Extensions.register)(\"text_append_tooltip\",(0,$.module$exports$Blockly$Extensions.buildTooltipWithFieldText)(\"%{BKY_TEXT_APPEND_TOOLTIP}\",\"VAR\"));\nvar module$contents$Blockly$blocks$texts_TEXT_INDEXOF_TOOLTIP_EXTENSION=function(){var a=this;this.setTooltip(function(){return $.module$exports$Blockly$Msg.Msg.TEXT_INDEXOF_TOOLTIP.replace(\"%1\",a.workspace.options.oneBasedIndex?\"0\":\"-1\")})},module$contents$Blockly$blocks$texts_TEXT_CHARAT_MUTATOR_MIXIN={mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");a.setAttribute(\"at\",!!this.isAt_);return a},domToMutation:function(a){a=\"false\"!==a.getAttribute(\"at\");\nthis.updateAt_(a)},updateAt_:function(a){this.removeInput(\"AT\",!0);this.removeInput(\"ORDINAL\",!0);a&&(this.appendValueInput(\"AT\").setCheck(\"Number\"),$.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(\"ORDINAL\").appendField($.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX));$.module$exports$Blockly$Msg.Msg.TEXT_CHARAT_TAIL&&(this.removeInput(\"TAIL\",!0),this.appendDummyInput(\"TAIL\").appendField($.module$exports$Blockly$Msg.Msg.TEXT_CHARAT_TAIL));this.isAt_=a}},module$contents$Blockly$blocks$texts_TEXT_CHARAT_EXTENSION=\nfunction(){this.getField(\"WHERE\").setValidator(function(b){b=\"FROM_START\"===b||\"FROM_END\"===b;b!==this.isAt_&&this.getSourceBlock().updateAt_(b)});this.updateAt_(!0);var a=this;this.setTooltip(function(){var b=a.getFieldValue(\"WHERE\"),c=$.module$exports$Blockly$Msg.Msg.TEXT_CHARAT_TOOLTIP;(\"FROM_START\"===b||\"FROM_END\"===b)&&(b=\"FROM_START\"===b?$.module$exports$Blockly$Msg.Msg.LISTS_INDEX_FROM_START_TOOLTIP:$.module$exports$Blockly$Msg.Msg.LISTS_INDEX_FROM_END_TOOLTIP)&&(c+=\" \"+b.replace(\"%1\",a.workspace.options.oneBasedIndex?\n\"#1\":\"#0\"));return c})};(0,$.module$exports$Blockly$Extensions.register)(\"text_indexOf_tooltip\",module$contents$Blockly$blocks$texts_TEXT_INDEXOF_TOOLTIP_EXTENSION);(0,$.module$exports$Blockly$Extensions.register)(\"text_quotes\",module$contents$Blockly$blocks$texts_TEXT_QUOTES_EXTENSION);(0,$.module$exports$Blockly$Extensions.registerMutator)(\"text_join_mutator\",module$contents$Blockly$blocks$texts_TEXT_JOIN_MUTATOR_MIXIN,module$contents$Blockly$blocks$texts_TEXT_JOIN_EXTENSION);\n(0,$.module$exports$Blockly$Extensions.registerMutator)(\"text_charAt_mutator\",module$contents$Blockly$blocks$texts_TEXT_CHARAT_MUTATOR_MIXIN,module$contents$Blockly$blocks$texts_TEXT_CHARAT_EXTENSION);var module$exports$Blockly$blocks$procedures={},module$contents$Blockly$blocks$procedures_PROCEDURE_DEF_COMMON={setStatements_:function(a){this.hasStatements_!==a&&(a?(this.appendStatementInput(\"STACK\").appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput(\"RETURN\")&&this.moveInputBefore(\"STACK\",\"RETURN\")):this.removeInput(\"STACK\",!0),this.hasStatements_=a)},updateParams_:function(){var a=\"\";this.arguments_.length&&(a=$.module$exports$Blockly$Msg.Msg.PROCEDURES_BEFORE_PARAMS+\n\" \"+this.arguments_.join(\", \"));(0,$.module$exports$Blockly$Events.disable)();try{this.setFieldValue(a,\"PARAMS\")}finally{(0,$.module$exports$Blockly$Events.enable)()}},mutationToDom:function(a){var b=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");a&&b.setAttribute(\"name\",this.getFieldValue(\"NAME\"));for(var c=0;c<this.argumentVarModels_.length;c++){var d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"arg\"),e=this.argumentVarModels_[c];d.setAttribute(\"name\",e.name);d.setAttribute(\"varid\",\ne.getId());a&&this.paramIds_&&d.setAttribute(\"paramId\",this.paramIds_[c]);b.appendChild(d)}this.hasStatements_||b.setAttribute(\"statements\",\"false\");return b},domToMutation:function(a){this.arguments_=[];this.argumentVarModels_=[];for(var b=0,c;c=a.childNodes[b];b++)if(\"arg\"===c.nodeName.toLowerCase()){var d=c.getAttribute(\"name\");c=c.getAttribute(\"varid\")||c.getAttribute(\"varId\");this.arguments_.push(d);c=(0,$.module$exports$Blockly$Variables.getOrCreateVariablePackage)(this.workspace,c,d,\"\");null!==\nc?this.argumentVarModels_.push(c):console.log(\"Failed to create a variable with name \"+d+\", ignoring.\")}this.updateParams_();(0,$.module$exports$Blockly$Procedures.mutateCallers)(this);this.setStatements_(\"false\"!==a.getAttribute(\"statements\"))},saveExtraState:function(){if(!this.argumentVarModels_.length&&this.hasStatements_)return null;var a=Object.create(null);if(this.argumentVarModels_.length){a.params=[];for(var b=0;b<this.argumentVarModels_.length;b++)a.params.push({name:this.argumentVarModels_[b].name,\nid:this.argumentVarModels_[b].getId()})}this.hasStatements_||(a.hasStatements=!1);return a},loadExtraState:function(a){this.arguments_=[];this.argumentVarModels_=[];if(a.params)for(var b=0;b<a.params.length;b++){var c=a.params[b];c=(0,$.module$exports$Blockly$Variables.getOrCreateVariablePackage)(this.workspace,c.id,c.name,\"\");this.arguments_.push(c.name);this.argumentVarModels_.push(c)}this.updateParams_();(0,$.module$exports$Blockly$Procedures.mutateCallers)(this);this.setStatements_(!1===a.hasStatements?\n!1:!0)},decompose:function(a){var b=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");b.setAttribute(\"type\",\"procedures_mutatorcontainer\");var c=(0,$.module$exports$Blockly$utils$xml.createElement)(\"statement\");c.setAttribute(\"name\",\"STACK\");b.appendChild(c);for(var d=0;d<this.arguments_.length;d++){var e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");e.setAttribute(\"type\",\"procedures_mutatorarg\");var f=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\");f.setAttribute(\"name\",\n\"NAME\");var g=(0,$.module$exports$Blockly$utils$xml.createTextNode)(this.arguments_[d]);f.appendChild(g);e.appendChild(f);f=(0,$.module$exports$Blockly$utils$xml.createElement)(\"next\");e.appendChild(f);c.appendChild(e);c=f}a=(0,$.module$exports$Blockly$Xml.domToBlock)(b,a);\"procedures_defreturn\"===this.type?a.setFieldValue(this.hasStatements_,\"STATEMENTS\"):a.removeInput(\"STATEMENT_INPUT\");(0,$.module$exports$Blockly$Procedures.mutateCallers)(this);return a},compose:function(a){this.arguments_=[];\nthis.paramIds_=[];this.argumentVarModels_=[];for(var b=a.getInputTargetBlock(\"STACK\");b&&!b.isInsertionMarker();){var c=b.getFieldValue(\"NAME\");this.arguments_.push(c);c=this.workspace.getVariable(c,\"\");this.argumentVarModels_.push(c);this.paramIds_.push(b.id);b=b.nextConnection&&b.nextConnection.targetBlock()}this.updateParams_();(0,$.module$exports$Blockly$Procedures.mutateCallers)(this);a=a.getFieldValue(\"STATEMENTS\");if(null!==a&&(a=\"TRUE\"===a,this.hasStatements_!==a))if(a)this.setStatements_(!0),\n$.module$exports$Blockly$Mutator.Mutator.reconnect(this.statementConnection_,this,\"STACK\"),this.statementConnection_=null;else{a=this.getInput(\"STACK\").connection;if(this.statementConnection_=a.targetConnection)a=a.targetBlock(),a.unplug(),a.bumpNeighbours();this.setStatements_(!1)}},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},renameVarById:function(a,b){var c=this.workspace.getVariableById(a);if(\"\"===c.type){c=c.name;b=this.workspace.getVariableById(b);\nfor(var d=!1,e=0;e<this.argumentVarModels_.length;e++)this.argumentVarModels_[e].getId()===a&&(this.arguments_[e]=b.name,this.argumentVarModels_[e]=b,d=!0);d&&(this.displayRenamedVar_(c,b.name),(0,$.module$exports$Blockly$Procedures.mutateCallers)(this))}},updateVarName:function(a){for(var b=a.name,c=!1,d,e=0;e<this.argumentVarModels_.length;e++)this.argumentVarModels_[e].getId()===a.getId()&&(d=this.arguments_[e],this.arguments_[e]=b,c=!0);c&&(this.displayRenamedVar_(d,b),(0,$.module$exports$Blockly$Procedures.mutateCallers)(this))},\ndisplayRenamedVar_:function(a,b){this.updateParams_();if(this.mutator&&this.mutator.isVisible())for(var c=this.mutator.workspace_.getAllBlocks(!1),d=0,e;e=c[d];d++)\"procedures_mutatorarg\"===e.type&&$.module$exports$Blockly$Names.Names.equals(a,e.getFieldValue(\"NAME\"))&&e.setFieldValue(b,\"NAME\")},customContextMenu:function(a){if(!this.isInFlyout){var b={enabled:!0},c=this.getFieldValue(\"NAME\");b.text=$.module$exports$Blockly$Msg.Msg.PROCEDURES_CREATE_DO.replace(\"%1\",c);var d=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");\nd.setAttribute(\"name\",c);for(c=0;c<this.arguments_.length;c++){var e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"arg\");e.setAttribute(\"name\",this.arguments_[c]);d.appendChild(e)}c=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");c.setAttribute(\"type\",this.callType_);c.appendChild(d);b.callback=(0,$.module$exports$Blockly$ContextMenu.callbackFactory)(this,c);a.push(b);if(!this.isCollapsed())for(b=0;b<this.argumentVarModels_.length;b++)d={enabled:!0},c=this.argumentVarModels_[b],\nd.text=$.module$exports$Blockly$Msg.Msg.VARIABLES_SET_CREATE_GET.replace(\"%1\",c.name),c=(0,$.module$exports$Blockly$Variables.generateVariableFieldDom)(c),e=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\"),e.setAttribute(\"type\",\"variables_get\"),e.appendChild(c),d.callback=(0,$.module$exports$Blockly$ContextMenu.callbackFactory)(this,e),a.push(d)}},callType_:\"procedures_callnoreturn\"};\n$.module$exports$Blockly$blocks.Blocks.procedures_defnoreturn=Object.assign({},module$contents$Blockly$blocks$procedures_PROCEDURE_DEF_COMMON,{init:function(){var a=(0,$.module$exports$Blockly$Procedures.findLegalName)(\"\",this);a=new $.module$exports$Blockly$FieldTextInput.FieldTextInput(a,$.module$exports$Blockly$Procedures.rename);a.setSpellcheck(!1);this.appendDummyInput().appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(a,\"NAME\").appendField(\"\",\"PARAMS\");\nthis.setMutator(new $.module$exports$Blockly$Mutator.Mutator([\"procedures_mutatorarg\"]));(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&$.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFNORETURN_COMMENT);this.setStyle(\"procedure_blocks\");this.setTooltip($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFNORETURN_TOOLTIP);this.setHelpUrl($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFNORETURN_HELPURL);\nthis.arguments_=[];this.argumentVarModels_=[];this.setStatements_(!0);this.statementConnection_=null},getProcedureDef:function(){return[this.getFieldValue(\"NAME\"),this.arguments_,!1]}});\n$.module$exports$Blockly$blocks.Blocks.procedures_defreturn=Object.assign({},module$contents$Blockly$blocks$procedures_PROCEDURE_DEF_COMMON,{init:function(){var a=(0,$.module$exports$Blockly$Procedures.findLegalName)(\"\",this);a=new $.module$exports$Blockly$FieldTextInput.FieldTextInput(a,$.module$exports$Blockly$Procedures.rename);a.setSpellcheck(!1);this.appendDummyInput().appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_TITLE).appendField(a,\"NAME\").appendField(\"\",\"PARAMS\");this.appendValueInput(\"RETURN\").setAlign($.module$exports$Blockly$Input.Align.RIGHT).appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_RETURN);\nthis.setMutator(new $.module$exports$Blockly$Mutator.Mutator([\"procedures_mutatorarg\"]));(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&$.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_COMMENT&&this.setCommentText($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_COMMENT);this.setStyle(\"procedure_blocks\");this.setTooltip($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_TOOLTIP);this.setHelpUrl($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_HELPURL);\nthis.arguments_=[];this.argumentVarModels_=[];this.setStatements_(!0);this.statementConnection_=null},getProcedureDef:function(){return[this.getFieldValue(\"NAME\"),this.arguments_,!0]}});\n$.module$exports$Blockly$blocks.Blocks.procedures_mutatorcontainer={init:function(){this.appendDummyInput().appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_MUTATORCONTAINER_TITLE);this.appendStatementInput(\"STACK\");this.appendDummyInput(\"STATEMENT_INPUT\").appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_ALLOW_STATEMENTS).appendField(new $.module$exports$Blockly$FieldCheckbox.FieldCheckbox(\"TRUE\"),\"STATEMENTS\");this.setStyle(\"procedure_blocks\");this.setTooltip($.module$exports$Blockly$Msg.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP);\nthis.contextMenu=!1}};\n$.module$exports$Blockly$blocks.Blocks.procedures_mutatorarg={init:function(){var a=new $.module$exports$Blockly$FieldTextInput.FieldTextInput($.module$exports$Blockly$Procedures.DEFAULT_ARG,this.validator_);a.oldShowEditorFn_=a.showEditor_;a.showEditor_=function(){this.createdVariables_=[];this.oldShowEditorFn_()};this.appendDummyInput().appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_MUTATORARG_TITLE).appendField(a,\"NAME\");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setStyle(\"procedure_blocks\");\nthis.setTooltip($.module$exports$Blockly$Msg.Msg.PROCEDURES_MUTATORARG_TOOLTIP);this.contextMenu=!1;a.onFinishEditing_=this.deleteIntermediateVars_;a.createdVariables_=[];a.onFinishEditing_(\"x\")},validator_:function(a){var b=this.getSourceBlock(),c=$.module$exports$Blockly$Mutator.Mutator.findParentWs(b.workspace);a=a.replace(/[\\s\\xa0]+/g,\" \").replace(/^ | $/g,\"\");if(!a)return null;for(var d=(b.workspace.targetWorkspace||b.workspace).getAllBlocks(!1),e=a.toLowerCase(),f=0;f<d.length;f++)if(d[f].id!==\nthis.getSourceBlock().id){var g=d[f].getFieldValue(\"NAME\");if(g&&g.toLowerCase()===e)return null}if(b.isInFlyout)return a;(b=c.getVariable(a,\"\"))&&b.name!==a&&c.renameVariableById(b.getId(),a);b||(b=c.createVariable(a,\"\"))&&this.createdVariables_&&this.createdVariables_.push(b);return a},deleteIntermediateVars_:function(a){var b=$.module$exports$Blockly$Mutator.Mutator.findParentWs(this.getSourceBlock().workspace);if(b)for(var c=0;c<this.createdVariables_.length;c++){var d=this.createdVariables_[c];\nd.name!==a&&b.deleteVariableById(d.getId())}}};\nvar module$contents$Blockly$blocks$procedures_PROCEDURE_CALL_COMMON={getProcedureCall:function(){return this.getFieldValue(\"NAME\")},renameProcedure:function(a,b){$.module$exports$Blockly$Names.Names.equals(a,this.getProcedureCall())&&(this.setFieldValue(b,\"NAME\"),this.setTooltip((this.outputConnection?$.module$exports$Blockly$Msg.Msg.PROCEDURES_CALLRETURN_TOOLTIP:$.module$exports$Blockly$Msg.Msg.PROCEDURES_CALLNORETURN_TOOLTIP).replace(\"%1\",b)))},setProcedureParameters_:function(a,b){var c=(0,$.module$exports$Blockly$Procedures.getDefinition)(this.getProcedureCall(),\nthis.workspace),d=c&&c.mutator&&c.mutator.isVisible();d||(this.quarkConnections_={},this.quarkIds_=null);if(b)if(a.join(\"\\n\")===this.arguments_.join(\"\\n\"))this.quarkIds_=b;else{if(b.length!==a.length)throw RangeError(\"paramNames and paramIds must be the same length.\");this.setCollapsed(!1);this.quarkIds_||(this.quarkConnections_={},this.quarkIds_=[]);c=this.rendered;this.rendered=!1;for(var e=0;e<this.arguments_.length;e++){var f=this.getInput(\"ARG\"+e);f&&(f=f.connection.targetConnection,this.quarkConnections_[this.quarkIds_[e]]=\nf,d&&f&&-1===b.indexOf(this.quarkIds_[e])&&(f.disconnect(),f.getSourceBlock().bumpNeighbours()))}this.arguments_=[].concat(a);this.argumentVarModels_=[];for(a=0;a<this.arguments_.length;a++)d=(0,$.module$exports$Blockly$Variables.getOrCreateVariablePackage)(this.workspace,null,this.arguments_[a],\"\"),this.argumentVarModels_.push(d);this.updateShape_();if(this.quarkIds_=b)for(b=0;b<this.arguments_.length;b++)a=this.quarkIds_[b],a in this.quarkConnections_&&($.module$exports$Blockly$Mutator.Mutator.reconnect(this.quarkConnections_[a],\nthis,\"ARG\"+b)||delete this.quarkConnections_[a]);(this.rendered=c)&&this.render()}},updateShape_:function(){for(var a=0;a<this.arguments_.length;a++){var b=this.getField(\"ARGNAME\"+a);if(b){(0,$.module$exports$Blockly$Events.disable)();try{b.setValue(this.arguments_[a])}finally{(0,$.module$exports$Blockly$Events.enable)()}}else b=new $.module$exports$Blockly$FieldLabel.FieldLabel(this.arguments_[a]),this.appendValueInput(\"ARG\"+a).setAlign($.module$exports$Blockly$Input.Align.RIGHT).appendField(b,\"ARGNAME\"+\na).init()}for(a=this.arguments_.length;this.getInput(\"ARG\"+a);a++)this.removeInput(\"ARG\"+a);if(a=this.getInput(\"TOPROW\"))this.arguments_.length?this.getField(\"WITH\")||(a.appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_CALL_BEFORE_PARAMS,\"WITH\"),a.init()):this.getField(\"WITH\")&&a.removeField(\"WITH\")},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");a.setAttribute(\"name\",this.getProcedureCall());for(var b=0;b<this.arguments_.length;b++){var c=(0,$.module$exports$Blockly$utils$xml.createElement)(\"arg\");\nc.setAttribute(\"name\",this.arguments_[b]);a.appendChild(c)}return a},domToMutation:function(a){var b=a.getAttribute(\"name\");this.renameProcedure(this.getProcedureCall(),b);b=[];for(var c=[],d=0,e;e=a.childNodes[d];d++)\"arg\"===e.nodeName.toLowerCase()&&(b.push(e.getAttribute(\"name\")),c.push(e.getAttribute(\"paramId\")));this.setProcedureParameters_(b,c)},saveExtraState:function(){var a=Object.create(null);a.name=this.getProcedureCall();this.arguments_.length&&(a.params=this.arguments_);return a},loadExtraState:function(a){this.renameProcedure(this.getProcedureCall(),\na.name);if(a=a.params){var b=[];b.length=a.length;b.fill(null);this.setProcedureParameters_(a,b)}},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},onchange:function(a){if(this.workspace&&!this.workspace.isFlyout&&a.recordUndo)if(a.type===$.module$exports$Blockly$Events.BLOCK_CREATE&&-1!==a.ids.indexOf(this.id)){var b=this.getProcedureCall();b=(0,$.module$exports$Blockly$Procedures.getDefinition)(b,this.workspace);!b||b.type===this.defType_&&JSON.stringify(b.getVars())===\nJSON.stringify(this.arguments_)||(b=null);if(!b){(0,$.module$exports$Blockly$Events.setGroup)(a.group);a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"xml\");b=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");b.setAttribute(\"type\",this.defType_);var c=this.getRelativeToSurfaceXY(),d=c.y+2*$.module$exports$Blockly$internalConstants.SNAP_RADIUS;b.setAttribute(\"x\",c.x+$.module$exports$Blockly$internalConstants.SNAP_RADIUS*(this.RTL?-1:1));b.setAttribute(\"y\",d);c=this.mutationToDom();\nb.appendChild(c);c=(0,$.module$exports$Blockly$utils$xml.createElement)(\"field\");c.setAttribute(\"name\",\"NAME\");d=this.getProcedureCall();d||(d=(0,$.module$exports$Blockly$Procedures.findLegalName)(\"\",this),this.renameProcedure(\"\",d));c.appendChild((0,$.module$exports$Blockly$utils$xml.createTextNode)(d));b.appendChild(c);a.appendChild(b);(0,$.module$exports$Blockly$Xml.domToWorkspace)(a,this.workspace);(0,$.module$exports$Blockly$Events.setGroup)(!1)}}else a.type===$.module$exports$Blockly$Events.BLOCK_DELETE?\n(b=this.getProcedureCall(),(0,$.module$exports$Blockly$Procedures.getDefinition)(b,this.workspace)||((0,$.module$exports$Blockly$Events.setGroup)(a.group),this.dispose(!0),(0,$.module$exports$Blockly$Events.setGroup)(!1))):a.type===$.module$exports$Blockly$Events.CHANGE&&\"disabled\"===a.element&&(b=this.getProcedureCall(),(b=(0,$.module$exports$Blockly$Procedures.getDefinition)(b,this.workspace))&&b.id===a.blockId&&((b=(0,$.module$exports$Blockly$Events.getGroup)())&&console.log(\"Saw an existing group while responding to a definition change\"),\n(0,$.module$exports$Blockly$Events.setGroup)(a.group),a.newValue?(this.previousEnabledState_=this.isEnabled(),this.setEnabled(!1)):this.setEnabled(this.previousEnabledState_),(0,$.module$exports$Blockly$Events.setGroup)(b)))},customContextMenu:function(a){if(this.workspace.isMovable()){var b={enabled:!0};b.text=$.module$exports$Blockly$Msg.Msg.PROCEDURES_HIGHLIGHT_DEF;var c=this.getProcedureCall(),d=this.workspace;b.callback=function(){var e=(0,$.module$exports$Blockly$Procedures.getDefinition)(c,\nd);e&&(d.centerOnBlock(e.id),e.select())};a.push(b)}}};\n$.module$exports$Blockly$blocks.Blocks.procedures_callnoreturn=Object.assign({},module$contents$Blockly$blocks$procedures_PROCEDURE_CALL_COMMON,{init:function(){this.appendDummyInput(\"TOPROW\").appendField(\"\",\"NAME\");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setStyle(\"procedure_blocks\");this.setHelpUrl($.module$exports$Blockly$Msg.Msg.PROCEDURES_CALLNORETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.quarkConnections_={};this.quarkIds_=null;this.previousEnabledState_=\n!0},defType_:\"procedures_defnoreturn\"});\n$.module$exports$Blockly$blocks.Blocks.procedures_callreturn=Object.assign({},module$contents$Blockly$blocks$procedures_PROCEDURE_CALL_COMMON,{init:function(){this.appendDummyInput(\"TOPROW\").appendField(\"\",\"NAME\");this.setOutput(!0);this.setStyle(\"procedure_blocks\");this.setHelpUrl($.module$exports$Blockly$Msg.Msg.PROCEDURES_CALLRETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.quarkConnections_={};this.quarkIds_=null;this.previousEnabledState_=!0},defType_:\"procedures_defreturn\"});\n$.module$exports$Blockly$blocks.Blocks.procedures_ifreturn={init:function(){this.appendValueInput(\"CONDITION\").setCheck(\"Boolean\").appendField($.module$exports$Blockly$Msg.Msg.CONTROLS_IF_MSG_IF);this.appendValueInput(\"VALUE\").appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_RETURN);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setStyle(\"procedure_blocks\");this.setTooltip($.module$exports$Blockly$Msg.Msg.PROCEDURES_IFRETURN_TOOLTIP);this.setHelpUrl($.module$exports$Blockly$Msg.Msg.PROCEDURES_IFRETURN_HELPURL);\nthis.hasReturnValue_=!0},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");a.setAttribute(\"value\",Number(this.hasReturnValue_));return a},domToMutation:function(a){this.hasReturnValue_=\"1\"===a.getAttribute(\"value\");this.hasReturnValue_||(this.removeInput(\"VALUE\"),this.appendDummyInput(\"VALUE\").appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_RETURN))},onchange:function(a){if(!this.workspace.isDragging||!this.workspace.isDragging()){a=\n!1;var b=this;do{if(-1!==this.FUNCTION_TYPES.indexOf(b.type)){a=!0;break}b=b.getSurroundParent()}while(b);a?(\"procedures_defnoreturn\"===b.type&&this.hasReturnValue_?(this.removeInput(\"VALUE\"),this.appendDummyInput(\"VALUE\").appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):\"procedures_defreturn\"!==b.type||this.hasReturnValue_||(this.removeInput(\"VALUE\"),this.appendValueInput(\"VALUE\").appendField($.module$exports$Blockly$Msg.Msg.PROCEDURES_DEFRETURN_RETURN),\nthis.hasReturnValue_=!0),this.setWarningText(null),this.isInFlyout||this.setEnabled(!0)):(this.setWarningText($.module$exports$Blockly$Msg.Msg.PROCEDURES_IFRETURN_WARNING),this.isInFlyout||this.getInheritedDisabled()||this.setEnabled(!1))}},FUNCTION_TYPES:[\"procedures_defnoreturn\",\"procedures_defreturn\"]};var module$exports$Blockly$blocks$math={};\n(0,$.module$exports$Blockly$common.defineBlocksWithJsonArray)([{type:\"math_number\",message0:\"%1\",args0:[{type:\"field_number\",name:\"NUM\",value:0}],output:\"Number\",helpUrl:\"%{BKY_MATH_NUMBER_HELPURL}\",style:\"math_blocks\",tooltip:\"%{BKY_MATH_NUMBER_TOOLTIP}\",extensions:[\"parent_tooltip_when_inline\"]},{type:\"math_arithmetic\",message0:\"%1 %2 %3\",args0:[{type:\"input_value\",name:\"A\",check:\"Number\"},{type:\"field_dropdown\",name:\"OP\",options:[[\"%{BKY_MATH_ADDITION_SYMBOL}\",\"ADD\"],[\"%{BKY_MATH_SUBTRACTION_SYMBOL}\",\n\"MINUS\"],[\"%{BKY_MATH_MULTIPLICATION_SYMBOL}\",\"MULTIPLY\"],[\"%{BKY_MATH_DIVISION_SYMBOL}\",\"DIVIDE\"],[\"%{BKY_MATH_POWER_SYMBOL}\",\"POWER\"]]},{type:\"input_value\",name:\"B\",check:\"Number\"}],inputsInline:!0,output:\"Number\",style:\"math_blocks\",helpUrl:\"%{BKY_MATH_ARITHMETIC_HELPURL}\",extensions:[\"math_op_tooltip\"]},{type:\"math_single\",message0:\"%1 %2\",args0:[{type:\"field_dropdown\",name:\"OP\",options:[[\"%{BKY_MATH_SINGLE_OP_ROOT}\",\"ROOT\"],[\"%{BKY_MATH_SINGLE_OP_ABSOLUTE}\",\"ABS\"],[\"-\",\"NEG\"],[\"ln\",\"LN\"],[\"log10\",\n\"LOG10\"],[\"e^\",\"EXP\"],[\"10^\",\"POW10\"]]},{type:\"input_value\",name:\"NUM\",check:\"Number\"}],output:\"Number\",style:\"math_blocks\",helpUrl:\"%{BKY_MATH_SINGLE_HELPURL}\",extensions:[\"math_op_tooltip\"]},{type:\"math_trig\",message0:\"%1 %2\",args0:[{type:\"field_dropdown\",name:\"OP\",options:[[\"%{BKY_MATH_TRIG_SIN}\",\"SIN\"],[\"%{BKY_MATH_TRIG_COS}\",\"COS\"],[\"%{BKY_MATH_TRIG_TAN}\",\"TAN\"],[\"%{BKY_MATH_TRIG_ASIN}\",\"ASIN\"],[\"%{BKY_MATH_TRIG_ACOS}\",\"ACOS\"],[\"%{BKY_MATH_TRIG_ATAN}\",\"ATAN\"]]},{type:\"input_value\",name:\"NUM\",\ncheck:\"Number\"}],output:\"Number\",style:\"math_blocks\",helpUrl:\"%{BKY_MATH_TRIG_HELPURL}\",extensions:[\"math_op_tooltip\"]},{type:\"math_constant\",message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"CONSTANT\",options:[[\"\\u03c0\",\"PI\"],[\"e\",\"E\"],[\"\\u03c6\",\"GOLDEN_RATIO\"],[\"sqrt(2)\",\"SQRT2\"],[\"sqrt(\\u00bd)\",\"SQRT1_2\"],[\"\\u221e\",\"INFINITY\"]]}],output:\"Number\",style:\"math_blocks\",tooltip:\"%{BKY_MATH_CONSTANT_TOOLTIP}\",helpUrl:\"%{BKY_MATH_CONSTANT_HELPURL}\"},{type:\"math_number_property\",message0:\"%1 %2\",args0:[{type:\"input_value\",\nname:\"NUMBER_TO_CHECK\",check:\"Number\"},{type:\"field_dropdown\",name:\"PROPERTY\",options:[[\"%{BKY_MATH_IS_EVEN}\",\"EVEN\"],[\"%{BKY_MATH_IS_ODD}\",\"ODD\"],[\"%{BKY_MATH_IS_PRIME}\",\"PRIME\"],[\"%{BKY_MATH_IS_WHOLE}\",\"WHOLE\"],[\"%{BKY_MATH_IS_POSITIVE}\",\"POSITIVE\"],[\"%{BKY_MATH_IS_NEGATIVE}\",\"NEGATIVE\"],[\"%{BKY_MATH_IS_DIVISIBLE_BY}\",\"DIVISIBLE_BY\"]]}],inputsInline:!0,output:\"Boolean\",style:\"math_blocks\",tooltip:\"%{BKY_MATH_IS_TOOLTIP}\",mutator:\"math_is_divisibleby_mutator\"},{type:\"math_change\",message0:\"%{BKY_MATH_CHANGE_TITLE}\",\nargs0:[{type:\"field_variable\",name:\"VAR\",variable:\"%{BKY_MATH_CHANGE_TITLE_ITEM}\"},{type:\"input_value\",name:\"DELTA\",check:\"Number\"}],previousStatement:null,nextStatement:null,style:\"variable_blocks\",helpUrl:\"%{BKY_MATH_CHANGE_HELPURL}\",extensions:[\"math_change_tooltip\"]},{type:\"math_round\",message0:\"%1 %2\",args0:[{type:\"field_dropdown\",name:\"OP\",options:[[\"%{BKY_MATH_ROUND_OPERATOR_ROUND}\",\"ROUND\"],[\"%{BKY_MATH_ROUND_OPERATOR_ROUNDUP}\",\"ROUNDUP\"],[\"%{BKY_MATH_ROUND_OPERATOR_ROUNDDOWN}\",\"ROUNDDOWN\"]]},\n{type:\"input_value\",name:\"NUM\",check:\"Number\"}],output:\"Number\",style:\"math_blocks\",helpUrl:\"%{BKY_MATH_ROUND_HELPURL}\",tooltip:\"%{BKY_MATH_ROUND_TOOLTIP}\"},{type:\"math_on_list\",message0:\"%1 %2\",args0:[{type:\"field_dropdown\",name:\"OP\",options:[[\"%{BKY_MATH_ONLIST_OPERATOR_SUM}\",\"SUM\"],[\"%{BKY_MATH_ONLIST_OPERATOR_MIN}\",\"MIN\"],[\"%{BKY_MATH_ONLIST_OPERATOR_MAX}\",\"MAX\"],[\"%{BKY_MATH_ONLIST_OPERATOR_AVERAGE}\",\"AVERAGE\"],[\"%{BKY_MATH_ONLIST_OPERATOR_MEDIAN}\",\"MEDIAN\"],[\"%{BKY_MATH_ONLIST_OPERATOR_MODE}\",\n\"MODE\"],[\"%{BKY_MATH_ONLIST_OPERATOR_STD_DEV}\",\"STD_DEV\"],[\"%{BKY_MATH_ONLIST_OPERATOR_RANDOM}\",\"RANDOM\"]]},{type:\"input_value\",name:\"LIST\",check:\"Array\"}],output:\"Number\",style:\"math_blocks\",helpUrl:\"%{BKY_MATH_ONLIST_HELPURL}\",mutator:\"math_modes_of_list_mutator\",extensions:[\"math_op_tooltip\"]},{type:\"math_modulo\",message0:\"%{BKY_MATH_MODULO_TITLE}\",args0:[{type:\"input_value\",name:\"DIVIDEND\",check:\"Number\"},{type:\"input_value\",name:\"DIVISOR\",check:\"Number\"}],inputsInline:!0,output:\"Number\",style:\"math_blocks\",\ntooltip:\"%{BKY_MATH_MODULO_TOOLTIP}\",helpUrl:\"%{BKY_MATH_MODULO_HELPURL}\"},{type:\"math_constrain\",message0:\"%{BKY_MATH_CONSTRAIN_TITLE}\",args0:[{type:\"input_value\",name:\"VALUE\",check:\"Number\"},{type:\"input_value\",name:\"LOW\",check:\"Number\"},{type:\"input_value\",name:\"HIGH\",check:\"Number\"}],inputsInline:!0,output:\"Number\",style:\"math_blocks\",tooltip:\"%{BKY_MATH_CONSTRAIN_TOOLTIP}\",helpUrl:\"%{BKY_MATH_CONSTRAIN_HELPURL}\"},{type:\"math_random_int\",message0:\"%{BKY_MATH_RANDOM_INT_TITLE}\",args0:[{type:\"input_value\",\nname:\"FROM\",check:\"Number\"},{type:\"input_value\",name:\"TO\",check:\"Number\"}],inputsInline:!0,output:\"Number\",style:\"math_blocks\",tooltip:\"%{BKY_MATH_RANDOM_INT_TOOLTIP}\",helpUrl:\"%{BKY_MATH_RANDOM_INT_HELPURL}\"},{type:\"math_random_float\",message0:\"%{BKY_MATH_RANDOM_FLOAT_TITLE_RANDOM}\",output:\"Number\",style:\"math_blocks\",tooltip:\"%{BKY_MATH_RANDOM_FLOAT_TOOLTIP}\",helpUrl:\"%{BKY_MATH_RANDOM_FLOAT_HELPURL}\"},{type:\"math_atan2\",message0:\"%{BKY_MATH_ATAN2_TITLE}\",args0:[{type:\"input_value\",name:\"X\",check:\"Number\"},\n{type:\"input_value\",name:\"Y\",check:\"Number\"}],inputsInline:!0,output:\"Number\",style:\"math_blocks\",tooltip:\"%{BKY_MATH_ATAN2_TOOLTIP}\",helpUrl:\"%{BKY_MATH_ATAN2_HELPURL}\"}]);\nvar module$contents$Blockly$blocks$math_TOOLTIPS_BY_OP={ADD:\"%{BKY_MATH_ARITHMETIC_TOOLTIP_ADD}\",MINUS:\"%{BKY_MATH_ARITHMETIC_TOOLTIP_MINUS}\",MULTIPLY:\"%{BKY_MATH_ARITHMETIC_TOOLTIP_MULTIPLY}\",DIVIDE:\"%{BKY_MATH_ARITHMETIC_TOOLTIP_DIVIDE}\",POWER:\"%{BKY_MATH_ARITHMETIC_TOOLTIP_POWER}\",ROOT:\"%{BKY_MATH_SINGLE_TOOLTIP_ROOT}\",ABS:\"%{BKY_MATH_SINGLE_TOOLTIP_ABS}\",NEG:\"%{BKY_MATH_SINGLE_TOOLTIP_NEG}\",LN:\"%{BKY_MATH_SINGLE_TOOLTIP_LN}\",LOG10:\"%{BKY_MATH_SINGLE_TOOLTIP_LOG10}\",EXP:\"%{BKY_MATH_SINGLE_TOOLTIP_EXP}\",\nPOW10:\"%{BKY_MATH_SINGLE_TOOLTIP_POW10}\",SIN:\"%{BKY_MATH_TRIG_TOOLTIP_SIN}\",COS:\"%{BKY_MATH_TRIG_TOOLTIP_COS}\",TAN:\"%{BKY_MATH_TRIG_TOOLTIP_TAN}\",ASIN:\"%{BKY_MATH_TRIG_TOOLTIP_ASIN}\",ACOS:\"%{BKY_MATH_TRIG_TOOLTIP_ACOS}\",ATAN:\"%{BKY_MATH_TRIG_TOOLTIP_ATAN}\",SUM:\"%{BKY_MATH_ONLIST_TOOLTIP_SUM}\",MIN:\"%{BKY_MATH_ONLIST_TOOLTIP_MIN}\",MAX:\"%{BKY_MATH_ONLIST_TOOLTIP_MAX}\",AVERAGE:\"%{BKY_MATH_ONLIST_TOOLTIP_AVERAGE}\",MEDIAN:\"%{BKY_MATH_ONLIST_TOOLTIP_MEDIAN}\",MODE:\"%{BKY_MATH_ONLIST_TOOLTIP_MODE}\",STD_DEV:\"%{BKY_MATH_ONLIST_TOOLTIP_STD_DEV}\",\nRANDOM:\"%{BKY_MATH_ONLIST_TOOLTIP_RANDOM}\"};(0,$.module$exports$Blockly$Extensions.register)(\"math_op_tooltip\",(0,$.module$exports$Blockly$Extensions.buildTooltipForDropdown)(\"OP\",module$contents$Blockly$blocks$math_TOOLTIPS_BY_OP));\nvar module$contents$Blockly$blocks$math_IS_DIVISIBLEBY_MUTATOR_MIXIN={mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\"),b=\"DIVISIBLE_BY\"===this.getFieldValue(\"PROPERTY\");a.setAttribute(\"divisor_input\",b);return a},domToMutation:function(a){a=\"true\"===a.getAttribute(\"divisor_input\");this.updateShape_(a)},updateShape_:function(a){var b=this.getInput(\"DIVISOR\");a?b||this.appendValueInput(\"DIVISOR\").setCheck(\"Number\"):b&&this.removeInput(\"DIVISOR\")}},module$contents$Blockly$blocks$math_IS_DIVISIBLE_MUTATOR_EXTENSION=\nfunction(){this.getField(\"PROPERTY\").setValidator(function(a){a=\"DIVISIBLE_BY\"===a;this.getSourceBlock().updateShape_(a)})};(0,$.module$exports$Blockly$Extensions.registerMutator)(\"math_is_divisibleby_mutator\",module$contents$Blockly$blocks$math_IS_DIVISIBLEBY_MUTATOR_MIXIN,module$contents$Blockly$blocks$math_IS_DIVISIBLE_MUTATOR_EXTENSION);\n(0,$.module$exports$Blockly$Extensions.register)(\"math_change_tooltip\",(0,$.module$exports$Blockly$Extensions.buildTooltipWithFieldText)(\"%{BKY_MATH_CHANGE_TOOLTIP}\",\"VAR\"));\nvar module$contents$Blockly$blocks$math_LIST_MODES_MUTATOR_MIXIN={updateType_:function(a){\"MODE\"===a?this.outputConnection.setCheck(\"Array\"):this.outputConnection.setCheck(\"Number\")},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");a.setAttribute(\"op\",this.getFieldValue(\"OP\"));return a},domToMutation:function(a){this.updateType_(a.getAttribute(\"op\"))}},module$contents$Blockly$blocks$math_LIST_MODES_MUTATOR_EXTENSION=function(){this.getField(\"OP\").setValidator(function(a){this.updateType_(a)}.bind(this))};\n(0,$.module$exports$Blockly$Extensions.registerMutator)(\"math_modes_of_list_mutator\",module$contents$Blockly$blocks$math_LIST_MODES_MUTATOR_MIXIN,module$contents$Blockly$blocks$math_LIST_MODES_MUTATOR_EXTENSION);var module$exports$Blockly$blocks$loops={};\n(0,$.module$exports$Blockly$common.defineBlocksWithJsonArray)([{type:\"controls_repeat_ext\",message0:\"%{BKY_CONTROLS_REPEAT_TITLE}\",args0:[{type:\"input_value\",name:\"TIMES\",check:\"Number\"}],message1:\"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1\",args1:[{type:\"input_statement\",name:\"DO\"}],previousStatement:null,nextStatement:null,style:\"loop_blocks\",tooltip:\"%{BKY_CONTROLS_REPEAT_TOOLTIP}\",helpUrl:\"%{BKY_CONTROLS_REPEAT_HELPURL}\"},{type:\"controls_repeat\",message0:\"%{BKY_CONTROLS_REPEAT_TITLE}\",args0:[{type:\"field_number\",\nname:\"TIMES\",value:10,min:0,precision:1}],message1:\"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1\",args1:[{type:\"input_statement\",name:\"DO\"}],previousStatement:null,nextStatement:null,style:\"loop_blocks\",tooltip:\"%{BKY_CONTROLS_REPEAT_TOOLTIP}\",helpUrl:\"%{BKY_CONTROLS_REPEAT_HELPURL}\"},{type:\"controls_whileUntil\",message0:\"%1 %2\",args0:[{type:\"field_dropdown\",name:\"MODE\",options:[[\"%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_WHILE}\",\"WHILE\"],[\"%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL}\",\"UNTIL\"]]},{type:\"input_value\",\nname:\"BOOL\",check:\"Boolean\"}],message1:\"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1\",args1:[{type:\"input_statement\",name:\"DO\"}],previousStatement:null,nextStatement:null,style:\"loop_blocks\",helpUrl:\"%{BKY_CONTROLS_WHILEUNTIL_HELPURL}\",extensions:[\"controls_whileUntil_tooltip\"]},{type:\"controls_for\",message0:\"%{BKY_CONTROLS_FOR_TITLE}\",args0:[{type:\"field_variable\",name:\"VAR\",variable:null},{type:\"input_value\",name:\"FROM\",check:\"Number\",align:\"RIGHT\"},{type:\"input_value\",name:\"TO\",check:\"Number\",align:\"RIGHT\"},\n{type:\"input_value\",name:\"BY\",check:\"Number\",align:\"RIGHT\"}],message1:\"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1\",args1:[{type:\"input_statement\",name:\"DO\"}],inputsInline:!0,previousStatement:null,nextStatement:null,style:\"loop_blocks\",helpUrl:\"%{BKY_CONTROLS_FOR_HELPURL}\",extensions:[\"contextMenu_newGetVariableBlock\",\"controls_for_tooltip\"]},{type:\"controls_forEach\",message0:\"%{BKY_CONTROLS_FOREACH_TITLE}\",args0:[{type:\"field_variable\",name:\"VAR\",variable:null},{type:\"input_value\",name:\"LIST\",check:\"Array\"}],\nmessage1:\"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1\",args1:[{type:\"input_statement\",name:\"DO\"}],previousStatement:null,nextStatement:null,style:\"loop_blocks\",helpUrl:\"%{BKY_CONTROLS_FOREACH_HELPURL}\",extensions:[\"contextMenu_newGetVariableBlock\",\"controls_forEach_tooltip\"]},{type:\"controls_flow_statements\",message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"FLOW\",options:[[\"%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK}\",\"BREAK\"],[\"%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE}\",\"CONTINUE\"]]}],previousStatement:null,\nstyle:\"loop_blocks\",helpUrl:\"%{BKY_CONTROLS_FLOW_STATEMENTS_HELPURL}\",suppressPrefixSuffix:!0,extensions:[\"controls_flow_tooltip\",\"controls_flow_in_loop_check\"]}]);var module$contents$Blockly$blocks$loops_WHILE_UNTIL_TOOLTIPS={WHILE:\"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE}\",UNTIL:\"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}\"};(0,$.module$exports$Blockly$Extensions.register)(\"controls_whileUntil_tooltip\",(0,$.module$exports$Blockly$Extensions.buildTooltipForDropdown)(\"MODE\",module$contents$Blockly$blocks$loops_WHILE_UNTIL_TOOLTIPS));\nvar module$contents$Blockly$blocks$loops_BREAK_CONTINUE_TOOLTIPS={BREAK:\"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK}\",CONTINUE:\"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}\"};(0,$.module$exports$Blockly$Extensions.register)(\"controls_flow_tooltip\",(0,$.module$exports$Blockly$Extensions.buildTooltipForDropdown)(\"FLOW\",module$contents$Blockly$blocks$loops_BREAK_CONTINUE_TOOLTIPS));\nvar module$contents$Blockly$blocks$loops_CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN={customContextMenu:function(a){if(!this.isInFlyout){var b=this.getField(\"VAR\").getVariable(),c=b.name;if(!this.isCollapsed()&&null!==c){var d={enabled:!0};d.text=$.module$exports$Blockly$Msg.Msg.VARIABLES_SET_CREATE_GET.replace(\"%1\",c);b=(0,$.module$exports$Blockly$Variables.generateVariableFieldDom)(b);c=(0,$.module$exports$Blockly$utils$xml.createElement)(\"block\");c.setAttribute(\"type\",\"variables_get\");c.appendChild(b);\nd.callback=(0,$.module$exports$Blockly$ContextMenu.callbackFactory)(this,c);a.push(d)}}}};(0,$.module$exports$Blockly$Extensions.registerMixin)(\"contextMenu_newGetVariableBlock\",module$contents$Blockly$blocks$loops_CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN);(0,$.module$exports$Blockly$Extensions.register)(\"controls_for_tooltip\",(0,$.module$exports$Blockly$Extensions.buildTooltipWithFieldText)(\"%{BKY_CONTROLS_FOR_TOOLTIP}\",\"VAR\"));\n(0,$.module$exports$Blockly$Extensions.register)(\"controls_forEach_tooltip\",(0,$.module$exports$Blockly$Extensions.buildTooltipWithFieldText)(\"%{BKY_CONTROLS_FOREACH_TOOLTIP}\",\"VAR\"));module$exports$Blockly$blocks$loops.loopTypes=[\"controls_repeat\",\"controls_repeat_ext\",\"controls_forEach\",\"controls_for\",\"controls_whileUntil\"];\nvar module$contents$Blockly$blocks$loops_CONTROL_FLOW_IN_LOOP_CHECK_MIXIN={getSurroundLoop:function(){var a=this;do{if(module$exports$Blockly$blocks$loops.loopTypes.includes(a.type))return a;a=a.getSurroundParent()}while(a);return null},onchange:function(a){if(this.workspace.isDragging&&!this.workspace.isDragging()&&a.type===$.module$exports$Blockly$Events.BLOCK_MOVE){var b=this.getSurroundLoop(this);this.setWarningText(b?null:$.module$exports$Blockly$Msg.Msg.CONTROLS_FLOW_STATEMENTS_WARNING);if(!this.isInFlyout){var c=\n(0,$.module$exports$Blockly$Events.getGroup)();(0,$.module$exports$Blockly$Events.setGroup)(a.group);this.setEnabled(b);(0,$.module$exports$Blockly$Events.setGroup)(c)}}}};(0,$.module$exports$Blockly$Extensions.registerMixin)(\"controls_flow_in_loop_check\",module$contents$Blockly$blocks$loops_CONTROL_FLOW_IN_LOOP_CHECK_MIXIN);var module$exports$Blockly$blocks$logic={};\n(0,$.module$exports$Blockly$common.defineBlocksWithJsonArray)([{type:\"logic_boolean\",message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"BOOL\",options:[[\"%{BKY_LOGIC_BOOLEAN_TRUE}\",\"TRUE\"],[\"%{BKY_LOGIC_BOOLEAN_FALSE}\",\"FALSE\"]]}],output:\"Boolean\",style:\"logic_blocks\",tooltip:\"%{BKY_LOGIC_BOOLEAN_TOOLTIP}\",helpUrl:\"%{BKY_LOGIC_BOOLEAN_HELPURL}\"},{type:\"controls_if\",message0:\"%{BKY_CONTROLS_IF_MSG_IF} %1\",args0:[{type:\"input_value\",name:\"IF0\",check:\"Boolean\"}],message1:\"%{BKY_CONTROLS_IF_MSG_THEN} %1\",\nargs1:[{type:\"input_statement\",name:\"DO0\"}],previousStatement:null,nextStatement:null,style:\"logic_blocks\",helpUrl:\"%{BKY_CONTROLS_IF_HELPURL}\",suppressPrefixSuffix:!0,mutator:\"controls_if_mutator\",extensions:[\"controls_if_tooltip\"]},{type:\"controls_ifelse\",message0:\"%{BKY_CONTROLS_IF_MSG_IF} %1\",args0:[{type:\"input_value\",name:\"IF0\",check:\"Boolean\"}],message1:\"%{BKY_CONTROLS_IF_MSG_THEN} %1\",args1:[{type:\"input_statement\",name:\"DO0\"}],message2:\"%{BKY_CONTROLS_IF_MSG_ELSE} %1\",args2:[{type:\"input_statement\",\nname:\"ELSE\"}],previousStatement:null,nextStatement:null,style:\"logic_blocks\",tooltip:\"%{BKYCONTROLS_IF_TOOLTIP_2}\",helpUrl:\"%{BKY_CONTROLS_IF_HELPURL}\",suppressPrefixSuffix:!0,extensions:[\"controls_if_tooltip\"]},{type:\"logic_compare\",message0:\"%1 %2 %3\",args0:[{type:\"input_value\",name:\"A\"},{type:\"field_dropdown\",name:\"OP\",options:[[\"=\",\"EQ\"],[\"\\u2260\",\"NEQ\"],[\"\\u200f<\",\"LT\"],[\"\\u200f\\u2264\",\"LTE\"],[\"\\u200f>\",\"GT\"],[\"\\u200f\\u2265\",\"GTE\"]]},{type:\"input_value\",name:\"B\"}],inputsInline:!0,output:\"Boolean\",\nstyle:\"logic_blocks\",helpUrl:\"%{BKY_LOGIC_COMPARE_HELPURL}\",extensions:[\"logic_compare\",\"logic_op_tooltip\"]},{type:\"logic_operation\",message0:\"%1 %2 %3\",args0:[{type:\"input_value\",name:\"A\",check:\"Boolean\"},{type:\"field_dropdown\",name:\"OP\",options:[[\"%{BKY_LOGIC_OPERATION_AND}\",\"AND\"],[\"%{BKY_LOGIC_OPERATION_OR}\",\"OR\"]]},{type:\"input_value\",name:\"B\",check:\"Boolean\"}],inputsInline:!0,output:\"Boolean\",style:\"logic_blocks\",helpUrl:\"%{BKY_LOGIC_OPERATION_HELPURL}\",extensions:[\"logic_op_tooltip\"]},{type:\"logic_negate\",\nmessage0:\"%{BKY_LOGIC_NEGATE_TITLE}\",args0:[{type:\"input_value\",name:\"BOOL\",check:\"Boolean\"}],output:\"Boolean\",style:\"logic_blocks\",tooltip:\"%{BKY_LOGIC_NEGATE_TOOLTIP}\",helpUrl:\"%{BKY_LOGIC_NEGATE_HELPURL}\"},{type:\"logic_null\",message0:\"%{BKY_LOGIC_NULL}\",output:null,style:\"logic_blocks\",tooltip:\"%{BKY_LOGIC_NULL_TOOLTIP}\",helpUrl:\"%{BKY_LOGIC_NULL_HELPURL}\"},{type:\"logic_ternary\",message0:\"%{BKY_LOGIC_TERNARY_CONDITION} %1\",args0:[{type:\"input_value\",name:\"IF\",check:\"Boolean\"}],message1:\"%{BKY_LOGIC_TERNARY_IF_TRUE} %1\",\nargs1:[{type:\"input_value\",name:\"THEN\"}],message2:\"%{BKY_LOGIC_TERNARY_IF_FALSE} %1\",args2:[{type:\"input_value\",name:\"ELSE\"}],output:null,style:\"logic_blocks\",tooltip:\"%{BKY_LOGIC_TERNARY_TOOLTIP}\",helpUrl:\"%{BKY_LOGIC_TERNARY_HELPURL}\",extensions:[\"logic_ternary\"]},{type:\"controls_if_if\",message0:\"%{BKY_CONTROLS_IF_IF_TITLE_IF}\",nextStatement:null,enableContextMenu:!1,style:\"logic_blocks\",tooltip:\"%{BKY_CONTROLS_IF_IF_TOOLTIP}\"},{type:\"controls_if_elseif\",message0:\"%{BKY_CONTROLS_IF_ELSEIF_TITLE_ELSEIF}\",\npreviousStatement:null,nextStatement:null,enableContextMenu:!1,style:\"logic_blocks\",tooltip:\"%{BKY_CONTROLS_IF_ELSEIF_TOOLTIP}\"},{type:\"controls_if_else\",message0:\"%{BKY_CONTROLS_IF_ELSE_TITLE_ELSE}\",previousStatement:null,enableContextMenu:!1,style:\"logic_blocks\",tooltip:\"%{BKY_CONTROLS_IF_ELSE_TOOLTIP}\"}]);\nvar module$contents$Blockly$blocks$logic_TOOLTIPS_BY_OP={EQ:\"%{BKY_LOGIC_COMPARE_TOOLTIP_EQ}\",NEQ:\"%{BKY_LOGIC_COMPARE_TOOLTIP_NEQ}\",LT:\"%{BKY_LOGIC_COMPARE_TOOLTIP_LT}\",LTE:\"%{BKY_LOGIC_COMPARE_TOOLTIP_LTE}\",GT:\"%{BKY_LOGIC_COMPARE_TOOLTIP_GT}\",GTE:\"%{BKY_LOGIC_COMPARE_TOOLTIP_GTE}\",AND:\"%{BKY_LOGIC_OPERATION_TOOLTIP_AND}\",OR:\"%{BKY_LOGIC_OPERATION_TOOLTIP_OR}\"};\n(0,$.module$exports$Blockly$Extensions.register)(\"logic_op_tooltip\",(0,$.module$exports$Blockly$Extensions.buildTooltipForDropdown)(\"OP\",module$contents$Blockly$blocks$logic_TOOLTIPS_BY_OP));\nvar module$contents$Blockly$blocks$logic_CONTROLS_IF_MUTATOR_MIXIN={elseifCount_:0,elseCount_:0,mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");this.elseifCount_&&a.setAttribute(\"elseif\",this.elseifCount_);this.elseCount_&&a.setAttribute(\"else\",1);return a},domToMutation:function(a){this.elseifCount_=parseInt(a.getAttribute(\"elseif\"),10)||0;this.elseCount_=parseInt(a.getAttribute(\"else\"),10)||0;this.rebuildShape_()},\nsaveExtraState:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var a=Object.create(null);this.elseifCount_&&(a.elseIfCount=this.elseifCount_);this.elseCount_&&(a.hasElse=!0);return a},loadExtraState:function(a){this.elseifCount_=a.elseIfCount||0;this.elseCount_=a.hasElse?1:0;this.updateShape_()},decompose:function(a){var b=a.newBlock(\"controls_if_if\");b.initSvg();for(var c=b.nextConnection,d=1;d<=this.elseifCount_;d++){var e=a.newBlock(\"controls_if_elseif\");e.initSvg();c.connect(e.previousConnection);\nc=e.nextConnection}this.elseCount_&&(a=a.newBlock(\"controls_if_else\"),a.initSvg(),c.connect(a.previousConnection));return b},compose:function(a){a=a.nextConnection.targetBlock();this.elseCount_=this.elseifCount_=0;for(var b=[null],c=[null],d=null;a&&!a.isInsertionMarker();){switch(a.type){case \"controls_if_elseif\":this.elseifCount_++;b.push(a.valueConnection_);c.push(a.statementConnection_);break;case \"controls_if_else\":this.elseCount_++;d=a.statementConnection_;break;default:throw TypeError(\"Unknown block type: \"+\na.type);}a=a.nextConnection&&a.nextConnection.targetBlock()}this.updateShape_();this.reconnectChildBlocks_(b,c,d)},saveConnections:function(a){a=a.nextConnection.targetBlock();for(var b=1;a;){switch(a.type){case \"controls_if_elseif\":var c=this.getInput(\"IF\"+b),d=this.getInput(\"DO\"+b);a.valueConnection_=c&&c.connection.targetConnection;a.statementConnection_=d&&d.connection.targetConnection;b++;break;case \"controls_if_else\":c=this.getInput(\"ELSE\");a.statementConnection_=c&&c.connection.targetConnection;\nbreak;default:throw TypeError(\"Unknown block type: \"+a.type);}a=a.nextConnection&&a.nextConnection.targetBlock()}},rebuildShape_:function(){var a=[null],b=[null],c=null;this.getInput(\"ELSE\")&&(c=this.getInput(\"ELSE\").connection.targetConnection);for(var d=1;this.getInput(\"IF\"+d);d++){var e=this.getInput(\"IF\"+d),f=this.getInput(\"DO\"+d);a.push(e.connection.targetConnection);b.push(f.connection.targetConnection)}this.updateShape_();this.reconnectChildBlocks_(a,b,c)},updateShape_:function(){this.getInput(\"ELSE\")&&\nthis.removeInput(\"ELSE\");for(var a=1;this.getInput(\"IF\"+a);a++)this.removeInput(\"IF\"+a),this.removeInput(\"DO\"+a);for(a=1;a<=this.elseifCount_;a++)this.appendValueInput(\"IF\"+a).setCheck(\"Boolean\").appendField($.module$exports$Blockly$Msg.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput(\"DO\"+a).appendField($.module$exports$Blockly$Msg.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput(\"ELSE\").appendField($.module$exports$Blockly$Msg.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(a,\nb,c){for(var d=1;d<=this.elseifCount_;d++)$.module$exports$Blockly$Mutator.Mutator.reconnect(a[d],this,\"IF\"+d),$.module$exports$Blockly$Mutator.Mutator.reconnect(b[d],this,\"DO\"+d);$.module$exports$Blockly$Mutator.Mutator.reconnect(c,this,\"ELSE\")}};(0,$.module$exports$Blockly$Extensions.registerMutator)(\"controls_if_mutator\",module$contents$Blockly$blocks$logic_CONTROLS_IF_MUTATOR_MIXIN,null,[\"controls_if_elseif\",\"controls_if_else\"]);\nvar module$contents$Blockly$blocks$logic_CONTROLS_IF_TOOLTIP_EXTENSION=function(){this.setTooltip(function(){if(this.elseifCount_||this.elseCount_){if(!this.elseifCount_&&this.elseCount_)return $.module$exports$Blockly$Msg.Msg.CONTROLS_IF_TOOLTIP_2;if(this.elseifCount_&&!this.elseCount_)return $.module$exports$Blockly$Msg.Msg.CONTROLS_IF_TOOLTIP_3;if(this.elseifCount_&&this.elseCount_)return $.module$exports$Blockly$Msg.Msg.CONTROLS_IF_TOOLTIP_4}else return $.module$exports$Blockly$Msg.Msg.CONTROLS_IF_TOOLTIP_1;\nreturn\"\"}.bind(this))};(0,$.module$exports$Blockly$Extensions.register)(\"controls_if_tooltip\",module$contents$Blockly$blocks$logic_CONTROLS_IF_TOOLTIP_EXTENSION);\nvar module$contents$Blockly$blocks$logic_LOGIC_COMPARE_ONCHANGE_MIXIN={onchange:function(a){this.prevBlocks_||(this.prevBlocks_=[null,null]);var b=this.getInputTargetBlock(\"A\"),c=this.getInputTargetBlock(\"B\");b&&c&&!this.workspace.connectionChecker.doTypeChecks(b.outputConnection,c.outputConnection)&&((0,$.module$exports$Blockly$Events.setGroup)(a.group),a=this.prevBlocks_[0],a!==b&&(b.unplug(),!a||a.isDisposed()||a.isShadow()||this.getInput(\"A\").connection.connect(a.outputConnection)),b=this.prevBlocks_[1],\nb!==c&&(c.unplug(),!b||b.isDisposed()||b.isShadow()||this.getInput(\"B\").connection.connect(b.outputConnection)),this.bumpNeighbours(),(0,$.module$exports$Blockly$Events.setGroup)(!1));this.prevBlocks_[0]=this.getInputTargetBlock(\"A\");this.prevBlocks_[1]=this.getInputTargetBlock(\"B\")}},module$contents$Blockly$blocks$logic_LOGIC_COMPARE_EXTENSION=function(){this.mixin(module$contents$Blockly$blocks$logic_LOGIC_COMPARE_ONCHANGE_MIXIN)};\n(0,$.module$exports$Blockly$Extensions.register)(\"logic_compare\",module$contents$Blockly$blocks$logic_LOGIC_COMPARE_EXTENSION);\nvar module$contents$Blockly$blocks$logic_LOGIC_TERNARY_ONCHANGE_MIXIN={prevParentConnection_:null,onchange:function(a){var b=this.getInputTargetBlock(\"THEN\"),c=this.getInputTargetBlock(\"ELSE\"),d=this.outputConnection.targetConnection;if((b||c)&&d)for(var e=0;2>e;e++){var f=1===e?b:c;f&&!f.workspace.connectionChecker.doTypeChecks(f.outputConnection,d)&&((0,$.module$exports$Blockly$Events.setGroup)(a.group),d===this.prevParentConnection_?(this.unplug(),d.getSourceBlock().bumpNeighbours()):(f.unplug(),\nf.bumpNeighbours()),(0,$.module$exports$Blockly$Events.setGroup)(!1))}this.prevParentConnection_=d}};(0,$.module$exports$Blockly$Extensions.registerMixin)(\"logic_ternary\",module$contents$Blockly$blocks$logic_LOGIC_TERNARY_ONCHANGE_MIXIN);var module$exports$Blockly$blocks$lists={};\n(0,$.module$exports$Blockly$common.defineBlocksWithJsonArray)([{type:\"lists_create_empty\",message0:\"%{BKY_LISTS_CREATE_EMPTY_TITLE}\",output:\"Array\",style:\"list_blocks\",tooltip:\"%{BKY_LISTS_CREATE_EMPTY_TOOLTIP}\",helpUrl:\"%{BKY_LISTS_CREATE_EMPTY_HELPURL}\"},{type:\"lists_repeat\",message0:\"%{BKY_LISTS_REPEAT_TITLE}\",args0:[{type:\"input_value\",name:\"ITEM\"},{type:\"input_value\",name:\"NUM\",check:\"Number\"}],output:\"Array\",style:\"list_blocks\",tooltip:\"%{BKY_LISTS_REPEAT_TOOLTIP}\",helpUrl:\"%{BKY_LISTS_REPEAT_HELPURL}\"},\n{type:\"lists_reverse\",message0:\"%{BKY_LISTS_REVERSE_MESSAGE0}\",args0:[{type:\"input_value\",name:\"LIST\",check:\"Array\"}],output:\"Array\",inputsInline:!0,style:\"list_blocks\",tooltip:\"%{BKY_LISTS_REVERSE_TOOLTIP}\",helpUrl:\"%{BKY_LISTS_REVERSE_HELPURL}\"},{type:\"lists_isEmpty\",message0:\"%{BKY_LISTS_ISEMPTY_TITLE}\",args0:[{type:\"input_value\",name:\"VALUE\",check:[\"String\",\"Array\"]}],output:\"Boolean\",style:\"list_blocks\",tooltip:\"%{BKY_LISTS_ISEMPTY_TOOLTIP}\",helpUrl:\"%{BKY_LISTS_ISEMPTY_HELPURL}\"},{type:\"lists_length\",\nmessage0:\"%{BKY_LISTS_LENGTH_TITLE}\",args0:[{type:\"input_value\",name:\"VALUE\",check:[\"String\",\"Array\"]}],output:\"Number\",style:\"list_blocks\",tooltip:\"%{BKY_LISTS_LENGTH_TOOLTIP}\",helpUrl:\"%{BKY_LISTS_LENGTH_HELPURL}\"}]);\n$.module$exports$Blockly$blocks.Blocks.lists_create_with={init:function(){this.setHelpUrl($.module$exports$Blockly$Msg.Msg.LISTS_CREATE_WITH_HELPURL);this.setStyle(\"list_blocks\");this.itemCount_=3;this.updateShape_();this.setOutput(!0,\"Array\");this.setMutator(new $.module$exports$Blockly$Mutator.Mutator([\"lists_create_with_item\"]));this.setTooltip($.module$exports$Blockly$Msg.Msg.LISTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");\na.setAttribute(\"items\",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute(\"items\"),10);this.updateShape_()},saveExtraState:function(){return{itemCount:this.itemCount_}},loadExtraState:function(a){this.itemCount_=a.itemCount;this.updateShape_()},decompose:function(a){var b=a.newBlock(\"lists_create_with_container\");b.initSvg();for(var c=b.getInput(\"STACK\").connection,d=0;d<this.itemCount_;d++){var e=a.newBlock(\"lists_create_with_item\");e.initSvg();c.connect(e.previousConnection);\nc=e.nextConnection}return b},compose:function(a){var b=a.getInputTargetBlock(\"STACK\");for(a=[];b&&!b.isInsertionMarker();)a.push(b.valueConnection_),b=b.nextConnection&&b.nextConnection.targetBlock();for(b=0;b<this.itemCount_;b++){var c=this.getInput(\"ADD\"+b).connection.targetConnection;c&&-1===a.indexOf(c)&&c.disconnect()}this.itemCount_=a.length;this.updateShape_();for(b=0;b<this.itemCount_;b++)$.module$exports$Blockly$Mutator.Mutator.reconnect(a[b],this,\"ADD\"+b)},saveConnections:function(a){a=\na.getInputTargetBlock(\"STACK\");for(var b=0;a;){var c=this.getInput(\"ADD\"+b);a.valueConnection_=c&&c.connection.targetConnection;a=a.nextConnection&&a.nextConnection.targetBlock();b++}},updateShape_:function(){this.itemCount_&&this.getInput(\"EMPTY\")?this.removeInput(\"EMPTY\"):this.itemCount_||this.getInput(\"EMPTY\")||this.appendDummyInput(\"EMPTY\").appendField($.module$exports$Blockly$Msg.Msg.LISTS_CREATE_EMPTY_TITLE);for(var a=0;a<this.itemCount_;a++)if(!this.getInput(\"ADD\"+a)){var b=this.appendValueInput(\"ADD\"+\na).setAlign($.module$exports$Blockly$Input.Align.RIGHT);0===a&&b.appendField($.module$exports$Blockly$Msg.Msg.LISTS_CREATE_WITH_INPUT_WITH)}for(a=this.itemCount_;this.getInput(\"ADD\"+a);a++)this.removeInput(\"ADD\"+a)}};\n$.module$exports$Blockly$blocks.Blocks.lists_create_with_container={init:function(){this.setStyle(\"list_blocks\");this.appendDummyInput().appendField($.module$exports$Blockly$Msg.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD);this.appendStatementInput(\"STACK\");this.setTooltip($.module$exports$Blockly$Msg.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP);this.contextMenu=!1}};\n$.module$exports$Blockly$blocks.Blocks.lists_create_with_item={init:function(){this.setStyle(\"list_blocks\");this.appendDummyInput().appendField($.module$exports$Blockly$Msg.Msg.LISTS_CREATE_WITH_ITEM_TITLE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip($.module$exports$Blockly$Msg.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP);this.contextMenu=!1}};\n$.module$exports$Blockly$blocks.Blocks.lists_indexOf={init:function(){var a=[[$.module$exports$Blockly$Msg.Msg.LISTS_INDEX_OF_FIRST,\"FIRST\"],[$.module$exports$Blockly$Msg.Msg.LISTS_INDEX_OF_LAST,\"LAST\"]];this.setHelpUrl($.module$exports$Blockly$Msg.Msg.LISTS_INDEX_OF_HELPURL);this.setStyle(\"list_blocks\");this.setOutput(!0,\"Number\");this.appendValueInput(\"VALUE\").setCheck(\"Array\").appendField($.module$exports$Blockly$Msg.Msg.LISTS_INDEX_OF_INPUT_IN_LIST);this.appendValueInput(\"FIND\").appendField(new $.module$exports$Blockly$FieldDropdown.FieldDropdown(a),\n\"END\");this.setInputsInline(!0);var b=this;this.setTooltip(function(){return $.module$exports$Blockly$Msg.Msg.LISTS_INDEX_OF_TOOLTIP.replace(\"%1\",b.workspace.options.oneBasedIndex?\"0\":\"-1\")})}};\n$.module$exports$Blockly$blocks.Blocks.lists_getIndex={init:function(){var a=[[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_GET,\"GET\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_GET_REMOVE,\"GET_REMOVE\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_REMOVE,\"REMOVE\"]];this.WHERE_OPTIONS=[[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_FROM_START,\"FROM_START\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_FROM_END,\"FROM_END\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_FIRST,\n\"FIRST\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_LAST,\"LAST\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_RANDOM,\"RANDOM\"]];this.setHelpUrl($.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_HELPURL);this.setStyle(\"list_blocks\");a=new $.module$exports$Blockly$FieldDropdown.FieldDropdown(a,function(c){c=\"REMOVE\"===c;this.getSourceBlock().updateStatement_(c)});this.appendValueInput(\"VALUE\").setCheck(\"Array\").appendField($.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_INPUT_IN_LIST);this.appendDummyInput().appendField(a,\n\"MODE\").appendField(\"\",\"SPACE\");this.appendDummyInput(\"AT\");$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput(\"TAIL\").appendField($.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TAIL);this.setInputsInline(!0);this.setOutput(!0);this.updateAt_(!0);var b=this;this.setTooltip(function(){var c=b.getFieldValue(\"MODE\"),d=b.getFieldValue(\"WHERE\"),e=\"\";switch(c+\" \"+d){case \"GET FROM_START\":case \"GET FROM_END\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;\nbreak;case \"GET FIRST\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST;break;case \"GET LAST\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST;break;case \"GET RANDOM\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case \"GET_REMOVE FROM_START\":case \"GET_REMOVE FROM_END\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case \"GET_REMOVE FIRST\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST;\nbreak;case \"GET_REMOVE LAST\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST;break;case \"GET_REMOVE RANDOM\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM;break;case \"REMOVE FROM_START\":case \"REMOVE FROM_END\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM;break;case \"REMOVE FIRST\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST;break;case \"REMOVE LAST\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST;\nbreak;case \"REMOVE RANDOM\":e=$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM}if(\"FROM_START\"===d||\"FROM_END\"===d)e+=\" \"+(\"FROM_START\"===d?$.module$exports$Blockly$Msg.Msg.LISTS_INDEX_FROM_START_TOOLTIP:$.module$exports$Blockly$Msg.Msg.LISTS_INDEX_FROM_END_TOOLTIP).replace(\"%1\",b.workspace.options.oneBasedIndex?\"#1\":\"#0\");return e})},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");a.setAttribute(\"statement\",!this.outputConnection);\nvar b=this.getInput(\"AT\").type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;a.setAttribute(\"at\",b);return a},domToMutation:function(a){var b=\"true\"===a.getAttribute(\"statement\");this.updateStatement_(b);a=\"false\"!==a.getAttribute(\"at\");this.updateAt_(a)},updateStatement_:function(a){a!==!this.outputConnection&&(this.unplug(!0,!0),a?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},\nupdateAt_:function(a){this.removeInput(\"AT\");this.removeInput(\"ORDINAL\",!0);a?(this.appendValueInput(\"AT\").setCheck(\"Number\"),$.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(\"ORDINAL\").appendField($.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput(\"AT\");var b=new $.module$exports$Blockly$FieldDropdown.FieldDropdown(this.WHERE_OPTIONS,function(c){var d=\"FROM_START\"===c||\"FROM_END\"===c;if(d!==a){var e=this.getSourceBlock();e.updateAt_(d);e.setFieldValue(c,\n\"WHERE\");return null}});this.getInput(\"AT\").appendField(b,\"WHERE\");$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore(\"TAIL\",null)}};\n$.module$exports$Blockly$blocks.Blocks.lists_setIndex={init:function(){var a=[[$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_SET,\"SET\"],[$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_INSERT,\"INSERT\"]];this.WHERE_OPTIONS=[[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_FROM_START,\"FROM_START\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_FROM_END,\"FROM_END\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_FIRST,\"FIRST\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_LAST,\"LAST\"],\n[$.module$exports$Blockly$Msg.Msg.LISTS_GET_INDEX_RANDOM,\"RANDOM\"]];this.setHelpUrl($.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_HELPURL);this.setStyle(\"list_blocks\");this.appendValueInput(\"LIST\").setCheck(\"Array\").appendField($.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_INPUT_IN_LIST);this.appendDummyInput().appendField(new $.module$exports$Blockly$FieldDropdown.FieldDropdown(a),\"MODE\").appendField(\"\",\"SPACE\");this.appendDummyInput(\"AT\");this.appendValueInput(\"TO\").appendField($.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_INPUT_TO);\nthis.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip($.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_TOOLTIP);this.updateAt_(!0);var b=this;this.setTooltip(function(){var c=b.getFieldValue(\"MODE\"),d=b.getFieldValue(\"WHERE\"),e=\"\";switch(c+\" \"+d){case \"SET FROM_START\":case \"SET FROM_END\":e=$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM;break;case \"SET FIRST\":e=$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST;break;case \"SET LAST\":e=\n$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST;break;case \"SET RANDOM\":e=$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM;break;case \"INSERT FROM_START\":case \"INSERT FROM_END\":e=$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM;break;case \"INSERT FIRST\":e=$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST;break;case \"INSERT LAST\":e=$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST;break;case \"INSERT RANDOM\":e=\n$.module$exports$Blockly$Msg.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM}if(\"FROM_START\"===d||\"FROM_END\"===d)e+=\" \"+$.module$exports$Blockly$Msg.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace(\"%1\",b.workspace.options.oneBasedIndex?\"#1\":\"#0\");return e})},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\"),b=this.getInput(\"AT\").type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;a.setAttribute(\"at\",b);return a},domToMutation:function(a){a=\n\"false\"!==a.getAttribute(\"at\");this.updateAt_(a)},updateAt_:function(a){this.removeInput(\"AT\");this.removeInput(\"ORDINAL\",!0);a?(this.appendValueInput(\"AT\").setCheck(\"Number\"),$.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(\"ORDINAL\").appendField($.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput(\"AT\");var b=new $.module$exports$Blockly$FieldDropdown.FieldDropdown(this.WHERE_OPTIONS,function(c){var d=\"FROM_START\"===c||\"FROM_END\"===c;if(d!==\na){var e=this.getSourceBlock();e.updateAt_(d);e.setFieldValue(c,\"WHERE\");return null}});this.moveInputBefore(\"AT\",\"TO\");this.getInput(\"ORDINAL\")&&this.moveInputBefore(\"ORDINAL\",\"TO\");this.getInput(\"AT\").appendField(b,\"WHERE\")}};\n$.module$exports$Blockly$blocks.Blocks.lists_getSublist={init:function(){this.WHERE_OPTIONS_1=[[$.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_START_FROM_START,\"FROM_START\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_START_FROM_END,\"FROM_END\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_START_FIRST,\"FIRST\"]];this.WHERE_OPTIONS_2=[[$.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_END_FROM_START,\"FROM_START\"],[$.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_END_FROM_END,\"FROM_END\"],\n[$.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_END_LAST,\"LAST\"]];this.setHelpUrl($.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_HELPURL);this.setStyle(\"list_blocks\");this.appendValueInput(\"LIST\").setCheck(\"Array\").appendField($.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST);this.appendDummyInput(\"AT1\");this.appendDummyInput(\"AT2\");$.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_TAIL&&this.appendDummyInput(\"TAIL\").appendField($.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_TAIL);\nthis.setInputsInline(!0);this.setOutput(!0,\"Array\");this.updateAt_(1,!0);this.updateAt_(2,!0);this.setTooltip($.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\"),b=this.getInput(\"AT1\").type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;a.setAttribute(\"at1\",b);b=this.getInput(\"AT2\").type===$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;a.setAttribute(\"at2\",\nb);return a},domToMutation:function(a){var b=\"true\"===a.getAttribute(\"at1\");a=\"true\"===a.getAttribute(\"at2\");this.updateAt_(1,b);this.updateAt_(2,a)},updateAt_:function(a,b){this.removeInput(\"AT\"+a);this.removeInput(\"ORDINAL\"+a,!0);b?(this.appendValueInput(\"AT\"+a).setCheck(\"Number\"),$.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(\"ORDINAL\"+a).appendField($.module$exports$Blockly$Msg.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput(\"AT\"+a);var c=new $.module$exports$Blockly$FieldDropdown.FieldDropdown(this[\"WHERE_OPTIONS_\"+\na],function(d){var e=\"FROM_START\"===d||\"FROM_END\"===d;if(e!==b){var f=this.getSourceBlock();f.updateAt_(a,e);f.setFieldValue(d,\"WHERE\"+a);return null}});this.getInput(\"AT\"+a).appendField(c,\"WHERE\"+a);1===a&&(this.moveInputBefore(\"AT1\",\"AT2\"),this.getInput(\"ORDINAL1\")&&this.moveInputBefore(\"ORDINAL1\",\"AT2\"));$.module$exports$Blockly$Msg.Msg.LISTS_GET_SUBLIST_TAIL&&this.moveInputBefore(\"TAIL\",null)}};\n$.module$exports$Blockly$blocks.Blocks.lists_sort={init:function(){this.jsonInit({message0:$.module$exports$Blockly$Msg.Msg.LISTS_SORT_TITLE,args0:[{type:\"field_dropdown\",name:\"TYPE\",options:[[$.module$exports$Blockly$Msg.Msg.LISTS_SORT_TYPE_NUMERIC,\"NUMERIC\"],[$.module$exports$Blockly$Msg.Msg.LISTS_SORT_TYPE_TEXT,\"TEXT\"],[$.module$exports$Blockly$Msg.Msg.LISTS_SORT_TYPE_IGNORECASE,\"IGNORE_CASE\"]]},{type:\"field_dropdown\",name:\"DIRECTION\",options:[[$.module$exports$Blockly$Msg.Msg.LISTS_SORT_ORDER_ASCENDING,\n\"1\"],[$.module$exports$Blockly$Msg.Msg.LISTS_SORT_ORDER_DESCENDING,\"-1\"]]},{type:\"input_value\",name:\"LIST\",check:\"Array\"}],output:\"Array\",style:\"list_blocks\",tooltip:$.module$exports$Blockly$Msg.Msg.LISTS_SORT_TOOLTIP,helpUrl:$.module$exports$Blockly$Msg.Msg.LISTS_SORT_HELPURL})}};\n$.module$exports$Blockly$blocks.Blocks.lists_split={init:function(){var a=this,b=new $.module$exports$Blockly$FieldDropdown.FieldDropdown([[$.module$exports$Blockly$Msg.Msg.LISTS_SPLIT_LIST_FROM_TEXT,\"SPLIT\"],[$.module$exports$Blockly$Msg.Msg.LISTS_SPLIT_TEXT_FROM_LIST,\"JOIN\"]],function(c){a.updateType_(c)});this.setHelpUrl($.module$exports$Blockly$Msg.Msg.LISTS_SPLIT_HELPURL);this.setStyle(\"list_blocks\");this.appendValueInput(\"INPUT\").setCheck(\"String\").appendField(b,\"MODE\");this.appendValueInput(\"DELIM\").setCheck(\"String\").appendField($.module$exports$Blockly$Msg.Msg.LISTS_SPLIT_WITH_DELIMITER);\nthis.setInputsInline(!0);this.setOutput(!0,\"Array\");this.setTooltip(function(){var c=a.getFieldValue(\"MODE\");if(\"SPLIT\"===c)return $.module$exports$Blockly$Msg.Msg.LISTS_SPLIT_TOOLTIP_SPLIT;if(\"JOIN\"===c)return $.module$exports$Blockly$Msg.Msg.LISTS_SPLIT_TOOLTIP_JOIN;throw Error(\"Unknown mode: \"+c);})},updateType_:function(a){if(this.getFieldValue(\"MODE\")!==a){var b=this.getInput(\"INPUT\").connection;b.setShadowDom(null);var c=b.targetBlock();c&&(b.disconnect(),c.isShadow()?c.dispose():this.bumpNeighbours())}\"SPLIT\"===\na?(this.outputConnection.setCheck(\"Array\"),this.getInput(\"INPUT\").setCheck(\"String\")):(this.outputConnection.setCheck(\"String\"),this.getInput(\"INPUT\").setCheck(\"Array\"))},mutationToDom:function(){var a=(0,$.module$exports$Blockly$utils$xml.createElement)(\"mutation\");a.setAttribute(\"mode\",this.getFieldValue(\"MODE\"));return a},domToMutation:function(a){this.updateType_(a.getAttribute(\"mode\"))}};var module$exports$Blockly$blocks$colour={};\n(0,$.module$exports$Blockly$common.defineBlocksWithJsonArray)([{type:\"colour_picker\",message0:\"%1\",args0:[{type:\"field_colour\",name:\"COLOUR\",colour:\"#ff0000\"}],output:\"Colour\",helpUrl:\"%{BKY_COLOUR_PICKER_HELPURL}\",style:\"colour_blocks\",tooltip:\"%{BKY_COLOUR_PICKER_TOOLTIP}\",extensions:[\"parent_tooltip_when_inline\"]},{type:\"colour_random\",message0:\"%{BKY_COLOUR_RANDOM_TITLE}\",output:\"Colour\",helpUrl:\"%{BKY_COLOUR_RANDOM_HELPURL}\",style:\"colour_blocks\",tooltip:\"%{BKY_COLOUR_RANDOM_TOOLTIP}\"},{type:\"colour_rgb\",\nmessage0:\"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3\",args0:[{type:\"input_value\",name:\"RED\",check:\"Number\",align:\"RIGHT\"},{type:\"input_value\",name:\"GREEN\",check:\"Number\",align:\"RIGHT\"},{type:\"input_value\",name:\"BLUE\",check:\"Number\",align:\"RIGHT\"}],output:\"Colour\",helpUrl:\"%{BKY_COLOUR_RGB_HELPURL}\",style:\"colour_blocks\",tooltip:\"%{BKY_COLOUR_RGB_TOOLTIP}\"},{type:\"colour_blend\",message0:\"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3\",\nargs0:[{type:\"input_value\",name:\"COLOUR1\",check:\"Colour\",align:\"RIGHT\"},{type:\"input_value\",name:\"COLOUR2\",check:\"Colour\",align:\"RIGHT\"},{type:\"input_value\",name:\"RATIO\",check:\"Number\",align:\"RIGHT\"}],output:\"Colour\",helpUrl:\"%{BKY_COLOUR_BLEND_HELPURL}\",style:\"colour_blocks\",tooltip:\"%{BKY_COLOUR_BLEND_TOOLTIP}\"}]);var module$exports$Blockly$blocks$all={};\n\nreturn $.Blockly.Blocks;\n}));\n\n\n//# sourceMappingURL=blocks_compressed.js.map\n",null,null,null,null,null,null,null,null,"'use strict'\n\nvar VMessage = require('vfile-message')\nvar VFile = require('./core.js')\n\nmodule.exports = VFile\n\nVFile.prototype.message = message\nVFile.prototype.info = info\nVFile.prototype.fail = fail\n\n// Create a message with `reason` at `position`.\n// When an error is passed in as `reason`, copies the stack.\nfunction message(reason, position, origin) {\n var message = new VMessage(reason, position, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n}\n\n// Fail: creates a vmessage, associates it with the file, and throws it.\nfunction fail() {\n var message = this.message.apply(this, arguments)\n\n message.fatal = true\n\n throw message\n}\n\n// Info: creates a vmessage, associates it with the file, and marks the fatality\n// as null.\nfunction info() {\n var message = this.message.apply(this, arguments)\n\n message.fatal = null\n\n return message\n}\n","'use strict'\n\nvar stringify = require('unist-util-stringify-position')\n\nmodule.exports = VMessage\n\n// Inherit from `Error#`.\nfunction VMessagePrototype() {}\nVMessagePrototype.prototype = Error.prototype\nVMessage.prototype = new VMessagePrototype()\n\n// Message properties.\nvar proto = VMessage.prototype\n\nproto.file = ''\nproto.name = ''\nproto.reason = ''\nproto.message = ''\nproto.stack = ''\nproto.fatal = null\nproto.column = null\nproto.line = null\n\n// Construct a new VMessage.\n//\n// Note: We cannot invoke `Error` on the created context, as that adds readonly\n// `line` and `column` attributes on Safari 9, thus throwing and failing the\n// data.\nfunction VMessage(reason, position, origin) {\n var parts\n var range\n var location\n\n if (typeof position === 'string') {\n origin = position\n position = null\n }\n\n parts = parseOrigin(origin)\n range = stringify(position) || '1:1'\n\n location = {\n start: {line: null, column: null},\n end: {line: null, column: null}\n }\n\n // Node.\n if (position && position.position) {\n position = position.position\n }\n\n if (position) {\n // Position.\n if (position.start) {\n location = position\n position = position.start\n } else {\n // Point.\n location.start = position\n }\n }\n\n if (reason.stack) {\n this.stack = reason.stack\n reason = reason.message\n }\n\n this.message = reason\n this.name = range\n this.reason = reason\n this.line = position ? position.line : null\n this.column = position ? position.column : null\n this.location = location\n this.source = parts[0]\n this.ruleId = parts[1]\n}\n\nfunction parseOrigin(origin) {\n var result = [null, null]\n var index\n\n if (typeof origin === 'string') {\n index = origin.indexOf(':')\n\n if (index === -1) {\n result[1] = origin\n } else {\n result[0] = origin.slice(0, index)\n result[1] = origin.slice(index + 1)\n }\n }\n\n return result\n}\n","'use strict'\n\nvar p = require('./minpath')\nvar proc = require('./minproc')\nvar buffer = require('is-buffer')\n\nmodule.exports = VFile\n\nvar own = {}.hasOwnProperty\n\n// Order of setting (least specific to most), we need this because otherwise\n// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n// stem can be set.\nvar order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nVFile.prototype.toString = toString\n\n// Access full path (`~/index.min.js`).\nObject.defineProperty(VFile.prototype, 'path', {get: getPath, set: setPath})\n\n// Access parent path (`~`).\nObject.defineProperty(VFile.prototype, 'dirname', {\n get: getDirname,\n set: setDirname\n})\n\n// Access basename (`index.min.js`).\nObject.defineProperty(VFile.prototype, 'basename', {\n get: getBasename,\n set: setBasename\n})\n\n// Access extname (`.js`).\nObject.defineProperty(VFile.prototype, 'extname', {\n get: getExtname,\n set: setExtname\n})\n\n// Access stem (`index.min`).\nObject.defineProperty(VFile.prototype, 'stem', {get: getStem, set: setStem})\n\n// Construct a new file.\nfunction VFile(options) {\n var prop\n var index\n\n if (!options) {\n options = {}\n } else if (typeof options === 'string' || buffer(options)) {\n options = {contents: options}\n } else if ('message' in options && 'messages' in options) {\n return options\n }\n\n if (!(this instanceof VFile)) {\n return new VFile(options)\n }\n\n this.data = {}\n this.messages = []\n this.history = []\n this.cwd = proc.cwd()\n\n // Set path related properties in the correct order.\n index = -1\n\n while (++index < order.length) {\n prop = order[index]\n\n if (own.call(options, prop)) {\n this[prop] = options[prop]\n }\n }\n\n // Set non-path related properties.\n for (prop in options) {\n if (order.indexOf(prop) < 0) {\n this[prop] = options[prop]\n }\n }\n}\n\nfunction getPath() {\n return this.history[this.history.length - 1]\n}\n\nfunction setPath(path) {\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n}\n\nfunction getDirname() {\n return typeof this.path === 'string' ? p.dirname(this.path) : undefined\n}\n\nfunction setDirname(dirname) {\n assertPath(this.path, 'dirname')\n this.path = p.join(dirname || '', this.basename)\n}\n\nfunction getBasename() {\n return typeof this.path === 'string' ? p.basename(this.path) : undefined\n}\n\nfunction setBasename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = p.join(this.dirname || '', basename)\n}\n\nfunction getExtname() {\n return typeof this.path === 'string' ? p.extname(this.path) : undefined\n}\n\nfunction setExtname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.path, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.indexOf('.', 1) > -1) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = p.join(this.dirname, this.stem + (extname || ''))\n}\n\nfunction getStem() {\n return typeof this.path === 'string'\n ? p.basename(this.path, this.extname)\n : undefined\n}\n\nfunction setStem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = p.join(this.dirname || '', stem + (this.extname || ''))\n}\n\n// Get the value of the file.\nfunction toString(encoding) {\n return (this.contents || '').toString(encoding)\n}\n\n// Assert that `part` is not a path (i.e., does not contain `p.sep`).\nfunction assertPart(part, name) {\n if (part && part.indexOf(p.sep) > -1) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + p.sep + '`'\n )\n }\n}\n\n// Assert that `part` is not empty.\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n// Assert `path` exists.\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n","'use strict'\n\n// A derivative work based on:\n// <https://github.com/browserify/path-browserify>.\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// 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, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// <https://github.com/nodejs/node/blob/master/lib/path.js>.\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexports.basename = basename\nexports.dirname = dirname\nexports.extname = extname\nexports.join = join\nexports.sep = '/'\n\nfunction basename(path, ext) {\n var start = 0\n var end = -1\n var index\n var firstNonSlashEnd\n var seenNonSlash\n var extIndex\n\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n index = path.length\n\n if (ext === undefined || !ext.length || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n firstNonSlashEnd = -1\n extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\nfunction dirname(path) {\n var end\n var unmatchedSlash\n var index\n\n assertPath(path)\n\n if (!path.length) {\n return '.'\n }\n\n end = -1\n index = path.length\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\nfunction extname(path) {\n var startDot = -1\n var startPart = 0\n var end = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n var preDotState = 0\n var unmatchedSlash\n var code\n var index\n\n assertPath(path)\n\n index = path.length\n\n while (index--) {\n code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\nfunction join() {\n var index = -1\n var joined\n\n while (++index < arguments.length) {\n assertPath(arguments[index])\n\n if (arguments[index]) {\n joined =\n joined === undefined\n ? arguments[index]\n : joined + '/' + arguments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n var absolute\n var value\n\n assertPath(path)\n\n absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n value = normalizeString(path, !absolute)\n\n if (!value.length && !absolute) {\n value = '.'\n }\n\n if (value.length && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n// Resolve `.` and `..` elements in a path with directory names.\nfunction normalizeString(path, allowAboveRoot) {\n var result = ''\n var lastSegmentLength = 0\n var lastSlash = -1\n var dots = 0\n var index = -1\n var code\n var lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n /* istanbul ignore else - No clue how to cover it. */\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n","'use strict'\n\n// Somewhat based on:\n// <https://github.com/defunctzombie/node-process/blob/master/browser.js>.\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexports.cwd = cwd\n\nfunction cwd() {\n return '/'\n}\n","'use strict'\n\nvar bail = require('bail')\nvar buffer = require('is-buffer')\nvar extend = require('extend')\nvar plain = require('is-plain-obj')\nvar trough = require('trough')\nvar vfile = require('vfile')\n\n// Expose a frozen processor.\nmodule.exports = unified().freeze()\n\nvar slice = [].slice\nvar own = {}.hasOwnProperty\n\n// Process pipeline.\nvar pipeline = trough()\n .use(pipelineParse)\n .use(pipelineRun)\n .use(pipelineStringify)\n\nfunction pipelineParse(p, ctx) {\n ctx.tree = p.parse(ctx.file)\n}\n\nfunction pipelineRun(p, ctx, next) {\n p.run(ctx.tree, ctx.file, done)\n\n function done(error, tree, file) {\n if (error) {\n next(error)\n } else {\n ctx.tree = tree\n ctx.file = file\n next()\n }\n }\n}\n\nfunction pipelineStringify(p, ctx) {\n var result = p.stringify(ctx.tree, ctx.file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (typeof result === 'string' || buffer(result)) {\n ctx.file.contents = result\n } else {\n ctx.file.result = result\n }\n}\n\n// Function to create the first processor.\nfunction unified() {\n var attachers = []\n var transformers = trough()\n var namespace = {}\n var freezeIndex = -1\n var frozen\n\n // Data management.\n processor.data = data\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n processor.run = run\n processor.runSync = runSync\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n function processor() {\n var destination = unified()\n var index = -1\n\n while (++index < attachers.length) {\n destination.use.apply(null, attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n // Freeze: used to signal a processor that has finished configuration.\n //\n // For example, take unified itself: it’s frozen.\n // Plugins should not be added to it.\n // Rather, it should be extended, by invoking it, before modifying it.\n //\n // In essence, always invoke this when exporting a processor.\n function freeze() {\n var values\n var transformer\n\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n values = attachers[freezeIndex]\n\n if (values[1] === false) {\n continue\n }\n\n if (values[1] === true) {\n values[1] = undefined\n }\n\n transformer = values[0].apply(processor, values.slice(1))\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Infinity\n\n return processor\n }\n\n // Data management.\n // Getter / setter for processor-specific informtion.\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n // Plugin management.\n //\n // Pass it:\n // * an attacher and options,\n // * a preset,\n // * a list of presets, attachers, and arguments (list of attachers and\n // options).\n function use(value) {\n var settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin.apply(null, arguments)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = extend(namespace.settings || {}, settings)\n }\n\n return processor\n\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = extend(settings || {}, result.settings)\n }\n }\n\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addPlugin.apply(null, value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n }\n\n function addList(plugins) {\n var index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (typeof plugins === 'object' && 'length' in plugins) {\n while (++index < plugins.length) {\n add(plugins[index])\n }\n } else {\n throw new Error('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n function addPlugin(plugin, value) {\n var entry = find(plugin)\n\n if (entry) {\n if (plain(entry[1]) && plain(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n attachers.push(slice.call(arguments))\n }\n }\n }\n\n function find(plugin) {\n var index = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n return attachers[index]\n }\n }\n }\n\n // Parse a file (in string or vfile representation) into a unist node using\n // the `Parser` on the processor.\n function parse(doc) {\n var file = vfile(doc)\n var Parser\n\n freeze()\n Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n return new Parser(String(file), file).parse()\n }\n\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n // Run transforms on a unist node representation of a file (in string or\n // vfile representation), async.\n function run(node, file, cb) {\n assertNode(node)\n freeze()\n\n if (!cb && typeof file === 'function') {\n cb = file\n file = null\n }\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n transformers.run(node, vfile(file), done)\n\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n cb(null, tree, file)\n }\n }\n }\n }\n\n // Run transforms on a unist node representation of a file (in string or\n // vfile representation), sync.\n function runSync(node, file) {\n var result\n var complete\n\n run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n return result\n\n function done(error, tree) {\n complete = true\n result = tree\n bail(error)\n }\n }\n\n // Stringify a unist node representation of a file (in string or vfile\n // representation) into a string using the `Compiler` on the processor.\n function stringify(node, doc) {\n var file = vfile(doc)\n var Compiler\n\n freeze()\n Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n return new Compiler(node, file).compile()\n }\n\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n // Parse a file (in string or vfile representation) into a unist node using\n // the `Parser` on the processor, then run transforms on that node, and\n // compile the resulting node using the `Compiler` on the processor, and\n // store that result on the vfile.\n function process(doc, cb) {\n freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n var file = vfile(doc)\n\n pipeline.run(processor, {file: file}, done)\n\n function done(error) {\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n cb(null, file)\n }\n }\n }\n }\n\n // Process the given document (in string or vfile representation), sync.\n function processSync(doc) {\n var file\n var complete\n\n freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n file = vfile(doc)\n\n process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n// Check if `value` is a constructor.\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n// Check if `value` is an object with keys.\nfunction keys(value) {\n var key\n for (key in value) {\n return true\n }\n\n return false\n}\n\n// Assert a parser is available.\nfunction assertParser(name, Parser) {\n if (typeof Parser !== 'function') {\n throw new Error('Cannot `' + name + '` without `Parser`')\n }\n}\n\n// Assert a compiler is available.\nfunction assertCompiler(name, Compiler) {\n if (typeof Compiler !== 'function') {\n throw new Error('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n// Assert the processor is not frozen.\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot invoke `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by invoking it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n// Assert `node` is a unist node.\nfunction assertNode(node) {\n if (!node || typeof node.type !== 'string') {\n throw new Error('Expected node, got `' + node + '`')\n }\n}\n\n// Assert that `complete` is `true`.\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n","'use strict'\n\nmodule.exports = bail\n\nfunction bail(err) {\n if (err) {\n throw err\n }\n}\n","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","'use strict';\n\nmodule.exports = value => {\n\tif (Object.prototype.toString.call(value) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn prototype === null || prototype === Object.prototype;\n};\n","'use strict'\n\nvar wrap = require('./wrap.js')\n\nmodule.exports = trough\n\ntrough.wrap = wrap\n\nvar slice = [].slice\n\n// Create new middleware.\nfunction trough() {\n var fns = []\n var middleware = {}\n\n middleware.run = run\n middleware.use = use\n\n return middleware\n\n // Run `fns`. Last argument must be a completion handler.\n function run() {\n var index = -1\n var input = slice.call(arguments, 0, -1)\n var done = arguments[arguments.length - 1]\n\n if (typeof done !== 'function') {\n throw new Error('Expected function as last argument, not ' + done)\n }\n\n next.apply(null, [null].concat(input))\n\n // Run the next `fn`, if any.\n function next(err) {\n var fn = fns[++index]\n var params = slice.call(arguments, 0)\n var values = params.slice(1)\n var length = input.length\n var pos = -1\n\n if (err) {\n done(err)\n return\n }\n\n // Copy non-nully input into values.\n while (++pos < length) {\n if (values[pos] === null || values[pos] === undefined) {\n values[pos] = input[pos]\n }\n }\n\n input = values\n\n // Next or done.\n if (fn) {\n wrap(fn, next).apply(null, input)\n } else {\n done.apply(null, [null].concat(input))\n }\n }\n }\n\n // Add `fn` to the list.\n function use(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Expected `fn` to be a function, not ' + fn)\n }\n\n fns.push(fn)\n\n return middleware\n }\n}\n","'use strict'\n\nvar slice = [].slice\n\nmodule.exports = wrap\n\n// Wrap `fn`.\n// Can be sync or async; return a promise, receive a completion handler, return\n// new values and errors.\nfunction wrap(fn, callback) {\n var invoked\n\n return wrapped\n\n function wrapped() {\n var params = slice.call(arguments, 0)\n var callback = fn.length > params.length\n var result\n\n if (callback) {\n params.push(done)\n }\n\n try {\n result = fn.apply(null, params)\n } catch (error) {\n // Well, this is quite the pickle.\n // `fn` received a callback and invoked it (thus continuing the pipeline),\n // but later also threw an error.\n // We’re not about to restart the pipeline again, so the only thing left\n // to do is to throw the thing instead.\n if (callback && invoked) {\n throw error\n }\n\n return done(error)\n }\n\n if (!callback) {\n if (result && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n // Invoke `next`, only once.\n function done() {\n if (!invoked) {\n invoked = true\n\n callback.apply(null, arguments)\n }\n }\n\n // Invoke `done` with one value.\n // Tracks if an error is passed, too.\n function then(value) {\n done(null, value)\n }\n}\n","'use strict'\n\nmodule.exports = parse\n\nvar fromMarkdown = require('mdast-util-from-markdown')\n\nfunction parse(options) {\n var self = this\n\n this.Parser = parse\n\n function parse(doc) {\n return fromMarkdown(\n doc,\n Object.assign({}, self.data('settings'), options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n )\n }\n}\n","'use strict'\n\nmodule.exports = require('./dist')\n","'use strict'\n\nmodule.exports = fromMarkdown\n\n// These three are compiled away in the `dist/`\n\nvar toString = require('mdast-util-to-string')\nvar assign = require('micromark/dist/constant/assign')\nvar own = require('micromark/dist/constant/has-own-property')\nvar normalizeIdentifier = require('micromark/dist/util/normalize-identifier')\nvar safeFromInt = require('micromark/dist/util/safe-from-int')\nvar parser = require('micromark/dist/parse')\nvar preprocessor = require('micromark/dist/preprocess')\nvar postprocess = require('micromark/dist/postprocess')\nvar decode = require('parse-entities/decode-entity')\nvar stringifyPosition = require('unist-util-stringify-position')\n\nfunction fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n\n return compiler(options)(\n postprocess(\n parser(options).document().write(preprocessor()(value, encoding, true))\n )\n )\n}\n\n// Note this compiler only understand complete buffering, not streaming.\nfunction compiler(options) {\n var settings = options || {}\n var config = configure(\n {\n transforms: [],\n canContainEols: [\n 'emphasis',\n 'fragment',\n 'heading',\n 'paragraph',\n 'strong'\n ],\n\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n },\n\n settings.mdastExtensions || []\n )\n\n var data = {}\n\n return compile\n\n function compile(events) {\n var tree = {type: 'root', children: []}\n var stack = [tree]\n var tokenStack = []\n var listStack = []\n var index = -1\n var handler\n var listStart\n\n var context = {\n stack: stack,\n tokenStack: tokenStack,\n config: config,\n enter: enter,\n exit: exit,\n buffer: buffer,\n resume: resume,\n setData: setData,\n getData: getData\n }\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n listStart = listStack.pop(index)\n index = prepareList(events, listStart, index)\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n handler = config[events[index][0]]\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n assign({sliceSerialize: events[index][2].sliceSerialize}, context),\n events[index][1]\n )\n }\n }\n\n if (tokenStack.length) {\n throw new Error(\n 'Cannot close document, a token (`' +\n tokenStack[tokenStack.length - 1].type +\n '`, ' +\n stringifyPosition({\n start: tokenStack[tokenStack.length - 1].start,\n end: tokenStack[tokenStack.length - 1].end\n }) +\n ') is still open'\n )\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length ? events[0][1].start : {line: 1, column: 1, offset: 0}\n ),\n\n end: point(\n events.length\n ? events[events.length - 2][1].end\n : {line: 1, column: 1, offset: 0}\n )\n }\n\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n\n return tree\n }\n\n function prepareList(events, start, length) {\n var index = start - 1\n var containerBalance = -1\n var listSpread = false\n var listItem\n var tailIndex\n var lineIndex\n var tailEvent\n var event\n var firstBlankLineIndex\n var atMarker\n\n while (++index <= length) {\n event = events[index]\n\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n tailIndex = index\n lineIndex = undefined\n\n while (tailIndex--) {\n tailEvent = events[tailIndex]\n\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = point(\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n _spread: false,\n start: point(event[1].start)\n }\n\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n\n events[start][1]._spread = listSpread\n return length\n }\n\n function setData(key, value) {\n data[key] = value\n }\n\n function getData(key) {\n return data[key]\n }\n\n function point(d) {\n return {line: d.line, column: d.column, offset: d.offset}\n }\n\n function opener(create, and) {\n return open\n\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n function buffer() {\n this.stack.push({type: 'fragment', children: []})\n }\n\n function enter(node, token) {\n this.stack[this.stack.length - 1].children.push(node)\n this.stack.push(node)\n this.tokenStack.push(token)\n node.position = {start: point(token.start)}\n return node\n }\n\n function closer(and) {\n return close\n\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n function exit(token) {\n var node = this.stack.pop()\n var open = this.tokenStack.pop()\n\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({start: token.start, end: token.end}) +\n '): it’s not open'\n )\n } else if (open.type !== token.type) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({start: token.start, end: token.end}) +\n '): a different token (`' +\n open.type +\n '`, ' +\n stringifyPosition({start: open.start, end: open.end}) +\n ') is open'\n )\n }\n\n node.position.end = point(token.end)\n return node\n }\n\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n this.stack[this.stack.length - 2].start = parseInt(\n this.sliceSerialize(token),\n 10\n )\n\n setData('expectingFirstListItemValue')\n }\n }\n\n function onexitcodefencedfenceinfo() {\n var data = this.resume()\n this.stack[this.stack.length - 1].lang = data\n }\n\n function onexitcodefencedfencemeta() {\n var data = this.resume()\n this.stack[this.stack.length - 1].meta = data\n }\n\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n\n function onexitcodefenced() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data.replace(\n /^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,\n ''\n )\n\n setData('flowCodeInside')\n }\n\n function onexitcodeindented() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexitdefinitionlabelstring(token) {\n // Discard label, use the source content instead.\n var label = this.resume()\n this.stack[this.stack.length - 1].label = label\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n function onexitdefinitiontitlestring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].title = data\n }\n\n function onexitdefinitiondestinationstring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].url = data\n }\n\n function onexitatxheadingsequence(token) {\n if (!this.stack[this.stack.length - 1].depth) {\n this.stack[this.stack.length - 1].depth = this.sliceSerialize(\n token\n ).length\n }\n }\n\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n\n function onexitsetextheadinglinesequence(token) {\n this.stack[this.stack.length - 1].depth =\n this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n\n function onenterdata(token) {\n var siblings = this.stack[this.stack.length - 1].children\n var tail = siblings[siblings.length - 1]\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n tail.position = {start: point(token.start)}\n this.stack[this.stack.length - 1].children.push(tail)\n }\n\n this.stack.push(tail)\n }\n\n function onexitdata(token) {\n var tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n function onexitlineending(token) {\n var context = this.stack[this.stack.length - 1]\n\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n context.children[context.children.length - 1].position.end = point(\n token.end\n )\n\n setData('atHardBreak')\n return\n }\n\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.indexOf(context.type) > -1\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n\n function onexithtmlflow() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexithtmltext() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexitcodetext() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexitlink() {\n var context = this.stack[this.stack.length - 1]\n\n // To do: clean.\n if (getData('inReference')) {\n context.type += 'Reference'\n context.referenceType = getData('referenceType') || 'shortcut'\n delete context.url\n delete context.title\n } else {\n delete context.identifier\n delete context.label\n delete context.referenceType\n }\n\n setData('referenceType')\n }\n\n function onexitimage() {\n var context = this.stack[this.stack.length - 1]\n\n // To do: clean.\n if (getData('inReference')) {\n context.type += 'Reference'\n context.referenceType = getData('referenceType') || 'shortcut'\n delete context.url\n delete context.title\n } else {\n delete context.identifier\n delete context.label\n delete context.referenceType\n }\n\n setData('referenceType')\n }\n\n function onexitlabeltext(token) {\n this.stack[this.stack.length - 2].identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n function onexitlabel() {\n var fragment = this.stack[this.stack.length - 1]\n var value = this.resume()\n\n this.stack[this.stack.length - 1].label = value\n\n // Assume a reference.\n setData('inReference', true)\n\n if (this.stack[this.stack.length - 1].type === 'link') {\n this.stack[this.stack.length - 1].children = fragment.children\n } else {\n this.stack[this.stack.length - 1].alt = value\n }\n }\n\n function onexitresourcedestinationstring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].url = data\n }\n\n function onexitresourcetitlestring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].title = data\n }\n\n function onexitresource() {\n setData('inReference')\n }\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n\n function onexitreferencestring(token) {\n var label = this.resume()\n this.stack[this.stack.length - 1].label = label\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n\n function onexitcharacterreferencevalue(token) {\n var data = this.sliceSerialize(token)\n var type = getData('characterReferenceType')\n var value\n var tail\n\n if (type) {\n value = safeFromInt(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n\n setData('characterReferenceType')\n } else {\n value = decode(data)\n }\n\n tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n this.stack[this.stack.length - 1].url = this.sliceSerialize(token)\n }\n\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n this.stack[this.stack.length - 1].url =\n 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n function blockQuote() {\n return {type: 'blockquote', children: []}\n }\n\n function codeFlow() {\n return {type: 'code', lang: null, meta: null, value: ''}\n }\n\n function codeText() {\n return {type: 'inlineCode', value: ''}\n }\n\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n function emphasis() {\n return {type: 'emphasis', children: []}\n }\n\n function heading() {\n return {type: 'heading', depth: undefined, children: []}\n }\n\n function hardBreak() {\n return {type: 'break'}\n }\n\n function html() {\n return {type: 'html', value: ''}\n }\n\n function image() {\n return {type: 'image', title: null, url: '', alt: null}\n }\n\n function link() {\n return {type: 'link', title: null, url: '', children: []}\n }\n\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n }\n }\n\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n function paragraph() {\n return {type: 'paragraph', children: []}\n }\n\n function strong() {\n return {type: 'strong', children: []}\n }\n\n function text() {\n return {type: 'text', value: ''}\n }\n\n function thematicBreak() {\n return {type: 'thematicBreak'}\n }\n}\n\nfunction configure(config, extensions) {\n var index = -1\n\n while (++index < extensions.length) {\n extension(config, extensions[index])\n }\n\n return config\n}\n\nfunction extension(config, extension) {\n var key\n var left\n\n for (key in extension) {\n left = own.call(config, key) ? config[key] : (config[key] = {})\n\n if (key === 'canContainEols' || key === 'transforms') {\n config[key] = [].concat(left, extension[key])\n } else {\n Object.assign(left, extension[key])\n }\n }\n}\n","'use strict'\n\nmodule.exports = toString\n\n// Get the text content of a node.\n// Prefer the node’s plain-text fields, otherwise serialize its children,\n// and if the given value is an array, serialize the nodes in it.\nfunction toString(node) {\n return (\n (node &&\n (node.value ||\n node.alt ||\n node.title ||\n ('children' in node && all(node.children)) ||\n ('length' in node && all(node)))) ||\n ''\n )\n}\n\nfunction all(values) {\n var result = []\n var index = -1\n\n while (++index < values.length) {\n result[index] = toString(values[index])\n }\n\n return result.join('')\n}\n","'use strict'\n\nvar fromCharCode = require('../constant/from-char-code.js')\n\nfunction safeFromInt(value, base) {\n var code = parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return fromCharCode(code)\n}\n\nmodule.exports = safeFromInt\n","'use strict'\n\nvar content = require('./initialize/content.js')\nvar document = require('./initialize/document.js')\nvar flow = require('./initialize/flow.js')\nvar text = require('./initialize/text.js')\nvar combineExtensions = require('./util/combine-extensions.js')\nvar createTokenizer = require('./util/create-tokenizer.js')\nvar miniflat = require('./util/miniflat.js')\nvar constructs = require('./constructs.js')\n\nfunction parse(options) {\n var settings = options || {}\n var parser = {\n defined: [],\n constructs: combineExtensions(\n [constructs].concat(miniflat(settings.extensions))\n ),\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(text.string),\n text: create(text.text)\n }\n return parser\n\n function create(initializer) {\n return creator\n\n function creator(from) {\n return createTokenizer(parser, initializer, from)\n }\n }\n}\n\nmodule.exports = parse\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('../tokenize/factory-space.js')\n\nvar tokenize = initializeContent\n\nfunction initializeContent(effects) {\n var contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n var previous\n return contentStart\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n\n function lineStart(code) {\n var token = effects.enter('chunkText', {\n contentType: 'text',\n previous: previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n\nexports.tokenize = tokenize\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('../tokenize/factory-space.js')\nvar partialBlankLine = require('../tokenize/partial-blank-line.js')\n\nvar tokenize = initializeDocument\nvar containerConstruct = {\n tokenize: tokenizeContainer\n}\nvar lazyFlowConstruct = {\n tokenize: tokenizeLazyFlow\n}\n\nfunction initializeDocument(effects) {\n var self = this\n var stack = []\n var continued = 0\n var inspectConstruct = {\n tokenize: tokenizeInspect,\n partial: true\n }\n var inspectResult\n var childFlow\n var childToken\n return start\n\n function start(code) {\n if (continued < stack.length) {\n self.containerState = stack[continued][1]\n return effects.attempt(\n stack[continued][0].continuation,\n documentContinue,\n documentContinued\n )(code)\n }\n\n return documentContinued(code)\n }\n\n function documentContinue(code) {\n continued++\n return start(code)\n }\n\n function documentContinued(code) {\n // If we’re in a concrete construct (such as when expecting another line of\n // HTML, or we resulted in lazy content), we can immediately start flow.\n if (inspectResult && inspectResult.flowContinue) {\n return flowStart(code)\n }\n\n self.interrupt =\n childFlow &&\n childFlow.currentConstruct &&\n childFlow.currentConstruct.interruptible\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n\n function containerContinue(code) {\n stack.push([self.currentConstruct, self.containerState])\n self.containerState = undefined\n return documentContinued(code)\n }\n\n function flowStart(code) {\n if (code === null) {\n exitContainers(0, true)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n\n function flowContinue(code) {\n if (code === null) {\n continueFlow(effects.exit('chunkFlow'))\n return flowStart(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n continueFlow(effects.exit('chunkFlow'))\n return effects.check(inspectConstruct, documentAfterPeek)\n }\n\n effects.consume(code)\n return flowContinue\n }\n\n function documentAfterPeek(code) {\n exitContainers(\n inspectResult.continued,\n inspectResult && inspectResult.flowEnd\n )\n continued = 0\n return start(code)\n }\n\n function continueFlow(token) {\n if (childToken) childToken.next = token\n childToken = token\n childFlow.lazy = inspectResult && inspectResult.lazy\n childFlow.defineSkip(token.start)\n childFlow.write(self.sliceStream(token))\n }\n\n function exitContainers(size, end) {\n var index = stack.length // Close the flow.\n\n if (childFlow && end) {\n childFlow.write([null])\n childToken = childFlow = undefined\n } // Exit open containers.\n\n while (index-- > size) {\n self.containerState = stack[index][1]\n stack[index][0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function tokenizeInspect(effects, ok) {\n var subcontinued = 0\n inspectResult = {}\n return inspectStart\n\n function inspectStart(code) {\n if (subcontinued < stack.length) {\n self.containerState = stack[subcontinued][1]\n return effects.attempt(\n stack[subcontinued][0].continuation,\n inspectContinue,\n inspectLess\n )(code)\n } // If we’re continued but in a concrete flow, we can’t have more\n // containers.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n inspectResult.flowContinue = true\n return inspectDone(code)\n }\n\n self.interrupt =\n childFlow.currentConstruct && childFlow.currentConstruct.interruptible\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n inspectFlowEnd,\n inspectDone\n )(code)\n }\n\n function inspectContinue(code) {\n subcontinued++\n return self.containerState._closeFlow\n ? inspectFlowEnd(code)\n : inspectStart(code)\n }\n\n function inspectLess(code) {\n if (childFlow.currentConstruct && childFlow.currentConstruct.lazy) {\n // Maybe another container?\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n inspectFlowEnd, // Maybe flow, or a blank line?\n effects.attempt(\n lazyFlowConstruct,\n inspectFlowEnd,\n effects.check(partialBlankLine, inspectFlowEnd, inspectLazy)\n )\n )(code)\n } // Otherwise we’re interrupting.\n\n return inspectFlowEnd(code)\n }\n\n function inspectLazy(code) {\n // Act as if all containers are continued.\n subcontinued = stack.length\n inspectResult.lazy = true\n inspectResult.flowContinue = true\n return inspectDone(code)\n } // We’re done with flow if we have more containers, or an interruption.\n\n function inspectFlowEnd(code) {\n inspectResult.flowEnd = true\n return inspectDone(code)\n }\n\n function inspectDone(code) {\n inspectResult.continued = subcontinued\n self.interrupt = self.containerState = undefined\n return ok(code)\n }\n }\n}\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n}\n\nfunction tokenizeLazyFlow(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.lazy(this.parser.constructs.flow, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n}\n\nexports.tokenize = tokenize\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar content = require('../tokenize/content.js')\nvar factorySpace = require('../tokenize/factory-space.js')\nvar partialBlankLine = require('../tokenize/partial-blank-line.js')\n\nvar tokenize = initializeFlow\n\nfunction initializeFlow(effects) {\n var self = this\n var initial = effects.attempt(\n // Try to parse a blank line.\n partialBlankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n\nexports.tokenize = tokenize\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar subtokenize = require('../util/subtokenize.js')\nvar factorySpace = require('./factory-space.js')\n\n// No name because it must not be turned off.\nvar content = {\n tokenize: tokenizeContent,\n resolve: resolveContent,\n interruptible: true,\n lazy: true\n}\nvar continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n} // Content is transparent: it’s parsed right now. That way, definitions are also\n// parsed right now: before text in paragraphs (specifically, media) are parsed.\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n\nfunction tokenizeContent(effects, ok) {\n var previous\n return start\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous = previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous: previous\n })\n return data\n }\n}\n\nfunction tokenizeContinuation(effects, ok, nok) {\n var self = this\n return startLookahead\n\n function startLookahead(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1 ||\n prefixSize(self.events, 'linePrefix') < 4\n ) {\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n\n return ok(code)\n }\n}\n\nmodule.exports = content\n","'use strict'\n\nvar splice = [].splice\n\nmodule.exports = splice\n","'use strict'\n\nvar hasOwnProperty = require('../constant/has-own-property.js')\nvar chunkedSplice = require('./chunked-splice.js')\nvar miniflat = require('./miniflat.js')\n\nfunction combineExtensions(extensions) {\n var all = {}\n var index = -1\n\n while (++index < extensions.length) {\n extension(all, extensions[index])\n }\n\n return all\n}\n\nfunction extension(all, extension) {\n var hook\n var left\n var right\n var code\n\n for (hook in extension) {\n left = hasOwnProperty.call(all, hook) ? all[hook] : (all[hook] = {})\n right = extension[hook]\n\n for (code in right) {\n left[code] = constructs(\n miniflat(right[code]),\n hasOwnProperty.call(left, code) ? left[code] : []\n )\n }\n }\n}\n\nfunction constructs(list, existing) {\n var index = -1\n var before = []\n\n while (++index < list.length) {\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n chunkedSplice(existing, 0, 0, before)\n return existing\n}\n\nmodule.exports = combineExtensions\n","'use strict'\n\nvar assign = require('../constant/assign.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar chunkedPush = require('./chunked-push.js')\nvar chunkedSplice = require('./chunked-splice.js')\nvar miniflat = require('./miniflat.js')\nvar resolveAll = require('./resolve-all.js')\nvar serializeChunks = require('./serialize-chunks.js')\nvar shallow = require('./shallow.js')\nvar sliceChunks = require('./slice-chunks.js')\n\n// Create a tokenizer.\n// Tokenizers deal with one type of data (e.g., containers, flow, text).\n// The parser is the object dealing with it all.\n// `initialize` works like other constructs, except that only its `tokenize`\n// function is used, in which case it doesn’t receive an `ok` or `nok`.\n// `from` can be given to set the point before the first character, although\n// when further lines are indented, they must be set with `defineSkip`.\nfunction createTokenizer(parser, initialize, from) {\n var point = from\n ? shallow(from)\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n var columnStart = {}\n var resolveAllConstructs = []\n var chunks = []\n var stack = []\n\n var effects = {\n consume: consume,\n enter: enter,\n exit: exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n }),\n lazy: constructFactory(onsuccessfulcheck, {\n lazy: true\n })\n } // State and tools for resolving and serializing.\n\n var context = {\n previous: null,\n events: [],\n parser: parser,\n sliceStream: sliceStream,\n sliceSerialize: sliceSerialize,\n now: now,\n defineSkip: skip,\n write: write\n } // The state function.\n\n var state = initialize.tokenize.call(context, effects) // Track which character we expect to be consumed, to catch bugs.\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n } // Store where we are in the input stream.\n\n point._index = 0\n point._bufferIndex = -1\n return context\n\n function write(slice) {\n chunks = chunkedPush(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n function sliceSerialize(token) {\n return serializeChunks(sliceStream(token))\n }\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n\n function now() {\n return shallow(point)\n }\n\n function skip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n // Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n // `consume`).\n // Here is where we walk through the chunks, which either include strings of\n // several characters, or numerical character codes.\n // The reason to do this in a loop instead of a call is so the stack can\n // drain.\n\n function main() {\n var chunkIndex\n var chunk\n\n while (point._index < chunks.length) {\n chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n } // Deal with one code.\n\n function go(code) {\n state = state(code)\n } // Move a character forward.\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n } // Start a token.\n\n function enter(type, fields) {\n var token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n } // Stop a token.\n\n function exit(type) {\n var token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n } // Use results.\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n } // Discard results.\n\n function onsuccessfulcheck(construct, info) {\n info.restore()\n } // Factory to attempt/check/interrupt.\n\n function constructFactory(onreturn, fields) {\n return hook // Handle either an object mapping codes to constructs, a list of\n // constructs, or a single construct.\n\n function hook(constructs, returnState, bogusState) {\n var listOfConstructs\n var constructIndex\n var currentConstruct\n var info\n return constructs.tokenize || 'length' in constructs\n ? handleListOfConstructs(miniflat(constructs))\n : handleMapOfConstructs\n\n function handleMapOfConstructs(code) {\n if (code in constructs || null in constructs) {\n return handleListOfConstructs(\n constructs.null\n ? /* c8 ignore next */\n miniflat(constructs[code]).concat(miniflat(constructs.null))\n : constructs[code]\n )(code)\n }\n\n return bogusState(code)\n }\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n return handleConstruct(list[constructIndex])\n }\n\n function handleConstruct(construct) {\n return start\n\n function start(code) {\n // To do: not nede to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.indexOf(construct.name) > -1\n ) {\n return nok()\n }\n\n return construct.tokenize.call(\n fields ? assign({}, context, fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n\n function ok(code) {\n onreturn(currentConstruct, info)\n return returnState\n }\n\n function nok(code) {\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n\n function addResult(construct, from) {\n if (construct.resolveAll && resolveAllConstructs.indexOf(construct) < 0) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n chunkedSplice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n\n function store() {\n var startPoint = now()\n var startPrevious = context.previous\n var startCurrentConstruct = context.currentConstruct\n var startEventsIndex = context.events.length\n var startStack = Array.from(stack)\n return {\n restore: restore,\n from: startEventsIndex\n }\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n\nmodule.exports = createTokenizer\n","'use strict'\n\nvar fromCharCode = require('../constant/from-char-code.js')\n\nfunction serializeChunks(chunks) {\n var index = -1\n var result = []\n var chunk\n var value\n var atTab\n\n while (++index < chunks.length) {\n chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n value = chunk\n } else if (chunk === -5) {\n value = '\\r'\n } else if (chunk === -4) {\n value = '\\n'\n } else if (chunk === -3) {\n value = '\\r' + '\\n'\n } else if (chunk === -2) {\n value = '\\t'\n } else if (chunk === -1) {\n if (atTab) continue\n value = ' '\n } else {\n // Currently only replacement character.\n value = fromCharCode(chunk)\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n\nmodule.exports = serializeChunks\n","'use strict'\n\nfunction sliceChunks(chunks, token) {\n var startIndex = token.start._index\n var startBufferIndex = token.start._bufferIndex\n var endIndex = token.end._index\n var endBufferIndex = token.end._bufferIndex\n var view\n\n if (startIndex === endIndex) {\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n\nmodule.exports = sliceChunks\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar text$1 = require('./initialize/text.js')\nvar attention = require('./tokenize/attention.js')\nvar autolink = require('./tokenize/autolink.js')\nvar blockQuote = require('./tokenize/block-quote.js')\nvar characterEscape = require('./tokenize/character-escape.js')\nvar characterReference = require('./tokenize/character-reference.js')\nvar codeFenced = require('./tokenize/code-fenced.js')\nvar codeIndented = require('./tokenize/code-indented.js')\nvar codeText = require('./tokenize/code-text.js')\nvar definition = require('./tokenize/definition.js')\nvar hardBreakEscape = require('./tokenize/hard-break-escape.js')\nvar headingAtx = require('./tokenize/heading-atx.js')\nvar htmlFlow = require('./tokenize/html-flow.js')\nvar htmlText = require('./tokenize/html-text.js')\nvar labelEnd = require('./tokenize/label-end.js')\nvar labelStartImage = require('./tokenize/label-start-image.js')\nvar labelStartLink = require('./tokenize/label-start-link.js')\nvar lineEnding = require('./tokenize/line-ending.js')\nvar list = require('./tokenize/list.js')\nvar setextUnderline = require('./tokenize/setext-underline.js')\nvar thematicBreak = require('./tokenize/thematic-break.js')\n\nvar document = {\n 42: list,\n // Asterisk\n 43: list,\n // Plus sign\n 45: list,\n // Dash\n 48: list,\n // 0\n 49: list,\n // 1\n 50: list,\n // 2\n 51: list,\n // 3\n 52: list,\n // 4\n 53: list,\n // 5\n 54: list,\n // 6\n 55: list,\n // 7\n 56: list,\n // 8\n 57: list,\n // 9\n 62: blockQuote // Greater than\n}\nvar contentInitial = {\n 91: definition // Left square bracket\n}\nvar flowInitial = {\n '-2': codeIndented,\n // Horizontal tab\n '-1': codeIndented,\n // Virtual space\n 32: codeIndented // Space\n}\nvar flow = {\n 35: headingAtx,\n // Number sign\n 42: thematicBreak,\n // Asterisk\n 45: [setextUnderline, thematicBreak],\n // Dash\n 60: htmlFlow,\n // Less than\n 61: setextUnderline,\n // Equals to\n 95: thematicBreak,\n // Underscore\n 96: codeFenced,\n // Grave accent\n 126: codeFenced // Tilde\n}\nvar string = {\n 38: characterReference,\n // Ampersand\n 92: characterEscape // Backslash\n}\nvar text = {\n '-5': lineEnding,\n // Carriage return\n '-4': lineEnding,\n // Line feed\n '-3': lineEnding,\n // Carriage return + line feed\n 33: labelStartImage,\n // Exclamation mark\n 38: characterReference,\n // Ampersand\n 42: attention,\n // Asterisk\n 60: [autolink, htmlText],\n // Less than\n 91: labelStartLink,\n // Left square bracket\n 92: [hardBreakEscape, characterEscape],\n // Backslash\n 93: labelEnd,\n // Right square bracket\n 95: attention,\n // Underscore\n 96: codeText // Grave accent\n}\nvar insideSpan = {\n null: [attention, text$1.resolver]\n}\nvar disable = {\n null: []\n}\n\nexports.contentInitial = contentInitial\nexports.disable = disable\nexports.document = document\nexports.flow = flow\nexports.flowInitial = flowInitial\nexports.insideSpan = insideSpan\nexports.string = string\nexports.text = text\n","'use strict'\n\nvar chunkedPush = require('../util/chunked-push.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar classifyCharacter = require('../util/classify-character.js')\nvar movePoint = require('../util/move-point.js')\nvar resolveAll = require('../util/resolve-all.js')\nvar shallow = require('../util/shallow.js')\n\nvar attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n\nfunction resolveAllAttention(events, context) {\n var index = -1\n var open\n var group\n var text\n var openingSequence\n var closingSequence\n var use\n var nextEvents\n var offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: movePoint(shallow(events[open][1].end), -use),\n end: shallow(events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: shallow(events[index][1].start),\n end: movePoint(shallow(events[index][1].start), use)\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: shallow(events[open][1].end),\n end: shallow(events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: shallow(openingSequence.start),\n end: shallow(closingSequence.end)\n }\n events[open][1].end = shallow(openingSequence.start)\n events[index][1].start = shallow(closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = chunkedPush(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = chunkedPush(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = chunkedPush(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = chunkedPush(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = chunkedPush(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n chunkedSplice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n\nfunction tokenizeAttention(effects, ok) {\n var before = classifyCharacter(this.previous)\n var marker\n return start\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n\n function sequence(code) {\n var token\n var after\n var open\n var close\n\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n token = effects.exit('attentionSequence')\n after = classifyCharacter(code)\n open = !after || (after === 2 && before)\n close = !before || (before === 2 && after)\n token._open = marker === 42 ? open : open && (before || !close)\n token._close = marker === 42 ? close : close && (after || !open)\n return ok(code)\n }\n}\n\nmodule.exports = attention\n","'use strict'\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar unicodePunctuation = require('../character/unicode-punctuation.js')\nvar unicodeWhitespace = require('../character/unicode-whitespace.js')\n\n// Classify whether a character is unicode whitespace, unicode punctuation, or\n// anything else.\n// Used for attention (emphasis, strong), whose sequences can open or close\n// based on the class of surrounding characters.\nfunction classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n\nmodule.exports = classifyCharacter\n","'use strict'\n\nvar unicodePunctuationRegex = require('../constant/unicode-punctuation-regex.js')\nvar regexCheck = require('../util/regex-check.js')\n\n// In fact adds to the bundle size.\n\nvar unicodePunctuation = regexCheck(unicodePunctuationRegex)\n\nmodule.exports = unicodePunctuation\n","'use strict'\n\n// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nvar unicodePunctuation = /[!-\\/:-@\\[-`\\{-~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n\nmodule.exports = unicodePunctuation\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar unicodeWhitespace = regexCheck(/\\s/)\n\nmodule.exports = unicodeWhitespace\n","'use strict'\n\n// chunks (replacement characters, tabs, or line endings).\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n return point\n}\n\nmodule.exports = movePoint\n","'use strict'\n\nvar asciiAlpha = require('../character/ascii-alpha.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar asciiAtext = require('../character/ascii-atext.js')\nvar asciiControl = require('../character/ascii-control.js')\n\nvar autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n\nfunction tokenizeAutolink(effects, ok, nok) {\n var size = 1\n return start\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n\nmodule.exports = autolink\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n\nmodule.exports = asciiAtext\n","'use strict'\n\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nvar blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit: exit\n}\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n if (code === 62) {\n if (!self.containerState.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n self.containerState.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n}\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n\nmodule.exports = blockQuote\n","'use strict'\n\nvar asciiPunctuation = require('../character/ascii-punctuation.js')\n\nvar characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = characterEscape\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n\nmodule.exports = asciiPunctuation\n","'use strict'\n\nvar decodeEntity = require('parse-entities/decode-entity.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar asciiDigit = require('../character/ascii-digit.js')\nvar asciiHexDigit = require('../character/ascii-hex-digit.js')\n\nfunction _interopDefaultLegacy(e) {\n return e && typeof e === 'object' && 'default' in e ? e : {default: e}\n}\n\nvar decodeEntity__default = /*#__PURE__*/ _interopDefaultLegacy(decodeEntity)\n\nvar characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n var self = this\n var size = 0\n var max\n var test\n return start\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n\n function value(code) {\n var token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeEntity__default['default'](self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = characterReference\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n\nmodule.exports = asciiHexDigit\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar factorySpace = require('./factory-space.js')\n\nvar codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n var self = this\n var closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n var initialPrefix = prefixSize(this.events, 'linePrefix')\n var sizeOpen = 0\n var marker\n return start\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : content(code)\n }\n\n function content(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(effects, content, 'linePrefix', initialPrefix + 1)\n : content\n )\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return content(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n\n function tokenizeClosingFence(effects, ok, nok) {\n var size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n\nmodule.exports = codeFenced\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar factorySpace = require('./factory-space.js')\n\nvar codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented,\n resolve: resolveCodeIndented\n}\nvar indentedContentConstruct = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n\nfunction resolveCodeIndented(events, context) {\n var code = {\n type: 'codeIndented',\n start: events[0][1].start,\n end: events[events.length - 1][1].end\n }\n chunkedSplice(events, 0, 0, [['enter', code, context]])\n chunkedSplice(events, events.length, 0, [['exit', code, context]])\n return events\n}\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n return effects.attempt(indentedContentConstruct, afterPrefix, nok)\n\n function afterPrefix(code) {\n if (code === null) {\n return ok(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContentConstruct, afterPrefix, ok)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n}\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n var self = this\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)\n\n function afterPrefix(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)\n }\n\n return prefixSize(self.events, 'linePrefix') < 4 ? nok(code) : ok(code)\n }\n}\n\nmodule.exports = codeIndented\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\n\nvar codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous: previous\n}\n\nfunction resolveCodeText(events) {\n var tailExitIndex = events.length - 4\n var headEnterIndex = 3\n var index\n var enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[tailExitIndex][1].type = events[headEnterIndex][1].type =\n 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n\nfunction tokenizeCodeText(effects, ok, nok) {\n var sizeOpen = 0\n var size\n var token\n return start\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n\nmodule.exports = codeText\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar normalizeIdentifier = require('../util/normalize-identifier.js')\nvar factoryDestination = require('./factory-destination.js')\nvar factoryLabel = require('./factory-label.js')\nvar factorySpace = require('./factory-space.js')\nvar factoryWhitespace = require('./factory-whitespace.js')\nvar factoryTitle = require('./factory-title.js')\n\nvar definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\nvar titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n\nfunction tokenizeDefinition(effects, ok, nok) {\n var self = this\n var identifier\n return start\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (self.parser.defined.indexOf(identifier) < 0) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n\nmodule.exports = definition\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\n\nvar hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = hardBreakEscape\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar factorySpace = require('./factory-space.js')\n\nvar headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n\nfunction resolveHeadingAtx(events, context) {\n var contentEnd = events.length - 2\n var contentStart = 3\n var content\n var text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: 'text'\n }\n chunkedSplice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n var self = this\n var size = 0\n return start\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n\nmodule.exports = headingAtx\n","'use strict'\n\nvar asciiAlpha = require('../character/ascii-alpha.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar fromCharCode = require('../constant/from-char-code.js')\nvar htmlBlockNames = require('../constant/html-block-names.js')\nvar htmlRawNames = require('../constant/html-raw-names.js')\nvar partialBlankLine = require('./partial-blank-line.js')\n\nvar htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\nvar nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n\nfunction resolveToHtmlFlow(events) {\n var index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n var self = this\n var kind\n var startTag\n var buffer\n var index\n var marker\n return start\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.indexOf(buffer.toLowerCase()) > -1\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.indexOf(buffer.toLowerCase()) > -1) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting.\n\n return self.interrupt\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = undefined\n return completeAttributeValueUnquoted(code)\n }\n\n function completeAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return htmlContinueStart\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.indexOf(buffer.toLowerCase()) > -1) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n }\n\n return continuation(code)\n }\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(partialBlankLine, ok, nok)\n }\n}\n\nmodule.exports = htmlFlow\n","'use strict'\n\n// This module is copied from <https://spec.commonmark.org/0.29/#html-blocks>.\nvar basics = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'source',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\nmodule.exports = basics\n","'use strict'\n\n// This module is copied from <https://spec.commonmark.org/0.29/#html-blocks>.\nvar raws = ['pre', 'script', 'style', 'textarea']\n\nmodule.exports = raws\n","'use strict'\n\nvar asciiAlpha = require('../character/ascii-alpha.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nvar htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n var self = this\n var marker\n var buffer\n var index\n var returnState\n return start\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n }\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = htmlText\n","'use strict'\n\nvar labelEnd = require('./label-end.js')\n\nvar labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs\n ? /* c8 ignore next */\n nok(code)\n : ok(code)\n }\n}\n\nmodule.exports = labelStartImage\n","'use strict'\n\nvar labelEnd = require('./label-end.js')\n\nvar labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs\n ? /* c8 ignore next */\n nok(code)\n : ok(code)\n }\n}\n\nmodule.exports = labelStartLink\n","'use strict'\n\nvar factorySpace = require('./factory-space.js')\n\nvar lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n\nmodule.exports = lineEnding\n","'use strict'\n\nvar asciiDigit = require('../character/ascii-digit.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar sizeChunks = require('../util/size-chunks.js')\nvar factorySpace = require('./factory-space.js')\nvar partialBlankLine = require('./partial-blank-line.js')\nvar thematicBreak = require('./thematic-break.js')\n\nvar list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\nvar listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\nvar indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n\nfunction tokenizeListStart(effects, ok, nok) {\n var self = this\n var initialSize = prefixSize(self.events, 'linePrefix')\n var size = 0\n return start\n\n function start(code) {\n var kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n partialBlankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize + sizeChunks(self.sliceStream(effects.exit('listItemPrefix')))\n return ok(code)\n }\n}\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n var self = this\n self.containerState._closeFlow = undefined\n return effects.check(partialBlankLine, onBlank, notBlank)\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )(code)\n }\n}\n\nfunction tokenizeIndent(effects, ok, nok) {\n var self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n\n function afterPrefix(code) {\n return prefixSize(self.events, 'listItemIndent') ===\n self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n var self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4 + 1\n )\n\n function afterPrefix(code) {\n return markdownSpace(code) ||\n !prefixSize(self.events, 'listItemPrefixWhitespace')\n ? nok(code)\n : ok(code)\n }\n}\n\nmodule.exports = list\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar shallow = require('../util/shallow.js')\nvar factorySpace = require('./factory-space.js')\n\nvar setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n\nfunction resolveToSetextUnderline(events, context) {\n var index = events.length\n var content\n var text\n var definition\n var heading // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n heading = {\n type: 'setextHeading',\n start: shallow(events[text][1].start),\n end: shallow(events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = shallow(events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n var self = this\n var index = self.events.length\n var marker\n var paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n\n function start(code) {\n if (!self.lazy && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = setextUnderline\n","'use strict'\n\nvar search = /[\\0\\t\\n\\r]/g\n\nfunction preprocess() {\n var start = true\n var column = 1\n var buffer = ''\n var atCarriageReturn\n return preprocessor\n\n function preprocessor(value, encoding, end) {\n var chunks = []\n var match\n var next\n var startPosition\n var endPosition\n var code\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition = match ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n if (code === 0) {\n chunks.push(65533)\n column++\n } else if (code === 9) {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n } else if (code === 10) {\n chunks.push(-4)\n column = 1\n } // Must be carriage return.\n else {\n atCarriageReturn = true\n column = 1\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n\nmodule.exports = preprocess\n","'use strict'\n\nvar subtokenize = require('./util/subtokenize.js')\n\nfunction postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n\nmodule.exports = postprocess\n","'use strict'\n\nvar mdast2hast = require('mdast-util-to-hast')\n\nmodule.exports = remark2rehype\n\n// Attacher.\n// If a destination is given, runs the destination with the new hast tree\n// (bridge mode).\n// Without destination, returns the tree: further plugins run on that tree\n// (mutate mode).\nfunction remark2rehype(destination, options) {\n if (destination && !destination.process) {\n options = destination\n destination = null\n }\n\n return destination ? bridge(destination, options) : mutate(options)\n}\n\n// Bridge mode.\n// Runs the destination with the new hast tree.\nfunction bridge(destination, options) {\n return transformer\n\n function transformer(node, file, next) {\n destination.run(mdast2hast(node, options), file, done)\n\n function done(error) {\n next(error)\n }\n }\n}\n\n// Mutate-mode.\n// Further transformers run on the hast tree.\nfunction mutate(options) {\n return transformer\n\n function transformer(node) {\n return mdast2hast(node, options)\n }\n}\n","'use strict'\nmodule.exports = require('./lib')\n","'use strict'\n\nmodule.exports = toHast\n\nvar u = require('unist-builder')\nvar visit = require('unist-util-visit')\nvar position = require('unist-util-position')\nvar generated = require('unist-util-generated')\nvar definitions = require('mdast-util-definitions')\nvar one = require('./one')\nvar footer = require('./footer')\nvar handlers = require('./handlers')\n\nvar own = {}.hasOwnProperty\n\nvar deprecationWarningIssued = false\n\n// Factory to transform.\nfunction factory(tree, options) {\n var settings = options || {}\n\n // Issue a warning if the deprecated tag 'allowDangerousHTML' is used\n if (settings.allowDangerousHTML !== undefined && !deprecationWarningIssued) {\n deprecationWarningIssued = true\n console.warn(\n 'mdast-util-to-hast: deprecation: `allowDangerousHTML` is nonstandard, use `allowDangerousHtml` instead'\n )\n }\n\n var dangerous = settings.allowDangerousHtml || settings.allowDangerousHTML\n var footnoteById = {}\n\n h.dangerous = dangerous\n h.definition = definitions(tree)\n h.footnoteById = footnoteById\n h.footnoteOrder = []\n h.augment = augment\n h.handlers = Object.assign({}, handlers, settings.handlers)\n h.unknownHandler = settings.unknownHandler\n h.passThrough = settings.passThrough\n\n visit(tree, 'footnoteDefinition', onfootnotedefinition)\n\n return h\n\n // Finalise the created `right`, a hast node, from `left`, an mdast node.\n function augment(left, right) {\n var data\n var ctx\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && left.data) {\n data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = Object.assign({}, right.properties, data.hProperties)\n }\n\n if (right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n ctx = left && left.position ? left : {position: left}\n\n if (!generated(ctx)) {\n right.position = {\n start: position.start(ctx),\n end: position.end(ctx)\n }\n }\n\n return right\n }\n\n // Create an element for `node`.\n function h(node, tagName, props, children) {\n if (\n (children === undefined || children === null) &&\n typeof props === 'object' &&\n 'length' in props\n ) {\n children = props\n props = {}\n }\n\n return augment(node, {\n type: 'element',\n tagName: tagName,\n properties: props || {},\n children: children || []\n })\n }\n\n function onfootnotedefinition(definition) {\n var id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n }\n}\n\n// Transform `tree`, which is an mdast node, to a hast node.\nfunction toHast(tree, options) {\n var h = factory(tree, options)\n var node = one(h, tree)\n var foot = footer(h)\n\n if (foot) {\n node.children = node.children.concat(u('text', '\\n'), foot)\n }\n\n return node\n}\n","'use strict'\n\nmodule.exports = visitParents\n\nvar convert = require('unist-util-is/convert')\nvar color = require('./color')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n var step\n var is\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n is = convert(test)\n step = reverse ? -1 : 1\n\n factory(tree, null, [])()\n\n function factory(node, index, parents) {\n var value = typeof node === 'object' && node !== null ? node : {}\n var name\n\n if (typeof value.type === 'string') {\n name =\n typeof value.tagName === 'string'\n ? value.tagName\n : typeof value.name === 'string'\n ? value.name\n : undefined\n\n visit.displayName =\n 'node (' + color(value.type + (name ? '<' + name + '>' : '')) + ')'\n }\n\n return visit\n\n function visit() {\n var grandparents = parents.concat(node)\n var result = []\n var subresult\n var offset\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n offset = (reverse ? node.children.length : -1) + step\n\n while (offset > -1 && offset < node.children.length) {\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (test == null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return 'length' in test ? anyFactory(test) : allFactory(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction allFactory(test) {\n return all\n\n function all(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) return false\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = []\n var index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return any\n\n function any() {\n var index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","module.exports = identity\nfunction identity(d) {\n return d\n}\n","'use strict'\n\nmodule.exports = generated\n\nfunction generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","'use strict'\n\nvar visit = require('unist-util-visit')\n\nmodule.exports = getDefinitionFactory\n\nvar own = {}.hasOwnProperty\n\n// Get a definition in `node` by `identifier`.\nfunction getDefinitionFactory(node, options) {\n return getterFactory(gather(node, options))\n}\n\n// Gather all definitions in `node`\nfunction gather(node) {\n var cache = {}\n\n if (!node || !node.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(node, 'definition', ondefinition)\n\n return cache\n\n function ondefinition(definition) {\n var id = normalise(definition.identifier)\n if (!own.call(cache, id)) {\n cache[id] = definition\n }\n }\n}\n\n// Factory to get a node from the given definition-cache.\nfunction getterFactory(cache) {\n return getter\n\n // Get a node from the bound definition-cache.\n function getter(identifier) {\n var id = identifier && normalise(identifier)\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\nfunction normalise(identifier) {\n return identifier.toUpperCase()\n}\n","'use strict'\n\nmodule.exports = generateFootnotes\n\nvar thematicBreak = require('./handlers/thematic-break')\nvar list = require('./handlers/list')\nvar wrap = require('./wrap')\n\nfunction generateFootnotes(h) {\n var footnoteById = h.footnoteById\n var footnoteOrder = h.footnoteOrder\n var length = footnoteOrder.length\n var index = -1\n var listItems = []\n var def\n var backReference\n var content\n var tail\n\n while (++index < length) {\n def = footnoteById[footnoteOrder[index].toUpperCase()]\n\n if (!def) {\n continue\n }\n\n content = def.children.concat()\n tail = content[content.length - 1]\n backReference = {\n type: 'link',\n url: '#fnref-' + def.identifier,\n data: {hProperties: {className: ['footnote-backref']}},\n children: [{type: 'text', value: '↩'}]\n }\n\n if (!tail || tail.type !== 'paragraph') {\n tail = {type: 'paragraph', children: []}\n content.push(tail)\n }\n\n tail.children.push(backReference)\n\n listItems.push({\n type: 'listItem',\n data: {hProperties: {id: 'fn-' + def.identifier}},\n children: content,\n position: def.position\n })\n }\n\n if (listItems.length === 0) {\n return null\n }\n\n return h(\n null,\n 'div',\n {className: ['footnotes']},\n wrap(\n [\n thematicBreak(h),\n list(h, {type: 'list', ordered: true, children: listItems})\n ],\n true\n )\n )\n}\n","'use strict'\n\nmodule.exports = {\n blockquote: require('./blockquote'),\n break: require('./break'),\n code: require('./code'),\n delete: require('./delete'),\n emphasis: require('./emphasis'),\n footnoteReference: require('./footnote-reference'),\n footnote: require('./footnote'),\n heading: require('./heading'),\n html: require('./html'),\n imageReference: require('./image-reference'),\n image: require('./image'),\n inlineCode: require('./inline-code'),\n linkReference: require('./link-reference'),\n link: require('./link'),\n listItem: require('./list-item'),\n list: require('./list'),\n paragraph: require('./paragraph'),\n root: require('./root'),\n strong: require('./strong'),\n table: require('./table'),\n text: require('./text'),\n thematicBreak: require('./thematic-break'),\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return null\n}\n","'use strict'\n\nmodule.exports = blockquote\n\nvar wrap = require('../wrap')\nvar all = require('../all')\n\nfunction blockquote(h, node) {\n return h(node, 'blockquote', wrap(all(h, node), true))\n}\n","'use strict'\n\nmodule.exports = hardBreak\n\nvar u = require('unist-builder')\n\nfunction hardBreak(h, node) {\n return [h(node, 'br'), u('text', '\\n')]\n}\n","'use strict'\n\nmodule.exports = code\n\nvar u = require('unist-builder')\n\nfunction code(h, node) {\n var value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n var lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/)\n var props = {}\n var code\n\n if (lang) {\n props.className = ['language-' + lang]\n }\n\n code = h(node, 'code', props, [u('text', value)])\n\n if (node.meta) {\n code.data = {meta: node.meta}\n }\n\n return h(node.position, 'pre', [code])\n}\n","'use strict'\n\nmodule.exports = strikethrough\n\nvar all = require('../all')\n\nfunction strikethrough(h, node) {\n return h(node, 'del', all(h, node))\n}\n","'use strict'\n\nmodule.exports = emphasis\n\nvar all = require('../all')\n\nfunction emphasis(h, node) {\n return h(node, 'em', all(h, node))\n}\n","'use strict'\n\nmodule.exports = footnote\n\nvar footnoteReference = require('./footnote-reference')\n\nfunction footnote(h, node) {\n var footnoteById = h.footnoteById\n var footnoteOrder = h.footnoteOrder\n var identifier = 1\n\n while (identifier in footnoteById) {\n identifier++\n }\n\n identifier = String(identifier)\n\n // No need to check if `identifier` exists in `footnoteOrder`, it’s guaranteed\n // to not exist because we just generated it.\n footnoteOrder.push(identifier)\n\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier: identifier,\n children: [{type: 'paragraph', children: node.children}],\n position: node.position\n }\n\n return footnoteReference(h, {\n type: 'footnoteReference',\n identifier: identifier,\n position: node.position\n })\n}\n","'use strict'\n\nmodule.exports = heading\n\nvar all = require('../all')\n\nfunction heading(h, node) {\n return h(node, 'h' + node.depth, all(h, node))\n}\n","'use strict'\n\nmodule.exports = html\n\nvar u = require('unist-builder')\n\n// Return either a `raw` node in dangerous mode, otherwise nothing.\nfunction html(h, node) {\n return h.dangerous ? h.augment(node, u('raw', node.value)) : null\n}\n","'use strict'\n\nmodule.exports = imageReference\n\nvar normalize = require('mdurl/encode')\nvar revert = require('../revert')\n\nfunction imageReference(h, node) {\n var def = h.definition(node.identifier)\n var props\n\n if (!def) {\n return revert(h, node)\n }\n\n props = {src: normalize(def.url || ''), alt: node.alt}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'img', props)\n}\n","'use strict'\n\nvar normalize = require('mdurl/encode')\n\nmodule.exports = image\n\nfunction image(h, node) {\n var props = {src: normalize(node.url), alt: node.alt}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'img', props)\n}\n","'use strict'\n\nmodule.exports = inlineCode\n\nvar u = require('unist-builder')\n\nfunction inlineCode(h, node) {\n var value = node.value.replace(/\\r?\\n|\\r/g, ' ')\n return h(node, 'code', [u('text', value)])\n}\n","'use strict'\n\nmodule.exports = linkReference\n\nvar normalize = require('mdurl/encode')\nvar revert = require('../revert')\nvar all = require('../all')\n\nfunction linkReference(h, node) {\n var def = h.definition(node.identifier)\n var props\n\n if (!def) {\n return revert(h, node)\n }\n\n props = {href: normalize(def.url || '')}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","'use strict'\n\nvar normalize = require('mdurl/encode')\nvar all = require('../all')\n\nmodule.exports = link\n\nfunction link(h, node) {\n var props = {href: normalize(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","'use strict'\n\nmodule.exports = listItem\n\nvar u = require('unist-builder')\nvar all = require('../all')\n\nfunction listItem(h, node, parent) {\n var result = all(h, node)\n var head = result[0]\n var loose = parent ? listLoose(parent) : listItemLoose(node)\n var props = {}\n var wrapped = []\n var length\n var index\n var child\n\n if (typeof node.checked === 'boolean') {\n if (!head || head.tagName !== 'p') {\n head = h(null, 'p', [])\n result.unshift(head)\n }\n\n if (head.children.length > 0) {\n head.children.unshift(u('text', ' '))\n }\n\n head.children.unshift(\n h(null, 'input', {\n type: 'checkbox',\n checked: node.checked,\n disabled: true\n })\n )\n\n // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n props.className = ['task-list-item']\n }\n\n length = result.length\n index = -1\n\n while (++index < length) {\n child = result[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (loose || index !== 0 || child.tagName !== 'p') {\n wrapped.push(u('text', '\\n'))\n }\n\n if (child.tagName === 'p' && !loose) {\n wrapped = wrapped.concat(child.children)\n } else {\n wrapped.push(child)\n }\n }\n\n // Add a final eol.\n if (length && (loose || child.tagName !== 'p')) {\n wrapped.push(u('text', '\\n'))\n }\n\n return h(node, 'li', props, wrapped)\n}\n\nfunction listLoose(node) {\n var loose = node.spread\n var children = node.children\n var length = children.length\n var index = -1\n\n while (!loose && ++index < length) {\n loose = listItemLoose(children[index])\n }\n\n return loose\n}\n\nfunction listItemLoose(node) {\n var spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n","'use strict'\n\nmodule.exports = paragraph\n\nvar all = require('../all')\n\nfunction paragraph(h, node) {\n return h(node, 'p', all(h, node))\n}\n","'use strict'\n\nmodule.exports = root\n\nvar u = require('unist-builder')\nvar wrap = require('../wrap')\nvar all = require('../all')\n\nfunction root(h, node) {\n return h.augment(node, u('root', wrap(all(h, node))))\n}\n","'use strict'\n\nmodule.exports = strong\n\nvar all = require('../all')\n\nfunction strong(h, node) {\n return h(node, 'strong', all(h, node))\n}\n","'use strict'\n\nmodule.exports = table\n\nvar position = require('unist-util-position')\nvar wrap = require('../wrap')\nvar all = require('../all')\n\nfunction table(h, node) {\n var rows = node.children\n var index = rows.length\n var align = node.align || []\n var alignLength = align.length\n var result = []\n var pos\n var row\n var out\n var name\n var cell\n\n while (index--) {\n row = rows[index].children\n name = index === 0 ? 'th' : 'td'\n pos = alignLength || row.length\n out = []\n\n while (pos--) {\n cell = row[pos]\n out[pos] = h(cell, name, {align: align[pos]}, cell ? all(h, cell) : [])\n }\n\n result[index] = h(rows[index], 'tr', wrap(out, true))\n }\n\n return h(\n node,\n 'table',\n wrap(\n [h(result[0].position, 'thead', wrap([result[0]], true))].concat(\n result[1]\n ? h(\n {\n start: position.start(result[1]),\n end: position.end(result[result.length - 1])\n },\n 'tbody',\n wrap(result.slice(1), true)\n )\n : []\n ),\n true\n )\n )\n}\n","'use strict'\n\nmodule.exports = text\n\nvar u = require('unist-builder')\n\nfunction text(h, node) {\n return h.augment(\n node,\n u('text', String(node.value).replace(/[ \\t]*(\\r?\\n|\\r)[ \\t]*/g, '$1'))\n )\n}\n","'use strict'\n\nvar merge = require('./lib/util/merge')\nvar xlink = require('./lib/xlink')\nvar xml = require('./lib/xml')\nvar xmlns = require('./lib/xmlns')\nvar aria = require('./lib/aria')\nvar html = require('./lib/html')\n\nmodule.exports = merge([xml, xlink, xmlns, aria, html])\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform')\n\nvar boolean = types.boolean\nvar overloadedBoolean = types.overloadedBoolean\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\nvar commaSeparated = types.commaSeparated\n\nmodule.exports = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: commaSeparated,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextMenu: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: commaSeparated,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","const visit = require('unist-util-visit')\n\nconst splice = [].splice\n\nmodule.exports = rehypeFilter\n\n/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n *\n * @callback AllowElement\n * @param {Element} element\n * @param {number} index\n * @param {Element|Root} parent\n * @returns {boolean}\n *\n * @typedef {Object} RehypeFilterOptions\n * @property {Array.<string>} [allowedElements]\n * @property {Array.<string>} [disallowedElements=[]]\n * @property {AllowElement} [allowElement]\n * @property {boolean} [unwrapDisallowed=false]\n */\n\n/**\n * @param {RehypeFilterOptions} options\n */\nfunction rehypeFilter(options) {\n if (options.allowedElements && options.disallowedElements) {\n throw new TypeError(\n 'Only one of `allowedElements` and `disallowedElements` should be defined'\n )\n }\n\n return options.allowedElements ||\n options.disallowedElements ||\n options.allowElement\n ? transform\n : undefined\n\n /**\n * @param {Root} tree\n */\n function transform(tree) {\n visit(tree, 'element', onelement)\n }\n\n /**\n * @param {Element} node\n * @param {number} index\n * @param {Element|Root} parent\n * @returns {number|void}\n */\n function onelement(node, index, parent) {\n /** @type {boolean} */\n let remove\n\n if (options.allowedElements) {\n remove = !options.allowedElements.includes(node.tagName)\n } else if (options.disallowedElements) {\n remove = options.disallowedElements.includes(node.tagName)\n }\n\n if (!remove && options.allowElement) {\n remove = !options.allowElement(node, index, parent)\n }\n\n if (remove) {\n /** @type {Array.<unknown>} */\n let parameters = [index, 1]\n\n if (options.unwrapDisallowed && node.children) {\n parameters = parameters.concat(node.children)\n }\n\n splice.apply(parent.children, parameters)\n return index\n }\n\n return undefined\n }\n}\n","const protocols = ['http', 'https', 'mailto', 'tel']\n\nmodule.exports = uriTransformer\n\n/**\n * @param {string} uri\n * @returns {string}\n */\nfunction uriTransformer(uri) {\n const url = (uri || '').trim()\n const first = url.charAt(0)\n\n if (first === '#' || first === '/') {\n return url\n }\n\n const colon = url.indexOf(':')\n if (colon === -1) {\n return url\n }\n\n let index = -1\n\n while (++index < protocols.length) {\n const protocol = protocols[index]\n\n if (\n colon === protocol.length &&\n url.slice(0, protocol.length).toLowerCase() === protocol\n ) {\n return url\n }\n }\n\n index = url.indexOf('?')\n if (index !== -1 && colon > index) {\n return url\n }\n\n index = url.indexOf('#')\n if (index !== -1 && colon > index) {\n return url\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)'\n}\n","'use strict'\n\nconst React = require('react')\nconst ReactIs = require('react-is')\n// @ts-ignore remove when typed\nconst svg = require('property-information/svg')\n// @ts-ignore remove when typed\nconst find = require('property-information/find')\n// @ts-ignore remove when typed\nconst hastToReact = require('property-information/hast-to-react.json')\n// @ts-ignore remove when typed\nconst spaces = require('space-separated-tokens')\n// @ts-ignore remove when typed\nconst commas = require('comma-separated-tokens')\nconst style = require('style-to-object')\n\nexports.hastToReact = toReact\nexports.hastChildrenToReact = childrenToReact\n\n/**\n * @typedef {JSX.IntrinsicElements} IntrinsicElements\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('unist').Position} Position\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n */\n\n/**\n * @typedef {Object} Info\n * @property {string?} space\n * @property {string?} attribute\n * @property {string?} property\n * @property {boolean} boolean\n * @property {boolean} booleanish\n * @property {boolean} overloadedBoolean\n * @property {boolean} number\n * @property {boolean} commaSeparated\n * @property {boolean} spaceSeparated\n * @property {boolean} commaOrSpaceSeparated\n * @property {boolean} mustUseProperty\n * @property {boolean} defined\n *\n * @typedef {Object} Schema\n * @property {Object.<string, Info>} property\n * @property {Object.<string, string>} normal\n * @property {string?} space\n *\n * @typedef {Object} Raw\n * @property {'raw'} type\n * @property {string} value\n *\n * @typedef {Object} Context\n * @property {TransformOptions} options\n * @property {Schema} schema\n * @property {number} listDepth\n *\n * @callback TransformLink\n * @param {string} href\n * @param {Array.<Comment|Element|Text>} children\n * @param {string?} title\n * @returns {string}\n *\n * @callback TransformImage\n * @param {string} src\n * @param {string} alt\n * @param {string?} title\n * @returns {string}\n *\n * @callback TransformLinkTarget\n * @param {string} href\n * @param {Array.<Comment|Element|Text>} children\n * @param {string?} title\n * @returns {string}\n *\n * @typedef {keyof IntrinsicElements} ReactMarkdownNames\n *\n * @typedef {{ [key: string]: unknown, className?: string }} ReactBaseProps\n *\n * To do: is `data-sourcepos` typeable?\n *\n * @typedef {Object} ReactMarkdownProps\n * @property {Element} node\n * @property {string} key\n * @property {ReactNode[]} children\n * @property {Position?} [sourcePosition] Passed when `options.rawSourcePos` is given\n * @property {number} [index] Passed when `options.includeElementIndex` is given\n * @property {number} [siblingCount] Passed when `options.includeElementIndex` is given\n *\n * @callback NormalComponent\n * @param {ReactBaseProps & ReactMarkdownProps} props\n * @returns {ReactNode}\n *\n * @callback CodeComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {inline?: boolean}} props\n * @returns {ReactNode}\n *\n * @callback HeadingComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {level: number}} props\n * @returns {ReactNode}\n *\n * @callback LiComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} props\n * @returns {ReactNode}\n *\n * @callback OrderedListComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {depth: number, ordered: true}} props\n * @returns {ReactNode}\n *\n * @callback TableCellComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {style?: Object.<string, unknown>, isHeader: boolean}} props\n * @returns {ReactNode}\n *\n * @callback TableRowComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {isHeader: boolean}} props\n * @returns {ReactNode}\n *\n * @callback UnorderedListComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {depth: number, ordered: false}} props\n * @returns {ReactNode}\n *\n * @typedef {Object} SpecialComponents\n * @property {CodeComponent|ReactMarkdownNames} code\n * @property {HeadingComponent|ReactMarkdownNames} h1\n * @property {HeadingComponent|ReactMarkdownNames} h2\n * @property {HeadingComponent|ReactMarkdownNames} h3\n * @property {HeadingComponent|ReactMarkdownNames} h4\n * @property {HeadingComponent|ReactMarkdownNames} h5\n * @property {HeadingComponent|ReactMarkdownNames} h6\n * @property {LiComponent|ReactMarkdownNames} li\n * @property {OrderedListComponent|ReactMarkdownNames} ol\n * @property {TableCellComponent|ReactMarkdownNames} td\n * @property {TableCellComponent|ReactMarkdownNames} th\n * @property {TableRowComponent|ReactMarkdownNames} tr\n * @property {UnorderedListComponent|ReactMarkdownNames} ul\n *\n * @typedef {Record<Exclude<ReactMarkdownNames, keyof SpecialComponents>, NormalComponent|ReactMarkdownNames>} NormalComponents\n * @typedef {Partial<NormalComponents & SpecialComponents>} Components\n */\n\n/**\n * @typedef {Object} TransformOptions\n * @property {boolean} [sourcePos=false]\n * @property {boolean} [rawSourcePos=false]\n * @property {boolean} [skipHtml=false]\n * @property {boolean} [includeElementIndex=false]\n * @property {false|TransformLink} [transformLinkUri]\n * @property {TransformImage} [transformImageUri]\n * @property {string|TransformLinkTarget} [linkTarget]\n * @property {Components} [components]\n */\n\nconst own = {}.hasOwnProperty\n\n// The table-related elements that must not contain whitespace text according\n// to React.\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * @param {Context} context\n * @param {Element|Root} node\n */\nfunction childrenToReact(context, node) {\n /** @type {Array.<ReactNode>} */\n const children = []\n let childIndex = -1\n /** @type {Comment|Doctype|Element|Raw|Text} */\n let child\n\n while (++childIndex < node.children.length) {\n child = node.children[childIndex]\n\n if (child.type === 'element') {\n children.push(toReact(context, child, childIndex, node))\n } else if (child.type === 'text') {\n // React does not permit whitespace text elements as children of table:\n // cf. https://github.com/remarkjs/react-markdown/issues/576\n if (\n node.type !== 'element' ||\n !tableElements.has(node.tagName) ||\n child.value !== '\\n'\n ) {\n children.push(child.value)\n }\n }\n // @ts-ignore `raw` nodes are non-standard\n else if (child.type === 'raw' && !context.options.skipHtml) {\n // Default behavior is to show (encoded) HTML.\n // @ts-ignore `raw` nodes are non-standard\n children.push(child.value)\n }\n }\n\n return children\n}\n\n/**\n * @param {Context} context\n * @param {Element} node\n * @param {number} index\n * @param {Element|Root} parent\n */\nfunction toReact(context, node, index, parent) {\n const options = context.options\n const parentSchema = context.schema\n /** @type {ReactMarkdownNames} */\n // @ts-ignore assume a known HTML/SVG element.\n const name = node.tagName\n /** @type {Object.<string, unknown>} */\n const properties = {}\n let schema = parentSchema\n /** @type {string} */\n let property\n\n if (parentSchema.space === 'html' && name === 'svg') {\n schema = svg\n context.schema = schema\n }\n\n for (property in node.properties) {\n /* istanbul ignore else - prototype polution. */\n if (own.call(node.properties, property)) {\n addProperty(properties, property, node.properties[property], context)\n }\n }\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth++\n }\n\n const children = childrenToReact(context, node)\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth--\n }\n\n // Restore parent schema.\n context.schema = parentSchema\n\n // Nodes created by plugins do not have positional info, in which case we use\n // an object that matches the positon interface.\n const position = node.position || {\n start: {line: null, column: null, offset: null},\n end: {line: null, column: null, offset: null}\n }\n /** @type {NormalComponent|SpecialComponents[keyof SpecialComponents]|ReactMarkdownNames} */\n const component =\n options.components && own.call(options.components, name)\n ? options.components[name]\n : name\n const basic = typeof component === 'string' || component === React.Fragment\n\n if (!ReactIs.isValidElementType(component)) {\n throw new TypeError(\n `Component for name \\`${name}\\` not defined or is not renderable`\n )\n }\n\n properties.key = [\n name,\n position.start.line,\n position.start.column,\n index\n ].join('-')\n\n if (name === 'a' && options.linkTarget) {\n properties.target =\n typeof options.linkTarget === 'function'\n ? // @ts-ignore assume `href` is a string\n options.linkTarget(properties.href, node.children, properties.title)\n : options.linkTarget\n }\n\n if (name === 'a' && options.transformLinkUri) {\n properties.href = options.transformLinkUri(\n // @ts-ignore assume `href` is a string\n properties.href,\n node.children,\n properties.title\n )\n }\n\n if (!basic && name === 'code' && parent.tagName !== 'pre') {\n properties.inline = true\n }\n\n if (\n !basic &&\n (name === 'h1' ||\n name === 'h2' ||\n name === 'h3' ||\n name === 'h4' ||\n name === 'h5' ||\n name === 'h6')\n ) {\n properties.level = parseInt(name.charAt(1), 10)\n }\n\n if (name === 'img' && options.transformImageUri) {\n properties.src = options.transformImageUri(\n // @ts-ignore assume `src` is a string\n properties.src,\n properties.alt,\n properties.title\n )\n }\n\n if (!basic && name === 'li') {\n const input = getInputElement(node)\n properties.checked = input ? Boolean(input.properties.checked) : null\n properties.index = getElementsBeforeCount(parent, node)\n properties.ordered = parent.tagName === 'ol'\n }\n\n if (!basic && (name === 'ol' || name === 'ul')) {\n properties.ordered = name === 'ol'\n properties.depth = context.listDepth\n }\n\n if (name === 'td' || name === 'th') {\n if (properties.align) {\n if (!properties.style) properties.style = {}\n // @ts-ignore assume `style` is an object\n properties.style.textAlign = properties.align\n delete properties.align\n }\n\n if (!basic) {\n properties.isHeader = name === 'th'\n }\n }\n\n if (!basic && name === 'tr') {\n properties.isHeader = Boolean(parent.tagName === 'thead')\n }\n\n // If `sourcePos` is given, pass source information (line/column info from markdown source).\n if (options.sourcePos) {\n properties['data-sourcepos'] = flattenPosition(position)\n }\n\n if (!basic && options.rawSourcePos) {\n properties.sourcePosition = node.position\n }\n\n // If `includeElementIndex` is given, pass node index info to components.\n if (!basic && options.includeElementIndex) {\n properties.index = getElementsBeforeCount(parent, node)\n properties.siblingCount = getElementsBeforeCount(parent)\n }\n\n if (!basic) {\n properties.node = node\n }\n\n // Ensure no React warnings are emitted for void elements w/ children.\n return children.length > 0\n ? React.createElement(component, properties, children)\n : React.createElement(component, properties)\n}\n\n/**\n * @param {Element|Root} node\n * @returns {Element?}\n */\nfunction getInputElement(node) {\n let index = -1\n\n while (++index < node.children.length) {\n const child = node.children[index]\n\n if (child.type === 'element' && child.tagName === 'input') {\n return child\n }\n }\n\n return null\n}\n\n/**\n * @param {Element|Root} parent\n * @param {Element} [node]\n * @returns {number}\n */\nfunction getElementsBeforeCount(parent, node) {\n let index = -1\n let count = 0\n\n while (++index < parent.children.length) {\n if (parent.children[index] === node) break\n if (parent.children[index].type === 'element') count++\n }\n\n return count\n}\n\n/**\n * @param {Object.<string, unknown>} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n */\nfunction addProperty(props, prop, value, ctx) {\n /** @type {Info} */\n const info = find(ctx.schema, prop)\n let result = value\n\n // Ignore nullish and `NaN` values.\n // eslint-disable-next-line no-self-compare\n if (result === null || result === undefined || result !== result) {\n return\n }\n\n // Accept `array`.\n // Most props are space-separated.\n if (result && typeof result === 'object' && 'length' in result) {\n // type-coverage:ignore-next-line remove when typed.\n result = (info.commaSeparated ? commas : spaces).stringify(result)\n }\n\n if (info.property === 'style' && typeof result === 'string') {\n result = parseStyle(result)\n }\n\n if (info.space) {\n props[\n own.call(hastToReact, info.property)\n ? hastToReact[info.property]\n : info.property\n ] = result\n } else {\n props[info.attribute] = result\n }\n}\n\n/**\n * @param {string} value\n * @returns {Object.<string, string>}\n */\nfunction parseStyle(value) {\n /** @type {Object.<string, string>} */\n const result = {}\n\n try {\n style(value, iterator)\n } catch (/** @type {Error} */ _) {\n // Silent.\n }\n\n return result\n\n /**\n * @param {string} name\n * @param {string} v\n */\n function iterator(name, v) {\n const k = name.slice(0, 4) === '-ms-' ? `ms-${name.slice(4)}` : name\n result[k.replace(/-([a-z])/g, styleReplacer)] = v\n }\n}\n\n/**\n * @param {unknown} _\n * @param {string} $1\n */\nfunction styleReplacer(_, $1) {\n return $1.toUpperCase()\n}\n\n/**\n * @param {Position} pos\n * @returns {string}\n */\nfunction flattenPosition(pos) {\n return [\n pos.start.line,\n ':',\n pos.start.column,\n '-',\n pos.end.line,\n ':',\n pos.end.column\n ]\n .map((d) => String(d))\n .join('')\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","/** @license React v17.0.2\n * react-is.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'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict'\n\nvar merge = require('./lib/util/merge')\nvar xlink = require('./lib/xlink')\nvar xml = require('./lib/xml')\nvar xmlns = require('./lib/xmlns')\nvar aria = require('./lib/aria')\nvar svg = require('./lib/svg')\n\nmodule.exports = merge([xml, xlink, xmlns, aria, svg])\n","'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\nvar caseSensitiveTransform = require('./util/case-sensitive-transform')\n\nvar boolean = types.boolean\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\nvar commaSeparated = types.commaSeparated\nvar commaOrSpaceSeparated = types.commaOrSpaceSeparated\n\nmodule.exports = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","'use strict'\n\nvar normalize = require('./normalize')\nvar DefinedInfo = require('./lib/util/defined-info')\nvar Info = require('./lib/util/info')\n\nvar data = 'data'\n\nmodule.exports = find\n\nvar valid = /^data[-\\w.:]+$/i\nvar dash = /-[a-z]/g\nvar cap = /[A-Z]/g\n\nfunction find(schema, value) {\n var normal = normalize(value)\n var prop = value\n var Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === data && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n prop = datasetToProperty(value)\n } else {\n value = datasetToAttribute(value)\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\nfunction datasetToProperty(attribute) {\n var value = attribute.slice(5).replace(dash, camelcase)\n return data + value.charAt(0).toUpperCase() + value.slice(1)\n}\n\nfunction datasetToAttribute(property) {\n var value = property.slice(4)\n\n if (dash.test(value)) {\n return property\n }\n\n value = value.replace(cap, kebab)\n\n if (value.charAt(0) !== '-') {\n value = '-' + value\n }\n\n return data + value\n}\n\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar empty = ''\nvar space = ' '\nvar whiteSpace = /[ \\t\\n\\r\\f]+/g\n\nfunction parse(value) {\n var input = String(value || empty).trim()\n return input === empty ? [] : input.split(whiteSpace)\n}\n\nfunction stringify(values) {\n return values.join(space).trim()\n}\n","'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar comma = ','\nvar space = ' '\nvar empty = ''\n\n// Parse comma-separated tokens to an array.\nfunction parse(value) {\n var values = []\n var input = String(value || empty)\n var index = input.indexOf(comma)\n var lastIndex = 0\n var end = false\n var val\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n val = input.slice(lastIndex, index).trim()\n\n if (val || !end) {\n values.push(val)\n }\n\n lastIndex = index + 1\n index = input.indexOf(comma, lastIndex)\n }\n\n return values\n}\n\n// Compile an array to comma-separated tokens.\n// `options.padLeft` (default: `true`) pads a space left of each token, and\n// `options.padRight` (default: `false`) pads a space to the right of each token.\nfunction stringify(values, options) {\n var settings = options || {}\n var left = settings.padLeft === false ? empty : space\n var right = settings.padRight ? space : empty\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === empty) {\n values = values.concat(empty)\n }\n\n return values.join(right + comma + left).trim()\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createChainableTypeChecker;\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n// Mostly taken from ReactPropTypes.\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<<anonymous>>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\n }\n\n return null;\n }\n\n for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n args[_key - 6] = arguments[_key];\n }\n\n return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isRequiredForA11y;\nfunction isRequiredForA11y(validator) {\n return function validate(props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<<anonymous>>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');\n }\n\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n args[_key - 5] = arguments[_key];\n }\n\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\n };\n}\nmodule.exports = exports['default'];","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var allValues = ['action-required', 'actionRequired', 'add', 'add-column-left', 'add-column-right', 'add-logic', 'add-row-above', 'add-row-below', 'addColumnLeft', 'addColumnRight', 'addLogic', 'addRowAbove', 'addRowBelow', 'alert', 'alert-triangle', 'alertTriangle', 'align-bottom', 'align-left', 'align-right', 'align-top', 'alignBottom', 'alignLeft', 'alignRight', 'alignTop', 'approve', 'arrow-down', 'arrow-left', 'arrow-right', 'arrow-up', 'arrow-up-left', 'arrowDown', 'arrowLeft', 'arrowRight', 'arrowUp', 'arrowUpLeft', 'at', 'attachment', 'authentication', 'auto-fill', 'autoFill', 'award', 'bell', 'block', 'bold', 'book', 'boolean', 'box-plus-above', 'box-plus-after', 'box-plus-before', 'box-plus-below', 'boxPlusAbove', 'boxPlusAfter', 'boxPlusBefore', 'boxPlusBelow', 'bulk-send', 'bulkSend', 'bulleted-list', 'bulletedList', 'calendar', 'camera', 'caret-down', 'caret-large-down', 'caret-large-left', 'caret-large-right', 'caret-large-up', 'caret-left', 'caret-right', 'caret-up', 'caret-xlarge-down', 'caret-xlarge-left', 'caret-xlarge-right', 'caret-xlarge-up', 'caretDown', 'caretLargeDown', 'caretLargeLeft', 'caretLargeRight', 'caretLargeUp', 'caretLeft', 'caretRight', 'caretUp', 'caretXlargeDown', 'caretXlargeLeft', 'caretXlargeRight', 'caretXlargeUp', 'certificate', 'chat', 'check', 'checkbox', 'checkmark', 'chevron-down', 'chevron-left', 'chevron-right', 'chevron-up', 'chevronDown', 'chevronLeft', 'chevronRight', 'chevronUp', 'circle-check', 'circle-status', 'circle-status-closed', 'circle-x', 'circleCheck', 'circleStatus', 'circleStatusClosed', 'circleX', 'clipboard', 'clock', 'close', 'close-small', 'close-xlarge', 'closeSmall', 'closeXlarge', 'cloud-upload', 'cloudUpload', 'cluster', 'code-bracket', 'codeBracket', 'collapse', 'collapse-section', 'collapseSection', 'color-filter', 'colorFilter', 'colorpicker', 'column', 'comment', 'comment-add', 'comment-pencil', 'commentAdd', 'commentPencil', 'commission-county', 'commission-number', 'commissionCounty', 'commissionNumber', 'company', 'completed', 'computer', 'contacts', 'copy', 'courthouse', 'credit-card', 'creditCard', 'crop', 'data-read', 'data-read-write', 'dataRead', 'dataReadWrite', 'database', 'date', 'decline', 'desktop', 'desktop-share', 'desktopShare', 'detail-view', 'detailView', 'document', 'documents', 'download', 'draft', 'dropdown', 'duplicate', 'edit', 'email', 'enter', 'envelope', 'expanded-list', 'expandedList', 'expression', 'external-link', 'externalLink', 'eye', 'eye-slash', 'eyeSlash', 'field', 'field-merge', 'fieldMerge', 'fields-custom', 'fields-merge', 'fields-standard', 'fieldsCustom', 'fieldsMerge', 'fieldsStandard', 'filter', 'flag', 'flash', 'flash-off', 'flashOff', 'focus-button', 'focusButton', 'folder', 'folder-open', 'folderOpen', 'follower-database', 'followerDatabase', 'formula', 'function', 'function-folder', 'functionFolder', 'gear', 'globe', 'globe-language', 'globeLanguage', 'grid-view', 'gridView', 'gripper-bar', 'gripper-corner', 'gripper-rectangle', 'gripper-rectangle-horizontal', 'gripperBar', 'gripperCorner', 'gripperRectangle', 'gripperRectangleHorizontal', 'hanko', 'hash', 'help', 'hide', 'highlighter', 'home', 'id-badge', 'id-card', 'idBadge', 'idCard', 'identity-verification', 'identityVerification', 'image', 'inbox', 'indicator-current', 'indicator-incomplete', 'indicatorCurrent', 'indicatorIncomplete', 'info', 'initials', 'insert', 'italic', 'italics', 'keyboard', 'language', 'line', 'line-height', 'lineHeight', 'link', 'list', 'location', 'location-pin', 'locationPin', 'lock', 'logic', 'mail', 'menu', 'menu-hamburger', 'menu-overflow-horizontal', 'menu-overflow-vertical', 'menu-triangle-down', 'menu-triangle-left', 'menu-triangle-right', 'menu-triangle-up', 'menu-waffle', 'menuHamburger', 'menuOverflowHorizontal', 'menuOverflowVertical', 'menuTriangleDown', 'menuTriangleLeft', 'menuTriangleRight', 'menuTriangleUp', 'menuWaffle', 'merge-cell', 'merge-fields-dynamic', 'mergeCell', 'mergeFieldsDynamic', 'messages', 'microphone', 'microphone-off', 'microphoneOff', 'minus', 'mobile-phone', 'mobilePhone', 'move-cursor', 'moveCursor', 'multi-arrow', 'multiArrow', 'name', 'name-first', 'name-last', 'nameFirst', 'nameLast', 'notary', 'note', 'notification', 'number', 'number-list', 'numberList', 'numbered-list', 'numberedList', 'overflow-horizontal', 'overflow-vertical', 'overflowHorizontal', 'overflowVertical', 'page-break', 'pageBreak', 'paint-bucket', 'paint-roller', 'paintBucket', 'paintRoller', 'palette', 'paperclip', 'paste', 'payment', 'pebble-check', 'pebble-error', 'pebble-info', 'pebble-question', 'pebble-warning', 'pebbleCheck', 'pebbleError', 'pebbleInfo', 'pebbleQuestion', 'pebbleWarning', 'pencil', 'people', 'percent', 'person', 'phone', 'phone-mobile', 'phoneMobile', 'play', 'plus', 'powerform', 'print', 'printer', 'radar', 'radio', 'read-data', 'read-write-data', 'readData', 'readWriteData', 'receives-copy', 'receivesCopy', 'recipient-add', 'recipient-update', 'recipientAdd', 'recipientUpdate', 'redo', 'refresh', 'reports', 'rotate-left', 'rotate-right', 'rotateLeft', 'rotateRight', 'scan', 'seal-notary', 'sealNotary', 'search', 'select-signature-type', 'selectSignatureType', 'send', 'sent', 'settings', 'share-android', 'share-ios', 'share-web', 'shareAndroid', 'shareIos', 'shareWeb', 'shared', 'shield', 'shield-cfr-part11', 'shieldCfrPart11', 'sign', 'sign-in-person', 'sign-with-witness', 'signInPerson', 'signWithWitness', 'signature', 'smart-clause', 'smart-sections', 'smart-tag', 'smartClause', 'smartSections', 'smartTag', 'sort', 'speedometer', 'squiggle', 'stamp', 'star', 'star-filled', 'starFilled', 'state', 'stop', 'strikethrough', 'suggest', 'suggested', 'support', 'support-contact', 'supportContact', 'sync', 'table', 'table-alt', 'table-folder', 'tableAlt', 'tableFolder', 'tablet', 'tag', 'template-view', 'templateView', 'templates', 'text', 'text-align-center', 'text-align-left', 'text-align-right', 'text-center', 'text-color', 'text-indent-left', 'text-indent-right', 'text-justify', 'text-justify-center', 'text-left', 'text-right', 'textAlignCenter', 'textAlignLeft', 'textAlignRight', 'textCenter', 'textColor', 'textIndentLeft', 'textIndentRight', 'textJustify', 'textJustifyCenter', 'textLeft', 'textRight', 'thumbnails', 'thumbs-down', 'thumbs-up', 'thumbsDown', 'thumbsUp', 'title', 'trash', 'trust-center', 'trustCenter', 'type-image', 'typeImage', 'underline', 'undo', 'unlock', 'upload', 'upload-cloud', 'upload-list', 'uploadCloud', 'uploadList', 'user', 'video-camera', 'video-camera-off', 'videoCamera', 'videoCameraOff', 'view', 'voided', 'waffle', 'waiting-for-others', 'waitingForOthers', 'wallet', 'workflow', 'wrench', 'zoom-in', 'zoom-out', 'zoomIn', 'zoomOut'];\nexport default allValues;","/*\n These functions can be used to log errors, warnings and info to the console\n*/\n\n/* eslint-disable no-console */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst previousWarnings: Set<any> = new Set()\nconst previousErrors: Set<any> = new Set()\nconst previousInfos: Set<any> = new Set()\n\n/**\n * @param args console.warn args\n */\nexport const logWarn = (...args: any[]) => {\n console.warn(...args)\n}\n\n/**\n * Uses the FIRST argument to determine if previously logged\n *\n * @param args console.warn args\n */\nexport const logWarnOnce = (...args: any[]) => {\n if (!isEmpty(args) && !previousWarnings.has(args[0])) {\n logWarn(...args)\n previousWarnings.add(args[0])\n }\n}\n\n/**\n * @param args console.info args\n */\nexport const logInfo = (...args: any[]) => {\n console.info(...args)\n}\n\n/**\n * Uses the FIRST argument to determine if previously logged\n *\n * @param args console.info args\n */\nexport const logInfoOnce = (...args: any[]) => {\n if (!isEmpty(args) && !previousInfos.has(args[0])) {\n logInfo(...args)\n previousInfos.add(args[0])\n }\n}\n\n/**\n * @param args console.error args\n */\nexport const logError = (...args: any[]) => {\n console.error(...args)\n}\n\n/**\n * Uses the FIRST argument to determine if previously logged\n *\n * @param args console.error args\n */\nexport const logErrorOnce = (...args: any[]) => {\n if (!isEmpty(args) && !previousErrors.has(args[0])) {\n logError(...args)\n previousErrors.add(args[0])\n }\n}\n\n/** reset knowledge of previous warnings */\nexport const resetWarn = () => {\n previousWarnings.clear()\n}\n\n/** reset knowledge of previous errors */\nexport const resetError = () => {\n previousErrors.clear()\n}\n\n/** reset knowledge of previous infos */\nexport const resetInfo = () => {\n previousInfos.clear()\n}\n\nfunction isEmpty(list?: any[]) {\n return !(list && list.length > 0)\n}\n","import consoleWarn from './consoleWarn'\n\ninterface MessageParts {\n component: string\n prop: string\n newProp: string\n}\n\nconst deprecatedPropMessage = ({ component, prop, newProp }: MessageParts) =>\n consoleWarn(\n `${component} - The '${prop}' has been deprecated and will be removed in a future release. Use the prop '${newProp}' instead.`\n )\n\nexport default deprecatedPropMessage\n","export var systemIconValues = ['action-required', 'actionRequired', 'add', 'add-column-left', 'add-column-right', 'add-logic', 'add-row-above', 'add-row-below', 'addColumnLeft', 'addColumnRight', 'addLogic', 'addRowAbove', 'addRowBelow', 'alert', 'alert-triangle', 'alertTriangle', 'align-bottom', 'align-left', 'align-right', 'align-top', 'alignBottom', 'alignLeft', 'alignRight', 'alignTop', 'approve', 'arrow-down', 'arrow-left', 'arrow-right', 'arrow-up', 'arrow-up-left', 'arrowDown', 'arrowLeft', 'arrowRight', 'arrowUp', 'arrowUpLeft', 'at', 'attachment', 'authentication', 'auto-fill', 'autoFill', 'award', 'bell', 'block', 'bold', 'book', 'boolean', 'box-plus-above', 'box-plus-after', 'box-plus-before', 'box-plus-below', 'boxPlusAbove', 'boxPlusAfter', 'boxPlusBefore', 'boxPlusBelow', 'browser-stack', 'browserStack', 'bulk-send', 'bulkSend', 'bulleted-list', 'bulletedList', 'calendar', 'camera', 'caret-down', 'caret-large-down', 'caret-large-left', 'caret-large-right', 'caret-large-up', 'caret-left', 'caret-right', 'caret-up', 'caret-xlarge-down', 'caret-xlarge-left', 'caret-xlarge-right', 'caret-xlarge-up', 'caretDown', 'caretLargeDown', 'caretLargeLeft', 'caretLargeRight', 'caretLargeUp', 'caretLeft', 'caretRight', 'caretUp', 'caretXlargeDown', 'caretXlargeLeft', 'caretXlargeRight', 'caretXlargeUp', 'certificate', 'chat', 'check', 'checkbox', 'checkmark', 'chevron-down', 'chevron-left', 'chevron-right', 'chevron-up', 'chevronDown', 'chevronLeft', 'chevronRight', 'chevronUp', 'circle-check', 'circle-status', 'circle-status-closed', 'circle-x', 'circleCheck', 'circleStatus', 'circleStatusClosed', 'circleX', 'clipboard', 'clock', 'close', 'close-small', 'close-xlarge', 'closeSmall', 'closeXlarge', 'cloud-upload', 'cloudUpload', 'cluster', 'code-bracket', 'codeBracket', 'collapse', 'collapse-section', 'collapseSection', 'color-filter', 'colorFilter', 'colorpicker', 'column', 'comment', 'comment-add', 'comment-pencil', 'commentAdd', 'commentPencil', 'commission-county', 'commission-number', 'commissionCounty', 'commissionNumber', 'company', 'completed', 'computer', 'contacts', 'copy', 'courthouse', 'credit-card', 'creditCard', 'crop', 'currency', 'data-read', 'data-read-write', 'dataRead', 'dataReadWrite', 'database', 'date', 'decline', 'desktop', 'desktop-share', 'desktopShare', 'detail-view', 'detailView', 'document', 'document-stack', 'documentStack', 'documents', 'download', 'draft', 'dropdown', 'duplicate', 'edit', 'email', 'enter', 'envelope', 'expanded-list', 'expandedList', 'expression', 'external-link', 'externalLink', 'eye', 'eye-slash', 'eyeSlash', 'eyedropper', 'field', 'field-merge', 'fieldMerge', 'fields-custom', 'fields-merge', 'fields-standard', 'fieldsCustom', 'fieldsMerge', 'fieldsStandard', 'filter', 'flag', 'flash', 'flash-off', 'flashOff', 'focus-button', 'focusButton', 'folder', 'folder-open', 'folderOpen', 'follower-database', 'followerDatabase', 'formula', 'function', 'function-folder', 'functionFolder', 'gear', 'globe', 'globe-language', 'globeLanguage', 'grid-view', 'gridView', 'gripper-bar', 'gripper-corner', 'gripper-rectangle', 'gripper-rectangle-horizontal', 'gripperBar', 'gripperCorner', 'gripperRectangle', 'gripperRectangleHorizontal', 'hanko', 'hash', 'heading', 'heart-plus', 'heartPlus', 'help', 'hide', 'highlighter', 'home', 'id-badge', 'id-card', 'idBadge', 'idCard', 'identity-verification', 'identityVerification', 'image', 'inbox', 'indicator-current', 'indicator-incomplete', 'indicatorCurrent', 'indicatorIncomplete', 'info', 'initials', 'insert', 'italic', 'italics', 'keyboard', 'language', 'line', 'line-height', 'lineHeight', 'link', 'list', 'location', 'location-pin', 'locationPin', 'lock', 'logic', 'mail', 'menu', 'menu-hamburger', 'menu-overflow-horizontal', 'menu-overflow-vertical', 'menu-triangle-down', 'menu-triangle-left', 'menu-triangle-right', 'menu-triangle-up', 'menu-waffle', 'menuHamburger', 'menuOverflowHorizontal', 'menuOverflowVertical', 'menuTriangleDown', 'menuTriangleLeft', 'menuTriangleRight', 'menuTriangleUp', 'menuWaffle', 'merge-cell', 'merge-fields-dynamic', 'mergeCell', 'mergeFieldsDynamic', 'messages', 'microphone', 'microphone-off', 'microphoneOff', 'minus', 'mobile-phone', 'mobilePhone', 'move-cursor', 'moveCursor', 'multi-arrow', 'multiArrow', 'name', 'name-first', 'name-last', 'nameFirst', 'nameLast', 'notary', 'note', 'notification', 'number', 'number-list', 'numberList', 'numbered-list', 'numberedList', 'overflow-horizontal', 'overflow-vertical', 'overflowHorizontal', 'overflowVertical', 'page-break', 'pageBreak', 'paint-bucket', 'paint-roller', 'paintBucket', 'paintRoller', 'palette', 'paperclip', 'paste', 'payment', 'pebble-check', 'pebble-error', 'pebble-info', 'pebble-question', 'pebble-warning', 'pebbleCheck', 'pebbleError', 'pebbleInfo', 'pebbleQuestion', 'pebbleWarning', 'pencil', 'people', 'percent', 'person', 'person-plus', 'personPlus', 'phone', 'phone-mobile', 'phoneMobile', 'play', 'plus', 'powerform', 'print', 'printer', 'radar', 'radio', 'read-data', 'read-write-data', 'readData', 'readWriteData', 'receives-copy', 'receivesCopy', 'recipient-add', 'recipient-update', 'recipientAdd', 'recipientUpdate', 'redo', 'refresh', 'reports', 'rotate-left', 'rotate-right', 'rotateLeft', 'rotateRight', 'scan', 'seal-notary', 'sealNotary', 'search', 'select', 'select-signature-type', 'selectSignatureType', 'send', 'sent', 'settings', 'share-android', 'share-i-os', 'share-ios', 'share-web', 'shareAndroid', 'shareIos', 'shareWeb', 'share_iOS', 'shared', 'shield', 'shield-cfr-part11', 'shieldCfrPart11', 'sign', 'sign-in-person', 'sign-with-witness', 'signInPerson', 'signWithWitness', 'signature', 'smart-clause', 'smart-sections', 'smart-tag', 'smartClause', 'smartSections', 'smartTag', 'sort', 'speedometer', 'squiggle', 'stamp', 'star', 'star-filled', 'starFilled', 'state', 'stop', 'strikethrough', 'suggest', 'suggested', 'support', 'support-contact', 'supportContact', 'swatch', 'sync', 'table', 'table-alt', 'table-folder', 'tableAlt', 'tableFolder', 'tablet', 'tag', 'template-view', 'templateView', 'templates', 'text', 'text-align-center', 'text-align-left', 'text-align-right', 'text-center', 'text-color', 'text-indent-left', 'text-indent-right', 'text-justify', 'text-justify-center', 'text-left', 'text-long', 'text-right', 'text-short', 'textAlignCenter', 'textAlignLeft', 'textAlignRight', 'textCenter', 'textColor', 'textIndentLeft', 'textIndentRight', 'textJustify', 'textJustifyCenter', 'textLeft', 'textLong', 'textRight', 'textShort', 'thumbnails', 'thumbs-down', 'thumbs-up', 'thumbsDown', 'thumbsUp', 'title', 'trash', 'trust-center', 'trustCenter', 'type-image', 'typeImage', 'underline', 'undo', 'unlock', 'upload', 'upload-cloud', 'upload-list', 'uploadCloud', 'uploadList', 'user', 'video-camera', 'video-camera-off', 'videoCamera', 'videoCameraOff', 'view', 'voided', 'waffle', 'waiting-for-others', 'waitingForOthers', 'wallet', 'workflow', 'wrench', 'zoom-in', 'zoom-out', 'zoomIn', 'zoomOut'];\nexport var systemIconMap = {\n \"action-required\": \"actionRequired\",\n \"add-logic\": \"addLogic\",\n \"align-bottom\": \"alignBottom\",\n \"align-left\": \"alignLeft\",\n \"align-right\": \"alignRight\",\n \"align-top\": \"alignTop\",\n \"arrow-down\": \"arrowDown\",\n \"arrow-left\": \"arrowLeft\",\n \"arrow-right\": \"arrowRight\",\n \"arrow-up\": \"arrowUp\",\n \"arrow-up-left\": \"arrowUpLeft\",\n \"auto-fill\": \"autoFill\",\n \"sealNotary\": \"award\",\n \"seal-notary\": \"award\",\n \"notification\": \"bell\",\n \"voided\": \"block\",\n \"box-plus-above\": \"boxPlusAbove\",\n \"addRowAbove\": \"boxPlusAbove\",\n \"add-row-above\": \"boxPlusAbove\",\n \"box-plus-after\": \"boxPlusAfter\",\n \"addColumnRight\": \"boxPlusAfter\",\n \"add-column-right\": \"boxPlusAfter\",\n \"box-plus-before\": \"boxPlusBefore\",\n \"addColumnLeft\": \"boxPlusBefore\",\n \"add-column-left\": \"boxPlusBefore\",\n \"box-plus-below\": \"boxPlusBelow\",\n \"addRowBelow\": \"boxPlusBelow\",\n \"add-row-below\": \"boxPlusBelow\",\n \"browser-stack\": \"browserStack\",\n \"bulk-send\": \"bulkSend\",\n \"bulleted-list\": \"bulletedList\",\n \"list\": \"bulletedList\",\n \"date\": \"calendar\",\n \"caret-large-down\": \"caretLargeDown\",\n \"caret-large-left\": \"caretLargeLeft\",\n \"caret-large-right\": \"caretLargeRight\",\n \"caret-large-up\": \"caretLargeUp\",\n \"caret-xlarge-down\": \"caretXlargeDown\",\n \"caret-xlarge-left\": \"caretXlargeLeft\",\n \"caret-xlarge-right\": \"caretXlargeRight\",\n \"caret-xlarge-up\": \"caretXlargeUp\",\n \"completed\": \"check\",\n \"chevron-down\": \"chevronDown\",\n \"caretDown\": \"chevronDown\",\n \"caret-down\": \"chevronDown\",\n \"chevron-left\": \"chevronLeft\",\n \"caretLeft\": \"chevronLeft\",\n \"caret-left\": \"chevronLeft\",\n \"chevron-right\": \"chevronRight\",\n \"caretRight\": \"chevronRight\",\n \"caret-right\": \"chevronRight\",\n \"chevron-up\": \"chevronUp\",\n \"caretUp\": \"chevronUp\",\n \"caret-up\": \"chevronUp\",\n \"circle-status\": \"circleStatus\",\n \"circle-status-closed\": \"circleStatusClosed\",\n \"circle-x\": \"circleX\",\n \"paste\": \"clipboard\",\n \"waitingForOthers\": \"clock\",\n \"waiting-for-others\": \"clock\",\n \"close-small\": \"closeSmall\",\n \"close-xlarge\": \"closeXlarge\",\n \"cloud-upload\": \"cloudUpload\",\n \"uploadCloud\": \"cloudUpload\",\n \"upload-cloud\": \"cloudUpload\",\n \"code-bracket\": \"codeBracket\",\n \"collapse-section\": \"collapseSection\",\n \"color-filter\": \"colorFilter\",\n \"comment-add\": \"commentAdd\",\n \"comment-pencil\": \"commentPencil\",\n \"commissionCounty\": \"courthouse\",\n \"commission-county\": \"courthouse\",\n \"credit-card\": \"creditCard\",\n \"data-read\": \"dataRead\",\n \"readData\": \"dataRead\",\n \"read-data\": \"dataRead\",\n \"data-read-write\": \"dataReadWrite\",\n \"readWriteData\": \"dataReadWrite\",\n \"read-write-data\": \"dataReadWrite\",\n \"computer\": \"desktop\",\n \"desktop-share\": \"desktopShare\",\n \"detail-view\": \"detailView\",\n \"expandedList\": \"detailView\",\n \"expanded-list\": \"detailView\",\n \"documents\": \"document\",\n \"document-stack\": \"documentStack\",\n \"copy\": \"duplicate\",\n \"email\": \"envelope\",\n \"mail\": \"envelope\",\n \"external-link\": \"externalLink\",\n \"view\": \"eye\",\n \"eye-slash\": \"eyeSlash\",\n \"hide\": \"eyeSlash\",\n \"colorpicker\": \"eyedropper\",\n \"fieldsStandard\": \"field\",\n \"fields-standard\": \"field\",\n \"field-merge\": \"fieldMerge\",\n \"fieldsMerge\": \"fieldMerge\",\n \"fields-merge\": \"fieldMerge\",\n \"fields-custom\": \"fieldsCustom\",\n \"state\": \"flag\",\n \"flash-off\": \"flashOff\",\n \"focus-button\": \"focusButton\",\n \"folder-open\": \"folderOpen\",\n \"follower-database\": \"followerDatabase\",\n \"formula\": \"function\",\n \"function-folder\": \"functionFolder\",\n \"settings\": \"gear\",\n \"globe-language\": \"globeLanguage\",\n \"globe\": \"globeLanguage\",\n \"language\": \"globeLanguage\",\n \"grid-view\": \"gridView\",\n \"gripper-bar\": \"gripperBar\",\n \"gripperRectangle\": \"gripperBar\",\n \"gripper-rectangle\": \"gripperBar\",\n \"gripper-corner\": \"gripperCorner\",\n \"gripper-rectangle-horizontal\": \"gripperRectangleHorizontal\",\n \"heart-plus\": \"heartPlus\",\n \"id-badge\": \"idBadge\",\n \"idCard\": \"idBadge\",\n \"id-card\": \"idBadge\",\n \"identity-verification\": \"identityVerification\",\n \"typeImage\": \"image\",\n \"type-image\": \"image\",\n \"indicator-current\": \"indicatorCurrent\",\n \"indicator-incomplete\": \"indicatorIncomplete\",\n \"enter\": \"insert\",\n \"italic\": \"italics\",\n \"line-height\": \"lineHeight\",\n \"location-pin\": \"locationPin\",\n \"location\": \"locationPin\",\n \"menuHamburger\": \"menu\",\n \"menu-hamburger\": \"menu\",\n \"menu-triangle-down\": \"menuTriangleDown\",\n \"menu-triangle-left\": \"menuTriangleLeft\",\n \"menu-triangle-right\": \"menuTriangleRight\",\n \"menu-triangle-up\": \"menuTriangleUp\",\n \"merge-cell\": \"mergeCell\",\n \"merge-fields-dynamic\": \"mergeFieldsDynamic\",\n \"chat\": \"messages\",\n \"microphone-off\": \"microphoneOff\",\n \"mobile-phone\": \"mobilePhone\",\n \"phoneMobile\": \"mobilePhone\",\n \"phone-mobile\": \"mobilePhone\",\n \"multi-arrow\": \"multiArrow\",\n \"moveCursor\": \"multiArrow\",\n \"move-cursor\": \"multiArrow\",\n \"name-first\": \"nameFirst\",\n \"name-last\": \"nameLast\",\n \"commissionNumber\": \"number\",\n \"commission-number\": \"number\",\n \"hash\": \"number\",\n \"numbered-list\": \"numberedList\",\n \"numberList\": \"numberedList\",\n \"number-list\": \"numberedList\",\n \"overflow-horizontal\": \"overflowHorizontal\",\n \"menuOverflowHorizontal\": \"overflowHorizontal\",\n \"menu-overflow-horizontal\": \"overflowHorizontal\",\n \"overflow-vertical\": \"overflowVertical\",\n \"menuOverflowVertical\": \"overflowVertical\",\n \"menu-overflow-vertical\": \"overflowVertical\",\n \"page-break\": \"pageBreak\",\n \"paint-bucket\": \"paintBucket\",\n \"paint-roller\": \"paintRoller\",\n \"attachment\": \"paperclip\",\n \"pebble-check\": \"pebbleCheck\",\n \"circleCheck\": \"pebbleCheck\",\n \"circle-check\": \"pebbleCheck\",\n \"pebble-error\": \"pebbleError\",\n \"pebble-info\": \"pebbleInfo\",\n \"info\": \"pebbleInfo\",\n \"pebble-question\": \"pebbleQuestion\",\n \"help\": \"pebbleQuestion\",\n \"pebble-warning\": \"pebbleWarning\",\n \"alert\": \"pebbleWarning\",\n \"alertTriangle\": \"pebbleWarning\",\n \"alert-triangle\": \"pebbleWarning\",\n \"edit\": \"pencil\",\n \"shared\": \"people\",\n \"name\": \"person\",\n \"user\": \"person\",\n \"person-plus\": \"personPlus\",\n \"recipientAdd\": \"personPlus\",\n \"recipient-add\": \"personPlus\",\n \"add\": \"plus\",\n \"print\": \"printer\",\n \"receives-copy\": \"receivesCopy\",\n \"recipient-update\": \"recipientUpdate\",\n \"sync\": \"refresh\",\n \"rotate-left\": \"rotateLeft\",\n \"rotate-right\": \"rotateRight\",\n \"dropdown\": \"select\",\n \"select-signature-type\": \"selectSignatureType\",\n \"sent\": \"send\",\n \"share-android\": \"shareAndroid\",\n \"share-web\": \"shareWeb\",\n \"share-i-os\": \"share_iOS\",\n \"share_iOS\": \"share_iOS\",\n \"shareIos\": \"share_iOS\",\n \"share-ios\": \"share_iOS\",\n \"trustCenter\": \"shield\",\n \"trust-center\": \"shield\",\n \"shield-cfr-part11\": \"shieldCfrPart11\",\n \"signature\": \"sign\",\n \"sign-in-person\": \"signInPerson\",\n \"sign-with-witness\": \"signWithWitness\",\n \"smart-clause\": \"smartClause\",\n \"smart-sections\": \"smartSections\",\n \"smart-tag\": \"smartTag\",\n \"star-filled\": \"starFilled\",\n \"supportContact\": \"support\",\n \"support-contact\": \"support\",\n \"table-alt\": \"tableAlt\",\n \"table-folder\": \"tableFolder\",\n \"template-view\": \"templateView\",\n \"text-align-center\": \"textAlignCenter\",\n \"textCenter\": \"textAlignCenter\",\n \"text-center\": \"textAlignCenter\",\n \"text-align-left\": \"textAlignLeft\",\n \"textLeft\": \"textAlignLeft\",\n \"text-left\": \"textAlignLeft\",\n \"text-align-right\": \"textAlignRight\",\n \"textRight\": \"textAlignRight\",\n \"text-right\": \"textAlignRight\",\n \"text-color\": \"textColor\",\n \"text-indent-left\": \"textIndentLeft\",\n \"text-indent-right\": \"textIndentRight\",\n \"text-justify-center\": \"textJustifyCenter\",\n \"textJustify\": \"textJustifyCenter\",\n \"text-justify\": \"textJustifyCenter\",\n \"text-long\": \"textLong\",\n \"text-short\": \"textShort\",\n \"thumbs-down\": \"thumbsDown\",\n \"thumbs-up\": \"thumbsUp\",\n \"upload-list\": \"uploadList\",\n \"video-camera\": \"videoCamera\",\n \"video-camera-off\": \"videoCameraOff\",\n \"menuWaffle\": \"waffle\",\n \"menu-waffle\": \"waffle\",\n \"payment\": \"wallet\",\n \"zoom-in\": \"zoomIn\",\n \"zoom-out\": \"zoomOut\"\n};","import React from 'react'\n\nimport PropTypes from 'prop-types'\n\nimport { useUniqueId } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../support'\n\nimport Button from '../Button'\nimport Icon from '../Icon'\n\nconst fileInputIconPositions = ['beforeText', 'afterText']\nexport const fileInputKinds = [\n 'main',\n 'primary',\n 'secondary',\n 'tertiary',\n 'danger',\n]\nexport const fileInputSizes = ['xlarge', 'large', 'medium', 'small']\nexport const fileInputIconKinds = Icon.kinds\nfunction FileInput(props) {\n const {\n accept,\n disabled,\n forwardedRef,\n hideText,\n icon,\n iconPosition,\n kind,\n multiple,\n onChange,\n onClick,\n size,\n text,\n ...restProps\n } = props\n\n const inputId = useUniqueId('short')\n\n return (\n <Button\n accessibilityText={hideText ? text : null}\n fileInput\n accept={accept}\n disabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n id={inputId}\n kind={kind}\n multiple={multiple}\n onChange={onChange}\n onClick={onClick}\n size={size}\n text={hideText ? null : text}\n forwardedRef={forwardedRef}\n {...restProps}\n />\n )\n}\n\nFileInput.icons = fileInputIconKinds\n\nFileInput.kinds = fileInputKinds\n\nFileInput.sizes = fileInputSizes\n\nFileInput.iconPositions = fileInputIconPositions\n\nFileInput.propTypes = {\n /**\n * A list of comma-separated content-type specifiers.\n * (file extensions prefixed with '.', valid MIME types without extensions)\n * e.g. '.js, image/*'.\n */\n accept: PropTypes.string,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Applies a 'disabled' visual treatment.\n */\n disabled: PropTypes.bool,\n\n /**\n * A React ref to assign to the HTML node representing the FileInput's label element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Hides the Button text while allowing assistive devices to identify it.\n */\n hideText: PropTypes.bool,\n\n /**\n * The Icon to show inside the FileInput.\n */\n icon: PropTypes.oneOf(FileInput.icons),\n\n /**\n * Position the supplied icon before or after the FileInput text.\n */\n iconPosition: PropTypes.oneOf(fileInputIconPositions),\n\n /**\n * The kind of FileInput (closely related to Button kinds).\n */\n kind: PropTypes.oneOf(fileInputKinds),\n\n /**\n * Allows the user to select more than one file.\n */\n multiple: PropTypes.bool,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'change' event is fired.\n */\n onChange: PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n\n /**\n * The size of FileInput (closely related to Button sizes).\n */\n size: PropTypes.oneOf(fileInputSizes),\n\n /**\n * The text to be displayed inside the FileInput.\n */\n text: PropTypes.string.isRequired,\n}\n\nFileInput.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n accept: '*',\n disabled: false,\n forwardedRef: undefined,\n hideText: false,\n icon: undefined,\n iconPosition: 'beforeText',\n kind: 'primary',\n multiple: false,\n onChange: undefined,\n onClick: undefined,\n size: 'medium',\n}\n\nFileInput.displayName = 'FileInput'\n\nexport default FileInput\n","import * as React from 'react'\nimport { DocuSignThemeName } from '../../themes'\nimport { ThemeContext } from './context'\n\nexport interface ThemeProviderProps {\n /** The content to be displayed and to receive the styles and icons provided by this component (for those eligible components). */\n children: React.ReactNode\n /** Which DocuSign theme to use. Currently supports Olive and Ink themes. */\n docuSignTheme: DocuSignThemeName\n}\n\n/**\n * Use of the library requires that you pass your application content as a child to the top-level `<ThemeProvider>` component with a DocuSign theme name.\n */\nexport function ThemeProvider({ children, docuSignTheme }: ThemeProviderProps) {\n return (\n <ThemeContext.Provider value={{ name: docuSignTheme }}>\n {children}\n </ThemeContext.Provider>\n )\n}\n","import version from '../version';\nexport default \"https://docucdn-a.akamaihd.net/olive/fonts/\".concat(version);","export default '2.11.0';","import React from 'react'\nimport { Global, css } from '@emotion/core'\n\nimport styles from './styles'\n\nfunction FontFaceDeclarations() {\n return <Global styles={css(styles)} />\n}\n\nexport default FontFaceDeclarations\n","import { OLIVE_CDN } from '@olive/fonts'\n\n// TODO: this would eventually check context\nexport const useFontFace = () => OLIVE_CDN\n","import React from 'react'\nimport { Global, css } from '@emotion/core'\n\nimport styles from './styles'\n\n/**\n * Add global styles to make browsers render elements more consistently.\n * This is required as it globally sets the CSS `box-sizing` property to `border-box`.\n *\n * If you exclude this component from your app, please make sure\n * to set `box-sizing: border-box` to ensure components render correctly.\n */\nfunction NormalizeCss() {\n return <Global styles={css(styles)} />\n}\n\nexport default NormalizeCss\n","export default `\n html {\n box-sizing: border-box;\n text-size-adjust: 100%;\n }\n\n body {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-weight: normal;\n margin: 0;\n text-rendering: optimizeLegibility;\n }\n\n *,\n ::after,\n ::before {\n box-sizing: inherit;\n }\n\n fieldset {\n border: 0;\n margin: 0;\n min-width: 0;\n padding: 0.01em 0 0 0;\n }\n\n legend {\n display: table;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n\n button::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n`\n","import * as React from 'react'\nimport PropTypes from 'prop-types'\nimport { CustomBranding } from '../../types'\nimport { Cobranding } from '../Cobranding'\n\nexport interface ConditionalCobrandingProps {\n /**\n * The provided config will be used to apply cobranding styles to eligible components.\n */\n accountBranding: CustomBranding\n /**\n * Application content to receive cobranding styles.\n */\n children: React.ReactNode\n}\n\n/**\n * If there is no accountBranding from Theme, then we don't want to pass\n * around undefined or an empty object.\n *\n * This component is temporary until we require teams to provide\n * the Theme and/or Cobranding components.\n */\nfunction ConditionalCobranding(props: ConditionalCobrandingProps) {\n const { accountBranding, children } = props\n\n return accountBranding && Object.keys(accountBranding).length > 0 ? (\n <Cobranding\n config={{\n buttonMainBackgroundColor: accountBranding.buttonMainBackground,\n buttonMainTextColor: accountBranding.buttonMainText,\n buttonPrimaryBackgroundColor: accountBranding.buttonPrimaryBackground,\n buttonPrimaryTextColor: accountBranding.buttonPrimaryText,\n headerBackgroundColor: accountBranding.headerBackground,\n headerTextColor: accountBranding.headerText,\n logoUrl: accountBranding.image,\n showLogoOnWhite: accountBranding.imageBackgroundWhite,\n }}\n >\n {children}\n </Cobranding>\n ) : (\n <>{children}</>\n )\n}\n\nConditionalCobranding.propTypes = {\n /**\n * The provided config will be used to apply cobranding styles to eligible components.\n */\n accountBranding: PropTypes.shape({}),\n\n /**\n * Application content to receive cobranding styles.\n */\n children: PropTypes.node.isRequired,\n}\n\nConditionalCobranding.defaultProps = {\n accountBranding: undefined,\n}\n\nexport default ConditionalCobranding\n","import React, { useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport { Global, css, Interpolation } from '@emotion/core'\n\nimport {\n CustomBranding,\n DocuSignTheme,\n DocuSignThemeIcons,\n Tokens,\n} from '../../types'\nimport OliveGlobalBaseCss from '../../docusign-themes/olive/styles/GlobalBaseCss'\nimport ConditionalCobranding from './ConditionalCobranding'\n\nimport { consoleWarn } from '../../../logging'\n\nexport const ThemeContext = React.createContext<DocuSignTheme>(\n {} as DocuSignTheme\n)\n\nexport interface ThemeProps {\n /** The content to be displayed and to receive the styles and icons provided by this component (for those eligible components). */\n children?: React.ReactNode\n /** Which DocuSign theme to use. Currently supports Olive and Ink themes. */\n docuSignTheme?: DocuSignTheme\n /**\n * Inject global styles (such as font-family and font-size) for the provided theme.\n * For multiple themes in the same app, only enable this for the primary theme.\n */\n enableGlobalCss?: boolean\n /** @ignore @internal Subject to change. Do not use */\n accountBranding?: CustomBranding\n /** @ignore @internal Subject to change. Do not use */\n icons?: DocuSignThemeIcons\n /** @ignore @internal Subject to change. Do not use */\n styles?: {\n name: string\n tokens: Tokens\n [key: string]: unknown\n }\n /** @ignore @internal Subject to change. Do not use */\n tokens?: Tokens\n}\n\n/**\n * Wrap your app with the `Theme` component to apply the Olive or Ink theme.\n */\nexport function Theme(props: ThemeProps) {\n const {\n accountBranding,\n children,\n docuSignTheme,\n enableGlobalCss,\n icons,\n styles,\n tokens,\n } = props\n\n const themeFromContext = useContext(ThemeContext)\n\n if (styles || icons || tokens) {\n consoleWarn(\n 'The \"styles\", \"icons\", and \"tokens\" props of the Theme component have been deprecated, and will be removed in a future release. Instead use the \"docuSignTheme\" prop with a supported DocuSign theme.'\n )\n }\n\n /**\n * TODO: FRNTEND-972 - After requiring a theme, we will remove icons, styles, tokens props.\n * We then won't have to create this \"themeToUse\" object\n */\n const themeToUse =\n docuSignTheme ||\n (styles && {\n ...(icons && { icons }),\n // eslint-disable-next-line react/prop-types\n ...(styles?.name && { name: styles.name }),\n ...(styles && { styles }),\n // eslint-disable-next-line react/prop-types\n ...((tokens || styles?.tokens) && { tokens: tokens || styles?.tokens }),\n }) ||\n themeFromContext\n\n const globalBaseStyles = (themeToUse?.styles?.GlobalBaseCss ||\n OliveGlobalBaseCss) as Interpolation\n\n return (\n <ThemeContext.Provider value={themeToUse as DocuSignTheme}>\n <ConditionalCobranding accountBranding={accountBranding}>\n {enableGlobalCss && <Global styles={css(globalBaseStyles)} />}\n {children}\n </ConditionalCobranding>\n </ThemeContext.Provider>\n )\n}\n\nTheme.propTypes = {\n /**\n * @ignore\n *\n * An AccountBranding object that provides a string with a hex color value\n * (e.g. '#FF00FF') for the following keys:\n *\n * - buttonMainBackground\n * - buttonMainText\n * - buttonPrimaryBackground\n * - buttonPrimaryText\n * - headerBackground\n * - headerText\n *\n * The provided colors will be used to apply custom styles to eligible components,\n * and will take priority over any other styles provided (default or otherwise,\n * including any provided to the 'styles' prop of this component).\n *\n * In the case of nested instances of the Theme component, styles generated\n * here from the provided AccountBranding object will be merged with those generated\n * by ancestor Theme components (with those closest to the styled component\n * taking precedence), with the resulting styles taking priority over any other\n * styles provided (as detailed above).\n */\n accountBranding: PropTypes.shape({}),\n\n /**\n * The content to be displayed and to receive the styles and icons provided\n * by this component (for those eligible components).\n */\n children: PropTypes.node,\n\n /**\n * Which DocuSign theme to use. Currently supports Olive and Ink themes.\n */\n docuSignTheme: PropTypes.shape({}),\n\n /**\n * Inject global styles (such as font-family and font-size) for the provided theme.\n * For multiple themes in the same app, only enable this for the primary theme.\n */\n enableGlobalCss: PropTypes.bool,\n\n /**\n * @ignore\n *\n * The set of icons to be used by eligible descendant components.\n *\n * The provided value should be an object with the shape:\n *\n * {\n * defaultSize: number, // the default size of the icons in the set, in px units\n * svgIcons: { iconName: svgString }\n * }\n *\n * Note that, unlike styles, the icons provided here will replace (not merge with)\n * any icons provided by an ancestor Theme component. That is, the available icons\n * (with their respective default sizes) will always be:\n *\n * 1. the default set provided by the OliveReact library\n * - plus -\n * 2. the set provided by the nearest ancestor Theme component (any icons\n * in this set that share a name with the default icons provided by OliveReact\n * will take precedence when used)\n */\n icons: PropTypes.shape({}),\n\n /**\n * @ignore\n *\n * An object that collects the styles to be applied to components and their\n * sub-components, assigning those styles to a key named for the family of\n * components that they affect, e.g.:\n *\n * {\n * Button: { ... }, // styles to apply to the Button family of components\n * Header: { ... }, // styles to apply to the Header family of components\n * Menu: { ... }, // styles to apply to the Menu family of components\n * ...\n * }\n *\n * In the case of nested instances of the Theme component, styles provided\n * here will be merged with those provided by ancestor Theme components\n * (with those closest to the styled component taking precedence).\n */\n styles: PropTypes.shape({}),\n\n /**\n * @ignore\n */\n tokens: PropTypes.shape({}),\n}\n\nTheme.defaultProps = {\n accountBranding: undefined,\n children: undefined,\n docuSignTheme: undefined,\n enableGlobalCss: false,\n icons: undefined,\n styles: undefined,\n tokens: undefined,\n}\n\nexport default Theme\n","import { TranslateFunction, TranslationsWarehouse, Locale } from '@ds/base'\nimport { useLocaleLoaded } from './useLocaleLoaded'\nimport { useHtmlLang } from './useHtmlLang'\n\n/*\n This react hook returns a TranslateFunction for doing\n text language translation. See TranslateFunction for\n details on the function.\n\n By default the hook uses the HTML lang attribute to determine the locale.\n You can override this by providing a locale parameter.\n\n The generic parameter is the type which includes all unique trans\n\n*/\n\nexport function useWarehouseTranslate<T extends string>(\n warehouse: TranslationsWarehouse<T>,\n locale?: Locale\n): TranslateFunction<T> {\n useLocaleLoaded(warehouse) // force refresh when locale loaded\n const pageLocale = useHtmlLang()\n return warehouse.getTranslate(\n locale || pageLocale || 'en'\n ) as TranslateFunction<T>\n}\n","import { useState, useEffect, useRef } from 'react'\nimport { TranslationsWarehouse, Locale } from '@ds/base'\n\n/*\n This react hook is used to force re-render when a locale is\n loaded by a TranslationsWarehouse.\n*/\n\nexport function useLocaleLoaded<TextKey extends string = string>(\n translationsWarehouse: TranslationsWarehouse<TextKey>\n) {\n const isMountedRef = useRef(false)\n const [, setLastLoadedLocale] = useState<Locale>()\n\n // listen for locale loads and refresh if updated\n useEffect(() => {\n isMountedRef.current = true\n function handleLocaleLoaded(locale: Locale) {\n if (isMountedRef.current) {\n setLastLoadedLocale(locale)\n }\n }\n translationsWarehouse.addLoadListener(handleLocaleLoaded)\n return () => {\n isMountedRef.current = false\n translationsWarehouse.removeLoadListener(handleLocaleLoaded)\n }\n }, [translationsWarehouse])\n}\n","import _Promise from \"@babel/runtime-corejs3/core-js/promise\";\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n _Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new _Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import _Reflect$construct from \"@babel/runtime-corejs3/core-js/reflect/construct\";\nimport _bindInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/bind\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\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\n var Constructor = _bindInstanceProperty(Function).apply(Parent, a);\n\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 _Map from \"@babel/runtime-corejs3/core-js/map\";\nimport _Object$create from \"@babel/runtime-corejs3/core-js/object/create\";\nimport getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\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}","import _indexOfInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/index-of\";\nexport default function _isNativeFunction(fn) {\n var _context;\n\n return _indexOfInstanceProperty(_context = Function.toString.call(fn)).call(_context, \"[native code]\") !== -1;\n}","import {\n HttpResponse,\n HttpHandler,\n ExtendedHttpRequest,\n HttpRequest,\n AbortableHttpRequest,\n} from './types'\n\n/*\n RequestSender forwards HTTP requests to a HTTP handler. It handles\n timeout and cancel. Each RequestSender handles a single HTTP request.\n*/\n\nexport class RequestSender {\n private handler: HttpHandler\n private request: ExtendedHttpRequest\n private resolve:\n | undefined\n | ((value: HttpResponse | PromiseLike<HttpResponse>) => void)\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n private reject: undefined | ((reason?: any) => void)\n private started: boolean\n private complete: boolean\n private timeoutTimerId: ReturnType<typeof setTimeout> | undefined\n private delayedStartTimerId: ReturnType<typeof setTimeout> | undefined\n\n constructor(httpHandler: HttpHandler, httpRequest: ExtendedHttpRequest) {\n this.handler = httpHandler\n this.request = httpRequest\n this.started = false\n this.complete = false\n }\n\n public send(delayMs?: number): Promise<HttpResponse> {\n if (this.started) {\n throw new Error(\n 'RequestSender send already started...cannot reuse a RequestSender'\n )\n } else {\n this.started = true\n return new Promise((resolve, reject) => {\n this.resolve = resolve\n this.reject = reject\n if (delayMs && delayMs > 0) {\n this.delayedStartTimerId = setTimeout(() => {\n this.sendToHandler()\n }, delayMs)\n } else {\n this.sendToHandler()\n }\n })\n }\n }\n\n private async sendToHandler() {\n let response: HttpResponse\n try {\n this.startTimeoutTimer()\n switch (this.request.method) {\n case 'PUT':\n response = await this.handler.put(this.request)\n break\n case 'POST':\n response = await this.handler.post(this.request)\n break\n case 'DELETE':\n response = await this.handler.delete(this.request)\n break\n default:\n response = await this.handler.get(this.request)\n }\n if (!this.complete) {\n this.end()\n this.resolve?.(response)\n }\n } catch (error) {\n if (!this.complete) {\n this.end()\n this.reject?.(error)\n }\n }\n }\n\n public cancel() {\n if (!this.complete) {\n const abort = (this.request as AbortableHttpRequest).abort\n this.end()\n this.reject?.(\n new HttpCancel(\n `HTTP request to ${this.request.url} cancelled by client`,\n this.request\n )\n )\n // if the handler can actually abort the request, do it now.\n abort?.()\n }\n }\n\n private startTimeoutTimer() {\n const timeoutMs =\n this.request.timeoutMs === undefined ? -1 : this.request.timeoutMs\n if (timeoutMs > -1) {\n this.timeoutTimerId = setTimeout(() => {\n if (!this.complete) {\n const abort = (this.request as AbortableHttpRequest).abort\n this.end()\n this.reject?.(\n new HttpTimeout(\n `HTTP request to ${this.request.url} timed out after ${timeoutMs}ms`,\n this.request\n )\n )\n // if the handler can actually abort the request, do it now.\n abort?.()\n }\n }, timeoutMs)\n }\n }\n\n private end() {\n this.complete = true\n this.timeoutTimerId && clearTimeout(this.timeoutTimerId)\n this.delayedStartTimerId && clearTimeout(this.delayedStartTimerId)\n delete (this.request as AbortableHttpRequest).abort\n }\n}\n\nexport class HttpTimeout extends Error {\n public request: HttpRequest\n constructor(message: string, request: HttpRequest) {\n super(message)\n this.request = request\n }\n}\n\nexport class HttpCancel extends Error {\n public request: HttpRequest\n constructor(message: string, request: HttpRequest) {\n super(message)\n this.request = request\n }\n}\n","import {\n HttpRequest,\n HttpResponse,\n HttpError,\n ExtendedHttpRequest,\n EMPTY_HTTP_HEADERS,\n} from './types'\n\nimport { HttpTimeout } from './RequestSender'\n\nconst HTTP_CANCEL = 499 // HTTP 499 = Client Closed Request\n\nexport const notifyCancel = (request: ExtendedHttpRequest) => {\n notifyResponse({\n request,\n status: HTTP_CANCEL,\n is2XX: false,\n isOK: false,\n headers: EMPTY_HTTP_HEADERS,\n contentType: 'N/A',\n elapsedMilliseconds: new Date().getTime() - request.beginTime.getTime(),\n })\n}\n\nexport const notifyRequest = (request: HttpRequest, attempt?: number) => {\n request.listener?.onRequest?.(scrubRequest(request), attempt)\n}\n\nexport const notifyResponse = (response: HttpResponse) => {\n response.request.listener?.onResponse?.(scrubResponse(response))\n}\n\nexport const notifyError = (error: HttpError | HttpTimeout) => {\n if (error.request.listener && error.request.listener.onError) {\n const scrubbedError = scrubError(\n error instanceof HttpTimeout\n ? new HttpError(0, error.message, error.request, error)\n : error\n )\n error.request.listener.onError(scrubbedError)\n }\n}\n\nexport const scrubRequest = (request: HttpRequest) => {\n // remove bearer token\n if (request.bearerToken) {\n const scrubbedRequest = {\n ...request,\n bearerToken: 'SCRUBBED',\n listener: undefined,\n throwErrorWhen: undefined,\n }\n if (request.headers) {\n scrubbedRequest.headers = {\n ...request.headers,\n Authorization: 'SCRUBBED',\n }\n }\n return scrubbedRequest\n }\n return request\n}\n\nexport const scrubResponse = (response: HttpResponse) => {\n return { ...response, request: scrubRequest(response.request) }\n}\n\nexport const scrubError = (error: HttpError) => {\n const scrubbedError = new HttpError(\n error.status,\n error.description,\n scrubRequest(error.request),\n error.error\n )\n scrubbedError.willRetry = error.willRetry\n scrubbedError.attempt = error.attempt\n return scrubbedError\n}\n","/*\n\n Creates a string representation of the object which can be used for comparison or subsequent hash creation.\n The object will be deeply recursed to find all objects.\n Circular references are handled automatically (an object will not be re-visited once it has been handled).\n Thread-safe (designed to be a singleton)\n NOTE: This should only be used for data objects (e.g., something which can be translated to/from JSON without loss)\n NOTE: The output is potentially long. You should consider using a hash algorithm to shorten it for storage.\n\n*/\n\nexport interface ObjectToStringCanonicalizerOptions {\n // NOTE: Undefined properties are skipped.\n treatNullAsUndefined?: boolean // default is false (NULL properties will be written).\n treatEmptyStringsAsUndefined?: boolean // default is false (empty strings will be written)\n ignoredProperties?: Set<string> // to ignore certain properties, include a list of property names to ignore\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nclass ObjectToStringCanonicalizer {\n public toCanonicalString(\n object: any,\n options: ObjectToStringCanonicalizerOptions = {}\n ) {\n const allProps: any[] = []\n const visitedObjects: any[] = []\n this.pushObject(object, allProps, options ?? {}, 0, visitedObjects)\n return allProps.join('')\n }\n\n public toCanonicalEscapedString(\n object: any,\n options: ObjectToStringCanonicalizerOptions = {}\n ) {\n return encodeURIComponent(this.toCanonicalString(object, options))\n }\n\n private pushObject(\n obj: any,\n allProps: any[],\n options: ObjectToStringCanonicalizerOptions,\n level: number,\n visitedObjects: any[]\n ) {\n if (typeof obj === 'object' && obj !== null) {\n const visitedReference = this.getVisitedReference(obj, visitedObjects)\n if (visitedReference) {\n allProps[allProps.length] = visitedReference\n } else {\n visitedObjects.push(obj)\n let props: string[] = []\n Object.keys(obj).forEach((prop) => props.push(prop))\n props = props.sort()\n props.forEach((propName) => {\n const childObj = obj[propName]\n if (this.shouldPush(childObj, options, propName)) {\n allProps.push('\\n')\n allProps.push('.'.repeat(level))\n allProps.push(propName)\n allProps.push(':')\n this.pushObject(\n childObj,\n allProps,\n options,\n level + 1,\n visitedObjects\n )\n }\n })\n }\n } else {\n allProps.push(\n obj === null || obj === undefined\n ? 'null'\n : obj === ''\n ? 'EMPTY_STRING'\n : obj\n )\n }\n }\n\n private shouldPush(\n value: any,\n options: ObjectToStringCanonicalizerOptions,\n propName: string\n ) {\n if (\n propName &&\n options.ignoredProperties &&\n options.ignoredProperties.has(propName)\n ) {\n return false\n }\n if (typeof value === 'function' || value === undefined) {\n return false\n }\n if (options.treatNullAsUndefined && value === null) {\n return false\n }\n if (options.treatEmptyStringsAsUndefined && value === '') {\n return false\n }\n return true\n }\n\n private getVisitedReference(object: any, visitedObjects: any[]) {\n for (let i = 0; i < visitedObjects.length; i++) {\n if (visitedObjects[i] === object) {\n return '@REF' + i\n }\n }\n return null\n }\n}\n\nexport default ObjectToStringCanonicalizer\n","import { RequestSender } from './RequestSender'\nimport {\n HttpResponse,\n HttpHandler,\n ExtendedHttpRequest,\n HttpError,\n} from './types'\nimport { notifyError, notifyRequest } from './notification'\n\n/*\n RequestRetrier uses RequestSender to make requests. Retry strategy is used\n to retry failed requests.\n*/\n\nconst MAX_ATTEMPTS = 5 // backstop...don't let hell break loose.\n\n/**\n * RequestRetrier uses RequestSender to make requests. The retrier will use the request's\n * retry handler to decide if a given response should be retried.\n */\nexport class RequestRetrier {\n private httpHandler: HttpHandler\n private request: ExtendedHttpRequest\n private activeRequest: RequestSender\n\n /**\n * @param httpHandler a HttpHandler\n * @param httpRequest a request\n */\n constructor(httpHandler: HttpHandler, httpRequest: ExtendedHttpRequest) {\n this.httpHandler = httpHandler\n this.request = httpRequest\n this.activeRequest = new RequestSender(this.httpHandler, this.request)\n }\n\n /**\n * Send the request (retry failures as prescribed by the request's retry function)\n *\n * @returns A Promise which resolves with a HttpResponse. The promise will\n * resolve/reject after either:\n * 1.) successful response,\n * 2.) all retries have been exhausted,\n * 3.) an non-http error (e.g., timeout or cancel)\n */\n public async send(): Promise<HttpResponse> {\n const retry = this.request.retry || (() => -1)\n let attemptCount = 0\n let delayBeforeSend = 0\n let response: HttpResponse\n while (attemptCount < MAX_ATTEMPTS) {\n attemptCount++\n this.activeRequest = new RequestSender(this.httpHandler, this.request)\n if (attemptCount > 1) {\n this.notifyRetry(attemptCount)\n }\n response = await this.activeRequest.send(delayBeforeSend)\n if (response.isOK) {\n return response\n }\n delayBeforeSend = retry(response, this.elapsedTime(), attemptCount)\n if (delayBeforeSend < 0) {\n return response\n }\n this.notifyRetriedError(response, attemptCount)\n }\n return response!\n }\n\n /**\n * Cancel the request\n */\n public cancel() {\n this.activeRequest.cancel()\n }\n\n private elapsedTime() {\n return new Date().getTime() - this.request.beginTime.getTime()\n }\n\n private notifyRetriedError(response: HttpResponse, attempt: number) {\n const description = `HTTP ${response.request.method} failure at URL ${response.request.url}, status=${response.status}`\n const httpError = new HttpError(\n response.status,\n description,\n response.request,\n new Error(description)\n )\n httpError.willRetry = true\n httpError.attempt = attempt\n notifyError(httpError)\n }\n\n private notifyRetry(attemptCount: number) {\n notifyRequest(this.request, attemptCount)\n }\n}\n","import { HttpResponseHeaders } from '../types'\n\nexport class ResponseHeaders implements HttpResponseHeaders {\n private headers: { [key: string]: string }\n\n constructor(headers?: { [key: string]: string }) {\n this.headers = headers || {}\n }\n\n // xhr returns ALL reponse headers in a single string\n // with each header separated by cr/lf\n static fromXhrResponseHeaderString(xhrResponseHeaderString: string) {\n const headers = xhrResponseHeaderString\n .trim()\n .split('\\r\\n')\n .reduce((result, current) => {\n const [name, value] = current.split(': ')\n result[name.toLowerCase()] = value\n return result\n }, {})\n return new ResponseHeaders(headers)\n }\n\n get(name: string) {\n return this.headers[name.toLowerCase()]\n }\n\n has(name: string) {\n const value = this.get(name)\n return !!value\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n forEach(callbackfn: (key: string, value: string) => void, thisArg?: any) {\n if (this.headers) {\n Object.keys(this.headers).forEach(\n (key) => callbackfn(key, this.headers[key]),\n thisArg\n )\n }\n }\n}\n\nexport function responseHeadersToJson(headers: HttpResponseHeaders) {\n const json: { [key: string]: string } = {}\n headers.forEach((value, key) => {\n json[key] = value\n })\n return json\n}\n\nexport function responseHeadersFromJson(json: { [key: string]: string }) {\n return new ResponseHeaders(json)\n}\n","import { HttpResponse, ExtendedHttpRequest, HttpCachedRequest } from './types'\nimport type { CacheItem } from './StorageCache'\nimport {\n responseHeadersToJson,\n responseHeadersFromJson,\n} from './HTTPHandlers/ResponseHeaders'\n\n/*\n\n Utility functions for put/get http responses to StorageCache\n\n*/\n\nexport function putStorageCachedRequest(\n hash: string,\n request: ExtendedHttpRequest,\n response: HttpResponse\n) {\n if (request.storageCache && request.cacheSeconds) {\n const cacheItem: CacheItem = {\n key: hash,\n expireSeconds: request.cacheSeconds,\n data: httpResponseAsStorageCacheData(response),\n cacheName: request.cacheName,\n }\n request.storageCache.put(cacheItem)\n }\n}\n\nexport function getStorageCachedRequest(\n hash: string,\n request: ExtendedHttpRequest\n) {\n const cachedItem = request.storageCache?.get(hash)\n if (cachedItem) {\n const response = httpResponseFromStorageCacheData(cachedItem.data, request)\n const cachedRequest: HttpCachedRequest = {\n request,\n responsePromise: Promise.resolve(response),\n complete: true,\n }\n return cachedRequest\n }\n return undefined\n}\n\nfunction httpResponseAsStorageCacheData(httpResponse: HttpResponse): string {\n return JSON.stringify({\n ...httpResponse,\n request: undefined,\n headers: responseHeadersToJson(httpResponse.headers),\n })\n}\n\nfunction httpResponseFromStorageCacheData(\n data: string,\n request: ExtendedHttpRequest\n) {\n const response = JSON.parse(data)\n response.headers = responseHeadersFromJson(response.headers)\n response.request = request\n return response as HttpResponse\n}\n","import {\n HttpRequest,\n HttpResponse,\n HttpHandler,\n HttpErrorTest,\n HttpError,\n HttpMethod,\n HttpCachedRequest,\n ExtendedHttpRequest,\n HttpRequestProperties,\n DS_CORRELATION_TOKEN_HDR_NAME,\n} from './types'\nimport { generateGuid } from '@ds/logging'\nimport { BrowserFetchRestHandler } from './HTTPHandlers/BrowserFetchRestHandler'\nimport { getCookieValue } from './utils'\nimport {\n notifyCancel,\n notifyError,\n notifyRequest,\n notifyResponse,\n} from './notification'\nimport ObjectToStringCanonicalizer from './ObjectToStringCanonicalizer'\nimport { RequestSender, HttpTimeout, HttpCancel } from './RequestSender'\nimport { RequestRetrier } from './RequestRetrier'\nimport type { StorageCache } from './StorageCache'\nimport {\n putStorageCachedRequest,\n getStorageCachedRequest,\n} from './responseStorageCache'\n\n/*\n\n A simple client for doing Rest HTTP requests. The client does not do the actual HTTP\n requests. Rather, it requires a pluggable HTTP implementation (a default WHATWG Fetch\n implementation is provided).\n\n The client can be passed a defaults property. This is just another instance of a request. All\n information from the defaults will be copied to the request before it is invoked. Example:\n\n const client = new RestClient({defaults: {bearerToken: myToken}})\n\n Response data will be unmarshalled to an object automatically and are accessible via the response.json property.\n\n Request data can be either a JSON string OR and Object.\n\n The client has a few special request properties:\n bearerToken. Setting this will caused an Authorization header to be added to the request\n correlationToken. Setting this will add a 'X-DocuSign-CorrelationToken' header to the request.\n csrfCookieName and csrfHeaderName. Setting these will cause the csrf cookie to be be copied to\n the header on the request(s). NOTE: providing only one of the names will result in the same\n name being used for both.\n\n By default the RestClient will return a response regardless of HTTP status. It will only throw exceptions\n if the HTTP status is not 1xx-5xx. You can override this by setting the throwErrorWhen on the request (or\n more commonly on the defaults in the RestClient constructor). Example...to throw errors when response is\n not 2xx:\n\n const client = new RestClient({defaults: {throwErrorWhen: (status) => status < 200 || status > 299}});\n\n ...and perhaps allow 404 if the particular endpoint uses it to indicate the object is not found:\n\n client.get(\"http://foo/com/envelope/123423\", {throwErrorWhen = (status) => (status < 200 || status > 299) && status !== 404);\n\n The RestClient events it's activity (and errors!) via the listener parameter\n\n const client = new RestClient({defaults: {bearerToken: myToken, listener: {\n onRequest: (request: HttpRequest) => (eventedRequest = request),\n onResponse: (response: HttpResponse) =>\n (eventedResponse = response),\n onError: (error: HttpError) => (eventedError = error)\n })\n\n All requests are given a unique request ID (a guid). You may, optionally provide your own unique ID when submitting the\n request.\n\n The client supports 2 types of GET caching:\n - In progress caching. If a request arrives for the same URL as an in-flight request, the new request is linked to the\n in-flight request and both consumers will be notified when the first request completes.\n - Explicit caching. Consumers may set a cacheSeconds property on the request. Consumers making requests to the same URL\n will receive the same response until the cache time expires.\n NOTE: errors (non-2xx responses) are not cached.\n\n Explicit caching supports forced expiration. To use this mechnaism set a cacheName property on one or more requests.\n The consumer can call the clearCache() function to explicitly expire all requests with this id.\n\n The client supports request timeout (set prop timeoutMs on request). Timeouts result in a promise reject.\n\n The client supports cancel. To cancel, get a cancelId and pass it on each request you might want to cancel. All requests that\n have the same cancel ID will be cancelled.\n\n const cancelId = generatedGuid();\n try {\n const response = await client.get({url:\"http://foo/com/envelope/123423\"}, cancelId: cancelId});\n } catch (err) {\n if (error instanceof HttpCancel) {\n console.warn(\"cancelled\", error);\n }\n }\n\n elsewhere....\n\n client.cancel(cancelId);\n\n*/\n\ninterface HttpClientOptions {\n httpHandler?: HttpHandler\n defaults?: Partial<HttpRequest>\n}\n\ninterface Cancellable {\n cancel: () => void\n}\n\nexport class RestClient {\n private httpHandler: HttpHandler\n private defaults?: Partial<HttpRequest>\n private cachedGetRequests: { [hash: string]: HttpCachedRequest } = {}\n private requestCanonicalizer = new ObjectToStringCanonicalizer()\n private activeRequests: {\n request: ExtendedHttpRequest\n sender: Cancellable\n }[] = []\n\n constructor(options?: HttpClientOptions) {\n this.httpHandler =\n options && options.httpHandler\n ? options.httpHandler\n : new BrowserFetchRestHandler()\n this.defaults = options && options.defaults ? options.defaults : undefined\n }\n\n public async get<T>(\n request: HttpRequestProperties\n ): Promise<HttpResponse<T>> {\n this.cleanGETCache()\n const httpRequest = this.fillRequest(request as ExtendedHttpRequest, 'GET')\n const hash = this.calculateRequestHash(httpRequest)\n const cachedRequest = this.getCachedRequest(hash, httpRequest)\n if (cachedRequest) {\n return cachedRequest.responsePromise as unknown as HttpResponse<T>\n }\n const responsePromise: Promise<HttpResponse> = new Promise(\n // eslint-disable-next-line no-async-promise-executor\n async (resolve, reject) => {\n try {\n const response = await this.send(httpRequest)\n if (response.is2XX && this.cachedGetRequests[hash]) {\n this.cachedGetRequests[hash].complete = true\n } else {\n delete this.cachedGetRequests[hash]\n }\n if (response.isOK) {\n putStorageCachedRequest(hash, httpRequest, response)\n }\n resolve(response)\n } catch (error) {\n delete this.cachedGetRequests[hash]\n reject(error)\n }\n }\n )\n this.cachedGetRequests[hash] = {\n request: httpRequest,\n responsePromise,\n complete: false,\n }\n return responsePromise as unknown as HttpResponse<T>\n }\n\n public async put<T>(\n request: HttpRequestProperties<T>\n ): Promise<HttpResponse> {\n const httpRequest = this.fillRequest(request as ExtendedHttpRequest, 'PUT')\n return this.send(httpRequest)\n }\n\n public async post<T>(\n request: HttpRequestProperties<T>\n ): Promise<HttpResponse> {\n const httpRequest = this.fillRequest(request as ExtendedHttpRequest, 'POST')\n return this.send(httpRequest)\n }\n\n public async delete<T>(\n request: HttpRequestProperties<T>\n ): Promise<HttpResponse> {\n const httpRequest = this.fillRequest(\n request as ExtendedHttpRequest,\n 'DELETE'\n )\n return this.send(httpRequest)\n }\n\n public clearCache(cacheName: string, storageCache?: StorageCache) {\n Object.keys(this.cachedGetRequests).forEach((hash) => {\n const cachedRequest = this.cachedGetRequests[hash]\n if (cachedRequest.request.cacheName === cacheName) {\n delete this.cachedGetRequests[hash]\n }\n })\n storageCache?.deleteNamed(cacheName)\n }\n\n public cancel(cancelId: string) {\n this.activeRequests\n .filter((activeRequest) => activeRequest.request.cancelId === cancelId)\n .forEach((activeRequest) => {\n this.unRegisterActiveRequest(activeRequest.request)\n activeRequest.sender.cancel()\n })\n }\n\n /*\n\n Private\n\n */\n\n private getCachedRequest(hash: string, httpRequest: ExtendedHttpRequest) {\n const local = this.cachedGetRequests[hash]\n // always try storage...even if we have it locally...this updates the access time.\n const storage = httpRequest.storageCache\n ? getStorageCachedRequest(hash, httpRequest)\n : undefined\n // update local cache if only found in storage\n if (!local && storage) {\n this.cachedGetRequests[hash] = storage\n }\n return this.cachedGetRequests[hash]\n }\n\n private async send(httpRequest: ExtendedHttpRequest): Promise<HttpResponse> {\n notifyRequest(httpRequest)\n let response: HttpResponse\n const sender = httpRequest.retry\n ? new RequestRetrier(this.httpHandler, httpRequest)\n : new RequestSender(this.httpHandler, httpRequest)\n this.registerActiveRequest(httpRequest, sender)\n try {\n response = await sender.send()\n if (this.shouldthrowError(response.status, httpRequest.throwErrorWhen)) {\n const description = `HTTP ${httpRequest.method} failure at URL ${\n httpRequest.url\n }, status=${response!.status}`\n const httpError = new HttpError(\n response.status,\n description,\n httpRequest,\n new Error(description)\n )\n throw httpError // let the catch block handle all errors\n } else {\n notifyResponse(response!)\n return response!\n }\n } catch (caughtError) {\n if (caughtError instanceof HttpCancel) {\n notifyCancel(httpRequest)\n throw caughtError\n } else if (\n caughtError instanceof HttpError ||\n caughtError instanceof HttpTimeout\n ) {\n notifyError(caughtError)\n throw caughtError\n } else {\n const httpError = new HttpError(\n 0,\n `HTTP request failed. Request was to URL ${httpRequest.url} but the error was an unexpected exception \"${caughtError}\"`,\n httpRequest,\n caughtError\n )\n notifyError(httpError)\n throw httpError\n }\n } finally {\n this.unRegisterActiveRequest(httpRequest)\n }\n }\n\n private fillRequest(\n request: ExtendedHttpRequest,\n method: HttpMethod\n ): ExtendedHttpRequest {\n // eslint-disable-next-line no-param-reassign\n request = {\n ...this.defaults,\n ...request,\n method,\n beginTime: new Date(),\n requestId: request.requestId ? request.requestId : generateGuid(),\n }\n\n if (this.defaults && this.defaults.headers) {\n request.headers = {\n ...(this.defaults.headers || []),\n ...request.headers,\n }\n }\n\n // do not set the header if it's FormData, the browser takes care of this\n if (request.data && !(request.data instanceof FormData)) {\n this.addHeader(\n request,\n 'Content-Type',\n 'application/json;charset=UTF-8',\n false\n )\n }\n this.addCSRFHeader(request)\n this.addAuthorizationHeader(request)\n this.addCorrelationTokenHeader(request)\n return request\n }\n\n private addCSRFHeader(request: HttpRequest) {\n // add the token from the cookie as a header on the request\n if (request.csrfCookieName || request.csrfHeaderName) {\n const csrfToken = getCookieValue(\n request.csrfCookieName || request.csrfHeaderName!\n )\n if (csrfToken) {\n this.addHeader(\n request,\n request.csrfHeaderName || request.csrfCookieName!,\n csrfToken\n )\n }\n }\n }\n\n private addAuthorizationHeader(request: HttpRequest) {\n if (request.bearerToken) {\n this.addHeader(request, 'Authorization', `Bearer ${request.bearerToken}`)\n }\n }\n\n /**\n * Set the correlation token header and overwrite any existing value\n * @param request Current request to update with the correlation token header\n */\n private addCorrelationTokenHeader(request: HttpRequest) {\n if (request.correlationToken) {\n this.addHeader(\n request,\n DS_CORRELATION_TOKEN_HDR_NAME,\n request.correlationToken\n )\n }\n }\n\n private addHeader(\n request: HttpRequest,\n name: string,\n value: string,\n overwriteExisting = true\n ) {\n const headers = request.headers || {}\n\n if (!headers[name] || overwriteExisting) {\n headers[name] = value\n }\n\n request.headers = headers\n }\n\n private shouldthrowError(status: number, throwErrorWhen?: HttpErrorTest) {\n return throwErrorWhen ? throwErrorWhen(status) : false\n }\n\n private calculateRequestHash(request: HttpRequest) {\n return this.requestCanonicalizer.toCanonicalString({\n url: request.url,\n qualifer: request.cacheHashQualifier,\n })\n }\n\n private cleanGETCache() {\n Object.keys(this.cachedGetRequests).forEach((hash) => {\n const cachedRequest = this.cachedGetRequests[hash]\n if (this.isCachedRequestExpired(cachedRequest)) {\n delete this.cachedGetRequests[hash]\n }\n })\n }\n private isCachedRequestExpired(cachedRequest: HttpCachedRequest) {\n if (cachedRequest.complete) {\n const request = cachedRequest.request as ExtendedHttpRequest\n if (!request.cacheSeconds) {\n return true\n }\n const secondsSinceCreated =\n (new Date().getTime() - request.beginTime.getTime()) / 1000\n return secondsSinceCreated > request.cacheSeconds\n }\n return false\n }\n\n private registerActiveRequest(\n request: ExtendedHttpRequest,\n sender: Cancellable\n ) {\n this.activeRequests.push({ request, sender })\n }\n\n private unRegisterActiveRequest(requestToRemove: ExtendedHttpRequest) {\n this.activeRequests = this.activeRequests.filter(\n (activeRequest) =>\n activeRequest.request.requestId !== requestToRemove.requestId\n )\n }\n}\n","export const getCookieValue = (cookieName: string) => {\n const results = document.cookie.match(\n '(^|[^;]+)\\\\s*' + cookieName + '\\\\s*=\\\\s*([^;]+)'\n )\n return results ? results.pop() : undefined\n}\n","import { memoize, isEmpty } from 'lodash'\nimport { Locale } from '../Common/types'\nimport {\n TranslationDictionary,\n TranslateFunction,\n TranslationSubstitutionData,\n} from './types'\nimport { RestClient } from '../RestClient'\nimport { translateText } from './Translation'\nimport { defer } from '../Utility'\n\n/*\n\n Loads language text translations from a server (e.g., a CDN)\n\n The constructor expects 2 arguments:\n 1.) a lookup function for server urls (given a locale, returns\n a URL used to fetch the translations for that locale)\n 2.) the dictionary for the default locale (en)\n\n getTranslate() will always return a translate function (even if the locale is not supported or there is an error getting the\n translations from the CDN). If the locale has not been loaded yet this function will kick off a load after returning a translate\n function.\n\n getTranslate() will return a default translation implementation (see Translation translateText for details). You can override this\n behavior by passing a function to the constructor which creates a translation function (given the default locale and the actual locale).\n\n The default function returned by getTranslate() will always return text for a key. It will attempt to render the best choice:\n 1.) text for the requested locale\n 2.) text for the requested locale minus country code (e.g, \"fr\" instead of \"fr-CA\")\n 3.) text for the default locale (en)\n 4.) the text key\n\n Missing keys causes errors to be logged (see error discussion below)\n\n Components can listen to locale loads via the addLoadListener (don't forget to removeLoadListener when components are unmounted!)\n\n NOTE: typescript will help you constrain the translate function emitted\n if you set the TextKey generic type correctly.\n\n Example:\n type MyTranslationKeys = \"OK\" | \"CLOSE\" | \"CONTACT_US\";\n or\n import enTranslations from \"./enTranslations.json\";\n type MyTranslationKeys = keyof (typeof enTranslations);\n\n const myWarehouse = new TranslationsWarehouse<MyTranslationKeys>(...)\n\n Typescript will now typecheck the argument to the translate function\n ensuring you are only using valid keys.\n\n By default the warehouse will do REST requests from a server (generally a CDN). However, you can fetch from anywhere\n by provding a \"fetcher\" instead of a URL lookup function. The fetcher must be a function which takes a locale and returns\n a Promise which resolves with a translaton dictionary (if the promise rejects an error will be logged and the default\n dictionary will be used). Alternatively you can simply set the options restClient property with your own RestClient\n which has defaults needed for the requests (e.g., auth headers).\n\n The warehouse will always log errors to the console. It will ALSO invoke the options.logError function if set. It is highly\n recommended you pass a logError function and log errors to a server.\n\n const myWarehouse = new TranslationsWarehouse(..., ..., {logError: (message) => logToMyServer(message)})\n\n NOTE: the warehouse will only notify a given translation error once\n\n\n*/\n\ntype LocaleUrlLookup = (locale: Locale) => string | undefined\ntype CreateTranslateFunction = (\n defaultDictionary: TranslationDictionary,\n localeDictonary?: TranslationDictionary\n) => TranslateFunction\ntype LoadListener = (locale: Locale) => void\ntype TranslationDictionaryFetcher = (\n locale: Locale\n) => Promise<TranslationDictionary>\ntype ErrorListener = (message: string) => void\ntype TranslationsWarehouseOptions = {\n createTranslateFunction?: CreateTranslateFunction\n logError?: ErrorListener\n restClient?: RestClient\n cacheProps?: { name: string; version: string }\n}\n\nconst defaultLocale: Locale = 'en'\nconst LOCAL_STORAGE_CACHE_KEY = 'docusign-translations'\n\nexport class TranslationsWarehouse<TextKey extends string = string> {\n private urlLookupOrCustomFetcher:\n | LocaleUrlLookup\n | TranslationDictionaryFetcher\n private defaultDictionary: TranslationDictionary\n private dictionaries: { [key: string]: TranslationDictionary } = {}\n private restClient: RestClient\n private options: TranslationsWarehouseOptions\n private loadListeners = new Set<LoadListener>()\n private translationErrorsLogged = new Set<string>()\n private translationWarningsLogged = new Set<string>()\n\n constructor(\n urlLookupOrCustomFetcher: LocaleUrlLookup | TranslationDictionaryFetcher,\n defaultDictionary: TranslationDictionary,\n options?: TranslationsWarehouseOptions\n ) {\n this.urlLookupOrCustomFetcher = urlLookupOrCustomFetcher\n this.defaultDictionary = defaultDictionary\n this.dictionaries[defaultLocale] = defaultDictionary\n this.options = options ? options : {}\n this.restClient = this.options.restClient\n ? this.options.restClient\n : new RestClient()\n }\n\n // NOTE that this method will ALWAYS return a translate...even if the locale is not available or not supported\n public getTranslate(locale: Locale): TranslateFunction<TextKey> {\n const normalizedLocale = normalizeLocale(locale)\n if (this.dictionaries[normalizedLocale]) {\n return this.memoizedCreateTranslate(normalizedLocale)\n }\n this.loadDictionary(normalizedLocale)\n return this.memoizedCreateTranslate(defaultLocale)\n }\n\n public isLocaleLoaded(locale: Locale) {\n return !!this.dictionaries[normalizeLocale(locale)]\n }\n\n // NOTE that this method will ALWAYS return a translate...even if there was an error loading the dictionary\n // You can use the isLocaleLoaded to determine success if necessary\n public loadDictionary(locale: Locale): Promise<TranslateFunction<TextKey>> {\n const normalizedLocale = normalizeLocale(locale)\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const warehouse = this\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve) => {\n if (!warehouse.dictionaries[normalizedLocale]) {\n const cachedDict = this.retrieveCachedTranslations(locale)\n if (cachedDict) {\n defer(() => this.setDictionary(locale, cachedDict))\n } else {\n const urlOrFetcher = this.urlLookupOrCustomFetcher!(normalizedLocale)\n if (isPromise(urlOrFetcher)) {\n // custom fetcher\n await this.fetchDictionaryWithCustomFetcher(\n normalizedLocale,\n urlOrFetcher as Promise<TranslationDictionary>\n )\n } else {\n // standard fetching\n let dictionaryURL = urlOrFetcher as string\n if (!dictionaryURL) {\n // drop the country code if we can't find a dictionary fully qualfied, e.g., try \"fr\" instead of \"fr-CA\"\n dictionaryURL = this.urlLookupOrCustomFetcher!(\n localeWithoutCountryCode(normalizedLocale)\n ) as string\n }\n await this.fetchDictionary(normalizedLocale, dictionaryURL)\n }\n }\n }\n resolve(\n warehouse.dictionaries[normalizedLocale]\n ? warehouse.memoizedCreateTranslate(normalizedLocale)\n : warehouse.createTranslate(normalizedLocale)\n )\n })\n }\n\n public addLoadListener(listener: LoadListener) {\n this.loadListeners.add(listener)\n }\n\n public removeLoadListener(listener: LoadListener) {\n this.loadListeners.delete(listener)\n }\n\n /*\n\n Private\n\n */\n\n private createTranslate: (locale: Locale) => TranslateFunction<TextKey> = (\n locale: Locale\n ) => {\n const translate = this.options.createTranslateFunction\n ? this.options.createTranslateFunction(\n this.defaultDictionary,\n this.dictionaries[locale]\n )\n : this.createDefaultTranslate(locale)\n return this.options.logError\n ? this.createTranslateWithErrorLogging(translate, locale)\n : translate\n }\n\n private memoizedCreateTranslate = memoize(this.createTranslate)\n\n private createDefaultTranslate: (locale: Locale) => TranslateFunction = (\n locale: Locale\n ) => {\n const dictionaries: TranslationDictionary[] = []\n dictionaries.push(this.dictionaries[locale] || {})\n dictionaries.push(this.defaultDictionary)\n return (id: string, substitutionData?: TranslationSubstitutionData) => {\n return translateText(id, dictionaries, substitutionData)\n }\n }\n\n private createTranslateWithErrorLogging(\n translate: TranslateFunction,\n locale: Locale\n ): TranslateFunction<TextKey> {\n return (id: TextKey, substitutionData?: TranslationSubstitutionData) => {\n const dict = this.dictionaries[locale]\n if (dict) {\n if (!dict[id]) {\n this.logFailure(\n `Warning: missing translation for key \"${id}\" in locale \"${locale}\"`\n )\n }\n }\n return translate(id, substitutionData)\n }\n }\n\n private setDictionary(locale: Locale, dictionary: TranslationDictionary) {\n this.dictionaries[locale] = dictionary\n this.triggerLoadNotification(locale)\n }\n\n private triggerLoadNotification(locale: Locale) {\n this.loadListeners.forEach((listener) => listener(locale))\n }\n\n private logFailure(message: string) {\n if (!this.translationErrorsLogged.has(message)) {\n this.logWarnOnce(message)\n if (this.options.logError) {\n this.options.logError(message)\n }\n this.translationErrorsLogged.add(message)\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private logWarnOnce(...args: any[]) {\n // Uses the FIRST argument to determine if previously logged\n if (!isEmpty(args) && !this.translationWarningsLogged.has(args[0])) {\n console.warn(...args) // eslint-disable-line no-console\n this.translationWarningsLogged.add(args[0])\n }\n }\n\n private async fetchDictionary(locale: Locale, cdnURL: string) {\n if (cdnURL) {\n const response = await this.restClient.get({\n url: cdnURL,\n })\n if (response.isOK) {\n const dict = response.json as TranslationDictionary\n if (typeof dict === 'object' && !isEmpty(dict)) {\n this.setDictionary(locale, dict)\n this.saveTranslationsToCache(dict)\n } else {\n // 2xx/304 but bad data, things won't get better...set a dummy dictionary and log error\n this.setDictionary(locale, {})\n this.logFailure(\n `Error loading translations for locale \"${locale}\" from ${cdnURL}: the server response was empty or not a translation dictionary`\n )\n }\n } else {\n // if 404 things won't get better...set a dummy dictionary and log error\n if (response.status === 404) {\n this.setDictionary(locale, {})\n }\n this.logFailure(\n `Error: HTTP status=${response.status} loading translations for locale \"${locale}\" from ${cdnURL}`\n )\n }\n } else {\n // the locale is unregistered...set a dummy dictionary and log error\n this.setDictionary(locale, {})\n this.logFailure(\n `Error loading translations for locale \"${locale}\": unknown locale`\n )\n }\n }\n\n private async fetchDictionaryWithCustomFetcher(\n locale: Locale,\n promiseToFetch: Promise<TranslationDictionary>\n ) {\n try {\n const dict = await promiseToFetch\n this.setDictionary(locale, dict as TranslationDictionary)\n this.saveTranslationsToCache(dict)\n } catch (error) {\n this.logFailure(\n `Translations load of locale \"${locale}\" failed using custom fetcher. Error was s=${error.toString()}. Will use default locale`\n )\n this.setDictionary(locale, {})\n }\n }\n\n private retrieveCachedTranslations(locale: Locale) {\n if (this.options.cacheProps) {\n try {\n const cacheProps = this.options.cacheProps\n const json = localStorage.getItem(this.cacheStorageKey())\n if (json) {\n const dict = JSON.parse(json)\n if (\n this.isDictionaryForCurrentLocale(dict, cacheProps.version, locale)\n ) {\n return dict\n }\n }\n } catch (error) {\n this.logWarnOnce(\n 'Unable to retrieve cached translations from local storage',\n error\n )\n }\n }\n return undefined\n }\n\n private saveTranslationsToCache(dictionary: TranslationDictionary) {\n if (this.options.cacheProps) {\n try {\n localStorage.setItem(this.cacheStorageKey(), JSON.stringify(dictionary))\n } catch (error) {\n this.logWarnOnce('Unable to cache translations in local storage', error)\n }\n }\n }\n\n private cacheStorageKey() {\n return `${LOCAL_STORAGE_CACHE_KEY}-${this.options.cacheProps?.name}`\n }\n\n private isDictionaryForCurrentLocale(\n dictionary: TranslationDictionary,\n version: string,\n locale: Locale\n ) {\n /* Expecting the dictionary to look like this:\n {\n \"_PACKAGE_VERSION\": \"1.30.2\",\n \"_LOCALE\": \"bg\",\n \"xxx\": \"xxxxxxxxx\",\n \"yyy\": \"yyyyyyy\",\n */\n return (\n dictionary._PACKAGE_VERSION === version && dictionary._LOCALE === locale\n )\n }\n}\n\nfunction isPromise(obj: unknown) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return obj && typeof (obj as any).then === 'function'\n}\n\nfunction localeWithoutCountryCode(locale: Locale) {\n return (locale.includes('-') ? locale.split('-') : locale.split('_'))[0]\n}\n\nfunction normalizeLocale(locale: Locale) {\n return locale ? locale.replace('_', '-') : locale\n}\n","/*\n\n Defer the work (add it to the end of the event queue)\n\n*/\n\nexport default function defer(work: () => void) {\n return setTimeout(work, 0)\n}\n","/*\n\n For new translations please apply these conventions for consistency and/or helping translator understand context:\n\n 1.) use upper case only for key names\n 2.) prefix the key with a component scope (e.g., \"CMTS:COMMENT_INPUT\")\n 3.) use upper case only for subsitution parameters, e.g., \"Page {{CURRENT_PAGE}} of {{NUMBER_PAGES}}\"\n 4.) use BTN or BUTTON in the key name to indicate the text is for a button\n 5.) suffix the key with :A11Y if the string is for accessibility only (hidden for sighted users)\n 6.) use short but understandable names for keys\n\n IMPORTANT: Do not change the meaning or substitution parameters of a key's value after the change has\n been merged to main!!! Previous versions of the translations may be used by code may be reading it.\n\n Plurals:\n\n Plural substitutions are defined differently than other substitution parameters. Instead of a single phrase\n you must provide an object with two properties: \"one\" and \"other\" (singular and plural). The parameter\n name must be PLURAL_COUNT.\n\n Example:\n\n \"SEND_TO\": {\n \"one\": \"Send {{PLURAL_COUNT}} notice to {{NAME}}\",\n \"other\": \"Send {{PLURAL_COUNT}} notices to {{NAME}}\"\n }\n\n\n NOTE: There can be only one plural substitution in a phrase.\n\n See translateText function for details on plural handling\n https://github.docusignhq.com/FrontEndShared/components/blob/HEAD/packages/base/src/Translation/Translation.ts\n\n\n*/\n\nconst enTranslations = {\n 'Powered by': 'Powered by {{DOCUSIGN_LOGO}}',\n 'Contact Us': 'Contact Us',\n 'Terms of Use': 'Terms of Use',\n Privacy: 'Privacy',\n 'Intellectual Property': 'Intellectual Property',\n 'xDTM Compliant': 'xDTM Compliant',\n 'FOOTER:TRUST': 'Trust',\n 'Copyright © {{CURRENT_YEAR}} DocuSign, Inc. All rights reserved':\n 'Copyright © {{CURRENT_YEAR}} DocuSign, Inc. All rights reserved',\n Feedback: 'Feedback',\n 'Aria-language-selector': 'language selector',\n 'CMTS:NAME_NOT_AVAILABLE': 'Name not available',\n 'CMTS:PRIVACY_DESCRIPTION_NOT_AVAILABLE': 'Privacy Description not available',\n 'CMTS:PRIVACY_TOOLTIP_NOT_AVAILABLE': 'Privacy Tooltip not available',\n 'CMTS:MORE_REPLIES_ONE': '1 more reply',\n 'CMTS:MORE_REPLIES_MULTIPLE': '{{HIDDEN_COMMENT_COUNT}} more replies',\n 'CMTS:REPLY_1': '1 reply',\n 'CMTS:REPLIES_COUNT_MULTIPLE': '{{COUNT}} replies',\n 'CMTS:UPDATE_1': '1 update',\n 'CMTS:UPDATE_COUNT_MULTIPLE': '{{COUNT}} updates',\n 'CMTS:ASSIGNMENT:READ_ONLY:USER':\n 'Task assigned to <Button>{{USER}}</Button>',\n 'CMTS:ASSIGNMENT:READ_ONLY:FIRST_PERSON':\n 'Task assigned to <Button>Me</Button>',\n 'CMTS:ASSIGNMENT:BUTTON:NO_ONE': 'Assign task to <Button>no one</Button>',\n 'CMTS:ASSIGNMENT:BUTTON:USER': 'Assign task to <Button>{{USER}}</Button>',\n 'CMTS:ASSIGNMENT:BUTTON:FIRST_PERSON': 'Assign task to <Button>Me</Button>',\n 'CMTS:ASSIGNMENT:LIST:NO_ONE': 'Assign to no one (notify only)',\n 'CMTS:ASSIGNMENT:LIST:USER': 'Assign to {{USER}}',\n 'CMTS:ASSIGNMENT:LIST:FIRST_PERSON': 'Assign to Me',\n 'CMTS:MENTION': 'Select who to notify',\n 'CMTS:MENTION:A11Y': 'Select a user to notify in the comment',\n 'CMTS:MENTION:NO_MATCHES': 'No matches found',\n 'CMTS:PRIVACY': 'Who can see this',\n 'CMTS:PRIVACY_TOOLTIP_PUBLIC': 'All recipients can see the comment',\n 'CMTS:ALL_RECIPIENTS': 'All Recipients',\n 'CMTS:LIMITED_RECIPIENTS': 'Limited Recipients',\n 'CMTS:LIMITED_RECIPIENTS_LIST': 'All except {{LIMITED_RECIPIENT_LIST}}',\n 'CMTS:DONE': 'DONE',\n 'CMTS:PUBLIC': 'Public',\n 'CMTS:REPLY': 'Reply',\n 'CMTS:POST': 'Post',\n 'CMTS:COMMENT_INPUT': 'Comment Input',\n 'CMTS:COMMENT_OR_MENTION': 'Comment or type @ to mention someone...',\n 'CMTS:WRITE_COMMENT': 'Write a comment...',\n 'CMTS:RESOLVE': 'RESOLVE',\n 'CMTS:RE_OPEN': 'RE-OPEN',\n 'CMTS:SELECTED': 'Selected',\n 'CMTS:CLOSE': 'CLOSE',\n 'CMTS:PRIVACY_HELP_TEXT':\n 'All comments will be visible to anyone with access to this document',\n 'CMTS:VIEW_COMMENT_FROM_PLACEHOLDER': 'View comment from placeholder',\n 'CMTS:ADD_REPLY:A11Y': 'Add reply to comment',\n 'CMTS:ADD_NEW:A11Y': 'Post new comment',\n 'CMTS:ADD_REPLY:TOOLTIP': ' ', // default to a space if it shouldn't be shown\n 'CMTS:ADD_NEW:TOOLTIP': ' ', // default to a space if it shouldn't be shown\n 'CMTS:RESOLVE_THREAD:A11Y': 'Resolve',\n 'CMTS:CLOSE:A11Y': 'Close comment',\n 'CMTS:RE_OPEN:A11Y': 'Reopen comment thread',\n 'CMTS:UNREAD_COMMENT:A11Y': 'Unread comment',\n 'CMTS:SELECTED:A11Y': 'Selected from document',\n 'CMTS:COMMENT_ACTIVITY:A11Y': 'Comment Activity',\n 'CMTS:COMMENT_PRIVACY:A11Y': 'Comment privacy',\n 'CMTS:PRIVACY_SETTINGS': 'Privacy settings',\n 'CMTS:COMMENT_ACTION_MENU_TOOLTIP': 'More Actions',\n 'CMTS:COMMENT_ACTION_MENU:A11Y': 'More actions menu',\n 'CMTS:COMMENT_ACTION_MENU_ITEMS:A11Y': 'More actions menu items',\n 'CMTS:START_NEW_THREAD_BUTTON:A11Y': 'Add a new comment',\n 'CMTS:START_NEW_THREAD_BUTTON_TOOLTIP':\n 'To add a comment, highlight some text on the document first.',\n 'CMTS:EDIT': 'Edit',\n 'CMTS:DELETE': 'Delete',\n 'CMTS:MORE_ACTIONS_MENU:A11Y': 'More Actions',\n 'CMTS:MORE_ACTIONS_MENU_ITEMS:A11Y': 'More Actions menu items',\n 'CMTS:SAVE': 'Save',\n 'CMTS:CANCEL': 'Cancel',\n 'CMTS:MENTION_OTHERS': 'Mention Others',\n 'CMTS:ERROR_EMPTY': 'Enter text to post comment',\n 'CMTS:ERROR_LENGTH': \"Comments can't be over {{MAX_LENGTH}} characters\",\n 'CMTS:COMMENT_RESOLVED': 'Comment resolved',\n 'CMTS:COMMENT_EDITED': 'Comment edited',\n 'D_P:January': 'January',\n 'D_P:February': 'February',\n 'D_P:March': 'March',\n 'D_P:April': 'April',\n 'D_P:May': 'May',\n 'D_P:June': 'June',\n 'D_P:July': 'July',\n 'D_P:August': 'August',\n 'D_P:September': 'September',\n 'D_P:October': 'October',\n 'D_P:November': 'November',\n 'D_P:December': 'December',\n 'D_P:Su': 'Su',\n 'D_P:Mo': 'Mo',\n 'D_P:Tu': 'Tu',\n 'D_P:We': 'We',\n 'D_P:Th': 'Th',\n 'D_P:Fr': 'Fr',\n 'D_P:Sa': 'Sa',\n 'D_P:Invalid': 'Invalid ({{EXPECTED_DATE_FORMAT}})',\n 'D_P:PreviousMonth': 'Previous Month',\n 'D_P:NextMonth': 'Next Month',\n 'D_P:OpenFromDatePicker': 'open from date picker',\n 'D_P:OpenToDatePicker': 'open to date picker',\n 'D_P:OpenDatePicker:A11Y': 'pick date',\n 'D_P:RangePicker:A11Y': 'pick dates from calendar',\n 'FILTER_BOX:ADD_FILTER': 'Add Filter',\n 'FILTER_BOX:APPLY_FILTER': 'Apply Filter',\n 'FILTER_BOX:DELETE_FILTER_A11Y': 'Delete Filter',\n 'FILTER_BOX:DIMENSION_SEARCH_RESULTS_A11Y':\n 'Showing {{COUNT}} search results.',\n 'FILTER_BOX:NO-CANDIDATES': 'No values found',\n 'FILTER_BOX:CANDIDATES_ERROR': 'Error occurred while loading the data',\n 'FILTER_BOX:STRING_MATCH_PLACEHOLDER': 'Type value',\n 'FILTER_BOX:DIMENSION_SEARCH_PLACEHOLDER': 'Try Searching...',\n 'FILTER_BOX:FILTERS_REGION_A11Y': 'Selected Filters',\n 'FILTER_BOX:DUPLICATE': 'This a duplicate of another filter',\n 'FILTER_BOX:ADD_CUSTOM_CANDIDATE': 'Add custom value for {{DIMENSION_NAME}}',\n 'FILTER_BOX:SAVE_CUSTOM_CANDIDATE': 'Save',\n 'FILTER_BOX:REMOVE_CUSTOM_CANDIDATE': 'Remove',\n 'FILTER_BOX:DUPLICATE_CANDIDATE_ERROR': 'Duplicate value',\n 'FILTER_BOX:EDIT_CANDIDATE:A11Y':\n 'Edit the custom value for {{CANDIDATE_VALUE}}',\n 'FILTER_BOX:CUSTOM_CANDIDATE_INPUT_DESCRIPTION':\n 'Enter a custom value for {{DIMENSION_NAME}}',\n 'FILTER_BOX:DUPLICATE_DIM_OPER':\n 'A previous filter for \"{{DIMENSION_NAME}}\" with \"{{OPERATOR}}\" has already been created. Edit the previous filter?',\n 'FILTER_BOX:EDIT_OTHER': 'Edit Previous Filter',\n 'FILTER_BOX:IS_OPERATOR': 'is',\n 'FILTER_BOX:IS_NOT_OPERATOR': 'is not',\n 'FILTER_BOX:ONE_OF_OPERATOR': 'one of',\n 'FILTER_BOX:NOT_ONE_OF_OPERATOR': 'not one of',\n 'FILTER_BOX:CONTAINS_OPERATOR': 'contains',\n 'FILTER_BOX:NOT_CONTAINS_OPERATOR': 'not contains',\n 'FILTER_BOX:BEFORE_OPERATOR': 'before',\n 'FILTER_BOX:AFTER_OPERATOR': 'after',\n 'FILTER_BOX:BETWEEN_OPERATOR': 'between',\n 'FILTER_BOX:NOT_BETWEEN_OPERATOR': 'not between',\n 'FILTER_BOX:EXISTS_OPERATOR': 'exists',\n 'FILTER_BOX:NOT EXISTS_OPERATOR': 'does not exist',\n 'FILTER_BOX:CONFLICTS_OPERATOR': 'has conflicting values',\n 'FILTER_BOX:NO_CONFLICTS_OPERATOR': 'not have conflicting values',\n 'FILTER_BOX:IS': '{{DIMENSION_NAME}} is {{VALUE}}',\n 'FILTER_BOX:IS_NOT': '{{DIMENSION_NAME}} is not {{VALUE}}',\n 'FILTER_BOX:ONE_OF': '{{DIMENSION_NAME}} one of {{VALUE_LIST}}',\n 'FILTER_BOX:NOT_ONE_OF': '{{DIMENSION_NAME}} not one of {{VALUE_LIST}}',\n 'FILTER_BOX:CONTAINS': '{{DIMENSION_NAME}} contains {{VALUE}}',\n 'FILTER_BOX:NOT_CONTAINS': '{{DIMENSION_NAME}} does not contains {{VALUE}}',\n 'FILTER_BOX:BEFORE': '{{DIMENSION_NAME}} before {{VALUE}}',\n 'FILTER_BOX:AFTER': '{{DIMENSION_NAME}} after {{VALUE}}',\n 'FILTER_BOX:BETWEEN': '{{DIMENSION_NAME}} between {{VALUE_LIST}}',\n 'FILTER_BOX:NOT_BETWEEN': '{{DIMENSION_NAME}} not between {{VALUE_LIST}}',\n 'FILTER_BOX:EXISTS': '{{DIMENSION_NAME}} exists',\n 'FILTER_BOX:NOT EXISTS': '{{DIMENSION_NAME}} does not exist',\n 'FILTER_BOX:CONFLICTS': '{{DIMENSION_NAME}} has conflicting values',\n 'FILTER_BOX:NO_CONFLICTS':\n '{{DIMENSION_NAME}} does not have conflicting values',\n 'HDR:Logout': 'Log Out',\n 'HDR:MyApps': 'My Apps',\n 'HDR:SwitchAcct': 'Switch Account',\n 'HDR:ManageProfile': 'Manage Profile',\n 'HDR:Profile': 'Profile',\n 'HDR:Account#': 'Account #',\n 'HDR:AppsMenu': 'Apps Menu',\n 'HDR:Notifications': 'Notifications',\n 'HDR:Help': 'Help',\n 'HDR:help-selector': 'help selector',\n 'HDR:profile-menu': 'profile menu',\n 'HDR:profile-info:A11Y': 'profile information',\n 'HDR:profile-actions:A11Y': 'Account Navigation',\n 'HDR:show-site-nav': 'Show site navigation',\n 'HDR:Footer': 'Site',\n 'HDR:AppInfo': 'App Information',\n 'HDR:AppLogoAltText:A11Y': 'DocuSign {{APP_NAME}} logo',\n 'HDR:CustomLogoAltText:A11Y': 'my account logo',\n 'subject-menu': '{{SUBJECT}} menu',\n close: 'close',\n help: 'help',\n search: 'search',\n previousMenu: 'previous menu',\n notifications: 'notifications',\n logo: 'logo',\n selectedNavItem: '- Selected',\n updatedItem: '- Updated',\n OK: 'OK',\n back: 'Back',\n loading: 'Loading...',\n 'PICKER:SELECT_INPUT_ACCESSIBILITY_TEST': 'Selector for item: {{ITEM_ID}}',\n 'PICKER:NO_RESULTS_MESSAGE': 'No results',\n 'PICKER:SHOW_MORE_FOLDERS_LINK': 'Show more',\n 'PICKER:SHOW_LESS_FOLDERS_LINK': 'Show less',\n 'PICKER:NO_SELECTION_MESSAGE': 'You have nothing selected',\n 'PICKER:LOADING_MESSAGE': 'Loading',\n 'PICKER:BROWSE_TAB_TITLE': 'Browse',\n 'PICKER:INLINE_FOLDER_BUTTON': 'Open Folder',\n 'PICKER:CLOSE_BUTTON_ACCESSIBILITY_TEXT': 'Close dialogue',\n 'PICKER:SELECTED_TAB_TITLE': 'Selected ({{SELECTED_COUNT}})',\n 'PICKER:SEARCH_BUTTON_ACCESSIBILITY_TEXT': 'Search',\n 'PICKER:CLEAR_BUTTON_ACCESSIBILITY_TEXT': 'Clear search',\n 'PICKER:SEARCH_INPUT_LABEL': 'Search',\n 'PICKER:SEARCH_INPUT_PLACEHOLDER': 'Search',\n 'PICKER:ROOT_FOLDER_LINK_TEXT': 'All Folders',\n 'PICKER:SELECTED_COLUMN_HEADER': 'Selected',\n 'PICKER:TABLE_ACTION_CELL_META': 'Meta Action',\n 'PICKER:SELECT_ALL': 'Select all',\n 'TIMEINPUT:BUTTON_ACCESSIBILITY_TEXT': '{{INPUT_LABEL}} Options',\n 'TIMEINPUT:MENU_GROUP_ACCESSIBILITY_TEXT':\n '{{INPUT_LABEL}} - Select using menu control',\n 'TUTORIALS:OPEN_CALLOUT': 'show tip',\n 'TUTORIALS:TRY_IT': 'Try it',\n 'TUTORIALS:NEXT_PAGE': 'Next',\n 'TUTORIALS:PREVIOUS_PAGE': 'Previous',\n 'TUTORIALS:ACKNOWLEDGED': 'Got It',\n 'TUTORIALS:PAGE_POSITION': 'Page {{CURRENT_PAGE}} of {{NUMBER_PAGES}}',\n 'TUTORIALS:NEW': 'NEW',\n 'ADDUSER:TITLE': 'Add Users',\n 'ADDUSER:MULTI_USER_PAYMENT_HEADER':\n 'Invite New User {{position}} of {{count}}',\n 'ADDUSER:SINGLE_USER_PAYMENT_HEADER': 'Invite New User',\n 'ADDUSER:DEFAULT_INFO_MSG':\n 'You will be charged when the new user activates the account.',\n 'ADDUSER:INVITED_SOME_TOAST_MSG':\n \"You've invited {{count}} user(s). You'll only be charged when they sign up.\",\n 'ADDUSER:INVITED_NONE_TOAST_MSG':\n 'No seats or charges have been added to your account. You can add users anytime.',\n 'ADDUSER:UPDATE_CARD': 'Update Card',\n 'ADDUSER:NEXT': 'Next',\n 'ADDUSER:CANCEL': 'Cancel',\n 'ADDUSER:FULL_NAME': 'Full Name',\n 'ADDUSER:EMAIL': 'Email',\n 'ADDUSER:INVITEUSER': 'Invite User',\n 'ADDUSER:ADDITIONAL_USERS': 'Additional users',\n 'ADDUSER:ANNUALLY': 'Annually',\n 'ADDUSER:MONTHLY': 'Monthly',\n 'ADDUSER:ESTIMATED_PRORATED_ADJUSTMENTS': 'Estimated prorated adjustments',\n 'ADDUSER:ESTIMATED_TOTAL': 'Estimated total',\n 'ADDUSER:NEXT_BILL': 'Next Bill on {{date}}',\n 'ADDUSER:PAYMENT_METHOD': 'Payment method',\n 'ADDUSER:SUCCESS_INVITE_MSG': 'You successfully invited {{name}}!',\n 'ADDUSER:PERMISSION_PROFILE': 'Permission profile',\n 'ADDUSER:PERMISSION_DROPDOWN': 'Permission Profile Dropdown',\n 'ADDUSER:CC_EXPIRED': 'Your credit card expired on {{date}}.',\n 'ADDUSER:ADMINISTRATOR':\n 'Can manage account and sending settings, users, and integrations.',\n 'ADDUSER:SENDER': 'Can send and sign envelopes, use and create templates.',\n 'ADDUSER:VIEWER': 'Can sign and view envelopes sent to them.',\n 'ADDUSER:NAME_VALIDATION': 'Enter a name to invite a user',\n 'ADDUSER:EMAIL_VALIDATION': 'Enter a valid email to invite a user',\n 'ADDUSER:LOADING': 'Loading',\n 'ADDUSER:ACTIVE_USER_EXISTS_ERROR_MSG':\n 'The user already exists. Edit the user in their profile',\n 'ADDUSER:CLOSED_USER_EXISTS_ERROR_MSG':\n 'A closed user with this email already exists. You can reactivate them in the ACTIONS menu',\n 'ADDUSER:USER_AWAITING_INFO_MSG':\n \"{{name}} has been invited but not yet activated. We've resent the activation email.\",\n 'OLIVE:AVATAR_COUNTER': '+{{NUM_AVATARS}}',\n 'OLIVE:BUTTON_GROUP:A11Y': 'Actions',\n 'OLIVE:CHARS_REMAINING': 'Characters remaining:',\n 'OLIVE:CHARS_OVER_LIMIT': 'Characters over limit:',\n 'OLIVE:CLOSE': 'Close',\n 'OLIVE:DEFAULT_PROFILE_IMAGE': 'Default profile image',\n 'OLIVE:DELETE': 'Delete',\n 'OLIVE:SIGNED_BY': 'DocuSigned by:',\n 'OLIVE:HIDE_CONTENT': 'Hide content',\n 'OLIVE:ICON_DISPLAYING_INITIALS': 'Icon displaying your initials',\n 'OLIVE:MAX_FILE_SIZE': 'Maximum File Size: {{size}}',\n 'OLIVE:MENU': 'Menu',\n 'OLIVE:SHOW_CONTENT': 'Show content',\n 'OLIVE:SKIP_TO_MAIN': 'Skip to main content',\n 'OLIVE:SUPPORTED_FORMATS': 'Supported Formats: {{formats}}',\n 'OLIVE:TEXT_COLOR': 'Text color',\n 'OLIVE:UPLOADED_PROFILE_IMAGE': 'Your uploaded profile image',\n 'COLOR:PICK_COLORS': 'Pick colors from an image',\n 'COLOR:MUST_LOAD_IMAGE': 'To sample colors, you must first upload an image.',\n 'COLOR:MUST_PICK_IMAGE': 'To sample colors, you must first choose an image.',\n 'COLOR:CLICK_TO_SAMPLE':\n 'Click anywhere on the image below to sample a color.',\n 'COLOR:CHOOSE_IMAGE': 'Choose Image',\n 'COLOR:DONE': 'Done',\n 'COLOR:DRAG_HERE': 'Drag and drop image file here',\n 'COLOR:DROP_AREA_LABEL:A11Y': 'Drop area',\n 'COLOR:INVALID_DROP':\n 'The file dropped is not a supported image file format. Please choose a file with one of these types:',\n 'COLOR:REPLACE_IMAGE_BUTTON': 'Replace Image',\n 'COLOR:HEX_INPUT': 'Hex',\n 'COLOR:HEX_INPUT_ERROR': 'Invalid',\n 'COLOR:HEX_INPUT_ERROR:A11Y': 'Invalid Hex Color',\n 'COLOR:SELECTED:A11Y': 'Selected Color',\n 'COLOR:RECENT_COLORS': 'Recent',\n 'COLOR:RECENT_COLOR:A11Y': 'Recently Used Color {{COLOR}}',\n 'COLOR:DISCRETE_SELECT-TAB:A11Y':\n 'Choose from matrix of colors - optimized for accessibility',\n 'COLOR:CONTINOUS_SELECT:A11Y': 'Choose from color palette',\n 'COLOR:DROPPER_SELECT:A11Y': 'Choose color from image',\n 'DATATABLE:SELECTED_COLUMN_HEADER': 'Selected',\n 'SEARCH:ALL_FILTER_INPUTS_TOGGLE_TEXT': 'All Filters',\n 'SEARCH:ALL_FILTER_INPUTS_TOGGLE:A11Y': 'Toggle all filters',\n 'SEARCH:APPLIED_FILTER:CLOSE:A11Y': 'Clear this applied filter',\n 'SEARCH:APPLIED_FILTER:DATE': '{{fromDate}} to {{toDate}}',\n 'SEARCH:APPLIED_FILTERS:CONTAINER_TITLE': 'Current Filters',\n 'SEARCH:DATE_COMPLETED_FILTER_DISPLAY_NAME': 'Date Completed',\n 'SEARCH:DATE_FILTER_LABEL_FROM': 'From',\n 'SEARCH:DATE_FILTER_LABEL_TO': 'To',\n 'SEARCH:DATE_FILTER_MENU_OPTION_ALL': 'All',\n 'SEARCH:DATE_FILTER_MENU_OPTION_CUSTOM': 'Custom',\n 'SEARCH:DATE_FILTER_MENU_OPTION_ONE_YEAR_AGO': 'Last 12 Months',\n 'SEARCH:DATE_FILTER_MENU_OPTION_SEVEN_DAYS_AGO': 'Last Week',\n 'SEARCH:DATE_FILTER_MENU_OPTION_SIX_MONTHS_AGO': 'Last 6 Months',\n 'SEARCH:DATE_FILTER_MENU_OPTION_THIRTY_DAYS_AGO': 'Last 30 Days',\n 'SEARCH:DATE_FILTER_MENU_OPTION_TWENTY_FOUR_HOURS_AGO': 'Last 24 Hours',\n 'SEARCH:ERROR_MESSAGE_LOADSETTINGSTIMEOUT':\n 'The system is taking longer than usual and timed out. Please refresh the page and try again.',\n 'SEARCH:ERROR_MESSAGE_LOADSETTINGSUNKNOWNERROR':\n 'We encountered a system error. Please refresh the page and try again.',\n 'SEARCH:ERROR_MESSAGE_LOADPREVIEWERROR':\n 'Failed loading document for envelope id: {{envelopeId}}',\n 'SEARCH:ERROR_MESSAGE_PERFORMSEARCHTIMEOUT':\n 'The system is taking longer than usual and timed out.',\n 'SEARCH:ERROR_MESSAGE_PERFORMSEARCHUNKNOWNERROR':\n 'We encountered a system error. Please try again.',\n 'SEARCH:ERROR_MESSAGE_SEARCHDISABLED':\n 'You don’t have access to this search. To request access, contact your administrator.',\n 'SEARCH:ERROR_RETRY_BUTTON': 'Retry',\n 'SEARCH:FORM_ANY_DATE': 'Any',\n 'SEARCH:FORM_APPLY': 'Apply',\n 'SEARCH:FORM_CANCEL': 'Cancel',\n 'SEARCH:FORM_RESET': 'Reset',\n 'SEARCH:LOADING_INDICATOR_LABEL': 'Loading',\n 'SEARCH:LOADING_INDICATOR_LABEL_WITH_ELLIPSIS': 'Loading...',\n 'SEARCH:NO_SEARCH_RESULTS':\n 'We couldn\\'t find any results for \"{{searchTerm}}\" and those filters.',\n 'SEARCH:PAGE_CONTEXT_SHOWING_RESULTS': 'Showing {{range}} of {{total}}',\n 'SEARCH:PREVIEW_ENVELOPE_BUTTON:A11Y': 'Click to preview envelope',\n 'SEARCH:SURVEY_DESCRIPTION': 'Any problems using search?',\n 'SEARCH:SURVEY_CALL_TO_ACTION':\n 'Any problems using search? <Link>Tell us about it.</Link>',\n 'SEARCH:SURVEY_IMAGE': 'Search survey image',\n 'SEARCH:SURVEY_LINK_PLACEHOLDER': 'Tell us all about it!',\n 'SEARCH:SEARCH_BAR_INPUT_LABEL:A11Y': 'Search Input',\n 'SEARCH:SEARCH_INPUT_PLACEHOLDER': 'Search your envelopes',\n 'SEARCH:RECIPIENT_FILTER_DISPLAY_NAME': 'Recipient',\n 'SEARCH:RECIPIENT_FILTER_MENU_OPTION_ANYONE': 'Received by Anyone',\n 'SEARCH:RECIPIENT_FILTER_MENU_OPTION_ME': 'Received by Me',\n 'SEARCH:RECIPIENT_FILTER_MENU_OPTION_OTHER': 'Received by Other',\n 'SEARCH:RESULTS_ACTION_ITEM_VIEW': 'View',\n 'SEARCH:RESULTS_COUNT_CONTEXT':\n 'Showing {{RANGE}} of {{TOTAL_RESULT_COUNT}} Results',\n 'SEARCH:RESULTS_COUNT_NONE': 'No Results',\n 'SEARCH:SENDER_FILTER_DISPLAY_NAME': 'Sender',\n 'SEARCH:SENDER_FILTER_MENU_OPTION_ANYONE': 'Sent by Anyone',\n 'SEARCH:SENDER_FILTER_MENU_OPTION_ME': 'Sent by Me',\n 'SEARCH:SENDER_FILTER_MENU_OPTION_OTHER': 'Sent by Other',\n 'SEARCH:SUBMIT_SEARCH_BUTTON:A11Y': 'Submit Search',\n 'SEARCH:WELCOME_DESCRIPTION':\n 'Locate completed agreements with matching field data or envelope properties.',\n 'SEARCH:WELCOME_HEADING_PART_ONE': 'At your fingertips.',\n 'SEARCH:WELCOME_HEADING_PART_TWO': 'Search within agreements.',\n 'SEARCH:WELCOME_IMAGE:A11Y': 'Search Welcome Image',\n 'SEARCH_ADMIN:ACTION_MENU_BUTTON_TEXT': 'Actions',\n 'SEARCH_ADMIN:ACTION_MENU_ITEM_BRING_TO_FRONT': 'Bring to front',\n 'SEARCH_ADMIN:ACTION_MENU_ITEM_RENAME': 'Rename',\n 'SEARCH_ADMIN:ACTION_MENU_ITEM_REMOVE': 'Remove',\n 'SEARCH_ADMIN:ACTION_MENU_ITEM_SEND_TO_BACK': 'Send to back',\n 'SEARCH_ADMIN:ACCUMULATOR_TABLE_AVAILABLE': 'Available',\n 'SEARCH_ADMIN:ACCUMULATOR_TABLE_SELECTED': 'Selected ({{NUM_SELECTED}})',\n 'SEARCH_ADMIN:MAIN_PAGE_DESCRIPTION':\n 'Manage how your users search to locate documents and envelopes.',\n 'SEARCH_ADMIN:MAIN_PAGE_TITLE': 'Search Settings',\n 'SEARCH_ADMIN:MODAL_CANCEL_BTN': 'Cancel',\n 'SEARCH_ADMIN:MODAL_SAVE_BTN': 'Save',\n 'SEARCH_ADMIN:SEARCH_INPUT_CLEAR_BTN_A11Y': 'Clear',\n 'SEARCH_ADMIN:TABLE_FILTER_INPUT_TEXT': 'Find by name...',\n 'SEARCH_ADMIN:TABLE_FILTER_BTN_TEXT': 'Search',\n 'SEARCH_ADMIN:TABLE_FILTER_INPUT_A11Y': 'Filter table results search input',\n 'SEARCH_ADMIN:SEARCH_VISIBILITY_DROPDOWN_LABEL': 'Search Visibility',\n 'SEARCH_ADMIN:SEARCH_VISIBILITY_OPTION_ADMINS_ONLY': 'Administrators',\n 'SEARCH_ADMIN:SEARCH_VISIBILITY_OPTION_EVERYONE': 'All Users',\n 'SEARCH_ADMIN:SEARCH_VISIBILITY_OPTION_NONE': 'No Users',\n 'SEARCH_ADMIN:SETTINGS_PANEL_EDIT_BTN': 'Edit',\n 'SEARCH_ADMIN:SETTINGS_PANEL_MANAGE_BTN': 'Manage',\n 'SEARCH_ADMIN:SETTINGS_PANEL_START_BTN': 'Start',\n 'T_A:{{duration}} day ago': '{{duration}} day ago',\n 'T_A:{{duration}} days ago': '{{duration}} days ago',\n 'T_A:{{duration}} hour ago': '{{duration}} hour ago',\n 'T_A:{{duration}} hours ago': '{{duration}} hours ago',\n 'T_A:Just Now': 'Just Now',\n 'T_A:{{duration}} minutes ago': '{{duration}} minutes ago',\n 'RECIP_CARD:ORDER:A11Y': 'Recipient order',\n 'RECIP_CARD:CUST_MENU_TRIGGER': 'Customize',\n 'RECIP_CARD:DELETE_RECIP:A11Y': 'Delete recipient',\n 'RECIP_CARD:DELETE_DRAWER:A11Y': 'Delete {{TITLE}}',\n 'RECIP_CARD:EXPAND_DRAWER:A11Y': 'Expand {{TITLE}}',\n 'RECIP_CARD:COLLAPSE_DRAWER:A11Y': 'Collapse {{TITLE}}',\n 'RECIP_CARD_GRP:CARD-LIST': 'Recipients',\n 'RECIP_CARD_GRP:EXPAND:A11Y': 'Expand Recipients',\n 'RECIP_CARD_GRP:COLLAPSE:A11Y': 'Collapse Recipients',\n 'ADMIN:BUTTON_GROUP_CANCEL_TEXT': 'Cancel',\n 'ADMIN:BUTTON_GROUP_SAVE_TEXT': 'Save',\n 'ADMIN:DETAILS_ACTION_BUTTON': 'Details',\n 'ADMIN:DISPLAY_ACTION_ITEM_MENU_BUTTON_TEXT': 'More Actions',\n 'ADMIN:LOADING_SPINNER_WITH_ELLIPSIS_TEXT': 'Loading...',\n 'ADMIN:PAGING_FIRST': 'First',\n 'ADMIN:PAGING_LAST': 'Last',\n 'ADMIN:PAGING_PREV': 'Previous',\n 'ADMIN:PAGING_NEXT': 'Next',\n // example: 1 - 10 of 50\n 'ADMIN:PAGING_DETAILS_NO_ITEM_TYPE':\n '<Highlight><FirstNumber /> - <LastNumber /></Highlight> of <TotalNumber />',\n // example: 1 - 10 of 50+\n 'ADMIN:PAGING_DETAILS_APPROXIMATE_NO_ITEM_TYPE':\n '<Highlight><FirstNumber /> - <LastNumber /></Highlight> of <TotalNumber />+',\n // example: 1 - 10 of 50 items\n 'ADMIN:PAGING_DETAILS':\n '<Highlight><FirstNumber /> - <LastNumber /></Highlight> of <TotalNumber /> <ItemType />',\n // example: 1 - 10 of 50+ items\n 'ADMIN:PAGING_DETAILS_APPROXIMATE':\n '<Highlight><FirstNumber /> - <LastNumber /></Highlight> of <TotalNumber />+ <ItemType />',\n 'AUTO-SUGG:CLEAR:A11Y': 'clear {{LABEL}}',\n 'PHONE_INPUT:LABEL': 'Phone Number',\n 'PHONE_INPUT:EXTENSION': 'Extension',\n 'PHONE_INPUT:EXTENSION_ABBREVIATED': 'Ext.',\n 'PHONE_INPUT:INVALID_ERROR': 'Phone number is invalid',\n 'PHONE_INPUT:EMPTY_SEARCH_RESULT': 'No matches found',\n 'PHONE_INPUT:FREEFORM_OPTION': 'Not Applicable (—)',\n 'PHONE_INPUT:FREEFORM_SELECTED': '-',\n 'PHONE_INPUT:COUNTRY_SELECT_HEADING': 'Country Calling Codes',\n 'PHONE_INPUT:SEARCH_LABEL': 'Search',\n 'PHONE_INPUT:TRIGGER_ARIA_LABEL': 'country calling code',\n 'DRAGGABLE_LIST:ON_FOCUS:A11Y':\n '{{CURRENT_POSITION}} of {{NUMBER_OF_ITEMS}}. {{DESCRIPTION}}. Press Spacebar to reorder.',\n 'DRAGGABLE_LIST:ON_SELECTION:A11Y':\n '{{ITEM_DESCRIPTION}}, grabbed. Current position in list is {{CURRENT_POSITION}} OF {{NUMBER_OF_ITEMS}}. Press up and down arrow keys to change position, Spacebar to drop, Escape key to cancel.',\n 'DRAGGABLE_LIST:ON_REORDER:A11Y': `{{ITEM_DESCRIPTION}}. Current position in list is {{CURRENT_POSITION}} of {{NUMBER_OF_ITEMS}}.`,\n 'DRAGGABLE_LIST:ON_CANCEL:A11Y': '{{ITEM_DESCRIPTION}} reorder cancelled.',\n 'DRAGGABLE_LIST:ON_DROP:A11Y':\n '{{ITEM_DESCRIPTION}}, dropped. Final position in list is {{CURRENT_POSITION}} of {{NUMBER_OF_ITEMS}}.',\n 'DRAGGABLE_LIST:INVALID_DRAG_AREA:A11Y':\n 'You are dragging over an area that cannot be dropped on.',\n 'IPH:HELP_FOR_PAGE': 'Help for this Page',\n 'IPH:HELP_FOR_PAGE_NAME': 'Help for {{PAGE_NAME}}',\n 'IPH:GO_TO_SITE_DSC': 'Go to site: Docusign Support Center',\n 'IPH:DEFAULT_MENU_MSG':\n 'Our content is currently unavailable. Please try again later or visit the support center.',\n 'IPH:DEFAULT_DRAWER_MSG':\n 'Our content is currently unavailable. Please try again later or visit the support center.',\n 'IPH:FULL_ARTICLE_LINK': 'Full Article Link',\n 'IPH:BACK_TO_MENU': 'Back To help section',\n 'IPH:CLOSE_HELP': 'Close help and return to main navigation',\n 'IPH:ARTICLES_GUIDES': 'Articles & Guides',\n 'IPH:HELP_FORUM': 'Help Forum',\n 'IPH:CONTACT_US': 'Contact Us',\n 'IPH:HELP_ARTICLE_PREVIEW': 'Help Article Preview',\n 'IPH:MORE_INFORMATION': 'More information',\n 'IPH:HELP': 'Help',\n CTY_AB: 'Abkhazia',\n CTY_AC: 'Ascension Island',\n CTY_AD: 'Andorra',\n CTY_AE: 'United Arab Emirates',\n CTY_AF: 'Afghanistan',\n CTY_AG: 'Antigua and Barbuda',\n CTY_AI: 'Anguilla',\n CTY_AL: 'Albania',\n CTY_AM: 'Armenia',\n CTY_AO: 'Angola',\n CTY_AQ: 'Antarctica',\n CTY_AR: 'Argentina',\n CTY_AS: 'American Samoa',\n CTY_AT: 'Austria',\n CTY_AU: 'Australia',\n CTY_AW: 'Aruba',\n CTY_AX: 'Ã…land Islands',\n CTY_AZ: 'Azerbaijan',\n CTY_BA: 'Bosnia and Herzegovina',\n CTY_BB: 'Barbados',\n CTY_BD: 'Bangladesh',\n CTY_BE: 'Belgium',\n CTY_BF: 'Burkina Faso',\n CTY_BG: 'Bulgaria',\n CTY_BH: 'Bahrain',\n CTY_BI: 'Burundi',\n CTY_BJ: 'Benin',\n CTY_BL: 'Saint Barthélemy',\n CTY_BM: 'Bermuda',\n CTY_BN: 'Brunei Darussalam',\n CTY_BO: 'Bolivia',\n CTY_BQ: 'Bonaire, Sint Eustatius and Saba',\n CTY_BR: 'Brazil',\n CTY_BS: 'Bahamas',\n CTY_BT: 'Bhutan',\n CTY_BV: 'Bouvet Island',\n CTY_BW: 'Botswana',\n CTY_BY: 'Belarus',\n CTY_BZ: 'Belize',\n CTY_CA: 'Canada',\n CTY_CC: 'Cocos (Keeling) Islands',\n CTY_CD: 'Congo, Democratic Republic of the',\n CTY_CF: 'Central African Republic',\n CTY_CG: 'Congo',\n CTY_CH: 'Switzerland',\n CTY_CI: \"Cote d'Ivoire\",\n CTY_CK: 'Cook Islands',\n CTY_CL: 'Chile',\n CTY_CM: 'Cameroon',\n CTY_CN: 'China',\n CTY_CO: 'Colombia',\n CTY_CR: 'Costa Rica',\n CTY_CU: 'Cuba',\n CTY_CV: 'Cape Verde',\n CTY_CW: 'Curaçao',\n CTY_CX: 'Christmas Island',\n CTY_CY: 'Cyprus',\n CTY_CZ: 'Czech Republic',\n CTY_DE: 'Germany',\n CTY_DJ: 'Djibouti',\n CTY_DK: 'Denmark',\n CTY_DM: 'Dominica',\n CTY_DO: 'Dominican Republic',\n CTY_DZ: 'Algeria',\n CTY_EC: 'Ecuador',\n CTY_EE: 'Estonia',\n CTY_EG: 'Egypt',\n CTY_EH: 'Western Sahara',\n CTY_ER: 'Eritrea',\n CTY_ES: 'Spain',\n CTY_ET: 'Ethiopia',\n CTY_FI: 'Finland',\n CTY_FJ: 'Fiji',\n CTY_FK: 'Falkland Islands',\n CTY_FM: 'Federated States of Micronesia',\n CTY_FO: 'Faroe Islands',\n CTY_FR: 'France',\n CTY_GA: 'Gabon',\n CTY_GB: 'United Kingdom',\n CTY_GD: 'Grenada',\n CTY_GE: 'Georgia',\n CTY_GF: 'French Guiana',\n CTY_GG: 'Guernsey',\n CTY_GH: 'Ghana',\n CTY_GI: 'Gibraltar',\n CTY_GL: 'Greenland',\n CTY_GM: 'Gambia',\n CTY_GN: 'Guinea',\n CTY_GP: 'Guadeloupe',\n CTY_GQ: 'Equatorial Guinea',\n CTY_GR: 'Greece',\n CTY_GS: 'South Georgia and the South Sandwich Islands',\n CTY_GT: 'Guatemala',\n CTY_GU: 'Guam',\n CTY_GW: 'Guinea-Bissau',\n CTY_GY: 'Guyana',\n CTY_HK: 'Hong Kong',\n CTY_HM: 'Heard Island and McDonald Islands',\n CTY_HN: 'Honduras',\n CTY_HR: 'Croatia',\n CTY_HT: 'Haiti',\n CTY_HU: 'Hungary',\n CTY_ID: 'Indonesia',\n CTY_IE: 'Ireland',\n CTY_IL: 'Israel',\n CTY_IM: 'Isle of Man',\n CTY_IN: 'India',\n CTY_IO: 'British Indian Ocean Territory',\n CTY_IQ: 'Iraq',\n CTY_IR: 'Iran',\n CTY_IS: 'Iceland',\n CTY_IT: 'Italy',\n CTY_JE: 'Jersey',\n CTY_JM: 'Jamaica',\n CTY_JO: 'Jordan',\n CTY_JP: 'Japan',\n CTY_KE: 'Kenya',\n CTY_KG: 'Kyrgyzstan',\n CTY_KH: 'Cambodia',\n CTY_KI: 'Kiribati',\n CTY_KM: 'Comoros',\n CTY_KN: 'Saint Kitts and Nevis',\n CTY_KP: 'North Korea',\n CTY_KR: 'South Korea',\n CTY_KW: 'Kuwait',\n CTY_KY: 'Cayman Islands',\n CTY_KZ: 'Kazakhstan',\n CTY_LA: 'Laos',\n CTY_LB: 'Lebanon',\n CTY_LC: 'Saint Lucia',\n CTY_LI: 'Liechtenstein',\n CTY_LK: 'Sri Lanka',\n CTY_LR: 'Liberia',\n CTY_LS: 'Lesotho',\n CTY_LT: 'Lithuania',\n CTY_LU: 'Luxembourg',\n CTY_LV: 'Latvia',\n CTY_LY: 'Libya',\n CTY_MA: 'Morocco',\n CTY_MC: 'Monaco',\n CTY_MD: 'Moldova',\n CTY_ME: 'Montenegro',\n CTY_MF: 'Saint Martin (French Part)',\n CTY_MG: 'Madagascar',\n CTY_MH: 'Marshall Islands',\n CTY_MK: 'North Macedonia',\n CTY_ML: 'Mali',\n CTY_MM: 'Myanmar',\n CTY_MN: 'Mongolia',\n CTY_MO: 'Macao',\n CTY_MP: 'Northern Mariana Islands',\n CTY_MQ: 'Martinique',\n CTY_MR: 'Mauritania',\n CTY_MS: 'Montserrat',\n CTY_MT: 'Malta',\n CTY_MU: 'Mauritius',\n CTY_MV: 'Maldives',\n CTY_MW: 'Malawi',\n CTY_MX: 'Mexico',\n CTY_MY: 'Malaysia',\n CTY_MZ: 'Mozambique',\n CTY_NA: 'Namibia',\n CTY_NC: 'New Caledonia',\n CTY_NE: 'Niger',\n CTY_NF: 'Norfolk Island',\n CTY_NG: 'Nigeria',\n CTY_NI: 'Nicaragua',\n CTY_NL: 'Netherlands',\n CTY_NO: 'Norway',\n CTY_NP: 'Nepal',\n CTY_NR: 'Nauru',\n CTY_NU: 'Niue',\n CTY_NZ: 'New Zealand',\n CTY_OM: 'Oman',\n CTY_OS: 'South Ossetia',\n CTY_PA: 'Panama',\n CTY_PE: 'Peru',\n CTY_PF: 'French Polynesia',\n CTY_PG: 'Papua New Guinea',\n CTY_PH: 'Philippines',\n CTY_PK: 'Pakistan',\n CTY_PL: 'Poland',\n CTY_PM: 'Saint Pierre and Miquelon',\n CTY_PN: 'Pitcairn',\n CTY_PR: 'Puerto Rico',\n CTY_PS: 'Palestine',\n CTY_PT: 'Portugal',\n CTY_PW: 'Palau',\n CTY_PY: 'Paraguay',\n CTY_QA: 'Qatar',\n CTY_RE: 'Reunion',\n CTY_RO: 'Romania',\n CTY_RS: 'Serbia',\n CTY_RU: 'Russia',\n CTY_RW: 'Rwanda',\n CTY_SA: 'Saudi Arabia',\n CTY_SB: 'Solomon Islands',\n CTY_SC: 'Seychelles',\n CTY_SD: 'Sudan',\n CTY_SE: 'Sweden',\n CTY_SG: 'Singapore',\n CTY_SH: 'Saint Helena',\n CTY_SI: 'Slovenia',\n CTY_SJ: 'Svalbard and Jan Mayen',\n CTY_SK: 'Slovakia',\n CTY_SL: 'Sierra Leone',\n CTY_SM: 'San Marino',\n CTY_SN: 'Senegal',\n CTY_SO: 'Somalia',\n CTY_SR: 'Suriname',\n CTY_SS: 'South Sudan',\n CTY_ST: 'Sao Tome and Principe',\n CTY_SV: 'El Salvador',\n CTY_SX: 'Sint Maarten',\n CTY_SY: 'Syria',\n CTY_SZ: 'Swaziland',\n CTY_TA: 'Tristan da Cunha',\n CTY_TC: 'Turks and Caicos Islands',\n CTY_TD: 'Chad',\n CTY_TF: 'French Southern Territories',\n CTY_TG: 'Togo',\n CTY_TH: 'Thailand',\n CTY_TJ: 'Tajikistan',\n CTY_TK: 'Tokelau',\n CTY_TL: 'Timor-Leste',\n CTY_TM: 'Turkmenistan',\n CTY_TN: 'Tunisia',\n CTY_TO: 'Tonga',\n CTY_TR: 'Turkey',\n CTY_TT: 'Trinidad and Tobago',\n CTY_TV: 'Tuvalu',\n CTY_TW: 'Taiwan',\n CTY_TZ: 'Tanzania',\n CTY_UA: 'Ukraine',\n CTY_UG: 'Uganda',\n CTY_UM: 'United States Minor Outlying Islands',\n CTY_US: 'United States',\n CTY_UY: 'Uruguay',\n CTY_UZ: 'Uzbekistan',\n CTY_VA: 'Holy See (Vatican City State)',\n CTY_VC: 'Saint Vincent and the Grenadines',\n CTY_VE: 'Venezuela',\n CTY_VG: 'Virgin Islands, British',\n CTY_VI: 'Virgin Islands, U.S.',\n CTY_VN: 'Vietnam',\n CTY_VU: 'Vanuatu',\n CTY_WF: 'Wallis and Futuna',\n CTY_WS: 'Samoa',\n CTY_XK: 'Kosovo',\n CTY_YE: 'Yemen',\n CTY_YT: 'Mayotte',\n CTY_ZA: 'South Africa',\n CTY_ZM: 'Zambia',\n CTY_ZW: 'Zimbabwe',\n}\n\nexport default enTranslations\n","export const locales = [\n 'ar',\n 'bg',\n 'cs',\n 'da',\n 'de',\n 'el',\n 'en',\n 'en-GB',\n 'es-MX',\n 'es',\n 'et',\n 'fa',\n 'fi',\n 'fr-CA',\n 'fr',\n 'he',\n 'hi',\n 'hr',\n 'hu',\n 'hy',\n 'id',\n 'it',\n 'ja',\n 'en',\n 'ko',\n 'lt',\n 'lv',\n 'ms',\n 'nl',\n 'no',\n 'pl',\n 'pseudo',\n 'pt-BR',\n 'pt',\n 'ro',\n 'ru',\n 'sk',\n 'sl',\n 'sr',\n 'sv',\n 'th',\n 'tr',\n 'uk',\n 'vi',\n 'zh-CN',\n 'zh-TW',\n]\n","export const translationsVersion = '1.97.0'\n","import { locales } from './locales'\nimport { translationsVersion } from './translationsVersion'\n\nexport const cdnURLsPROD: Record<string, string> = {}\n\nlocales.forEach((locale) => {\n cdnURLsPROD[\n locale\n ] = `https://docucdn-a.akamaihd.net/components/translations/${translationsVersion}/fes/${locale}.json`\n})\n\nexport const cdnURLsTEST: Record<string, string> = {}\n\nlocales.forEach((locale) => {\n cdnURLsTEST[\n locale\n ] = `https://docutest-a.akamaihd.net/241848/components/translations/${translationsVersion}/fes/${locale}.json`\n})\n","import { TranslationsWarehouse, Locale } from '@ds/base'\nimport enTranslations from './enTranslations'\nimport { logComponentError } from '@ds/logging'\nimport { TranslationKeys } from './types'\nimport { cdnURLsPROD } from './translationURLs'\nimport { translationsVersion } from './translationsVersion'\n/*\n\n Translations warehouse for the shared components library\n\n*/\n\nconst urlLookup = (locale: Locale) => {\n return cdnURLsPROD[locale]\n}\n\nconst warehouse = new TranslationsWarehouse<TranslationKeys>(\n urlLookup,\n enTranslations,\n {\n cacheProps: { name: 'shared_components', version: translationsVersion },\n logError: (message) =>\n logComponentError(\n {\n message,\n },\n 'translations-warehouse'\n ),\n }\n)\n\nexport default warehouse\n","import { TranslateFunction, Locale } from '@ds/base'\nimport { useWarehouseTranslate } from '@ds/react-utils'\nimport translationsWarehouse from './translationsWarehouse'\nimport { TranslationKeys } from './types'\n\n/*\n This react hook returns a TranslateFunction for doing\n text language translation. See TranslateFunction for\n details on the function.\n\n By default the hook uses the HTML lang attribute to determine the locale.\n You can override this by providing a locale parameter.\n\n*/\n\nfunction useTranslate(locale?: Locale): TranslateFunction<TranslationKeys> {\n return useWarehouseTranslate<TranslationKeys>(translationsWarehouse, locale)\n}\n\nexport default useTranslate\n","export default {\n ModalContainer: 'ModalContainer',\n OverlayContainer: 'OverlayContainer',\n SkipNavContainer: 'SkipNavContainer',\n ToastMessageContainer: 'ToastMessageContainer',\n\n OliveReactOverlays: 'OliveReactOverlays',\n OliveReactModals: 'OliveReactModals',\n OliveReactToastMessages: 'OliveReactToastMessages',\n}\n","import { times, zIndexes } from '../../../variables'\nimport colors from '../../../theming/docusign-themes/olive/colors'\nimport { CreateFocusCss } from '../../../styles'\n\nexport default {\n SkipNav: {\n transition: `margin ${times.SkipNav.exit}ms ease-out`,\n alignItems: 'center',\n background: colors.gray9_alpha90,\n color: colors.white,\n justifyContent: 'center',\n display: 'flex',\n height: '28px',\n outline: 'none',\n position: 'absolute',\n textAlign: 'center',\n textDecoration: 'underline',\n width: '100%',\n marginTop: '-28px',\n zIndex: zIndexes.SkipNav,\n\n ...CreateFocusCss({\n transition: `margin ${times.SkipNav.enter}ms ease-in`,\n marginTop: '0',\n }),\n },\n} as const\n","/* globals document */\nimport React, { useEffect, useState } from 'react'\nimport ReactDOM from 'react-dom'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\nimport { globalIds } from '../../../variables'\nimport styles from './styles'\n\nexport interface SkipNavProps {\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n /**\n * The id to target.\n */\n target?: string\n /**\n * The text to display.\n */\n text?: string\n}\n\nfunction SkipNavBase(props: SkipNavProps) {\n const { target, text, ...restProps } = props\n return (\n <a {...dataProps(restProps)} css={styles.SkipNav} href={`#${target || ''}`}>\n {text}\n </a>\n )\n}\n\nexport function SkipNav(props: SkipNavProps) {\n const [skipNavContainer, setSkipNavContainer] =\n useState<HTMLDivElement | null>(null)\n\n useEffect(() => {\n let skipNavTarget: HTMLDivElement | null = null\n if (!skipNavContainer) {\n skipNavTarget = document.createElement('div')\n skipNavTarget.setAttribute('id', globalIds.SkipNavContainer)\n skipNavTarget.setAttribute('aria-live', 'polite')\n skipNavTarget.setAttribute('aria-relevant', 'positions')\n document.body.prepend(skipNavTarget)\n setSkipNavContainer(skipNavTarget)\n }\n\n return () => {\n if (skipNavContainer && document.body.contains(skipNavContainer)) {\n document.body.removeChild(skipNavContainer)\n }\n }\n }, [skipNavContainer])\n\n return skipNavContainer\n ? ReactDOM.createPortal(<SkipNavBase {...props} />, skipNavContainer)\n : null\n}\n\nSkipNavBase.propTypes = {\n 'data-.*': PropTypes.string,\n target: PropTypes.string,\n text: PropTypes.string,\n}\n\nSkipNavBase.defaultProps = {\n 'data-.*': undefined,\n target: undefined,\n text: undefined,\n}\n\nSkipNav.propTypes = SkipNavBase.propTypes\nSkipNav.defaultProps = SkipNavBase.defaultProps\n\nSkipNav.displayName = 'SkipNav'\nSkipNavBase.displayName = 'SkipNav.Base'\n\nSkipNav.Base = SkipNavBase\n","/**\n * A function that determines whether child type is equal to\n * the Component type by comparing their displayName properties.\n *\n * @returns Whether the provided child type and Component type equal to each other\n */\nexport const isChildTypeEqualToComponentType = (\n child: React.ReactElement,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: React.FC<any>\n): boolean => child?.type === component\n","import { Tokens } from '../../../theming/types'\n\nimport { styles } from '../../../utilities'\nimport colors from '../../../theming/docusign-themes/olive/colors'\nimport { CreateFocusCss } from '../../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n alignItems: 'center',\n backgroundColor: 'transparent',\n border: 'none',\n borderRadius: 0,\n color: colors.white,\n cursor: 'pointer',\n display: 'flex',\n fontFamily: tokens.font.heading,\n fontSize: '13px',\n fontWeight: 700,\n height: '52px',\n letterSpacing: '0.66px',\n padding: '0 12px',\n position: 'relative',\n textDecoration: 'none',\n textTransform: 'uppercase',\n transition: `\n background-color 0.2s ease,\n color 0.2s ease\n `,\n whiteSpace: 'nowrap',\n\n '&::after': {\n backgroundColor: 'transparent',\n bottom: '14px',\n border: 'none',\n content: '\"\"',\n display: 'block',\n height: '2px',\n left: 0,\n margin: 'auto',\n position: 'absolute',\n right: 0,\n transition: 'background-color 0.2s ease',\n width: 'calc(100% - 12px * 2)',\n },\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n backgroundColor: colors.DocuSignBlueLight,\n color: colors.white,\n textDecoration: 'none',\n },\n\n '&:active': {\n outline: 'none',\n },\n\n ...CreateFocusCss({\n outline: `1px dotted ${colors.white}`,\n outlineOffset: '-4px',\n }),\n },\n\n icon: {\n display: 'flex',\n\n 'svg, img': {\n fill: 'currentColor',\n width: tokens.icon.defaultSize,\n },\n },\n\n badge: {\n display: 'flex',\n position: 'absolute',\n right: 0,\n top: '12px',\n },\n },\n\n selected: {\n wrap: {\n color: colors.white,\n\n '&::after': {\n backgroundColor: colors.white,\n },\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n color: colors.white,\n\n '&::after': {\n backgroundColor: colors.white,\n },\n },\n },\n },\n\n isIconOnly: {\n wrap: {\n padding: '0 12px',\n },\n\n text: {\n ...styles.visuallyHidden,\n },\n\n icon: {\n margin: 0,\n },\n\n badge: {\n right: '6px',\n },\n },\n\n hasIconBeforeText: {\n icon: {\n marginRight: '6px',\n },\n },\n\n hasIconAfterText: {\n icon: {\n marginLeft: '6px',\n },\n },\n\n hasMarginLeft: {\n wrap: {\n marginLeft: '12px',\n },\n },\n\n hasMarginRight: {\n wrap: {\n marginRight: '12px',\n },\n },\n\n hasMenuTrigger: {\n wrap: {\n paddingRight: '27px',\n\n '&::after': {\n borderColor: `${colors.white} transparent transparent transparent`,\n borderStyle: 'solid',\n borderWidth: '6px 4px 0 4px',\n content: '\"\"',\n display: 'block',\n height: 0,\n pointerEvents: 'none',\n position: 'absolute',\n right: '12px',\n top: 'calc(50% - 3px)',\n width: 0,\n },\n },\n },\n\n underlineOnHover: {\n wrap: {\n color: colors.DocuSignBluePale,\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n backgroundColor: 'transparent',\n color: colors.DocuSignBluePale,\n\n '&::after': {\n backgroundColor: colors.DocuSignBluePale,\n },\n },\n },\n },\n } as const\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps } from '@ds/react-utils'\nimport {\n AriaCurrent,\n ConditionalTagRef,\n EventListenerProps,\n OliveIcon,\n OliveImageIcon,\n} from '../../../types'\n\nimport { requiredPropMessage } from '../../../logging'\nimport { CustomPropTypes } from '../../../support'\nimport { useThemeStyles } from '../../../theming'\nimport { AnchorTarget, anchorTargets } from '../../../variables'\n\nimport {\n IconOrImage,\n iconWithImageKinds,\n} from '../../../internal/components/IconOrImage'\n\nimport baseStyles from './styles'\nimport { DotBadgeProps } from '../../DotBadge'\nimport { HeaderActionItemIconProps } from '../HeaderActionItemIcon'\nimport { IconProps } from '../../Icon'\nimport { ConditionalTag } from '../../../internal/components/ConditionalTag'\n\nexport const headerActionItemIcons = iconWithImageKinds\n\nexport const headerActionItemIconPositions = [\n 'beforeText',\n 'afterText',\n] as const\n\nexport type HeaderActionIconPosition =\n typeof headerActionItemIconPositions[number]\n\nexport const headerActionItemSelectedAriaCurrentTokens = [\n 'page',\n 'step',\n 'location',\n 'date',\n 'time',\n 'true',\n 'false',\n] as const\n\nexport type HeaderActionSelectedAriaCurrentToken =\n typeof headerActionItemSelectedAriaCurrentTokens[number]\n\nexport interface HeaderActionItemProps\n extends EventListenerProps<HTMLAnchorElement | HTMLButtonElement> {\n /**\n * The text to be displayed.\n */\n text: string\n /**\n * Hides the text while allowing assistive devices to identify the control.\n */\n hideText?: boolean\n /**\n * URL for navigating.\n */\n href?: string\n /**\n * The Icon to display.\n */\n icon?: OliveIcon | OliveImageIcon\n /**\n * Accepts any Icon node `iconElement={(<Icon kind=\"download\" ... />)}`.\n */\n iconElement?:\n | React.ReactElement<IconProps>\n | React.ReactElement<HeaderActionItemIconProps>\n /**\n * Position the supplied icon before or after the text.\n */\n iconPosition?: HeaderActionIconPosition\n /**\n * Applies a margin-left of 12px to the Header.ActionItem,\n * to allow spacing Header elements.\n */\n marginLeft?: boolean\n /**\n * Applies a margin-right of 12px to the Header.ActionItem,\n * to allow spacing Header elements.\n */\n marginRight?: boolean\n /** @ignore */\n menuTrigger?: boolean\n /**\n * The HTML link target to use when an href is given.\n */\n target?: AnchorTarget\n /**\n * A React ref to assign to the HTML node representing the Header.ActionItem element.\n */\n forwardedRef?: ConditionalTagRef\n /** @deprecated use 'forwardedRef' instead */\n ref?: ConditionalTagRef\n /**\n * The relationship of the linked URL of an anchor as space-separated link types.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n */\n rel?: string\n /**\n * The \"badge\" element to display above the top-right of the Header.ActionItem.\n *\n * The normal use case for this would be to signify that there are notifications to be read\n * or actions to be taken, and a DotBadge element is provided to this prop to indicate such.\n */\n badge?: React.ReactElement<DotBadgeProps>\n /**\n * Applies a 'selected' treatment to the Header.ActionItem.\n */\n selected?: boolean\n /**\n * The value to supply to the aria-current attribute when this HeaderActionItem is the\n * \"selected\" item.\n *\n * Within a set of related items:\n *\n * 1. there should only be one \"selected\" item (which will receive a value for `aria-current`)\n *\n * 2. all of the items should use the same token for `aria-current` when active (indicating that\n * the item is the current \"page\" within a set of pages, or the current \"step\" within a process,\n * or the current \"location\" within an environment, etc.).\n */\n selectedAriaCurrentToken?: AriaCurrent\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n /**\n * Apply underline styles on hover. This is specifically for OliveLegacy styles\n * and should only be used on main navigation items.\n */\n underlineOnHover?: boolean\n}\n\n// TODO: Causing breaking change, reintroduce in v5\n// export type HeaderActionItemProps = RequireAtLeastOne<\n// BaseHeaderActionItemProps,\n// 'href' | 'onClick'\n// >\n\nexport function HeaderActionItem(props: HeaderActionItemProps) {\n const {\n badge,\n forwardedRef,\n hideText = false,\n href,\n icon,\n iconElement,\n iconPosition = 'beforeText',\n marginLeft = false,\n marginRight = false,\n onClick,\n selected = false,\n selectedAriaCurrentToken = 'true',\n rel,\n target,\n text,\n underlineOnHover = false,\n ...restProps\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'HeaderActionItem')\n\n const isIconOnly = text && hideText && (icon || iconElement)\n\n /** Badge node */\n const badgeStyles = [\n styles.default.badge,\n isIconOnly && styles.isIconOnly.badge,\n ]\n\n const BadgeNode = badge && <span css={badgeStyles}>{badge}</span>\n\n /** Icon node */\n const iconStyles = [\n styles.default.icon,\n iconPosition === 'beforeText' && styles.hasIconBeforeText.icon,\n iconPosition === 'afterText' && styles.hasIconAfterText.icon,\n isIconOnly && styles.isIconOnly.icon,\n ]\n\n const IconNode = (iconElement || icon) && (\n <span css={iconStyles}>\n {iconElement}\n {!iconElement && icon && <IconOrImage kind={icon} />}\n </span>\n )\n\n const IconBeforeTextNode = iconPosition === 'beforeText' && IconNode\n const IconAfterTextNode = iconPosition === 'afterText' && IconNode\n\n /** Text node */\n const textStyles = [isIconOnly && styles.isIconOnly.text]\n\n const TextNode = <span css={textStyles}>{text}</span>\n\n /** Action item wrap node */\n const wrapStyles = [\n styles.default.wrap,\n underlineOnHover && styles.underlineOnHover.wrap,\n restProps.menuTrigger && styles.hasMenuTrigger.wrap,\n isIconOnly && styles.isIconOnly.wrap,\n marginLeft && styles.hasMarginLeft.wrap,\n marginRight && styles.hasMarginRight.wrap,\n selected && styles.selected.wrap,\n ]\n\n if (!href && !onClick) {\n requiredPropMessage({\n component: 'Header.ActionItem',\n prop1: 'href',\n prop2: 'onClick',\n })\n }\n\n return (\n <ConditionalTag\n {...dataProps(restProps)}\n {...onProps(restProps)}\n {...(selected && { 'aria-current': selectedAriaCurrentToken })}\n forceButton\n href={href}\n rel={rel}\n target={target}\n css={wrapStyles}\n onClick={onClick}\n forwardedRef={forwardedRef}\n >\n {IconBeforeTextNode}\n {TextNode}\n {IconAfterTextNode}\n {BadgeNode}\n </ConditionalTag>\n )\n}\n\nHeaderActionItem.icons = headerActionItemIcons\nHeaderActionItem.iconPositions = headerActionItemIconPositions\nHeaderActionItem.targets = anchorTargets\nHeaderActionItem.selectedAriaCurrentTokens =\n headerActionItemSelectedAriaCurrentTokens\n\nHeaderActionItem.propTypes = {\n badge: PropTypes.element,\n 'data-.*': PropTypes.string,\n forwardedRef: CustomPropTypes.ReactRef,\n hideText: PropTypes.bool,\n href: PropTypes.string,\n icon: PropTypes.oneOf(headerActionItemIcons),\n iconElement: PropTypes.element,\n iconPosition: PropTypes.oneOf(headerActionItemIconPositions),\n marginLeft: PropTypes.bool,\n marginRight: PropTypes.bool,\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n rel: PropTypes.string,\n selected: PropTypes.bool,\n selectedAriaCurrentToken: PropTypes.oneOf(\n headerActionItemSelectedAriaCurrentTokens\n ),\n target: PropTypes.oneOf(anchorTargets),\n text: PropTypes.string.isRequired,\n underlineOnHover: PropTypes.bool,\n}\n\nHeaderActionItem.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n badge: undefined,\n forwardedRef: undefined,\n hideText: false,\n href: undefined,\n icon: undefined,\n iconElement: undefined,\n iconPosition: 'beforeText',\n marginLeft: false,\n marginRight: false,\n onClick: undefined,\n rel: undefined,\n selected: false,\n selectedAriaCurrentToken: 'true',\n target: undefined,\n underlineOnHover: false,\n}\n","import { withRef } from '../../../HOC'\n\nimport { HeaderActionItem } from './HeaderActionItem'\n\nexport const HeaderActionItemWithRef = withRef(HeaderActionItem)\n","import { styles } from '../../utilities'\nimport { zIndexes } from '../../variables'\nimport colors from '../../theming/docusign-themes/olive/colors'\nimport { CreateFocusCss } from '../../styles'\n\nexport default () =>\n ({\n Header: {\n default: {\n backgroundColor: colors.DocuSignBlue,\n flex: '0 0 auto',\n zIndex: zIndexes.aboveBaseLevel,\n },\n\n wrap: {\n alignItems: 'center',\n color: colors.white,\n display: 'flex',\n flexDirection: 'row',\n height: '52px',\n justifyContent: 'space-between',\n margin: '0 auto',\n minWidth: '320px',\n maxWidth: '1506px',\n padding: '0 12px 0 24px',\n position: 'relative',\n },\n\n fullWidth: {\n maxWidth: 'none',\n padding: '0 16px 0 8px',\n },\n },\n\n HeaderLeft: {\n alignItems: 'center',\n display: 'flex',\n height: 'inherit',\n flex: '1 1 25%',\n minWidth: '196px',\n },\n\n HeaderCenter: {\n flex: '1 1 auto',\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n },\n\n HeaderRight: {\n alignItems: 'center',\n display: 'flex',\n flex: '1 1 25%',\n justifyContent: 'flex-end',\n minWidth: '243px',\n },\n\n Title: {\n default: {\n color: colors.periwinkleLight,\n display: 'block',\n lineHeight: '28px',\n ...styles.ellipsis,\n },\n\n leftVerticalSeparator: {\n borderLeft: `1px solid ${colors.DocuSignBlueLight}`,\n marginLeft: '4px',\n paddingLeft: '16px',\n },\n },\n\n Avatar: {\n default: {\n alignItems: 'stretch',\n display: 'flex',\n height: '52px',\n },\n\n label: styles.visuallyHidden,\n\n wrap: {\n alignItems: 'center',\n backgroundColor: 'transparent',\n border: 'none',\n color: colors.white,\n cursor: 'pointer',\n display: 'block',\n padding: '0 12px',\n transition: 'background-color 0.2s ease',\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n backgroundColor: colors.DocuSignBlueLight,\n },\n\n ...CreateFocusCss({\n outline: `1px dotted ${colors.white}`,\n outlineOffset: '-4px',\n }),\n },\n },\n\n Nav: {\n alignContent: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n\n '> li': {\n margin: '0 12px',\n },\n },\n\n hidden: styles.visuallyHidden,\n } as const)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\n\nimport { useThemeStyles } from '../../theming'\nimport baseStyles from './styles'\n\nexport interface HeaderTitleProps {\n /**\n * Text that will be rendered for the HeaderTitle element.\n */\n children: string\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n /** @ignore */\n precededByHeaderAction?: boolean\n}\n\nexport function HeaderTitle(props: HeaderTitleProps) {\n const { children, ...restProps } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'Header')\n\n const headerTitleStyles = [\n styles.Title.default,\n restProps.precededByHeaderAction && styles.Title.leftVerticalSeparator,\n ]\n\n return (\n <p {...dataProps(restProps)} css={headerTitleStyles}>\n {children}\n </p>\n )\n}\n\nHeaderTitle.propTypes = {\n children: PropTypes.string.isRequired,\n 'data-.*': PropTypes.string,\n}\n\nHeaderTitle.defaultProps = {\n 'data-.*': undefined,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\n\nimport { useThemeStyles } from '../../theming'\nimport { isChildTypeEqualToComponentType } from '../../utilities'\n\nimport { HeaderActionItem } from './HeaderActionItem'\nimport { HeaderTitle } from './HeaderTitle'\n\nimport baseStyles from './styles'\n\nexport interface HeaderLeftProps {\n /**\n * Children in the left side of the Header.\n */\n children: React.ReactNode\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\nexport function HeaderLeft(props: HeaderLeftProps) {\n const { children, ...restProps } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles)\n\n const decoratedChildren = React.Children.map(children, (child, index) => {\n const previousChild = React.Children.toArray(children)[index - 1]\n if (\n React.isValidElement(child) &&\n isChildTypeEqualToComponentType(child, HeaderTitle) &&\n React.isValidElement(previousChild) &&\n isChildTypeEqualToComponentType(previousChild, HeaderActionItem)\n ) {\n return React.cloneElement(child, {\n precededByHeaderAction: true,\n })\n }\n\n return child\n })\n\n return (\n <div {...dataProps(restProps)} css={styles.HeaderLeft}>\n {decoratedChildren}\n </div>\n )\n}\n\nHeaderLeft.propTypes = {\n children: PropTypes.node.isRequired,\n 'data-.*': PropTypes.string,\n}\n\nHeaderLeft.defaultProps = {\n 'data-.*': undefined,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\n\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nexport interface HeaderCenterProps {\n /**\n * Children in the middle of the Header.\n */\n children: React.ReactNode\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\nexport function HeaderCenter(props: HeaderCenterProps) {\n const { children, ...restProps } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'Header')\n\n return (\n <div {...dataProps(restProps)} css={styles.HeaderCenter}>\n {children}\n </div>\n )\n}\n\nHeaderCenter.propTypes = {\n children: PropTypes.node.isRequired,\n 'data-.*': PropTypes.string,\n}\n\nHeaderCenter.defaultProps = {\n 'data-.*': undefined,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\n\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nexport interface HeaderRightProps {\n /**\n * Children in the right side of the Header.\n */\n children: React.ReactNode\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\nexport function HeaderRight(props: HeaderRightProps) {\n const { children, ...restProps } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'Header')\n\n return (\n <div {...dataProps(restProps)} css={styles.HeaderRight}>\n {children}\n </div>\n )\n}\n\nHeaderRight.propTypes = {\n children: PropTypes.node.isRequired,\n 'data-.*': PropTypes.string,\n}\n\nHeaderRight.defaultProps = {\n 'data-.*': undefined,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { IconSmall } from '../../../internal/components/IconSmall'\n\nexport const HeaderActionItemIcons = IconSmall.kinds\n\nfunction HeaderActionItemIcon(props) {\n const { kind } = props\n\n return <IconSmall kind={kind} />\n}\n\nHeaderActionItemIcon.icons = HeaderActionItemIcons\n\nHeaderActionItemIcon.propTypes = {\n /**\n * The Icon to display.\n */\n kind: PropTypes.string.isRequired,\n}\n\nexport default HeaderActionItemIcon\n","import _extends from \"@babel/runtime-corejs3/helpers/esm/extends\";\nimport * as React from \"react\";\n\nfunction SvgInkAvatarPlaceholder(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 26,\n viewBox: \"0 0 24 26\",\n xmlns: \"http://www.w3.org/2000/svg\",\n focusable: false\n }, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c3.796 0 6.875 2.985 6.875 6.667 0 1.974-.885 3.747-2.291 4.968C20.37 14.32 23 18.03 23 22.333V25H1v-2.667c0-4.304 2.63-8.013 6.416-9.699-1.406-1.22-2.291-2.993-2.291-4.967C5.125 3.985 8.204 1 12 1zm0 13.333c-4.55 0-8.25 3.588-8.25 8h16.5c0-4.412-3.7-8-8.25-8zm0-10.8c-2.35 0-4.262 1.855-4.262 4.134C7.738 9.945 9.65 11.8 12 11.8c2.35 0 4.262-1.855 4.262-4.133 0-2.279-1.912-4.134-4.262-4.134z\",\n fillRule: \"evenodd\"\n }));\n}\n\nexport default SvgInkAvatarPlaceholder;","import _extends from \"@babel/runtime-corejs3/helpers/esm/extends\";\nimport * as React from \"react\";\n\nfunction SvgOliveAvatarPlaceholder(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 96,\n height: 96,\n viewBox: \"0 0 96 96\",\n focusable: false\n }, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48 52c-8.837 0-16-7.163-16-16s7.163-16 16-16 16 7.163 16 16-7.163 16-16 16zm0 4c16 0 32 8.205 32 16.41V96H16V72.41C16 64.205 32 56 48 56z\"\n }));\n}\n\nexport default SvgOliveAvatarPlaceholder;","import { Tokens } from '../../theming/types'\n\nimport { CreateFocusCss } from '../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n display: 'inline-block',\n position: 'relative',\n\n '& > a:hover': {\n boxShadow: `0 0 0 4px ${tokens.selectionControl.defaultHoverShadowColor}`,\n },\n\n '& > a:active': {\n boxShadow: `0 0 0 4px ${tokens.selectionControl.defaultActiveShadowColor} !important`,\n },\n\n '& > a': CreateFocusCss(tokens.focus.outer),\n },\n\n avatar: {\n alignItems: 'center',\n backgroundColor: tokens.avatar.defaultBackgroundColor,\n backgroundPosition: 'center center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n border: 'none',\n borderRadius: '50%',\n color: tokens.text.defaultColor,\n display: 'inline-flex',\n flexShrink: 0,\n fontFamily: tokens.font.body,\n fontSize: 'inherit',\n fontWeight: 600,\n justifyContent: 'center',\n lineHeight: 1.5,\n overflow: 'hidden',\n padding: 0,\n position: 'relative',\n transition: 'box-shadow 0.2s ease',\n textAlign: 'center',\n textDecoration: 'none',\n textTransform: 'uppercase',\n verticalAlign: 'middle',\n wordBreak: 'keep-all',\n },\n\n badge: {\n lineHeight: '0px',\n bottom: '-2px',\n position: 'absolute',\n right: '-2px',\n },\n },\n\n placeholder: {\n avatar: {\n backgroundColor: tokens.avatar.placeholderBackgroundColor,\n color: tokens.avatar.placeholderFillColor,\n\n '& > svg': {\n borderRadius: '50%',\n fill: tokens.avatar.placeholderFillColor,\n height: '100%',\n overflow: 'hidden',\n width: '100%',\n },\n },\n },\n\n withColorIndex: {\n avatar: {\n color: tokens.avatar.withColorIndexTextColor,\n '&:hover': {\n color: tokens.avatar.withColorIndexTextColor,\n },\n },\n },\n\n sizeXxlarge: {\n avatar: {\n fontSize: tokens.avatar.xxlargeFontSize,\n height: tokens.avatar.xxlargeSize,\n width: tokens.avatar.xxlargeSize,\n },\n },\n\n sizeXlarge: {\n avatar: {\n fontSize: tokens.avatar.xlargeFontSize,\n height: tokens.avatar.xlargeSize,\n width: tokens.avatar.xlargeSize,\n },\n },\n\n sizeLarge: {\n avatar: {\n fontSize: tokens.avatar.largeFontSize,\n height: tokens.avatar.largeSize,\n width: tokens.avatar.largeSize,\n },\n },\n\n sizeMedium: {\n avatar: {\n fontSize: tokens.avatar.mediumFontSize,\n height: tokens.avatar.mediumSize,\n width: tokens.avatar.mediumSize,\n },\n },\n\n sizeSmall: {\n avatar: {\n fontSize: tokens.avatar.smallFontSize,\n height: tokens.avatar.smallSize,\n width: tokens.avatar.smallSize,\n },\n },\n\n indexedColor: tokens.indexedColor,\n } as const\n}\n","import { Tokens } from '../../../theming/types'\nimport { styles } from '../../../utilities'\n\nconst badgeStyles = (size: string) => ({\n badge: {\n height: size,\n width: size,\n },\n})\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n badge: {\n backgroundColor: tokens.avatarBadge.backgroundColor,\n border: `2px solid ${tokens.avatarBadge.borderColor}`,\n boxSizing: 'content-box',\n borderRadius: '50%',\n display: 'inline-flex',\n },\n },\n\n sizeXxlarge: badgeStyles(tokens.avatarBadge.xxlarge),\n\n sizeXlarge: badgeStyles(tokens.avatarBadge.xlarge),\n\n sizeLarge: badgeStyles(tokens.avatarBadge.large),\n\n sizeMedium: badgeStyles(tokens.avatarBadge.medium),\n\n sizeSmall: badgeStyles(tokens.avatarBadge.small),\n\n hidden: styles.visuallyHidden,\n } as const\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { variant } from '../../../utilities'\n\nimport { useThemeStyles } from '../../../theming'\n\nimport baseStyles from './styles'\n\nimport { AvatarSize } from '../Avatar'\n\nconst avatarSizes = ['xxlarge', 'xlarge', 'large', 'medium', 'small'] as const\n\nexport interface AvatarBadgeProps {\n /**\n * The text to present to assistive devices in order to identify the AvatarBadge.\n */\n accessibilityText?: string\n /**\n * The size of the Avatar Badge.\n */\n size?: AvatarSize\n}\n\nexport function AvatarBadge(props: AvatarBadgeProps) {\n const { accessibilityText, ...restProps } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles)\n\n const badgeStyles = [\n styles.default.badge,\n restProps.size && styles[variant('size', restProps.size)].badge,\n ]\n\n const badgeText = accessibilityText && (\n <span css={styles.hidden}>{accessibilityText}</span>\n )\n\n return <span css={badgeStyles}>{badgeText}</span>\n}\n\nAvatarBadge.propTypes = {\n accessibilityText: PropTypes.string,\n size: PropTypes.oneOf(avatarSizes),\n}\n\nAvatarBadge.defaultProps = {\n accessibilityText: undefined,\n size: undefined,\n}\n\nAvatarBadge.displayName = 'Avatar.Badge'\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useTranslate } from '@ds/comp-private'\nimport { InkAvatarPlaceholder, OliveAvatarPlaceholder } from '@olive/svg'\nimport { dataProps, onProps } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../support'\n\nimport { variant } from '../../utilities'\nimport { ConditionalTag } from '../../internal/components/ConditionalTag'\nimport { AnchorTarget, anchorTargets } from '../../variables'\nimport { useIsInk, useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nimport { AvatarBadge, AvatarBadgeProps } from './AvatarBadge'\n\nimport {\n ConditionalTagRef,\n ConditionalTagMouseEventHandler,\n ConditionalTagEventListenerProps,\n} from '../../types'\n\n/**\n * Calculate the left margin of the Avatar sizes in the AvatarGroup. 1/3 of width.\n */\nconst calculateMarginLeftCssValue = (width: string) => {\n const OFFSET_GROUP = 3\n const offset = parseInt(width.replace(/\\D/g, ''), 10) / OFFSET_GROUP\n const marginLeft = `-${offset}px`\n return marginLeft\n}\n\nexport const avatarSizes = [\n 'xxlarge',\n 'xlarge',\n 'large',\n 'medium',\n 'small',\n] as const\n\nexport type AvatarSize = 'xxlarge' | 'xlarge' | 'large' | 'medium' | 'small'\n\nexport interface AvatarProps extends ConditionalTagEventListenerProps {\n /**\n * Optional aria-label custom text to identify the Avatar. Aria-label defaults to a\n * translatable string of \"Default profile image\" or \"Icon displaying your initials\"\n * if this prop is omitted.\n */\n accessibilityLabel?: string\n /**\n * Adds a badge to the Avatar.\n * The value should be a Avatar.Badge components\n */\n badge?: React.ReactElement<AvatarBadgeProps>\n /**\n * The zero-based index of the Avatar when displayed as a member of a collection.\n *\n * The effect of this prop will be to provide a distinguishing border color (and background\n * color when the 'required' prop is TRUE) for Avatar.\n *\n * Note: the Avatar, SignTag and InitialTag components all use this prop and will display\n * the same color given the same value; a common use case would be for displaying sets\n * of color-grouped Avatar, SignTag and InitialTag components for an individual signing\n * recipient.\n */\n colorIndex?: number\n /**\n * Do not add an aria-label attribute to the Avatar element.\n */\n hideAriaLabel?: boolean\n /**\n * URL for navigating. If a URL is supplied it renders as an anchor element, if not,\n * a span element.\n */\n href?: string\n /**\n * The zero-based index of the Avatar when displayed as a child of\n * an AvatarGroup (where the index indicates its position within the\n * AvatarGroup, starting from the left).\n *\n * The effect of this prop will be to provide a z-index that stacks\n * the overlapped Avatars within the AvatarGroup (left-most on top) and\n * displays any hovered Avatar on the top of that stack.\n *\n * NOTE: do not supply a value for this prop if the Avatar component is\n * not a child of an AvatarGroup\n */\n groupIndex?: number\n /**\n * The URL of an image to display for the Avatar.\n *\n * note: if an image is given here, any value provided to\n * the 'initials' prop will be ignored\n */\n image?: string\n /**\n * The initials to display for the Avatar (only the first two\n * characters of the provided string will be used).\n *\n * note: if neither 'initials' nor 'image' is given a value, then\n * the Avatar will display a placeholder image\n */\n initials?: string\n /**\n * A React ref to assign to the HTML node representing the Avatar element.\n */\n forwardedRef?: ConditionalTagRef\n /**\n * @deprecated Use forwardedRef\n */\n ref?: ConditionalTagRef\n onMouseEnter?: ConditionalTagMouseEventHandler\n onMouseLeave?: ConditionalTagMouseEventHandler\n /**\n * The relationship of the linked URL of an anchor as space-separated link types.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n */\n rel?: string\n /**\n * The size of the Avatar.\n */\n size?: AvatarSize\n /**\n * The HTML href target (if an href is _not_ provided, this is ignored).\n * When target=\"_blank\" use rel=\"noreferrer\" or rel=\"noopener\" to avoid the vulnerability.\n */\n target?: AnchorTarget\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\n/**\n * Avatars are used to represent a unique entity, either a person or group.\n */\nexport function Avatar(props: AvatarProps) {\n const {\n accessibilityLabel,\n badge,\n colorIndex,\n href,\n forwardedRef,\n groupIndex,\n hideAriaLabel,\n image,\n initials,\n rel,\n size = 'medium',\n target,\n ...restProps\n } = props\n\n const translate = useTranslate()\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'Avatar')\n const IndexedColor = styles.indexedColor(colorIndex)\n\n const TOP_OF_GROUP_STACK = 50\n const ABOVE_GROUP_STACK = 51\n\n const inlineStyles = {\n ...(image && { backgroundImage: `url(${image})` }),\n }\n\n const displayInitials = initials && initials.substring(0, 2)\n\n const PlaceholderNode = useIsInk() ? (\n <InkAvatarPlaceholder />\n ) : (\n <OliveAvatarPlaceholder />\n )\n\n const ariaLabelText = () => {\n if (accessibilityLabel) {\n return accessibilityLabel\n }\n\n if (image) {\n return `${translate('OLIVE:UPLOADED_PROFILE_IMAGE')}`\n }\n\n if (initials) {\n return `${translate('OLIVE:ICON_DISPLAYING_INITIALS')}`\n }\n\n return `${translate('OLIVE:DEFAULT_PROFILE_IMAGE')}`\n }\n\n const hasColorIndex = colorIndex !== Avatar.defaultProps.colorIndex\n const hasGroupIndex = groupIndex !== Avatar.defaultProps.groupIndex\n\n const colorIndexStyles = hasColorIndex && [\n styles.withColorIndex.avatar,\n { backgroundColor: IndexedColor.solid },\n ]\n\n const placeholderStyles = !(image || initials) && styles.placeholder.avatar\n\n let groupIndexStyles\n if (hasGroupIndex) {\n const avatarWidth = size && styles[variant('size', size)].avatar.width\n const marginLeft = calculateMarginLeftCssValue(avatarWidth as string)\n\n groupIndexStyles = {\n zIndex: TOP_OF_GROUP_STACK - groupIndex,\n marginLeft,\n\n '&:hover': {\n zIndex: ABOVE_GROUP_STACK,\n },\n }\n }\n\n const avatarStyles = [\n styles.default.avatar,\n size && styles[variant('size', size)].avatar,\n colorIndexStyles,\n placeholderStyles,\n groupIndexStyles,\n ]\n\n const badgeStyles = [\n styles.default.badge,\n size && styles[variant('size', size)].badge,\n ]\n\n const badgeElement = badge && (\n <span css={badgeStyles}>{React.cloneElement(badge, { size })}</span>\n )\n\n return (\n <span css={styles.default.wrap}>\n <ConditionalTag\n {...dataProps(restProps)}\n {...onProps(restProps)}\n {...(!hideAriaLabel && { 'aria-label': ariaLabelText() })}\n href={href}\n rel={rel}\n target={target}\n css={avatarStyles}\n className=\"olv-avatar olv-ignore-transform\"\n forwardedRef={forwardedRef}\n style={inlineStyles}\n >\n {!image && (displayInitials || PlaceholderNode)}\n </ConditionalTag>\n {badgeElement}\n </span>\n )\n}\n\nAvatar.sizes = avatarSizes\n\nAvatar.targets = anchorTargets\n\nAvatar.propTypes = {\n accessibilityLabel: PropTypes.string,\n\n badge: PropTypes.node,\n\n colorIndex: PropTypes.number,\n\n 'data-.*': PropTypes.string,\n\n forwardedRef: CustomPropTypes.ReactRef,\n\n groupIndex: PropTypes.number,\n\n hideAriaLabel: PropTypes.bool,\n\n href: PropTypes.string,\n\n image: PropTypes.string,\n\n initials: PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n rel: PropTypes.string,\n\n size: PropTypes.oneOf(avatarSizes),\n\n target: PropTypes.oneOf(anchorTargets),\n}\n\nAvatar.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n accessibilityLabel: undefined,\n badge: undefined,\n colorIndex: undefined,\n forwardedRef: undefined,\n groupIndex: undefined,\n hideAriaLabel: false,\n href: undefined,\n image: undefined,\n initials: undefined,\n rel: undefined,\n size: 'medium',\n target: undefined,\n}\n\nAvatar.displayName = 'Avatar'\n\nAvatar.Badge = AvatarBadge\n","import { withRef } from '../../HOC'\n\nimport { Avatar } from './Avatar'\n\nexport const AvatarWithRef = withRef(Avatar)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../../support'\nimport { useThemeStyles } from '../../../theming'\n\nimport { Avatar } from '../../Avatar'\n\nimport baseStyles from '../styles'\n\nfunction HeaderAvatar(props) {\n const { forwardedRef, label, image, initials, onClick, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles, 'Header')\n\n return (\n <div css={styles.Avatar.default}>\n <button\n {...dataProps(restProps)}\n {...onProps(restProps)}\n type=\"button\"\n css={styles.Avatar.wrap}\n onClick={onClick}\n ref={forwardedRef}\n >\n <Avatar image={image} initials={initials} size=\"medium\" hideAriaLabel />\n\n <span css={styles.Avatar.label}>{label}</span>\n </button>\n </div>\n )\n}\n\nHeaderAvatar.propTypes = {\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * A React ref to assign to the HTML node representing the Header.Avatar element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * If URL for an image is supplied, it will take the highest priority and be displayed.\n */\n image: PropTypes.string,\n\n /**\n * Initials will take first two letter of the initials string supplied.\n */\n initials: PropTypes.string,\n\n /**\n * Role of the Header.Avatar component\n * (the label does not display, required for accessibility).\n */\n label: PropTypes.string.isRequired,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n}\n\nHeaderAvatar.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n forwardedRef: undefined,\n image: '',\n initials: '',\n onClick: undefined,\n}\nHeaderAvatar.displayName = 'Header.Avatar'\n\nexport default HeaderAvatar\n","import { withRef } from '../../../HOC'\n\nimport HeaderAvatar from './HeaderAvatar'\n\nexport default withRef(HeaderAvatar)\n","import colors from '../../../theming/docusign-themes/olive/colors'\nimport fontFamilies from '../../../theming/docusign-themes/olive/fontFamilies'\nimport { CreateFocusCss } from '../../../styles'\n\nexport default () =>\n ({\n wrap: {\n display: 'block',\n },\n\n link: {\n alignItems: 'center',\n display: 'flex',\n marginRight: '24px',\n textDecoration: 'none',\n\n ...CreateFocusCss({\n outline: `1px dotted ${colors.white}`,\n outlineOffset: '4px',\n }),\n },\n\n image: {\n width: '84px',\n\n svg: {\n fill: colors.white,\n },\n },\n\n text: {\n borderLeft: `1px solid ${colors.DocuSignBlueLight}`,\n color: colors.white,\n fontFamily: fontFamilies.MavenPro,\n height: '28px',\n lineHeight: '28px',\n marginLeft: '10px',\n paddingLeft: '10px',\n whiteSpace: 'nowrap',\n\n ...CreateFocusCss(\n {\n textDecoration: 'inherit',\n },\n (psuedoClass) => `a${psuedoClass} &`\n ),\n },\n } as const)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../../support'\nimport { useThemeStyles } from '../../../theming'\nimport { DocuSignLogo } from '../../DocuSignLogo'\n\nimport baseStyles from './styles'\n\nfunction HeaderLogo(props) {\n const { alt, forwardedRef, href, text, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles, 'HeaderLogo')\n\n /*\n * Custom account branding sets the custom logo as a background image.\n * So we can check the `styles.link` object if it has the backgroundImage property\n * to determine if custom branding is applied.\n */\n const hasCustomLogo = styles.link.backgroundImage\n\n const DocuSignLogoNode = !hasCustomLogo && (\n <div css={styles.image}>\n <DocuSignLogo />\n </div>\n )\n\n const TextNode = text && !hasCustomLogo && (\n <span css={styles.text}>{text}</span>\n )\n\n return (\n <div css={styles.wrap}>\n <a\n {...dataProps(restProps)}\n {...onProps(restProps)}\n aria-label={hasCustomLogo && alt}\n css={styles.link}\n href={href}\n onMouseEnter={restProps.onMouseEnter}\n onMouseLeave={restProps.onMouseLeave}\n ref={forwardedRef}\n >\n {DocuSignLogoNode}\n {TextNode}\n </a>\n </div>\n )\n}\n\nHeaderLogo.propTypes = {\n /**\n * Adds an aria-label text to the custom logo image.\n */\n alt: PropTypes.string,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * A React ref to assign to the HTML label element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * URL for navigation upon clicking the logo image.\n */\n href: PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The text to be displayed next to the logo image (usually the name of the application).\n */\n text: PropTypes.string,\n}\n\nHeaderLogo.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n alt: undefined,\n forwardedRef: undefined,\n href: '/',\n text: undefined,\n}\n\nexport default HeaderLogo\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\n\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nfunction HeaderNav(props) {\n const { children, ...restProps } = props\n\n const HeaderNavItems = React.Children.map(children, (child) => (\n <li>{child}</li>\n ))\n\n const styles = useThemeStyles(baseStyles, 'Header')\n\n return (\n <ul {...dataProps(restProps)} css={styles.Nav}>\n {HeaderNavItems}\n </ul>\n )\n}\n\nHeaderNav.propTypes = {\n /**\n * The normal usage pattern is:\n *\n * ```\n * <Header.Nav>\n * <Header.ActionItem />\n * <Header.ActionItem />\n * // any number of Header.ActionItem components\n * </Header.Nav>\n * ```\n *\n * If you are using a routing library you can wrap\n * `Header.ActionItem` with a routing component from that library,\n * without passing `href` or `onClick` to `Header.ActionItem`.\n *\n * e.g. using `react-router`:\n *\n * ```\n * import { Link } from 'react-router-dom'\n *\n * <Header.Nav>\n * <Link to={`${matchUrl}/documents`}> <Header.ActionItem text=\"Documents\" /> </Link>\n * <Link to={`${matchUrl}/tasks`}> <Header.ActionItem text=\"Tasks\" /> </Link>\n * </Header.Nav>\n * ```\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n}\n\nHeaderNav.defaultProps = {\n 'data-.*': undefined,\n}\n\nexport default HeaderNav\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslate } from '@ds/comp-private'\nimport { dataProps } from '@ds/react-utils'\n\nimport { SkipNav } from '../../internal/components/SkipNav'\nimport { useThemeStyles } from '../../theming'\n\nimport { HeaderLeft } from './HeaderLeft'\nimport { HeaderCenter } from './HeaderCenter'\nimport { HeaderRight } from './HeaderRight'\n\nimport { HeaderActionItem } from './HeaderActionItem'\nimport HeaderActionItemIcon from './HeaderActionItemIcon'\nimport HeaderAvatar from './HeaderAvatar'\nimport HeaderLogo from './HeaderLogo'\nimport HeaderNav from './HeaderNav'\nimport { HeaderTitle } from './HeaderTitle'\n\nimport baseStyles from './styles'\n\nconst DEFAULT_SKIP_NAV_TEXT = 'Skip to main content'\n\n/**\n * This example only exists for historical reference. Please use [@ds/components/Header](https://artifactory.docusignhq.com/artifactory/docusign-public/ds-components/master/demo/index.html#/header).\n */\nfunction Header(props) {\n const { children, fullWidth, skipNavTarget, skipNavText, ...restProps } =\n props\n\n const styles = useThemeStyles(baseStyles, 'Header')\n\n const translate = useTranslate()\n\n const headerWrapStyles = [\n styles.Header.wrap,\n fullWidth && styles.Header.fullWidth,\n ]\n\n const skipNavTextTranslated =\n skipNavText === DEFAULT_SKIP_NAV_TEXT\n ? translate('OLIVE:SKIP_TO_MAIN')\n : skipNavText\n\n const skipNavTargetId = skipNavTarget && skipNavTarget.replace(/^#+/, '')\n\n const skipNav = skipNavTargetId && (\n <SkipNav text={skipNavTextTranslated} target={skipNavTargetId} />\n )\n\n return (\n <>\n {skipNav}\n\n <header {...dataProps(restProps)} css={styles.Header.default}>\n <div css={headerWrapStyles} className=\"olv-header olv-ignore-transform\">\n {children}\n </div>\n </header>\n </>\n )\n}\n\nHeader.propTypes = {\n /**\n * The content rendered inside the Header.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Forces the Header to fill the full width of its container,\n * for those special cases that require it (see Tagger).\n */\n fullWidth: PropTypes.bool,\n\n /**\n * The id of the element representing the page's main content.\n * The element with this id will receive focus when the \"skip nav\" is clicked.\n *\n * The \"skip nav\" will not display if a target is not provided here.\n */\n skipNavTarget: PropTypes.string,\n\n /**\n * The text of the \"skip nav\" that is displayed when a skipNavTarget is provided.\n */\n skipNavText: PropTypes.string,\n}\n\nHeader.defaultProps = {\n 'data-.*': undefined,\n fullWidth: false,\n skipNavTarget: undefined,\n skipNavText: DEFAULT_SKIP_NAV_TEXT,\n}\n\nHeader.displayName = 'Header'\nHeaderLeft.displayName = 'Header.Left'\nHeaderCenter.displayName = 'Header.Center'\nHeaderRight.displayName = 'Header.Right'\nHeaderActionItem.displayName = 'Header.ActionItem'\nHeaderActionItemIcon.displayName = 'Header.ActionItemIcon'\nHeaderAvatar.displayName = 'Header.Avatar'\nHeaderLogo.displayName = 'Header.Logo'\nHeaderNav.displayName = 'Header.Nav'\nHeaderTitle.displayName = 'Header.Title'\n\nHeader.Left = HeaderLeft\nHeader.Center = HeaderCenter\nHeader.Right = HeaderRight\nHeader.ActionItem = HeaderActionItem\nHeader.ActionItemIcon = HeaderActionItemIcon\nHeader.Avatar = HeaderAvatar\nHeader.Logo = HeaderLogo\nHeader.Nav = HeaderNav\nHeader.Title = HeaderTitle\n\nexport default Header\n","import { CSSObject } from '@emotion/core'\nimport { CarouselPaneHeight } from './types'\n\nconst containerCSS: (\n height: CarouselPaneHeight,\n paneWidth?: number\n) => CSSObject = (height, paneWidth) => {\n return {\n label: 'CAROUSEL_CONTAINER',\n maxWidth: paneWidth || '100%',\n overflow: 'hidden',\n position: 'relative',\n height: height === 'parent' ? '100%' : 'auto',\n backgroundColor: 'white',\n paddingBottom: '4px',\n }\n}\n\nconst paneCSS: (\n order: 'new' | 'old',\n height: CarouselPaneHeight,\n paneWidth?: number\n) => CSSObject = (order, height, paneWidth) => {\n // If the height is absolute (adopted from parent) the positioning should always be absolute.\n // However, if it is content based then position is \"relative\" for the new pane so that the desired height\n // can be adopted and absolute for the old pane so it positions at the top instead of flowing after new.\n return {\n label: 'CAROUSEL_PANE',\n position:\n height === 'parent'\n ? 'absolute'\n : order === 'new'\n ? 'relative'\n : 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: height === 'parent' ? 0 : 'auto',\n display: 'inline-block',\n width: paneWidth ? paneWidth : '100%',\n }\n}\n\nconst paneFlexCSS: CSSObject = {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n}\n\nexport default {\n containerCSS,\n paneCSS,\n paneFlexCSS,\n}\n","import * as React from 'react'\nimport { Motion } from '@ds/motion'\nimport { trapTabNavigation } from '@ds/ui'\nimport styles from './styles'\nimport { CarouselPaneHeight } from './types'\n\nconst DEFAULT_ANIMATION_MS = 300\n\nlet lastAnimation = 0\n\nexport type CarouselSlideDirection = 'left' | 'right'\n\nexport interface CarouselProps {\n newPane: React.ReactNode\n oldPane?: React.ReactNode\n paneWidth?: number\n slideDirection?: CarouselSlideDirection\n duration?: number //milliseconds\n trapTabNavigation?: boolean\n height?: CarouselPaneHeight // default is parent\n focusSelector?: string\n onAnimationComplete?: () => void\n}\n\nexport const Carousel: React.FunctionComponent<CarouselProps> = (props) => {\n const newPaneRef = React.useRef<HTMLDivElement>(null)\n const oldPaneRef = React.useRef<HTMLDivElement>(null)\n const paneHeight = props.height || 'parent'\n\n React.useLayoutEffect(() => {\n // setup tabbing and focus here if not animating\n if (!props.oldPane) {\n configureTabNavigation()\n setFocus()\n }\n })\n\n return (\n <div css={styles.containerCSS(paneHeight, props.paneWidth)}>\n {props.oldPane ? renderAnimated() : renderNewPane()}\n </div>\n )\n\n function renderAnimated() {\n toggleOldPaneVisible(true)\n const direction = props.slideDirection || 'right'\n return (\n <>\n {direction === 'right' &&\n renderAnimatedPane(\n 'new',\n 'translateX(-100%)',\n 'translateX(0%)',\n renderNewPane(),\n newPaneAnimationComplete\n )}\n {renderAnimatedPane(\n 'old',\n 'translateX(0%)',\n direction === 'right' ? 'translateX(100%)' : 'translateX(-100%)',\n renderOldPane()\n )}\n {direction === 'left' &&\n renderAnimatedPane(\n 'new',\n 'translateX(100%)',\n 'translateX(0%)',\n renderNewPane(),\n newPaneAnimationComplete\n )}\n </>\n )\n }\n\n function renderAnimatedPane(\n order: 'new' | 'old',\n fromTransform: string,\n toTransform: string,\n pane: React.ReactNode,\n onAnimationComplete?: () => void\n ) {\n return (\n <Motion\n key={lastAnimation++}\n as=\"div\"\n initial={{ transform: fromTransform }}\n animate={{ transform: toTransform }}\n transition={{\n duration: (props.duration || DEFAULT_ANIMATION_MS) / 1000,\n }}\n onAnimationEnd={onAnimationComplete}\n css={styles.paneCSS(order, paneHeight, props.paneWidth)}\n >\n {pane}\n </Motion>\n )\n }\n\n function newPaneAnimationComplete() {\n configureTabNavigation()\n setFocus()\n if (props.onAnimationComplete) {\n props.onAnimationComplete()\n }\n }\n\n function renderNewPane() {\n return (\n <div css={styles.paneFlexCSS} ref={newPaneRef}>\n {props.newPane}\n </div>\n )\n }\n\n function renderOldPane() {\n return (\n <div css={styles.paneFlexCSS} ref={oldPaneRef}>\n {props.oldPane}\n </div>\n )\n }\n\n function configureTabNavigation() {\n if (props.trapTabNavigation && newPaneRef.current) {\n trapTabNavigation(newPaneRef.current)\n }\n }\n\n function setFocus() {\n if (props.focusSelector && newPaneRef.current) {\n const focusElement = newPaneRef.current.querySelector(\n props.focusSelector\n ) as HTMLElement\n if (focusElement) {\n focusElement.focus()\n }\n }\n }\n\n function toggleOldPaneVisible(visible: boolean) {\n if (oldPaneRef.current) {\n oldPaneRef.current.style.display = visible ? 'flex' : 'none'\n }\n }\n}\n","import { CSSObject } from '@emotion/core'\nimport { DocusignAppId } from './types'\n\nconst headerBarHorizontalPadding = 16\n\nconst headerHeight = 64\nconst phoneMenuRowHeight = 72\n\nconst backgroundColor = 'white'\nconst textColor = '#0f1114'\nconst barBottomBorderColor = '#d0d0d0'\nconst barVerticalSeparatorColor = 'rgba(17,16,25,0.15)'\nconst focusOutlineColor = 'rgba(17,16,25,0.6)' // Ink black_alpha60\n\nconst marketingButtonBlue = '#006FF9'\n\nconst menuTitleFontSize = 18\n\nconst headerStandardIconSize = 20\n\nconst DS_INDIGO_FONT_STACK =\n '\"DS Indigo\", DSIndigo, \"Neue Haas Grotesk\", NeueHaasGrotesk, Helvetica, Arial, sans-serif'\n\nconst headerFocusCSS: CSSObject = {\n '&:focus': {\n borderRadius: 0,\n boxShadow: 'none',\n outline: `2px solid ${focusOutlineColor}`,\n outlineOffset: '-4px',\n },\n}\n\nconst headerCSS: CSSObject = {\n label: 'HEADER',\n position: 'relative',\n height: headerHeight,\n fontFamily: DS_INDIGO_FONT_STACK,\n}\n\nconst headerBarCSS: CSSObject = {\n label: 'HEADER_BAR',\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n display: 'flex',\n justifyContent: 'space-between',\n height: headerHeight,\n backgroundColor: 'white',\n borderBottom: '1px solid rgba(0, 0, 0, 0.08)',\n paddingLeft: headerBarHorizontalPadding,\n paddingRight: headerBarHorizontalPadding,\n}\n\nconst headerBarMeasuringCSS: CSSObject = {\n ...headerBarCSS,\n label: 'HEADER_BAR_HIDDEN_MEASURING_CONTAINER',\n justifyContent: 'flex-start',\n display: 'flex',\n width: 0,\n visibility: 'hidden',\n backgroundColor: 'yellow',\n}\n\nconst headerBarLeftCSS: CSSObject = {\n label: 'HEADER_BAR_LEFT',\n display: 'flex',\n justifyContent: 'start',\n alignItems: 'center',\n}\n\nconst headerBarMiddleCSS: CSSObject = {\n label: 'HEADER_BAR_MIDDLE',\n display: 'flex',\n justifyContent: 'center',\n margin: '0px 8px',\n alignItems: 'center',\n}\n\nconst headerBarMiddleMeasuringCSS: CSSObject = {\n ...headerBarMiddleCSS,\n label: 'HEADER_BAR_MIDDLE_MEASURING',\n justifyContent: 'start',\n}\n\nconst headerBarRightCSS: CSSObject = {\n label: 'HEADER_BAR_RIGHT',\n display: 'flex',\n justifyContent: 'end',\n alignItems: 'center',\n}\n\nconst headerBarTabsCSS: CSSObject = {\n label: 'HEADER_BAR_TABS',\n display: 'flex',\n listStyleType: 'none',\n margin: '0px',\n padding: '0px',\n}\n\nconst headerLocalNavSeparatorCSS: CSSObject = {\n label: 'HEADER_LOCAL_NAV_SEPARATOR',\n marginLeft: 40,\n}\n\nconst appDescriptionCSS: CSSObject = {\n label: 'HEADER_APP_DESCRIPTION',\n width: 0,\n minWidth: 0,\n height: 0,\n '&:focus': {\n boxShadow: 'none',\n outline: `2px solid ${focusOutlineColor}`,\n outlineOffset: '12px',\n },\n}\n\nconst appSwitchLogoWrapper: CSSObject = {\n height: '36px',\n marginTop: '6px',\n maxWidth: '114px',\n}\n\nconst appDescriptionCSSForApp = (appId: DocusignAppId) => {\n let width = 0\n const marginTop = 3\n const height = 24\n switch (appId) {\n case 'Admin':\n width = 186\n break\n case 'CLM':\n width = 165\n break\n case 'DTR':\n width = 193\n break\n case 'ESign':\n width = 236\n break\n case 'Insight':\n width = 191\n break\n default:\n }\n const minWidth = width\n const maxHeight = height\n\n const css: CSSObject = {\n ...appDescriptionCSS,\n width,\n minWidth,\n height,\n '& img': {\n minWidth,\n maxHeight,\n marginTop,\n },\n }\n return css\n}\n\nconst appDescriptionNonProductCSS: CSSObject = {\n label: 'HEADER_APP_DESCRIPTION_NON_PROD',\n height: 32,\n paddingTop: 2,\n textDecoration: 'none',\n '&:focus': {\n outline: `2px solid ${focusOutlineColor}`,\n outlineOffset: '8px',\n },\n}\n\nconst appSwitcherMenuContainerCSS: CSSObject = {\n label: 'HEADER_APP_SWITCHER',\n position: 'absolute',\n top: 0,\n left: 0,\n backgroundColor,\n border: '1px solid rgba(17,16,25,0.15)',\n boxShadow: '0 8px 12px 0 rgba(17,16,25,0.15)',\n overflow: 'hidden',\n zIndex: 200,\n}\n\nconst appSwitcherListCSS: CSSObject = {\n label: 'HEADER_APP_SWITCHER_LIST',\n listStyle: 'none',\n padding: '8px 0px',\n marginBlockStart: 0,\n}\n\nconst verticalAlignCSS: CSSObject = {\n display: 'flex',\n alignItems: 'center',\n}\n\nconst menuHeadingCSS: CSSObject = {\n label: 'HEADER_MENU_HEADING',\n position: 'relative',\n padding: 24,\n height: phoneMenuRowHeight,\n}\n\nconst menuHeadingCenteredCSS: CSSObject = {\n label: 'HEADER_MENU_HEADING_CENTERED',\n alignItems: 'center',\n borderBottom: '1px solid #d0d0d0',\n padding: '0 16px',\n display: 'flex',\n '& img': {\n display: 'block',\n height: '32px',\n margin: 'auto',\n width: 'auto',\n },\n}\n\nconst appSwitchHeadingCSS: CSSObject = {\n ...menuHeadingCenteredCSS,\n label: 'APP_SWITCH_MENU_HEADING',\n borderBottom: undefined,\n height: headerHeight - 2,\n}\n\nconst menuCloseButtonCSS: CSSObject = {\n ...headerFocusCSS,\n label: 'HEADER_MENU_CLOSE',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n flex: '0 0 auto',\n height: headerHeight - 1,\n marginRight: '12px',\n padding: '3px 12px 0',\n}\n\nconst menuCloseFullHeaderButtonCSS: CSSObject = {\n marginLeft: '-1px',\n}\n\nconst menuProfileChoiceList: CSSObject = {\n label: 'HEADER_PROFILE_CHOICE_LIST',\n marginTop: 10,\n listStyle: 'none',\n paddingLeft: 0,\n}\n\nconst phoneMenuTitleCSS: CSSObject = {\n label: 'HEADER_PHONE_MENU_TITLE',\n fontSize: menuTitleFontSize,\n fontWeight: 500,\n margin: '0 0 0 8px',\n}\n\nconst menuSeparatorCSS: CSSObject = {\n label: 'HEADER_MENU_SEPARATOR',\n border: 0,\n height: 1,\n background: barBottomBorderColor,\n margin: 0,\n}\n\nconst phoneMenuScrollableRowsCSS: CSSObject = {\n label: 'HEADER_PHONE_SCROLL_ROWS',\n flex: '1 1 auto',\n listStyle: 'none',\n margin: 0,\n overflowY: 'auto',\n padding: 0,\n}\n\nconst phoneMainMenuScrollableRowsCSS: CSSObject = {\n label: 'HEADER_PHONE_MAIN_SCROLLABLE_ROW',\n flex: '1 1 auto',\n listStyle: 'none',\n margin: 0,\n overflowY: 'auto',\n padding: 0,\n}\n\nconst phoneMainMenuItemListCSS: CSSObject = {\n label: 'HEADER_PHONE_MAIN_LIST',\n borderTop: '1px solid #d0d0d0',\n margin: 0,\n listStyle: 'none',\n paddingLeft: 0,\n}\n\nconst customLogoCSS: CSSObject = {\n label: 'HEADER_DESKTOP_CUSTOM_LOGO',\n height: 32,\n width: 'auto',\n marginRight: 16,\n}\n\nconst phoneCustomLogoCSS: CSSObject = {\n label: 'HEADER_PHONE_CUSTOM_LOGO',\n height: 24,\n width: 'auto',\n}\n\nconst phoneProfileRowTextCSS: CSSObject = {\n label: 'HEADER_PHONE_PROFILE_ROW_TEXT',\n maxWidth: 160,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst phoneCustomContentCSS: CSSObject = {\n label: 'HEADER_PHONE_CUSTOM_CONTENT',\n overflow: 'auto',\n}\n\nconst menuProfileUserCSS: CSSObject = {\n label: 'HEADER_PROFILE_USER',\n color: textColor,\n fontFamily: 'inherit',\n fontWeight: 200,\n padding: '16px 24px 24px 24px',\n}\n\nconst phoneProfileUserCSS: CSSObject = {\n ...menuProfileUserCSS,\n label: 'HEADER_PHONE_PROFILE_USER',\n padding: '16px 12px 24px 24px',\n}\n\nconst phoneProfileUserNameCSS: CSSObject = {\n label: 'HEADER_PROFILE_USER_NAME',\n fontSize: 16,\n fontWeight: 'bold',\n maxWidth: 200,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst phoneMainMenuProfileUserNameCSS: CSSObject = {\n label: 'HEADER_MAIN_MENU_PROFILE_USER_NAME',\n maxWidth: 160,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}\n\nconst phoneProfileUserDetailCSS: CSSObject = {\n label: 'HEADER_PROFILE_USER_DETAIL',\n fontSize: 14,\n marginTop: 6,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}\n\nconst phoneProfileButtonCSS: CSSObject = {\n label: 'HEADER_PROFILE_MANAGE_BUTTON',\n marginTop: 16,\n}\n\nconst tabsSeparatorCSS: CSSObject = {\n label: 'HEADER_TABS_SEPARATOR',\n borderLeft: `1px solid ${barVerticalSeparatorColor}`,\n margin: '14px 0px',\n}\n\nconst customLogoSeparatorCSS: CSSObject = {\n label: 'HEADER_CUSTOM_LOGO_SEPARATOR',\n borderLeft: `1px solid ${barVerticalSeparatorColor}`,\n height: headerHeight,\n marginRight: 16,\n}\n\nconst mainButtonCSS: CSSObject = {\n label: 'HEADER_MAIN_BUTTON',\n marginRight: 20,\n}\n\nconst marketingButtonTextCSS: CSSObject = {\n label: 'HEADER_MARKETING_BUTTON_SECTION',\n color: marketingButtonBlue,\n fontSize: '16px',\n marginRight: '16px',\n fontWeight: 500,\n}\n\nconst marketingButtonSectionCSS: CSSObject = {\n label: 'HEADER_MARKETING_BUTTON_SECTION',\n marginRight: 0,\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n}\n\nexport default {\n verticalAlignCSS,\n headerCSS,\n headerBarCSS,\n headerBarHorizontalPadding,\n headerBarMeasuringCSS,\n headerBarLeftCSS,\n headerBarMiddleCSS,\n headerBarMiddleMeasuringCSS,\n headerBarRightCSS,\n headerBarTabsCSS,\n headerLocalNavSeparatorCSS,\n appDescriptionCSS,\n appDescriptionCSSForApp,\n appDescriptionNonProductCSS,\n appSwitcherMenuContainerCSS,\n appSwitcherListCSS,\n appSwitchLogoWrapper,\n appSwitchHeadingCSS,\n menuHeadingCenteredCSS,\n menuHeadingCSS,\n menuProfileChoiceList,\n menuCloseButtonCSS,\n menuCloseFullHeaderButtonCSS,\n menuSeparatorCSS,\n phoneMenuTitleCSS,\n phoneMenuScrollableRowsCSS,\n phoneMainMenuScrollableRowsCSS,\n phoneMainMenuItemListCSS,\n phoneMainMenuProfileUserNameCSS,\n customLogoCSS,\n phoneCustomLogoCSS,\n phoneProfileRowTextCSS,\n phoneCustomContentCSS,\n menuProfileUserCSS,\n phoneProfileUserCSS,\n phoneProfileUserNameCSS,\n phoneProfileUserDetailCSS,\n phoneProfileButtonCSS,\n customLogoSeparatorCSS,\n tabsSeparatorCSS,\n mainButtonCSS,\n marketingButtonTextCSS,\n marketingButtonSectionCSS,\n headerStandardIconSize,\n}\n","import * as React from 'react'\nimport styles from './styles'\nimport { useWindowWidth } from '@ds/react-utils'\n\n/*\n\n Header bar (full width container for all header buttons).\n Left and right content is left/right aligned. The middle content will consume the remainder\n of space available (it will be centered in the space available, not centered in the component).\n\n If either onContentFits or onContentClipped props are set the component will track it's\n preferred content width relative to the window width.\n When the width is inadequate it will call onContentClipped. If the width becomes adequate it\n will call onContentFits.\n\n*/\n\nexport interface HeaderBarProps {\n left?: React.ReactNode\n middle?: React.ReactNode\n right?: React.ReactNode\n onContentFits?: () => void\n onContentClipped?: () => void\n children?: undefined\n visible?: boolean\n kind?: 'phone' | 'desktop'\n}\n\nexport const HeaderBar: React.FunctionComponent<HeaderBarProps> = (props) => {\n const measuringBarRef = React.createRef<HTMLDivElement>()\n const measuringBarLeftRef = React.createRef<HTMLDivElement>()\n const measuringBarMiddleRef = React.createRef<HTMLDivElement>()\n const measuringBarRightRef = React.createRef<HTMLDivElement>()\n\n const renderingBarRef = React.createRef<HTMLDivElement>()\n const renderingBarLeftRef = React.createRef<HTMLDivElement>()\n const renderingBarMiddleRef = React.createRef<HTMLDivElement>()\n const renderingBarRightRef = React.createRef<HTMLDivElement>()\n\n const preferredWidthRef = React.useRef(0)\n const availableWidthRef = React.useRef(0)\n const contentFitsRef = React.useRef<boolean | undefined>(undefined)\n\n if (shouldTrackWidth()) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n availableWidthRef.current = useWindowWidth(300) // forces refresh on window resize\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n measurePreferredWidth()\n })\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n const fitPreviously = contentFitsRef.current\n const fitsNow = preferredWidthRef.current <= availableWidthRef.current\n contentFitsRef.current = fitsNow\n\n if (fitPreviously !== fitsNow) {\n notifyFitness(fitsNow)\n }\n })\n }\n\n return (\n <>\n {shouldTrackWidth() ? (\n <header css={styles.headerBarMeasuringCSS} ref={measuringBarRef}>\n <div css={styles.headerBarLeftCSS} ref={measuringBarLeftRef}>\n {}\n </div>\n <div\n css={styles.headerBarMiddleMeasuringCSS}\n ref={measuringBarMiddleRef}\n >\n {}\n </div>\n <div css={styles.headerBarRightCSS} ref={measuringBarRightRef}>\n {}\n </div>\n </header>\n ) : null}\n <header\n css={{\n ...styles.headerBarCSS,\n display: props.visible ? 'flex' : 'none',\n }}\n ref={renderingBarRef}\n data-header-kind={props.kind}\n >\n <div css={styles.headerBarLeftCSS} ref={renderingBarLeftRef}>\n {props.left}\n </div>\n <div css={styles.headerBarMiddleCSS} ref={renderingBarMiddleRef}>\n {props.middle}\n </div>\n <div css={styles.headerBarRightCSS} ref={renderingBarRightRef}>\n {props.right}\n </div>\n </header>\n </>\n )\n\n function shouldTrackWidth() {\n return props.onContentFits || props.onContentClipped\n }\n\n function measurePreferredWidth() {\n /*\n 1.) Clone the contents of the rendered bar into a copy of the hidden (\"measuring\") bar\n 2.) Measure the width used. This is preferred width.\n\n The layout CSS of the measuring bar is slightly different. The 3 sections\n are layed out sequentially instead of the left-justify/remainder/right-justify\n of the rendered bar. Laying out sequentially allows the calculation of total\n space needed.\n */\n\n if (measuringBarRef.current) {\n const clonedMeasuringBarDiv = measuringBarRef.current.cloneNode(\n true\n ) as HTMLDivElement\n clonedMeasuringBarDiv.innerHTML = ''\n const leftDiv = cloneRenderingtoMeasuring(\n renderingBarLeftRef,\n measuringBarLeftRef\n )\n const middleDiv = cloneRenderingtoMeasuring(\n renderingBarMiddleRef,\n measuringBarMiddleRef\n )\n const rightDiv = cloneRenderingtoMeasuring(\n renderingBarRightRef,\n measuringBarRightRef\n )\n clonedMeasuringBarDiv.style.width = '5000px'\n if (leftDiv && middleDiv && rightDiv) {\n clonedMeasuringBarDiv.appendChild(leftDiv)\n clonedMeasuringBarDiv.appendChild(middleDiv)\n clonedMeasuringBarDiv.appendChild(rightDiv)\n document.body.appendChild(clonedMeasuringBarDiv)\n preferredWidthRef.current = Math.ceil(\n xMax(rightDiv) + styles.headerBarHorizontalPadding\n )\n document.body.removeChild(clonedMeasuringBarDiv)\n }\n }\n }\n\n function cloneRenderingtoMeasuring(\n from: React.RefObject<HTMLDivElement>,\n to: React.RefObject<HTMLDivElement>\n ) {\n const fromDiv = from.current\n const toDiv = to.current\n if (fromDiv && toDiv) {\n const clonedFromDiv = fromDiv.cloneNode(true) as HTMLDivElement\n const clonedToDiv = toDiv.cloneNode(true) as HTMLDivElement\n clonedToDiv.innerHTML = ''\n Array.from(clonedFromDiv.children).forEach((element) => {\n clonedToDiv.appendChild(element)\n })\n return clonedToDiv\n }\n return undefined\n }\n\n function notifyFitness(fits: boolean) {\n if (fits && props.onContentFits) {\n props.onContentFits()\n }\n if (!fits && props.onContentClipped) {\n props.onContentClipped()\n }\n }\n}\n\nfunction xMax(element: HTMLElement) {\n const computedStyle = getComputedStyle(element)\n const marginRight = parseFloat(computedStyle.marginRight || '')\n return (\n element.offsetLeft +\n element.getBoundingClientRect().width +\n (isNaN(marginRight) ? 0 : marginRight)\n )\n}\n","import { useState, useEffect, useRef } from 'react'\n\nexport function useWindowWidth(debounceMilliseconds = 0) {\n function getWindowWidth() {\n return window.innerWidth\n }\n\n const [windowWidth, setWindowWidth] = useState(getWindowWidth)\n const timeoutID = useRef<ReturnType<typeof setTimeout>>()\n\n useEffect(() => {\n clearTimeout(timeoutID.current as ReturnType<typeof setTimeout>)\n\n function handleResize() {\n setWindowWidth(getWindowWidth())\n }\n\n function debouncedHandleResize() {\n clearTimeout(timeoutID.current as ReturnType<typeof setTimeout>)\n if (debounceMilliseconds) {\n timeoutID.current = setTimeout(handleResize, debounceMilliseconds)\n } else {\n handleResize()\n }\n }\n\n window.addEventListener('resize', debouncedHandleResize)\n return () => window.removeEventListener('resize', debouncedHandleResize)\n }, [debounceMilliseconds])\n\n return windowWidth\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { SystemIconKey } from '@ds/icons'\nimport { IconSmall } from '../../../internal/components/IconSmall'\n\nexport interface FlyoutNavItemDisclosureProps {\n /**\n * The Icon to display.\n */\n kind: SystemIconKey\n}\n\nexport function FlyoutNavItemDisclosure(props: FlyoutNavItemDisclosureProps) {\n const { kind } = props\n\n return <IconSmall kind={kind} />\n}\n\nFlyoutNavItemDisclosure.icons = IconSmall.kinds\n\nFlyoutNavItemDisclosure.propTypes = {\n kind: PropTypes.string.isRequired,\n}\n\nFlyoutNavItemDisclosure.displayName = 'FlyoutNavItem.Disclosure'\n","import { Tokens } from '../../theming/types'\nimport { styles } from '../../utilities'\n\nimport InkColors from '../../theming/docusign-themes/ink/colors'\nimport { CreateFocusCss } from '../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n ...tokens.typography.bodyMedium,\n alignItems: 'center',\n backgroundColor: InkColors.semanticWhite[100],\n border: '0',\n borderLeft: '3px solid transparent',\n color: tokens.text.defaultColor,\n display: 'inline-flex',\n flexWrap: 'nowrap',\n fontFamily: tokens.font.body,\n margin: '0',\n minHeight: '48px',\n padding: '8px 24px 8px 20px',\n textAlign: 'left',\n textDecoration: 'none',\n transition: 'background-color .2s ease',\n width: '100%',\n\n ...CreateFocusCss(tokens.focus.inner),\n\n '&:hover': {\n backgroundColor: InkColors.semanticNeutral.fade[5],\n cursor: 'pointer',\n textDecoration: 'none',\n },\n },\n\n content: {\n position: 'relative',\n },\n\n badge: {\n display: 'inline-flex',\n position: 'absolute',\n right: '-10px',\n top: '-2px',\n },\n\n graphic: {\n alignItems: 'center',\n display: 'inline-flex',\n flexShrink: '0',\n justifyContent: 'center',\n marginLeft: '0',\n marginRight: '16px',\n minWidth: '36px',\n textAlign: 'center',\n\n '& img, & svg': {\n display: 'block',\n },\n },\n\n disclosure: {\n display: 'inline-flex',\n flexShrink: '0',\n marginLeft: 'auto',\n },\n },\n\n hidden: styles.visuallyHidden,\n\n selected: {\n wrap: {\n borderLeft: `3px solid ${InkColors.semanticNeutral[100]}`,\n },\n },\n } as const\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ariaProps, dataProps, onProps } from '@ds/react-utils'\nimport { ConditionalTag } from '../../internal/components/ConditionalTag'\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\nimport type {\n AnchorOrButtonForwardRef,\n AriaCurrent,\n EventListenerProps,\n} from '../../types'\nimport { AnchorTarget, anchorTargets } from '../../variables'\nimport type { AvatarProps } from '../Avatar'\nimport type { DotBadgeProps } from '../DotBadge'\nimport type { IconProps } from '../Icon'\nimport type { ImageProps } from '../Image'\nimport {\n FlyoutNavItemDisclosure,\n FlyoutNavItemDisclosureProps,\n} from './FlyoutNavItemDisclosure'\nimport baseStyles from './styles'\n\nexport const flyoutAriaCurrentTokens = [\n 'page',\n 'step',\n 'location',\n 'date',\n 'time',\n 'true',\n 'false',\n] as const\n\nexport type FlyoutNavItemSelectedAriaCurrent = AriaCurrent\n\nexport interface FlyoutNavItemProps\n extends EventListenerProps<HTMLAnchorElement | HTMLButtonElement> {\n /**\n * The text to present to assistive devices in order to identify the FlyoutNavItem.\n */\n accessibilityText?: string\n /**\n * The \"badge\" element to display above the top-right of the FlyoutNavItem text.\n *\n * The normal use case for this would be to signify that there are notifications to be read\n * or actions to be taken, and a DotBadge element is provided to this prop to indicate such.\n */\n badge?: React.ReactElement<DotBadgeProps>\n /**\n * The content of the nav item.\n *\n * The standard use case will be to provide the nav item's text. There are\n * also use cases where a logo or other non-text elements need to be placed.\n */\n content: React.ReactNode\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n /**\n * The provided component will display to the right of the FlyoutNavItem.\n * The recommended component is a `FlyoutNavItem.Disclosure` with `kind=\"chevronRight\"`.\n */\n disclosure?:\n | React.ReactElement<IconProps>\n | React.ReactElement<FlyoutNavItemDisclosureProps>\n /**\n * A React ref to assign to the HTML node representing the FlyoutNavItem element.\n */\n forwardedRef?: AnchorOrButtonForwardRef\n /**\n * Accepts a graphic (Image/Icon/Avatar) to show inside the FlyoutNavItem.\n */\n graphic?: React.ReactElement<AvatarProps | ImageProps | IconProps>\n /**\n * URL for navigating. If a URL is supplied it renders as an anchor element, if not,\n * a button element.\n */\n href?: string\n /**\n * The relationship of the linked URL of an anchor as space-separated link types.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n */\n rel?: string\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*'?: React.EventHandler<\n React.SyntheticEvent<HTMLAnchorElement | HTMLButtonElement>\n >\n /**\n * Applies a 'selected' treatment to the FlyoutNavItem i.e left border.\n */\n selected?: boolean\n /**\n * The value to supply to the aria-current attribute when this FlyoutNavItem is the\n * \"selected\" item.\n *\n * Within a set of related items:\n *\n * 1. there should only be one \"selected\" item (which will receive a value for `aria-current`)\n *\n * 2. all of the items should use the same token for `aria-current` when selected (indicating that\n * the item is the current \"page\" within a set of pages, or the current \"step\" within a process,\n * or the current \"location\" within an environment, etc.).\n */\n selectedAriaCurrentToken?: FlyoutNavItemSelectedAriaCurrent\n /**\n * The HTML href target (if an href is _not_ provided, this is ignored).\n * When target=\"_blank\" use rel=\"noreferrer\" or rel=\"noopener\" to avoid the vulnerability.\n */\n target?: AnchorTarget\n}\n\nexport function FlyoutNavItem(props: FlyoutNavItemProps) {\n const {\n accessibilityText,\n badge,\n content,\n disclosure,\n forwardedRef,\n graphic,\n href,\n rel,\n selected = false,\n selectedAriaCurrentToken = 'true',\n target,\n ...restProps\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles)\n\n const flyoutNavItemStyles = [\n styles.default.wrap,\n selected && styles.selected.wrap,\n ]\n\n const accessibilityTextElement = !!accessibilityText && (\n <span css={styles.hidden}>{accessibilityText}</span>\n )\n\n const graphicElement = graphic && (\n <span css={styles.default.graphic}>{graphic}</span>\n )\n\n const disclosureElement = disclosure && (\n <span css={styles.default.disclosure}>{disclosure}</span>\n )\n\n const badgeElement = badge && <span css={styles.default.badge}>{badge}</span>\n\n const contentElement = !!content && (\n <span css={styles.default.content}>\n {content}\n {badgeElement}\n </span>\n )\n\n const additionalAttributes = {\n ...(selected && { 'aria-current': selectedAriaCurrentToken }),\n }\n\n return (\n <ConditionalTag\n {...ariaProps(restProps)}\n {...dataProps(restProps)}\n {...onProps(restProps)}\n {...additionalAttributes}\n css={flyoutNavItemStyles}\n forceButton\n forwardedRef={forwardedRef}\n href={href}\n rel={rel}\n target={target}\n >\n {graphicElement}\n {contentElement}\n {accessibilityTextElement}\n {disclosureElement}\n </ConditionalTag>\n )\n}\n\nFlyoutNavItem.selectedAriaCurrentTokens = flyoutAriaCurrentTokens\nFlyoutNavItem.targets = anchorTargets\n\nFlyoutNavItem.propTypes = {\n accessibilityText: PropTypes.string,\n badge: PropTypes.element,\n content: PropTypes.node.isRequired,\n 'data-.*': PropTypes.string,\n disclosure: PropTypes.node,\n forwardedRef: CustomPropTypes.ReactRef,\n graphic: PropTypes.node,\n href: PropTypes.string,\n onClick: PropTypes.func,\n rel: PropTypes.string,\n selected: PropTypes.bool,\n selectedAriaCurrentToken: PropTypes.oneOf(flyoutAriaCurrentTokens),\n target: PropTypes.oneOf(anchorTargets),\n}\n\nFlyoutNavItem.defaultProps = {\n selected: false,\n selectedAriaCurrentToken: 'true',\n}\n\nFlyoutNavItem.displayName = 'FlyoutNavItem'\n\nFlyoutNavItem.Disclosure = FlyoutNavItemDisclosure\n","/* eslint-disable no-param-reassign */\nimport { LocalePolicy } from '../types'\nimport {\n setTelemetry,\n reportException,\n getPerformance,\n} from '../telemetry/telemetry'\n\ninterface InitialFormatter {\n firstN: number\n lastN: number\n cjk_validate: boolean\n}\n\ninterface InitialFormatters {\n [key: string]: InitialFormatter\n}\n\ninterface NameFormatter {\n numN: number\n separator: string\n lastfirst: boolean\n cjk_validate: boolean\n}\n\ninterface NameFormatters {\n [key: string]: NameFormatter\n}\n\nconst initialFormatters: InitialFormatters = {\n first2: {\n firstN: 2,\n lastN: 0,\n cjk_validate: false,\n },\n last2: {\n firstN: 0,\n lastN: 2,\n cjk_validate: false,\n },\n first1last1: {\n firstN: 1,\n lastN: 1,\n cjk_validate: false,\n },\n last2_cjk: {\n firstN: 0,\n lastN: 2,\n cjk_validate: true,\n },\n}\n\nconst nameFormatters: NameFormatters = {\n full: {\n numN: 5,\n separator: ' ',\n lastfirst: false,\n cjk_validate: false,\n },\n first_middle_last: {\n numN: 3,\n separator: ' ',\n lastfirst: false,\n cjk_validate: false,\n },\n lastfirst: {\n numN: 1,\n separator: '',\n lastfirst: true,\n cjk_validate: false,\n },\n last_first: {\n numN: 2,\n separator: ' ',\n lastfirst: true,\n cjk_validate: false,\n },\n lastfirst_cjk: {\n numN: 1,\n separator: '',\n lastfirst: true,\n cjk_validate: true,\n },\n last_first_cjk: {\n numN: 2,\n separator: ' ',\n lastfirst: true,\n cjk_validate: true,\n },\n}\n\n// return true: ascii non-alphanumeric\nfunction isNotAlphaNumeric(c: number): boolean {\n return (\n c < 0x30 ||\n (c >= 0x3a && c <= 0x40) ||\n (c >= 0x5b && c <= 0x60) ||\n (c >= 0x7b && c <= 0x7f)\n )\n}\n\n// return true: CJK\nfunction isCJKChar(c: number): boolean {\n return c >= 0x3000 && c <= 0xfaff\n}\n\nfunction isLetter(c: string): boolean {\n // This allows all actual letters from non CJK and explicitly allows all CJK characters\n return c.toLowerCase() !== c.toUpperCase() || isCJKChar(c.charCodeAt(0))\n}\n\n// return true: all characters are in CJK or non-Alphanumeric\nfunction isCJKString(text: string): boolean {\n for (let i = 0; i < text.length; i++) {\n if (\n !isNotAlphaNumeric(text.charCodeAt(i)) &&\n !isCJKChar(text.charCodeAt(i))\n ) {\n return false\n }\n }\n return true\n}\n\nfunction isSurrogate(c: number): boolean {\n if (c >= 0xd800 && c <= 0xdbff) return true\n return false\n}\n\nexport function substring0(text: string, max: number): string {\n let result = ''\n let count = 0\n for (let i = 0; i < text.length; i++) {\n let c = text[i]\n if (isSurrogate(text.charCodeAt(i))) {\n c = text[i] + text[i + 1]\n i++\n }\n result += c\n count += 1\n if (count >= max) break\n }\n return result\n}\n\nfunction joinNames(nameArr: string[], separator: string) {\n nameArr = nameArr || []\n return nameArr\n .filter(function (str) {\n return str && str.length > 0\n })\n .join(separator)\n}\n\n// get Full name from First, Middle and Last name\nfunction _formatName(\n localePolicy: LocalePolicy,\n firstName: string,\n middleName: string,\n lastName: string\n): string {\n return _formatFullName(localePolicy, '', firstName, middleName, lastName, '')\n}\n\n// get Full name from title, First, Middle, Last and suffix\nfunction _formatFullName(\n localePolicy: LocalePolicy,\n title: string,\n firstName: string,\n middleName: string,\n lastName: string,\n suffix: string\n): string {\n localePolicy = localePolicy || {}\n title = title ? title.trim() : ''\n firstName = firstName ? firstName.trim() : ''\n middleName = middleName ? middleName.trim() : ''\n lastName = lastName ? lastName.trim() : ''\n suffix = suffix ? suffix.trim() : ''\n const formatter = getNameFormatter(\n nameFormatters,\n firstName + lastName,\n localePolicy?.effectiveNameFormat ?? '',\n 'full'\n ) as NameFormatter\n let fullName = ''\n if (formatter.lastfirst) {\n fullName = joinNames(\n [title, lastName, middleName, firstName, suffix],\n formatter.separator\n )\n } else if (formatter.numN === 3) {\n fullName = joinNames([firstName, middleName, lastName], formatter.separator)\n } else {\n // Full\n fullName = joinNames(\n [title, firstName, middleName, lastName, suffix],\n formatter.separator\n )\n }\n return fullName.trim()\n}\n\n// get name format\nfunction _getFullName(\n localePolicy: LocalePolicy,\n firstName: string,\n lastName: string\n): string {\n firstName = firstName ? firstName.trim() : ''\n lastName = lastName ? lastName.trim() : ''\n const formatter = getNameFormatter(\n nameFormatters,\n firstName + lastName,\n localePolicy?.effectiveNameFormat ?? '',\n 'full'\n ) as NameFormatter\n let fullName\n if (formatter.lastfirst) {\n fullName = lastName + formatter.separator + firstName\n } else {\n fullName = firstName + formatter.separator + lastName\n }\n return fullName\n}\n\nfunction _getInputOrder(localePolicy: LocalePolicy): string {\n const formatter = getNameFormatter(\n nameFormatters,\n '',\n localePolicy?.effectiveNameFormat ?? '',\n 'full'\n ) as NameFormatter\n if (formatter.lastfirst) {\n return 'lastfirst'\n }\n return 'firstlast'\n}\n\nfunction getNameFormatter(\n fomatters: NameFormatters | InitialFormatters,\n fullname: string,\n key: string,\n defvalue: string\n): NameFormatter | InitialFormatter {\n let formatter\n formatter = fomatters[key.toLowerCase()] || fomatters[defvalue]\n if (formatter.cjk_validate && !isCJKString(fullname)) {\n formatter = fomatters[defvalue]\n }\n return formatter\n}\n\nfunction getNchar(name: string, nchar: number, secondary: string): string {\n let initial\n initial = substring0(name, nchar)\n if (initial === '') {\n initial = substring0(secondary, nchar)\n }\n return initial\n}\n\nfunction getAllInitials(names: string[]): string {\n // Original code of getInitialsFromName() in signing app is gathering\n // first characters from each token word.\n // so if user input 'title first middle last suffix', Initials is 'tfmls'\n\n let alphaInitials = ''\n let allInitials = ''\n for (let i = 0; i < names.length; i++) {\n if (names[i].length) {\n allInitials += names[i][0]\n\n if (isLetter(names[i][0])) {\n alphaInitials += names[i][0]\n }\n }\n }\n\n if (alphaInitials.length >= 2) {\n return alphaInitials\n }\n\n return allInitials\n}\n\ninterface FirstLastName {\n firstName: string\n lastName: string\n}\n\nfunction getNames(\n names: string[],\n nameFormatter: NameFormatter\n): FirstLastName {\n let firstToken = ''\n let lastToken = ''\n\n if (names && names.length > 0) {\n firstToken = names[0]\n }\n\n if (names && names.length > 1) {\n for (let x = names.length - 1; x > 0; x--) {\n if (names[x].length && isLetter(names[x][0])) {\n lastToken = names[x]\n break\n }\n }\n\n if (lastToken.length === 0) {\n // We didn't find a \"letter\", but there's more than one token, so fall back to previous functionality\n lastToken = names[names.length - 1]\n }\n }\n\n if (nameFormatter && nameFormatter.lastfirst) {\n return { firstName: lastToken, lastName: firstToken }\n }\n\n return { firstName: firstToken, lastName: lastToken }\n}\n\n// get Initials from first, last name\nfunction _getInitials(\n localePolicy: LocalePolicy,\n firstName: string,\n lastName: string,\n isSigning: boolean\n): string {\n localePolicy = localePolicy || {}\n firstName = firstName ? firstName.trim() : ''\n lastName = lastName ? lastName.trim() : ''\n let initial = ''\n\n const formatter = getNameFormatter(\n initialFormatters,\n firstName + lastName,\n localePolicy?.effectiveInitialFormat ?? '',\n 'first1last1'\n ) as InitialFormatter\n initial = ''\n if (formatter.firstN > 0 && formatter.lastN > 0) {\n if (isSigning) {\n initial = getAllInitials(firstName.split(' '))\n initial += substring0(lastName, 1)\n } else {\n initial =\n substring0(firstName, formatter.firstN) +\n substring0(lastName, formatter.lastN)\n if (lastName === '') {\n initial = initial + substring0(firstName, formatter.firstN)\n } else if (firstName === '') {\n initial = initial + substring0(lastName, formatter.lastN)\n }\n }\n } else if (formatter.firstN > 0) {\n initial = getNchar(firstName, formatter.firstN, lastName)\n } else if (formatter.lastN > 0) {\n initial = getNchar(lastName, formatter.lastN, firstName)\n }\n return initial.toUpperCase()\n}\n\n// get Initials from full name\nfunction _getInitialsFromFullName(\n localePolicy: LocalePolicy,\n fullName: string,\n isSigning: boolean\n): string {\n localePolicy = localePolicy || {}\n const fullname = fullName ? fullName.trim() : ''\n const names = fullname.split(' ')\n const formatter = getNameFormatter(\n nameFormatters,\n fullname,\n localePolicy?.effectiveNameFormat ?? '',\n 'full'\n ) as NameFormatter\n const parsedNames = getNames(names, formatter)\n\n if (!formatter.lastfirst) {\n const initialformatter = getNameFormatter(\n initialFormatters,\n fullname,\n localePolicy?.effectiveInitialFormat ?? '',\n 'first1last1'\n ) as InitialFormatter\n if (\n initialformatter.firstN > 0 &&\n initialformatter.lastN > 0 &&\n isSigning\n ) {\n return getAllInitials(names).toUpperCase()\n }\n }\n\n return _getInitials(\n localePolicy,\n parsedNames.firstName,\n parsedNames.lastName,\n isSigning\n )\n}\n\n// get address format\nfunction _getAddressFormat(localePolicy: LocalePolicy): string {\n localePolicy = localePolicy || {}\n return localePolicy.effectiveAddressFormat ?? ''\n}\n\nfunction setup(_dependencies: undefined): void {\n // No dependency\n}\n\nexport {\n formatName,\n formatFullName,\n getFullName,\n getInputOrder,\n getInitials,\n getInitialsFromFullName,\n getAddressFormat,\n isCJKString,\n isLetter,\n setup,\n}\n\nfunction formatName(\n localePolicy: LocalePolicy,\n firstName: string,\n middleName: string,\n lastName: string\n): string {\n try {\n const t0 = getPerformance()\n const result = _formatName(localePolicy, firstName, middleName, lastName)\n setTelemetry(formatName.name, t0)\n return result\n } catch (ex) {\n reportException(formatName.name, ex)\n throw ex\n }\n}\nfunction formatFullName(\n localePolicy: LocalePolicy,\n title: string,\n firstName: string,\n middleName: string,\n lastName: string,\n suffix: string\n): string {\n try {\n const t0 = getPerformance()\n const result = _formatFullName(\n localePolicy,\n title,\n firstName,\n middleName,\n lastName,\n suffix\n )\n setTelemetry(formatFullName.name, t0)\n return result\n } catch (ex) {\n reportException(formatFullName.name, ex)\n throw ex\n }\n}\nfunction getFullName(\n localePolicy: LocalePolicy,\n firstName: string,\n lastName: string\n): string {\n try {\n const t0 = getPerformance()\n const result = _getFullName(localePolicy, firstName, lastName)\n setTelemetry(getFullName.name, t0)\n return result\n } catch (ex) {\n reportException(getFullName.name, ex)\n throw ex\n }\n}\nfunction getInputOrder(localePolicy: LocalePolicy): string {\n try {\n const t0 = getPerformance()\n const result = _getInputOrder(localePolicy)\n setTelemetry(getInputOrder.name, t0)\n return result\n } catch (ex) {\n reportException(getInputOrder.name, ex)\n throw ex\n }\n}\nfunction getInitials(\n localePolicy: LocalePolicy,\n firstName: string,\n lastName: string,\n isSigning: boolean\n): string {\n try {\n const t0 = getPerformance()\n const result = _getInitials(localePolicy, firstName, lastName, isSigning)\n setTelemetry(getInitials.name, t0)\n return result\n } catch (ex) {\n reportException(getInitials.name, ex)\n throw ex\n }\n}\nfunction getInitialsFromFullName(\n localePolicy: LocalePolicy,\n fullName: string,\n isSigning: boolean\n): string {\n try {\n const t0 = getPerformance()\n const result = _getInitialsFromFullName(localePolicy, fullName, isSigning)\n setTelemetry(getInitialsFromFullName.name, t0)\n return result\n } catch (ex) {\n reportException(getInitialsFromFullName.name, ex)\n throw ex\n }\n}\nfunction getAddressFormat(localePolicy: LocalePolicy): string {\n try {\n const t0 = getPerformance()\n const result = _getAddressFormat(localePolicy)\n setTelemetry(getAddressFormat.name, t0)\n return result\n } catch (ex) {\n reportException(getAddressFormat.name, ex)\n throw ex\n }\n}\n","import React from 'react'\nimport { isEmpty, isFunction, upperFirst } from 'lodash'\nimport {\n getInitials,\n getLocalePolicy,\n SupportedCultureName,\n getFullName,\n} from '@ds/i18nlayer'\nimport { Locale } from '@ds/base'\nimport {\n HeaderUserProfile,\n DocusignAppId,\n DocusignApp,\n HeaderItem,\n HeaderHelpActions,\n} from './types'\n\nexport function getUserInitials(user: HeaderUserProfile, locale: Locale) {\n if (user.first_name && user.last_name) {\n const localePolicy = getLocalePolicy(locale as SupportedCultureName)\n return getInitials(\n localePolicy,\n user.first_name || '',\n user.last_name || '',\n false\n )\n }\n return undefined\n}\n\nexport function getUserFullName(user: HeaderUserProfile, locale: Locale) {\n const localePolicy = getLocalePolicy(locale as SupportedCultureName)\n return getFullName(localePolicy, user.first_name || '', user.last_name || '')\n}\n\nexport function getAppImageName(appId: DocusignAppId) {\n return 'docusignAppLogo' + upperFirst(appId.toLowerCase())\n}\n\nexport function getAppLogoAndNameImageName(appId: DocusignAppId) {\n switch (appId) {\n case 'Admin':\n return 'logoAndNameAdmin2'\n case 'CLM':\n return 'logoAndNameClm'\n case 'DTR':\n return 'logoAndNameDtr'\n case 'ESign':\n return 'logoAndNameESign'\n case 'Insight':\n return 'logoAndNameInsightBlack'\n default:\n return undefined\n }\n}\n\nexport function launchUrl(\n targetApp: DocusignApp,\n currentAppId: string,\n accountGuid?: string\n) {\n return `${targetApp.launch_uri}${\n targetApp.launch_uri.includes('?') ? '&' : '?'\n }sourceApp=${currentAppId}${accountGuid ? '&accountId=' + accountGuid : ''}`\n}\n\nexport function shouldDisplayAppSwitcher(\n appId: DocusignAppId,\n switchableApps?: DocusignApp[]\n) {\n if (isEmpty(switchableApps)) {\n return false\n }\n if (switchableApps!.length > 1) {\n return true\n }\n return switchableApps![0].id !== appId\n}\n\nconst DATA_INITIAL_FOCUS = 'data-initial-focus'\n\nexport const initialFocusSelector = `[${DATA_INITIAL_FOCUS}=\"true\"]`\n\nexport const initialFocusDataProp = (inFocus?: boolean) => {\n return inFocus\n ? {\n [DATA_INITIAL_FOCUS]: true,\n }\n : {}\n}\n\nexport function isActionElement(element: Element) {\n const tagName = element.tagName.toLowerCase()\n return (\n tagName === 'a' ||\n tagName === 'button' ||\n (tagName === 'input' && element.getAttribute('type') === 'button')\n )\n}\n\nexport function isActiveTab(headerItem: HeaderItem, activeTabId?: string) {\n if (activeTabId) {\n if (headerItem.itemId === activeTabId) {\n return true\n }\n if (!isEmpty(headerItem.subItems) && Array.isArray(headerItem.subItems)) {\n return (\n (headerItem.subItems as HeaderItem[]).find(\n (subItem) => subItem.itemId === activeTabId\n ) !== undefined\n )\n }\n }\n return false\n}\n\nexport function isCustomContent(helpActions: HeaderHelpActions) {\n return React.isValidElement(helpActions) || isFunction(helpActions)\n}\n","import colors from '../../theming/docusign-themes/olive/colors'\nimport { styles } from '../../utilities'\n\nexport default () =>\n ({\n DotBadge: {\n alignContent: 'center',\n alignItems: 'center',\n backgroundColor: colors.gray8,\n borderRadius: '50%',\n display: 'inline-flex',\n fontSize: '11px',\n fontWeight: 700,\n height: '8px',\n justifyContent: 'center',\n minWidth: '8px',\n padding: '0',\n textAlign: 'center',\n verticalAlign: 'bottom',\n width: '8px',\n },\n\n colorNeutral: {\n backgroundColor: colors.gray8,\n },\n\n colorRed: {\n backgroundColor: colors.persianRed,\n },\n\n colorGreen: {\n backgroundColor: colors.mantisGreen,\n },\n\n colorBlue: {\n backgroundColor: colors.funBlue,\n },\n\n colorYellow: {\n backgroundColor: colors.sunglowYellow,\n color: colors.black,\n },\n\n colorTurquoise: {\n backgroundColor: colors.badgeTurquoise,\n },\n\n colorOrange: {\n backgroundColor: colors.badgeOrange,\n },\n\n colorTransparent: {\n background: 'none',\n border: `1px solid ${colors.gray5}`,\n color: colors.gray9,\n },\n\n hidden: styles.visuallyHidden,\n } as const)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../support'\n\nimport baseStyles from './styles'\n\nimport { variant } from '../../utilities'\n\nimport { useThemeStyles } from '../../theming'\n\nimport { EventListenerProps, SpanForwardRef } from '../../types'\n\nexport type DotBadgeColor =\n | 'blue'\n | 'green'\n | 'neutral'\n | 'orange'\n | 'red'\n | 'transparent'\n | 'turquoise'\n | 'yellow'\n\nexport interface DotBadgeProps extends EventListenerProps<HTMLSpanElement> {\n /**\n * The text to present to assistive devices in order to identify the DotBadge.\n */\n accessibilityText?: string\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n /**\n * A React ref to assign to the HTML node representing the DotBadge element.\n */\n forwardedRef?: SpanForwardRef\n /** @deprecated Use forwardedRef instead. */\n ref?: SpanForwardRef\n /**\n * Color of the DotBadge.\n */\n color?: DotBadgeColor\n}\n\nexport interface DotBadgeComponent\n extends React.FunctionComponent<DotBadgeProps> {\n colors: DotBadgeColor[]\n}\n\nexport const DotBadge: DotBadgeComponent = (props: DotBadgeProps) => {\n const {\n accessibilityText = '',\n color = 'neutral',\n forwardedRef,\n ...restProps\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'DotBadge')\n\n const colorVariant = variant('color', color)\n\n const dotBadgeStyles = [styles.DotBadge, styles[colorVariant]]\n\n const dotBadgeText = accessibilityText && (\n <span css={styles.hidden}>{accessibilityText}</span>\n )\n\n return (\n <span\n {...dataProps(restProps)}\n {...onProps(restProps)}\n css={dotBadgeStyles}\n ref={forwardedRef}\n >\n {dotBadgeText}\n </span>\n )\n}\n\nDotBadge.colors = [\n 'blue',\n 'green',\n 'neutral',\n 'orange',\n 'red',\n 'transparent',\n 'turquoise',\n 'yellow',\n]\n\nDotBadge.propTypes = {\n accessibilityText: PropTypes.string,\n color: PropTypes.oneOf(DotBadge.colors),\n 'data-.*': PropTypes.string,\n // @ts-ignore\n forwardedRef: CustomPropTypes.ReactRef,\n 'on[A-Z].*': PropTypes.func,\n}\n\nDotBadge.defaultProps = {\n 'data-.*': undefined,\n // @ts-ignore\n 'on[A-Z].*': undefined,\n accessibilityText: '',\n color: 'neutral',\n forwardedRef: undefined,\n}\n\nDotBadge.displayName = 'DotBadge'\n","import { withRef } from '../../HOC'\n\nimport { DotBadge } from './DotBadge'\n\nexport const DotBadgeWithRef = withRef(DotBadge)\n","import * as React from 'react'\nimport {\n FlyoutNavItem,\n DotBadge,\n AnchorOrButtonOnClickHandler,\n LinkTarget,\n} from '@ds/ui'\nimport { HeaderTranslateFunction } from '../types'\nimport { initialFocusDataProp } from '../utils'\n\ninterface HeaderChoiceRowProps {\n translate: HeaderTranslateFunction\n rowId: string\n text: string\n onClick?: AnchorOrButtonOnClickHandler\n href?: string\n rel?: string\n target?: LinkTarget\n hasSubChoices: boolean\n isActive: boolean\n activeItemAccessabilityText?: string\n 'data-qa': string\n showBadge?: boolean\n initialFocus?: boolean\n}\n\nexport const HeaderPhoneItemRow: React.FunctionComponent<HeaderChoiceRowProps> =\n (props) => {\n return (\n <div>\n <FlyoutNavItem\n key={props.rowId}\n content={props.text}\n selected={props.isActive}\n disclosure={\n props.hasSubChoices ? (\n <FlyoutNavItem.Disclosure kind=\"caretRight\" />\n ) : undefined\n }\n data-qa={props['data-qa']}\n href={props.href}\n onClick={props.href ? handleAnchorClick : handleButtonClick}\n badge={\n props.showBadge ? (\n <DotBadge\n color=\"red\"\n accessibilityText={props.translate('updatedItem')}\n />\n ) : undefined\n }\n target={props.target}\n rel={props.rel}\n aria-haspopup={props.hasSubChoices ? 'true' : 'false'}\n {...initialFocusDataProp(props.initialFocus)}\n />\n </div>\n )\n\n function handleAnchorClick(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n ) {\n props.onClick && props.onClick(event)\n }\n\n function handleButtonClick(\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) {\n if (props.onClick) {\n event.preventDefault()\n props.onClick(event)\n }\n }\n }\n","import * as React from 'react'\nimport styles from '../styles'\n\n/*\n A horizontal separator between items on phone menus.\n*/\n\nexport const HeaderHorizontalSeparator: React.FunctionComponent = () => {\n return <hr css={styles.menuSeparatorCSS} />\n}\n","import { CSSObject } from '@emotion/core'\n\nconst visuallyHidden: CSSObject = {\n label: 'VISUALLY_HIDDEN',\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px',\n}\n\nexport default {\n visuallyHidden,\n}\n","import * as React from 'react'\nimport { Avatar, FlyoutNavItem, DocuSignLogo } from '@ds/ui'\nimport { Locale } from '@ds/base'\nimport {\n HeaderPhoneMenuState,\n Action,\n HeaderItem,\n LabeledAction,\n DocusignAppId,\n HeaderUserProfile,\n ImageURL,\n DocusignApp,\n HeaderTranslateFunction,\n HeaderLanguageSelector,\n HeaderHelpActions,\n} from '../types'\nimport { isActiveTab } from '../utils'\nimport { HeaderPhoneItemRow } from './HeaderPhoneItemRow'\nimport { HeaderHorizontalSeparator as Separator } from './HeaderHorizontalSeparator'\nimport styles from '../styles'\nimport { Icon } from '@ds/ui'\nimport {\n getUserInitials,\n getUserFullName,\n initialFocusDataProp,\n isCustomContent,\n} from '../utils'\nimport { isEmpty, isFunction } from 'lodash'\nimport commonStyles from '../../../Common/styles'\nimport { getDisplayName as getLocaleDisplayName } from '../../Footer/localeDisplay'\n\n/*\n\n The primary menu for phone view. Displays options header and allows\n navigation to sub-menus\n\n*/\n\ninterface HeaderPhoneMainMenuProps {\n translate: HeaderTranslateFunction\n locale: Locale\n appId: DocusignAppId\n appName: string\n activeTabId?: string\n tabItems?: HeaderItem[]\n actionsMenu?: HeaderItem\n helpActions?: HeaderHelpActions\n onNotifications?: Action\n showNotificationsBadge?: boolean\n showHelpBadge?: boolean\n customLogoUrl?: string\n customLogoAltText?: string\n user?: HeaderUserProfile\n profileImage?: ImageURL\n switchableApps?: DocusignApp[]\n disableProfile?: boolean\n customMobileItems?: HeaderItem[]\n languageSelector?: HeaderLanguageSelector\n showLangSelector?: () => void\n onNavigate: (from: HeaderPhoneMenuState, to: HeaderPhoneMenuState) => void\n onCloseRequest: (action?: () => void) => void\n onBackRequest: () => void\n}\n\nexport const HeaderPhoneMainMenu: React.FunctionComponent<HeaderPhoneMainMenuProps> =\n (props) => {\n return (\n <>\n {renderHeading()}\n {renderRows()}\n </>\n )\n\n function renderRows() {\n return (\n <>\n <ul css={styles.phoneMainMenuScrollableRowsCSS}>\n {renderAppSwitcherRow()}\n <ul css={styles.phoneMainMenuItemListCSS}>\n {renderAppLocalRows()}\n {renderHeaderMenuButtonRows()}\n </ul>\n </ul>\n {!props.disableProfile && renderProfileRow()}\n </>\n )\n }\n\n function renderHeading() {\n return (\n <>\n <div css={styles.menuHeadingCenteredCSS}>\n <button\n type=\"button\"\n css={styles.menuCloseButtonCSS}\n onClick={(event) => {\n event.preventDefault()\n props.onCloseRequest()\n }}\n aria-expanded=\"true\"\n data-qa=\"header-phone-menu-close-button\"\n >\n <Icon kind=\"close\" size={24} />\n <span css={commonStyles.visuallyHidden}>\n {props.translate('HDR:show-site-nav')}\n </span>\n </button>\n <span css={styles.appSwitchLogoWrapper} data-qa=\"header-logo\">\n <DocuSignLogo />\n </span>\n </div>\n </>\n )\n }\n\n function renderAppSwitcherRow() {\n return (\n !isEmpty(switchableOtherApps()) && (\n <li>\n <FlyoutNavItem\n content={props.appName}\n onClick={(event) => {\n event.preventDefault()\n navigateToAppSwitcher()\n }}\n disclosure={<FlyoutNavItem.Disclosure kind=\"caretRight\" />}\n aria-haspopup=\"true\"\n {...initialFocusDataProp(true)}\n data-qa=\"header-phone-apps-button\"\n />\n </li>\n )\n )\n }\n\n function renderAppLocalRows() {\n let topTabs = isEmpty(props.tabItems) ? [] : [...props.tabItems!]\n // handle the Actions menu as just another tab item\n if (props.actionsMenu) {\n topTabs = [...topTabs, props.actionsMenu]\n }\n if (topTabs.length > 0) {\n return (\n <>\n {topTabs.map((tabItem, index) => {\n const isActive = isActiveTab(tabItem, props.activeTabId)\n const isInitialFocus =\n index === 0 && isEmpty(switchableOtherApps())\n return (\n <li key={tabItem.itemId}>\n <HeaderPhoneItemRow\n translate={props.translate}\n key={tabItem.itemId}\n text={tabItem.text}\n hasSubChoices={!isEmpty(tabItem.subItems)}\n rowId={tabItem.itemId}\n onClick={(event) => {\n if (tabItem.preventDefault) {\n event.preventDefault()\n }\n handleHeaderItemClick(tabItem)\n }}\n href={tabItem.href}\n rel={tabItem.rel}\n target={tabItem.target}\n isActive={isActive}\n activeItemAccessabilityText={\n isActive ? props.translate('selectedNavItem') : undefined\n }\n showBadge={tabItem.showBadge}\n initialFocus={isInitialFocus}\n data-qa={\n tabItem['data-qa'] ||\n 'header-' + tabItem.itemId + '-tab-button'\n }\n />\n {index === props.tabItems!.length - 1 ||\n index === topTabs.length - 1 ? (\n <Separator />\n ) : null}\n </li>\n )\n })}\n </>\n )\n }\n return ''\n }\n\n function renderHeaderMenuButtonRows() {\n return (\n <>\n {renderNotificationsRow()}\n {renderHelpRow()}\n {renderLanguageRow()}\n {renderCustomMobileItems()}\n </>\n )\n }\n\n function renderNotificationsRow() {\n return (\n props.onNotifications && (\n <HeaderPhoneItemRow\n translate={props.translate}\n key=\"notifications\"\n text={props.translate('HDR:Notifications')}\n hasSubChoices={false}\n rowId=\"nofifications\"\n onClick={() => {\n handleNotificationsClick()\n }}\n href={props.onNotifications.href}\n rel={props.onNotifications.rel}\n target={props.onNotifications.target}\n isActive={props.activeTabId === 'NOTIFICATIONS'}\n showBadge={props.showNotificationsBadge}\n data-qa=\"header-notifications-button\"\n />\n )\n )\n }\n\n function renderCustomMobileItems() {\n return (\n !isEmpty(props.customMobileItems) && (\n <>\n {props.customMobileItems!.map((rootItem) => (\n <li key={rootItem.itemId}>\n <HeaderPhoneItemRow\n translate={props.translate}\n key={rootItem.itemId}\n text={rootItem.text}\n hasSubChoices={!isEmpty(rootItem.subItems)}\n rowId={rootItem.itemId}\n onClick={() => handleHeaderItemClick(rootItem)}\n isActive={false}\n data-qa={rootItem['data-qa'] || `header-${rootItem.itemId}`}\n />\n </li>\n ))}\n </>\n )\n )\n }\n\n function renderLanguageRow() {\n if (props.languageSelector) {\n const currentLocaleDescription = getLocaleDisplayName(props.locale)\n return (\n <li>\n <HeaderPhoneItemRow\n translate={props.translate}\n key=\"MOBILE_LANG_SELECTOR\"\n text={currentLocaleDescription}\n hasSubChoices={false}\n rowId=\"MOBILE_LANG_SELECTOR\"\n onClick={handleLanguageClick}\n isActive={false}\n data-qa=\"header-language-button\"\n />\n </li>\n )\n }\n return null\n }\n\n function renderHelpRow() {\n const helpRootItem =\n isEmpty(props.helpActions) && !isFunction(props.helpActions)\n ? undefined\n : createHelpHeaderRootItem()\n return (\n helpRootItem && (\n <li>\n <HeaderPhoneItemRow\n translate={props.translate}\n key={helpRootItem.itemId}\n text={helpRootItem.text}\n hasSubChoices={\n !isEmpty(helpRootItem.subItems) ||\n isFunction(helpRootItem.subItems)\n }\n rowId={helpRootItem.itemId}\n onClick={() => handleHeaderItemClick(helpRootItem)}\n href={helpRootItem.href}\n rel={helpRootItem.rel}\n target={helpRootItem.target}\n isActive={false}\n showBadge={props.showHelpBadge}\n data-qa=\"header-help-button\"\n />\n </li>\n )\n )\n }\n\n function renderProfileRow() {\n const user = props.user\n const userName = user\n ? getUserFullName(user, props.locale)\n : props.translate('HDR:Profile')\n return (\n <div css={{ borderTop: '1px solid #d0d0d0' }}>\n <FlyoutNavItem\n graphic={\n <Avatar\n image={props.profileImage}\n initials={user && getUserInitials(user, props.locale)}\n size=\"small\"\n />\n }\n content={\n <div css={{ display: 'flex', flexDirection: 'column' }}>\n {props.customLogoUrl ? (\n <div>\n <img\n css={styles.phoneCustomLogoCSS}\n src={props.customLogoUrl}\n alt={\n props.customLogoAltText ||\n props.translate('HDR:CustomLogoAltText:A11Y')\n }\n data-qa=\"header-custom-logo\"\n />\n </div>\n ) : null}\n <div css={styles.phoneProfileRowTextCSS}>{userName}</div>\n </div>\n }\n disclosure={<FlyoutNavItem.Disclosure kind=\"caretRight\" />}\n data-qa=\"header-phone-profile-button\"\n onClick={(event) => {\n event.preventDefault()\n navigateToProfile()\n }}\n />\n </div>\n )\n }\n\n function createHelpHeaderRootItem(): HeaderItem {\n const helpActions = props.helpActions!\n const rootItem: HeaderItem = {\n itemId: 'HELP',\n text: props.translate('HDR:Help'),\n }\n const customContent = isCustomContent(helpActions)\n const isSingleAction =\n !customContent && (helpActions as LabeledAction[]).length === 1\n if (isSingleAction) {\n rootItem.onClick = () => helpActions[0].onClick()\n } else if (customContent) {\n rootItem.subItems = helpActions\n } else {\n const items: HeaderItem[] = (helpActions as LabeledAction[]).map(\n (helpAction) => {\n return {\n itemId: helpAction.itemId,\n text: helpAction.text,\n onClick: helpAction.onClick,\n href: helpAction.href,\n }\n }\n )\n rootItem.subItems = items\n }\n return rootItem\n }\n\n function handleHeaderItemClick(tabItem: HeaderItem) {\n if (isEmpty(tabItem.subItems) && !isFunction(tabItem.subItems)) {\n props.onCloseRequest(() => {\n if (tabItem.onClick) {\n tabItem.onClick()\n }\n })\n } else {\n navigateToTabItem(tabItem)\n }\n }\n\n function handleNotificationsClick() {\n props.onCloseRequest(() => {\n if (props.onNotifications && props.onNotifications.onClick) {\n props.onNotifications.onClick()\n }\n })\n }\n\n function handleLanguageClick() {\n props.onCloseRequest(() => {\n props.showLangSelector?.()\n })\n }\n\n function createMainMenuState(): HeaderPhoneMenuState {\n return { type: 'main' }\n }\n\n function navigateToAppSwitcher() {\n props.onNavigate(createMainMenuState(), {\n type: 'appswitch',\n })\n }\n\n function navigateToProfile() {\n props.onNavigate(createMainMenuState(), {\n type: 'profile',\n })\n }\n\n function navigateToTabItem(tabItem: HeaderItem) {\n props.onNavigate(createMainMenuState(), {\n type: 'tab',\n item: tabItem,\n })\n }\n\n function switchableOtherApps() {\n const apps = props.switchableApps || []\n return apps.filter((app) => app.id !== props.appId)\n }\n }\n","import * as React from 'react'\nimport styles from '../styles'\nimport { Icon } from '@ds/ui'\nimport { HeaderTranslateFunction } from '../types'\n\ninterface HeaderMenuHeadingProps {\n menuTitle: string // This should already be localized!\n onBackRequest: () => void\n translate: HeaderTranslateFunction\n}\n\nexport const HeaderMenuHeading: React.FunctionComponent<HeaderMenuHeadingProps> =\n (props) => {\n return (\n <>\n <div css={styles.menuHeadingCenteredCSS}>\n <button\n type=\"button\"\n css={styles.menuCloseButtonCSS}\n onClick={(event) => {\n event.preventDefault()\n props.onBackRequest()\n }}\n data-qa=\"header-menu-back-button\"\n >\n <Icon kind=\"caretLeft\" size={24} />\n </button>\n <h2 css={styles.phoneMenuTitleCSS} data-qa=\"header-menu-title\">\n {props.menuTitle}\n </h2>\n </div>\n </>\n )\n }\n","import { useEffect, useRef, useCallback } from 'react'\n/*\n\n Safe setTimeout\n\n Returns a function equivalent to setTimeout.\n Each time the function is run it will cancel the previous timeout.\n Unmounting the component will clear any active timeout.\n\n Examples:\n\n Simple case:\n\n const { runLater } = useTimer()\n\n runLater(() => console.log(\"Wheee...I was deferred\"), 1000)\n\n Status checking:\n\n const { runLater, status } = useTimer()\n . . .\n\n if (!status.everScheduled) {\n runLater(() => console.log(\"Wheee...I was deferred\"), 1000)\n }\n\n NOTE: This hook is NOT reactive. It will not force re-renders on status changes\n\n*/\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable react-hooks/exhaustive-deps */\n\ninterface WorkStatus {\n /** Has runLater ever been called? */\n everScheduled: boolean\n /** Is the last function scheduled by calling runLater waiting to run? */\n scheduled: boolean\n /** Is the last function scheduled by calling runLater currently running? */\n running: boolean\n}\n\nexport function useTimer() {\n const timerId = useRef<ReturnType<typeof setTimeout>>()\n const status = useRef<WorkStatus>({\n everScheduled: false,\n scheduled: false,\n running: false,\n })\n const runLater = useCallback(\n (handler: () => void, timeout?: number | undefined, ...args: any[]) => {\n status.current.everScheduled = true\n clearTimeout(timerId.current!)\n status.current.scheduled = true\n timerId.current = setTimeout(\n () => {\n status.current.scheduled = false\n status.current.running = true\n handler()\n status.current.running = false\n },\n timeout,\n args\n ) as unknown as ReturnType<typeof setTimeout>\n return timerId\n },\n []\n )\n\n useEffect(() => {\n return () => {\n clearTimeout(timerId.current!)\n }\n }, [])\n\n return { runLater, status: status.current }\n}\n","import * as React from 'react'\nimport { isEmpty } from 'lodash'\nimport styles from '../styles'\nimport { commonStyles } from '../../../Common'\nimport {\n DocusignApp,\n DocusignAppId,\n HeaderOnSwitchCallback,\n HeaderLogHandler,\n HeaderTranslateFunction,\n} from '../types'\nimport { launchUrl, initialFocusDataProp } from '../utils'\nimport { FlyoutNavItem, AnchorOrButtonOnClickHandler } from '@ds/ui'\nimport { useTimer } from '@ds/react-utils'\n\nconst maximumWaitMsForOnSwitchCallack = 3000\nconst appSwitchIdPrefix = 'header-app-switch-'\n\n/*\n\n Renders a list of app links. Current app is styled with active bar.\n\n*/\n\nexport interface HeaderAppSwitchListProps {\n appId: DocusignAppId\n translate: HeaderTranslateFunction\n onLoggingEvent: HeaderLogHandler\n switchableApps?: DocusignApp[]\n accountGuid?: string\n onAppSwitch?: HeaderOnSwitchCallback\n maxWaitForOnSwitchResponse?: number\n}\n\nexport const HeaderAppSwitchList: React.FunctionComponent<HeaderAppSwitchListProps> =\n (props) => {\n const { runLater } = useTimer()\n const apps = props.switchableApps || []\n\n sortApps(apps)\n\n return (\n <ul css={styles.appSwitcherListCSS}>\n {!isEmpty(apps) &&\n apps!.map((app, index) => {\n const isCurrentApp = props.appId === app.id\n return (\n <li key={app.id}>\n <AppSwitchLink\n app={app}\n isCurrent={isCurrentApp}\n onClick={(event) => {\n event.preventDefault()\n handleAppSwitchClick(app)\n }}\n accountGuid={props.accountGuid}\n focus={index === 0}\n />\n {isCurrentApp && (\n <span css={commonStyles.visuallyHidden}>\n {props.translate('selectedNavItem')}\n </span>\n )}\n </li>\n )\n })}\n </ul>\n )\n\n async function handleAppSwitchClick(targetApp: DocusignApp) {\n if (props.onAppSwitch) {\n let waitingForCallack = true\n // 1.) Plan b: if the callback takes too long then don't wait...switch now\n runLater(() => {\n if (waitingForCallack) {\n loadApp(targetApp)\n }\n }, props.maxWaitForOnSwitchResponse || maximumWaitMsForOnSwitchCallack)\n // 2.) Plan a: invoke callback and then switch\n try {\n // wait for the app to do any cleanup or logging it would like to do\n const doesAppApproveSwitch = await props.onAppSwitch(targetApp.id)\n waitingForCallack = false\n if (doesAppApproveSwitch !== false) {\n loadApp(targetApp)\n }\n } catch (err) {\n // whoa...app failed during the callback...load anyway\n waitingForCallack = false\n logCallbackError(err)\n loadApp(targetApp)\n }\n } else {\n loadApp(targetApp)\n }\n }\n\n function loadApp(targetApp: DocusignApp) {\n const targetUrl = launchUrl(targetApp, props.appId, props.accountGuid)\n window.location.href = targetUrl\n }\n\n function logCallbackError(error: Error) {\n props.onLoggingEvent({\n isError: true,\n type: 'ERROR',\n description: 'onAppSwitch error',\n error,\n })\n }\n }\n\nfunction sortApps(apps: DocusignApp[]) {\n // eSign should be first, Admin should be last, sort others by id\n apps.sort((appA, appB) => {\n if (appA.id === 'ESign') {\n return -1\n }\n if (appB.id === 'ESign') {\n return 1\n }\n if (appA.id === 'Admin') {\n return 1\n }\n if (appB.id === 'Admin') {\n return -1\n }\n if (appA.id < appB.id) {\n return -1\n }\n if (appA.id > appB.id) {\n return 1\n }\n return 0\n })\n}\n\nconst AppSwitchLink: React.FunctionComponent<{\n app: DocusignApp\n isCurrent: boolean\n onClick: AnchorOrButtonOnClickHandler\n accountGuid?: string\n focus?: boolean\n}> = (props) => {\n const linkRef = React.useRef<HTMLAnchorElement>(null)\n React.useEffect(() => {\n if (linkRef.current) {\n linkRef.current.id = appLinkDomId(props.app.id)\n }\n }, [props.app.id])\n\n return (\n <FlyoutNavItem\n content={props.app.name}\n selected={props.isCurrent}\n onClick={props.onClick}\n href={launchUrl(props.app, props.app.id, props.accountGuid)}\n data-qa={`${props.app.id}-launch-button`}\n {...initialFocusDataProp(props.focus)}\n forwardedRef={linkRef}\n />\n )\n}\n\nfunction appLinkDomId(appId: DocusignAppId) {\n return `${appSwitchIdPrefix}${appId}`\n}\n","import * as React from 'react'\nimport {\n DocusignApp,\n DocusignAppId,\n HeaderLogHandler,\n HeaderOnSwitchCallback,\n HeaderTranslateFunction,\n} from '../types'\nimport { HeaderMenuHeading as MenuHeading } from './HeaderPhoneMenuHeading'\nimport { HeaderAppSwitchList } from '../Common/HeaderAppSwitchList'\n\n/*\n\n App switcher menu for phone. Renders a heading and all available apps.\n\n*/\n\ninterface HeaderPhoneAppSwitchMenuProps {\n translate: HeaderTranslateFunction\n appId: DocusignAppId\n accountGuid?: string\n switchableApps?: DocusignApp[]\n onBackRequest: () => void\n onLoggingEvent: HeaderLogHandler\n onAppSwitch?: HeaderOnSwitchCallback\n onShowAppSwitch?: () => void\n}\n\nexport const HeaderPhoneAppSwitchMenu: React.FunctionComponent<HeaderPhoneAppSwitchMenuProps> =\n ({\n translate,\n appId,\n accountGuid,\n switchableApps,\n onBackRequest,\n onLoggingEvent,\n onAppSwitch,\n onShowAppSwitch,\n }) => {\n React.useEffect(() => {\n onShowAppSwitch?.()\n }, [onShowAppSwitch])\n\n return (\n <>\n {renderHeading()}\n {renderAppRows()}\n </>\n )\n\n function renderHeading() {\n return (\n <MenuHeading\n menuTitle={translate('HDR:MyApps')}\n onBackRequest={onBackRequest}\n translate={translate}\n />\n )\n }\n\n function renderAppRows() {\n return (\n switchableApps && (\n <HeaderAppSwitchList\n translate={translate}\n appId={appId}\n accountGuid={accountGuid}\n switchableApps={switchableApps}\n onLoggingEvent={onLoggingEvent}\n onAppSwitch={onAppSwitch}\n />\n )\n )\n }\n }\n","import * as React from 'react'\nimport { isEmpty, isFunction } from 'lodash'\nimport { useEventListener, useTimer } from '@ds/react-utils'\nimport { HeaderMenuHeading as MenuHeading } from './HeaderPhoneMenuHeading'\nimport {\n HeaderItem,\n HeaderPhoneMenuState,\n HeaderTranslateFunction,\n} from '../types'\nimport { HeaderPhoneItemRow } from './HeaderPhoneItemRow'\nimport { isActionElement, isActiveTab, isCustomContent } from '../utils'\nimport styles from '../styles'\n\n/*\n A phone menu of tab sub-item choices\n*/\n\ninterface HeaderPhoneTabItemMenuProps {\n translate: HeaderTranslateFunction\n menuState: HeaderPhoneMenuState\n activeTabId?: string\n onNavigate: (from: HeaderPhoneMenuState, to: HeaderPhoneMenuState) => void\n onCloseRequest: (action?: () => void) => void\n onBackRequest: () => void\n}\n\nexport const HeaderPhoneTabItemMenu: React.FunctionComponent<HeaderPhoneTabItemMenuProps> =\n (props) => {\n const headerItem = props.menuState.item\n if (!headerItem) {\n throw Error(\n `Invalid menu state for this menu component...menuState.item is ${headerItem}`\n )\n }\n\n const customContent = isCustomContent(headerItem.subItems)\n\n return (\n <>\n {renderHeading(headerItem)}\n {customContent\n ? renderCustomContent(headerItem)\n : renderItemRows(headerItem)}\n </>\n )\n\n function renderHeading(item: HeaderItem) {\n return (\n <MenuHeading\n menuTitle={item.text}\n onBackRequest={props.onBackRequest}\n translate={props.translate}\n />\n )\n }\n\n function renderCustomContent(item: HeaderItem) {\n return (\n <CustomContentActionListener\n onActionClick={() => props.onCloseRequest(() => '')}\n >\n {item.subItems}\n </CustomContentActionListener>\n )\n }\n\n function renderItemRows(item: HeaderItem) {\n const subItems = (item.subItems as HeaderItem[]) || []\n return (\n <ul css={styles.phoneMenuScrollableRowsCSS}>\n {subItems.map((subItem, index) => {\n const isActive = isActiveTab(subItem, props.activeTabId)\n const hasSubItems = !isEmpty(subItem.subItems)\n return (\n <li key={subItem.itemId}>\n <HeaderPhoneItemRow\n translate={props.translate}\n text={subItem.text}\n hasSubChoices={hasSubItems}\n rowId={subItem.itemId}\n onClick={\n hasSubItems || subItem.onClick\n ? () => {\n handleSubItemClick(subItem)\n }\n : undefined\n }\n href={hasSubItems ? undefined : subItem.href}\n rel={subItem.rel}\n target={subItem.target}\n isActive={isActive}\n activeItemAccessabilityText={\n isActive ? props.translate('selectedNavItem') : undefined\n }\n showBadge={subItem.showBadge}\n initialFocus={index === 0}\n data-qa={\n subItem['data-qa'] ||\n 'header-' + subItem.itemId + '-tab-button'\n }\n />\n </li>\n )\n })}\n </ul>\n )\n }\n\n function handleSubItemClick(subItem: HeaderItem) {\n if (isEmpty(subItem.subItems)) {\n props.onCloseRequest(() => {\n subItem.onClick?.()\n })\n } else {\n navigateToSubItem(subItem)\n }\n }\n\n function navigateToSubItem(subItem: HeaderItem) {\n const fromMenuState: HeaderPhoneMenuState = {\n type: 'tab',\n item: props.menuState.item,\n }\n const toMenuState: HeaderPhoneMenuState = {\n type: 'tab',\n item: subItem,\n }\n props.onNavigate(fromMenuState, toMenuState)\n }\n }\n\nconst CustomContentActionListener: React.FunctionComponent<{\n onActionClick: () => void\n}> = (props) => {\n const { children, onActionClick } = props\n const [contentComponentEl, setContentComponentEl] =\n React.useState<HTMLDivElement | null>()\n\n const { runLater } = useTimer()\n\n useEventListener(\n 'click',\n (event) => {\n if (!isFunction(children) && isActionElement(event.target! as Element)) {\n runLater(() => onActionClick(), 0)\n }\n },\n contentComponentEl\n )\n\n return (\n <div ref={setContentComponentEl} css={styles.phoneCustomContentCSS}>\n {isFunction(children)\n ? children(() => runLater(() => onActionClick(), 0))\n : children}\n </div>\n )\n}\n","import * as React from 'react'\nimport { Button, Avatar, AnyArgsVoidReturn } from '@ds/ui'\nimport { isEmpty } from 'lodash'\nimport { Locale } from '@ds/base'\nimport { HeaderUserProfile, ImageURL, HeaderTranslateFunction } from '../types'\nimport {\n getUserFullName,\n getUserInitials,\n initialFocusDataProp,\n} from '../utils'\nimport styles from '../styles'\n\n/*\n\n Renders user profile (name, account id, email) and a button for me-site\n\n*/\n\ninterface HeaderProfileUserContentProps {\n locale: Locale\n translate: HeaderTranslateFunction\n user?: HeaderUserProfile\n profileImage?: ImageURL\n accountId?: string\n showManageProfile?: boolean\n onOpenProfileSite?: () => void\n onCloseRequest: (action?: () => void) => void\n isPhone?: boolean\n profileExtraInfo?: React.ReactNode[]\n manageProfileOnKeyDown: AnyArgsVoidReturn\n}\n\nexport const HeaderProfileUserContent: React.FunctionComponent<HeaderProfileUserContentProps> =\n (props) => {\n const translate = props.translate\n const user = props.user\n\n return (\n <div\n css={\n props.isPhone ? styles.phoneProfileUserCSS : styles.menuProfileUserCSS\n }\n >\n <span aria-hidden=\"true\">\n {renderUserInfo()}\n {props.accountId && (\n <div css={styles.phoneProfileUserDetailCSS}>\n {translate('HDR:Account#')}\n <span data-qa=\"header-profile-accountid\" title={props.accountId}>\n {props.accountId}\n </span>\n </div>\n )}\n </span>\n {renderProfileExtraInfo()}\n {renderProfileButton()}\n </div>\n )\n\n function renderUserInfo() {\n return (\n (user && (\n <>\n {props.isPhone && (\n <Avatar\n image={props.profileImage}\n initials={user && getUserInitials(user, props.locale)}\n />\n )}\n <div\n css={styles.phoneProfileUserNameCSS}\n data-qa=\"header-profile-user-name\"\n title={getUserFullName(user, props.locale)}\n >\n {getUserFullName(user, props.locale)}\n </div>\n <div\n css={styles.phoneProfileUserDetailCSS}\n data-qa=\"header-profile-user-email\"\n title={user.email_address}\n >\n {user.email_address}\n </div>\n </>\n )) ||\n null\n )\n }\n\n function renderProfileButton() {\n return (\n props.showManageProfile &&\n props.user && (\n <div css={styles.phoneProfileButtonCSS}>\n <Button\n kind=\"secondary\"\n size=\"small\"\n text={translate('HDR:ManageProfile')}\n data-qa=\"header-phone-manage-profile-button\"\n onKeyDown={props.manageProfileOnKeyDown}\n onClick={() =>\n props.onCloseRequest(() => handleProfileSiteNavigation())\n }\n role=\"menuitem\"\n {...initialFocusDataProp(props.isPhone)}\n />\n </div>\n )\n )\n }\n\n function renderProfileExtraInfo() {\n if (!isEmpty(props.profileExtraInfo)) {\n return props.profileExtraInfo!.map((extraInfo, index) => (\n <div\n key={index}\n css={styles.phoneProfileUserDetailCSS}\n data-qa={`header-profile-extra-info-${index}`}\n >\n {extraInfo}\n </div>\n ))\n }\n return null\n }\n\n function handleProfileSiteNavigation() {\n props.onOpenProfileSite?.()\n props.onCloseRequest(() => {\n window.open(props.user!.me_site_uri, 'DocusignUserProfile')\n })\n }\n }\n","import * as React from 'react'\nimport {\n ChoiceCallback,\n ProfileChoice,\n HeaderTranslateFunction,\n} from '../types'\nimport { initialFocusDataProp } from '../utils'\nimport styles from '../styles'\nimport { FlyoutNavItem, LinkTarget } from '@ds/ui'\n\n/*\n A list of choices which are displayed on the profile view. Includes\n some fixed choices (logoff and account switch) and custom choices as\n well.\n\n The component is passed functions to invoke when the choice is clicked.\n However, the component does not actually invoke the choice function. Rather\n it calls the onCloseRequest() and passes the callback as an argument.\n This allows the consuming component to cleanup before invoking the function.\n*/\n\ninterface HeaderProfileMenuChoicesProps {\n translate: HeaderTranslateFunction\n onLogoff: () => void\n onAccountSwitch?: () => void\n customProfileChoices?: ProfileChoice[]\n onCloseRequest: (action?: () => void) => void\n}\n\nexport const HeaderProfileMenuChoices: React.FunctionComponent<HeaderProfileMenuChoicesProps> =\n (props) => {\n const translate = props.translate\n\n const customChoices = props.customProfileChoices || []\n\n return (\n <ul css={styles.menuProfileChoiceList}>\n {props.onAccountSwitch &&\n renderChoice(\n 'account-switch',\n translate('HDR:SwitchAcct'),\n props.onAccountSwitch,\n true\n )}\n {customChoices.map((choice) =>\n renderChoice(\n choice.itemId,\n choice.text,\n choice.onClick,\n !props.onAccountSwitch,\n choice.href,\n choice.rel,\n choice.target\n )\n )}\n {props.onLogoff &&\n renderChoice('logoff', translate('HDR:Logout'), () => {\n props.onLogoff()\n })}\n </ul>\n )\n\n function renderChoice(\n choiceKey: string,\n text: string,\n callback?: ChoiceCallback,\n initialFocus?: boolean,\n href?: string,\n rel?: string,\n target?: LinkTarget\n ) {\n return (\n <li key={choiceKey}>\n <FlyoutNavItem\n content={text}\n data-qa={\n (href ? 'profile-menu-link-' : 'profile-menu-button-') + choiceKey\n }\n href={href}\n rel={rel}\n target={target}\n onClick={(event) => {\n if (!href) {\n event.preventDefault()\n }\n props.onCloseRequest(() => callback && callback())\n }}\n {...initialFocusDataProp(initialFocus)}\n />\n </li>\n )\n }\n }\n","import * as React from 'react'\nimport { Locale } from '@ds/base'\nimport {\n HeaderUserProfile,\n ImageURL,\n ProfileChoice,\n HeaderTranslateFunction,\n} from '../types'\nimport { HeaderMenuHeading as MenuHeading } from './HeaderPhoneMenuHeading'\nimport { HeaderProfileUserContent } from '../Common/HeaderProfileUserContent'\nimport { HeaderProfileMenuChoices } from './HeaderPhoneProfileMenuChoices'\nimport { HeaderHorizontalSeparator as Separator } from './HeaderHorizontalSeparator'\nimport styles from '../styles'\n\n/*\n\n A phone view of the user profile. Includes same elements as the desktop profile view: user\n information and a list choices (e.g., account switch, logoff)\n\n*/\ninterface HeaderPhoneProfileMenuProps {\n translate: HeaderTranslateFunction\n locale: Locale\n user?: HeaderUserProfile\n profileImage?: ImageURL\n accountId?: string\n showManageProfile?: boolean\n customProfileChoices?: ProfileChoice[]\n profileExtraInfo?: React.ReactNode[]\n onAccountSwitch?: () => void\n onLogoff: () => void\n onBackRequest: () => void\n onCloseRequest: (action?: () => void) => void\n onOpenProfileSite?: () => void\n}\n\nexport const HeaderPhoneProfileMenu: React.FunctionComponent<HeaderPhoneProfileMenuProps> =\n (props) => {\n return (\n <>\n {renderHeading()}\n <div css={styles.phoneMenuScrollableRowsCSS}>\n {renderUserContent()}\n {renderChoices()}\n </div>\n </>\n )\n\n function renderHeading() {\n return (\n <MenuHeading\n menuTitle={props.translate('HDR:Profile')}\n onBackRequest={props.onBackRequest}\n translate={props.translate}\n />\n )\n }\n\n function renderUserContent() {\n return (\n <>\n <HeaderProfileUserContent\n translate={props.translate}\n locale={props.locale}\n user={props.user}\n profileImage={props.profileImage}\n accountId={props.accountId}\n showManageProfile={props.showManageProfile}\n onCloseRequest={props.onCloseRequest}\n onOpenProfileSite={props.onOpenProfileSite}\n profileExtraInfo={props.profileExtraInfo}\n isPhone={true}\n manageProfileOnKeyDown={() => null}\n />\n <Separator />\n </>\n )\n }\n\n function renderChoices() {\n return (\n <HeaderProfileMenuChoices\n translate={props.translate}\n customProfileChoices={props.customProfileChoices}\n onAccountSwitch={props.onAccountSwitch}\n onLogoff={props.onLogoff}\n onCloseRequest={props.onCloseRequest}\n />\n )\n }\n }\n","import * as React from 'react'\n\nconst DocuSignLogo: React.FunctionComponent<{\n appName?: string\n altText?: string\n}> = (props) => {\n const titleText = props.altText || props.appName || 'Docusign logo'\n return (\n <svg\n width=\"300\"\n height=\"32\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"dsLogoSvg\"\n role=\"img\"\n >\n <title id=\"dsLogoSvg\">{titleText}</title>\n <g fill=\"#111019\" fillRule=\"evenodd\">\n <path d=\"M7.28 19.75c3.55 0 4.94-2.17 4.94-5.88 0-3.7-1.62-6.3-4.83-6.3h-3.6v12.18h3.5zM0 4.34h7.86c4.99 0 8.2 4.02 8.2 9.53 0 3.03-1.02 5.7-2.98 7.34a8.34 8.34 0 01-5.54 1.8H0V4.34zM27.02 16.33c0-2.62-1.23-4.4-3.4-4.4-2.2 0-3.4 1.78-3.4 4.4 0 2.6 1.2 4.36 3.4 4.36 2.17 0 3.4-1.75 3.4-4.36m-10.4 0c0-4 2.85-7.08 7-7.08s7 3.08 7 7.08-2.85 7.07-7 7.07-7-3.08-7-7.07M31.35 16.33c0-4 2.61-7.08 6.69-7.08 3.47 0 5.61 2.01 6.08 4.9h-3.47a2.46 2.46 0 00-2.46-2.05c-2.14 0-3.24 1.64-3.24 4.23 0 2.53 1.02 4.23 3.19 4.23 1.44 0 2.45-.76 2.69-2.27h3.42c-.23 2.84-2.45 5.11-6.03 5.11-4.23 0-6.87-3.08-6.87-7.07M53.64 23.01v-1.56h-.08a4.3 4.3 0 01-3.84 1.93c-2.97 0-4.64-1.9-4.64-4.83V9.6h3.52v8.34c0 1.56.7 2.42 2.22 2.42 1.67 0 2.7-1.25 2.7-3.03V9.61h3.54v13.4h-3.42zM74.36 23.01h3.56V9.61h-3.56v13.4zm0-15.27h3.56V4.42h-3.56v3.32zM88.77 15.73c0-1.96-1.05-3.63-3.19-3.63-1.8 0-3 1.4-3 3.65 0 2.27 1.2 3.6 3.03 3.6 2.24 0 3.16-1.64 3.16-3.62m-9.38 7.67h3.53c.28.84 1.04 1.5 2.69 1.5 2 0 2.97-.97 2.97-2.8v-1.46h-.08A4.33 4.33 0 0185 22.2c-2.97 0-5.9-2.35-5.9-6.4 0-4 2.4-6.55 5.8-6.55 1.67 0 2.9.65 3.7 1.77h.06v-1.4h3.42v12.37c0 1.88-.6 3.16-1.59 4.08-1.12 1.04-2.85 1.51-4.83 1.51-3.66 0-5.9-1.57-6.27-4.18M97.08 11.44h.08a4.35 4.35 0 013.96-2.2c2.77 0 4.63 2.1 4.63 5.02v8.75h-3.55V14.8c0-1.44-.84-2.46-2.33-2.46-1.57 0-2.71 1.25-2.71 3.08v7.6H93.6V9.61h3.48v1.83zM66.27 11.76c-2.77-.6-4.07-1.05-4.07-2.56 0-1.33 1.33-2.2 3.37-2.2 1.85 0 3.28.88 3.57 2.61h3.64C72.41 6 69.72 4 65.59 4c-4.15 0-7.15 1.9-7.15 5.59 0 3.89 3.05 4.78 6.4 5.54 2.84.65 4.62 1.01 4.62 2.84 0 1.73-1.7 2.4-3.63 2.4-2.67 0-3.95-.88-4.2-3.13H57.9c.14 3.94 3 6.19 8.07 6.19 4.2 0 7.26-2.12 7.26-5.9 0-4.02-3.13-4.94-6.97-5.77M107.19 9.49a1.2 1.2 0 100 2.38 1.2 1.2 0 000-2.38m0 2.6a1.41 1.41 0 110-2.83 1.41 1.41 0 010 2.83\" />\n <path d=\"M106.97 10.18v.46h.27c.06-.01.26-.02.26-.23a.2.2 0 00-.12-.2c-.05-.02-.12-.03-.28-.03h-.13zm-.27-.23h.46c.2 0 .32 0 .45.1.1.08.16.2.16.36a.4.4 0 01-.28.4l.32.58h-.31l-.29-.53h-.24v.53h-.27V9.95z\" />\n <text\n fontFamily=\"DSIndigo-Medium, DS Indigo, Neue Haas Grotesk, NeueHaasGrotesk, Helvetica, Arial, sans-serif\"\n fontSize=\"16\"\n fontWeight=\"400\"\n >\n {props.appName && (\n <tspan x=\"136\" y=\"21\">\n {props.appName}\n </tspan>\n )}\n </text>\n {props.appName && <path opacity=\".45\" d=\"M121 0h1v32h-1z\" />}\n </g>\n </svg>\n )\n}\n\nexport default DocuSignLogo\n","import * as React from 'react'\nimport { Image, OliveImage } from '@ds/ui'\nimport OliveImages from '@olive/images'\nimport styles from '../styles'\nimport {\n DocusignAppId,\n HeaderHomeOnClickCallback,\n HeaderLogHandler,\n HeaderTranslateFunction,\n} from '../types'\nimport DocuSignLogo from './HeaderDocuSignLogo'\nimport { getAppLogoAndNameImageName } from '../utils'\nimport { useTimer } from '@ds/react-utils'\n\n/*\n\n Icon/Name of the current app\n\n If the app is not a \"product\" (e.g, me site) then a special\n logo/name svg is used.\n\n*/\n\nconst maximumWaitMsForOnSwitchCallack = 3000\n\nexport interface HeaderAppDescriptionProps {\n homeUrl: string // URL to load if logo is clicked\n appName?: string\n appLogoUrl?: string\n appId?: DocusignAppId\n isPhone?: boolean\n onHomeClick?: HeaderHomeOnClickCallback\n maxWaitForOnHomeClickResponse?: number\n onLoggingEvent?: HeaderLogHandler\n translate: HeaderTranslateFunction\n}\n\nexport const HeaderAppDescription: React.FunctionComponent<HeaderAppDescriptionProps> =\n (props) => {\n const linkDomId = `header-home-${props.isPhone ? 'phone' : 'desktop'}`\n const { runLater } = useTimer()\n\n const imageName = props.appId && getAppLogoAndNameImageName(props.appId)\n const altText = props.appName\n ? props.translate('HDR:AppLogoAltText:A11Y', {\n APP_NAME: props.appName,\n })\n : props.translate('logo')\n\n if (imageName || props.appLogoUrl) {\n return (\n <a\n id={linkDomId}\n css={styles.appDescriptionCSSForApp(props.appId!)}\n href={props.homeUrl}\n data-qa=\"header-docusign-home-link\"\n onClick={(event) => {\n event.preventDefault()\n handleClick()\n }}\n >\n <Image\n src={\n props.appLogoUrl\n ? props.appLogoUrl\n : (OliveImages[imageName!] as OliveImage)\n }\n alt={altText}\n data-qa=\"header-docusign-logo\"\n />\n </a>\n )\n }\n return (\n <a\n css={styles.appDescriptionNonProductCSS}\n href={props.homeUrl}\n onClick={(event) => {\n event.preventDefault()\n handleClick()\n }}\n >\n <DocuSignLogo appName={props.appName} altText={altText} />\n </a>\n )\n\n async function handleClick() {\n if (props.onHomeClick) {\n let waitingForCallack = true\n // 1.) Plan b: if the callback takes too long then don't wait...load page now\n runLater(() => {\n if (waitingForCallack) {\n loadHomePage()\n }\n }, props.maxWaitForOnHomeClickResponse || maximumWaitMsForOnSwitchCallack)\n // 2.) Plan a: invoke callback and then load page\n try {\n // wait for the app to do any work or logging it would like to do\n const doesAppAppoveLoad = await props.onHomeClick()\n waitingForCallack = false\n if (doesAppAppoveLoad !== false) {\n loadHomePage()\n }\n } catch (err) {\n // whoa...app failed during the callback...load anyway\n waitingForCallack = false\n logCallbackError(err)\n loadHomePage()\n }\n } else {\n loadHomePage()\n }\n }\n\n function loadHomePage() {\n window.location.href = props.homeUrl\n }\n\n function logCallbackError(error: Error) {\n props.onLoggingEvent &&\n props.onLoggingEvent({\n isError: true,\n type: 'ERROR',\n description: 'onHomeClick error',\n error,\n })\n }\n }\n","import * as React from 'react'\nimport { Header as OliveHeader, OliveIcon, Icon } from '@ds/ui'\nimport { HeaderLogHandler } from '../types'\n\n/*\n\n Renders the primary nav buttton (waffle or hamburger)\n\n*/\n\nconst primaryButtonIconSize = 24\n\nexport interface HeaderPrimaryMenuButtonProps {\n text: string\n icon: OliveIcon\n forwardedRef: React.RefObject<HTMLElement>\n onClick: () => void\n 'data-qa': string\n expanded: boolean\n onLoggingEvent: HeaderLogHandler\n}\n\nexport const HeaderPrimaryMenuButton: React.FunctionComponent<HeaderPrimaryMenuButtonProps> =\n (props) => {\n return (\n <OliveHeader.ActionItem\n iconElement={<Icon kind={props.icon} size={primaryButtonIconSize} />}\n text={props.text}\n hideText={true}\n forwardedRef={props.forwardedRef}\n onClick={() => props.onClick()}\n marginRight={true}\n data-qa={props['data-qa']}\n aria-expanded={props.expanded ? 'true' : 'false'}\n />\n )\n }\n","import * as React from 'react'\nimport { HeaderItem, HeaderMobileFooterLinks } from '../types'\nimport { TranslationKeys } from '@ds/comp-private'\nimport { Locale, TranslateFunction } from '@ds/base'\nimport type { FooterLink } from '../../Footer'\nimport {\n defaultLinkTarget,\n defaultLinkRel,\n} from '../../Footer/footerConfiguration'\n\n/*\n\n Create a HeaderItem from footer links that can be displayed in the mobile menu.\n\n All links are rendered as rows of a submenu. The copyright and passive links\n are rendered in deeper menu (as simple text).\n\n*/\n\nexport function createFooterItem(\n mobileFooter: HeaderMobileFooterLinks,\n locale: Locale,\n translate: TranslateFunction<TranslationKeys>\n): HeaderItem {\n const linkItems = createLinkItems(mobileFooter, locale, translate)\n const appInfoItem = createAppInfoItem(mobileFooter, locale, translate)\n const rootItem: HeaderItem = {\n itemId: 'FOOTER',\n text: translate('HDR:Footer'),\n subItems: [...linkItems, appInfoItem],\n }\n return rootItem\n}\n\nfunction createLinkItems(\n footer: HeaderMobileFooterLinks,\n locale: Locale,\n translate: TranslateFunction<TranslationKeys>\n): HeaderItem[] {\n const activeItems: HeaderItem[] = footer.links\n .filter((link) => !!link.url)\n .map((link) => {\n const qa =\n (footer.dataQaOverrides && footer.dataQaOverrides[link.id]) ||\n `footer-link-${link.id}`\n const href = typeof link.url === 'function' ? link.url(locale) : link.url\n return {\n itemId: link.id,\n text: linkText(link, locale, translate),\n href,\n rel: link.rel || defaultLinkRel(),\n target: link.target || defaultLinkTarget(),\n 'data-qa': qa,\n }\n })\n return activeItems\n}\n\nfunction createAppInfoItem(\n footer: HeaderMobileFooterLinks,\n locale: Locale,\n translate: TranslateFunction<TranslationKeys>\n): HeaderItem {\n const passiveItemTexts: string[] = footer.links\n .filter((link) => !link.url)\n .map((link) => linkText(link, locale, translate))\n const copyright = translate(\n 'Copyright © {{CURRENT_YEAR}} DocuSign, Inc. All rights reserved',\n {\n CURRENT_YEAR: new Date().getFullYear().toString(),\n }\n )\n return {\n itemId: 'APP_INFO',\n text: translate('HDR:AppInfo'),\n subItems: (\n <AppInfo items={[copyright, ...passiveItemTexts]} translate={translate} />\n ),\n }\n}\n\nfunction linkText(\n link: FooterLink,\n locale: Locale,\n translate: TranslateFunction<TranslationKeys>\n) {\n return link.customTranslate\n ? link.customTranslate(locale)\n : translate(link.textId!)\n}\n\nconst AppInfo: React.FunctionComponent<{\n items: string[]\n translate: TranslateFunction<TranslationKeys>\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n}> = ({ items, translate }) => (\n <ul style={{ listStyle: 'none', padding: 20 }}>\n {items.map((item, index) => (\n <li key={index} style={{ marginBottom: 20 }}>\n {item}\n </li>\n ))}\n </ul>\n)\n","import * as React from 'react'\nimport { Header as OliveHeader, Icon } from '@ds/ui'\nimport { Reveal } from '../../Reveal'\nimport { Carousel } from '../../Carousel'\nimport { HeaderBar } from '../HeaderBar'\nimport { HeaderPrivateProps, HeaderPhoneMenuState, HeaderItem } from '../types'\nimport { HeaderPhoneMainMenu } from './HeaderPhoneMainMenu'\nimport { HeaderPhoneAppSwitchMenu } from './HeaderPhoneAppSwitchMenu'\nimport { HeaderPhoneTabItemMenu } from './HeaderPhoneTabItemMenu'\nimport { HeaderPhoneProfileMenu } from './HeaderPhoneProfileMenu'\nimport { HeaderAppDescription } from '../Common/HeaderAppDescription'\nimport { HeaderPrimaryMenuButton } from '../Common/HeaderPrimaryMenuButton'\nimport { initialFocusSelector } from '../utils'\nimport styles from '../styles'\nimport { FooterLanguageSelectorPhoneMenu } from '../../Footer/FooterLanguageSelectorPhoneMenu'\nimport { sortedLocaleAndDisplayName } from '../../Footer/localeDisplay'\nimport { createFooterItem } from './createFooterItem'\nimport { isEmpty } from 'lodash'\n\nconst menuWidth = 260\n\nconst initialMenuState: HeaderPhoneMenuState = { type: 'main' }\n\nexport const HeaderPhone: React.FunctionComponent<HeaderPrivateProps> = (\n props\n) => {\n const menuButtonRef = React.useRef<HTMLButtonElement>(null)\n const [menuShowing, setMenuShowing] = React.useState(false)\n const [navHistory, setNavHistory] = React.useState<HeaderPhoneMenuState[]>([])\n const [currentMenuState, setCurrentMenuState] =\n React.useState<HeaderPhoneMenuState>(initialMenuState)\n const [previousMenuState, setPreviousMenuState] =\n React.useState<HeaderPhoneMenuState>()\n const [currentNavDirection, setCurrentNavDirection] = React.useState<\n 'right' | 'left'\n >('left')\n const [showLangSelector, setShowLangSelector] = React.useState<boolean>(false)\n\n return (\n <>\n <HeaderBar\n kind=\"phone\"\n visible={true}\n left={\n <>\n {renderMenuButton()}\n {renderAppDescription()}\n </>\n }\n right={<>{renderSearchHeaderButton()}</>}\n />\n {renderMenuContainer()}\n {showLangSelector && renderLanguageSelector()}\n </>\n )\n\n function renderMenuButton() {\n return (\n <HeaderPrimaryMenuButton\n onLoggingEvent={props.onLoggingEvent}\n icon=\"menuHamburger\"\n text={props.translate('HDR:show-site-nav')}\n forwardedRef={menuButtonRef}\n onClick={() => setMenuShowing(true)}\n data-qa=\"header-mobile-app-menu-button\"\n expanded={menuShowing}\n />\n )\n }\n\n function renderAppDescription() {\n return (\n <HeaderAppDescription\n translate={props.translate}\n homeUrl={props.homeUrl}\n appName={props.appName}\n appId={props.appId}\n appLogoUrl={props.appLogoUrl}\n isPhone={true}\n onHomeClick={props.onHomeClick}\n onLoggingEvent={props.onLoggingEvent}\n />\n )\n }\n\n function renderMenuContainer() {\n return (\n <Reveal\n distance={menuWidth}\n from=\"left\"\n visible={menuShowing}\n onCancel={() => {\n setMenuShowing(false)\n resetFocus()\n }}\n onHideComplete={() => resetState()}\n focusSelector={initialFocusSelector}\n trapTabNavigation={false}\n >\n {renderMenuContents()}\n </Reveal>\n )\n }\n\n function renderMenuContents() {\n const oldPane = previousMenuState ? renderMenu(previousMenuState) : null\n const newPane = renderMenu(currentMenuState)\n return (\n <Carousel\n oldPane={oldPane}\n newPane={newPane}\n slideDirection={currentNavDirection}\n paneWidth={menuWidth}\n trapTabNavigation={true}\n focusSelector={initialFocusSelector}\n />\n )\n }\n\n function renderMenu(menuState: HeaderPhoneMenuState) {\n switch (menuState.type) {\n case 'main':\n return renderMainMenu(menuState)\n case 'appswitch':\n return renderAppSwitchMenu(menuState)\n case 'profile':\n return renderProfileMenu(menuState)\n case 'tab':\n return renderTabItemMenu(menuState)\n default:\n return renderMainMenu(menuState)\n }\n }\n\n function renderMainMenu(_menuState: HeaderPhoneMenuState) {\n const customItems: HeaderItem[] = props.customMobileItems || []\n if (props.mobileFooter) {\n customItems.push(\n createFooterItem(props.mobileFooter, props.locale, props.translate)\n )\n }\n return (\n <HeaderPhoneMainMenu\n {...props}\n customMobileItems={isEmpty(customItems) ? undefined : customItems}\n showLangSelector={() => setShowLangSelector(true)}\n onNavigate={(fromState, toState) => handleNavigate(fromState, toState)}\n onCloseRequest={(action) => handleCloseRequest(action)}\n onBackRequest={handleBackRequest}\n />\n )\n }\n\n function renderAppSwitchMenu(_menuState: HeaderPhoneMenuState) {\n return (\n <HeaderPhoneAppSwitchMenu\n translate={props.translate}\n appId={props.appId}\n accountGuid={props.accountGuid}\n switchableApps={props.switchableApps}\n onBackRequest={handleBackRequest}\n onLoggingEvent={props.onLoggingEvent}\n onAppSwitch={props.onAppSwitch}\n onShowAppSwitch={props.onShowAppSwitch}\n />\n )\n }\n\n function renderTabItemMenu(menuState: HeaderPhoneMenuState) {\n return (\n <HeaderPhoneTabItemMenu\n translate={props.translate}\n activeTabId={props.activeTabId}\n menuState={menuState}\n onNavigate={(fromState, toState) => handleNavigate(fromState, toState)}\n onCloseRequest={(action) => handleCloseRequest(action)}\n onBackRequest={handleBackRequest}\n />\n )\n }\n\n function renderSearchHeaderButton() {\n return props.searchButtonAction ? (\n <OliveHeader.ActionItem\n iconElement={\n <Icon kind=\"search\" size={styles.headerStandardIconSize} />\n }\n text={props.translate('search')}\n hideText={true}\n onClick={(event) => {\n props.searchButtonAction &&\n props.searchButtonAction.onClick &&\n props.searchButtonAction.onClick!(event.currentTarget)\n }}\n href={props.searchButtonAction.href}\n rel={props.searchButtonAction.rel}\n target={props.searchButtonAction.target}\n marginLeft={false}\n data-qa=\"header-search-link\"\n selected={props.activeTabId === 'SEARCH'}\n />\n ) : props.onSearchClick ? (\n <OliveHeader.ActionItem\n iconElement={\n <Icon kind=\"search\" size={styles.headerStandardIconSize} />\n }\n text={props.translate('search')}\n hideText={true}\n onClick={(event) => props.onSearchClick!(event.currentTarget)}\n marginLeft={true}\n data-qa=\"header-search-button\"\n selected={props.activeTabId === 'SEARCH'}\n />\n ) : undefined\n }\n\n function renderProfileMenu(_menuState: HeaderPhoneMenuState) {\n return (\n <HeaderPhoneProfileMenu\n translate={props.translate}\n locale={props.locale}\n accountId={props.accountId}\n user={props.user}\n profileImage={props.profileImage}\n showManageProfile={props.showManageProfile}\n onOpenProfileSite={props.onOpenProfileSite}\n onAccountSwitch={props.onAccountSwitch}\n onLogoff={props.onLogoff}\n customProfileChoices={props.customProfileChoices}\n profileExtraInfo={props.profileExtraInfo}\n onCloseRequest={(action) => handleCloseRequest(action)}\n onBackRequest={handleBackRequest}\n />\n )\n }\n\n function renderLanguageSelector() {\n return (\n props.languageSelector && (\n <Reveal\n distance={200}\n from=\"bottom\"\n visible={showLangSelector}\n onCancel={() => setShowLangSelector(false)}\n overflow=\"auto\"\n >\n <FooterLanguageSelectorPhoneMenu\n localeDescriptions={sortedLocaleAndDisplayName(\n props.languageSelector.locales\n )}\n currentLocale={props.locale}\n onLocaleSelected={(locale) => {\n if (props.languageSelector) {\n props.languageSelector.onLocaleSelected(locale)\n }\n setShowLangSelector(false)\n }}\n />\n </Reveal>\n )\n )\n }\n\n function handleBackRequest() {\n const backMenu = navHistory.pop()\n if (backMenu) {\n setCurrentNavDirection('right')\n setNavHistory([...navHistory])\n setPreviousMenuState(currentMenuState)\n setCurrentMenuState(backMenu)\n }\n }\n\n function handleNavigate(\n from: HeaderPhoneMenuState,\n to: HeaderPhoneMenuState\n ) {\n setCurrentNavDirection('left')\n setCurrentMenuState(from)\n setNavHistory([...navHistory, from])\n setPreviousMenuState(from)\n setCurrentMenuState(to)\n }\n\n function handleCloseRequest(action?: () => void) {\n setMenuShowing(false)\n if (action) {\n action()\n }\n }\n\n function resetState() {\n setCurrentMenuState(initialMenuState)\n setCurrentNavDirection('right')\n setPreviousMenuState(undefined)\n setNavHistory([])\n }\n\n function resetFocus() {\n if (menuButtonRef.current) {\n menuButtonRef.current.focus()\n }\n }\n}\n","import * as React from 'react'\nimport {\n Menu,\n Header as OliveHeader,\n AnyArgsVoidReturn,\n AnchorOrButtonOnClickHandler,\n LinkTarget,\n} from '@ds/ui'\nimport { Locale } from '@ds/base'\nimport {\n HeaderUserProfile,\n ImageURL,\n ChoiceCallback,\n ProfileChoice,\n HeaderTranslateFunction,\n} from '../types'\nimport { getUserFullName, getUserInitials } from '../utils'\nimport { HeaderProfileUserContent } from '../Common/HeaderProfileUserContent'\n\n/*\n\n A menu of profile options which reveals itself from\n a button on the header. The menu includes information\n about the user and buttons/links (profile choices).\n\n*/\n\nexport interface HeaderProfileMenuButtonProps {\n locale: Locale\n translate: HeaderTranslateFunction\n user?: HeaderUserProfile\n profileImage?: ImageURL\n showManageProfile?: boolean\n accountId?: string\n customProfileChoices?: ProfileChoice[]\n isPhone?: boolean\n onLogoff: ChoiceCallback\n onOpenProfileSite?: () => void\n onAccountSwitch?: () => void\n}\n\nexport const HeaderProfileMenuButton: React.FunctionComponent<HeaderProfileMenuButtonProps> =\n (props) => {\n const menuTriggerButtonRef = React.useRef<AnyArgsVoidReturn>()\n\n const { user, locale, translate, accountId } = props\n\n const accessibilityText = [\n user && getUserFullName(user, locale),\n user?.email_address,\n accountId && `${translate('HDR:Account#')} ${accountId}`,\n translate('HDR:profile-menu'),\n ]\n .filter(Boolean)\n .join(', ')\n\n return (\n <div>\n <Menu.Button>\n {(\n buttonOnClick: AnyArgsVoidReturn,\n buttonOnKeyDown: AnyArgsVoidReturn,\n buttonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>,\n menuVisible: boolean,\n menuAnchor: HTMLElement,\n menuRef: React.RefObject<HTMLDivElement>,\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler,\n menuOnVisible: () => void\n ) => {\n menuTriggerButtonRef.current = () => {\n buttonOnClick()\n }\n\n return (\n <>\n <OliveHeader.Avatar\n label={accessibilityText}\n image={props.profileImage}\n initials={\n props.user && getUserInitials(props.user, props.locale)\n }\n data-qa=\"header-profile-menu-button\"\n forwardedRef={buttonRef}\n onClick={menuTriggerButtonRef.current}\n onKeyDown={buttonOnKeyDown}\n data-header-id=\"desktop-show-profile-menu\"\n />\n\n <Menu\n location=\"below\"\n alignment=\"end\"\n visible={menuVisible}\n anchor={menuAnchor}\n forwardedRef={menuRef}\n onVisible={() => {\n menuOnVisible()\n notifyProfileMenuOpen(menuRef.current)\n }}\n minWidth={false}\n locationFixed={true}\n >\n <Menu.Group\n accessibilityTitle={props.translate(\n 'HDR:profile-actions:A11Y'\n )}\n >\n {renderUserContent(menuItemOnKeyDown)}\n {renderSeparator()}\n {renderChoices(menuItemOnKeyDown, menuItemEventHandler)}\n </Menu.Group>\n </Menu>\n </>\n )\n }}\n </Menu.Button>\n </div>\n )\n\n function renderSeparator() {\n return (\n <Menu.CustomItem>\n <div\n role=\"separator\"\n aria-hidden=\"true\"\n css={{\n borderBottom: '1px solid rgba(25, 24, 35, 0.15)',\n marginBottom: '8px',\n width: '100%',\n }}\n />\n </Menu.CustomItem>\n )\n }\n\n function renderChoices(\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler\n ) {\n const choices = props.customProfileChoices || []\n return (\n <>\n {props.onAccountSwitch &&\n renderChoice(\n menuItemOnKeyDown,\n menuItemEventHandler,\n 'account-switch',\n props.translate('HDR:SwitchAcct'),\n 'header-switch-account-button',\n props.onAccountSwitch\n )}\n {choices.map((choice) =>\n renderChoice(\n menuItemOnKeyDown,\n menuItemEventHandler,\n choice.itemId,\n choice.text,\n choice['data-qa'] || `header-choice-${choice.itemId}-button`,\n choice.onClick,\n choice.href,\n choice.rel,\n choice.target\n )\n )}\n {props.onLogoff &&\n renderChoice(\n menuItemOnKeyDown,\n menuItemEventHandler,\n 'logoff',\n props.translate('HDR:Logout'),\n 'header-logoff-button',\n () => {\n props.onLogoff()\n }\n )}\n </>\n )\n }\n\n function renderChoice(\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler,\n itemId: string,\n text: string,\n qa: string,\n callback?: ChoiceCallback,\n href?: string,\n rel?: string,\n target?: LinkTarget\n ) {\n return (\n <Menu.Item\n key={itemId}\n text={text}\n onClick={menuItemEventHandler(\n (event: Event, closeMenu: () => unknown) => {\n if (callback) {\n if (!href) {\n event.preventDefault()\n }\n callback()\n }\n closeMenu()\n }\n )}\n href={href}\n rel={rel}\n target={target}\n onKeyDown={callback ? menuItemOnKeyDown : undefined}\n data-qa={qa}\n data-header-id={customChoiceHeaderId(itemId)}\n />\n )\n }\n\n function renderUserContent(menuItemOnKeyDown: AnyArgsVoidReturn) {\n return (\n <Menu.CustomItem>\n <HeaderProfileUserContent\n {...props}\n manageProfileOnKeyDown={menuItemOnKeyDown}\n onCloseRequest={(action) => {\n if (menuTriggerButtonRef.current) {\n menuTriggerButtonRef.current()\n }\n if (action) {\n action()\n }\n }}\n />\n </Menu.CustomItem>\n )\n }\n\n function notifyProfileMenuOpen(menuElement: HTMLDivElement | null) {\n if (menuElement) {\n ;(props.customProfileChoices || []).forEach((choice) => {\n if (choice.onShow) {\n const selector = `[data-header-id=\"${customChoiceHeaderId(\n choice.itemId\n )}\"]`\n const element = menuElement.querySelector(selector)\n if (element) {\n choice.onShow(choice.itemId, element as HTMLElement)\n }\n }\n })\n }\n }\n }\n\nfunction customChoiceHeaderId(choiceId: string) {\n return `custom_choice-${choiceId}`\n}\n","import * as React from 'react'\nimport {\n Header as OliveHeader,\n Menu,\n AnyArgsVoidReturn,\n AnchorOrButtonOnClickHandler,\n Icon,\n DotBadge,\n} from '@ds/ui'\nimport { isFunction } from 'lodash'\nimport {\n LabeledAction,\n HeaderTranslateFunction,\n HeaderHelpActions,\n} from '../types'\nimport { isActionElement, isCustomContent } from '../utils'\nimport { useEventListener, useTimer } from '@ds/react-utils'\nimport styles from '../styles'\n\n/*\n\n A menu of help options which reveals itself from a\n button on the header.\n\n*/\n\nexport interface HeaderHelpMenuProps {\n helpActions: HeaderHelpActions\n showBadge?: boolean\n translate: HeaderTranslateFunction\n}\n\nexport const HeaderHelpMenuButton: React.FunctionComponent<HeaderHelpMenuProps> =\n (props) => {\n const actions = (props.helpActions as LabeledAction[]) || []\n const menuTriggerButtonRef = React.useRef<AnyArgsVoidReturn>()\n return (\n <div data-header-help-trigger={true}>\n <Menu.Button>\n {(\n buttonOnClick: AnyArgsVoidReturn,\n buttonOnKeyDown: AnyArgsVoidReturn,\n buttonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>,\n menuVisible: boolean,\n menuAnchor: HTMLElement,\n menuRef: React.RefObject<HTMLDivElement>,\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler,\n menuOnVisible: () => void\n ) => {\n menuTriggerButtonRef.current = buttonOnClick\n return (\n <>\n <OliveHeader.ActionItem\n iconElement={\n <Icon kind=\"help\" size={styles.headerStandardIconSize} />\n }\n text={props.translate('help')}\n hideText={true}\n onClick={buttonOnClick}\n marginLeft={false}\n forwardedRef={buttonRef}\n badge={\n props.showBadge ? (\n <DotBadge color=\"red\" data-qa=\"header-help-badge\" />\n ) : undefined\n }\n onKeyDown={buttonOnKeyDown}\n data-qa=\"header-help-button\"\n />\n\n <Menu\n location=\"below\"\n alignment=\"end\"\n visible={menuVisible && !!menuAnchor}\n anchor={menuAnchor}\n forwardedRef={menuRef}\n onVisible={menuOnVisible}\n minWidth={false}\n locationFixed={true}\n maxHeight=\"calc(100vh - 100px)\"\n >\n {isCustomContent(props.helpActions)\n ? renderCustomContent()\n : renderActions(menuItemOnKeyDown, menuItemEventHandler)}\n </Menu>\n </>\n )\n }}\n </Menu.Button>\n </div>\n )\n\n function renderActions(\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler\n ) {\n return (\n <Menu.Group accessibilityTitle={props.translate('HDR:help-selector')}>\n {actions.map((action) =>\n renderAction(menuItemOnKeyDown, menuItemEventHandler, action)\n )}\n </Menu.Group>\n )\n }\n\n function renderAction(\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler,\n action: LabeledAction\n ) {\n return (\n <Menu.Item\n key={action.itemId}\n text={action.text}\n onClick={\n action.onClick\n ? menuItemEventHandler(\n (event: Event, closeMenu: () => unknown) => {\n event.preventDefault()\n if (action.onClick) {\n action.onClick()\n }\n closeMenu()\n }\n )\n : undefined\n }\n href={action.href}\n rel={action.rel}\n target={action.target}\n onKeyDown={menuItemOnKeyDown}\n data-qa={action['data-qa'] || `header-help-${action.itemId}-button`}\n />\n )\n }\n\n function renderCustomContent() {\n return (\n <CustomContentActionListener\n translate={props.translate}\n onActionClick={() => {\n if (menuTriggerButtonRef.current) {\n menuTriggerButtonRef.current()\n }\n }}\n >\n {props.helpActions}\n </CustomContentActionListener>\n )\n }\n }\n\nconst CustomContentActionListener: React.FunctionComponent<{\n onActionClick: () => void\n translate: HeaderTranslateFunction\n}> = (props) => {\n const { children, onActionClick, translate } = props\n\n const [contentComponentEl, setContentComponentEl] =\n React.useState<HTMLDivElement | null>()\n\n const { runLater } = useTimer()\n\n useEventListener(\n 'click',\n (event) => {\n if (!isFunction(children) && isActionElement(event.target! as Element)) {\n runLater(() => onActionClick(), 0)\n }\n },\n contentComponentEl\n )\n\n if (isFunction(children)) {\n return children(() => runLater(() => onActionClick(), 0))\n }\n\n return (\n <Menu.Group accessibilityTitle={translate('HDR:Help')}>\n <Menu.CustomItem>\n <div ref={setContentComponentEl}>{children}</div>\n </Menu.CustomItem>\n </Menu.Group>\n )\n}\n","import * as React from 'react'\n/*\n Listens to all clicks on the document and invokes the onClickOutside if\n the click is NOT within the children of this component.\n\n In the standard mode the component adds a div to the hierarchy. If this is problematic\n the component can alternatively be called with a renderChild prop (render props pattern) that\n provides a ref. (see unit tests for examples).\n*/\n\nconst eventTypes = ['mousedown', 'touchstart']\n\ninterface Props {\n onClickOutside: (event: Event) => void\n renderChild?: (forwardedRef: React.RefObject<HTMLElement>) => React.ReactNode\n}\n\nexport class OutsideClickListener extends React.Component<Props> {\n private insideRef = React.createRef<HTMLDivElement>()\n private clickListener?: (event: Event) => void\n\n componentDidMount() {\n this.clickListener = this.addClickOutsideHandler(\n (event) => !this.refContainsEvent(this.insideRef, event),\n (event) => this.props.onClickOutside(event)\n )\n }\n\n componentWillUnmount() {\n this.removeClickOutsideHandler()\n }\n\n render() {\n this.validateProps()\n return this.props.renderChild ? this.renderRef() : this.renderChildren()\n }\n\n private renderRef() {\n return <>{this.props.renderChild!(this.insideRef)}</>\n }\n\n private renderChildren() {\n return <div ref={this.insideRef}>{this.props.children}</div>\n }\n\n private addClickOutsideHandler(\n isOutside: (event: Event) => boolean,\n callBack: (event: Event) => void\n ) {\n const listener = (event: Event) => {\n if (isOutside(event)) {\n callBack(event)\n }\n }\n eventTypes.forEach((eventType) =>\n document.addEventListener(eventType, listener)\n )\n return listener\n }\n\n private removeClickOutsideHandler() {\n if (this.clickListener) {\n eventTypes.forEach((eventType) =>\n document.removeEventListener(eventType, this.clickListener!)\n )\n }\n }\n\n private refContainsEvent(\n ref: React.RefObject<HTMLElement>,\n event: Event\n ): boolean {\n const element = ref.current\n return !!(element && element.contains(event.target as Node))\n }\n\n private validateProps() {\n if (this.props.children && this.props.renderChild) {\n throw new Error(\n 'Invalid props...must EITHER provide children OR a props render function (renderChild)'\n )\n }\n if (!this.props.children && !this.props.renderChild) {\n throw new Error(\n 'Invalid props...must provide EITHER children OR a props render function (renderChild)'\n )\n }\n }\n}\n","import * as React from 'react'\nimport { Motion, MotionPresence } from '@ds/motion'\nimport { Icon, trapTabNavigation, DocuSignLogo } from '@ds/ui'\nimport {\n isEscape,\n OutsideClickListener,\n useEventListener,\n} from '@ds/react-utils'\nimport styles from '../styles'\nimport commonStyles from '../../../Common/styles'\nimport { HeaderAppSwitchList } from '../Common/HeaderAppSwitchList'\nimport { initialFocusSelector } from '../utils'\nimport {\n DocusignApp,\n DocusignAppId,\n HeaderLogHandler,\n HeaderOnSwitchCallback,\n HeaderTranslateFunction,\n} from '../types'\n\n/*\n\n A menu of apps which reveals itself from a waffle button\n on the header.\n\n*/\n\nconst menuWidth = 240\nconst defaultAnimationDurationMs = 120\nconst animationDimensionBeginFactor = 2\nconst menuBorderTotalWidth = 2\n\nexport interface AppSwitcherMenuProps {\n translate: HeaderTranslateFunction\n appId: DocusignAppId\n switchableApps?: DocusignApp[]\n onCloseRequest: () => void\n onCloseComplete: () => void\n visible?: boolean\n /** The duration of the animation in milliseconds */\n animationDuration?: number\n onLoggingEvent: HeaderLogHandler\n onShowAppSwitch?: () => void\n onAppSwitch?: HeaderOnSwitchCallback\n}\n\nexport const HeaderAppSwitchMenu: React.FunctionComponent<AppSwitcherMenuProps> =\n (props) => {\n const {\n onCloseRequest,\n onCloseComplete,\n visible,\n animationDuration = defaultAnimationDurationMs,\n onShowAppSwitch,\n } = props\n const containerRef = React.useRef<HTMLDivElement>(null)\n\n useEventListener(\n 'keydown',\n (event: Event) => handleKeydown(event as KeyboardEvent),\n document\n )\n\n React.useEffect(() => {\n if (visible) {\n onShowAppSwitch?.()\n }\n }, [visible, onShowAppSwitch])\n\n return (\n <MotionPresence>\n {visible && (\n <Motion\n key=\"appSwitcherMenuContainer\"\n ref={containerRef}\n css={styles.appSwitcherMenuContainerCSS}\n initial={{\n opacity: 0,\n width: menuWidth / animationDimensionBeginFactor,\n height: 0,\n }}\n animate={{\n opacity: 1,\n width: menuWidth,\n height: 'auto',\n }}\n exit={{\n opacity: 0,\n width: menuWidth / animationDimensionBeginFactor,\n height: 0,\n }}\n transition={{\n duration: animationDuration / 1000,\n }}\n onAnimationEnd={() => {\n if (visible && containerRef.current) {\n trapTabNavigation(containerRef.current)\n const firstAppElement = containerRef.current.querySelector(\n initialFocusSelector\n ) as HTMLElement\n if (firstAppElement) {\n firstAppElement.focus()\n }\n } else if (!visible) {\n onCloseComplete()\n }\n }}\n >\n <MenuContent {...props} />\n </Motion>\n )}\n </MotionPresence>\n )\n\n function handleKeydown(event: KeyboardEvent) {\n if (isEscape(event)) {\n onCloseRequest()\n }\n }\n }\n\nconst MenuContent: React.FunctionComponent<AppSwitcherMenuProps> = (props) => {\n const { translate, switchableApps, onCloseRequest } = props\n\n return (\n <OutsideClickListener onClickOutside={() => onCloseRequest()}>\n <div css={{ width: menuWidth - menuBorderTotalWidth }}>\n {renderHeading()}\n {renderAppRows()}\n </div>\n </OutsideClickListener>\n )\n\n function renderHeading() {\n return (\n <>\n <div css={styles.appSwitchHeadingCSS}>\n <button\n type=\"button\"\n css={[\n styles.menuCloseButtonCSS,\n styles.menuCloseFullHeaderButtonCSS,\n ]}\n onClick={(event) => {\n event.preventDefault()\n onCloseRequest()\n }}\n data-qa=\"header-apps-close-button\"\n >\n <Icon kind=\"close\" size={24} />\n <span css={commonStyles.visuallyHidden}>{translate('close')}</span>\n </button>\n\n <span css={styles.appSwitchLogoWrapper}>\n <DocuSignLogo />\n </span>\n </div>\n </>\n )\n }\n\n function renderAppRows() {\n return switchableApps && <HeaderAppSwitchList {...props} />\n }\n}\n","import * as React from 'react'\nimport { Button } from '@ds/ui'\nimport { MarketingAction } from '../types'\nimport styles from '../styles'\nimport { HeaderLogHandler } from '../types'\n\n/*\n\n Renders a butten to encourage purchase, e.g., \"Upgrade Now\". Optionally supplemental\n text can be provided (displayed adjacent to the button), e.g., \"2 days left!\"\n\n*/\n\nexport interface HeaderMarketingButtonProps {\n marketingButton?: MarketingAction // Optional button for marketing actions\n onLoggingEvent: HeaderLogHandler\n showSupplementalText?: boolean\n}\n\nexport const HeaderMarketingButton: React.FunctionComponent<HeaderMarketingButtonProps> =\n (props) => {\n if (!props.marketingButton) {\n return null\n }\n return (\n <div css={styles.marketingButtonSectionCSS}>\n {props.showSupplementalText && (\n <div css={styles.marketingButtonTextCSS}>\n {props.marketingButton.supplementalText}\n </div>\n )}\n <Button\n kind=\"primary\"\n pill={true}\n size=\"small\"\n onClick={\n props.marketingButton.onClick\n ? (event) => props.marketingButton!.onClick!(event.currentTarget)\n : undefined\n }\n href={props.marketingButton!.href}\n text={props.marketingButton.text}\n data-qa={\n props.marketingButton['data-qa'] || 'header-marketing-button'\n }\n />\n </div>\n )\n }\n","import * as React from 'react'\nimport { Header as OliveHeader, DotBadge } from '@ds/ui'\nimport { HeaderItem } from '../types'\n\n/*\n\n A tab which does NOT have sub tabs. Button or anchor.\n Supports a selected state.\n\n*/\n\ninterface HeaderTabProps {\n tabItem: HeaderItem\n selected?: boolean\n}\n\nexport const HeaderTab: React.FunctionComponent<HeaderTabProps> = ({\n tabItem,\n selected,\n}) => {\n return (\n <OliveHeader.ActionItem\n text={tabItem.text}\n href={tabItem.href}\n rel={tabItem.rel}\n target={tabItem.target}\n onClick={\n tabItem.onClick || tabItem.preventDefault\n ? (event: React.MouseEvent<HTMLElement>) => {\n if (tabItem.preventDefault) {\n event.preventDefault()\n }\n if (tabItem.onClick) {\n handleItemClick(tabItem, event.target! as HTMLElement)\n }\n }\n : undefined\n }\n selected={selected}\n data-qa={tabItem['data-qa'] || 'header-' + tabItem.itemId + '-tab-button'}\n badge={tabItem.showBadge ? <DotBadge color=\"red\" /> : undefined}\n />\n )\n\n function handleItemClick(item: HeaderItem, element: HTMLElement) {\n tabItem.onClick!(element)\n }\n}\n","import * as React from 'react'\nimport {\n Header as OliveHeader,\n Icon,\n Menu,\n AnyArgsVoidReturn,\n AnchorOrButtonOnClickHandler,\n} from '@ds/ui'\nimport { HeaderItem, HeaderTranslateFunction } from '../types'\nimport { isActiveTab } from '../utils'\n\n/*\n\n A tab which has sub tabs. When the tab is clicked it will open a menu of sub items.\n If a subitem of the tab is selected the tab will show as selected.\n\n*/\n\nexport interface HeaderTabMenuProps {\n headerItem: HeaderItem\n translate: HeaderTranslateFunction\n activeTabId?: string\n}\n\nexport const HeaderTabMenu: React.FunctionComponent<HeaderTabMenuProps> = (\n props\n) => {\n return (\n <Menu.Button>\n {(\n buttonOnClick: AnyArgsVoidReturn,\n buttonOnKeyDown: AnyArgsVoidReturn,\n buttonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>,\n menuVisible: boolean,\n menuAnchor: HTMLElement,\n menuRef: React.RefObject<HTMLDivElement>,\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler,\n menuOnVisible: () => void\n ) => (\n <>\n <OliveHeader.ActionItem\n text={props.headerItem.text}\n onClick={buttonOnClick}\n forwardedRef={buttonRef}\n onKeyDown={buttonOnKeyDown}\n selected={isActiveTab(props.headerItem, props.activeTabId)}\n iconElement={<Icon kind=\"caretDown\" size={20} />}\n iconPosition=\"afterText\"\n data-qa={\n props.headerItem['data-qa'] ||\n 'header-' + props.headerItem.itemId + '-tab-button'\n }\n />\n\n <Menu\n location=\"below\"\n alignment=\"start\"\n visible={menuVisible}\n anchor={menuAnchor}\n forwardedRef={menuRef}\n onVisible={menuOnVisible}\n minWidth={false}\n locationFixed={true}\n maxHeight=\"calc(100vh - 100px)\"\n >\n {renderSubItems(menuItemOnKeyDown, menuItemEventHandler)}\n </Menu>\n </>\n )}\n </Menu.Button>\n )\n\n function renderSubItems(\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler\n ) {\n const subItems = (props.headerItem.subItems as HeaderItem[]) || []\n return (\n <Menu.Group\n accessibilityTitle={\n props.headerItem.text +\n props.translate('subject-menu', {\n SUBJECT: props.headerItem.text,\n })\n }\n >\n {subItems\n .filter((subItem) => !subItem.mobileOnly)\n .map((subItem) =>\n renderSubItem(menuItemOnKeyDown, menuItemEventHandler, subItem)\n )}\n </Menu.Group>\n )\n }\n\n function renderSubItem(\n menuItemOnKeyDown: AnyArgsVoidReturn,\n menuItemEventHandler: (\n ...args: any[] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) => AnchorOrButtonOnClickHandler,\n subItem: HeaderItem\n ) {\n return (\n <Menu.Item\n key={subItem.itemId}\n text={subItem.text}\n selected={subItem.itemId === props.activeTabId}\n onClick={\n subItem.onClick\n ? menuItemEventHandler((event: Event, closeMenu: () => unknown) => {\n event.preventDefault()\n subItem.onClick?.()\n closeMenu()\n })\n : undefined\n }\n href={subItem.href}\n rel={subItem.rel}\n target={subItem.target}\n onKeyDown={menuItemOnKeyDown}\n data-qa={\n subItem['data-qa'] || 'header-' + subItem.itemId + '-tab-button'\n }\n />\n )\n }\n}\n","import * as React from 'react'\nimport { isEmpty } from 'lodash'\nimport { HeaderTab } from './HeaderTab'\nimport { HeaderTabMenu } from './HeaderTabMenu'\nimport { HeaderItem, HeaderTranslateFunction } from '../types'\n\n/*\n\n A row of header tabs\n\n*/\n\ninterface HeaderTabsProps {\n translate: HeaderTranslateFunction\n tabItems: HeaderItem[]\n activeTabId?: string\n asListItems?: boolean\n}\n\nexport const HeaderTabs: React.FunctionComponent<HeaderTabsProps> = (props) => {\n const { translate, activeTabId } = props\n const tabItems = props.tabItems.filter((tabItem) => !tabItem.mobileOnly)\n\n return (\n <>\n {tabItems.map((tabItem) =>\n props.asListItems ? (\n <li key={tabItem.itemId}>\n {renderTab({ activeTabId, tabItem, translate })}\n </li>\n ) : (\n renderTab({ activeTabId, tabItem, translate })\n )\n )}\n </>\n )\n}\n\nfunction renderTab({\n activeTabId,\n tabItem,\n translate,\n}: {\n activeTabId?: string\n tabItem: HeaderItem\n translate: HeaderTranslateFunction\n}) {\n return hasSubItems(tabItem) ? (\n <HeaderTabMenu\n headerItem={tabItem}\n translate={translate}\n activeTabId={activeTabId}\n key={tabItem.itemId}\n />\n ) : (\n <HeaderTab\n tabItem={tabItem}\n selected={activeTabId === tabItem.itemId}\n key={tabItem.itemId}\n />\n )\n}\n\nfunction hasSubItems(item: HeaderItem) {\n if (isEmpty(item.subItems)) {\n return false\n }\n if (Array.isArray(item.subItems)) {\n return (\n (item.subItems as HeaderItem[]).find((subItem) => !subItem.mobileOnly) !==\n undefined\n )\n }\n return false\n}\n","import * as React from 'react'\nimport { isEmpty, isFunction } from 'lodash'\nimport { Header as OliveHeader, DotBadge, Icon } from '@ds/ui'\nimport { useTimer } from '@ds/react-utils'\nimport { HeaderBar } from '../HeaderBar'\nimport { HeaderPrivateProps, LabeledAction } from '../types'\nimport { HeaderProfileMenuButton } from './HeaderProfileMenuButton'\nimport { HeaderHelpMenuButton } from './HeaderHelpMenuButton'\nimport { HeaderAppSwitchMenu } from './HeaderAppSwitchMenu'\nimport { HeaderAppDescription } from '../Common/HeaderAppDescription'\nimport { HeaderMarketingButton } from '../Common/HeaderMarketingButton'\nimport { HeaderPrimaryMenuButton } from '../Common/HeaderPrimaryMenuButton'\nimport { HeaderTabs } from './HeaderTabs'\nimport { isCustomContent, shouldDisplayAppSwitcher } from '../utils'\nimport styles from '../styles'\n\ninterface HeaderStandardProps extends HeaderPrivateProps {\n enabled: boolean\n onContentFits: () => void\n onContentClipped: () => void\n}\n\nconst iconSize = styles.headerStandardIconSize\n\nexport const HeaderStandard: React.FunctionComponent<HeaderStandardProps> = (\n props\n) => {\n const mounted = React.useRef(true)\n const [showingAppSwitcher, setShowingAppSwitcher] = React.useState(false)\n const [, setCustomLogoLoaded] = React.useState(false)\n const appSwitchButtonRef = React.useRef<HTMLButtonElement>(null)\n\n const displayAppSwitcher = shouldDisplayAppSwitcher(\n props.appId,\n props.switchableApps\n )\n\n const { runLater } = useTimer()\n\n React.useEffect(() => {\n mounted.current = true\n return () => {\n mounted.current = false\n }\n }, [])\n\n return (\n <>\n <HeaderBar\n kind=\"desktop\"\n visible={props.enabled}\n onContentFits={() => props.onContentFits()}\n onContentClipped={() => props.onContentClipped()}\n left={\n <>\n {renderAppSwitcherButton()}\n {renderAppSwitcher()}\n {renderAppDescription()}\n {renderLocalNavSeparator()}\n {renderTabSection()}\n {renderActionsMenu()}\n </>\n }\n middle={<></>}\n right={\n <>\n {renderMarketingHeaderButton()}\n {renderNotificationsHeaderButton()}\n {renderSearchHeaderButton()}\n {renderHelpHeaderButton()}\n {renderCustomLogo()}\n {renderProfileHeaderButton()}\n </>\n }\n />\n </>\n )\n\n function renderAppSwitcherButton() {\n return (\n displayAppSwitcher && (\n <HeaderPrimaryMenuButton\n onLoggingEvent={props.onLoggingEvent}\n icon=\"menuWaffle\"\n text={props.translate('HDR:AppsMenu')}\n forwardedRef={appSwitchButtonRef}\n onClick={() =>\n runLater(() => setShowingAppSwitcher(!showingAppSwitcher), 0)\n }\n data-qa=\"header-app-menu-button\"\n expanded={showingAppSwitcher}\n />\n )\n )\n }\n\n function renderAppDescription() {\n return (\n <>\n {!displayAppSwitcher && <span css={{ width: 10 }} />}\n <HeaderAppDescription\n translate={props.translate}\n homeUrl={props.homeUrl}\n appName={props.appName}\n appId={props.appId}\n appLogoUrl={props.appLogoUrl}\n isPhone={false}\n onHomeClick={props.onHomeClick}\n onLoggingEvent={props.onLoggingEvent}\n />\n </>\n )\n }\n\n function renderAppSwitcher() {\n return (\n <HeaderAppSwitchMenu\n {...props}\n visible={showingAppSwitcher && props.enabled}\n onCloseRequest={() => setShowingAppSwitcher(false)}\n onCloseComplete={() => {\n if (appSwitchButtonRef.current) {\n appSwitchButtonRef.current.focus()\n }\n }}\n />\n )\n }\n\n function renderTabSection() {\n return (\n !isEmpty(props.tabItems) && (\n <nav>\n <ul css={styles.headerBarTabsCSS}>\n <HeaderTabs\n translate={props.translate}\n tabItems={props.tabItems!}\n activeTabId={props.activeTabId}\n asListItems={true}\n />\n </ul>\n </nav>\n )\n )\n }\n\n function renderActionsMenu() {\n return (\n !isEmpty(props.actionsMenu) && (\n <div css={{ display: 'flex' }}>\n <div css={styles.tabsSeparatorCSS} />\n <HeaderTabs\n translate={props.translate}\n tabItems={[props.actionsMenu!]}\n activeTabId={props.activeTabId}\n />\n </div>\n )\n )\n }\n\n function renderMarketingHeaderButton() {\n return <HeaderMarketingButton {...props} showSupplementalText={true} />\n }\n\n function renderHelpHeaderButton() {\n const helpActions = props.helpActions\n if (isEmpty(helpActions) && !isFunction(helpActions)) {\n return null\n }\n const customContent = isCustomContent(helpActions)\n const isSingleAction =\n !customContent && (helpActions as LabeledAction[]).length === 1\n return isSingleAction ? (\n <OliveHeader.ActionItem\n iconElement={<Icon kind=\"help\" size={iconSize} />}\n text={props.translate('help')}\n hideText={true}\n badge={\n props.showHelpBadge ? (\n <DotBadge color=\"red\" data-qa=\"header-help-badge\" />\n ) : undefined\n }\n onClick={(event) => {\n event.preventDefault()\n helpActions![0].onClick!(event.currentTarget)\n }}\n marginLeft={false}\n data-qa=\"header-help-button\"\n selected={props.activeTabId === 'HELP'}\n />\n ) : (\n <HeaderHelpMenuButton\n helpActions={props.helpActions}\n showBadge={props.showHelpBadge}\n translate={props.translate}\n />\n )\n }\n\n function renderProfileHeaderButton() {\n return !props.disableProfile && <HeaderProfileMenuButton {...props} />\n }\n\n function renderNotificationsHeaderButton() {\n return (\n props.onNotifications && (\n <OliveHeader.ActionItem\n hideText={true}\n iconElement={<Icon kind=\"notification\" size={iconSize} />}\n marginLeft={true}\n onClick={\n props.onNotifications.onClick &&\n ((event) => {\n event.preventDefault()\n props.onNotifications!.onClick!(event.currentTarget)\n })\n }\n href={props.onNotifications.href}\n rel={props.onNotifications.rel}\n target={props.onNotifications.target}\n text={props.translate('notifications')}\n badge={\n props.showNotificationsBadge ? (\n <DotBadge color=\"red\" data-qa=\"header-notifications-badge\" />\n ) : undefined\n }\n data-qa={\n props.onNotifications['data-qa']\n ? props.onNotifications['data-qa']\n : 'header-notifications-button'\n }\n selected={props.activeTabId === 'NOTIFICATIONS'}\n />\n )\n )\n }\n\n function renderSearchHeaderButton() {\n return props.searchButtonAction ? (\n <OliveHeader.ActionItem\n iconElement={<Icon kind=\"search\" size={iconSize} />}\n text={props.translate('search')}\n hideText={true}\n onClick={(event) => {\n props.searchButtonAction &&\n props.searchButtonAction.onClick &&\n props.searchButtonAction.onClick!(event.currentTarget)\n }}\n href={props.searchButtonAction.href}\n rel={props.searchButtonAction.rel}\n target={props.searchButtonAction.target}\n marginLeft={false}\n data-qa=\"header-search-link\"\n selected={props.activeTabId === 'SEARCH'}\n />\n ) : props.onSearchClick ? (\n <OliveHeader.ActionItem\n iconElement={<Icon kind=\"search\" size={iconSize} />}\n text={props.translate('search')}\n hideText={true}\n onClick={(event) => {\n props.onSearchClick!(event.currentTarget)\n }}\n marginLeft={false}\n data-qa=\"header-search-button\"\n selected={props.activeTabId === 'SEARCH'}\n />\n ) : undefined\n }\n\n function renderCustomLogo() {\n return props.customLogoUrl ? (\n <>\n <div css={styles.customLogoSeparatorCSS} />\n <img\n css={styles.customLogoCSS}\n src={props.customLogoUrl}\n alt={\n props.customLogoAltText ||\n props.translate('HDR:CustomLogoAltText:A11Y')\n }\n data-qa=\"header-custom-logo\"\n onLoad={() => {\n if (mounted.current) {\n // force re-render so width change can be detected\n setCustomLogoLoaded(true)\n }\n }}\n />\n </>\n ) : null\n }\n\n function renderLocalNavSeparator() {\n return (\n (!isEmpty(props.tabItems) || !isEmpty(props.actionsMenu)) && (\n <div css={styles.headerLocalNavSeparatorCSS} />\n )\n )\n }\n}\n","import * as React from 'react'\nimport {\n HeaderProps,\n Action,\n HeaderItem,\n LabeledAction,\n MarketingAction,\n} from './types'\nimport { isEmpty, isFunction } from 'lodash'\n\nexport function validateProps(props: HeaderProps) {\n throwIfEmpty(props, ['appId', 'appName', 'homeUrl', 'apiRootUrl'])\n const isMeTokenOptional =\n props.disableAppSwitching && (props.disableProfile || props.userData)\n if (!isMeTokenOptional) {\n throwIfEmpty(props, ['meToken'])\n }\n throwIfNotFunctionOrUndefined('onSearchClick', props.onSearchClick)\n if (props.searchButtonAction) {\n throwIfInvalidActions([props.searchButtonAction])\n }\n throwIfNotFunctionOrUndefined('onAccountSwitch', props.onAccountSwitch)\n throwIfNotFunctionOrUndefined('onMobile', props.onMobile)\n throwIfNotFunctionOrUndefined('onDesktop', props.onDesktop)\n throwIfNotFunction('onLogoff', props.onLogoff)\n if (props.onNotifications) {\n throwIfInvalidActions([props.onNotifications])\n }\n if (!isEmpty(props.tabItems)) {\n throwIfInvalidHeaderItems(props.tabItems!)\n }\n if (!isEmpty(props.actionsMenu)) {\n throwIfInvalidHeaderItems([props.actionsMenu!])\n }\n if (!isEmpty(props.helpActions) && !isFunction(props.helpActions)) {\n if (!React.isValidElement(props.helpActions)) {\n throwIfInvalidLabeledActions(props.helpActions as LabeledAction[])\n }\n }\n if (!isEmpty(props.customProfileChoices)) {\n throwIfInvalidLabeledActions(props.customProfileChoices!)\n }\n\n if (props.marketingButton !== undefined) {\n throwIfInvalidMarketingButton(props.marketingButton)\n if (props.marketingButton!.color) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Header marketing button color is no longer supported...it is ignored.'\n )\n }\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction throwIfEmpty(obj: any, propNames: string[]) {\n propNames.forEach((name) => {\n if (isEmpty(obj[name])) {\n throw Error(`Required property ${name} missing or empty`)\n }\n })\n}\n\nfunction throwIfInvalidActions(actions: Action[]) {\n actions.forEach((action) => {\n if (!action.onClick && !action.href) {\n throw Error(\n `Action requires an onClick Or an href...but neither were present`\n )\n }\n })\n}\n\nfunction throwIfInvalidLabeledActions(actions: LabeledAction[]) {\n actions.forEach((action) => {\n if (!action.text && !action.itemId) {\n throw Error(\n `LabeledAction requires text and an itemId but one or both are missing: text=${action.text} itemId=${action.itemId}`\n )\n }\n if (!action.onClick && !action.href) {\n throw Error(\n `LabeledAction requires an onClick Or an href...but neither were present on action ${action.text}`\n )\n }\n })\n}\n\nfunction throwIfInvalidHeaderItems(actions: HeaderItem[]) {\n actions.forEach((action) => {\n if (isEmpty(action.subItems) && !action.onClick && !action.href) {\n throw Error(\n `HeaderItem requires an onClick Or an href...but neither were present`\n )\n }\n if (!action.text && !action.itemId) {\n throw Error(\n `HeaderItem requires text and an itemId but one or both are missing: text=${action.text} itemId=${action.itemId}`\n )\n }\n if (!isEmpty(action.subItems)) {\n if (!React.isValidElement(action.subItems)) {\n throwIfInvalidHeaderItems(action.subItems as HeaderItem[])\n }\n }\n })\n}\n\nfunction throwIfInvalidMarketingButton(marketingAction: MarketingAction) {\n throwIfEmpty(marketingAction, ['text'])\n if (marketingAction.onClick) {\n throwIfNotFunction('marketingButton.onClick', marketingAction.onClick)\n }\n}\n\nfunction throwIfNotFunction(propName: string, f: Function) {\n if (typeof f !== 'function') {\n throw Error(`Prop ${propName} requires a function`)\n }\n}\n\nfunction throwIfNotFunctionOrUndefined(propName: string, f?: Function) {\n if (f !== undefined) {\n throwIfNotFunction(propName, f)\n }\n}\n","import { logWarnOnce, logErrorOnce, logError } from '@ds/logging'\n\ninterface StoredItem {\n /** Used if items can be explicitly deleted. See RestClient doc. */\n cacheName?: string\n /** Data (usually json as string) */\n data: string\n /** Expire seconds after added */\n expireSeconds: number\n /** Time (ms since epoch) when the cache item was added */\n readonly addedTime: number\n /** Last time the item was requested (use for LRU cache cleanup) */\n readonly lastAccess: number\n}\n\ntype StoreKey = string\n\ninterface StoredItemMeta extends StoredItem {\n /** size of the storage value */\n size: number\n /** key used to stow this item in storage */\n storeKey: StoreKey\n}\n\nexport type CacheKey = string\n\nexport interface CacheItem\n extends Omit<StoredItem, 'lastAccess' | 'addedTime'> {\n /** external key of this cache item */\n key: CacheKey\n}\n\ntype json = { [key: string]: string | number | boolean | null | json }\n\ntype ErrorType = 'EXCEEDED_MAX' | 'EXCEEDED_STORAGE'\ntype ErrorLogger = (description: string, type: ErrorType, meta: json) => void\n\n/**\n * StorageCache\n *\n * Uses a session or local storage (must be provided as constructor param) to cache items\n * for the rest client.\n *\n * The cache will automatically limit storage to the maximum size. It will remove items on\n * an LRU basis when storage max is exceeded. Note that the maximum size is a character limit\n * (based on encoding used by the browser the actual bytes used could be as much as double this).\n *\n * The cache is culled at each PUT. In addition, expired or stale items are removed immediately\n * when a GET is made.\n */\nexport class StorageCache {\n private storage: Storage\n private namespace: string\n private keyPrefix: string\n private maxSize: number\n private logError: ErrorLogger\n\n /**\n * constructor\n * @param storage session or local storage\n * @param namespace Used to distinguish these items from other items in the Storage\n * @param maxSize Max char size of all of the items. This is not likely to match actual bytes\n * use by the browser storage due to various encoding schemes (e.g., UTF-16)\n */\n constructor(\n storage: Storage,\n namespace: string,\n maxSize: number,\n // eslint-disable-next-line @typescript-eslint/no-shadow\n logError?: ErrorLogger\n ) {\n this.storage = storage\n this.namespace = namespace\n this.maxSize = maxSize\n if (!this.storage || !namespace || typeof maxSize !== 'number') {\n throw new Error('Storage Cache missing required constructor parameter(s)')\n }\n this.keyPrefix = createKeyPrefix(this.namespace)\n this.logError = logError ?? defaultErrorLogger\n }\n\n /**\n * Put this item to storage\n * @param item\n */\n public put(item: CacheItem) {\n const storeKey: StoreKey = this.storageKey(item.key)\n const storageItem: StoredItem = {\n addedTime: now(),\n expireSeconds: item.expireSeconds,\n data: item.data,\n lastAccess: now(),\n cacheName: item.cacheName,\n }\n if (this.cleanForPut(storeKey, storageItem)) {\n this.safePut(storeKey, JSON.stringify(storageItem))\n }\n }\n\n /**\n * Get the item with this key from storage. If the item is expired it will not\n * be returned. If the freshnessSeconds parameter is provided the item will\n * not be returned if the item is \"stale\" (time since added to cache is > freshnessSeconds).\n *\n * @param itemKey\n * @param freshnessSeconds\n * @returns undefined if not found\n */\n public get(itemKey: CacheKey, freshnessSeconds?: number) {\n const storeKey: StoreKey = this.storageKey(itemKey)\n const storageItem = this.getStoredItem(storeKey)\n if (storageItem) {\n if (this.isStale(storageItem, freshnessSeconds)) {\n this.delete(itemKey)\n } else {\n this.updateLastAccessTime(storeKey, storageItem)\n const cacheItem: CacheItem = {\n ...storageItem,\n key: this.itemKey(storeKey),\n }\n return cacheItem\n }\n }\n return undefined\n }\n\n /**\n * Remove the item from storage\n *\n * @param itemKey\n */\n public delete(itemKey: string) {\n const storageKey = this.storageKey(itemKey)\n this.storage.removeItem(storageKey)\n }\n\n /**\n * Delete all cached items with this cacheName\n */\n public deleteNamed(cacheName: string) {\n this.itemsMeta()\n .filter((item) => item.cacheName === cacheName)\n .forEach((item) => this.storage.removeItem(item.storeKey))\n }\n\n /**\n * Clear all items from storage which have this namespace.\n */\n public clear() {\n clear(this.storage, this.namespace)\n }\n\n /* PRIVATE */\n\n private getStoredItem(storeKey: StoreKey): StoredItem | undefined {\n const itemAsString: string | null = this.storage.getItem(storeKey)\n if (itemAsString) {\n return JSON.parse(itemAsString)\n }\n return undefined\n }\n\n private storageKey(itemKey: CacheKey) {\n return `${this.keyPrefix}${itemKey}`\n }\n\n private itemKey(storageKey: StoreKey) {\n return storageKey.replace(this.keyPrefix, '')\n }\n\n private isCacheKey(storageKey?: StoreKey | null) {\n return !!storageKey?.startsWith(this.keyPrefix)\n }\n\n /**\n * Indicate if the item is \"stale\", i.e., expired or\n * not within freshness period\n *\n * @param item\n * @param freshnessSeconds\n * @returns\n */\n private isStale(item: StoredItem, freshnessSeconds?: number) {\n const expired = item.addedTime + item.expireSeconds * 1000 <= now()\n if (expired) {\n return true\n }\n if (freshnessSeconds !== undefined) {\n const elapsedTimeMs = now() - item.addedTime\n return elapsedTimeMs > freshnessSeconds * 1000\n }\n return false\n }\n\n private updateLastAccessTime(storeKey: string, storageItem: StoredItem) {\n ;(storageItem.lastAccess as number) = now()\n this.safePut(storeKey, JSON.stringify(storageItem))\n }\n\n /**\n * Cleanup before a PUT\n * @param storeKey\n * @param item\n * @returns true if enough space is availalble to store the item\n */\n private cleanForPut(storeKey: StoreKey, item: StoredItem): boolean {\n let existingItems = this.itemsMeta()\n existingItems = this.cleanupExpired(existingItems)\n // this calc is VERY rough\n const sizeBuffer = storeKey.length + JSON.stringify(item).length\n if (sizeBuffer > this.maxSize) {\n this.logError(\n `Attempt to put an item (${storeKey}) to StorageCache which was larger than the max size (${this.maxSize}) of storage. Item not put to cache`,\n 'EXCEEDED_MAX',\n { storeKey, maxSize: this.maxSize }\n )\n return false\n }\n this.cleanupUntilSizeLimit(existingItems, sizeBuffer)\n return true\n }\n\n /** Remove any expired item from storage */\n private cleanupExpired(items: StoredItemMeta[]): StoredItemMeta[] {\n const remainingItems: StoredItemMeta[] = []\n items.forEach((item) => {\n if (this.isStale(item)) {\n this.storage.removeItem(item.storeKey)\n } else {\n remainingItems.push(item)\n }\n })\n return remainingItems\n }\n\n /**\n * Remove items until the storage used is under the max size\n * @param items\n * @param sizeBuffer Extra space to reduce the limit when deciding if within max\n */\n private cleanupUntilSizeLimit(\n items: StoredItemMeta[],\n sizeBuffer: number\n ): void {\n let used = items.reduce((total, item) => {\n return total + item.size\n }, 0)\n if (used + sizeBuffer < this.maxSize) {\n return\n }\n const oldestToNewest = items.sort(\n (a: StoredItemMeta, b: StoredItemMeta): number => {\n if (a.lastAccess > b.lastAccess) {\n return 1\n }\n if (a.lastAccess < b.lastAccess) {\n return -1\n }\n return 0\n }\n )\n for (let i = 0; i < oldestToNewest.length; i++) {\n if (used + sizeBuffer < this.maxSize) {\n break\n } else {\n const item = oldestToNewest[i]\n this.storage.removeItem(item.storeKey)\n used -= item.size\n }\n }\n }\n\n /** @returns A list of meta information for all items in storage */\n private itemsMeta(): StoredItemMeta[] {\n const cacheItems: StoredItemMeta[] = []\n for (let i = 0; i < this.storage.length; i++) {\n const storeKey = this.storage.key(i)\n if (storeKey && this.isCacheKey(storeKey)) {\n const itemAsString: string | null = this.storage.getItem(storeKey)\n if (itemAsString) {\n const size = itemAsString.length\n const storedItem: StoredItem = JSON.parse(itemAsString)\n cacheItems.push({ ...storedItem, size, storeKey })\n }\n }\n }\n return cacheItems\n }\n\n private safePut(storeKey: string, value: string) {\n try {\n this.storage.setItem(storeKey, value)\n } catch (error0) {\n const isExceeded = isStorageExceeded(error0, this.storage)\n if (isExceeded) {\n this.logError(\n `Attempt to put an item to StorageCache but the storage returned an \"exceeded error\". Item not put to cache`,\n 'EXCEEDED_STORAGE',\n { storeKey, maxSize: this.maxSize }\n )\n }\n logWarnOnce(\n `rest client storage cache cannot PUT...${\n isStorageExceeded(error0, this.storage)\n ? 'storage is full...clearing all'\n : 'assuming storage full and clearing all'\n }`,\n error0\n )\n try {\n this.clear()\n this.storage.setItem(storeKey, value)\n } catch (error1) {\n // give up\n logErrorOnce(\n 'rest client storage cache cannot PUT...even after attempt to clear...giving up',\n error1\n )\n }\n }\n }\n}\n\nconst defaultErrorLogger: ErrorLogger = (\n description: string,\n type: ErrorType,\n meta: json\n) => {\n logError(description, type, meta)\n}\n\n/**\n * Clear all values with this namespace from the storage\n * (intended as a demo/test utility)\n *\n * @param storage\n * @param namespace\n */\nexport function clear(storage: Storage, namespace: string) {\n const keys: string[] = []\n const keyPrefix = createKeyPrefix(namespace)\n for (let i = 0; i < storage.length; i++) {\n const storeKey = storage.key(i)\n if (storeKey?.startsWith(keyPrefix)) {\n keys.push(storeKey!)\n }\n }\n keys.forEach((storeKey) => storage.removeItem(storeKey))\n}\n\n/**\n * Indicate if the storage type is available on this browser\n *\n * @param type\n * @returns true if this storage type is available\n */\nexport function storageAvailable(type: 'sessionStorage' | 'localStorage') {\n /* https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#Testing_for_support_vs_availability */\n let storage\n try {\n storage = window[type] as Storage\n const kv = '__ds_rest_client_storage_test__'\n storage.setItem(kv, kv)\n storage.removeItem(kv)\n return true\n } catch (e) {\n return isStorageExceeded(e, storage)\n }\n}\n\n/**\n * Indicate if the error is a \"storage exceeded\" error\n *\n * @param error\n * @param storage\n * @returns true if this error is a \"storage exeeded\" error\n */\nfunction isStorageExceeded(error: Error, storage?: Storage) {\n return (\n error instanceof DOMException &&\n // everything except Firefox\n (error.code === 22 ||\n // Firefox\n error.code === 1014 ||\n // test name field too, because code might not be present\n // everything except Firefox\n error.name === 'QuotaExceededError' ||\n // Firefox\n error.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&\n // acknowledge QuotaExceededError only if there's something already stored\n storage?.length !== 0\n )\n}\n\nfunction now(): number {\n return new Date().getTime()\n}\n\nfunction createKeyPrefix(namespace: string) {\n return `ds-storage-cache-${namespace}/`\n}\n","import {\n RestClient,\n HttpError,\n HttpRequest,\n HttpResponse,\n BrowserFetchRestHandler,\n StorageCache,\n storageAvailable,\n} from '@ds/base'\nimport {\n DocusignApp,\n HeaderUserProfile,\n ImageURL,\n HeaderLogHandler,\n HeaderCacheOptions,\n} from './types'\n\nconst PROFILE_CACHE_NAME = 'profile'\nconst APPS_CACHE_NAME = 'apps'\n\nconst NO_CACHE_EXPIRE_SECONDS = 5\n\nconst DEFAULT_PROFILE_CACHE_SECONDS = 60 * 60\nconst DEFAULT_IMAGE_CACHE_SECONDS = 60 * 60\nconst DEFAULT_APPS_CACHE_SECONDS = 30\n\nconst STORAGE_NAMESPACE = 'rest-header'\nconst DEFAULT_STORAGE_SIZE = 1024 * 200\n\ninterface CacheExpireSeconds {\n profile: number\n profileImage: number\n apps: number\n}\n\nexport class HeaderAPIClient {\n readonly bearerToken: string\n private httpClient: RestClient\n private rootUrl: string\n private logHandler: HeaderLogHandler\n private cacheExpireTimes: CacheExpireSeconds\n private storageCache: StorageCache | undefined\n\n constructor(\n bearerToken: string,\n rootUrl: string,\n logHandler?: HeaderLogHandler,\n cacheOptions?: HeaderCacheOptions\n ) {\n this.bearerToken = bearerToken\n this.rootUrl = rootUrl\n this.logHandler = initializeErrorHandler(logHandler)\n this.cacheExpireTimes = this.createCacheExpireTimes(cacheOptions)\n this.storageCache = this.createStorageCache(cacheOptions)\n this.httpClient = new RestClient({\n defaults: {\n throwErrorWhen: (status) => status < 200 || status > 299,\n listener: {\n onRequest: (request: HttpRequest) => this.logHttpRequest(request),\n onResponse: (response: HttpResponse) => {\n this.logHttpResponse(scrubResponse(response))\n },\n onError: (error: HttpError) => this.logError(error),\n },\n storageCache: this.storageCache,\n },\n httpHandler: new BrowserFetchRestHandler(),\n })\n }\n\n fetchApps(): Promise<DocusignApp[]> {\n const url = this.fullUrl('me/v1/user/apps')\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n const response = await this.httpClient.get({\n url,\n bearerToken: this.bearerToken,\n cacheName: APPS_CACHE_NAME,\n cacheSeconds: this.cacheExpireTimes.apps,\n })\n const data = response.json as { apps: DocusignApp[] }\n const apps = data && data.apps ? data.apps : []\n resolve(apps)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n fetchUserProfile(): Promise<HeaderUserProfile> {\n const url = this.fullUrl('me/v1/user/userdetails')\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n const response = await this.httpClient.get({\n url,\n bearerToken: this.bearerToken,\n cacheName: PROFILE_CACHE_NAME,\n cacheSeconds: this.cacheExpireTimes.profile,\n })\n resolve(response.json as HeaderUserProfile)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n fetchProfileImage(): Promise<ImageURL> {\n const url = this.fullUrl('me/v1/user/profileimage')\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n const response = await this.httpClient.get({\n url,\n bearerToken: this.bearerToken,\n cacheName: PROFILE_CACHE_NAME,\n cacheSeconds: this.cacheExpireTimes.profileImage,\n })\n resolve(response.json as ImageURL)\n } catch (error) {\n reject(error)\n }\n })\n }\n\n public clearCache() {\n this.clearAppCache()\n this.clearProfileCache()\n }\n\n public clearProfileCache() {\n this.httpClient.clearCache(PROFILE_CACHE_NAME, this.storageCache)\n }\n\n public clearAppCache() {\n this.httpClient.clearCache(APPS_CACHE_NAME, this.storageCache)\n }\n\n private fullUrl(endpointSuffix: string) {\n return `${this.rootUrl}${\n this.rootUrl.endsWith('/') ? '' : '/'\n }${endpointSuffix}`\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private logError(error: any) {\n if (error instanceof HttpError) {\n this.logHandler({\n isError: true,\n type: 'ERROR',\n httpError: error as HttpError,\n description: error.description,\n name: 'Error',\n error: error.error,\n })\n } else {\n const description =\n error instanceof Error\n ? error.message + ' stack: ' + error.stack\n : error.toString()\n this.logHandler({\n isError: true,\n type: 'ERROR',\n description,\n name: 'Error',\n error: error instanceof Error ? error : undefined,\n })\n }\n }\n\n private logHttpRequest(request: HttpRequest) {\n if (this.logHandler) {\n this.logHandler({\n isError: false,\n type: 'HTTP',\n httpRequest: request,\n description: `HTTP ${request.method} request to ${request.url}`,\n name: 'HttpRequest',\n })\n }\n }\n\n private logHttpResponse(response: HttpResponse) {\n if (this.logHandler) {\n this.logHandler({\n isError: false,\n type: 'HTTP',\n httpResponse: response,\n description: `HTTP response from ${response.request.method} ${response.request.url} in ${response.elapsedMilliseconds}ms`,\n name: 'HttpResponse',\n })\n }\n }\n\n private createCacheExpireTimes(\n cacheOptions?: HeaderCacheOptions\n ): CacheExpireSeconds {\n if (cacheOptions?.enableCache) {\n return {\n apps: cacheOptions.appsExpireSeconds ?? DEFAULT_APPS_CACHE_SECONDS,\n profile:\n cacheOptions.profileExpireSeconds ?? DEFAULT_PROFILE_CACHE_SECONDS,\n profileImage:\n cacheOptions.profileImageExpireSeconds ?? DEFAULT_IMAGE_CACHE_SECONDS,\n }\n }\n return {\n profile: NO_CACHE_EXPIRE_SECONDS,\n profileImage: NO_CACHE_EXPIRE_SECONDS,\n apps: NO_CACHE_EXPIRE_SECONDS,\n }\n }\n\n private createStorageCache(cacheOptions?: HeaderCacheOptions) {\n if (cacheOptions?.enableCache && cacheOptions?.useStorage) {\n if (storageAvailable('sessionStorage')) {\n return new StorageCache(\n window.sessionStorage,\n STORAGE_NAMESPACE,\n cacheOptions?.maxStorageSize ?? DEFAULT_STORAGE_SIZE\n )\n }\n this.logError(\n 'session storage caching requested but session storage does not appear to be supported'\n )\n }\n return undefined\n }\n}\n\nfunction initializeErrorHandler(logHandler?: HeaderLogHandler) {\n return logHandler ? logHandler : () => ''\n}\n\nfunction scrubResponse(response: HttpResponse) {\n if (response.request.url.includes('userdetails')) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const scrubbedJson: any = { ...(response.json as Record<string, unknown>) }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Object.keys(response.json as any).forEach((propName) => {\n if (propName !== 'site_id' && propName !== 'user_id') {\n scrubbedJson[propName] = 'SCRUBBED'\n }\n })\n return { ...response, json: scrubbedJson }\n }\n return response\n}\n\nlet cachedClient: HeaderAPIClient\n\nexport function cachedAPIClient(\n bearerToken: string,\n rootUrl: string,\n logHandler?: HeaderLogHandler,\n cachingOptions?: HeaderCacheOptions\n) {\n if (!cachedClient || cachedClient.bearerToken !== bearerToken) {\n cachedClient = new HeaderAPIClient(\n bearerToken,\n rootUrl,\n logHandler,\n cachingOptions\n )\n }\n return cachedClient\n}\n","import * as React from 'react'\nimport { useTranslate } from '@ds/comp-private'\nimport { Theme, InkDocuSignTheme } from '@ds/ui'\nimport {\n HeaderProps,\n DocusignApp,\n HeaderUserProfile,\n ImageURL,\n HeaderTranslateFunction,\n} from './types'\nimport { HeaderPhone } from './Phone/HeaderPhone'\nimport { HeaderStandard } from './Desktop/HeaderStandard'\nimport { validateProps } from './propValidator'\nimport { HeaderAPIClient, cachedAPIClient } from './HeaderAPIClient'\nimport { HeaderLogEvent } from './types'\nimport { useHtmlLang, useMountStatus } from '@ds/react-utils'\nimport styles from './styles'\nimport { logComponentError, logComponentHttpError } from '@ds/logging'\n\n/*\n\n Global header for docusign apps.\n\n Uses the \"me\" api to fetch data given a me token.\n\n This component uses a \"Stale while revalidate\" approach to API responses. As multi-page apps\n navigate from route to route (causing a page load and requests to the API) the Header width will\n resize to show the app switch waffle icon if the user is provisioned formore than one app. Likewise,\n the user's profile avatar changes. This causes the header parts to move as the header redoes the\n layout when the API responses arrive.\n\n It will cache REST API calls in session storage if the consumer provides a cachingOptions prop with useStorage:true\n\n*/\n\nconst NO_ME_TOKEN_PROP_VALUE = 'NONE'\n\nconst STALE_CACHE_APPS = 'global-header-me/apps'\nconst STALE_CACHE_IMAGE = 'global-header-me/profileimage'\nconst STALE_CACHE_IDS = [STALE_CACHE_APPS, STALE_CACHE_IMAGE]\nconst STALE_CACHE_TIMESTAMP_PROP = 'cacheTimestamp'\nconst STALE_CACHE_EXPIRE_MINUTES = 60\n\nexport const Header: React.FunctionComponent<HeaderProps> = (props) => {\n validateProps(props)\n\n const pageLocale = useHtmlLang()\n const locale = props.locale || pageLocale || 'en'\n const translate: HeaderTranslateFunction = useTranslate(locale)\n\n const onLoggingEvent = props.onLoggingEvent || defaultOnLoggingEvent\n\n const apiClientRef = React.useRef<HeaderAPIClient>()\n\n const [userProfile, setUserProfile] = React.useState<HeaderUserProfile>()\n const [availableApps, setAvailableApps] = React.useState<DocusignApp[]>([])\n const [profileImage, setProfileImage] = React.useState<ImageURL>()\n\n const [renderForPhone, setRenderForPhone] = React.useState(false)\n\n apiClientRef.current = props.apiClient\n ? props.apiClient\n : cachedAPIClient(\n props.meToken,\n props.apiRootUrl,\n onLoggingEvent,\n props.cachingOptions\n )\n\n const mountStatus = useMountStatus()\n\n React.useEffect(() => {\n if (mountStatus.mounted && !!props.forceApiRefresh) {\n apiClientRef.current?.clearCache()\n }\n }, [mountStatus.mounted, props.forceApiRefresh])\n\n React.useEffect(() => {\n async function fetchUserProfile() {\n try {\n const profile =\n props.meToken === NO_ME_TOKEN_PROP_VALUE\n ? undefined\n : await apiClientRef.current!.fetchUserProfile()\n if (mountStatus.mounted) {\n setUserProfile(profile)\n }\n } catch (error) {\n if (mountStatus.mounted) {\n setUserProfile(undefined)\n }\n }\n }\n\n if (props.disableProfile) {\n setUserProfile(undefined)\n } else if (props.userData) {\n setUserProfile(props.userData)\n } else {\n fetchUserProfile()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n props.apiRootUrl,\n props.disableProfile,\n props.forceApiRefresh,\n props.meToken,\n props.userData,\n ])\n\n React.useEffect(() => {\n async function fetchAvailableApps() {\n try {\n const apps =\n props.meToken === NO_ME_TOKEN_PROP_VALUE\n ? []\n : await apiClientRef.current!.fetchApps()\n setCachedAPIResponse(STALE_CACHE_APPS, apps)\n if (mountStatus.mounted) {\n setAvailableApps(apps)\n if (props.onAppsFetched) {\n props.onAppsFetched(apps)\n }\n }\n } catch (error) {\n if (mountStatus.mounted) {\n setAvailableApps([])\n }\n }\n }\n if (props.disableAppSwitching) {\n setAvailableApps([])\n } else {\n const cachedApps = getCachedAPIResponse(STALE_CACHE_APPS)\n if (cachedApps) {\n setAvailableApps(cachedApps)\n }\n fetchAvailableApps()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n props.apiRootUrl,\n props.disableAppSwitching,\n props.forceApiRefresh,\n props.meToken,\n ])\n\n React.useEffect(() => {\n async function fetchProfileImage() {\n try {\n const image =\n props.meToken === NO_ME_TOKEN_PROP_VALUE\n ? undefined\n : await apiClientRef.current!.fetchProfileImage()\n setCachedAPIResponse(STALE_CACHE_IMAGE, image)\n if (mountStatus.mounted) {\n setProfileImage(image)\n }\n } catch (error) {\n if (mountStatus.mounted) {\n setProfileImage(undefined)\n }\n }\n }\n if (props.disableProfile || props.userData) {\n setProfileImage(undefined)\n } else {\n const cachedImage = getCachedAPIResponse(STALE_CACHE_IMAGE)\n if (cachedImage) {\n setProfileImage(cachedImage)\n }\n fetchProfileImage()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n props.apiRootUrl,\n props.disableProfile,\n props.forceApiRefresh,\n props.meToken,\n props.userData,\n ])\n\n const onLogoff = () => {\n clearFlashCache()\n apiClientRef.current?.clearCache()\n props.onLogoff()\n }\n\n /*\n\n The header is responsive but it does not use media queries. Rather, it always renders\n the standard header (which has callbacks notifying regarding whether it can fit in the\n window). If there is not enough room for the standard header this component will continue\n to render it (as invisible) but will also render the phone header.\n\n */\n\n return (\n <Theme docuSignTheme={InkDocuSignTheme}>\n <div css={styles.headerCSS}>\n <HeaderStandard\n {...props}\n onLogoff={onLogoff}\n enabled={!renderForPhone}\n switchableApps={availableApps}\n locale={locale}\n translate={translate}\n user={userProfile}\n profileImage={profileImage}\n onContentFits={() => {\n setRenderForPhone(false)\n if (props.onDesktop) {\n props.onDesktop()\n }\n }}\n onContentClipped={() => {\n setRenderForPhone(true)\n if (props.onMobile) {\n props.onMobile()\n }\n }}\n onLoggingEvent={onLoggingEvent}\n onOpenProfileSite={() => apiClientRef.current?.clearProfileCache()}\n onShowAppSwitch={() => apiClientRef.current?.clearAppCache()}\n />\n {renderForPhone && (\n <HeaderPhone\n {...props}\n onLogoff={onLogoff}\n switchableApps={availableApps}\n locale={locale}\n translate={translate}\n user={userProfile}\n profileImage={profileImage}\n onLoggingEvent={onLoggingEvent}\n onOpenProfileSite={() => apiClientRef.current?.clearProfileCache()}\n onShowAppSwitch={() => apiClientRef.current?.clearAppCache()}\n />\n )}\n </div>\n </Theme>\n )\n}\n\nconst defaultOnLoggingEvent = (event: HeaderLogEvent) => {\n if (event.isError) {\n if (event.httpError) {\n logComponentHttpError(event.httpError, 'GlobalHeader')\n } else {\n logComponentError(\n { message: event.description, error: event.error },\n 'GlobalHeader'\n )\n }\n }\n}\n\nfunction getCachedAPIResponse(cacheId: string) {\n try {\n const cachedResponse = window.sessionStorage.getItem(cacheId)\n if (cachedResponse) {\n const parsedCachedResponse = JSON.parse(cachedResponse)\n const responseTimestamp =\n parsedCachedResponse[STALE_CACHE_TIMESTAMP_PROP] || 0\n const expired =\n responseTimestamp + STALE_CACHE_EXPIRE_MINUTES * 60 * 1000 < now()\n if (expired) {\n setCachedAPIResponse(cacheId, undefined)\n return undefined\n }\n return parsedCachedResponse.response\n }\n return undefined\n } catch (error) {\n return undefined\n }\n}\n\nfunction setCachedAPIResponse(cacheId: string, response: unknown) {\n try {\n if (response) {\n const cachedResponse = JSON.stringify({\n response,\n [STALE_CACHE_TIMESTAMP_PROP]: now(),\n })\n window.sessionStorage.setItem(cacheId, cachedResponse)\n } else {\n window.sessionStorage.removeItem(cacheId)\n }\n } catch (error) {\n // noop\n }\n}\n\nfunction clearFlashCache() {\n STALE_CACHE_IDS.forEach((id) => setCachedAPIResponse(id, undefined))\n}\n\nfunction now() {\n return new Date().getTime()\n}\n","import { useLayoutEffect, useRef } from 'react'\n\n/*\n\n A hook for accessing mounted status of a component. Primary use is in a\n component which has async side effects. The mount status can be used\n to determine if the side affect (e.g. a REST response) should be\n acted upon or ignaored when it completes (if unmounted it should be ignored).\n\n Example:\n\n const mountStatus = useMountStatus();\n . . .\n if (mountStatus.mounted) {\n // stuff\n }\n\n Note that this hook is not reactive. It is simply providing an accessor.\n*/\n\nexport function useMountStatus(): { mounted: boolean } {\n const isMountedRef = useRef(false)\n\n const mountStatus = {\n get mounted() {\n return !!isMountedRef.current\n },\n }\n\n useLayoutEffect(() => {\n isMountedRef.current = true\n\n return () => {\n isMountedRef.current = false\n }\n }, [])\n\n return mountStatus\n}\n","var fontGroups = {\n ds_indigo: {\n 'DSIndigo-Regular': {\n file: 'DSIndigo-Regular',\n family: 'DSIndigo',\n style: 'normal',\n weight: '400',\n extensions: ['woff2', 'woff']\n },\n 'DSIndigo-Medium': {\n file: 'DSIndigo-Medium',\n family: 'DSIndigo',\n style: 'normal',\n weight: '500',\n extensions: ['woff2', 'woff']\n },\n 'DSIndigo-Semibold': {\n file: 'DSIndigo-Semibold',\n family: 'DSIndigo',\n style: 'normal',\n weight: '600',\n extensions: ['woff2', 'woff']\n },\n 'DSIndigo-Bold': {\n file: 'DSIndigo-Bold',\n family: 'DSIndigo',\n style: 'normal',\n weight: '700',\n extensions: ['woff2', 'woff']\n }\n },\n helvetica_neue: {\n HelveticaNeueW01_55Roma: {\n file: 'HelveticaNeueW01-55Roma',\n family: 'Helvetica Neue',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n HelveticaNeueW01_75Bold: {\n file: 'HelveticaNeueW01-75Bold',\n family: 'Helvetica Neue',\n style: 'normal',\n weight: 'bold',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n }\n },\n maven_pro: {\n maven_pro_regular: {\n file: 'maven_pro_regular',\n family: 'Maven Pro',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'otf', 'svg']\n },\n maven_pro_bold: {\n file: 'maven_pro_bold',\n family: 'Maven Pro',\n style: 'normal',\n weight: 'bold',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n }\n },\n salesforce_sans: {\n SalesforceSans_Regular: {\n file: 'SalesforceSans-Regular',\n family: 'Salesforce Sans',\n style: 'normal',\n weight: 'normal',\n extensions: ['woff', 'ttf']\n }\n },\n signature: {\n Docusign_1: {\n file: '1_Docusign',\n family: '1_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_2: {\n file: '2_Docusign',\n family: '2_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_3: {\n file: '3_Docusign',\n family: '3_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_4: {\n file: '4_Docusign',\n family: '4_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_5: {\n file: '5_Docusign',\n family: '5_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_6: {\n file: '6_Docusign',\n family: '6_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_7: {\n file: '7_Docusign',\n family: '7_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Docusign_8: {\n file: '8_Docusign',\n family: '8_Docusign',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Mistral: {\n file: 'Mistral',\n family: 'Mistral',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n Rage: {\n file: 'Rage',\n family: 'Rage',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff', 'ttf', 'svg']\n },\n TA_akiko: {\n file: 'TA_akiko',\n family: 'TA_akiko',\n style: 'normal',\n weight: 'normal',\n extensions: ['ttf']\n },\n TA_asako: {\n file: 'TA_asako',\n family: 'TA_asako',\n style: 'normal',\n weight: 'normal',\n extensions: ['ttf']\n },\n TA_sourin_fude_02: {\n file: 'TA_sourin_fude_02',\n family: 'TA_sourin_fude_02',\n style: 'normal',\n weight: 'normal',\n extensions: ['ttf']\n },\n TA_yubi_hyojun_kaisyo: {\n file: 'TA_yubi_hyojun_kaisyo',\n family: 'TA_yubi_hyojun_kaisyo',\n style: 'normal',\n weight: 'normal',\n extensions: ['ttf']\n }\n },\n neue_haas_grotesk: {\n neue_haas_grotesk_lite: {\n file: 'nhg_lite',\n family: 'Neue Haas Grotesk',\n style: 'normal',\n weight: '300',\n extensions: ['eot', 'woff2', 'woff', 'ttf']\n },\n neue_haas_grotesk_regular: {\n file: 'nhg_regular',\n family: 'Neue Haas Grotesk',\n style: 'normal',\n weight: 'normal',\n extensions: ['eot', 'woff2', 'woff', 'ttf']\n },\n neue_haas_grotesk_bold: {\n file: 'nhg_bold',\n family: 'Neue Haas Grotesk',\n style: 'normal',\n weight: 'bold',\n extensions: ['eot', 'woff2', 'woff', 'ttf']\n }\n }\n};\nexport default fontGroups;","export default (function (path) {\n return path ? \"\".concat(path, \"/\").replace(/\\/+$/, '/') : '';\n});","import _concatInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/concat\";\nimport _mapInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/map\";\nvar FORMATS = {\n eot: 'embedded-opentype',\n otf: 'opentype',\n ttf: 'truetype'\n};\n\nvar getExtMod = function getExtMod(ext, family) {\n if (ext === 'eot') {\n return '?#iefix';\n }\n\n if (ext === 'svg') {\n return \"#\".concat(family.replace(' ', ''));\n }\n\n return '';\n};\n/**\n *\n * @param {string} base\n * @param {Object} config\n * @param {Object} config.extensions\n * @param {Object} config.family\n * @param {Object} config.style\n * @param {Object} config.weight\n */\n\n\nvar fontFace = function fontFace(base, config) {\n var _context, _context6, _context7, _context8;\n\n var style = config.style || 'normal';\n var weight = config.weight || 'normal';\n\n var src = _mapInstanceProperty(_context = config.extensions).call(_context, function (ext) {\n var _context2, _context3, _context4, _context5;\n\n var extMod = getExtMod(ext, config.family);\n var format = FORMATS[ext] || ext;\n return _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = _concatInstanceProperty(_context4 = _concatInstanceProperty(_context5 = \"url('\".concat(base)).call(_context5, config.file, \".\")).call(_context4, ext)).call(_context3, extMod, \"') format('\")).call(_context2, format, \"')\");\n }).join(',\\n ');\n\n return _concatInstanceProperty(_context6 = _concatInstanceProperty(_context7 = _concatInstanceProperty(_context8 = \"\\n @font-face {\\n font-family: '\".concat(config.family, \"';\\n font-style: \")).call(_context8, style, \";\\n font-weight: \")).call(_context7, weight, \";\\n src: \")).call(_context6, src, \";\\n }\");\n};\n\nexport default fontFace;","import _Object$keys from \"@babel/runtime-corejs3/core-js-stable/object/keys\";\nimport _mapInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/map\";\nimport fontFace from './fontFace';\n\nvar fontGroupDeclarations = function fontGroupDeclarations(fonts, baseUrl) {\n var _context;\n\n return _mapInstanceProperty(_context = _Object$keys(fonts)).call(_context, function (fontKey) {\n var font = fonts[fontKey];\n return fontFace(baseUrl, font);\n }).join('\\n');\n};\n\nexport default fontGroupDeclarations;","import version from '../version';\nexport default \"https://docucdn-a.akamaihd.net/olive/fonts/\".concat(version);","export default '2.8.0';","import {\n DSIndigo,\n HelveticaNeue,\n MavenPro,\n NeueHaasGrotesk,\n OLIVE_CDN,\n Signatures,\n} from '@olive/fonts'\n\nconst FONT_FACE_DECLARATIONS = [\n DSIndigo(OLIVE_CDN),\n Signatures(OLIVE_CDN),\n HelveticaNeue(OLIVE_CDN),\n MavenPro(OLIVE_CDN),\n NeueHaasGrotesk(OLIVE_CDN),\n].join('\\n')\n\nexport default FONT_FACE_DECLARATIONS\n","import fontGroups from '../../fontGroups';\nimport { fontGroupDeclarations, normalizedBaseUrl } from '../../utilities';\nexport default (function (path) {\n var baseUrl = normalizedBaseUrl(path);\n return fontGroupDeclarations(fontGroups.ds_indigo, baseUrl);\n});","import fontGroups from '../../fontGroups';\nimport { fontGroupDeclarations, normalizedBaseUrl } from '../../utilities';\nexport default (function (path) {\n var baseUrl = normalizedBaseUrl(path);\n return fontGroupDeclarations(fontGroups.signature, baseUrl);\n});","import fontGroups from '../../fontGroups';\nimport { fontGroupDeclarations, normalizedBaseUrl } from '../../utilities';\nexport default (function (path) {\n var baseUrl = normalizedBaseUrl(path);\n return fontGroupDeclarations(fontGroups.helvetica_neue, baseUrl);\n});","import fontGroups from '../../fontGroups';\nimport { fontGroupDeclarations, normalizedBaseUrl } from '../../utilities';\nexport default (function (path) {\n var baseUrl = normalizedBaseUrl(path);\n return fontGroupDeclarations(fontGroups.maven_pro, baseUrl);\n});","import fontGroups from '../../fontGroups';\nimport { fontGroupDeclarations, normalizedBaseUrl } from '../../utilities';\nexport default (function (path) {\n var baseUrl = normalizedBaseUrl(path);\n return fontGroupDeclarations(fontGroups.neue_haas_grotesk, baseUrl);\n});","import { zIndexes } from '../../../variables'\n\nexport default {\n wrap: {\n left: 0,\n margin: '80px auto 0 auto',\n maxWidth: '508px',\n minWidth: 'auto',\n padding: '0 8px',\n position: 'fixed',\n right: 0,\n top: 0,\n width: '100%',\n zIndex: zIndexes.ToastMessage,\n },\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport baseStyles from './styles'\nimport { useThemeStyles } from '../../../theming'\n\n/**\n * ToastMessageContainer is an internal component used in the Olive component\n * and should not be exported publicly. But keeping it here with its related\n * componnets instead of in the \"internal\" directory.\n */\nfunction ToastMessageContainer(props) {\n const { id } = props\n\n const styles = useThemeStyles(baseStyles, 'ToastMessageContainer')\n\n return (\n <div\n id={id}\n css={styles.wrap}\n role=\"status\"\n aria-live=\"polite\"\n aria-relevant=\"additions\"\n />\n )\n}\n\nToastMessageContainer.propTypes = {\n id: PropTypes.string.isRequired,\n}\n\nToastMessageContainer.displayName = 'ToastMessageContainer'\n\nexport default ToastMessageContainer\n","/* globals document */\nimport React from 'react'\nimport { Global, css } from '@emotion/core'\nimport { useEventListener } from '@ds/react-utils'\n\nconst MOUSE_ACTIVE_CLASSNAME = 'olv-mouse-active'\n\nexport const styles = `\n .${MOUSE_ACTIVE_CLASSNAME} {\n a:focus,\n button:focus,\n input:focus + label {\n outline: none !important;\n }\n }\n`\n\n/**\n * Listen for mouse activity and apply a class on the body\n * so elements do not show the focus outline on click.\n */\nfunction MouseFocusCss() {\n const handleMouseActivity = () => {\n if (document?.body) {\n document.body.classList.add(MOUSE_ACTIVE_CLASSNAME)\n }\n }\n\n const handleKeyboardActivity = () => {\n if (document?.body) {\n document.body.classList.remove(MOUSE_ACTIVE_CLASSNAME)\n }\n }\n\n useEventListener('mousedown', handleMouseActivity, document)\n useEventListener('keydown', handleKeyboardActivity, document)\n\n return <Global styles={css(styles)} />\n}\n\nexport default MouseFocusCss\n","/* global window */\nimport React, { useEffect } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { consoleWarn, warnDeprecated } from '../../logging'\nimport { document } from '../../support/WebAPI'\nimport { FontFaceDeclarations, NormalizeCss, Theme } from '../../theming'\nimport { globalIds } from '../../variables'\nimport version from '../../version'\n\nimport ToastMessageContainer from '../ToastMessage/ToastMessageContainer'\nimport MouseFocusCss from '../MouseFocusCss'\n\n/**\n * Use of the library requires that you pass your application content as a child to the top-level `<Olive />` component.\n */\nconst Olive = (props) => {\n const {\n baseCss,\n children,\n customBranding,\n mouseFocusCss,\n normalizeCss,\n fontFaceDeclarations,\n } = props\n\n if (customBranding) {\n warnDeprecated('Olive [customBranding prop]', 'Cobranding component', {\n story: 'styles-cobranding-cobranding--page',\n })\n }\n\n const SkipNavContainer = (\n <div\n id={globalIds.SkipNavContainer}\n aria-live=\"polite\"\n aria-relevant=\"additions\"\n />\n )\n\n const ModalContainer = <div id={globalIds.ModalContainer} />\n\n const OverlayContainer = (\n <div\n id={globalIds.OverlayContainer}\n role=\"dialog\"\n aria-live=\"polite\"\n aria-relevant=\"additions\"\n />\n )\n\n useEffect(() => {\n const toastMessageContainers = Array.from(\n document.querySelectorAll(`#${globalIds.ToastMessageContainer}`)\n )\n\n const modalMessageContainers = Array.from(\n document.querySelectorAll(`#${globalIds.ModalContainer}`)\n )\n\n const overlayContainers = Array.from(\n document.querySelectorAll(`#${globalIds.OverlayContainer}`)\n )\n\n if (\n toastMessageContainers.length > 1 ||\n modalMessageContainers.length > 1 ||\n overlayContainers.length > 1\n ) {\n consoleWarn('Only one instance of the Olive component should be used.')\n }\n }, [])\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n const OliveGlobal = window.Olive || {}\n\n window.Olive = Object.assign(OliveGlobal, {\n React: Object.assign(OliveGlobal.React || {}, { version }),\n })\n }\n }, [])\n\n return (\n <>\n {fontFaceDeclarations && <FontFaceDeclarations />}\n {mouseFocusCss && <MouseFocusCss />}\n {normalizeCss && <NormalizeCss />}\n <Theme accountBranding={customBranding} enableGlobalCss={baseCss}>\n {SkipNavContainer}\n <ToastMessageContainer id={globalIds.ToastMessageContainer} />\n {ModalContainer}\n {OverlayContainer}\n {children}\n </Theme>\n </>\n )\n}\n\nOlive.propTypes = {\n /**\n * Inject global styles (such as font-family and font-size) for the Olive theme.\n */\n baseCss: PropTypes.bool,\n\n /**\n * Your application content.\n *\n * Consumers of the OliveReact library must render this component at the root\n * of their application, passing the application content via the [children] prop.\n */\n children: PropTypes.node,\n\n /**\n * DEPRECATED. Use the [Cobranding](./index.html?path=/story/styles-cobranding-cobranding--page) component.\n */\n customBranding: PropTypes.shape({\n buttonMainBackground: PropTypes.string,\n buttonMainText: PropTypes.string,\n buttonPrimaryBackground: PropTypes.string,\n buttonPrimaryText: PropTypes.string,\n headerBackground: PropTypes.string,\n headerText: PropTypes.string,\n image: PropTypes.string,\n }),\n\n /**\n * Add all DocuSign related font face declarations. All fonts are loaded from the CDN.\n */\n fontFaceDeclarations: PropTypes.bool,\n\n /**\n * Listen for mouse activity and apply a class on the body\n * so elements do not show the focus outline on click.\n */\n mouseFocusCss: PropTypes.bool,\n\n /**\n * Add global styles to make browsers render elements more consistently.\n * This is required as it globally sets the CSS `box-sizing` property to `border-box`.\n *\n * If you set this to false, please make sure to set `box-sizing: border-box`\n * to ensure components render correctly.\n */\n normalizeCss: PropTypes.bool,\n}\n\nOlive.defaultProps = {\n baseCss: true,\n children: undefined,\n customBranding: undefined,\n fontFaceDeclarations: true,\n mouseFocusCss: true,\n normalizeCss: true,\n}\n\nOlive.displayName = 'Olive'\n\nexport default Olive\n","export default {\n Collapsible: {\n enter: 200,\n exit: 200,\n },\n\n Menu: {\n enter: 300,\n exit: 350,\n },\n\n Modal: {\n enter: 500,\n exit: 350,\n },\n\n Overlay: {\n enter: 250,\n exit: 150,\n },\n\n SelectMenu: {\n enter: 300,\n exit: 350,\n },\n\n Shroud: {\n enter: 300,\n exit: 350,\n },\n\n SkipNav: {\n enter: 300,\n exit: 300,\n },\n\n TagHover: {\n enter: 200,\n },\n\n Tooltip: {\n enter: 300,\n exit: 350,\n },\n}\n","import { isIE11 } from '../../../styles'\n\nexport default {\n default: {\n wrap: {\n alignItems: 'center',\n display: 'flex',\n flex: '0 0 auto',\n minHeight: '64px',\n padding: '16px 24px',\n position: 'relative',\n },\n\n closeButton: {\n position: 'absolute',\n right: '16px',\n\n [isIE11]: {\n top: '16px',\n },\n },\n },\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useThemeStyles } from '../../../theming'\n\nimport baseStyles from './styles'\n\nfunction OverlayHeader(props) {\n const { children, closeButton, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles)\n\n const OverlayCloseButtonNode = closeButton && (\n <div css={styles.default.closeButton}>{closeButton}</div>\n )\n\n return (\n <div css={styles.default.wrap}>\n {children}\n {OverlayCloseButtonNode}\n </div>\n )\n}\n\nOverlayHeader.propTypes = {\n /**\n * The content to display in the Overlay.Header.\n */\n children: PropTypes.node,\n\n /**\n * Adds a close button to the Overlay.Header.\n *\n * The value should be an Overlay.Close component, which takes an 'onClick'\n * prop whose value should be a function to invoke when it is clicked.\n */\n closeButton: PropTypes.node,\n}\n\nOverlayHeader.defaultProps = {\n children: undefined,\n closeButton: undefined,\n}\n\nexport default OverlayHeader\n","import { Tokens } from '../../../theming/types'\nimport { scrollShadow } from '../../../utilities'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n flex: '1 1 auto',\n overflowY: 'auto',\n padding: '0 24px',\n\n '@supports (background-repeat: no-repeat)': scrollShadow(\n tokens.scrollShadow.background,\n tokens.scrollShadow.color,\n tokens.scrollShadow.height\n ),\n },\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useThemeStyles } from '../../../theming'\n\nimport baseStyles from './styles'\n\nfunction OverlayBody(props) {\n const { children, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles)\n\n return <div css={styles.default.wrap}>{children}</div>\n}\n\nOverlayBody.propTypes = {\n /**\n * The content to display in the Overlay.Body.\n */\n children: PropTypes.node.isRequired,\n}\n\nexport default OverlayBody\n","export default {\n default: {\n wrap: {\n alignItems: 'center',\n display: 'flex',\n flex: '0 0 auto',\n minHeight: '64px',\n padding: '16px 24px',\n },\n },\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useThemeStyles } from '../../../theming'\n\nimport baseStyles from './styles'\n\nfunction OverlayFooter(props) {\n const { children, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles)\n\n return <div css={styles.default.wrap}>{children}</div>\n}\n\nOverlayFooter.propTypes = {\n /**\n * The content to display in the Overlay.Footer.\n */\n children: PropTypes.node.isRequired,\n}\n\nexport default OverlayFooter\n","import { Tokens } from '../../theming/types'\n\nimport { styles } from '../../utilities'\nimport colors from '../../theming/docusign-themes/olive/colors'\nimport { CreateFocusCss } from '../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n button: {\n alignItems: 'center',\n background: colors.gray3,\n border: 'none',\n borderRadius: '50%',\n cursor: 'pointer',\n display: 'inline-flex',\n height: '32px',\n justifyContent: 'center',\n width: '32px',\n transitionDuration: '0.2s',\n transitionProperty: 'background, border',\n transitionTimingFunction: 'ease',\n\n '& svg': {\n fill: tokens.icon.defaultColor,\n transition: 'fill 0.2s ease',\n },\n\n '&:hover': {\n background: colors.funBlue,\n },\n\n '&:hover svg': {\n fill: colors.white,\n },\n\n ...CreateFocusCss(tokens.focus.outer),\n },\n\n accessibilityText: styles.visuallyHidden,\n },\n\n dark: {\n button: {\n background: colors.black,\n\n '& svg': {\n fill: colors.white,\n },\n\n '&:hover': {\n background: colors.gray3,\n },\n\n '&:hover svg': {\n fill: colors.gray8,\n },\n },\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps } from '@ds/react-utils'\n\nimport { consoleWarn } from '../../logging'\nimport { useIsInk, useThemeStyles } from '../../theming'\n\nimport Icon from '../Icon'\n\nimport baseStyles from './styles'\n\nfunction OverlayAction(props) {\n const { accessibilityText, dark, icon, onClick, ...restProps } = props\n\n if (useIsInk() && dark) {\n consoleWarn(`\n The 'dark' prop does not apply when using Ink.\n The OverlayAction component will always be in 'light' mode when the\n 'Ink' theme is in use.\n `)\n }\n\n const styles = useThemeStyles(baseStyles, 'OverlayAction')\n\n const buttonStyles = [\n styles.default.button,\n !useIsInk() && dark && styles.dark.button,\n ]\n\n const accessibilityTextElement = accessibilityText && (\n <span css={styles.default.accessibilityText}>{accessibilityText}</span>\n )\n\n const iconElement = icon && <Icon kind={icon} />\n\n return (\n <button\n {...dataProps(restProps)}\n {...onProps(restProps)}\n css={buttonStyles}\n onClick={onClick}\n type=\"button\"\n >\n {accessibilityTextElement}\n {iconElement}\n </button>\n )\n}\n\nOverlayAction.icons = [...Icon.kinds]\n\nOverlayAction.propTypes = {\n /**\n * The text to present to assistive devices in order to identify the Overlay.Action element.\n */\n accessibilityText: PropTypes.string.isRequired,\n\n /**\n * Applies a dark background to the Overlay.Action.\n *\n * Note: this prop only applies to Olive styles. If you're using Ink, there is no dark option,\n * the Overlay.Action will render 'light', there is no need to pass this prop.\n */\n dark: PropTypes.bool,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * The icon to use for the Overlay.Action.\n */\n icon: PropTypes.oneOf(OverlayAction.icons).isRequired,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n}\n\nOverlayAction.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n dark: false,\n onClick: undefined,\n}\n\nexport default OverlayAction\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslate } from '@ds/comp-private'\n\nimport { consoleWarn } from '../../../logging'\nimport { useIsInk } from '../../../theming'\n\nimport OverlayAction from '../../OverlayAction'\n\nfunction OverlayClose(props) {\n const { dark } = props\n\n const translate = useTranslate()\n const isInk = useIsInk()\n\n if (isInk && dark) {\n consoleWarn(`\n The 'dark' prop does not apply when using Ink.\n The OverlayClose component will always be in 'light' mode when the\n 'Ink' theme is in use.\n `)\n }\n\n const icon = isInk ? 'close' : 'closeXlarge'\n\n return (\n <OverlayAction\n {...props}\n accessibilityText={translate('OLIVE:CLOSE')}\n icon={icon}\n />\n )\n}\n\nOverlayClose.propTypes = {\n /**\n * Applies a dark background to the Overlay.Close.\n *\n * Note: this prop only applies to Olive styles. If you're using Ink, there is no dark option,\n * the Overlay.Close will render 'light', there is no need to pass this prop.\n */\n dark: PropTypes.bool,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n}\n\nOverlayClose.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n dark: false,\n onClick: undefined,\n}\n\nexport default OverlayClose\n","import React, { useEffect, useRef, useState } from 'react'\n\nimport ReactDOM from 'react-dom'\n\nimport PropTypes from 'prop-types'\n\nimport { globalIds } from '../../../variables'\nimport { document, MutationObserver } from '../../../support/WebAPI'\n\nconst addAriaHiddenAttributes = (elements) => {\n elements.forEach((el) => el.setAttribute('aria-hidden', 'true'))\n}\n\nconst removeAriaHiddenAttributes = (elements) => {\n elements.forEach((el) => el.removeAttribute('aria-hidden'))\n}\n\nconst isNotNode = (testNode) => (node) => node !== testNode\n\nconst isNotAriaHidden = (node) =>\n node.getAttribute && node.getAttribute('aria-hidden') !== 'true'\n\nfunction OverlayPortal(props) {\n const { children, targetId, ...restProps } = props\n\n const [overlaysContainer, setOverlaysContainer] = useState()\n const ariaHiddenSiblings = useRef([])\n\n useEffect(() => {\n // Manages overlay dom element\n const EXISTING_OVERLAYS_CONTAINER = document.getElementById(targetId)\n\n // Use existing container if present, else create one\n let portalTarget = EXISTING_OVERLAYS_CONTAINER\n if (!portalTarget) {\n portalTarget = document.createElement('div')\n portalTarget.setAttribute('id', targetId)\n portalTarget.setAttribute('role', 'dialog')\n portalTarget.setAttribute('aria-live', 'polite')\n portalTarget.setAttribute('aria-relevant', 'additions')\n\n document.body.appendChild(portalTarget)\n }\n\n setOverlaysContainer(portalTarget)\n\n return () => {\n // Clean up only if this instance of useEffect added the div to the dom\n if (!EXISTING_OVERLAYS_CONTAINER) {\n document.body.removeChild(portalTarget)\n setOverlaysContainer(null)\n }\n }\n }, [targetId])\n\n useEffect(() => {\n // Manages mutation observer, aria-hidden\n let portalTargetObserver = null\n if (overlaysContainer) {\n portalTargetObserver = new MutationObserver((mutations) => {\n removeAriaHiddenAttributes(ariaHiddenSiblings.current)\n\n const overlaysContainerNode = mutations[0].target\n\n // Content is being rendered in the portal, aria-hidden overlay portal siblings\n if (\n overlaysContainerNode.childNodes.length &&\n overlaysContainerNode.parentNode\n ) {\n const siblings = Array.from(\n overlaysContainerNode.parentNode.childNodes\n )\n .filter(isNotNode(overlaysContainerNode))\n .filter(isNotAriaHidden)\n\n addAriaHiddenAttributes(siblings)\n ariaHiddenSiblings.current = siblings\n }\n })\n\n portalTargetObserver.observe(overlaysContainer, {\n childList: true,\n subtree: false,\n })\n }\n return () => {\n if (portalTargetObserver) {\n portalTargetObserver.disconnect()\n removeAriaHiddenAttributes(ariaHiddenSiblings.current)\n ariaHiddenSiblings.current = []\n }\n }\n }, [overlaysContainer])\n\n return overlaysContainer\n ? ReactDOM.createPortal(\n React.Children.map(children, (child) =>\n React.cloneElement(child, { hasOverlayPortalParent: true })\n ),\n overlaysContainer\n )\n : null\n}\n\nOverlayPortal.propTypes = {\n /**\n * The Overlay.Portal component expects a single Overlay as a child, which it will mount\n * to a container element (managing accessibility concerns as Overlays are displayed).\n */\n children: PropTypes.node.isRequired,\n\n /**\n * The id of the container element (i.e. portal target) that the Overlay.Portal component\n * should use for mounting its child Overlay.\n *\n * If an element with the provided id cannot be found, one will be created and appended\n * to document.body for this purpose.\n */\n targetId: PropTypes.string,\n}\n\nOverlayPortal.defaultProps = {\n targetId: globalIds.OliveReactOverlays,\n}\n\nexport default OverlayPortal\n","import { Tokens } from '../../theming/types'\nimport { times, zIndexes } from '../../variables'\n\nconst ANIMATION = {\n start: {\n opacity: 0,\n transform: 'scale(0.75)',\n transformOrigin: 'center',\n },\n end: {\n opacity: 1,\n transform: 'scale(1)',\n transformOrigin: 'center',\n },\n}\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n wrap: {\n ...tokens.typography.bodyMedium,\n backgroundColor: tokens.popover.defaultBackgroundColor,\n display: 'flex',\n flexDirection: 'column',\n fontFamily: tokens.font.body,\n height: '100vh',\n left: 0,\n position: 'fixed',\n top: 0,\n width: '100%',\n zIndex: zIndexes.Overlay,\n },\n\n closeButton: {\n position: 'absolute',\n right: '24px',\n top: '10px',\n },\n\n innerWrap: {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n overflowY: 'auto',\n width: '100%',\n },\n },\n\n animation: {\n enter: {\n ...ANIMATION.start,\n },\n enterActive: {\n ...ANIMATION.end,\n transitionTimingFunction: 'cubic-bezier(0, 0, 0.5, 1)',\n transition: `\n opacity ${times.Overlay.enter}ms,\n transform ${times.Overlay.enter}ms\n `,\n },\n enterDone: {\n ...ANIMATION.end,\n },\n\n exit: {\n ...ANIMATION.end,\n },\n exitActive: {\n ...ANIMATION.start,\n transitionTimingFunction: 'cubic-bezier(0.42, 0, 1, 1)',\n transition: `\n opacity ${times.Overlay.exit}ms,\n transform ${times.Overlay.exit}ms\n `,\n },\n exitDone: {\n ...ANIMATION.start,\n },\n },\n\n initialFocus: {\n outline: 'none',\n },\n }\n}\n","import React, { useEffect, useRef, useState } from 'react'\n\nimport PropTypes from 'prop-types'\nimport { CSSTransition } from 'react-transition-group'\nimport { ClassNames } from '@emotion/core'\n\nimport { dataProps, mergeRefs } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../support'\nimport { document } from '../../support/WebAPI'\n\nimport { bodyScroll, trapTabNavigation } from '../../utilities'\n\nimport { consoleWarn } from '../../logging'\nimport { useIsInk, useThemeStyles } from '../../theming'\n\nimport { globalIds, times } from '../../variables'\n\nimport OverlayHeader from './OverlayHeader'\nimport OverlayBody from './OverlayBody'\nimport OverlayFooter from './OverlayFooter'\nimport OverlayClose from './OverlayClose'\nimport OverlayPortal from './OverlayPortal'\n\nimport OverlayAction from '../OverlayAction'\n\nimport baseStyles from './styles'\n\n/**\n * Overlays provide a method for nesting a related task inside a user journey utilizing the full screen real estate.\n */\nfunction OverlayBase(props) {\n const {\n children,\n closeButton,\n forwardedRef,\n dark,\n opacity,\n visible,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'Overlay')\n\n if (!restProps.hasOverlayPortalParent) {\n consoleWarn(`\n WARN @olive/react: Using the Overlay component without a Overlay.Portal requires that\n the Olive component be used, and use of the Olive component (at least insofar as\n it provides a mounting point for an Overlay) will soon be deprecated. See the\n Overlay.Portal component documentation for details, and begin transitioning to\n using that component to mount your Overlays.\n `)\n }\n\n if (useIsInk() && dark) {\n consoleWarn(`\n The 'dark' prop does not apply when using Ink.\n The Overlay component will always be in 'light' mode when the\n 'Ink' theme is in use.\n `)\n }\n\n const [overlay, setOverlayElement] = useState(null)\n\n const initialFocusRef = useRef()\n const lastFocusedElement = useRef()\n const animationRef = useRef()\n\n useEffect(() => {\n if (overlay) {\n lastFocusedElement.current = document.activeElement\n trapTabNavigation(overlay, initialFocusRef.current)\n bodyScroll.disable(overlay)\n }\n\n return () => {\n if (document.body.contains(lastFocusedElement.current)) {\n lastFocusedElement.current.focus()\n }\n if (overlay) {\n bodyScroll.enable(overlay)\n }\n lastFocusedElement.current = null\n }\n }, [overlay])\n\n const overlayCloseButton = closeButton && (\n <div css={styles.default.closeButton}>{closeButton}</div>\n )\n\n const initialFocus = (\n <span css={styles.initialFocus} tabIndex=\"-1\" ref={initialFocusRef} />\n )\n\n const boundOpacityNumber = Math.min(Math.max(opacity, 0), 1)\n\n const OverlayStyles = [\n styles.default.wrap,\n {\n background: `rgba(255, 255, 255, ${boundOpacityNumber})`,\n },\n !useIsInk() &&\n dark && {\n background: `rgba(0, 0, 0, ${boundOpacityNumber})`,\n },\n ]\n\n const OverlayWithAnimation = (\n <ClassNames>\n {({ css }) => (\n <CSSTransition\n in={visible}\n nodeRef={animationRef}\n timeout={{\n enter: times.Overlay.enter,\n exit: times.Overlay.exit,\n }}\n classNames={{\n enter: css(styles.animation.enter),\n enterActive: css(styles.animation.enterActive),\n enterDone: css(styles.animation.enterDone),\n\n exit: css(styles.animation.exit),\n exitActive: css(styles.animation.exitActive),\n exitDone: css(styles.animation.exitDone),\n }}\n unmountOnExit\n >\n <div\n css={OverlayStyles}\n ref={mergeRefs(forwardedRef, setOverlayElement, animationRef)}\n {...dataProps(restProps)}\n >\n {overlayCloseButton}\n <div css={styles.default.innerWrap}>\n {initialFocus}\n {children}\n </div>\n </div>\n </CSSTransition>\n )}\n </ClassNames>\n )\n\n return restProps.hasOverlayPortalParent ? (\n OverlayWithAnimation\n ) : (\n <OverlayPortal targetId={globalIds.OverlayContainer}>\n {OverlayWithAnimation}\n </OverlayPortal>\n )\n}\n\nOverlayBase.propTypes = {\n /**\n * The Overlay content.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Adds a close button to the Overlay.\n *\n * The value should be an Overlay.Close component, which takes an 'onClick'\n * prop whose value should be a function to invoke when it is clicked.\n */\n closeButton: PropTypes.node,\n\n /**\n * Applies a dark background to the Overlay.\n *\n * Note: this prop only applies to Olive styles. If you're using Ink, there is no dark option,\n * the Overlay will render 'light', there is no need to pass this prop.\n */\n dark: PropTypes.bool,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * A React ref to assign to the HTML node representing the Overlay element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * The decimal value of opacity to apply to background (value should be between 0-1).\n *\n * If designs require a transparent background, it is recommended to\n * use a 60% (0.6) opacity.\n */\n opacity: PropTypes.number,\n\n /**\n * Displays the Overlay.\n */\n visible: PropTypes.bool,\n}\n\nOverlayBase.defaultProps = {\n 'data-.*': undefined,\n closeButton: undefined,\n dark: false,\n forwardedRef: undefined,\n opacity: 1,\n visible: false,\n}\n\nOverlayBase.displayName = 'Overlay'\nOverlayHeader.displayName = 'Overlay.Header'\nOverlayBody.displayName = 'Overlay.Body'\nOverlayFooter.displayName = 'Overlay.Footer'\nOverlayClose.displayName = 'Overlay.Close'\nOverlayAction.displayName = 'Overlay.Action'\nOverlayPortal.displayName = 'Overlay.Portal'\n\nOverlayBase.Header = OverlayHeader\nOverlayBase.Body = OverlayBody\nOverlayBase.Footer = OverlayFooter\nOverlayBase.Close = OverlayClose\nOverlayBase.Action = OverlayAction\nOverlayBase.Portal = OverlayPortal\n\nexport default OverlayBase\n","import { withRef } from '../../HOC'\n\nimport OverlayBase from './OverlayBase'\n\nexport default withRef(OverlayBase)\n","import {\n PositionAroundAlignment,\n PositionAroundLocation,\n} from '../../../../types'\n\n/**\n * popper.js placements\n */\ntype PopperBasePlacement = 'top' | 'bottom' | 'right' | 'left'\ntype PopperVariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end'\ntype PopperPlacement = PopperBasePlacement | PopperVariationPlacement\n\n/**\n * Supported Popover locations\n */\nexport const locations: PositionAroundLocation[] = [\n 'above',\n 'below',\n 'before',\n 'after',\n]\n\nconst locationLookup: { [key: string]: PositionAroundLocation } = {\n top: 'above',\n bottom: 'below',\n left: 'before',\n right: 'after',\n}\n\n/**\n * Supported Popover alignments\n */\nexport const alignments: PositionAroundAlignment[] = ['start', 'center', 'end']\n\n/**\n * Converts a popper.js placement to `location` and `alignment`\n */\nexport const parsePlacement = (\n placement: PopperPlacement\n): [PositionAroundLocation, PositionAroundAlignment] => {\n const [popperLocation, popperAlignment] = placement.split('-')\n\n const location = locationLookup[popperLocation]\n\n const alignment: PositionAroundAlignment =\n popperAlignment === undefined\n ? 'center'\n : (popperAlignment as 'start' | 'end')\n\n return [location, alignment]\n}\n\n/**\n * Converts a `location` & `alignment` to a popper.js placement\n */\nexport const formatPlacement = ({\n alignment,\n location,\n}: {\n alignment: PositionAroundAlignment\n location: PositionAroundLocation\n}): PopperPlacement => {\n const placementLocation = {\n above: 'top',\n below: 'bottom',\n before: 'left',\n after: 'right',\n }[location] as PopperBasePlacement\n\n const placementAlignment = {\n start: '-start',\n center: '',\n end: '-end',\n }[alignment]\n\n return `${placementLocation}${placementAlignment}` as PopperPlacement\n}\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { mergeRefs, dataProps } from '@ds/react-utils'\nimport { usePopper } from 'react-popper'\n\nimport { CustomPropTypes } from '../../../support'\nimport {\n alignments,\n formatPlacement,\n locations,\n parsePlacement,\n presets,\n} from './utils'\n\nconst Popover = ({\n alignment,\n anchorElement,\n children,\n containerStyles,\n customModifiers,\n flipModifier,\n forwardedRef,\n location,\n offsetModifier,\n onFirstUpdate,\n onUpdate,\n preventOverflowModifier,\n isSpanContainer,\n strategy,\n ...restProps\n}) => {\n const [popperElement, setPopperElement] = useState(null)\n\n const modifiers = React.useMemo(() => {\n const offset = offsetModifier && {\n name: 'offset',\n ...offsetModifier,\n }\n\n const flip = flipModifier && {\n name: 'flip',\n ...flipModifier,\n }\n\n const preventOverflow = preventOverflowModifier\n ? {\n name: 'preventOverflow',\n ...preventOverflowModifier,\n }\n : {\n name: 'preventOverflow',\n enabled: false,\n }\n\n const update = onUpdate && {\n name: 'onUpdate',\n enabled: true,\n phase: 'afterWrite',\n fn: (state) => {\n onUpdate(state)\n },\n }\n\n const custom = customModifiers || []\n\n return [offset, flip, preventOverflow, update, ...custom].filter(Boolean)\n }, [\n customModifiers,\n flipModifier,\n offsetModifier,\n onUpdate,\n preventOverflowModifier,\n ])\n\n const { attributes, styles } = usePopper(anchorElement, popperElement, {\n modifiers,\n onFirstUpdate,\n placement: formatPlacement({ alignment, location }),\n strategy,\n })\n\n const Container = isSpanContainer ? 'span' : 'div'\n\n return (\n <Container\n data-popover\n {...dataProps(restProps)}\n {...attributes.popper}\n css={containerStyles}\n style={{ ...styles.popper, display: 'block' }}\n ref={mergeRefs(forwardedRef, setPopperElement)}\n >\n {children}\n </Container>\n )\n}\n\nPopover.alignments = alignments\nPopover.locations = locations\nPopover.parsePlacement = parsePlacement\nPopover.presets = presets\n\nconst PopperModifierPropType = PropTypes.shape({\n enabled: PropTypes.bool,\n options: PropTypes.shape({}),\n})\n\nPopover.propTypes = {\n /**\n * 'start' | 'center' | 'end'\n */\n alignment: PropTypes.oneOf(alignments),\n\n /**\n * The Element around which the Popover will be positioned.\n */\n anchorElement: CustomPropTypes.Element,\n\n /**\n * The content to be placed around the anchorElement\n */\n children: PropTypes.node,\n\n /**\n * Additional styles to apply to the css property of the Popover container\n */\n containerStyles: PropTypes.shape({}),\n\n /**\n * A prop to allow custom modifiers.\n * https://popper.js.org/docs/v2/modifiers/\n */\n customModifiers: PropTypes.arrayOf(PopperModifierPropType),\n\n /**\n * The flip modifier can change the placement of a popper when it's scheduled to\n * overflow a given boundary.\n *\n * Disabling this modifier means that the Popover will stay in its initial location\n * regardless of surrounding containers.\n *\n * https://popper.js.org/docs/v2/modifiers/flip/\n */\n flipModifier: PopperModifierPropType,\n\n /**\n * A React ref to assign to the HTML node representing the Popover component.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Use a `<span/>` as the Popover container.\n *\n * By default Popover will insert a div that wraps the content. This may\n * lead to invalid HTML. When `isSpanContainer` is `true` the container element will\n * be a span with `display: block`.\n */\n isSpanContainer: PropTypes.bool,\n\n /**\n * The preferred location of the Popover relative to its anchor element.\n * 'above' | 'below' | 'before' | after'\n */\n location: PropTypes.oneOf(locations),\n\n /**\n * The offset modifier lets you displace a popper element from its reference element.\n * https://popper.js.org/docs/v2/modifiers/offset/\n */\n offsetModifier: PopperModifierPropType,\n\n /**\n * A callback that fires on the Popover's first update.\n * Note: onUpdate also fires on first update, this callback fires on the first update only.\n */\n onFirstUpdate: PropTypes.func,\n\n /**\n * An update callback that fires whenever the Popover updates.\n * Specifically this is fired by @popperjs/core (vs the React Popover)\n *\n * A common use case is to reposition the a pointer arrow when the popover flips.\n */\n onUpdate: PropTypes.func,\n\n /**\n * The preventOverflow modifier prevents the popper from being cut off\n * by moving it so that it stays visible within its boundary area.\n * https://popper.js.org/docs/v2/modifiers/prevent-overflow/\n */\n preventOverflowModifier: PopperModifierPropType,\n\n /**\n * The positioning strategy used by Popper. The default is 'absolute',\n * but 'fixed' can also be passed.\n * https://popper.js.org/docs/v2/constructors/#strategy\n */\n strategy: PropTypes.oneOf(['absolute', 'fixed']),\n}\n\nPopover.defaultProps = {\n alignment: 'center',\n anchorElement: undefined,\n children: undefined,\n containerStyles: undefined,\n customModifiers: undefined,\n flipModifier: undefined,\n forwardedRef: undefined,\n isSpanContainer: false,\n location: 'above',\n offsetModifier: undefined,\n onFirstUpdate: undefined,\n onUpdate: undefined,\n preventOverflowModifier: undefined,\n strategy: 'absolute',\n}\n\nPopover.displayName = 'Popover'\n\nexport default Popover\n","export const presets = {\n preventOverflow: {\n enabled: { enabled: true },\n },\n flip: {\n disabled: { enabled: false },\n },\n offset: {\n distance: (distance: number) => ({ options: { offset: [0, distance] } }),\n },\n}\n","import { styles } from '../../utilities'\nimport { Tokens } from '../../theming/types'\nimport { zIndexes } from '../../variables'\n\nimport { TooltipProps } from '.'\n\nexport default (config: { props: TooltipProps; tokens: Tokens }) => {\n const { props, tokens } = config\n const { alignment = 'center', location = 'above' } = props\n\n const tooltipXoffsetKeyword = {\n above: 'bottom',\n below: 'top',\n before: 'right',\n after: 'left',\n }[location]\n\n const tooltipYoffsetKeyword = {\n start: 'left',\n center: 'center',\n end: 'right',\n }[alignment]\n\n const Tooltip = {\n ...styles.breakWord,\n ...tokens.typography.bodyMedium,\n background: tokens.tooltip.backgroundColor,\n backgroundClip: 'padding-box',\n border: `1px solid ${tokens.tooltip.borderColor}`,\n borderRadius: '2px',\n boxShadow: tokens.elevation.low,\n color: tokens.tooltip.color,\n display: 'block',\n fontFamily: tokens.font.body,\n left: 0,\n maxWidth: '200px',\n padding: '6px 12px',\n position: 'relative',\n textAlign: 'left',\n top: 0,\n transformOrigin: `${tooltipYoffsetKeyword} ${tooltipXoffsetKeyword}`,\n zIndex: zIndexes.Tooltip,\n\n '::after': {\n borderStyle: 'solid',\n borderWidth: `${tokens.tooltip.tipSize}px`,\n content: '\"\"',\n display: 'block',\n height: 0,\n pointerEvents: 'none',\n position: 'absolute',\n width: 0,\n zIndex: zIndexes.Tooltip,\n },\n\n '::before': {\n borderStyle: 'solid',\n borderWidth: `${tokens.tooltip.tipSize}px`,\n content: '\"\"',\n display: 'block',\n height: 0,\n pointerEvents: 'none',\n position: 'absolute',\n width: 0,\n zIndex: '301',\n },\n } as const\n\n const locationAbove = {\n marginBottom: tokens.tooltip.offset,\n\n '::after': {\n borderColor: `${tokens.tooltip.borderColor} transparent transparent`,\n borderBottom: '0',\n bottom: `-${tokens.tooltip.tipSize + 1}px`,\n },\n\n '::before': {\n borderColor: `${tokens.tooltip.backgroundColor} transparent transparent`,\n borderBottom: '0',\n bottom: `-${tokens.tooltip.tipSize - 1}px`,\n },\n } as const\n\n const locationBelow = {\n marginTop: tokens.tooltip.offset,\n\n '::after': {\n borderColor: `transparent transparent ${tokens.tooltip.borderColor}`,\n borderTop: '0',\n top: `-${tokens.tooltip.tipSize + 1}px`,\n },\n\n '::before': {\n borderColor: `transparent transparent ${tokens.tooltip.backgroundColor}`,\n borderTop: '0',\n top: `-${tokens.tooltip.tipSize - 1}px`,\n },\n } as const\n\n const locationBefore = {\n marginRight: tokens.tooltip.offset,\n\n '::after': {\n borderColor: `transparent transparent transparent ${tokens.tooltip.borderColor}`,\n borderRight: '0',\n right: `-${tokens.tooltip.tipSize + 1}px`,\n },\n\n '::before': {\n borderColor: `transparent transparent transparent ${tokens.tooltip.backgroundColor}`,\n borderRight: '0',\n right: `-${tokens.tooltip.tipSize - 1}px`,\n },\n } as const\n\n const locationAfter = {\n marginLeft: tokens.tooltip.offset,\n\n '::after': {\n borderColor: `transparent ${tokens.tooltip.borderColor} transparent transparent`,\n borderLeft: '0',\n left: `-${tokens.tooltip.tipSize + 1}px`,\n },\n\n '::before': {\n borderColor: `transparent ${tokens.tooltip.backgroundColor} transparent transparent`,\n borderLeft: '0',\n left: `-${tokens.tooltip.tipSize - 1}px`,\n },\n } as const\n\n const alignmentStart = {\n horizontal: {\n '::after, ::before': { left: `${tokens.tooltip.tipSize * 2 - 2}px` },\n },\n\n vertical: {\n '::after, ::before': { top: `${tokens.tooltip.tipSize - 1}px}` },\n },\n } as const\n\n const alignmentCenter = {\n horizontal: {\n '::after, ::before': {\n left: `calc(50% - ${tokens.tooltip.tipSize}px)`,\n },\n },\n\n vertical: {\n '::after, ::before': { top: `calc(50% - ${tokens.tooltip.tipSize}px)` },\n },\n } as const\n\n const alignmentEnd = {\n horizontal: {\n '::after, ::before': { right: `${tokens.tooltip.tipSize * 2 - 2}px}` },\n },\n\n vertical: {\n '::after, ::before': { bottom: `${tokens.tooltip.tipSize - 1}px` },\n },\n } as const\n\n /*\n * alignmentCenterArrow[Start|End] calculate the pointer positioning based on\n * the length of the side of the anchor the Tooltip is positioned against.\n *\n * length: Length of the side we want to point to in pixels\n * tipSize: width of the tooltip pointer\n *\n * 1. length / 2 is the center (c) of the anchor's side\n *\n * c V\n * |-------------------|\n *\n * 2. Minus the width of the arrow (to center the tip)\n *\n * V\n * |-------------------|\n *\n * 3. Math.max to ensure the pointer's edge stays within the Tooltip.\n *\n */\n const alignmentCenterArrowStart = (length: number) => ({\n horizontal: {\n '::after, ::before': {\n left: `${Math.max(\n length / 2 - Math.ceil(tokens.tooltip.tipSize),\n 1\n )}px`,\n },\n },\n\n vertical: {\n '::after, ::before': {\n top: `${Math.max(length / 2 - Math.ceil(tokens.tooltip.tipSize), 1)}px`,\n },\n },\n })\n\n const alignmentCenterArrowEnd = (length: number) => ({\n horizontal: {\n '::after, ::before': {\n right: `${Math.max(\n length / 2 - Math.ceil(tokens.tooltip.tipSize),\n 1\n )}px`,\n },\n },\n\n vertical: {\n '::after, ::before': {\n bottom: `${Math.max(\n length / 2 - Math.ceil(tokens.tooltip.tipSize),\n 1\n )}px`,\n },\n },\n })\n\n const motionVariants = {\n tooltip: {\n initial: {\n opacity: 0,\n scale: 0.8,\n },\n\n enter: {\n scale: 1,\n opacity: 1,\n transition: {\n delay: 0.2,\n duration: 0.1,\n ease: 'snap',\n },\n },\n\n exitScale: {\n scale: 0.8,\n transition: {\n duration: 0.3,\n ease: 'default',\n },\n },\n\n exitOpacity: {\n opacity: 0,\n transition: {\n duration: 0.3,\n ease: 'opacity',\n },\n },\n },\n } as const\n\n return {\n Tooltip,\n alignmentCenter,\n alignmentCenterArrowEnd,\n alignmentCenterArrowStart,\n alignmentEnd,\n alignmentStart,\n locationAbove,\n locationAfter,\n locationBefore,\n locationBelow,\n motionVariants,\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { MotionVariant } from '@ds/motion'\nimport { dataProps } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\nimport { variant } from '../../utilities'\nimport baseStyles from './styles'\n\nfunction Tooltip(props) {\n const {\n alignment,\n anchorLength,\n forwardedRef,\n id,\n location,\n text,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'Tooltip', props)\n\n const alignmentDirection = {\n above: 'horizontal',\n below: 'horizontal',\n before: 'vertical',\n after: 'vertical',\n }[location]\n\n const tooltipStyles = [\n styles.Tooltip,\n styles[variant('location', location)],\n styles[variant('alignment', alignment)][alignmentDirection],\n\n /**\n * Calculates the pointer position for 'start' and 'end' alignments where\n * the default positioning on small anchors doesn't point to the element.\n */\n anchorLength &&\n alignment !== 'center' &&\n styles[variant('alignmentCenterArrow', alignment)](anchorLength)[\n alignmentDirection\n ],\n ]\n\n return (\n <MotionVariant\n {...dataProps(restProps)}\n as=\"span\"\n css={tooltipStyles}\n id={id}\n ref={forwardedRef}\n initial=\"initial\"\n animate=\"enter\"\n exit={['exitScale', 'exitOpacity']}\n variants={styles.motionVariants.tooltip}\n >\n {text}\n </MotionVariant>\n )\n}\n\nTooltip.propTypes = {\n /**\n * The alignment of the Tooltip along the edge of its anchor element.\n *\n * For locations 'above' and 'below':\n * - 'start': left-aligns the Tooltip and the anchor element\n * - 'center': centers the Tooltip along the width of the anchor element\n * - 'end': right-aligns the Tooltip and the anchor element\n *\n * For locations 'before' and 'after':\n * - 'start': top-aligns the Tooltip and the anchor element\n * - 'center': centers the Tooltip along the height of the anchor element\n * - 'end': bottom-aligns the Tooltip and the anchor element\n */\n alignment: PropTypes.string,\n\n /**\n * The length (in pixels) of the element the tooltip is positioned against.\n * Used to better position the pointer in scenarios where the default\n * positioning point to the anchor correctly - typically very small anchors.\n */\n anchorLength: PropTypes.number,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * A React ref to assign to the HTML node representing the Tooltip component.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * A unique ID.\n */\n id: PropTypes.string,\n\n /**\n * The preferred location of the Tooltip relative to its anchor element.\n */\n location: PropTypes.string,\n\n /**\n * The text to display inside the Tooltip.\n */\n text: PropTypes.string.isRequired,\n}\n\nTooltip.defaultProps = {\n 'data-.*': undefined,\n alignment: 'center',\n anchorLength: undefined,\n forwardedRef: undefined,\n id: undefined,\n location: 'above',\n}\n\nTooltip.displayName = 'Tooltip'\n\nexport default Tooltip\n","import React, { useCallback, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\nimport { MotionPresence } from '@ds/motion'\n\nimport { consoleWarn } from '../../logging'\nimport { CustomPropTypes } from '../../support'\nimport Popover from '../../internal/components/Popover'\nimport { zIndexes } from '../../variables'\n\nimport Tooltip from '../TooltipUI'\n\n/**\n * Outside component to avoid React.useMemo since we only have one pointer\n * size and Popover has to re-render when modifiers change.\n */\nconst POINTER_SIZE = 7\nconst offsetModifier = Popover.presets.offset.distance(POINTER_SIZE)\n\n/**\n * Used for centerArrow feature which helps arrow placement when the anchor/trigger\n * is smaller than the size of the Tooltip.\n */\nconst alignmentToDimension = {\n above: 'width',\n below: 'width',\n before: 'height',\n after: 'height',\n}\n\n/**\n * Tooltips are user-triggered pieces of contextual help that briefly explain the function of an element.\n */\nfunction TooltipWithState(props) {\n const {\n anchorElement,\n alignment,\n centerArrow,\n forwardedRef,\n id,\n location,\n locationFixed,\n text,\n visible,\n ...restProps\n } = props\n\n const anchorRef = useRef(anchorElement)\n const [anchorLength, setAnchorLength] = useState(null)\n\n /**\n * When anchorElement is null we return the tooltip content (no Popover) and\n * the consumer is responsible for positioning it themselves.\n *\n * Consumers that re-use a single Tooltip instance may set the anchor to null\n * when closing the tooltip (visible = false). This is unnecessary and results\n * in the Tooltip jumping back to content-order (position: relative) before\n * the exit animation completes.\n *\n * To prevent this flash, we don't allow the anchor to be set to null after\n * it has been set to a non-null value (an element).\n */\n if (anchorRef.current && !anchorElement) {\n consoleWarn(`\n After passing Tooltip a valid anchorElement setting the anchorElement to a falsy\n value is unnecessary. Just pass the next element to reposition the Tooltip.\n `)\n } else {\n anchorRef.current = anchorElement\n }\n\n /**\n * popoverAlignment and popoverLocation maintain the current position of the\n * Popover as reported by popperjs. This can be different than the values\n * provided by the consumer if the Popover calculates that it needs to\n * flip/re-position.\n *\n * When an anchor isn't provided, and a Popover is not instantiated the\n * consumer's location & alignment values are passed directly to the\n * <Tooltip/> component.\n */\n const [popoverAlignment, setPopoverAlignment] = useState(alignment)\n const [popoverLocation, setPopoverLocation] = useState(location)\n\n const trackCurrentPosition = useCallback(({ state: { placement } }) => {\n const [currLocation, currAlignment] = Popover.parsePlacement(placement)\n\n setPopoverAlignment(currAlignment)\n setPopoverLocation(currLocation)\n }, [])\n\n React.useEffect(() => {\n if (centerArrow && alignment !== 'center') {\n const dimension = alignmentToDimension[location]\n const length = anchorElement?.getBoundingClientRect()[dimension]\n\n if (length) {\n setAnchorLength(length)\n }\n }\n }, [alignment, anchorElement, centerArrow, location])\n\n const flipModifier = locationFixed ? Popover.presets.flip.disabled : null\n\n return anchorRef.current ? (\n <MotionPresence>\n {visible && (\n <Popover\n alignment={alignment}\n anchorElement={anchorRef.current}\n containerStyles={{ zIndex: zIndexes.Tooltip }}\n flipModifier={flipModifier}\n isSpanContainer\n location={location}\n offsetModifier={offsetModifier}\n onUpdate={trackCurrentPosition}\n >\n <Tooltip\n {...dataProps(restProps)}\n alignment={popoverAlignment}\n anchorLength={anchorLength}\n forwardedRef={forwardedRef}\n id={id}\n location={popoverLocation}\n text={text}\n />\n </Popover>\n )}\n </MotionPresence>\n ) : (\n <MotionPresence>\n {visible && (\n <Tooltip\n {...dataProps(restProps)}\n alignment={popoverAlignment}\n anchorLength={anchorLength}\n forwardedRef={forwardedRef}\n id={id}\n location={popoverLocation}\n text={text}\n />\n )}\n </MotionPresence>\n )\n}\n\nTooltipWithState.locations = Popover.locations\nTooltipWithState.alignments = Popover.alignments\n\nTooltipWithState.propTypes = {\n /**\n * The alignment of the Tooltip along the edge of its anchor element.\n *\n * For locations 'above' and 'below':\n * - 'start': left-aligns the Tooltip and the anchor element\n * - 'center': centers the Tooltip along the width of the anchor element\n * - 'end': right-aligns the Tooltip and the anchor element\n *\n * For locations 'before' and 'after':\n * - 'start': top-aligns the Tooltip and the anchor element\n * - 'center': centers the Tooltip along the height of the anchor element\n * - 'end': bottom-aligns the Tooltip and the anchor element\n */\n alignment: PropTypes.oneOf(TooltipWithState.alignments),\n\n /**\n * The Element around which the Tooltip will be positioned.\n */\n anchorElement: CustomPropTypes.Element,\n\n /**\n * Centers the Tooltip's arrow along the length of the anchor element.\n *\n * For small anchor elements combined with `start` or `end` alignments the\n * default arrow positioning may not point to the anchor. When set to `true`\n * the Tooltip's pointer will do a calculation to attempt to point to the\n * center of the anchor element while remaining in the correct alignment.\n *\n * Due to the width of the arrow some anchor sizes will always have issues\n * pointing to the anchor, in those scenarios use `center` alignment.\n */\n centerArrow: PropTypes.bool,\n\n /**\n * A React ref to assign to the HTML node representing the Tooltip component.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * An unique identifier (ID) in the whole document.\n * Its purpose is to identify the element when linking, scripting, or styling (with CSS).\n */\n id: PropTypes.string,\n\n /**\n * The preferred location of the Tooltip relative to its anchor element.\n */\n location: PropTypes.oneOf(TooltipWithState.locations),\n\n /**\n * By default the tooltip will 'flip' if its content reaches scroll parent boundaries.\n * With locationFixed enabled the tooltip will stay in its specified location & alignment.\n */\n locationFixed: PropTypes.bool,\n\n /**\n * The text to display inside the Tooltip.\n */\n text: PropTypes.string.isRequired,\n\n /**\n * Displays the Tooltip.\n */\n visible: PropTypes.bool,\n}\n\nTooltipWithState.defaultProps = {\n alignment: 'center',\n anchorElement: undefined,\n centerArrow: false,\n forwardedRef: undefined,\n id: undefined,\n location: 'above',\n locationFixed: false,\n visible: false,\n}\n\nTooltipWithState.displayName = 'Tooltip'\n\nexport default TooltipWithState\n","import { withRef } from '../../HOC'\n\nimport TooltipWithState from './TooltipWithState'\n\nexport default withRef(TooltipWithState)\n","import consoleWarn from './consoleWarn'\n\nimport { DocuSignThemeName } from '../theming/docusign-themes'\n\nexport const invalidThemePropTemplate = (\n component: string,\n prop: string,\n theme: DocuSignThemeName\n) =>\n `${component} - The '${prop}' prop does not apply when using ${theme}, and should be removed.`\n\nconst warnInvalidThemeProp = (\n component: string,\n prop: string,\n theme: DocuSignThemeName\n) => consoleWarn(invalidThemePropTemplate(component, prop, theme))\n\nexport default warnInvalidThemeProp\n","import { Tokens } from '../../theming/types'\n\nimport { styles } from '../../utilities'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n input: {\n ...tokens.typography.bodyMedium,\n appearance: 'none',\n background: tokens.form.defaultBackgroundColor,\n border: `1px solid ${tokens.form.defaultBorderColor}`,\n borderRadius: '2px',\n color: tokens.text.defaultColor,\n fontFamily: tokens.font.body,\n height: 'auto',\n margin: 0,\n maxHeight: '28px',\n padding: '5px 8px 6px 8px',\n width: '100%',\n\n /* remove chrome's default date/time icons */\n '::-webkit-calendar-picker-indicator': {\n display: 'none',\n },\n\n '&:hover': {\n borderColor: tokens.form.hoverBorderColor,\n },\n\n '&:disabled': {\n backgroundColor: tokens.form.disabledBackgroundColor,\n cursor: 'not-allowed',\n opacity: tokens.form.disabledOpacity,\n },\n\n '&:read-only': {\n backgroundColor: tokens.form.readOnlyBackgroundColor,\n borderColor: tokens.form.readOnlyBorderColor,\n color: tokens.form.readOnlyTextColor,\n },\n\n '&:focus': {\n outline: tokens.form.focusOutline,\n outlineOffset: tokens.form.focusOutlineOffset,\n },\n\n /* Hide Internet Explorer 'clear field' icon */\n '&::-ms-clear': {\n height: 0,\n width: 0,\n },\n\n /* Hide Internet Explorer 'reveal password' icon */\n '&::-ms-reveal': {\n height: 0,\n width: 0,\n },\n\n '&::placeholder': {\n color: tokens.text.subtleColor,\n opacity: 1,\n },\n\n ...styles.touchScreenFormFieldFontSize,\n },\n },\n\n hideNumberPickerSpinner: {\n input: {\n '&::-webkit-inner-spin-button': {\n appearance: 'none',\n margin: '0',\n },\n\n '&::-webkit-outer-spin-button': {\n appearance: 'none',\n margin: '0',\n },\n\n '&::-ms-clear': {\n display: 'none',\n },\n\n appearance: 'textfield',\n },\n },\n\n TextBoxLeft: {\n input: {\n paddingLeft: '29px',\n },\n },\n\n TextBoxRight: {\n input: {\n paddingRight: '29px',\n },\n },\n\n invalid: {\n input: {\n borderColor: tokens.form.errorBorderColor,\n\n '&:hover': {\n borderColor: tokens.form.errorBorderColor,\n },\n },\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nfunction InputTextBox(props) {\n const {\n autoCapitalize,\n autoComplete,\n ariaDescribedById,\n disabled,\n forwardedRef,\n id,\n inputMode,\n invalid,\n leftElement,\n maxLength,\n name,\n onBlur,\n onChange,\n onFocus,\n pattern,\n placeholder,\n readOnly,\n required,\n rightElement,\n spellCheck,\n type,\n value,\n width,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'InputTextBox')\n\n const inputTextBoxBaseStyles = [\n styles.default.input,\n leftElement && styles.TextBoxLeft.input,\n rightElement && styles.TextBoxRight.input,\n invalid && styles.invalid.input,\n type === 'number' && styles.hideNumberPickerSpinner.input,\n ]\n\n const autoCapitalizeValue =\n autoCapitalize || (type === 'email' ? 'off' : undefined)\n const autoCompleteValue =\n autoComplete || (type === 'email' ? 'email' : undefined)\n\n const inlineStyles = {\n ...(width && { width }),\n }\n\n return (\n <input\n {...dataProps(restProps)}\n {...onProps(restProps)}\n aria-describedby={ariaDescribedById}\n aria-invalid={invalid ? true : undefined}\n autoCapitalize={autoCapitalizeValue}\n autoComplete={autoCompleteValue}\n css={inputTextBoxBaseStyles}\n disabled={disabled}\n id={id}\n inputMode={inputMode}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n pattern={pattern}\n placeholder={placeholder}\n maxLength={maxLength}\n name={name}\n readOnly={readOnly}\n ref={forwardedRef}\n spellCheck={spellCheck}\n style={inlineStyles}\n required={required}\n type={type}\n value={value}\n />\n )\n}\n\nInputTextBox.propTypes = {\n /**\n * The unique identifier aria uses to associate the control with a description.\n */\n ariaDescribedById: PropTypes.string,\n\n /**\n * Adds the 'autocapitalize' HTML attribute to the rendered InputTextBox.\n *\n * note: defaults to 'off' if not provided when component type=\"email\"\n */\n autoCapitalize: PropTypes.string,\n\n /**\n * Adds the 'autocomplete' HTML attribute to the rendered InputTextBox.\n *\n * note: defaults to 'email' if not provided when component type=\"email\"\n */\n autoComplete: PropTypes.string,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Disables the InputTextBox.\n */\n disabled: PropTypes.bool,\n\n /**\n * A React ref to assign to the HTML node representing the DotBadge element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * The 'id' of the form input.\n */\n id: PropTypes.string,\n\n /**\n * An enumerated attribute that hints at the type of data that might be\n * entered by the user while editing the element or its contents.\n *\n * Useful for dictating which keyboard gets presenteed to user.\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode\n *\n */\n inputMode: PropTypes.string,\n\n /**\n * An invalid state on one of the children form elements.\n */\n invalid: PropTypes.bool,\n\n /**\n * The element to display left to the left of the InputTextBox.\n */\n leftElement: PropTypes.element,\n\n /**\n * The maxlength HTML attribute for the input.\n */\n maxLength: PropTypes.number,\n\n /**\n * The name HTML attribute for the input.\n */\n name: PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when the InputTextBox loses focus.\n */\n onBlur: PropTypes.func,\n\n /**\n * The function to call when user input is received.\n */\n onChange: PropTypes.func,\n\n /**\n * The function to call when the InputTextBox gains focus.\n */\n onFocus: PropTypes.func,\n\n /**\n * A regular expression which the input's value must match\n * in order for the value to pass constraint validation\n */\n pattern: PropTypes.string,\n\n /**\n * Placeholder text for InputTextBox.\n */\n placeholder: PropTypes.string,\n\n /**\n * Sets the InputTextBox to read-only.\n */\n readOnly: PropTypes.bool,\n\n /**\n * Adds a visual treatment indicating that the associated control requires a value.\n */\n required: PropTypes.bool,\n\n /**\n * The element to display to the right of the the InputTextBox.\n */\n rightElement: PropTypes.element,\n\n /**\n * Adds native HTML attribute that indicates the InputTextBox can be spell checked.\n */\n spellCheck: PropTypes.string,\n\n /**\n * The (optional) value for the 'type' attribute of the rendered input element.\n * (e.g. \"email\", \"password\", etc.)\n */\n type: PropTypes.string,\n\n /**\n * The text label for the InputTextBox.\n */\n value: PropTypes.string,\n\n /**\n * The width of the InputTextBox.\n */\n width: PropTypes.string,\n}\n\nInputTextBox.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n ariaDescribedById: undefined,\n autoCapitalize: undefined,\n autoComplete: undefined,\n disabled: false,\n forwardedRef: undefined,\n id: undefined,\n inputMode: undefined,\n invalid: false,\n leftElement: undefined,\n maxLength: undefined,\n name: undefined,\n onBlur: undefined,\n onChange: undefined,\n onFocus: undefined,\n pattern: undefined,\n placeholder: undefined,\n readOnly: false,\n required: false,\n rightElement: undefined,\n spellCheck: undefined,\n type: 'text',\n value: undefined,\n width: undefined,\n}\n\nInputTextBox.displayName = 'InputTextBox'\n\nexport default InputTextBox\n","import { withRef } from '../../HOC'\n\nimport InputTextBox from './InputTextBox'\n\nexport default withRef(InputTextBox)\n","import { Tokens } from '../../theming/types'\nimport { styles } from '../../utilities'\n\nconst TextBoxElement = {\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n top: 0,\n width: '30px',\n}\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n textBoxLeftElement: {\n ...TextBoxElement,\n color: tokens.icon.defaultColor,\n left: 0,\n },\n\n textBoxRightElement: {\n ...TextBoxElement,\n color: tokens.icon.defaultColor,\n right: 0,\n },\n\n textBox: {\n position: 'relative',\n width: '100%',\n },\n\n innerWrap: {\n display: 'flex',\n },\n\n help: {\n marginLeft: '4px',\n },\n },\n\n disabled: {\n textBox: {\n color: tokens.form.disabledTextColor,\n cursor: 'not-allowed',\n },\n\n icon: {\n svg: {\n opacity: tokens.form.disabledOpacity,\n },\n\n 'button:disabled': {\n opacity: '0.5',\n },\n },\n },\n\n hideError: {\n alignSelf: 'center',\n marginLeft: '8px',\n\n 'span > svg': {\n marginRight: 0,\n },\n },\n\n hideErrorText: {\n ...styles.visuallyHidden,\n },\n }\n}\n","import React from 'react'\n\nimport PropTypes from 'prop-types'\n\nimport { dataProps, onProps, useUniqueId } from '@ds/react-utils'\n\nimport { warnInvalidThemeProp } from '../../logging'\nimport { CustomPropTypes } from '../../support'\nimport { useIsInk, useThemeStyles } from '../../theming'\n\nimport AboveInputContainer from '../AboveInputContainer'\nimport BelowInputContainer from '../BelowInputContainer'\nimport InputCount from '../../internal/components/InputCount'\nimport InputDescription from '../../internal/components/InputDescription'\nimport InputLabel from '../../internal/components/InputLabel'\nimport InputTextBox from '../InputTextBox'\n\nimport baseStyles from './styles'\n\n/**\n * Text fields allow users to enter and edit text in the UI. They are often laid out within forms, but can also be used as standalone inputs for data.\n */\nconst TextBox = (props) => {\n const {\n accessibilityText,\n autoCapitalize,\n autoComplete,\n characterCount,\n description,\n disabled,\n error,\n forwardedRef,\n hideError,\n hideLabel,\n inputHelp,\n inputMode,\n label,\n leftElement,\n maxLength,\n name,\n onBlur,\n onChange,\n onFocus,\n pattern,\n placeholder,\n readOnly,\n required,\n rightElement,\n spellCheck,\n type,\n value,\n width,\n 'data-qa': dataQa,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'TextBox')\n\n const textBoxId = useUniqueId('short')\n const descriptionId = useUniqueId('short')\n const errorId = useUniqueId('short')\n const isInk = useIsInk()\n const shouldHideError = !isInk && hideError\n\n if (isInk && hideError) {\n warnInvalidThemeProp('TextBox', 'hideError', 'Ink')\n }\n\n const textBoxPlaceholder =\n required && hideLabel ? `${placeholder} *` : placeholder\n\n const textBoxLeftElementStyles = [\n styles.default.textBoxLeftElement,\n disabled && styles.disabled.icon,\n ]\n\n const textBoxRightElementStyles = [\n styles.default.textBoxRightElement,\n disabled && styles.disabled.icon,\n ]\n\n const textBoxLeftElement = leftElement && (\n <div css={textBoxLeftElementStyles}>{leftElement}</div>\n )\n\n const textBoxRightElement = rightElement && (\n <div css={textBoxRightElementStyles}>{rightElement}</div>\n )\n\n const InputHelpNode = inputHelp && (\n <div css={styles.default.help}>{inputHelp}</div>\n )\n\n const InputLabelNode = (\n <InputLabel\n accessibilityText={accessibilityText}\n disabled={disabled}\n forId={textBoxId}\n hidden={hideLabel}\n required={required}\n data-qa={dataQa && `${dataQa}-label`}\n >\n {label}\n </InputLabel>\n )\n\n const InputCountNode = characterCount && maxLength && (\n <InputCount\n id={descriptionId}\n currentLength={value === undefined ? 0 : value.length}\n maxLength={maxLength}\n data-qa={dataQa && `${dataQa}-count`}\n />\n )\n\n const DescriptionNode = description && (\n <InputDescription\n disabled={disabled}\n id={descriptionId}\n kind=\"helper\"\n data-qa={dataQa && `${dataQa}-description`}\n >\n {description}\n </InputDescription>\n )\n\n const ErrorNode = error && (\n <InputDescription\n id={errorId}\n kind=\"error\"\n data-qa={dataQa && `${dataQa}-error`}\n >\n {shouldHideError ? (\n <span css={styles.hideErrorText}>{error}</span>\n ) : (\n error\n )}\n </InputDescription>\n )\n\n // These are to help differentiate the placement of the error\n // WithMessage shows up below the input with the error message visible\n // WithoutMessage shows up right of the input with only the icon visible\n const ErrorNodeWithMessage = !shouldHideError && ErrorNode\n const ErrorNodeWithoutMessage = shouldHideError && (\n <span css={styles.hideError}>{ErrorNode}</span>\n )\n\n const errorIdValue = error ? errorId : ''\n // eslint-disable-next-line no-nested-ternary\n const descriptionIdValue = useIsInk()\n ? description\n ? descriptionId\n : ''\n : description && !error\n ? descriptionId\n : ''\n const ariaDescribedByValue = `${errorIdValue} ${descriptionIdValue}`.trim()\n\n return (\n <>\n <AboveInputContainer\n description={isInk && DescriptionNode}\n hideLabel={hideLabel}\n label={InputLabelNode}\n />\n\n <div css={styles.default.innerWrap} style={{ width }}>\n <div css={styles.default.textBox}>\n {textBoxLeftElement}\n\n <InputTextBox\n data-qa={dataQa}\n {...dataProps(restProps)}\n {...onProps(restProps)}\n {...(ariaDescribedByValue && {\n ariaDescribedById: ariaDescribedByValue,\n })}\n autoCapitalize={autoCapitalize}\n autoComplete={autoComplete}\n disabled={disabled}\n forwardedRef={forwardedRef}\n id={textBoxId}\n inputMode={inputMode}\n invalid={!!error}\n leftElement={leftElement}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n pattern={pattern}\n placeholder={textBoxPlaceholder}\n maxLength={characterCount ? undefined : maxLength}\n name={name}\n readOnly={readOnly}\n required={required}\n rightElement={rightElement}\n spellCheck={spellCheck}\n type={type}\n value={value}\n width={width}\n />\n\n {textBoxRightElement}\n </div>\n\n {ErrorNodeWithoutMessage}\n {InputHelpNode}\n </div>\n\n <BelowInputContainer\n count={InputCountNode}\n description={!isInk && DescriptionNode}\n error={ErrorNodeWithMessage}\n />\n </>\n )\n}\n\nconst inputModes = [\n 'none',\n 'text',\n 'decimal',\n 'numeric',\n 'tel',\n 'search',\n 'email',\n 'url',\n]\nTextBox.inputModes = inputModes\n\nconst types = [\n 'date',\n 'datetime-local',\n 'email',\n 'month',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'time',\n 'url',\n 'week',\n]\nTextBox.types = types\n\nconst spellCheckValues = ['true', 'false']\nTextBox.spellCheckValues = spellCheckValues\n\nTextBox.propTypes = {\n /**\n * Optional accessibility string that overrides the label string.\n */\n accessibilityText: PropTypes.string,\n\n /**\n * Add the 'autocapitalize' HTML attribute to the rendered input element.\n */\n autoCapitalize: PropTypes.string,\n\n /**\n * Add the 'autocomplete' HTML attribute to the rendered input element.\n */\n autoComplete: PropTypes.string,\n\n /**\n * If a (non-zero) value is provided for the 'maxLength' prop, display a\n * \"Characters remaining\" description using the value of that prop.\n */\n characterCount: PropTypes.bool,\n\n /**\n * All custom data attributes are passed to the underlying input element.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Used as a prefix with the following data-qa tags: -label, -description, -error, and -count.\n */\n 'data-qa': PropTypes.string,\n\n /**\n * Display the provided node as the \"description\" of the TextBox.\n */\n description: PropTypes.node,\n\n /**\n * Disable the TextBox.\n */\n disabled: PropTypes.bool,\n\n /**\n * Display the provided text as the \"error description\" of the TextBox.\n */\n error: PropTypes.string,\n\n /**\n * A React ref to assign to the HTML node representing the DotBadge element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Visually hide the error message. This is not a publicly encouraged pattern but allows NDSE to\n * use TextBox by visually hiding the error message but keep styling treatment as well keep the\n * icon for accessibility purposes. Only available in Olive theme.\n */\n hideError: PropTypes.bool,\n\n /**\n * Hide the TextBox label while allowing assistive devices to identify the control.\n */\n hideLabel: PropTypes.bool,\n\n /**\n * The element to add a help tooltip to the right of the Textbox component.\n *\n * Takes an InputHelp component.\n */\n inputHelp: PropTypes.element,\n\n /**\n * An enumerated attribute that hints at the type of data that might be\n * entered by the user while editing the element or its contents.\n *\n * Useful for dictating which keyboard gets presenteed to user.\n */\n inputMode: PropTypes.oneOf(inputModes),\n\n /**\n * The text label for the TextBox.\n */\n label: PropTypes.string.isRequired,\n\n /**\n * The element to display on the left of the TextBox.\n */\n leftElement: PropTypes.element,\n\n /**\n * When the 'characterCount' prop is 'true', the (non-zero) value of this prop\n * is used when displaying the \"Characters remaining\" description.\n *\n * When the 'characterCount' prop is 'false', the value of this prop is used\n * for the maxlength HTML attribute of the rendered input element.\n */\n maxLength: PropTypes.number,\n\n /**\n * The name for the TextBox.\n */\n name: PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when the TextBox loses focus.\n */\n onBlur: PropTypes.func,\n\n /**\n * The function to call when user input is received.\n */\n onChange: PropTypes.func,\n\n /**\n * The function to call when the TextBox gains focus.\n */\n onFocus: PropTypes.func,\n\n /**\n * A regular expression which the input's value must match\n * in order for the value to pass constraint validation\n */\n pattern: PropTypes.string,\n\n /**\n * Placeholder text for the TextBox.\n */\n placeholder: PropTypes.string,\n\n /**\n * Set the TextBox to read-only.\n */\n readOnly: PropTypes.bool,\n\n /**\n * Add a visual treatment indicating that the TextBox requires a value.\n */\n required: PropTypes.bool,\n\n /**\n * The element to display on the right of the TextBox.\n */\n rightElement: PropTypes.element,\n\n /**\n * The spellcheck attribute is an enumerated attribute defines whether\n * the element may be checked for spelling errors.\n */\n spellCheck: PropTypes.oneOf(spellCheckValues),\n\n /**\n * The (optional) value for the 'type' attribute of the rendered input element.\n * (e.g. \"email\", \"password\", etc.)\n */\n type: PropTypes.oneOf(types),\n\n /**\n * The value of the TextBox.\n */\n value: PropTypes.string,\n\n /**\n * The width of the TextBox's input element.\n *\n * Note: This only controls the width of the input itself, not the wrapping container.\n * For example, if using a rightElement a custom wrapping div would need a width applied\n * for it to work visually.\n */\n width: PropTypes.string,\n}\n\nTextBox.defaultProps = {\n 'data-.*': undefined,\n 'data-qa': undefined,\n 'on[A-Z].*': undefined,\n accessibilityText: undefined,\n autoCapitalize: undefined,\n autoComplete: undefined,\n characterCount: false,\n description: undefined,\n disabled: false,\n error: undefined,\n forwardedRef: undefined,\n hideError: false,\n hideLabel: false,\n inputHelp: undefined,\n inputMode: undefined,\n leftElement: undefined,\n maxLength: undefined,\n name: undefined,\n onBlur: undefined,\n onChange: undefined,\n onFocus: undefined,\n pattern: undefined,\n placeholder: undefined,\n readOnly: false,\n required: false,\n rightElement: undefined,\n spellCheck: undefined,\n type: 'text',\n value: undefined,\n width: undefined,\n}\n\nTextBox.displayName = 'TextBox'\n\nexport default TextBox\n","import { withRef } from '../../HOC'\n\nimport TextBox from './TextBox'\n\nexport default withRef(TextBox)\n","import { DSIndigo } from '@olive/fonts'\n\nexport default [DSIndigo]\n","import fontGroups from '../../fontGroups';\nimport { fontGroupDeclarations, normalizedBaseUrl } from '../../utilities';\nexport default (function (path) {\n var baseUrl = normalizedBaseUrl(path);\n return fontGroupDeclarations(fontGroups.ds_indigo, baseUrl);\n});","import { inkSystem, inkSystemSmall } from '@ds/icons'\n\nconst icons = {\n small: inkSystemSmall.icons,\n default: inkSystem.icons,\n}\n\nexport default icons\n","var icons = {\n 'arrowDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M15.66 10L11 14.66V2H9v12.66L4.34 10 3 11.34l6.41 6.42a.85.85 0 001.18 0L17 11.34z\\\"/>\\n</svg>\",\n 'arrowLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M18 9H5.34L10 4.34 8.66 3 2.24 9.41a.85.85 0 000 1.18L8.66 17 10 15.66 5.34 11H18z\\\"/>\\n</svg>\",\n 'arrowRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M11.34 3L10 4.34 14.66 9H2v2h12.66L10 15.66 11.34 17l6.42-6.41a.85.85 0 000-1.18z\\\"/>\\n</svg>\",\n 'arrowUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M17 8.66l-6.41-6.42a.85.85 0 00-1.18 0L3 8.66 4.34 10 9 5.34V18h2V5.34L15.66 10z\\\"/>\\n</svg>\",\n 'arrowUpLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M17 15.66L6.34 5H13V3H4a1 1 0 00-1 1v9h2V6.34L15.66 17z\\\"/>\\n</svg>\",\n 'bell': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M16 11V8A6 6 0 004 8v3l-2 5h6a2 2 0 004 0h6zM6 7.87a4 4 0 018 0V11H6zM4.83 14l.85-2h8.64l.85 2z\\\"/>\\n</svg>\",\n 'check': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M15.19 4l-6.34 9.51L5.34 10 4 11.34l4.4 4.4A.84.84 0 009 16a.86.86 0 00.73-.39L17.47 4z\\\"/>\\n</svg>\",\n 'chevronDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M16 8.34l-5.41 5.41a.82.82 0 01-1.18 0L4 8.34 5.34 7 10 11.66 14.66 7z\\\"/>\\n</svg>\",\n 'chevronLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M11.66 16l-5.41-5.41a.82.82 0 010-1.18L11.66 4 13 5.34 8.34 10 13 14.66z\\\"/>\\n</svg>\",\n 'chevronRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M8.34 16l5.41-5.41a.82.82 0 000-1.18L8.34 4 7 5.34 11.66 10 7 14.66z\\\"/>\\n</svg>\",\n 'chevronUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M4 11.66l5.41-5.41a.82.82 0 011.18 0L16 11.66 14.66 13 10 8.34 5.34 13z\\\"/>\\n</svg>\",\n 'close': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M17 4.34L15.66 3 10 8.66 4.34 3 3 4.34 8.66 10 3 15.66 4.34 17 10 11.34 15.66 17 17 15.66 11.34 10 17 4.34z\\\"/>\\n</svg>\",\n 'externalLink': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M16 12v5a1 1 0 01-1 1H3a1 1 0 01-1-1V5a1 1 0 011-1h5v2H4v10h10v-4zm1-10h-7v2h4.66L7 11.66 8.34 13 16 5.34V10h2V3a1 1 0 00-1-1z\\\"/>\\n</svg>\",\n 'gripperBar': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M13 5h-2V3h2zm0 2h-2v2h2zm0 4h-2v2h2zm0 4h-2v2h2zM9 3H7v2h2zm0 4H7v2h2zm0 4H7v2h2zm0 4H7v2h2z\\\"/>\\n</svg>\",\n 'gripperCorner': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M15 3h2v2h-2zm0 6h2V7h-2zm-4 0h2V7h-2zm4 4h2v-2h-2zm-4 0h2v-2h-2zm4 4h2v-2h-2zm-4 0h2v-2h-2zm-4 0h2v-2H7zm0-4h2v-2H7zm-4 4h2v-2H3z\\\"/>\\n</svg>\",\n 'menuTriangleDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M10.62 12.73L15 8H5l4.38 4.73a.85.85 0 001.24 0z\\\"/>\\n</svg>\",\n 'menuTriangleLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M7.27 9.38L12 5v10l-4.73-4.38a.85.85 0 010-1.24z\\\"/>\\n</svg>\",\n 'menuTriangleRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M12.73 9.38L8 5v10l4.73-4.38a.85.85 0 000-1.24z\\\"/>\\n</svg>\",\n 'menuTriangleUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M9.38 7.27L5 12h10l-4.38-4.73a.85.85 0 00-1.24 0z\\\"/>\\n</svg>\",\n 'minus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M3 9h14v2H3z\\\"/>\\n</svg>\",\n 'pebbleCheck': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M10 2a8 8 0 108 8 8 8 0 00-8-8zm-.26 11.6a.88.88 0 01-1.35.13L5 10.34 6.34 9l2.51 2.51L12.54 6h2.28z\\\"/>\\n</svg>\",\n 'pebbleError': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M18.82 9.57l-8.39-8.39a.6.6 0 00-.86 0L1.18 9.57a.6.6 0 000 .86l8.39 8.39a.6.6 0 00.86 0l8.39-8.39a.6.6 0 000-.86zM11 15H9v-2h2zm0-4H9V5h2z\\\"/>\\n</svg>\",\n 'pebbleInfo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M10 2a8 8 0 108 8 8 8 0 00-8-8zm1 13H9V9h2zm0-8H9V5h2z\\\"/>\\n</svg>\",\n 'pebbleQuestion': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M10 3.9A6.1 6.1 0 113.9 10 6.11 6.11 0 0110 3.9M10 2a8 8 0 108 8 8 8 0 00-8-8zm1 11H9v2h2zm2-5a3 3 0 00-6 0h1.9a1.1 1.1 0 111.55 1 1.34 1.34 0 01-.45.1H9V12h2v-1.18A3 3 0 0013 8z\\\"/>\\n</svg>\",\n 'pebbleWarning': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M18.91 16L10.46 2.25a.55.55 0 00-.92 0L1.09 16a.68.68 0 00-.09.33.64.64 0 00.64.64h16.72a.64.64 0 00.64-.61.61.61 0 00-.09-.36zM11 15H9v-2h2zm0-4H9V6h2z\\\"/>\\n</svg>\",\n 'plus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M17 9h-6V3H9v6H3v2h6v6h2v-6h6V9z\\\"/>\\n</svg>\",\n 'search': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M18 16.66l-5.14-5.15a6 6 0 10-1.35 1.35L16.66 18zM8 12.1A4.1 4.1 0 1112.1 8 4.11 4.11 0 018 12.1z\\\"/>\\n</svg>\",\n 'sort': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M10.74 3.31L15 8H5l4.26-4.69a1 1 0 011.48 0zm0 13.38L15 12H5l4.26 4.69a1 1 0 001.48 0z\\\"/>\\n</svg>\",\n 'waffle': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\">\\n <path d=\\\"M12 12H8V8h4zM7 8H3v4h4zm10 0h-4v4h4zm-5-5H8v4h4zM7 3H3v4h4zm10 0h-4v4h4zm-5 10H8v4h4zm-5 0H3v4h4zm10 0h-4v4h4z\\\"/>\\n</svg>\"\n};\nexport var inkSystemSmall = {\n size: 20,\n icons: icons\n};","var icons = {\n 'alignBottom': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M3 20h18v1H3zM9 5H7v11h2V5m1-2a1 1 0 011 1v14H5V4a1 1 0 011-1zm7 6h-2v7h2V9m1-2a1 1 0 011 1v10h-6V8a1 1 0 011-1z\\\"/>\\n</svg>\",\n 'alignLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M4 21H3V3h1zM19 7H8v2h11V7m1-2a1 1 0 011 1v4a1 1 0 01-1 1H6V5zm-5 10H8v2h7v-2m1-2a1 1 0 011 1v4a1 1 0 01-1 1H6v-6z\\\"/>\\n</svg>\",\n 'alignRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 3h1v18h-1zm-4 4H5v2h11V7m2-2v6H4a1 1 0 01-1-1V6a1 1 0 011-1zm-2 10H9v2h7v-2m2-2v6H8a1 1 0 01-1-1v-4a1 1 0 011-1z\\\"/>\\n</svg>\",\n 'alignTop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M3 3h18v1H3zm6 5H7v11h2V8m2-2v14a1 1 0 01-1 1H6a1 1 0 01-1-1V6zm6 2h-2v7h2V8m2-2v10a1 1 0 01-1 1h-4a1 1 0 01-1-1V6z\\\"/>\\n</svg>\",\n 'arrowDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M11 2v16.59L5.41 13 4 14.41l7.29 7.3a1 1 0 001.42 0l7.29-7.3L18.59 13 13 18.59V2z\\\"/>\\n</svg>\",\n 'arrowLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 11H5.41L11 5.41 9.59 4l-7.3 7.29a1 1 0 000 1.42L9.59 20 11 18.59 5.41 13H22z\\\"/>\\n</svg>\",\n 'arrowRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M2 11h16.59L13 5.41 14.41 4l7.3 7.29a1 1 0 010 1.42L14.41 20 13 18.59 18.59 13H2z\\\"/>\\n</svg>\",\n 'arrowUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M13 22V5.41L18.59 11 20 9.59l-7.29-7.3a1 1 0 00-1.42 0L4 9.59 5.41 11 11 5.41V22z\\\"/>\\n</svg>\",\n 'at': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 2a10 10 0 000 20 9.65 9.65 0 005-1.35L16 19a7.56 7.56 0 01-4 1.1 8.1 8.1 0 118.1-8.1v1.12a2 2 0 01-2.06 2 2 2 0 01-2-2V8H14v.55a4 4 0 10.58 6.45A4 4 0 0022 13v-1A10 10 0 0012 2zm0 12.1a2.1 2.1 0 112-2.7 2 2 0 01.07.26v.68a2 2 0 01-.07.26 2.08 2.08 0 01-2 1.5z\\\"/>\\n</svg>\",\n 'award': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19 9a7 7 0 10-11 5.74V22l4-2 4 2v-7.26A7 7 0 0019 9zM6.9 9a5.1 5.1 0 115.1 5.1A5.11 5.11 0 016.9 9zm7.1 9.76l-1.11-.55-.89-.45-.89.45-1.11.55v-3.05a7 7 0 004 0zM12 6.9A2.1 2.1 0 119.9 9 2.1 2.1 0 0112 6.9m0-.9a3 3 0 103 3 3 3 0 00-3-3z\\\"/>\\n</svg>\",\n 'bell': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 15v-5a8 8 0 00-16 0v5l-2 5h8a2 2 0 004 0h8zM6 9.88a6 6 0 0112 0V15H6zM5 18l.8-2h12.5l.8 2z\\\"/>\\n</svg>\",\n 'block': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 2a10 10 0 1010 10A10 10 0 0012 2zM3.9 12A8.09 8.09 0 0117 5.65L5.65 17a8.06 8.06 0 01-1.75-5zm8.1 8.1a8.06 8.06 0 01-5-1.75L18.35 7A8.09 8.09 0 0112 20.1z\\\"/>\\n</svg>\",\n 'bold': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M17.85 11.15A4.93 4.93 0 0019 8a5 5 0 00-5-5H5v18h9.5a5.49 5.49 0 003.35-9.85zM8 6h6a2 2 0 010 4H8zm6.5 12H8v-5h6.5a2.5 2.5 0 010 5z\\\"/>\\n</svg>\",\n 'book': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M16 2H4v20h12a4 4 0 004-4V6a4 4 0 00-4-4zM6 4h2v16H6zm12 14a2 2 0 01-2 2H9V4h7a2 2 0 012 2z\\\"/>\\n</svg>\",\n 'boolean': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M6 4.9A2.1 2.1 0 113.9 7 2.1 2.1 0 016 4.9M6 3a4 4 0 104 4 4 4 0 00-4-4zm15 1H11v2h9v2h-9v2h10a1 1 0 001-1V5a1 1 0 00-1-1zm-3 10.9a2.1 2.1 0 11-2.1 2.1 2.1 2.1 0 012.1-2.1m0-1.9a4 4 0 104 4 4 4 0 00-4-4zm-5 1H3a1 1 0 00-1 1v4a1 1 0 001 1h10v-2H4v-2h9v-2z\\\"/>\\n</svg>\",\n 'boxPlusAbove': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 7v10a1 1 0 01-1 1H3a1 1 0 01-1-1V7a1 1 0 011-1h3v2H4v8h16V8h-2V6h3a1 1 0 011 1zm-6-1h-3V3h-2v3H8v2h3v3h2V8h3z\\\"/>\\n</svg>\",\n 'boxPlusAfter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M16 18h2v3a1 1 0 01-1 1H7a1 1 0 01-1-1V3a1 1 0 011-1h10a1 1 0 011 1v3h-2V4H8v16h8zm5-7h-3V8h-2v3h-3v2h3v3h2v-3h3z\\\"/>\\n</svg>\",\n 'boxPlusBefore': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 3v18a1 1 0 01-1 1H7a1 1 0 01-1-1v-3h2v2h8V4H8v2H6V3a1 1 0 011-1h10a1 1 0 011 1zm-7 8H8V8H6v3H3v2h3v3h2v-3h3z\\\"/>\\n</svg>\",\n 'boxPlusBelow': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 7v10a1 1 0 01-1 1h-3v-2h2V8H4v8h2v2H3a1 1 0 01-1-1V7a1 1 0 011-1h18a1 1 0 011 1zm-6 9h-3v-3h-2v3H8v2h3v3h2v-3h3z\\\"/>\\n</svg>\",\n 'browserStack': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 10v10a1 1 0 01-1 1H8a1 1 0 01-1-1v-4h2v3h10v-8h-1V9h2a1 1 0 011 1zm-4-6v10a1 1 0 01-1 1H4a1 1 0 01-1-1V4a1 1 0 011-1h12a1 1 0 011 1zM5 5v1h10V5zm10 8V7H5v6z\\\"/>\\n</svg>\",\n 'bulletedList': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 6H7V4h14zm0 5H7v2h14zm0 7H7v2h14zM5.3 5A1.3 1.3 0 104 6.3 1.3 1.3 0 005.3 5zm0 7A1.3 1.3 0 104 13.3 1.3 1.3 0 005.3 12zm0 7A1.3 1.3 0 104 20.3 1.3 1.3 0 005.3 19z\\\"/>\\n</svg>\",\n 'calendar': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 3h-3V2h-1v1H8V2H7v1H4a1 1 0 00-1 1v16a1 1 0 001 1h16a1 1 0 001-1V4a1 1 0 00-1-1zm-1 16H5V5h2v1h1V5h8v1h1V5h2zM13 8v9h-2v-7H9V9l2-1z\\\"/>\\n</svg>\",\n 'camera': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M13.93 5l2 3H20v10H4V8h4.07l2-3h3.86m.53-2H9.54a1 1 0 00-.84.45L7 6H3a1 1 0 00-1 1v12a1 1 0 001 1h18a1 1 0 001-1V7a1 1 0 00-1-1h-4l-1.7-2.55a1 1 0 00-.84-.45zM12 8.9A3.1 3.1 0 118.9 12 3.1 3.1 0 0112 8.9m0-.9a4 4 0 104 4 4 4 0 00-4-4z\\\"/>\\n</svg>\",\n 'certificate': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 6v12H4V6h16m1-2H3a1 1 0 00-1 1v14a1 1 0 001 1h18a1 1 0 001-1V5a1 1 0 00-1-1zm-3 4H6v1h12zm-2 3H8v1h8zm2.3 4a1.3 1.3 0 10-1.3 1.3 1.3 1.3 0 001.3-1.3z\\\"/>\\n</svg>\",\n 'check': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19.2 5l-8.35 12.51L5.34 12 4 13.34l6.39 6.4a.88.88 0 001.35-.14L21.48 5z\\\"/>\\n</svg>\",\n 'chevronDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 8.34l-9.41 9.41a.82.82 0 01-1.18 0L2 8.34 3.34 7 12 15.66 20.66 7z\\\"/>\\n</svg>\",\n 'chevronLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M15.66 22l-9.41-9.41a.82.82 0 010-1.18L15.66 2 17 3.34 8.34 12 17 20.66z\\\"/>\\n</svg>\",\n 'chevronRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M8.34 22l9.41-9.41a.82.82 0 000-1.18L8.34 2 7 3.34 15.66 12 7 20.66z\\\"/>\\n</svg>\",\n 'chevronUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M2 15.66l9.41-9.41a.82.82 0 011.18 0L22 15.66 20.66 17 12 8.34 3.34 17z\\\"/>\\n</svg>\",\n 'clipboard': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19 4h-3l-1-2H9L8 4H5a1 1 0 00-1 1v16a1 1 0 001 1h14a1 1 0 001-1V5a1 1 0 00-1-1zm-5 2v1h-4V6zm4 14H6V6h3v1a1 1 0 001 1h4a1 1 0 001-1V6h3z\\\"/>\\n</svg>\",\n 'clock': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 3.9A8.1 8.1 0 113.9 12 8.1 8.1 0 0112 3.9M12 2a10 10 0 1010 10A10 10 0 0012 2zm3.67 12.33L13 11.61V6h-1.9v6.39l3.28 3.28z\\\"/>\\n</svg>\",\n 'close': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 5.36L18.64 4 12 10.65 5.36 4 4 5.36 10.65 12 4 18.66 5.34 20 12 13.35 18.66 20 20 18.66 13.35 12 20 5.36z\\\"/>\\n</svg>\",\n 'cloudUpload': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 14.5a5.49 5.49 0 01-5 5.5h-2v-2h1.82a3.49 3.49 0 00.56-6.86l-1.83-.48.37-1.85A4.23 4.23 0 0016 8a4 4 0 00-8 0 4.23 4.23 0 00.08.79l.37 1.85-1.83.48A3.49 3.49 0 007.18 18H9v2H7a5.49 5.49 0 01-.88-10.82A5.76 5.76 0 016 8a6 6 0 0112 0 5.76 5.76 0 01-.12 1.18A5.5 5.5 0 0122 14.5zm-5.33-.17l-4.07-4.07a.82.82 0 00-1.2 0l-4.07 4.07 1.34 1.34L11 13.34V22h2v-8.66l2.33 2.33z\\\"/>\\n</svg>\",\n 'codeBracket': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M6.66 17l-4.38-4.38a.83.83 0 010-1.24L6.66 7 8 8.34 4.34 12 8 15.66zm10.68 0l4.38-4.38a.83.83 0 000-1.24L17.34 7 16 8.34 19.66 12 16 15.66zm-6.75 3l4.8-16h-2L8.61 20z\\\"/>\\n</svg>\",\n 'colorFilter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 16a6 6 0 01-8.25 5.56A7.94 7.94 0 0015 20a4.08 4.08 0 003.49-7.22 7.73 7.73 0 00.95-1.68A6 6 0 0122 16zm-9.9 0a4.1 4.1 0 11-6.54-3.27 7.73 7.73 0 01-.95-1.68A6 6 0 1014 16v-.26a7.42 7.42 0 01-1.9.26zM12 3.9A4.1 4.1 0 1016.1 8 4.11 4.11 0 0012 3.9M12 2a6 6 0 11-6 6 6 6 0 016-6z\\\"/>\\n</svg>\",\n 'comment': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 6v10H7.39L4 18.26V6h16m1-2H3a1 1 0 00-1 1v17l6-4h13a1 1 0 001-1V5a1 1 0 00-1-1zm-3 5H6v1h12zm-5 3H6v1h7z\\\"/>\\n</svg>\",\n 'commentAdd': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 10v7a1 1 0 01-1 1H8l-6 4V5a1 1 0 011-1h13v2H4v12.26L7.39 16H20v-6zm2-6h-2V2h-2v2h-2v2h2v2h2V6h2zm-6 5H6v1h12zm-5 3H6v1h7z\\\"/>\\n</svg>\",\n 'commentPencil': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 10v7a1 1 0 01-1 1H8l-6 4V5a1 1 0 011-1h9v2H4v12.26l2.89-1.92.5-.34H20v-6zm1.12-4.88l-6.46 6.47L11 13H7v-1h4.25l.5-2H7V9h5l.41-1.66L18.88.88a3 3 0 014.24 0 3 3 0 010 4.24zm-2.66 0L18.9 3.54l-4.77 4.77-.52 2.08 2.08-.52zM22.1 3a1.1 1.1 0 00-1.88-.78l-.68.68 1.56 1.56.68-.68A1.1 1.1 0 0022.1 3z\\\"/>\\n</svg>\",\n 'company': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M15 8H9V7h6zm0 3H9v1h6zm7 2v9H2V10.64a1.22 1.22 0 01.53-1L6 7.33V3a1 1 0 011-1h10a1 1 0 011 1v9h3a1 1 0 011 1zM6 9.74l-2 1.33V20h2zM16 4H8v16h3v-2h2v2h3zm4 10h-2v6h2z\\\"/>\\n</svg>\",\n 'courthouse': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 22H2v-2h20zm-1-12v7h1v2H2v-2h1v-7H2V7.73a1.18 1.18 0 01.65-1.06l8.89-4.56a1 1 0 01.92 0l8.89 4.56A1.18 1.18 0 0122 7.73V10zM4.43 8h15.14L12 4zM7 17v-7H5v7zm4 0v-7H9v7zm4 0v-7h-2v7zm4-7h-2v7h2z\\\"/>\\n</svg>\",\n 'creditCard': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 4H3a1 1 0 00-1 1v14a1 1 0 001 1h18a1 1 0 001-1V5a1 1 0 00-1-1zm-1 2v2H4V6zM4 18v-8h16v8zm14-3h-5v-1h5z\\\"/>\\n</svg>\",\n 'crop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 18h-4v4h-2V8h-6V6h8v10h4zM8 16V2H6v4H2v2h4v10h8v-2z\\\"/>\\n</svg>\",\n 'dataRead': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 12l-4-4v3H2v2h16v3l4-4z\\\"/>\\n</svg>\",\n 'dataReadWrite': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 12V9H2V7h16V4l4 4zm4 3H6v-3l-4 4 4 4v-3h16z\\\"/>\\n</svg>\",\n 'desktop': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 4H3a1 1 0 00-1 1v13a1 1 0 001 1h6v2H7v1h10v-1h-2v-2h6a1 1 0 001-1V5a1 1 0 00-1-1zm-8 17h-2v-2h2zm7-4H4v-2h16zm0-3H4V6h16z\\\"/>\\n</svg>\",\n 'desktopShare': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 11v6H4V7h5V5H3a1 1 0 00-1 1v12a1 1 0 001 1h6v2H7v1h10v-1h-2v-2h6a1 1 0 001-1v-7zm-7 10h-2v-2h2zm9-15a1 1 0 01-.29.71L18.42 10 17 8.58 18.59 7H15a2 2 0 00-2 2v4h-2V9a4 4 0 014-4h3.59L17 3.42 18.42 2l3.29 3.29A1 1 0 0122 6z\\\"/>\\n</svg>\",\n 'detailView': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M9 5v4H5V5h4m0 10v4H5v-4h4m1-12H4a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1V4a1 1 0 00-1-1zm11 3h-8v2h8V6zm-11 7H4a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1v-6a1 1 0 00-1-1zm11 3h-8v2h8v-2z\\\"/>\\n</svg>\",\n 'document': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M17 2H5a1 1 0 00-1 1v18a1 1 0 001 1h14a1 1 0 001-1V5zm1 18H6V4h9v3h3zm-2-10H8V9h8zm-3 3H8v-1h5z\\\"/>\\n</svg>\",\n 'documentStack': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19 3H9a1 1 0 00-1 1v16a1 1 0 001 1h12a1 1 0 001-1V6zm1 16H10V5h7v3h3zm-2-8h-6v-1h6zm-3 3h-3v-1h3zm-9 5H5a1 1 0 01-1-1V6a1 1 0 011-1h1zm-4-2H1a1 1 0 01-1-1V8a1 1 0 011-1h1z\\\"/>\\n</svg>\",\n 'download': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 22H4v-1h16zm-1.34-12L13 15.66V2h-2v13.66L5.34 10 4 11.34l7.4 7.4a.82.82 0 001.16 0l7.4-7.4z\\\"/>\\n</svg>\",\n 'duplicate': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 8v12h-8V8h8m1-2H9a1 1 0 00-1 1v14a1 1 0 001 1h10a1 1 0 001-1V7a1 1 0 00-1-1zM6 4h10V3a1 1 0 00-1-1H5a1 1 0 00-1 1v14a1 1 0 001 1h1z\\\"/>\\n</svg>\",\n 'envelope': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 4H3a1 1 0 00-1 1v14a1 1 0 001 1h18a1 1 0 001-1V5a1 1 0 00-1-1zm-1 2v1.13l-8 5.33-8-5.33V6zM4 18V8.21l8 5.33 8-5.33V18z\\\"/>\\n</svg>\",\n 'expression': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M8 5a2 2 0 00-2 2v10a2 2 0 002 2h1v2H8a4 4 0 01-4-4v-3a1 1 0 00-1-1H2v-2h1a1 1 0 001-1V7a4 4 0 014-4h1v2zm8 0a2 2 0 012 2v10a2 2 0 01-2 2h-1v2h1a4 4 0 004-4v-3a1 1 0 011-1h1v-2h-1a1 1 0 01-1-1V7a4 4 0 00-4-4h-1v2zm0 4.34L14.66 8 12 10.66 9.34 8 8 9.34 10.66 12 8 14.66 9.34 16 12 13.34 14.66 16 16 14.66 13.34 12z\\\"/>\\n</svg>\",\n 'externalLink': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M17 13v7a1 1 0 01-1 1H4a1 1 0 01-1-1V8a1 1 0 011-1h7v2H5v10h10v-6zm3-10h-7v2h4.66L8 14.66 9.34 16 19 6.34V11h2V4a1 1 0 00-1-1z\\\"/>\\n</svg>\",\n 'eye': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 12a10.68 10.68 0 00-10-6.67A10.68 10.68 0 002 12a10.68 10.68 0 0010 6.66A10.68 10.68 0 0022 12zm-10 4.77A8.82 8.82 0 014.09 12 8.82 8.82 0 0112 7.23 8.82 8.82 0 0119.91 12 8.82 8.82 0 0112 16.77zm0-6.87A2.1 2.1 0 119.9 12 2.1 2.1 0 0112 9.9m0-.9a3 3 0 103 3 3 3 0 00-3-3z\\\"/>\\n</svg>\",\n 'eyeSlash': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20.68 2.68l-3.81 3.81A11 11 0 0012 5.33 10.68 10.68 0 002 12a10.63 10.63 0 004.3 5l-3.62 3.68.64.64 18-18zM10.24 13.12A2 2 0 019.9 12 2.1 2.1 0 0112 9.9a2 2 0 011.12.34zM12 9a3 3 0 00-3 3 2.9 2.9 0 00.6 1.76l-1.91 1.91A8.56 8.56 0 014.09 12 8.82 8.82 0 0112 7.23a9.29 9.29 0 013.44.69L13.76 9.6A2.9 2.9 0 0012 9zm2.1 3a1.11 1.11 0 000-.19l.75-.75A2.9 2.9 0 0115 12a3 3 0 01-3 3 2.9 2.9 0 01-.94-.17l.75-.75H12A2.1 2.1 0 0014.1 12zm7.9 0a10.68 10.68 0 01-10 6.66 11 11 0 01-4-.77l1.5-1.5a9.42 9.42 0 002.51.37 8.82 8.82 0 007.9-4.76 8.7 8.7 0 00-2.82-3.2l1.35-1.35A10.67 10.67 0 0122 12z\\\"/>\\n</svg>\",\n 'eyedropper': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 6a2.9 2.9 0 00-.69-1.95 3 3 0 00-4.4-.17l-2.57 2.58L11.91 5l-.71.71 1.44 1.44-7.29 7.33a1.21 1.21 0 00-.35.84v2.34l-2 1.93L4.41 21l2-2h2.34a1.23 1.23 0 00.85-.35l7.27-7.25 1.4 1.4.71-.71-1.4-1.4L20 8.23A3.26 3.26 0 0021 6zM8.26 17.3H6.7v-1.56L14 8.5l1.55 1.55zM18.94 6.65l-2.71 2.7-1.55-1.56 2.7-2.69a1.09 1.09 0 01.78-.33 1.11 1.11 0 011.1 1.1 1.12 1.12 0 01-.32.78z\\\"/>\\n</svg>\",\n 'field': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 6v12H4V6h16m1-2H3a1 1 0 00-1 1v14a1 1 0 001 1h18a1 1 0 001-1V5a1 1 0 00-1-1zM7 8H6v8h1z\\\"/>\\n</svg>\",\n 'fieldMerge': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 9h-3V5a1 1 0 00-1-1H3a1 1 0 00-1 1v9a1 1 0 001 1h3v4a1 1 0 001 1h14a1 1 0 001-1v-9a1 1 0 00-1-1zM4 13V6h12v3H7a1 1 0 00-1 1v3zm6 0H8v-2h2zm1-2h2v2h-2zm3 0h2v2h-2zm6 7H8v-3h9a1 1 0 001-1v-3h2z\\\"/>\\n</svg>\",\n 'filter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 7H3V5h18zm-2 2H5v2h14zm-2 4H7v2h10zm-2 4H9v2h6z\\\"/>\\n</svg>\",\n 'flag': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19 4h-6a1 1 0 00-1-1H6V2H4v20h2v-8h5a1 1 0 001 1h7a1 1 0 001-1V5a1 1 0 00-1-1zM6 12V5h5v7zm12 1h-5V6h5z\\\"/>\\n</svg>\",\n 'flash': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M15.16 4l-2.25 5h2.87L9.3 15.71 10.44 10H6.91l2.85-6h5.4m2.37-2H9a.77.77 0 00-.71.45l-4.24 8.92a.44.44 0 00.4.63H8L6 22 19.89 7.63a.37.37 0 00-.27-.63H16l2-4.34a.46.46 0 00-.47-.66z\\\"/>\\n</svg>\",\n 'flashOff': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M8 4l1-2h9l-2 5h4l-4.32 4.63-1.42-1.42L15.4 9h-2.35l1.09-2.74.91-2.26h-4.81l-.73 1.46zm3.81 11.78l-1.42-1.41-1.05 1.12.37-1.85-4.35-4.36L4 12h4L6 22zM3.35 2L2 3.35 20.66 22 22 20.66z\\\"/>\\n</svg>\",\n 'folder': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 7h-8l-1.7-2.55a1 1 0 00-.84-.45H3a1 1 0 00-1 1v14a1 1 0 001 1h18a1 1 0 001-1V8a1 1 0 00-1-1zM9.93 6l1.33 2H4V6zM20 18H4V9h16z\\\"/>\\n</svg>\",\n 'folderOpen': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M23.34 7H11L9 4H1a1 1 0 00-1 1v14a1 1 0 001 1h18.27a1 1 0 00.95-.69L24 7.86a.83.83 0 000-.22.66.66 0 00-.66-.64zM7.93 6l.66 1H4.74a1 1 0 00-1 .71L2 13.5V6zm10.62 12H2.71l2.77-9h16z\\\"/>\\n</svg>\",\n 'function': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M15.78 15l-3.2-4H15l2 2.48L19 11h2.44l-3.2 4 3.2 4H19l-2-2.48L15 19h-2.42zM10 3a3 3 0 00-3 3v4H5v2h2v7a1 1 0 01-2 0v-1H3v1a3 3 0 006 0v-7h2v-2H9V6a1 1 0 012 0v1h2V6a3 3 0 00-3-3z\\\"/>\\n</svg>\",\n 'gear': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12.63 3.9l.7 2.1 2 .83 2-1 .89.89-1 2 .83 2 2.08.7v1.26l-2.08.7-.83 2 1 2-.89.89-2-1-2 .83-.7 2.08h-1.26l-.7-2.18-2-.83-2 1-.89-.89 1-2-.83-2-2.08-.7v-1.21l2.13-.7.83-2-1-2 .89-.89 2 1 2-.83.7-2.08h1.26M14 2h-4l-.84 2.53c-.15.06-.29.11-.43.18l-2.39-1.2-2.83 2.83 1.2 2.39c-.07.14-.12.28-.18.43L2 10v4l2.53.84c.06.15.11.29.18.43l-1.2 2.39 2.83 2.83 2.39-1.2c.14.07.28.12.43.18L10 22h4l.84-2.53c.15-.06.29-.11.43-.18l2.39 1.2 2.83-2.83-1.2-2.39c.07-.14.12-.28.18-.43L22 14v-4l-2.53-.84c-.06-.15-.11-.29-.18-.43l1.2-2.39-2.83-2.83-2.39 1.2c-.14-.07-.28-.12-.43-.18L14 2zm-2 7.9A2.1 2.1 0 119.9 12 2.1 2.1 0 0112 9.9m0-.9a3 3 0 103 3 3 3 0 00-3-3z\\\"/>\\n</svg>\",\n 'globeLanguage': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 2a10 10 0 1010 10A10 10 0 0012 2zm7 6h-2.56a13.36 13.36 0 00-1.78-3.64A8.1 8.1 0 0119 8zm1.07 4a8.09 8.09 0 01-.58 3H16.7a13.5 13.5 0 000-6h2.82a8.09 8.09 0 01.58 3zM3.9 12a8.09 8.09 0 01.58-3H7.3a13.5 13.5 0 000 6H4.48a8.09 8.09 0 01-.58-3zm4.32-3h7.56a12.43 12.43 0 010 6H8.22a12.43 12.43 0 010-6zm5-5a12.59 12.59 0 012.22 4h-7a12.59 12.59 0 012.22-4 7.39 7.39 0 012.54 0zm-3.93.35A13.23 13.23 0 007.56 8H5a8.1 8.1 0 014.34-3.64zM5 16h2.56a13.36 13.36 0 001.78 3.64A8.1 8.1 0 015 16zm5.76 4a12.59 12.59 0 01-2.22-4h7a12.59 12.59 0 01-2.22 4 7.39 7.39 0 01-2.54 0zm3.93-.35A13.36 13.36 0 0016.44 16H19a8.1 8.1 0 01-4.34 3.64z\\\"/>\\n</svg>\",\n 'gridView': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M9 5v4H5V5h4m1-2H4a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1V4a1 1 0 00-1-1zm9 2v4h-4V5h4m1-2h-6a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1V4a1 1 0 00-1-1zM9 15v4H5v-4h4m1-2H4a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1v-6a1 1 0 00-1-1zm9 2v4h-4v-4h4m1-2h-6a1 1 0 00-1 1v6a1 1 0 001 1h6a1 1 0 001-1v-6a1 1 0 00-1-1z\\\"/>\\n</svg>\",\n 'heading': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 4v16h-2v-7H4v7H2V4h2v7h6V4zm7 14V5a1 1 0 00-1-1h-4v2h3v12h-3v2h8v-2z\\\"/>\\n</svg>\",\n 'home': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 8.52l-9.51-6.34a.91.91 0 00-1 0L2 8.52v2.29l2-1.33V20a1 1 0 001 1h6v-6h2v6h6a1 1 0 001-1V9.48l2 1.33zM18 19h-3v-5a1 1 0 00-1-1h-4a1 1 0 00-1 1v5H6V8l6-4 6 4z\\\"/>\\n</svg>\",\n 'idBadge': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M8 13a2 2 0 112-2 2 2 0 01-2 2zm3 3a3 3 0 00-3-3 3 3 0 00-3 3h6zm5-6h-4v1h4zm2 3h-6v1h6zm4-7v13a1 1 0 01-1 1H3a1 1 0 01-1-1V6a1 1 0 011-1h7V3h4v2h7a1 1 0 011 1zm-2 1H4v11h16z\\\"/>\\n</svg>\",\n 'image': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 4H3a1 1 0 00-1 1v14a1 1 0 001 1h18a1 1 0 001-1V5a1 1 0 00-1-1zm-1 2v8.66l-1.75-1.75a2 2 0 00-2.46-.25l-1.7 1.09-3.84-3.84a2 2 0 00-2.46-.25L4 12.19V6zM4 18v-3.52l4.91-3.23 3.84 3.84a2 2 0 002.46.25l1.7-1.09L20 17.34V18zm11-7.65A1.35 1.35 0 1116.35 9 1.34 1.34 0 0115 10.35z\\\"/>\\n</svg>\",\n 'inbox': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 5H4a1 1 0 00-1 1v14a1 1 0 001 1h16a1 1 0 001-1V6a1 1 0 00-1-1zm-1 14H5v-4h4v2h6v-2h4zm0-5h-5v2h-4v-2H5V7h14z\\\"/>\\n</svg>\",\n 'insert': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 4v16a1 1 0 01-1 1H8a1 1 0 01-1-1v-5h2v4h10V5H9v4H7V4a1 1 0 011-1h12a1 1 0 011 1zm-8.33 3.33l-1.34 1.34L13.66 11H2v2h11.66l-2.33 2.33 1.34 1.34L17.34 12z\\\"/>\\n</svg>\",\n 'italics': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 4V3h-8v1h2.63l-3.2 16H6v1h8v-1h-2.63l3.2-16H18z\\\"/>\\n</svg>\",\n 'line': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M3 19.658l16.659-16.66 1.343 1.344-16.66 16.66z\\\"/>\\n</svg>\",\n 'lineHeight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M6 17h2l-2.24 2.61A1 1 0 015 20a1 1 0 01-.76-.39L2 17h2V7H2l2.24-2.61A1 1 0 015 4a1 1 0 01.76.39L8 7H6zM22 4H11v2h11zm0 14H11v2h11zm0-7H11v2h11z\\\"/>\\n</svg>\",\n 'link': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M17 2a5 5 0 013.53 8.54L17 14.12a5 5 0 01-7.07 0 4.74 4.74 0 01-.64-.78l1.4-1.4V12a3.45 3.45 0 00.55.78 3.11 3.11 0 004.39 0l3.58-3.59a3.1 3.1 0 00-4.38-4.38L12.62 7l-2.24-.45 3.08-3.08A5 5 0 0117 2zm-6.47 18.54l3.09-3.09-2.24-.45-2.19 2.19a3.1 3.1 0 01-4.38-4.38l3.58-3.59a3.11 3.11 0 014.39 0 3.45 3.45 0 01.55.78v.06l1.4-1.4a4.74 4.74 0 00-.64-.78 5 5 0 00-7.07 0l-3.56 3.59a5 5 0 007.07 7.07z\\\"/>\\n</svg>\",\n 'locationPin': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 4a5.14 5.14 0 014.85 3.28 5.22 5.22 0 01-.51 4.83L12 18.57l-4.34-6.51a5.22 5.22 0 01-.51-4.83A5.14 5.14 0 0112 4m0-1.9a7 7 0 00-6.61 4.42 7.14 7.14 0 00.69 6.6L12 22l5.92-8.88a7.14 7.14 0 00.69-6.6A7 7 0 0012 2.05zm0 5.61A1.34 1.34 0 1013.34 9 1.34 1.34 0 0012 7.66z\\\"/>\\n</svg>\",\n 'lock': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19 11h-1V8A6 6 0 006 8v3H5a1 1 0 00-1 1v9a1 1 0 001 1h14a1 1 0 001-1v-9a1 1 0 00-1-1zM8 8a4 4 0 018 0v3H8zm10 12H6v-7h12zm-5-2h-2v-3h2z\\\"/>\\n</svg>\",\n 'logic': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M17.33 13L16 14.34 18.65 17H9.86a3.74 3.74 0 00-.45-1.07l6.51-6.52a4 4 0 10-1.32-5.49A3.83 3.83 0 0014.14 5H9.86a4 4 0 100 2h4.28a3.74 3.74 0 00.45 1.07l-6.51 6.52A4 4 0 109.86 19h8.79L16 21.66 17.33 23l4.42-4.41A.92.92 0 0022 18a.87.87 0 00-.24-.59zM6 8.1A2.1 2.1 0 118.11 6 2.1 2.1 0 016 8.1zm12-4.2A2.1 2.1 0 1115.89 6 2.1 2.1 0 0118 3.9zM6 20.1A2.1 2.1 0 118.11 18 2.1 2.1 0 016 20.1z\\\"/>\\n</svg>\",\n 'menu': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 6H2V4h20zm0 5H2v2h20zm0 7H2v2h20z\\\"/>\\n</svg>\",\n 'mergeCell': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M5 19h4v2H4a1 1 0 01-1-1V4a1 1 0 011-1h5v2H5v6h3V9l3 3-3 3v-2H5zM20 3h-5v2h4v6h-3V9l-3 3 3 3v-2h3v6h-4v2h5a1 1 0 001-1V4a1 1 0 00-1-1z\\\"/>\\n</svg>\",\n 'messages': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M14 11H6v-1h8zm-2 2H6v1h6zm10-9v8a2 2 0 01-2 2h-2v2a2 2 0 01-2 2H7l-5 4V8a2 2 0 012-2h12a2 2 0 012 2v4h2V4H6a2 2 0 012-2h12a2 2 0 012 2zm-6 4H4v9.84L6.3 16H16z\\\"/>\\n</svg>\",\n 'microphone': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 8v7a3 3 0 01-3 3h-4v2h3v2H8v-2h3v-2H7a3 3 0 01-3-3V8h2v7a1 1 0 001 1h10a1 1 0 001-1V8zm-4-5v10a1 1 0 01-1 1H9a1 1 0 01-1-1V3a1 1 0 011-1h6a1 1 0 011 1zm-6 1v5h4V4zm4 8v-2h-4v2z\\\"/>\\n</svg>\",\n 'microphoneOff': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 14V8h2v7a2.76 2.76 0 01-.13.82zM10 4h4v5h-.95L16 12V3a1 1 0 00-1-1H9a1 1 0 00-1 1v1l2 2zm-2 9a1 1 0 001 1h1.05L8 12zm5 5h1.05l-2-2H7a1 1 0 01-1-1v-5L4.05 8H4v7a3 3 0 003 3h4v2H8v2h8v-2h-3zm3.67 0H17a2.94 2.94 0 001.77-.59l-1.47-1.47a.94.94 0 01-.3.06h-2.33zM3.35 2L2 3.35 20.66 22 22 20.66z\\\"/>\\n</svg>\",\n 'minus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M3 11h18v2H3z\\\"/>\\n</svg>\",\n 'mobilePhone': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 2H6a1 1 0 00-1 1v18a1 1 0 001 1h12a1 1 0 001-1V3a1 1 0 00-1-1zm-1 2v13H7V4zM7 20v-2h4v1h2v-1h4v2z\\\"/>\\n</svg>\",\n 'multiArrow': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 12l-3-3v2h-5V6h2l-3-3-3 3h2v5H6V9l-3 3 3 3v-2h5v5H9l3 3 3-3h-2v-5h5v2l3-3z\\\"/>\\n</svg>\",\n 'notary': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 4v16H6V4h12m1-2H5a1 1 0 00-1 1v18a1 1 0 001 1h14a1 1 0 001-1V3a1 1 0 00-1-1zm-3 4H8v1h8zm0 3H8v1h8zm-5 3H8v1h3zm6 2a2 2 0 00-4 0 2 2 0 001 1.72V18l1-1 1 1v-2.28A2 2 0 0017 14z\\\"/>\\n</svg>\",\n 'note': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 3H4a1 1 0 00-1 1v16a1 1 0 001 1h12l5-5V4a1 1 0 00-1-1zM5 5h14v9h-5v5H5zm12 4H7V8h10zm-3 3H7v-1h7z\\\"/>\\n</svg>\",\n 'number': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 9V7h-4.5l.5-5h-2l-.5 5h-6l.5-5H8l-.5 5H2v2h5.3l-.6 6H2v2h4.5L6 22h2l.5-5h6l-.5 5h2l.5-5H22v-2h-5.3l.6-6zm-7.3 6h-6l.6-6h6z\\\"/>\\n</svg>\",\n 'numberedList': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 4v2H8V4zm0 7H8v2h12v-2zm0 7H8v2h12v-2zM5 9H3v1h2v1H4a1 1 0 00-1 1v2h3v-1H4v-1h1a1 1 0 001-1v-1a1 1 0 00-1-1zM4 3H3v1h1v3h1V4a1 1 0 00-1-1zm1 13H3v1h2v1H4v1h1v1H3v1h2a1 1 0 001-1v-3a1 1 0 00-1-1z\\\"/>\\n</svg>\",\n 'overflowHorizontal': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 14a2 2 0 112-2 2 2 0 01-2 2zm-6-2a2 2 0 10-2 2 2 2 0 002-2zm16 0a2 2 0 10-2 2 2 2 0 002-2z\\\"/>\\n</svg>\",\n 'overflowVertical': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M10 12a2 2 0 112 2 2 2 0 01-2-2zm2-6a2 2 0 10-2-2 2 2 0 002 2zm0 16a2 2 0 10-2-2 2 2 0 002 2z\\\"/>\\n</svg>\",\n 'pageBreak': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 2v6a1 1 0 01-1 1H5a1 1 0 01-1-1V2h2v5h12V2zM6 22v-5h12v5h2v-6a1 1 0 00-1-1H5a1 1 0 00-1 1v6zm-3-9h2v-2H3zm4 0h2v-2H7zm4 0h2v-2h-2zm4 0h2v-2h-2zm4 0h2v-2h-2z\\\"/>\\n</svg>\",\n 'paintRoller': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 2H6a3 3 0 00-3 3v8a1 1 0 001 1h5v7a1 1 0 001 1h4a1 1 0 001-1v-8a1 1 0 00-1-1H5V9.82A3 3 0 006 10h12a3 3 0 003-3V5a3 3 0 00-3-3zm-7 12h2v6h-2zm8-7a1 1 0 01-1 1H6a1 1 0 01-1-1V5a1 1 0 011-1h12a1 1 0 011 1z\\\"/>\\n</svg>\",\n 'paperclip': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M11 6v6a3 3 0 003 3 3 3 0 003-3V7a5 5 0 00-5-5 5 5 0 00-5 5v10a5 5 0 005 5 5 5 0 005-5v-1h-2v1.13a3 3 0 01-3 3 3 3 0 01-3-3V6.87a3 3 0 013-3 3 3 0 013 3v5.25a1 1 0 01-1 1 1 1 0 01-1-1V6z\\\"/>\\n</svg>\",\n 'pebbleCheck': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 2a10 10 0 1010 10A10 10 0 0012 2zm-.26 14.6a.88.88 0 01-1.35.13L7 13.34 8.34 12l2.51 2.51L15.21 8h2.28z\\\"/>\\n</svg>\",\n 'pebbleError': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22.74 11.41L12.59 1.26a.83.83 0 00-1.18 0L1.26 11.41a.83.83 0 000 1.18l10.15 10.15a.83.83 0 001.18 0l10.15-10.15a.83.83 0 000-1.18zM11 6h2v8h-2zm1 12.3a1.3 1.3 0 111.3-1.3 1.3 1.3 0 01-1.3 1.3z\\\"/>\\n</svg>\",\n 'pebbleInfo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 2a10 10 0 1010 10A10 10 0 0012 2zm1 16h-2v-8h2zm-1-9.7A1.3 1.3 0 1113.3 7 1.3 1.3 0 0112 8.3z\\\"/>\\n</svg>\",\n 'pebbleQuestion': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 3.9A8.1 8.1 0 113.9 12 8.1 8.1 0 0112 3.9M12 2a10 10 0 1010 10A10 10 0 0012 2zm4 7a4 4 0 00-8 0h1.9a2.1 2.1 0 112.55 2.05 6.14 6.14 0 01-1 0L11 11v3h2v-1.14A4 4 0 0016 9zm-2.7 8a1.3 1.3 0 10-1.3 1.3 1.3 1.3 0 001.3-1.3z\\\"/>\\n</svg>\",\n 'pebbleWarning': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22.89 20L12.45 2.25A.57.57 0 0012 2a.5.5 0 00-.45.25L1.1 20a.81.81 0 00-.1.36.69.69 0 00.69.67H22.3a.69.69 0 00.7-.68.66.66 0 00-.11-.35zM13 19h-2v-2h2zm0-4h-2V8h2z\\\"/>\\n</svg>\",\n 'pencil': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21.12 2.88a3 3 0 00-4.24 0L4.41 15.34 3 21l5.66-1.41L21.12 7.12a3 3 0 000-4.24zm-13.43 15l-2.08.52.52-2.08L16.9 5.54l1.56 1.56zm12.09-12.1l-.68.68-1.56-1.56.68-.68a1.1 1.1 0 011.56 1.56z\\\"/>\\n</svg>\",\n 'people': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20.88 12.75A4 4 0 0022 10a4 4 0 00-8 0 3.9 3.9 0 001.13 2.75 5.62 5.62 0 00-1.22.87 7.92 7.92 0 00-2.61-1.89A5 5 0 103 8a4.94 4.94 0 001.69 3.72A8 8 0 000 19v2h24v-3a6 6 0 00-3.12-5.25zM18 7.9a2.1 2.1 0 11-2.1 2.1A2.1 2.1 0 0118 7.9zm-10-3A3.1 3.1 0 114.9 8 3.1 3.1 0 018 4.9zM2 19a6 6 0 0112 0zm20.1.1H16V19a7.9 7.9 0 00-1-3.81A4.09 4.09 0 0122.1 18z\\\"/>\\n</svg>\",\n 'person': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M15.31 11.72A4.94 4.94 0 0017 8 5 5 0 007 8a4.94 4.94 0 001.69 3.72A8 8 0 004 19v2h16v-2a8 8 0 00-4.69-7.28zM12 4.9A3.1 3.1 0 118.9 8 3.1 3.1 0 0112 4.9zM6 19a6 6 0 0112 0z\\\"/>\\n</svg>\",\n 'personPlus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 19h-3v3h-2v-3h-3v-2h3v-3h2v3h3zm-10 2H2v-2a8 8 0 014.7-7.27 5 5 0 116.6 0 8.13 8.13 0 012.34 1.63l-1.4 1.4A6 6 0 004 19h8zM6.9 8a3.1 3.1 0 002.46 3 3 3 0 001.28 0A3.1 3.1 0 106.9 8z\\\"/>\\n</svg>\",\n 'plus': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 11h-8V3h-2v8H3v2h8v8h2v-8h8v-2z\\\"/>\\n</svg>\",\n 'printer': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 7h-2V3a1 1 0 00-1-1H7a1 1 0 00-1 1v4H4a1 1 0 00-1 1v8a1 1 0 001 1h2v4a1 1 0 001 1h10a1 1 0 001-1v-4h2a1 1 0 001-1V8a1 1 0 00-1-1zM8 4h8v3H8zm8 16H8v-7h8zm3-5h-1v-4H6v4H5V9h14zM9 17h6v1H9zm2-2h4v1h-4z\\\"/>\\n</svg>\",\n 'radar': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 19.1a7.1 7.1 0 114.3-12.74l-1.5 1.5a5 5 0 10.74 7.68l-.64-.64a4.1 4.1 0 11-2.9-7 4 4 0 012.14.62l-1.57 1.57A2.19 2.19 0 0012 10a2 2 0 102 2 2.19 2.19 0 00-.09-.57L21 4.34 19.66 3l-2 2A9 9 0 1012 21a8.94 8.94 0 006.36-2.64L17 17a7.11 7.11 0 01-5 2.1z\\\"/>\\n</svg>\",\n 'redo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M7.21 5H11v2H7.17A3.13 3.13 0 004 9.84 3 3 0 007 13h11.66L15 9.34 16.34 8l5.4 5.4a.82.82 0 010 1.2l-5.4 5.4L15 18.66 18.66 15H7a5 5 0 01-5-5.49A5.15 5.15 0 017.21 5z\\\"/>\\n</svg>\",\n 'refresh': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 12a9 9 0 01-.95 4h-2.19a7.1 7.1 0 00-6.1-11.1L13.81 8h-2.29L9.14 4.42a.7.7 0 010-.84L11.52 0h2.29l-2 3H12a9 9 0 019 9zm-8.52 4h-2.29l2.06 3.08A7.1 7.1 0 016.14 8H4a9 9 0 008 13h.2l-2 3h2.29l2.38-3.58a.7.7 0 000-.84z\\\"/>\\n</svg>\",\n 'reports': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19 19V5a1 1 0 00-1-1h-4a1 1 0 00-1 1v6h-3a1 1 0 00-1 1v3H6a1 1 0 00-1 1v3H3v2h18v-2zM7 19v-2h2v2zm4 0v-6h2v6zm4 0V6h2v13z\\\"/>\\n</svg>\",\n 'rotateLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 3l2-3h-2.33L9.18 3.41A1 1 0 009 4a1 1 0 00.18.59L11.67 8H14l-2.11-3.09H12A7.11 7.11 0 116.14 8H4a9 9 0 108-5z\\\"/>\\n</svg>\",\n 'rotateRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 3h.05l-2-3h2.28l2.49 3.41A1 1 0 0115 4a1 1 0 01-.18.59L12.33 8h-2.28l2.06-3.09H12A7.11 7.11 0 1017.86 8h2.19a9 9 0 11-8-5z\\\"/>\\n</svg>\",\n 'scan': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M8 5H5v3H3V4a1 1 0 011-1h4zM3 16v4a1 1 0 001 1h4v-2H5v-3zm18-8V4a1 1 0 00-1-1h-4v2h3v3zm-5 13h4a1 1 0 001-1v-4h-2v3h-3zm5-10H3v2h18z\\\"/>\\n</svg>\",\n 'search': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 20.66l-5.72-5.72A7.9 7.9 0 0018 10a8 8 0 10-8 8 7.9 7.9 0 004.94-1.72L20.66 22zM10 16.1a6.1 6.1 0 116.1-6.1 6.11 6.11 0 01-6.1 6.1z\\\"/>\\n</svg>\",\n 'select': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19.1 4.9v14.2H4.9V4.9h14.2M20 3H4a1 1 0 00-1 1v16a1 1 0 001 1h16a1 1 0 001-1V4a1 1 0 00-1-1zM7 10l4.26 4.69a1 1 0 001.48 0L17 10z\\\"/>\\n</svg>\",\n 'send': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21.58 11.36l-17.8-8.3A.53.53 0 003.54 3a.57.57 0 00-.54.47.54.54 0 000 .27L6 12l-3 8.25a.6.6 0 000 .22.57.57 0 00.51.53.53.53 0 00.27-.06l17.8-8.3a.7.7 0 000-1.28zm-6-.36H7.67L6.21 6.62zm-7.91 2h7.91l-9.37 4.38z\\\"/>\\n</svg>\",\n 'shareAndroid': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 14a4 4 0 00-3 1.42l-5.11-2.53a3.66 3.66 0 000-1.78L15 8.58A4 4 0 1014 6a3.74 3.74 0 00.11.89L9 9.42a4 4 0 100 5.16l5.08 2.53A3.74 3.74 0 0014 18a4 4 0 104-4zm0-10.1A2.1 2.1 0 1115.9 6 2.1 2.1 0 0118 3.9zM6 14.1A2.1 2.1 0 118.1 12 2.1 2.1 0 016 14.1zm12 6a2.1 2.1 0 112.1-2.1 2.1 2.1 0 01-2.1 2.1z\\\"/>\\n</svg>\",\n 'shareWeb': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20.71 8.29L15.42 3 14 4.42 17.59 8H7a4 4 0 00-4 4v8h2v-8a2 2 0 012-2h10.59L14 13.58 15.42 15l5.29-5.29a1 1 0 000-1.42z\\\"/>\\n</svg>\",\n 'share_iOS': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 14v6a2 2 0 01-2 2H6a2 2 0 01-2-2v-6a2 2 0 012-2h2v2H6v6h12v-6h-2v-2h2a2 2 0 012 2zm-7 4V5.41L16.59 9 18 7.59l-5.29-5.3a1 1 0 00-1.42 0L6 7.58 7.42 9 11 5.41V18z\\\"/>\\n</svg>\",\n 'shield': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 4l6 .75V13a4 4 0 01-1.6 3.2L12 19.5l-4.4-3.3A4 4 0 016 13V4.77L12 4m0-2L4 3v10a6 6 0 002.4 4.8L12 22l5.6-4.2A6 6 0 0020 13V3l-8-1z\\\"/>\\n</svg>\",\n 'sign': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 21v1H3v-1zM20.7 4.72a3 3 0 01-.58 3.4L8.66 19.59 3 21l1.41-5.66L15.88 3.88A3 3 0 0118 3a3 3 0 011.28.3L20.59 2 22 3.41zM10.46 15.1L8.9 13.54l-2.77 2.77-.52 2.08 2.08-.52zM19.1 6a1.1 1.1 0 00-1.88-.78L9.54 12.9l1.56 1.56 7.68-7.68A1.1 1.1 0 0019.1 6z\\\"/>\\n</svg>\",\n 'speedometer': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M4.93 19.07a10 10 0 1114.14 0l-1.35-1.35a8.1 8.1 0 10-11.44 0zM16.24 6.34l-.77.77A5.93 5.93 0 0012 6a6 6 0 00-6 6 5.94 5.94 0 001.76 4.24l.64-.64A5 5 0 016.9 12a5.1 5.1 0 017.93-4.24l-3.54 3.53a1 1 0 001.42 1.42l4.95-5z\\\"/>\\n</svg>\",\n 'stamp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 20v2H4v-2zm1-6v4a1 1 0 01-1 1H4a1 1 0 01-1-1v-4a1 1 0 011-1h5v-.38a4 4 0 00-.91-2.53 4.89 4.89 0 01-1-4 5 5 0 013.84-4A5.63 5.63 0 0112 2a5 5 0 015 5 4.93 4.93 0 01-1.11 3.12 3.94 3.94 0 00-.89 2.5V13h5a1 1 0 011 1zm-10-1.38V13h2v-.38a5.94 5.94 0 011.34-3.76A3 3 0 0015 7a3 3 0 00-3-3 3 3 0 00-2.35 4.84A6.09 6.09 0 0111 12.62zM19 15H5v2h14z\\\"/>\\n</svg>\",\n 'star': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 6.12l1.73 3.6 3.89.5-2.72 3.36 1.1 3.58-4-2.35-4 2.35 1.1-3.58-2.72-3.36 3.89-.5M12 2L9 8 3 9l4 5-2 7 7-4 7 4-2-7 4-5-6-1-3-6z\\\"/>\\n</svg>\",\n 'starFilled': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12 2L9 8 3 9l4 5-2 7 7-4 7 4-2-7 4-5-6-1-3-6z\\\"/>\\n</svg>\",\n 'strikethrough': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 11v1H2v-1h4.57A3.89 3.89 0 016 9V8a5 5 0 015-5h2a5 5 0 015 5v1h-2V8a3 3 0 00-3-3h-2a3 3 0 00-3 3v1a2 2 0 002 2h12zm-6.28 3a2 2 0 01.28 1v1a3 3 0 01-3 3h-2a3 3 0 01-3-3v-1H6v1a5 5 0 005 5h2a5 5 0 005-5v-1a4.09 4.09 0 00-.14-1z\\\"/>\\n</svg>\",\n 'suggest': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 10v7a1 1 0 01-1 1H8l-6 4V5a1 1 0 011-1h9v2H4v12.26l2.89-1.92.5-.34H20v-6zm1.12-4.88l-6.46 6.47L11 13H7v-1h4.25l.5-2H7V9h5l.41-1.66L18.88.88a3 3 0 014.24 0 3 3 0 010 4.24zm-2.66 0L18.9 3.54l-4.77 4.77-.52 2.08 2.08-.52zM22.1 3a1.1 1.1 0 00-1.88-.78l-.68.68 1.56 1.56.68-.68A1.1 1.1 0 0022.1 3z\\\"/>\\n</svg>\",\n 'support': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19 9h-1V8a5 5 0 00-5-5h-2a5 5 0 00-5 5v1H5a2 2 0 00-2 2v4a2 2 0 002 2h3a1 1 0 001-1v-6a1 1 0 00-1-1V8a3 3 0 013-3h2a3 3 0 013 3v1a1 1 0 00-1 1v6a1 1 0 001 1v2a1 1 0 01-1 1h-1v2h1a3 3 0 003-3v-2h1a2 2 0 002-2v-4a2 2 0 00-2-2zM7 15H5v-4h2zm12 0h-2v-4h2zm-6 7h-3v-2h3z\\\"/>\\n</svg>\",\n 'swatch': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 13h-3.35l4.05-4.06a1 1 0 00.3-.7 1 1 0 00-.3-.71l-4.24-4.24a1 1 0 00-1.41 0L11 7.33V4a1 1 0 00-1-1H4a1 1 0 00-1 1v16a1 1 0 001 1h16a1 1 0 001-1v-6a1 1 0 00-1-1zM9 19H5v-4h4zm0-5H5v-4h4zm0-5H5V5h4zm2 1.16l4.75-4.75 2.83 2.83L11 15.82zM19 19h-8v-.35L14.65 15H19z\\\"/>\\n</svg>\",\n 'table': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M11 5v6H5V5h6m2-2H3v10h10V3zm2 0v2h4v6h-4v2h4v6h-6v-4h-2v4H5v-4H3v6h18V3z\\\"/>\\n</svg>\",\n 'tablet': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm-3 2v12H7V6zM4 6h2v5H5v2h1v5H4zm16 12h-2V6h2z\\\"/>\\n</svg>\",\n 'tag': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M16.87 4l3.72 3.72-.48 3.38-9.52 9.53-7.22-7.22L12.79 4h4.08m.37-1.9h-4.83a1 1 0 00-.7.29L1.39 12.71a1 1 0 000 1.41l8.49 8.49a1 1 0 001.41 0l10.37-10.37a1 1 0 00.29-.57l.59-4.12a1 1 0 00-.29-.85L18 2.39a1 1 0 00-.71-.29zm-1.7 5.26a1.13 1.13 0 011.1 1.1 1.09 1.09 0 01-.33.78 1.06 1.06 0 01-.77.32 1.09 1.09 0 01-1.1-1.1 1.06 1.06 0 01.32-.77 1.09 1.09 0 01.78-.33m0-.9a2 2 0 101.46.59 2 2 0 00-1.41-.59z\\\"/>\\n</svg>\",\n 'templateView': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 6v12H4V6h16m1-2H3a1 1 0 00-1 1v14a1 1 0 001 1h18a1 1 0 001-1V5a1 1 0 00-1-1z\\\"/>\\n</svg>\",\n 'templates': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 3H4a1 1 0 00-1 1v16a1 1 0 001 1h16a1 1 0 001-1V4a1 1 0 00-1-1zm-1 2v4H5V5zM5 10h5v9H5zm6 9v-9h8v9z\\\"/>\\n</svg>\",\n 'text': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M4 3v4h2V5h5v15H9v2h6v-2h-2V5h5v2h2V3H4z\\\"/>\\n</svg>\",\n 'textAlignCenter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 5H3V3h18zm0 6H3v2h18zm-4-4H7v2h10zm0 8H7v2h10zm4 4H3v2h18z\\\"/>\\n</svg>\",\n 'textAlignLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M15 5H3V3h12zm1 6H3v2h13zm5-4H3v2h18zm0 8H3v2h18zm-10 4H3v2h8z\\\"/>\\n</svg>\",\n 'textAlignRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M9 3h12v2H9zM8 13h13v-2H8zM3 9h18V7H3zm0 8h18v-2H3zm10 4h8v-2h-8z\\\"/>\\n</svg>\",\n 'textColor': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19 21h2L14.27 3.72a1.12 1.12 0 00-1-.72h-2.5a1.12 1.12 0 00-1 .72L3 21h2l2.79-6.13h8.42zM8.5 13l3.11-8h.78l3.11 8z\\\"/>\\n</svg>\",\n 'textIndentLeft': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M3 3h18v2H3zm0 6h11V7H3zm0 4h11v-2H3zm0 4h11v-2H3zm0 4h18v-2H3zM21 9l-2.61 2.24a.94.94 0 000 1.52L21 15z\\\"/>\\n</svg>\",\n 'textIndentRight': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 5H3V3h18zm0 2H10v2h11zm0 4H10v2h11zm0 4H10v2h11zm0 4H3v2h18zM3 15l2.61-2.24a.94.94 0 000-1.52L3 9z\\\"/>\\n</svg>\",\n 'textJustifyCenter': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 5H3V3h18zm0 2H3v2h18zm0 4H3v2h18zm0 4H3v2h18zm0 4H3v2h18z\\\"/>\\n</svg>\",\n 'textLong': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 11H2V9h20zm0-6H2v2h20zm0 8H2v2h20zm-6 4H2v2h14z\\\"/>\\n</svg>\",\n 'textShort': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 11H2V9h20zm-6 2H2v2h14z\\\"/>\\n</svg>\",\n 'thumbsDown': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M11.41 19.51L10.19 15a4 4 0 00-3.88-3H4V7h.46A8 8 0 008 6.15l1.5-.73A4.09 4.09 0 0111.29 5h6.83a1 1 0 011 .84l1 6a1 1 0 01-1 1.16H13v6.32a.81.81 0 01-1.59.19zm.78 2.49A2.81 2.81 0 0015 19.19V15h4a3 3 0 003-3 2.7 2.7 0 000-.49l-1-6A3 3 0 0018 3h-6.58a6.08 6.08 0 00-2.69.63l-1.46.74A6.14 6.14 0 014.58 5H2v9h4.44a2 2 0 011.94 1.52l1.09 4.35A2.8 2.8 0 0012.19 22z\\\"/>\\n</svg>\",\n 'thumbsUp': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M12.19 3.87a.81.81 0 01.81.81V11h6.12a1 1 0 011 1.16l-1 6a1 1 0 01-1 .84h-6.83a4.09 4.09 0 01-1.79-.42L8 17.85A8 8 0 004.46 17H4v-5h2.31a4 4 0 003.88-3l1.22-4.48a.81.81 0 01.78-.65zm0-1.87a2.8 2.8 0 00-2.72 2.13L8.38 8.48A2 2 0 016.44 10H2v9h2.58a6.14 6.14 0 012.69.63l1.46.74a6.08 6.08 0 002.69.63H18a3 3 0 003-2.51l1-6a2.7 2.7 0 000-.49 3 3 0 00-3-3h-4V4.81A2.81 2.81 0 0012.19 2z\\\"/>\\n</svg>\",\n 'trash': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 4H4v2h1v15a1 1 0 001 1h12a1 1 0 001-1V6h1zm-3 16H7V6h10zM15 3H9V2h6zm-4 15h-1V8h1zm3 0h-1V8h1z\\\"/>\\n</svg>\",\n 'underline': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M19 3v9a7 7 0 01-7 7 7 7 0 01-7-7V3h2v9a5 5 0 005 5 5 5 0 005-5V3zm1 17H4v1h16z\\\"/>\\n</svg>\",\n 'undo': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M16.79 5H13v2h3.83A3.13 3.13 0 0120 9.84 3 3 0 0117 13H5.34L9 9.34 7.66 8l-5.4 5.4a.82.82 0 000 1.2l5.4 5.4L9 18.66 5.34 15H17a5 5 0 005-5.49A5.15 5.15 0 0016.79 5z\\\"/>\\n</svg>\",\n 'unlock': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M13 18h-2v-3h2zm7-6v9a1 1 0 01-1 1H5a1 1 0 01-1-1v-9a1 1 0 011-1h1V8a6 6 0 0112 0h-2a4 4 0 00-8 0v3h11a1 1 0 011 1zm-2 1H6v7h12z\\\"/>\\n</svg>\",\n 'upload': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M20 22H4v-1h16zm0-12.34l-7.4-7.4a.82.82 0 00-1.2 0L4 9.66 5.34 11 11 5.34V19h2V5.34L18.66 11z\\\"/>\\n</svg>\",\n 'videoCamera': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21.49 5.47a.58.58 0 00-.3.09L17 8.5V6a1 1 0 00-1-1H3a1 1 0 00-1 1v12a1 1 0 001 1h13a1 1 0 001-1v-2.5l4.19 2.94a.58.58 0 00.3.09A.51.51 0 0022 18V6a.51.51 0 00-.51-.53zM15 17H4V7h11zm5-1.84l-3-2.1v-2.12l3-2.1z\\\"/>\\n</svg>\",\n 'videoCameraOff': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M9 5h7a1 1 0 011 1v2.5l4.19-2.94a.58.58 0 01.3-.09A.51.51 0 0122 6v12l-4.67-4.67L20 15.16V8.84l-3 2.1v2l-2-2V7h-4zm4 12H4V8L2 6v12a1 1 0 001 1h12zM3.35 2L2 3.35 20.66 22 22 20.66z\\\"/>\\n</svg>\",\n 'waffle': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M7 7H3V3h4zm7-4h-4v4h4zm7 0h-4v4h4zM7 10H3v4h4zm7 0h-4v4h4zm7 0h-4v4h4zM7 17H3v4h4zm7 0h-4v4h4zm7 0h-4v4h4z\\\"/>\\n</svg>\",\n 'wallet': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M21 9h-1V3a1 1 0 00-1-1H5a1 1 0 00-1 1v6a2 2 0 00-2 2v9a2 2 0 002 2h17a1 1 0 001-1V10a1 1 0 00-1-1zM6 6l2-2h8l2 2v3h-4.28a2 2 0 10-3.44 0H6zm14 11h-7v-3h7zm0-4h-7a1 1 0 00-1 1v3a1 1 0 001 1h7v2H4v-9h16zm-5 3h-1v-1h1z\\\"/>\\n</svg>\",\n 'workflow': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M18 6V4h-6a1 1 0 00-1 1v6H7.82a3 3 0 100 2H11v6a1 1 0 001 1h6v-2h-5v-5h5v-2h-5V6zM5 13.1A1.1 1.1 0 116.1 12 1.1 1.1 0 015 13.1zM22 3v4h-2V3zm0 7v4h-2v-4zm0 7v4h-2v-4z\\\"/>\\n</svg>\",\n 'zoomIn': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 20.66l-5.72-5.72A7.9 7.9 0 0018 10a8 8 0 10-8 8 7.9 7.9 0 004.94-1.72L20.66 22zM10 16.1a6.1 6.1 0 116.1-6.1 6.11 6.11 0 01-6.1 6.1zm4-5.1h-3v3H9v-3H6V9h3V6h2v3h3z\\\"/>\\n</svg>\",\n 'zoomOut': \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\">\\n <path d=\\\"M22 20.66l-5.72-5.72A7.9 7.9 0 0018 10a8 8 0 10-8 8 7.9 7.9 0 004.94-1.72L20.66 22zM10 16.1a6.1 6.1 0 116.1-6.1 6.11 6.11 0 01-6.1 6.1zm4-5.1H6V9h8z\\\"/>\\n</svg>\"\n};\nexport var inkSystem = {\n size: 24,\n icons: icons\n};","import { docuSignThemeName } from '../docuSignThemeName'\n\nimport fonts from './fonts'\nimport icons from './icons'\nimport styles from './styles'\nimport tokens from './tokens'\n\nexport const InkDocuSignTheme = {\n name: docuSignThemeName.ink,\n fonts,\n icons,\n styles,\n tokens,\n} as const\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Tokens } from '../../../theming/types'\n\nimport { styles } from '../../../utilities'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n textarea: {\n ...tokens.typography.bodyMedium,\n appearance: 'none',\n background: tokens.form.defaultBackgroundColor,\n border: `1px solid ${tokens.form.defaultBorderColor}`,\n borderRadius: '2px',\n color: tokens.text.defaultColor,\n display: 'block',\n fontFamily: tokens.font.body,\n margin: 0,\n minHeight: '68px',\n overflow: 'auto',\n padding: '6px 8px',\n width: '100%',\n\n '&:hover': {\n borderColor: tokens.form.hoverBorderColor,\n },\n\n '&:disabled': {\n backgroundColor: tokens.form.disabledBackgroundColor,\n cursor: 'not-allowed',\n opacity: tokens.form.disabledOpacity,\n },\n\n '&:read-only': {\n backgroundColor: tokens.form.readOnlyBackgroundColor,\n borderColor: tokens.form.readOnlyBorderColor,\n color: tokens.form.readOnlyTextColor,\n },\n\n '&:focus': {\n outline: tokens.form.focusOutline,\n outlineOffset: tokens.form.focusOutlineOffset,\n },\n\n '&::placeholder': {\n color: tokens.text.subtleColor,\n opacity: 1,\n },\n\n /* Hide Internet Explorer 'clear field' icon */\n '&::-ms-clear': {\n height: 0,\n width: 0,\n },\n\n /* Hide Internet Explorer 'reveal password' icon */\n '&::-ms-reveal': {\n height: 0,\n width: 0,\n },\n\n ...styles.touchScreenFormFieldFontSize,\n },\n },\n\n resizeHorizontal: {\n textarea: {\n resize: 'horizontal',\n },\n },\n\n resizeNone: {\n textarea: {\n resize: 'none',\n },\n },\n\n resizeVertical: {\n textarea: {\n resize: 'vertical',\n },\n },\n\n invalid: {\n textarea: {\n borderColor: tokens.form.errorBorderColor,\n\n '&:hover': {\n borderColor: tokens.form.errorBorderColor,\n },\n },\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { dataProps, onProps } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../../support'\nimport { useThemeStyles } from '../../../theming'\nimport { variant } from '../../../utilities'\n\nimport baseStyles from './styles'\n\nfunction InputTextArea(props) {\n const {\n autoCapitalize,\n autoComplete,\n ariaDescribedById,\n disabled,\n forwardedRef,\n height,\n invalid,\n id,\n maxLength,\n name,\n onChange,\n placeholder,\n readOnly,\n required,\n resize,\n value,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'InputTextArea')\n\n const resizeVariant = variant('resize', resize)\n\n const textareaStyles = [\n styles.default.textarea,\n invalid && styles.invalid.textarea,\n resize && styles[resizeVariant]?.textarea,\n ]\n\n const inlineStyles = {\n ...(height && { height }),\n }\n\n return (\n <textarea\n {...dataProps(props)}\n {...onProps(restProps)}\n autoCapitalize={autoCapitalize}\n autoComplete={autoComplete}\n aria-describedby={ariaDescribedById}\n aria-invalid={invalid ? true : null}\n css={textareaStyles}\n disabled={disabled}\n id={id}\n maxLength={maxLength || null}\n name={name}\n onChange={onChange}\n placeholder={placeholder}\n readOnly={readOnly}\n ref={forwardedRef}\n required={required}\n style={inlineStyles}\n value={value}\n />\n )\n}\n\nInputTextArea.resizeValues = ['both', 'horizontal', 'none', 'vertical']\n\nInputTextArea.propTypes = {\n /**\n * The 'id' for the aria-describedby and associated error.\n */\n ariaDescribedById: PropTypes.string,\n\n /**\n * Adds the 'autocapitalize' HTML attribute to the rendered `<textarea>`.\n */\n autoCapitalize: PropTypes.string,\n\n /**\n * Adds the 'autocomplete' HTML attribute to the rendered `<textarea>`.\n */\n autoComplete: PropTypes.string,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Disables the InputTextArea.\n */\n disabled: PropTypes.bool,\n\n /**\n * A React ref to assign to the HTML node representing the TextArea element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * The CSS height of the rendered `<textarea>`.\n */\n height: PropTypes.string,\n\n /**\n * The 'id' of the InputTextArea input.\n */\n id: PropTypes.string,\n\n /**\n * An invalid state on one of the children form elements.\n */\n invalid: PropTypes.bool,\n\n /**\n * The maxlength HTML attribute for the input.\n */\n maxLength: PropTypes.number,\n\n /**\n * The name for the InputTextArea.\n */\n name: PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when user input is received.\n */\n onChange: PropTypes.func,\n\n /**\n * Placeholder text for InputTextArea.\n */\n placeholder: PropTypes.string,\n\n /**\n * Sets the InputTextArea to read-only.\n */\n readOnly: PropTypes.bool,\n\n /**\n * Adds a visual treatment indicating that the associated control requires a value.\n */\n required: PropTypes.bool,\n\n /**\n * The options for the ability for resizing of the TextArea.\n * Defaults to true for both vertical and horizontal.\n */\n resize: PropTypes.oneOf(InputTextArea.resizeValues),\n\n /**\n * The contents of the InputTextArea.\n */\n value: PropTypes.string,\n}\n\nInputTextArea.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n ariaDescribedById: undefined,\n autoCapitalize: undefined,\n autoComplete: undefined,\n disabled: false,\n forwardedRef: undefined,\n height: undefined,\n id: undefined,\n invalid: false,\n maxLength: 0,\n name: undefined,\n onChange: undefined,\n placeholder: undefined,\n readOnly: false,\n required: false,\n resize: 'both',\n value: undefined,\n}\n\nInputTextArea.displayName = 'InputTextArea'\n\nexport default InputTextArea\n","import React, { useEffect, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps, useUniqueId, mergeRefs } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../support'\nimport { useIsInk } from '../../theming'\n\nimport AboveInputContainer from '../AboveInputContainer'\nimport BelowInputContainer from '../BelowInputContainer'\nimport InputCount from '../../internal/components/InputCount'\nimport InputDescription from '../../internal/components/InputDescription'\nimport InputLabel from '../../internal/components/InputLabel'\nimport InputTextArea from '../../internal/components/InputTextArea'\n\n/**\n * Text Areas allow users to input multiple lines of text.\n */\nfunction TextArea(props) {\n const {\n autoCapitalize,\n autoComplete,\n autoExpand,\n characterCount,\n description,\n disabled,\n error,\n forwardedRef,\n hideLabel,\n label,\n maxLength,\n name,\n onChange,\n placeholder,\n readOnly,\n required,\n resize,\n value,\n ...restProps\n } = props\n\n const [height, setHeight] = useState()\n\n const textAreaRef = useRef(null)\n\n const textAreaId = useUniqueId('short')\n const descriptionId = useUniqueId('short')\n const errorId = useUniqueId('short')\n\n const isInk = useIsInk()\n\n const errorIdValue = error ? errorId : ''\n // eslint-disable-next-line no-nested-ternary\n const descriptionIdValue = isInk\n ? description\n ? descriptionId\n : ''\n : description && !error\n ? descriptionId\n : ''\n\n const ariaDescribedByValue = `${errorIdValue} ${descriptionIdValue}`.trim()\n\n useEffect(() => {\n /**\n * The reason why this code is bizarre is because we need to trigger two\n * renders to properly shrink the textarea to the content before applying\n * scrollHeight+2.\n *\n * By calling setHeight twice in a setTimeout appears to give two commits\n * 1. commit with 'auto'\n * 2. commit with scrollHeight+2\n *\n * Before you try to refactor keep these use-cases in mind:\n *\n * - textarea should shrink to meet the initial content's height\n * - textarea should expand when user's content wraps to next line\n * - textarea shrinks when user deletes a row\n */\n const handleResize = () => {\n const textArea = textAreaRef.current\n if (autoExpand && textArea) {\n setHeight('auto')\n setHeight(`${textArea.scrollHeight + 2}px`)\n }\n }\n setTimeout(handleResize, 0)\n return handleResize\n }, [autoExpand, value])\n\n const textAreaPlaceholder =\n required && hideLabel ? `${placeholder} *` : placeholder\n\n const InputLabelNode = (\n <InputLabel\n forId={textAreaId}\n hidden={hideLabel}\n disabled={disabled}\n required={required}\n >\n {label}\n </InputLabel>\n )\n\n const ErrorNode = error && (\n <InputDescription id={errorId} kind=\"error\">\n {error}\n </InputDescription>\n )\n\n const InputCountNode = !!maxLength && characterCount && (\n <InputCount\n id={descriptionId}\n currentLength={value.length}\n maxLength={maxLength}\n />\n )\n\n const DescriptionNode = description && (\n <InputDescription id={descriptionId} kind=\"helper\" disabled={disabled}>\n {description}\n </InputDescription>\n )\n\n return (\n <>\n <AboveInputContainer\n description={isInk && DescriptionNode}\n hideLabel={hideLabel}\n label={InputLabelNode}\n />\n\n <InputTextArea\n {...dataProps(restProps)}\n {...onProps(restProps)}\n ariaDescribedById={ariaDescribedByValue}\n autoCapitalize={autoCapitalize}\n autoComplete={autoComplete}\n disabled={disabled}\n forwardedRef={mergeRefs(forwardedRef, textAreaRef)}\n height={height}\n id={textAreaId}\n invalid={!!error}\n maxLength={maxLength && !characterCount ? maxLength : null}\n name={name}\n onChange={onChange}\n placeholder={textAreaPlaceholder}\n readOnly={readOnly}\n required={required}\n resize={resize}\n value={value}\n />\n\n <BelowInputContainer\n count={InputCountNode}\n description={!isInk && DescriptionNode}\n error={ErrorNode}\n />\n </>\n )\n}\n\nexport const TextAreaResizeValues = ['both', 'horizontal', 'none', 'vertical']\n\nTextArea.resizeValues = TextAreaResizeValues\n\nTextArea.propTypes = {\n /**\n * Adds the 'autocapitalize' HTML attribute to the rendered `<textarea>`.\n * More information [here](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize).\n */\n autoCapitalize: PropTypes.string,\n\n /**\n * Adds the 'autocomplete' HTML attribute to the rendered `<textarea>`.\n * More information [here](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete).\n */\n autoComplete: PropTypes.string,\n\n /**\n * Vertically expand the TextArea to show all of its content.\n */\n autoExpand: PropTypes.bool,\n\n /**\n * Displays a \"Characters remaining\" description when a value is also\n * provided for the 'maxLength' prop.\n */\n characterCount: PropTypes.bool,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * Applies a 'description' treatment, displaying the provided text.\n */\n description: PropTypes.string,\n\n /**\n * Disables the TextArea.\n */\n disabled: PropTypes.bool,\n\n /**\n * Applies an 'error' treatment, displaying the provided text.\n */\n error: PropTypes.string,\n\n /**\n * A React ref to assign to the HTML node representing the TextArea element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Hide the TextArea text while allowing assistive devices to identify the control.\n */\n hideLabel: PropTypes.bool,\n\n /**\n * The text label for the TextArea.\n */\n label: PropTypes.string.isRequired,\n\n /**\n * Used to calculate the \"Characters remaining\" description when the 'characterCount'\n * prop is provided, otherwise is used for the maxlength HTML attribute of the\n * rendered input element.\n */\n maxLength: PropTypes.number,\n\n /**\n * The name HTML attribute for the TextArea.\n */\n name: PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when user input is received.\n */\n onChange: PropTypes.func,\n\n /**\n * Placeholder text for TextArea.\n */\n placeholder: PropTypes.string,\n\n /**\n * Set the TextArea to read-only.\n */\n readOnly: PropTypes.bool,\n\n /**\n * Adds a visual treatment indicating that the associated control requires a value.\n */\n required: PropTypes.bool,\n\n /**\n * The options for the ability for resizing of the TextArea.\n * Defaults to true for both vertical and horizontal.\n * More information [here](https://developer.mozilla.org/en-US/docs/Web/CSS/resize).\n */\n resize: PropTypes.oneOf(TextAreaResizeValues),\n\n /**\n * The contents of the TextArea.\n */\n value: PropTypes.string,\n}\n\nTextArea.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n autoCapitalize: '',\n autoComplete: '',\n autoExpand: false,\n characterCount: false,\n description: '',\n disabled: false,\n error: '',\n forwardedRef: undefined,\n hideLabel: false,\n maxLength: 0,\n name: undefined,\n onChange: undefined,\n placeholder: '',\n readOnly: false,\n required: false,\n resize: 'both',\n value: '',\n}\n\nTextArea.displayName = 'TextArea'\n\nexport default TextArea\n","export default {\n 'add': 'plus',\n 'add-column-left': 'boxPlusBefore',\n 'add-column-right': 'boxPlusAfter',\n 'add-row-above': 'boxPlusAbove',\n 'add-row-below': 'boxPlusBelow',\n 'addColumnLeft': 'boxPlusBefore',\n 'addColumnRight': 'boxPlusAfter',\n 'addRowAbove': 'boxPlusAbove',\n 'addRowBelow': 'boxPlusBelow',\n 'alert': 'pebbleWarning',\n 'alert-triangle': 'pebbleWarning',\n 'alertTriangle': 'pebbleWarning',\n 'attachment': 'paperclip',\n 'caret-down': 'chevronDown',\n 'caret-left': 'chevronLeft',\n 'caret-right': 'chevronRight',\n 'caret-up': 'chevronUp',\n 'caretDown': 'chevronDown',\n 'caretLeft': 'chevronLeft',\n 'caretRight': 'chevronRight',\n 'caretUp': 'chevronUp',\n 'chat': 'messages',\n 'circle-check': 'pebbleCheck',\n 'circleCheck': 'pebbleCheck',\n 'commission-county': 'courthouse',\n 'commission-number': 'number',\n 'commissionCounty': 'courthouse',\n 'commissionNumber': 'number',\n 'completed': 'check',\n 'computer': 'desktop',\n 'copy': 'duplicate',\n 'date': 'calendar',\n 'documents': 'document',\n 'edit': 'pencil',\n 'email': 'envelope',\n 'enter': 'insert',\n 'expanded-list': 'detailView',\n 'expandedList': 'detailView',\n 'fields-merge': 'fieldMerge',\n 'fields-standard': 'field',\n 'fieldsMerge': 'fieldMerge',\n 'fieldsStandard': 'field',\n 'formula': 'function',\n 'globe': 'globeLanguage',\n 'gripper-rectangle': 'gripperBar',\n 'gripperRectangle': 'gripperBar',\n 'hash': 'number',\n 'help': 'pebbleQuestion',\n 'hide': 'eyeSlash',\n 'id-card': 'idBadge',\n 'idCard': 'idBadge',\n 'info': 'pebbleInfo',\n 'italic': 'italics',\n 'language': 'globeLanguage',\n 'list': 'bulletedList',\n 'location': 'locationPin',\n 'mail': 'envelope',\n 'menu-hamburger': 'menu',\n 'menu-overflow-horizontal': 'overflowHorizontal',\n 'menu-overflow-vertical': 'overflowVertical',\n 'menu-waffle': 'waffle',\n 'menuHamburger': 'menu',\n 'menuOverflowHorizontal': 'overflowHorizontal',\n 'menuOverflowVertical': 'overflowVertical',\n 'menuWaffle': 'waffle',\n 'move-cursor': 'multiArrow',\n 'moveCursor': 'multiArrow',\n 'name': 'person',\n 'notification': 'bell',\n 'number-list': 'numberedList',\n 'numberList': 'numberedList',\n 'paste': 'clipboard',\n 'phone-mobile': 'mobilePhone',\n 'phoneMobile': 'mobilePhone',\n 'print': 'printer',\n 'read-data': 'dataRead',\n 'read-write-data': 'dataReadWrite',\n 'readData': 'dataRead',\n 'readWriteData': 'dataReadWrite',\n 'seal-notary': 'award',\n 'sealNotary': 'award',\n 'sent': 'send',\n 'settings': 'gear',\n 'shared': 'people',\n 'signature': 'sign',\n 'state': 'flag',\n 'support-contact': 'support',\n 'supportContact': 'support',\n 'sync': 'refresh',\n 'text-center': 'textAlignCenter',\n 'text-justify': 'textJustifyCenter',\n 'text-left': 'textAlignLeft',\n 'text-right': 'textAlignRight',\n 'textCenter': 'textAlignCenter',\n 'textJustify': 'textJustifyCenter',\n 'textLeft': 'textAlignLeft',\n 'textRight': 'textAlignRight',\n 'trust-center': 'shield',\n 'trustCenter': 'shield',\n 'type-image': 'image',\n 'typeImage': 'image',\n 'upload-cloud': 'cloudUpload',\n 'uploadCloud': 'cloudUpload',\n 'user': 'person',\n 'view': 'eye',\n 'voided': 'block',\n 'waiting-for-others': 'clock',\n 'waitingForOthers': 'clock'\n};","import { useMemoizedDeepmerge } from '@ds/react-utils'\n\nimport { OliveDocuSignTheme } from '../docusign-themes/olive'\nimport { useTheme } from './useTheme'\n\nexport const useThemeIcons = () => {\n const { icons } = useTheme()\n const themeIcons = useMemoizedDeepmerge(OliveDocuSignTheme.icons, icons)\n return themeIcons\n}\n","import { camelCase } from 'change-case'\nimport { CamelCase } from 'type-fest'\nimport { SystemIconKey, systemIconMap } from '@ds/icons'\n\nimport { useThemeIcons } from './useThemeIcons'\n\nexport function useThemeIcon(size: 'default' | 'small', kind: SystemIconKey) {\n const themeIcons = useThemeIcons()\n const camelCaseKind = camelCase(kind) as CamelCase<SystemIconKey>\n const themeSizeIcons = themeIcons[size]\n const icon =\n // @ts-expect-error Requires an update to types of @ds/icons\n themeSizeIcons[kind] ||\n // @ts-expect-error Requires an update to types of @ds/icons\n themeSizeIcons[camelCaseKind] ||\n // @ts-expect-error Requires an update to types of @ds/icons\n themeSizeIcons[systemIconMap[camelCaseKind]]\n return icon\n}\n","/**\n * Add the 'focusable' attribute with value 'false' to each SVG descendant of\n * the provided element, and to the element itself if it is an SVG.\n */\nexport const svgFocusableFalse = (element?: Element | null) => {\n if (!element) {\n return\n }\n\n const SVG = /^svg$/i\n\n if (SVG.test(element.tagName)) {\n element.setAttribute('focusable', 'false')\n }\n\n Array.from(element.querySelectorAll('svg')).forEach((svg) => {\n svg.setAttribute('focusable', 'false')\n })\n}\n","export default (config: { size: number | string }) => {\n const { size } = config\n return {\n wrap: {\n display: 'inline-flex',\n lineHeight: 0,\n\n svg: {\n speak: 'none',\n height: size,\n width: size,\n },\n },\n } as const\n}\n","import React, { useEffect, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport SVGInline from 'react-svg-inline'\nimport { dataProps, mergeRefs, onProps } from '@ds/react-utils'\nimport { CustomPropTypes } from '../../../support'\nimport { SpanForwardRef } from '../../../types'\nimport { svgFocusableFalse } from '../../../utilities'\n\nimport baseStyles from './styles'\n\nexport interface BaseIconProps {\n 'data-qa'?: string\n forwardedRef?: SpanForwardRef\n\n /**\n * Size of icon to be used in CSS\n * eg. `24` or `24px`\n */\n size: number | string\n svgString: string\n\n /**\n * @deprecated - Only in use by `Icon`\n */\n legacyFill?: string\n}\n\n/**\n * Use this base component to render SVGs inline.\n */\nexport function BaseIcon(props: BaseIconProps) {\n const { forwardedRef, size, svgString, legacyFill, ...restProps } = props\n\n const iconRef = useRef<HTMLSpanElement>(null)\n\n useEffect(() => svgFocusableFalse(iconRef.current))\n\n const styles = baseStyles({ size })\n\n return (\n <span\n {...dataProps(restProps)}\n css={styles.wrap}\n ref={mergeRefs(forwardedRef, iconRef)}\n >\n <SVGInline\n {...onProps(restProps)}\n aria-hidden=\"true\"\n svg={svgString}\n fill={legacyFill}\n />\n </span>\n )\n}\n\nBaseIcon.propTypes = {\n 'data-.*': PropTypes.string,\n forwardedRef: CustomPropTypes.ReactRef,\n legacyFill: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n svgString: PropTypes.string.isRequired,\n}\n\nBaseIcon.defaultProps = {\n 'data-.*': undefined,\n forwardedRef: undefined,\n legacyFill: undefined,\n}\n\nBaseIcon.displayName = 'BaseIcon'\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { RequireAtLeastOne } from 'type-fest'\nimport { dataProps, mergeRefs, useEventListener } from '@ds/react-utils'\nimport { logErrorOnce } from '@ds/logging'\nimport { version as OliveImagesVersion } from '@olive/images'\n\nimport { ImageForwardRef, OliveImage } from '../../types'\nimport { consoleWarn, requiredPropMessage } from '../../logging'\nimport { oliveImages } from '../../modules'\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nconst objectFitValues = [\n 'contain',\n 'cover',\n 'fill',\n 'none',\n 'scale-down',\n] as const\nexport type ImageObjectFit = typeof objectFitValues[number]\n\nconst objectPositionValues = ['bottom', 'center', 'top'] as const\nexport type ImageObjectPosition = typeof objectPositionValues[number]\n\nexport interface InternalImageProps {\n /**\n * The alternative text for the 'alt' attribute.\n */\n alt: string\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n /**\n * A React ref to assign to the `<img>` element\n */\n forwardedRef?: ImageForwardRef\n /**\n * If set to true, the image will be sized according to the relevant theme's icon sizing.\n *\n * 24x24px in Ink, 16x16px in Olive\n */\n iconSizing?: boolean\n /**\n * The name of the icon to use.\n * @deprecated Use the @olive/images package directly to get the URL to pass into the `src` prop.\n */\n kind?: OliveImage\n /**\n * The CSS object-fit property to specify how an Image should be resized to fit its container.\n *\n * - 'contain': scaled to maintain its aspect ratio while fitting within the content box.\n * - 'cover': content is sized to maintain aspect ratio while filling the entire content box.\n * - 'fill' : content is sized to fill the element's content box.\n * - 'none' : The replaced content is not resized.\n * - 'scaleDown' : The content is sized as if none or contain were specified.\n */\n objectFit?: ImageObjectFit\n /**\n * The vertical position to place the image when `objectFit` is provided.\n */\n objectPosition?: ImageObjectPosition\n /**\n * The placeholder accepts OliveSvg component to display image in following conditions.\n *\n * - `<img>` src fails to load\n * - `<img>` src takes time to fetch from http\n * - Until `<img>` loads on DOM\n * - It will replaced by `<img>` on a successful load of `<img>`\n */\n placeholder?: React.ReactNode\n /**\n * One of either 'src' or 'kind' is required to be supplied.\n */\n src: string\n}\n\nexport type ImageProps = RequireAtLeastOne<InternalImageProps, 'src' | 'kind'>\n\nexport function Image(props: ImageProps) {\n const {\n alt,\n kind,\n forwardedRef,\n iconSizing,\n objectFit,\n objectPosition,\n placeholder,\n src,\n ...restProps\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'Image')\n\n if (!(kind || src)) {\n requiredPropMessage({\n component: 'Image',\n prop1: 'kind',\n prop2: 'src',\n })\n }\n\n let oliveImage\n if (kind) {\n consoleWarn(`\n The prop \"kind\" has been deprecated in the Image component, and will be removed in a future release.\n Use the @olive/images package directly to get the URL to pass into the \"src\" prop.\n `)\n oliveImage = oliveImages.imgSrc[kind]\n }\n\n const image = src || oliveImage\n\n // Note: Although this is using `ref` in naming updating will trigger a re-render\n const [imageRef, setImageRef] = useState<HTMLImageElement | null>()\n const [isImageLoaded, setIsImageLoaded] = useState(false)\n\n const handleImageLoaded = () => {\n if (!isImageLoaded) {\n setIsImageLoaded(true)\n }\n }\n\n useEventListener('load', handleImageLoaded, imageRef)\n\n const imageStyles = [\n styles.Image,\n iconSizing && styles.iconSize,\n objectFit && [styles.objectFit, styles[objectFit], { objectPosition }],\n placeholder && !isImageLoaded && styles.hideImage,\n placeholder && isImageLoaded && styles.showImage,\n ]\n\n const placeholderStyles = [isImageLoaded && styles.hidePlaceholder]\n\n const PlaceholderNode = placeholder && (\n <span css={placeholderStyles}>\n {React.cloneElement(placeholder as React.ReactElement, { alt })}\n </span>\n )\n\n const onError = () =>\n logErrorOnce(\n {\n message: `Error loading image ${image}`,\n meta: { '@olive/images version': OliveImagesVersion },\n },\n 'Image'\n )\n\n return (\n <>\n {PlaceholderNode}\n <img\n {...dataProps(restProps)}\n alt={alt}\n css={imageStyles}\n onError={onError}\n ref={forwardedRef ? mergeRefs(setImageRef, forwardedRef) : setImageRef}\n src={image}\n />\n </>\n )\n}\n\nImage.kinds = Object.keys(oliveImages.imgSrc).sort()\n\nImage.propTypes = {\n /**\n * The alternative text for the 'alt' attribute.\n */\n alt: PropTypes.string.isRequired,\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n /**\n * A React ref to assign to the `<img>` element\n */\n forwardedRef: CustomPropTypes.ReactRef,\n /**\n * If set to true, the image will be sized according to the relevant theme's icon sizing.\n *\n * 24x24px in Ink, 16x16px in Olive\n */\n iconSizing: PropTypes.bool,\n /**\n * The name of the icon to use.\n * @deprecated Use the @olive/images package directly to get the URL to pass into the `src` prop.\n */\n kind: PropTypes.oneOf(Image.kinds),\n /**\n * The CSS object-fit property to specify how an Image should be resized to fit its container.\n *\n * - 'contain': scaled to maintain its aspect ratio while fitting within the content box.\n * - 'cover': content is sized to maintain aspect ratio while filling the entire content box.\n * - 'fill' : content is sized to fill the element's content box.\n * - 'none' : The replaced content is not resized.\n * - 'scaleDown' : The content is sized as if none or contain were specified.\n */\n objectFit: PropTypes.oneOf(objectFitValues),\n /**\n * The vertical position to place the image when `objectFit` is provided.\n */\n objectPosition: PropTypes.oneOf(objectPositionValues),\n /**\n * The placeholder accepts OliveSvg component to display image in following conditions.\n *\n * - `<img>` src fails to load\n * - `<img>` src takes time to fetch from http\n * - Until `<img>` loads on DOM\n * - It will replaced by `<img>` on a successful load of `<img>`\n */\n placeholder: PropTypes.node,\n /**\n * One of either 'src' or 'kind' is required to be supplied.\n */\n src: PropTypes.string,\n}\n\nImage.defaultProps = {\n 'data-.*': undefined,\n forwardedRef: undefined,\n iconSizing: false,\n kind: undefined,\n objectFit: undefined,\n objectPosition: undefined,\n placeholder: undefined,\n src: undefined,\n}\n\nImage.displayName = 'Image'\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\nvar presenceId = 0;\nfunction getPresenceId() {\n var id = presenceId;\n presenceId++;\n return id;\n}\nvar PresenceChild = function (_a) {\n var children = _a.children, initial = _a.initial, isPresent = _a.isPresent, onExitComplete = _a.onExitComplete, custom = _a.custom, presenceAffectsLayout = _a.presenceAffectsLayout;\n var presenceChildren = useConstant(newChildrenMap);\n var id = useConstant(getPresenceId);\n var context = useMemo(function () { return ({\n id: id,\n initial: initial,\n isPresent: isPresent,\n custom: custom,\n onExitComplete: function (childId) {\n presenceChildren.set(childId, true);\n var allComplete = true;\n presenceChildren.forEach(function (isComplete) {\n if (!isComplete)\n allComplete = false;\n });\n allComplete && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n },\n register: function (childId) {\n presenceChildren.set(childId, false);\n return function () { return presenceChildren.delete(childId); };\n },\n }); }, \n /**\n * If the presence of a child affects the layout of the components around it,\n * we want to make a new context value to ensure they get re-rendered\n * so they can detect that layout change.\n */\n presenceAffectsLayout ? undefined : [isPresent]);\n useMemo(function () {\n presenceChildren.forEach(function (_, key) { return presenceChildren.set(key, false); });\n }, [isPresent]);\n /**\n * If there's no `motion` components to fire exit animations, we want to remove this\n * component immediately.\n */\n React.useEffect(function () {\n !isPresent && !presenceChildren.size && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n }, [isPresent]);\n return (React.createElement(PresenceContext.Provider, { value: context }, children));\n};\nfunction newChildrenMap() {\n return new Map();\n}\n\nexport { PresenceChild };\n","import { __spreadArray, __read } from 'tslib';\nimport * as React from 'react';\nimport { useContext, useRef, cloneElement, Children, isValidElement } from 'react';\nimport { useForceUpdate } from '../../utils/use-force-update.js';\nimport { PresenceChild } from './PresenceChild.js';\nimport { SharedLayoutContext, isSharedLayout } from '../../context/SharedLayoutContext.js';\n\nfunction getChildKey(child) {\n return child.key || \"\";\n}\nfunction updateChildLookup(children, allChildren) {\n var seenChildren = process.env.NODE_ENV !== \"production\" ? new Set() : null;\n children.forEach(function (child) {\n var key = getChildKey(child);\n if (process.env.NODE_ENV !== \"production\" && seenChildren) {\n if (seenChildren.has(key)) {\n console.warn(\"Children of AnimatePresence require unique keys. \\\"\" + key + \"\\\" is a duplicate.\");\n }\n seenChildren.add(key);\n }\n allChildren.set(key, child);\n });\n}\nfunction onlyElements(children) {\n var filtered = [];\n // We use forEach here instead of map as map mutates the component key by preprending `.$`\n Children.forEach(children, function (child) {\n if (isValidElement(child))\n filtered.push(child);\n });\n return filtered;\n}\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * @library\n *\n * Any `Frame` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { Frame, AnimatePresence } from 'framer'\n *\n * // As items are added and removed from `items`\n * export function Items({ items }) {\n * return (\n * <AnimatePresence>\n * {items.map(item => (\n * <Frame\n * key={item.id}\n * initial={{ opacity: 0 }}\n * animate={{ opacity: 1 }}\n * exit={{ opacity: 0 }}\n * />\n * ))}\n * </AnimatePresence>\n * )\n * }\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * @motion\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n * <AnimatePresence>\n * {items.map(item => (\n * <motion.div\n * key={item.id}\n * initial={{ opacity: 0 }}\n * animate={{ opacity: 1 }}\n * exit={{ opacity: 0 }}\n * />\n * ))}\n * </AnimatePresence>\n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nvar AnimatePresence = function (_a) {\n var children = _a.children, custom = _a.custom, _b = _a.initial, initial = _b === void 0 ? true : _b, onExitComplete = _a.onExitComplete, exitBeforeEnter = _a.exitBeforeEnter, _c = _a.presenceAffectsLayout, presenceAffectsLayout = _c === void 0 ? true : _c;\n // We want to force a re-render once all exiting animations have finished. We\n // either use a local forceRender function, or one from a parent context if it exists.\n var forceRender = useForceUpdate();\n var layoutContext = useContext(SharedLayoutContext);\n if (isSharedLayout(layoutContext)) {\n forceRender = layoutContext.forceUpdate;\n }\n var isInitialRender = useRef(true);\n // Filter out any children that aren't ReactElements. We can only track ReactElements with a props.key\n var filteredChildren = onlyElements(children);\n // Keep a living record of the children we're actually rendering so we\n // can diff to figure out which are entering and exiting\n var presentChildren = useRef(filteredChildren);\n // A lookup table to quickly reference components by key\n var allChildren = useRef(new Map())\n .current;\n // A living record of all currently exiting components.\n var exiting = useRef(new Set()).current;\n updateChildLookup(filteredChildren, allChildren);\n // If this is the initial component render, just deal with logic surrounding whether\n // we play onMount animations or not.\n if (isInitialRender.current) {\n isInitialRender.current = false;\n return (React.createElement(React.Fragment, null, filteredChildren.map(function (child) { return (React.createElement(PresenceChild, { key: getChildKey(child), isPresent: true, initial: initial ? undefined : false, presenceAffectsLayout: presenceAffectsLayout }, child)); })));\n }\n // If this is a subsequent render, deal with entering and exiting children\n var childrenToRender = __spreadArray([], __read(filteredChildren));\n // Diff the keys of the currently-present and target children to update our\n // exiting list.\n var presentKeys = presentChildren.current.map(getChildKey);\n var targetKeys = filteredChildren.map(getChildKey);\n // Diff the present children with our target children and mark those that are exiting\n var numPresent = presentKeys.length;\n for (var i = 0; i < numPresent; i++) {\n var key = presentKeys[i];\n if (targetKeys.indexOf(key) === -1) {\n exiting.add(key);\n }\n else {\n // In case this key has re-entered, remove from the exiting list\n exiting.delete(key);\n }\n }\n // If we currently have exiting children, and we're deferring rendering incoming children\n // until after all current children have exiting, empty the childrenToRender array\n if (exitBeforeEnter && exiting.size) {\n childrenToRender = [];\n }\n // Loop through all currently exiting components and clone them to overwrite `animate`\n // with any `exit` prop they might have defined.\n exiting.forEach(function (key) {\n // If this component is actually entering again, early return\n if (targetKeys.indexOf(key) !== -1)\n return;\n var child = allChildren.get(key);\n if (!child)\n return;\n var insertionIndex = presentKeys.indexOf(key);\n var onExit = function () {\n allChildren.delete(key);\n exiting.delete(key);\n // Remove this child from the present children\n var removeIndex = presentChildren.current.findIndex(function (presentChild) { return presentChild.key === key; });\n presentChildren.current.splice(removeIndex, 1);\n // Defer re-rendering until all exiting children have indeed left\n if (!exiting.size) {\n presentChildren.current = filteredChildren;\n forceRender();\n onExitComplete && onExitComplete();\n }\n };\n childrenToRender.splice(insertionIndex, 0, React.createElement(PresenceChild, { key: getChildKey(child), isPresent: false, onExitComplete: onExit, custom: custom, presenceAffectsLayout: presenceAffectsLayout }, child));\n });\n // Add `MotionContext` even to children that don't need it to ensure we're rendering\n // the same tree between renders\n childrenToRender = childrenToRender.map(function (child) {\n var key = child.key;\n return exiting.has(key) ? (child) : (React.createElement(PresenceChild, { key: getChildKey(child), isPresent: true, presenceAffectsLayout: presenceAffectsLayout }, child));\n });\n presentChildren.current = childrenToRender;\n if (process.env.NODE_ENV !== \"production\" &&\n exitBeforeEnter &&\n childrenToRender.length > 1) {\n console.warn(\"You're attempting to animate multiple children within AnimatePresence, but its exitBeforeEnter prop is set to true. This will lead to odd visual behaviour.\");\n }\n return (React.createElement(React.Fragment, null, exiting.size\n ? childrenToRender\n : childrenToRender.map(function (child) { return cloneElement(child); })));\n};\n\nexport { AnimatePresence };\n","import { __read } from 'tslib';\nimport { useCallback, useRef, useState } from 'react';\nimport { useUnmountEffect } from './use-unmount-effect.js';\n\nfunction useForceUpdate() {\n var unloadingRef = useRef(false);\n var _a = __read(useState(0), 2), forcedRenderCount = _a[0], setForcedRenderCount = _a[1];\n useUnmountEffect(function () { return (unloadingRef.current = true); });\n return useCallback(function () {\n !unloadingRef.current && setForcedRenderCount(forcedRenderCount + 1);\n }, [forcedRenderCount]);\n}\n\nexport { useForceUpdate };\n","export default {\n FormUnit: {\n display: 'block',\n margin: '24px 0',\n },\n}\n","import React from 'react'\n\nimport PropTypes from 'prop-types'\n\nimport styles from './styles'\n\nexport interface FormUnitProps {\n children: React.ReactNode\n}\n\nexport function FormUnit(props: FormUnitProps) {\n const { children } = props\n\n return <div css={styles.FormUnit}>{children}</div>\n}\n\nFormUnit.propTypes = {\n children: PropTypes.node.isRequired,\n}\n\nFormUnit.displayName = 'FormUnit'\n","import { Tokens } from '../../../theming/types'\nimport { InputDescriptionProps } from '.'\n\nexport default (config: { tokens: Tokens; props: InputDescriptionProps }) => {\n const { tokens, props } = config\n return {\n default: {\n wrap: {\n ...tokens.typography.detailSmall,\n display: props.kind === 'error' ? 'flex' : '',\n fontFamily: tokens.font.body,\n margin: 0,\n padding: 0,\n\n svg: {\n fill: 'currentColor',\n marginRight: '8px',\n },\n },\n },\n\n helper: {\n wrap: {\n color: tokens.text.subtleColor,\n },\n },\n\n error: {\n wrap: {\n color: tokens.text.errorColor,\n },\n },\n\n disabled: {\n cursor: 'not-allowed',\n opacity: tokens.form.disabledOpacity,\n },\n }\n}\n","import React from 'react'\n\nimport PropTypes from 'prop-types'\n\nimport { useThemeStyles } from '../../../theming'\n\nimport IconSmall from '../IconSmall'\n\nimport baseStyles from './styles'\n\nfunction InputDescription(props) {\n const { children, disabled, kind, id, 'data-qa': dataQa } = props\n\n const styles = useThemeStyles(baseStyles, 'InputDescription', props)\n\n const IconNode = kind === 'error' && <IconSmall kind=\"pebbleError\" />\n\n const wrapStyles = [\n styles.default.wrap,\n styles[kind].wrap,\n disabled && styles.disabled,\n ]\n\n return (\n <p css={wrapStyles} id={id} data-qa={dataQa}>\n {IconNode}\n {children}\n </p>\n )\n}\n\nInputDescription.kinds = ['helper', 'error']\n\nInputDescription.propTypes = {\n /**\n * The error message displayed.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Identifier for automated testing.\n */\n 'data-qa': PropTypes.string,\n\n /**\n * Add disabled styling to the description\n */\n disabled: PropTypes.bool,\n\n /**\n * The 'id' of the associated control.\n */\n id: PropTypes.string.isRequired,\n\n /**\n * The kind of message displayed.\n */\n kind: PropTypes.oneOf(InputDescription.kinds),\n}\n\nInputDescription.defaultProps = {\n 'data-qa': undefined,\n disabled: false,\n kind: 'helper',\n}\n\nInputDescription.displayName = 'InputDescription'\n\nexport default InputDescription\n","import { useRef } from 'react'\nimport { createId, generateGuid } from '@ds/base'\n\n/**\n * @param {\"short\" | \"guid\"} type Determins which function is used to generate the id.\n *\n * @param {string} [prefix] A string to be prefixed to the unique ID returned. Only is prepended when the\n * type argument is 'short', otherwise, it's ignored.\n *\n * @returns {string} A string that will be consistent across renders of your React component.\n */\n\ntype IdType = 'short' | 'guid'\n\nexport const useUniqueId = (type: IdType, prefix?: string): string => {\n const idToReturn = useRef(\n type === 'short' ? createId(prefix) : generateGuid()\n )\n\n return idToReturn.current\n}\n","import nanoid from 'nanoid'\n\n/**\n * @param {string} [prefix] The prefix to prepend to the unique ID.\n * @param {number} [length] The length of the generated string (not including the prefix).\n *\n * @returns {string} A short, non-sequential, URL-friendly unique ID.\n *\n * @requires nanoid\n */\nexport const createId = (prefix?: string, length = 10): string =>\n `${prefix ? prefix : ''}${nanoid(length)}`\n","import consoleWarn from './consoleWarn'\n\nfunction warnDeprecated(\n oldName: string,\n newName: string,\n config: { story?: string; url?: string } = {}\n) {\n const { story, url } = config\n\n const storybookUrl = story\n ? `https://github.docusignhq.com/pages/front-end-systems/ds-ui/?path=/story/${story}`\n : null\n\n const link = url || storybookUrl\n\n consoleWarn(\n `${oldName} has been deprecated and will be removed in a future release. Use ${newName} instead.\n ${link}`.trim()\n )\n}\n\nexport default warnDeprecated\n","import { ButtonKind } from '../components/Button'\nimport { ButtonTokens } from '../theming/types'\n\ntype ButtonKindTokens = ButtonTokens[ButtonKind]\n\ninterface CustomButtonTokens {\n // we pass in for cobranding button, not part of the token\n // values that the consumer gives us\n disabledOpacity?: 0.4\n}\n\nconst CreateButtonCss = (tokens: ButtonKindTokens & CustomButtonTokens) => {\n const {\n defaultBackgroundColor,\n defaultBorderColor,\n defaultTextColor,\n hoverBackgroundColor,\n hoverTextColor,\n activeBackgroundColor,\n activeTextColor,\n disabledBackgroundColor,\n disabledBorderColor,\n disabledTextColor,\n disabledOpacity,\n iconColor,\n iconHoverColor,\n buttonGroupSeparatorColor,\n } = tokens\n\n const activeStyles = {\n backgroundColor: activeBackgroundColor,\n color: activeTextColor || defaultTextColor,\n transitionDuration: '0.15s',\n\n '& svg': {\n fill: activeTextColor || iconColor,\n },\n }\n\n const disabledStyles = {\n backgroundColor: disabledBackgroundColor,\n borderColor: disabledBorderColor,\n color: disabledTextColor,\n ...(disabledOpacity && { opacity: disabledOpacity }),\n\n '&:hover': {\n backgroundColor: disabledBackgroundColor,\n borderColor: disabledBorderColor,\n color: disabledTextColor,\n ...(disabledOpacity && { opacity: disabledOpacity }),\n },\n\n '& svg': {\n fill: disabledTextColor,\n },\n\n '& img': {\n opacity: '0.5',\n },\n }\n\n return {\n default: {\n backgroundColor: defaultBackgroundColor,\n borderColor: defaultBorderColor,\n color: defaultTextColor,\n\n '& svg': {\n fill: iconColor || defaultTextColor,\n },\n\n '&:hover': {\n backgroundColor: hoverBackgroundColor,\n color: hoverTextColor || defaultTextColor,\n\n '& svg': {\n fill: iconHoverColor || defaultTextColor,\n },\n },\n\n '&:active, &[aria-expanded=\"true\"]': activeStyles,\n\n '&:disabled': disabledStyles,\n },\n\n active: activeStyles,\n\n disabled: disabledStyles,\n\n menuTrigger: {\n '&::after': {\n borderTopColor: iconColor || defaultTextColor,\n },\n },\n\n buttonGroupSeparatorColor: {\n borderLeftColor: buttonGroupSeparatorColor,\n },\n }\n}\n\nexport default CreateButtonCss\n","import { CSSObject } from '@emotion/core'\n\nconst DefaultSelector = (pseudoClass: string) => `&${pseudoClass}`\n\n/**\n * Generates CSS selectors to support the new :focus-visible pseudo class\n * while providing a fallback for older browsers.\n *\n * By default this will return an object using the `&` mechanism:\n * https://css-tricks.com/the-sass-ampersand/#using-the-with-pseudo-classes\n *\n * You can override this behavior by providing a function as the second argument.\n */\nconst CreateFocusCss = (\n styles: CSSObject,\n selector: (val: string) => string = DefaultSelector\n) => ({\n [selector(':focus')]: styles,\n [selector(':focus:not(:focus-visible)')]: { outline: 0 },\n [selector(':focus-visible')]: styles,\n})\n\nexport default CreateFocusCss\n","import { useMemo } from 'react'\n\nimport deepmerge from 'deepmerge'\n\nexport const useMemoizedDeepmerge = <\n T1 extends Record<string, unknown>,\n T2 extends Record<string, unknown>\n>(\n mergeTo: T1,\n mergeFrom: T2\n): T1 & T2 =>\n useMemo<T1 & T2>(\n () => deepmerge<T1, T2>(mergeTo || {}, mergeFrom || {}),\n [mergeTo, mergeFrom]\n )\n","export default {\n belowBaseLevel: -1,\n baseLevel: 0,\n aboveBaseLevel: 1,\n\n TableHeader: 90,\n TableFreezeColumn: 89,\n Callout: 100,\n Menu: 200,\n Tooltip: 300,\n PopoverArrow: {\n before: 301,\n after: 302,\n },\n SkipNav: 600,\n Overlay: 700,\n ToastMessage: 900,\n} as const\n","import { breakpoints } from '../utilities'\n\nexport const isTouchScreen =\n '@media (hover: none) and (pointer: coarse)' as const\n\n// TODO: Update variable name to something more appropriate as it is more than\n// a phone in landscape only\nexport const isPhoneInLandscape = `@media\n screen and (max-width: ${breakpoints.Sizes.ExtraSmall}px),\n screen and (max-width: ${breakpoints.Sizes.Small}px) and (orientation: landscape) and (hover: none)\n` as const\n\nexport const isIE11 =\n '@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none)' as const\n","import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock'\n\n/**\n * Disable scrolling on the body element.\n *\n * @param {Node} element - This element (and its children) should be allowed to\n * continue scrolling and receiving touchmove events.\n */\nconst disable = (element) =>\n disableBodyScroll(element, {\n allowTouchMove: (touchTarget) => element.contains(touchTarget),\n })\n\n/**\n * Enable scrolling on the body element.\n */\nconst enable = enableBodyScroll\n\nconst bodyScroll = {\n disable,\n enable,\n}\n\nexport default bodyScroll\n","/**\n * @param {string} prefix - The prefix to filter the keys in props (regex, ^ not necessary)\n * @param {Object} [props={}]\n * @returns {Object} An object containing all of the key:value pairs from the\n * input object where the key was prefixed by the supplied prefix\n *\n * Example:\n * filterProps('on', { onClick: any, anotherProp: any }) => { onClick: any }\n */\nexport const filterProps = (prefix: string, props = {}) => {\n const filter = new RegExp(`^${prefix}`)\n\n return Object.keys(props).reduce(\n (collectedOnProps: Record<string, unknown>, prop: string) =>\n filter.test(prop)\n ? { ...collectedOnProps, [`${prop}`]: props[prop] }\n : collectedOnProps,\n {}\n )\n}\n\nexport const ariaProps = (props = {}) => filterProps('aria-.', props)\nexport const dataProps = (props = {}) => filterProps('data-.', props)\nexport const onProps = (props = {}) => filterProps('on[A-Z]', props)\n","import React from 'react'\n\ntype MergeRefsArg<T> =\n | React.MutableRefObject<T>\n | React.RefCallback<T>\n | React.RefObject<T>\n | undefined\n | null\n\n/**\n * A variadic function that takes any number of React refs as arguments and\n * returns a callback ref that, when assigned to an HTML DOM element, will\n * properly handle each of the provided refs. The use case that calls for this\n * is when two or more distinct refs need to be assigned to the same element\n * */\n\nexport const mergeRefs =\n <A>(...refs: Array<MergeRefsArg<A>>): React.RefCallback<A> =>\n (el: A) => {\n refs.forEach((ref: MergeRefsArg<A>) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(el)\n } else {\n ;(ref as React.MutableRefObject<A>).current = el\n }\n }\n })\n }\n","export const visuallyHidden = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px',\n} as const\n\nexport const styles = {\n ellipsis: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n\n visuallyHidden,\n\n // Set font size to 16px to prevent mobile browsers from zooming when input gains focus\n touchScreenFormFieldFontSize: {\n '@media screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 768px) and (hover: none)':\n {\n fontSize: '16px',\n },\n },\n\n userSelectNone: {\n userSelect: 'none',\n },\n\n breakWord: {\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n },\n} as const\n","/**\n * @param {Object} props - props from the component\n * @param {boolean} fallbackToSpan - if true, returns a span if both href and onClick are empty\n *\n * A utility that uses a component's props to decide if the rendered element\n * should be an anchor, button, or span\n *\n * Returns an array with two values\n * [0] {string} tagName - one of ('a', 'button', 'span')\n * [1] {Object} tagAttributes - the allowed attributes for the returned tag\n * when tagName == 'a', the attributes include { href, rel, target }\n * when tagName == 'button', the attributes include { disabled, type }\n * when tagName == 'span', there are no attributes\n */\nconst conditionalTag = (props, fallbackToSpan) => {\n const { disabled, href, onClick, rel, target, type } = props\n\n let tagName\n let tagAttributes = {}\n\n if (href && !disabled) {\n tagName = 'a'\n tagAttributes = { href, rel, target }\n } else if (fallbackToSpan && !onClick) {\n tagName = 'span'\n } else {\n tagName = 'button'\n tagAttributes = { disabled, type: type || 'button' }\n }\n\n return [tagName, tagAttributes]\n}\n\nexport default conditionalTag\n","import { useEffect, useState } from 'react'\nimport 'intersection-observer'\n/**\n * Hook for the IntersectionObserver API\n *\n * @param target A ref pointing to the target element to watch\n * @param root A ref pointing to the root element to watch\n */\n\nexport function useIntersectionObserver(\n target?: HTMLElement | null,\n root?: HTMLElement | null\n) {\n const [isIntersecting, setIntersecting] = useState(false)\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.intersectionRatio < 1) {\n setIntersecting(true)\n } else {\n setIntersecting(false)\n }\n },\n {\n root: root,\n threshold: 1,\n }\n )\n\n if (target) {\n observer.observe(target)\n }\n\n return () => {\n observer.disconnect()\n }\n }, [root, target])\n\n return isIntersecting\n}\n","export default (function (path) {\n return path ? \"\".concat(path, \"/\").replace(/\\/+$/, '/') : '';\n});","import React from 'react'\nimport { deprecatedPropMessage } from '../logging'\n/**\n * An HOC that accepts a component with a 'forwardedRef' prop and wraps it,\n * returning a new component created with React.forwardRef.\n *\n * The returned component assigns any value passed to it via 'ref' directly to\n * the 'forwardedRef' prop of the wrapped component.\n *\n * Additionally, any enumerable own properties from the original component are\n * copied to the new component, forwarding on and preserving e.g. Component.propTypes,\n * Component.defaultProps, etc.\n *\n * IMPORTANT: In order for the returned component to be able to properly accept\n * and work with a 'ref', this HOC must be the last (i.e. outermost) HOC applied\n * before exporting the component to the consumer.\n *\n * @param {function} Component\n * @returns {function} A component created with React.forwardRef that wraps the\n * Component supplied as an argument.\n */\nconst withRef = <P extends { forwardedRef?: React.Ref<HTMLElement> }>(\n Component: React.ComponentType<P>\n): React.ComponentType<P> => {\n const ComponentWithRef = React.forwardRef((props: P, ref) => {\n if (ref) {\n deprecatedPropMessage({\n component: `${Component.displayName}`,\n prop: 'ref',\n newProp: 'forwardedRef',\n })\n }\n\n return <Component {...props} forwardedRef={props.forwardedRef || ref} />\n })\n\n return Object.assign(ComponentWithRef, Component)\n}\n\nexport default withRef\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { systemIconValues, SystemIconKey } from '@ds/icons'\nimport { OliveImages } from '@olive/images'\nimport { Icon } from '../../../components/Icon'\nimport { Image } from '../../../components/Image'\nimport { OliveImageIcon } from '../../../types'\n\n/**\n * Run the OliveImages() function with no args to get a key/value object\n * of all the imge keys and their CDN URLs\n */\nconst imageSourceUrls = OliveImages()\n\nexport const iconKinds = systemIconValues\nexport const imageKinds = Object.keys(imageSourceUrls).sort()\n\n/**\n * Remap the image kinds to have a prefix to be used in the component's icon prop\n */\nconst IMAGE_ICON_PREFIX = 'IMAGE.'\nconst prefixedImageKinds = imageKinds.map(\n (image) => `${IMAGE_ICON_PREFIX}${image}`\n)\n\n/**\n * Because we do this prefix thing, test if the icon kind used in a component\n * is actually an image kind with prefix\n */\nconst isImageKind = (kind: Kind): kind is OliveImageIcon =>\n kind && RegExp(`^${IMAGE_ICON_PREFIX}`).test(kind)\n\n/**\n * Since we do this prefix thing, this is a helper function to remove the prefix\n * and then get the right URL\n */\nconst getImageSource = (kind: OliveImageIcon) =>\n imageSourceUrls[kind.replace(IMAGE_ICON_PREFIX, '')]\n\n/**\n * Export a combined array of icons kinds, and prefixed image kinds,\n * to be used for the icon prop in components.\n *\n * This is absolutely not ideal, and eventually we will replace\n * the icon/iconPosition props with startElement/endElement props\n */\nexport const iconWithImageKinds = [...iconKinds, ...prefixedImageKinds]\n\ntype Kind = SystemIconKey | OliveImageIcon\n\nexport interface IconOrImageProps {\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n kind: Kind\n}\n\n/**\n * Export a helper React component to take care of this logic\n */\nexport const IconOrImage = (props: IconOrImageProps) => {\n const { kind, ...restProps } = props\n\n return isImageKind(kind) ? (\n <Image {...restProps} iconSizing alt=\"\" src={getImageSource(kind)} />\n ) : (\n <Icon {...restProps} kind={kind} />\n )\n}\n\nIconOrImage.propTypes = {\n 'data-.*': PropTypes.string,\n kind: PropTypes.oneOf(iconWithImageKinds).isRequired,\n}\n\nIconOrImage.defaultProps = {\n 'data-.*': undefined,\n}\n","export type AnchorTarget = '_blank' | '_parent' | '_self' | '_top'\n\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\nexport const anchorTargets = ['_blank', '_parent', '_self', '_top'] as const\n","const DOCUSIGN_IS_MOTION_DISABLED = 'DOCUSIGN_IS_MOTION_DISABLED'\n\nconst globalNamespace = typeof self === 'undefined' ? global : self\n\nglobalNamespace[DOCUSIGN_IS_MOTION_DISABLED] = false\n\n/**\n * Determines if motion is currently disabled.\n * @returns {boolean}\n */\nexport function isMotionDisabled(): boolean {\n return globalNamespace[DOCUSIGN_IS_MOTION_DISABLED]\n}\n\n/**\n * Disables motion across all instances until re-enabled.\n * @returns {void}\n */\nexport function disableMotion(): void {\n globalNamespace[DOCUSIGN_IS_MOTION_DISABLED] = true\n}\n\n/**\n * Enables motion across all instances.\n * @returns {void}\n */\nexport function enableMotion(): void {\n globalNamespace[DOCUSIGN_IS_MOTION_DISABLED] = false\n}\n","import keyboardNavigableElements from './keyboardNavigableElements'\n\nimport { keyboardEventKeys } from '../variables'\n\n/**\n * Traps tab navigation within the container, setting focus on the first of:\n * 1. the provided initialFocus element\n * 2. the first navigable element in the container\n * 3. the container\n *\n * @param {HTMLElement} container\n * @param {HTMLElement} initialFocus - A descendant of the container to receive focus.\n * @param {boolean} preventScroll - Prevent scrolling the focused element into view\n */\nconst trapTabNavigation = (container, initialFocus, preventScroll = false) => {\n const keyboardNavigable = keyboardNavigableElements(container)\n\n const firstNavigableElement = keyboardNavigable[0]\n const lastNavigableElement = keyboardNavigable[keyboardNavigable.length - 1]\n\n const allContainerNodes = Array.from(container.querySelectorAll('*'))\n\n const firstNavigableElementIndex = allContainerNodes.indexOf(\n firstNavigableElement\n )\n const lastNavigableElementIndex = allContainerNodes.indexOf(\n lastNavigableElement\n )\n const initialFocusIndex = allContainerNodes.indexOf(initialFocus)\n\n const isInitialFocusBeforeFirstNavigable =\n initialFocusIndex !== -1 && initialFocusIndex < firstNavigableElementIndex\n\n const isInitialFocusAfterLastNavigable =\n lastNavigableElementIndex !== -1 &&\n lastNavigableElementIndex < initialFocusIndex\n\n const isInitialFocusWithoutKeyboardNavigable =\n initialFocusIndex !== -1 && !keyboardNavigable.length\n\n const neitherInitialFocusNorKeyboardNavigable =\n initialFocusIndex === -1 && !keyboardNavigable.length\n\n if (keyboardNavigable.length) {\n firstNavigableElement.addEventListener(\n 'keydown',\n (event) => {\n if (event.key === keyboardEventKeys.Tab && event.shiftKey) {\n lastNavigableElement.focus({ preventScroll })\n event.preventDefault()\n }\n },\n false\n )\n\n lastNavigableElement.addEventListener(\n 'keydown',\n (event) => {\n if (event.key === keyboardEventKeys.Tab && !event.shiftKey) {\n firstNavigableElement.focus({ preventScroll })\n event.preventDefault()\n }\n },\n false\n )\n }\n\n if (isInitialFocusBeforeFirstNavigable) {\n initialFocus.addEventListener(\n 'keydown',\n (event) => {\n if (event.key === keyboardEventKeys.Tab && event.shiftKey) {\n lastNavigableElement.focus({ preventScroll })\n event.preventDefault()\n }\n },\n false\n )\n }\n\n if (isInitialFocusAfterLastNavigable) {\n initialFocus.addEventListener(\n 'keydown',\n (event) => {\n if (event.key === keyboardEventKeys.Tab && !event.shiftKey) {\n firstNavigableElement.focus({ preventScroll })\n event.preventDefault()\n }\n },\n false\n )\n }\n\n if (isInitialFocusWithoutKeyboardNavigable) {\n initialFocus.addEventListener(\n 'keydown',\n (event) => {\n if (event.key === keyboardEventKeys.Tab) {\n event.preventDefault()\n }\n },\n false\n )\n }\n\n if (neitherInitialFocusNorKeyboardNavigable) {\n container.addEventListener(\n 'keydown',\n (event) => {\n if (event.key === keyboardEventKeys.Tab) {\n event.preventDefault()\n }\n },\n false\n )\n }\n\n if (initialFocus) {\n initialFocus.focus({ preventScroll })\n } else if (keyboardNavigable.length) {\n firstNavigableElement.focus({ preventScroll })\n } else {\n container.focus({ preventScroll })\n }\n}\n\nexport default trapTabNavigation\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { systemIconValues, SystemIconKey } from '@ds/icons'\nimport { CustomPropTypes } from '../../../support'\nimport { useThemeIcon, useThemeStyles } from '../../../theming'\nimport { SpanForwardRef } from '../../../types'\nimport { BaseIcon } from '../BaseIcon'\n\nimport baseStyles from './styles'\n\nexport interface IconSmallProps {\n /**\n * A React ref to assign to the HTML node representing the Icon element.\n */\n forwardedRef?: SpanForwardRef\n /**\n * The name of the icon to use.\n */\n kind: SystemIconKey\n}\n\nexport const IconSmall = (props: IconSmallProps): JSX.Element => {\n const { forwardedRef, kind, ...restProps } = props\n\n const svgString = useThemeIcon('small', kind)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles)\n\n return (\n <BaseIcon\n {...restProps}\n forwardedRef={forwardedRef}\n size={styles.size}\n svgString={svgString}\n />\n )\n}\n\nIconSmall.kinds = systemIconValues\n\nIconSmall.propTypes = {\n forwardedRef: CustomPropTypes.ReactRef,\n kind: PropTypes.oneOf(IconSmall.kinds).isRequired,\n}\n\nIconSmall.defaultProps = {\n forwardedRef: undefined,\n}\n\nIconSmall.displayName = 'IconSmall'\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useTranslate } from '@ds/comp-private'\n\nimport InputDescription from '../InputDescription'\n\nfunction InputCount(props) {\n const { currentLength, id, maxLength, 'data-qa': dataQa } = props\n\n const translate = useTranslate()\n\n const charactersOverLimit = Math.max(0, currentLength - maxLength)\n\n const inputDescriptionType = charactersOverLimit ? 'error' : 'helper'\n\n const inputCountLabel = charactersOverLimit\n ? `${translate('OLIVE:CHARS_OVER_LIMIT')}`\n : `${translate('OLIVE:CHARS_REMAINING')}`\n\n const inputCountValue = charactersOverLimit || maxLength - currentLength\n\n const inputCountText = `${inputCountLabel} ${inputCountValue}`\n\n return (\n <InputDescription id={id} kind={inputDescriptionType} data-qa={dataQa}>\n {inputCountText}\n </InputDescription>\n )\n}\n\nInputCount.propTypes = {\n /**\n * The current length of the string being considered.\n */\n currentLength: PropTypes.number.isRequired,\n\n /**\n * Identifier for automated testing.\n */\n 'data-qa': PropTypes.string,\n\n /**\n * The 'id' of the associated control.\n */\n id: PropTypes.string.isRequired,\n\n /**\n * The maximum valid length of the string being considered.\n */\n maxLength: PropTypes.number.isRequired,\n}\n\nInputCount.defaultProps = {\n 'data-qa': undefined,\n}\n\nInputCount.displayName = 'InputCount'\n\nexport default InputCount\n","var createDefinition = function (propNames) { return ({\n isEnabled: function (props) { return propNames.some(function (name) { return !!props[name]; }); },\n}); };\nvar featureDefinitions = {\n measureLayout: createDefinition([\n \"layout\",\n \"layoutId\",\n \"drag\",\n \"_layoutResetTransform\",\n ]),\n animation: createDefinition([\n \"animate\",\n \"exit\",\n \"variants\",\n \"whileHover\",\n \"whileTap\",\n \"whileFocus\",\n \"whileDrag\",\n ]),\n exit: createDefinition([\"exit\"]),\n drag: createDefinition([\"drag\", \"dragControls\"]),\n focus: createDefinition([\"whileFocus\"]),\n hover: createDefinition([\"whileHover\", \"onHoverStart\", \"onHoverEnd\"]),\n tap: createDefinition([\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"]),\n pan: createDefinition([\n \"onPan\",\n \"onPanStart\",\n \"onPanSessionStart\",\n \"onPanEnd\",\n ]),\n layoutAnimation: createDefinition([\"layout\", \"layoutId\"]),\n};\nfunction loadFeatures(features) {\n for (var key in features) {\n var Component = features[key];\n if (Component !== null)\n featureDefinitions[key].Component = Component;\n }\n}\n\nexport { featureDefinitions, loadFeatures };\n","import { createContext } from 'react';\n\nvar LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n","import { __assign } from 'tslib';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { featureDefinitions } from './definitions.js';\nimport { invariant } from 'hey-listen';\nimport { LazyContext } from '../../context/LazyContext.js';\n\nvar featureNames = Object.keys(featureDefinitions);\nvar numFeatures = featureNames.length;\n/**\n * Load features via renderless components based on the provided MotionProps.\n */\nfunction useFeatures(props, visualElement, preloadedFeatures) {\n var features = [];\n var lazyContext = useContext(LazyContext);\n if (!visualElement)\n return null;\n /**\n * If we're in development mode, check to make sure we're not rendering a motion component\n * as a child of LazyMotion, as this will break the file-size benefits of using it.\n */\n if (process.env.NODE_ENV !== \"production\" &&\n preloadedFeatures &&\n lazyContext.strict) {\n invariant(false, \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\");\n }\n for (var i = 0; i < numFeatures; i++) {\n var name_1 = featureNames[i];\n var _a = featureDefinitions[name_1], isEnabled = _a.isEnabled, Component = _a.Component;\n /**\n * It might be possible in the future to use this moment to\n * dynamically request functionality. In initial tests this\n * was producing a lot of duplication amongst bundles.\n */\n if (isEnabled(props) && Component) {\n features.push(React.createElement(Component, __assign({ key: name_1 }, props, { visualElement: visualElement })));\n }\n }\n return features;\n}\n\nexport { useFeatures };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nvar MotionConfigContext = createContext({\n transformPagePoint: function (p) { return p; },\n isStatic: false,\n});\n\nexport { MotionConfigContext };\n","import { useContext, createContext } from 'react';\n\nvar MotionContext = createContext({});\nfunction useVisualElementContext() {\n return useContext(MotionContext).visualElement;\n}\n\nexport { MotionContext, useVisualElementContext };\n","import { useContext, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n * const [isPresent, safeToRemove] = usePresence()\n *\n * useEffect(() => {\n * !isPresent && setTimeout(safeToRemove, 1000)\n * }, [isPresent])\n *\n * return <div />\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed the tree, but\n * `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence() {\n var context = useContext(PresenceContext);\n if (context === null)\n return [true, null];\n var isPresent = context.isPresent, onExitComplete = context.onExitComplete, register = context.register;\n // It's safe to call the following hooks conditionally (after an early return) because the context will always\n // either be null or non-null for the lifespan of the component.\n // Replace with useOpaqueId when released in React\n var id = useUniqueId();\n useEffect(function () { return register(id); }, []);\n var safeToRemove = function () { return onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete(id); };\n return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n * const isPresent = useIsPresent()\n *\n * useEffect(() => {\n * !isPresent && console.log(\"I've been removed!\")\n * }, [isPresent])\n *\n * return <div />\n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n return context === null ? true : context.isPresent;\n}\nvar counter = 0;\nvar incrementId = function () { return counter++; };\nvar useUniqueId = function () { return useConstant(incrementId); };\n\nexport { isPresent, useIsPresent, usePresence };\n","import { createContext } from 'react';\n\n/**\n * @internal\n */\nvar LayoutGroupContext = createContext(null);\n\nexport { LayoutGroupContext };\n","var isBrowser = typeof window !== \"undefined\";\n\nexport { isBrowser };\n","import { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.js';\n\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import { __assign } from 'tslib';\nimport { useContext, useRef, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { isPresent } from '../../components/AnimatePresence/use-presence.js';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.js';\nimport { useVisualElementContext } from '../../context/MotionContext/index.js';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.js';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.js';\nimport { LazyContext } from '../../context/LazyContext.js';\n\nfunction useLayoutId(_a) {\n var layoutId = _a.layoutId;\n var layoutGroupId = useContext(LayoutGroupContext);\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId;\n}\nfunction useVisualElement(Component, visualState, props, createVisualElement) {\n var config = useContext(MotionConfigContext);\n var lazyContext = useContext(LazyContext);\n var parent = useVisualElementContext();\n var presenceContext = useContext(PresenceContext);\n var layoutId = useLayoutId(props);\n var visualElementRef = useRef(undefined);\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n if (!createVisualElement)\n createVisualElement = lazyContext.renderer;\n if (!visualElementRef.current && createVisualElement) {\n visualElementRef.current = createVisualElement(Component, {\n visualState: visualState,\n parent: parent,\n props: __assign(__assign({}, props), { layoutId: layoutId }),\n presenceId: presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.id,\n blockInitialAnimation: (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.initial) === false,\n });\n }\n var visualElement = visualElementRef.current;\n useIsomorphicLayoutEffect(function () {\n if (!visualElement)\n return;\n visualElement.setProps(__assign(__assign(__assign({}, config), props), { layoutId: layoutId }));\n visualElement.isPresent = isPresent(presenceContext);\n visualElement.isPresenceRoot =\n !parent || parent.presenceId !== (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.id);\n /**\n * Fire a render to ensure the latest state is reflected on-screen.\n */\n visualElement.syncRender();\n });\n useEffect(function () {\n var _a;\n if (!visualElement)\n return;\n /**\n * In a future refactor we can replace the features-as-components and\n * have this loop through them all firing \"effect\" listeners\n */\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.animateChanges();\n });\n useIsomorphicLayoutEffect(function () { return function () { return visualElement === null || visualElement === void 0 ? void 0 : visualElement.notifyUnmount(); }; }, []);\n return visualElement;\n}\n\nexport { useVisualElement };\n","function isRefObject(ref) {\n return (typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","/**\n * Decides if the supplied variable is an array of variant labels\n */\nfunction isVariantLabels(v) {\n return Array.isArray(v);\n}\n/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n return typeof v === \"string\" || isVariantLabels(v);\n}\n/**\n * Creates an object containing the latest state of every MotionValue on a VisualElement\n */\nfunction getCurrent(visualElement) {\n var current = {};\n visualElement.forEachValue(function (value, key) { return (current[key] = value.get()); });\n return current;\n}\n/**\n * Creates an object containing the latest velocity of every MotionValue on a VisualElement\n */\nfunction getVelocity(visualElement) {\n var velocity = {};\n visualElement.forEachValue(function (value, key) { return (velocity[key] = value.getVelocity()); });\n return velocity;\n}\nfunction resolveVariantFromProps(props, definition, custom, currentValues, currentVelocity) {\n var _a;\n if (currentValues === void 0) { currentValues = {}; }\n if (currentVelocity === void 0) { currentVelocity = {}; }\n if (typeof definition === \"string\") {\n definition = (_a = props.variants) === null || _a === void 0 ? void 0 : _a[definition];\n }\n return typeof definition === \"function\"\n ? definition(custom !== null && custom !== void 0 ? custom : props.custom, currentValues, currentVelocity)\n : definition;\n}\nfunction resolveVariant(visualElement, definition, custom) {\n var props = visualElement.getProps();\n return resolveVariantFromProps(props, definition, custom !== null && custom !== void 0 ? custom : props.custom, getCurrent(visualElement), getVelocity(visualElement));\n}\nfunction checkIfControllingVariants(props) {\n var _a;\n return (typeof ((_a = props.animate) === null || _a === void 0 ? void 0 : _a.start) === \"function\" ||\n isVariantLabel(props.initial) ||\n isVariantLabel(props.animate) ||\n isVariantLabel(props.whileHover) ||\n isVariantLabel(props.whileDrag) ||\n isVariantLabel(props.whileTap) ||\n isVariantLabel(props.whileFocus) ||\n isVariantLabel(props.exit));\n}\nfunction checkIfVariantNode(props) {\n return Boolean(checkIfControllingVariants(props) || props.variants);\n}\n\nexport { checkIfControllingVariants, checkIfVariantNode, isVariantLabel, isVariantLabels, resolveVariant, resolveVariantFromProps };\n","import { useMemo, useContext } from 'react';\nimport { MotionContext } from './index.js';\nimport { getCurrentTreeVariants } from './utils.js';\n\nfunction useCreateMotionContext(props, isStatic) {\n var _a = getCurrentTreeVariants(props, useContext(MotionContext)), initial = _a.initial, animate = _a.animate;\n return useMemo(function () { return ({ initial: initial, animate: animate }); }, \n /**\n * Only break memoisation in static mode\n */\n isStatic\n ? [\n variantLabelsAsDependency(initial),\n variantLabelsAsDependency(animate),\n ]\n : []);\n}\nfunction variantLabelsAsDependency(prop) {\n return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n","import { checkIfControllingVariants, isVariantLabel } from '../../render/utils/variants.js';\n\nfunction getCurrentTreeVariants(props, context) {\n if (checkIfControllingVariants(props)) {\n var initial = props.initial, animate = props.animate;\n return {\n initial: initial === false || isVariantLabel(initial)\n ? initial\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n };\n }\n return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n","import * as React from 'react';\nimport { forwardRef, useContext } from 'react';\nimport { useFeatures } from './features/use-features.js';\nimport { MotionConfigContext } from '../context/MotionConfigContext.js';\nimport { MotionContext } from '../context/MotionContext/index.js';\nimport { useVisualElement } from './utils/use-visual-element.js';\nimport { useMotionRef } from './utils/use-motion-ref.js';\nimport { useCreateMotionContext } from '../context/MotionContext/create.js';\nimport { loadFeatures } from './features/definitions.js';\nimport { isBrowser } from '../utils/is-browser.js';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n *\n * @internal\n */\nfunction createMotionComponent(_a) {\n var preloadedFeatures = _a.preloadedFeatures, createVisualElement = _a.createVisualElement, useRender = _a.useRender, useVisualState = _a.useVisualState, Component = _a.Component;\n preloadedFeatures && loadFeatures(preloadedFeatures);\n function MotionComponent(props, externalRef) {\n /**\n * If we're rendering in a static environment, we only visually update the component\n * as a result of a React-rerender rather than interactions or animations. This\n * means we don't need to load additional memory structures like VisualElement,\n * or any gesture/animation features.\n */\n var isStatic = useContext(MotionConfigContext).isStatic;\n var features = null;\n /**\n * Create the tree context. This is memoized and will only trigger renders\n * when the current tree variant changes in static mode.\n */\n var context = useCreateMotionContext(props, isStatic);\n /**\n *\n */\n var visualState = useVisualState(props, isStatic);\n if (!isStatic && isBrowser) {\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(Component, visualState, props, createVisualElement);\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n *\n * TODO: The intention is to move these away from a React-centric to a\n * VisualElement-centric lifecycle scheme.\n */\n features = useFeatures(props, context.visualElement, preloadedFeatures);\n }\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (React.createElement(React.Fragment, null,\n React.createElement(MotionContext.Provider, { value: context }, useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic)),\n features));\n }\n return forwardRef(MotionComponent);\n}\n\nexport { createMotionComponent };\n","import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.js';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n return useCallback(function (instance) {\n var _a;\n instance && ((_a = visualState.mount) === null || _a === void 0 ? void 0 : _a.call(visualState, instance));\n if (visualElement) {\n instance\n ? visualElement.mount(instance)\n : visualElement.unmount();\n }\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance);\n }\n else if (isRefObject(externalRef)) {\n externalRef.current = instance;\n }\n }\n }, \n /**\n * Only pass a new ref callback to React if we've received a visual element\n * factory. Otherwise we'll be mounting/remounting every time externalRef\n * or other dependencies change.\n */\n [visualElement]);\n}\n\nexport { useMotionRef };\n","/**\n * We keep these listed seperately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nvar lowercaseSVGElements = [\n \"animate\",\n \"circle\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"g\",\n \"image\",\n \"line\",\n \"filter\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"rect\",\n \"stop\",\n \"svg\",\n \"switch\",\n \"symbol\",\n \"text\",\n \"tspan\",\n \"use\",\n \"view\",\n];\n\nexport { lowercaseSVGElements };\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.js';\n\nfunction isSVGComponent(Component) {\n if (\n /**\n * If it's not a string, it's a custom React component. Currently we only support\n * HTML custom React components.\n */\n typeof Component !== \"string\" ||\n /**\n * If it contains a dash, the element is a custom HTML webcomponent.\n */\n Component.includes(\"-\")) {\n return false;\n }\n else if (\n /**\n * If it's in our list of lowercase SVG tags, it's an SVG component\n */\n lowercaseSVGElements.indexOf(Component) > -1 ||\n /**\n * If it contains a capital letter, it's an SVG component\n */\n /[A-Z]/.test(Component)) {\n return true;\n }\n return false;\n}\n\nexport { isSVGComponent };\n","var valueScaleCorrection = {};\n/**\n * @internal\n */\nfunction addScaleCorrection(correctors) {\n for (var key in correctors) {\n valueScaleCorrection[key] = correctors[key];\n }\n}\n\nexport { addScaleCorrection, valueScaleCorrection };\n","/**\n * A list of all transformable axes. We'll use this list to generated a version\n * of each axes for each transform.\n */\nvar transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * An ordered array of each transformable value. By default, transform values\n * will be sorted to this order.\n */\nvar order = [\"translate\", \"scale\", \"rotate\", \"skew\"];\n/**\n * Generate a list of every possible transform key.\n */\nvar transformProps = [\"transformPerspective\", \"x\", \"y\", \"z\"];\norder.forEach(function (operationKey) {\n return transformAxes.forEach(function (axesKey) {\n return transformProps.push(operationKey + axesKey);\n });\n});\n/**\n * A function to use with Array.sort to sort transform keys by their default order.\n */\nfunction sortTransformProps(a, b) {\n return transformProps.indexOf(a) - transformProps.indexOf(b);\n}\n/**\n * A quick lookup for transform props.\n */\nvar transformPropSet = new Set(transformProps);\nfunction isTransformProp(key) {\n return transformPropSet.has(key);\n}\n/**\n * A quick lookup for transform origin props\n */\nvar transformOriginProps = new Set([\"originX\", \"originY\", \"originZ\"]);\nfunction isTransformOriginProp(key) {\n return transformOriginProps.has(key);\n}\n\nexport { isTransformOriginProp, isTransformProp, sortTransformProps, transformAxes, transformProps };\n","import { valueScaleCorrection } from '../../render/dom/projection/scale-correction.js';\nimport { isTransformProp, isTransformOriginProp } from '../../render/html/utils/transform.js';\n\nfunction isForcedMotionValue(key, _a) {\n var layout = _a.layout, layoutId = _a.layoutId;\n return (isTransformProp(key) ||\n isTransformOriginProp(key) ||\n ((layout || layoutId !== undefined) &&\n (!!valueScaleCorrection[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","var isMotionValue = function (value) {\n return value !== null && typeof value === \"object\" && value.getVelocity;\n};\n\nexport { isMotionValue };\n","import { sortTransformProps } from './transform.js';\n\nvar translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n};\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nfunction buildTransform(_a, _b, transformIsDefault, transformTemplate) {\n var transform = _a.transform, transformKeys = _a.transformKeys;\n var _c = _b.enableHardwareAcceleration, enableHardwareAcceleration = _c === void 0 ? true : _c, _d = _b.allowTransformNone, allowTransformNone = _d === void 0 ? true : _d;\n // The transform string we're going to build into.\n var transformString = \"\";\n // Transform keys into their default order - this will determine the output order.\n transformKeys.sort(sortTransformProps);\n // Track whether the defined transform has a defined z so we don't add a\n // second to enable hardware acceleration\n var transformHasZ = false;\n // Loop over each transform and build them into transformString\n var numTransformKeys = transformKeys.length;\n for (var i = 0; i < numTransformKeys; i++) {\n var key = transformKeys[i];\n transformString += (translateAlias[key] || key) + \"(\" + transform[key] + \") \";\n if (key === \"z\")\n transformHasZ = true;\n }\n if (!transformHasZ && enableHardwareAcceleration) {\n transformString += \"translateZ(0)\";\n }\n else {\n transformString = transformString.trim();\n }\n // If we have a custom `transform` template, pass our transform values and\n // generated transformString to that before returning\n if (transformTemplate) {\n transformString = transformTemplate(transform, transformIsDefault ? \"\" : transformString);\n }\n else if (allowTransformNone && transformIsDefault) {\n transformString = \"none\";\n }\n return transformString;\n}\n/**\n * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\nfunction buildTransformOrigin(_a) {\n var _b = _a.originX, originX = _b === void 0 ? \"50%\" : _b, _c = _a.originY, originY = _c === void 0 ? \"50%\" : _c, _d = _a.originZ, originZ = _d === void 0 ? 0 : _d;\n return originX + \" \" + originY + \" \" + originZ;\n}\n\nexport { buildTransform, buildTransformOrigin };\n","/**\n * Returns true if the provided key is a CSS variable\n */\nfunction isCSSVariable(key) {\n return key.startsWith(\"--\");\n}\n\nexport { isCSSVariable };\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nvar getValueAsType = function (value, type) {\n return type && typeof value === \"number\"\n ? type.transform(value)\n : value;\n};\n\nexport { getValueAsType };\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","var clamp = function (min, max) { return function (v) {\n return Math.max(Math.min(v, max), min);\n}; };\nvar sanitize = function (v) { return (v % 1 ? Number(v.toFixed(5)) : v); };\nvar floatRegex = /(-)?([\\d]*\\.?[\\d])+/g;\nvar colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))/gi;\nvar singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i;\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nexport { clamp, colorRegex, floatRegex, isString, sanitize, singleColorRegex };\n","import { __assign } from 'tslib';\nimport { isString } from '../utils.js';\n\nvar createUnitType = function (unit) { return ({\n test: function (v) {\n return isString(v) && v.endsWith(unit) && v.split(' ').length === 1;\n },\n parse: parseFloat,\n transform: function (v) { return \"\" + v + unit; },\n}); };\nvar degrees = createUnitType('deg');\nvar percent = createUnitType('%');\nvar px = createUnitType('px');\nvar vh = createUnitType('vh');\nvar vw = createUnitType('vw');\nvar progressPercentage = __assign(__assign({}, percent), { parse: function (v) { return percent.parse(v) / 100; }, transform: function (v) { return percent.transform(v * 100); } });\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n","import { __assign } from 'tslib';\nimport { clamp } from '../utils.js';\n\nvar number = {\n test: function (v) { return typeof v === 'number'; },\n parse: parseFloat,\n transform: function (v) { return v; },\n};\nvar alpha = __assign(__assign({}, number), { transform: clamp(0, 1) });\nvar scale = __assign(__assign({}, number), { default: 1 });\n\nexport { alpha, number, scale };\n","import { __assign } from 'tslib';\nimport { number } from 'style-value-types';\n\nvar int = __assign(__assign({}, number), { transform: Math.round });\n\nexport { int };\n","import { px, degrees, scale, alpha, progressPercentage } from 'style-value-types';\nimport { int } from './type-int.js';\n\nvar numberValueTypes = {\n // Border props\n borderWidth: px,\n borderTopWidth: px,\n borderRightWidth: px,\n borderBottomWidth: px,\n borderLeftWidth: px,\n borderRadius: px,\n radius: px,\n borderTopLeftRadius: px,\n borderTopRightRadius: px,\n borderBottomRightRadius: px,\n borderBottomLeftRadius: px,\n // Positioning props\n width: px,\n maxWidth: px,\n height: px,\n maxHeight: px,\n size: px,\n top: px,\n right: px,\n bottom: px,\n left: px,\n // Spacing props\n padding: px,\n paddingTop: px,\n paddingRight: px,\n paddingBottom: px,\n paddingLeft: px,\n margin: px,\n marginTop: px,\n marginRight: px,\n marginBottom: px,\n marginLeft: px,\n // Transform props\n rotate: degrees,\n rotateX: degrees,\n rotateY: degrees,\n rotateZ: degrees,\n scale: scale,\n scaleX: scale,\n scaleY: scale,\n scaleZ: scale,\n skew: degrees,\n skewX: degrees,\n skewY: degrees,\n distance: px,\n translateX: px,\n translateY: px,\n translateZ: px,\n x: px,\n y: px,\n z: px,\n perspective: px,\n transformPerspective: px,\n opacity: alpha,\n originX: progressPercentage,\n originY: progressPercentage,\n originZ: px,\n // Misc\n zIndex: int,\n // SVG\n fillOpacity: alpha,\n strokeOpacity: alpha,\n numOctaves: int,\n};\n\nexport { numberValueTypes };\n","import { valueScaleCorrection } from '../../dom/projection/scale-correction.js';\nimport { buildTransform, buildTransformOrigin } from './build-transform.js';\nimport { isCSSVariable } from '../../dom/utils/is-css-variable.js';\nimport { isTransformProp, isTransformOriginProp } from './transform.js';\nimport { getValueAsType } from '../../dom/value-types/get-as-type.js';\nimport { numberValueTypes } from '../../dom/value-types/number.js';\n\nfunction buildHTMLStyles(state, latestValues, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) {\n var _a;\n var style = state.style, vars = state.vars, transform = state.transform, transformKeys = state.transformKeys, transformOrigin = state.transformOrigin;\n // Empty the transformKeys array. As we're throwing out refs to its items\n // this might not be as cheap as suspected. Maybe using the array as a buffer\n // with a manual incrementation would be better.\n transformKeys.length = 0;\n // Track whether we encounter any transform or transformOrigin values.\n var hasTransform = false;\n var hasTransformOrigin = false;\n // Does the calculated transform essentially equal \"none\"?\n var transformIsNone = true;\n /**\n * Loop over all our latest animated values and decide whether to handle them\n * as a style or CSS variable.\n *\n * Transforms and transform origins are kept seperately for further processing.\n */\n for (var key in latestValues) {\n var value = latestValues[key];\n /**\n * If this is a CSS variable we don't do any further processing.\n */\n if (isCSSVariable(key)) {\n vars[key] = value;\n continue;\n }\n // Convert the value to its default value type, ie 0 -> \"0px\"\n var valueType = numberValueTypes[key];\n var valueAsType = getValueAsType(value, valueType);\n if (isTransformProp(key)) {\n // If this is a transform, flag to enable further transform processing\n hasTransform = true;\n transform[key] = valueAsType;\n transformKeys.push(key);\n // If we already know we have a non-default transform, early return\n if (!transformIsNone)\n continue;\n // Otherwise check to see if this is a default transform\n if (value !== ((_a = valueType.default) !== null && _a !== void 0 ? _a : 0))\n transformIsNone = false;\n }\n else if (isTransformOriginProp(key)) {\n transformOrigin[key] = valueAsType;\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true;\n }\n else {\n /**\n * If layout projection is on, and we need to perform scale correction for this\n * value type, perform it.\n */\n if ((projection === null || projection === void 0 ? void 0 : projection.isHydrated) &&\n (layoutState === null || layoutState === void 0 ? void 0 : layoutState.isHydrated) &&\n valueScaleCorrection[key]) {\n var correctedValue = valueScaleCorrection[key].process(value, layoutState, projection);\n /**\n * Scale-correctable values can define a number of other values to break\n * down into. For instance borderRadius needs applying to borderBottomLeftRadius etc\n */\n var applyTo = valueScaleCorrection[key].applyTo;\n if (applyTo) {\n var num = applyTo.length;\n for (var i = 0; i < num; i++) {\n style[applyTo[i]] = correctedValue;\n }\n }\n else {\n style[key] = correctedValue;\n }\n }\n else {\n style[key] = valueAsType;\n }\n }\n }\n if (layoutState &&\n projection &&\n buildProjectionTransform &&\n buildProjectionTransformOrigin) {\n style.transform = buildProjectionTransform(layoutState.deltaFinal, layoutState.treeScale, hasTransform ? transform : undefined);\n if (transformTemplate) {\n style.transform = transformTemplate(transform, style.transform);\n }\n style.transformOrigin = buildProjectionTransformOrigin(layoutState);\n }\n else {\n if (hasTransform) {\n style.transform = buildTransform(state, options, transformIsNone, transformTemplate);\n }\n if (hasTransformOrigin) {\n style.transformOrigin = buildTransformOrigin(transformOrigin);\n }\n }\n}\n\nexport { buildHTMLStyles };\n","var createHtmlRenderState = function () { return ({\n style: {},\n transform: {},\n transformKeys: [],\n transformOrigin: {},\n vars: {},\n}); };\n\nexport { createHtmlRenderState };\n","import { __assign } from 'tslib';\nimport { useMemo } from 'react';\nimport { isForcedMotionValue } from '../../motion/utils/is-forced-motion-value.js';\nimport { isMotionValue } from '../../value/utils/is-motion-value.js';\nimport { buildHTMLStyles } from './utils/build-styles.js';\nimport { createHtmlRenderState } from './utils/create-render-state.js';\n\nfunction copyRawValuesOnly(target, source, props) {\n for (var key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key];\n }\n }\n}\nfunction useInitialMotionValues(_a, visualState, isStatic) {\n var transformTemplate = _a.transformTemplate;\n return useMemo(function () {\n var state = createHtmlRenderState();\n buildHTMLStyles(state, visualState, undefined, undefined, { enableHardwareAcceleration: !isStatic }, transformTemplate);\n var vars = state.vars, style = state.style;\n return __assign(__assign({}, vars), style);\n }, [visualState]);\n}\nfunction useStyle(props, visualState, isStatic) {\n var styleProp = props.style || {};\n var style = {};\n /**\n * Copy non-Motion Values straight into style\n */\n copyRawValuesOnly(style, styleProp, props);\n Object.assign(style, useInitialMotionValues(props, visualState, isStatic));\n if (props.transformValues) {\n style = props.transformValues(style);\n }\n return style;\n}\nfunction useHTMLProps(props, visualState, isStatic) {\n // The `any` isn't ideal but it is the type of createElement props argument\n var htmlProps = {};\n var style = useStyle(props, visualState, isStatic);\n if (Boolean(props.drag)) {\n // Disable the ghost element when a user drags\n htmlProps.draggable = false;\n // Disable text selection\n style.userSelect = style.WebkitUserSelect = style.WebkitTouchCallout =\n \"none\";\n // Disable scrolling on the draggable direction\n style.touchAction =\n props.drag === true\n ? \"none\"\n : \"pan-\" + (props.drag === \"x\" ? \"y\" : \"x\");\n }\n htmlProps.style = style;\n return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps, useStyle };\n","import { isValidMotionProp } from '../../../motion/utils/valid-prop.js';\n\nvar shouldForward = function (key) { return !isValidMotionProp(key); };\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n var emotionIsPropValid_1 = require(\"@emotion/is-prop-valid\").default;\n shouldForward = function (key) {\n // Handle events explicitly as Emotion validates them all as true\n if (key.startsWith(\"on\")) {\n return !isValidMotionProp(key);\n }\n else {\n return emotionIsPropValid_1(key);\n }\n };\n}\ncatch (_a) {\n // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n var filteredProps = {};\n for (var key in props) {\n if (shouldForward(key) ||\n (forwardMotionProps === true && isValidMotionProp(key)) ||\n (!isDom && !isValidMotionProp(key))) {\n filteredProps[key] = props[key];\n }\n }\n return filteredProps;\n}\n\nexport { filterProps };\n","import { px } from 'style-value-types';\n\nfunction calcOrigin(origin, offset, size) {\n return typeof origin === \"string\"\n ? origin\n : px.transform(offset + size * origin);\n}\n/**\n * The SVG transform origin defaults are different to CSS and is less intuitive,\n * so we use the measured dimensions of the SVG to reconcile these.\n */\nfunction calcSVGTransformOrigin(dimensions, originX, originY) {\n var pxOriginX = calcOrigin(originX, dimensions.x, dimensions.width);\n var pxOriginY = calcOrigin(originY, dimensions.y, dimensions.height);\n return pxOriginX + \" \" + pxOriginY;\n}\n\nexport { calcSVGTransformOrigin };\n","import { px } from 'style-value-types';\n\n// Convert a progress 0-1 to a pixels value based on the provided length\nvar progressToPixels = function (progress, length) {\n return px.transform(progress * length);\n};\nvar dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n};\nvar camelKeys = {\n offset: \"strokeDashoffset\",\n array: \"strokeDasharray\",\n};\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n */\nfunction buildSVGPath(attrs, totalLength, length, spacing, offset, useDashCase) {\n if (spacing === void 0) { spacing = 1; }\n if (offset === void 0) { offset = 0; }\n if (useDashCase === void 0) { useDashCase = true; }\n // We use dash case when setting attributes directly to the DOM node and camel case\n // when defining props on a React component.\n var keys = useDashCase ? dashKeys : camelKeys;\n // Build the dash offset\n attrs[keys.offset] = progressToPixels(-offset, totalLength);\n // Build the dash array\n var pathLength = progressToPixels(length, totalLength);\n var pathSpacing = progressToPixels(spacing, totalLength);\n attrs[keys.array] = pathLength + \" \" + pathSpacing;\n}\n\nexport { buildSVGPath };\n","import { __rest } from 'tslib';\nimport { buildHTMLStyles } from '../../html/utils/build-styles.js';\nimport { calcSVGTransformOrigin } from './transform-origin.js';\nimport { buildSVGPath } from './path.js';\n\n/**\n * Build SVG visual attrbutes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, _a, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) {\n var attrX = _a.attrX, attrY = _a.attrY, originX = _a.originX, originY = _a.originY, pathLength = _a.pathLength, _b = _a.pathSpacing, pathSpacing = _b === void 0 ? 1 : _b, _c = _a.pathOffset, pathOffset = _c === void 0 ? 0 : _c, \n // This is object creation, which we try to avoid per-frame.\n latest = __rest(_a, [\"attrX\", \"attrY\", \"originX\", \"originY\", \"pathLength\", \"pathSpacing\", \"pathOffset\"]);\n buildHTMLStyles(state, latest, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin);\n state.attrs = state.style;\n state.style = {};\n var attrs = state.attrs, style = state.style, dimensions = state.dimensions, totalPathLength = state.totalPathLength;\n /**\n * However, we apply transforms as CSS transforms. So if we detect a transform we take it from attrs\n * and copy it into style.\n */\n if (attrs.transform) {\n if (dimensions)\n style.transform = attrs.transform;\n delete attrs.transform;\n }\n // Parse transformOrigin\n if (dimensions &&\n (originX !== undefined || originY !== undefined || style.transform)) {\n style.transformOrigin = calcSVGTransformOrigin(dimensions, originX !== undefined ? originX : 0.5, originY !== undefined ? originY : 0.5);\n }\n // Treat x/y not as shortcuts but as actual attributes\n if (attrX !== undefined)\n attrs.x = attrX;\n if (attrY !== undefined)\n attrs.y = attrY;\n // Build SVG path if one has been measured\n if (totalPathLength !== undefined && pathLength !== undefined) {\n buildSVGPath(attrs, totalPathLength, pathLength, pathSpacing, pathOffset, false);\n }\n}\n\nexport { buildSVGAttrs };\n","import { __assign } from 'tslib';\nimport { createHtmlRenderState } from '../../html/utils/create-render-state.js';\n\nvar createSvgRenderState = function () { return (__assign(__assign({}, createHtmlRenderState()), { attrs: {} })); };\n\nexport { createSvgRenderState };\n","import { __assign } from 'tslib';\nimport { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.js';\nimport { buildSVGAttrs } from './utils/build-attrs.js';\nimport { createSvgRenderState } from './utils/create-render-state.js';\n\nfunction useSVGProps(props, visualState) {\n var visualProps = useMemo(function () {\n var state = createSvgRenderState();\n buildSVGAttrs(state, visualState, undefined, undefined, { enableHardwareAcceleration: false }, props.transformTemplate);\n return __assign(__assign({}, state.attrs), { style: __assign({}, state.style) });\n }, [visualState]);\n if (props.style) {\n var rawStyles = {};\n copyRawValuesOnly(rawStyles, props.style, props);\n visualProps.style = __assign(__assign({}, rawStyles), visualProps.style);\n }\n return visualProps;\n}\n\nexport { useSVGProps };\n","import { __assign } from 'tslib';\nimport { createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.js';\nimport { filterProps } from './utils/filter-props.js';\nimport { isSVGComponent } from './utils/is-svg-component.js';\nimport { useSVGProps } from '../svg/use-props.js';\n\nfunction createUseRender(forwardMotionProps) {\n if (forwardMotionProps === void 0) { forwardMotionProps = false; }\n var useRender = function (Component, props, ref, _a, isStatic) {\n var latestValues = _a.latestValues;\n var useVisualProps = isSVGComponent(Component)\n ? useSVGProps\n : useHTMLProps;\n var visualProps = useVisualProps(props, latestValues, isStatic);\n var filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n var elementProps = __assign(__assign(__assign({}, filteredProps), visualProps), { ref: ref });\n return createElement(Component, elementProps);\n };\n return useRender;\n}\n\nexport { createUseRender };\n","var CAMEL_CASE_PATTERN = /([a-z])([A-Z])/g;\nvar REPLACE_TEMPLATE = \"$1-$2\";\n/**\n * Convert camelCase to dash-case properties.\n */\nvar camelToDash = function (str) {\n return str.replace(CAMEL_CASE_PATTERN, REPLACE_TEMPLATE).toLowerCase();\n};\n\nexport { camelToDash };\n","function renderHTML(element, _a) {\n var style = _a.style, vars = _a.vars;\n // Directly assign style into the Element's style prop. In tests Object.assign is the\n // fastest way to assign styles.\n Object.assign(element.style, style);\n // Loop over any CSS variables and assign those.\n for (var key in vars) {\n element.style.setProperty(key, vars[key]);\n }\n}\n\nexport { renderHTML };\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nvar camelCaseAttributes = new Set([\n \"baseFrequency\",\n \"diffuseConstant\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keySplines\",\n \"keyTimes\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerWidth\",\n \"numOctaves\",\n \"targetX\",\n \"targetY\",\n \"surfaceScale\",\n \"specularConstant\",\n \"specularExponent\",\n \"stdDeviation\",\n \"tableValues\",\n \"viewBox\",\n \"gradientTransform\",\n]);\n\nexport { camelCaseAttributes };\n","import { camelToDash } from '../../dom/utils/camel-to-dash.js';\nimport { renderHTML } from '../../html/utils/render.js';\nimport { camelCaseAttributes } from './camel-case-attrs.js';\n\nfunction renderSVG(element, renderState) {\n renderHTML(element, renderState);\n for (var key in renderState.attrs) {\n element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n }\n}\n\nexport { renderSVG };\n","import { isForcedMotionValue } from '../../../motion/utils/is-forced-motion-value.js';\nimport { isMotionValue } from '../../../value/utils/is-motion-value.js';\n\nfunction scrapeMotionValuesFromProps(props) {\n var style = props.style;\n var newValues = {};\n for (var key in style) {\n if (isMotionValue(style[key]) || isForcedMotionValue(key, props)) {\n newValues[key] = style[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","import { isMotionValue } from '../../../value/utils/is-motion-value.js';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.js';\n\nfunction scrapeMotionValuesFromProps(props) {\n var newValues = scrapeMotionValuesFromProps$1(props);\n for (var key in props) {\n if (isMotionValue(props[key])) {\n var targetKey = key === \"x\" || key === \"y\" ? \"attr\" + key.toUpperCase() : key;\n newValues[targetKey] = props[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","function isAnimationControls(v) {\n return typeof v === \"object\" && typeof v.start === \"function\";\n}\n\nexport { isAnimationControls };\n","var isKeyframesTarget = function (v) {\n return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n","import { isCustomValue } from '../../utils/resolve-value.js';\nimport { isMotionValue } from './is-motion-value.js';\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n *\n * TODO: Remove and move to library\n *\n * @internal\n */\nfunction resolveMotionValue(value) {\n var unwrappedValue = isMotionValue(value) ? value.get() : value;\n return isCustomValue(unwrappedValue)\n ? unwrappedValue.toValue()\n : unwrappedValue;\n}\n\nexport { resolveMotionValue };\n","import { isKeyframesTarget } from '../animation/utils/is-keyframes-target.js';\n\nvar isCustomValue = function (v) {\n return Boolean(v && typeof v === \"object\" && v.mix && v.toValue);\n};\nvar resolveFinalValueInKeyframes = function (v) {\n // TODO maybe throw if v.length - 1 is placeholder token?\n return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n};\n\nexport { isCustomValue, resolveFinalValueInKeyframes };\n","import { __rest } from 'tslib';\nimport { useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.js';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { checkIfControllingVariants, checkIfVariantNode, resolveVariantFromProps } from '../../render/utils/variants.js';\nimport { useConstant } from '../../utils/use-constant.js';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.js';\nimport { MotionContext } from '../../context/MotionContext/index.js';\n\nfunction makeState(_a, props, context, presenceContext) {\n var scrapeMotionValuesFromProps = _a.scrapeMotionValuesFromProps, createRenderState = _a.createRenderState, onMount = _a.onMount;\n var state = {\n latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n renderState: createRenderState(),\n };\n if (onMount) {\n state.mount = function (instance) { return onMount(props, instance, state); };\n }\n return state;\n}\nvar makeUseVisualState = function (config) { return function (props, isStatic) {\n var context = useContext(MotionContext);\n var presenceContext = useContext(PresenceContext);\n return isStatic\n ? makeState(config, props, context, presenceContext)\n : useConstant(function () { return makeState(config, props, context, presenceContext); });\n}; };\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n var values = {};\n var blockInitialAnimation = (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.initial) === false;\n var motionValues = scrapeMotionValues(props);\n for (var key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key]);\n }\n var initial = props.initial, animate = props.animate;\n var isControllingVariants = checkIfControllingVariants(props);\n var isVariantNode = checkIfVariantNode(props);\n if (context &&\n isVariantNode &&\n !isControllingVariants &&\n props.inherit !== false) {\n initial !== null && initial !== void 0 ? initial : (initial = context.initial);\n animate !== null && animate !== void 0 ? animate : (animate = context.animate);\n }\n var variantToSet = blockInitialAnimation || initial === false ? animate : initial;\n if (variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)) {\n var list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n list.forEach(function (definition) {\n var resolved = resolveVariantFromProps(props, definition);\n if (!resolved)\n return;\n var transitionEnd = resolved.transitionEnd; resolved.transition; var target = __rest(resolved, [\"transitionEnd\", \"transition\"]);\n for (var key in target)\n values[key] = target[key];\n for (var key in transitionEnd)\n values[key] = transitionEnd[key];\n });\n }\n return values;\n}\n\nexport { makeUseVisualState };\n","import { renderSVG } from './utils/render.js';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.js';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.js';\nimport { createSvgRenderState } from './utils/create-render-state.js';\nimport { buildSVGAttrs } from './utils/build-attrs.js';\n\nvar svgMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createSvgRenderState,\n onMount: function (props, instance, _a) {\n var renderState = _a.renderState, latestValues = _a.latestValues;\n try {\n renderState.dimensions =\n typeof instance.getBBox ===\n \"function\"\n ? instance.getBBox()\n : instance.getBoundingClientRect();\n }\n catch (e) {\n // Most likely trying to measure an unrendered element under Firefox\n renderState.dimensions = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n if (isPath(instance)) {\n renderState.totalPathLength = instance.getTotalLength();\n }\n buildSVGAttrs(renderState, latestValues, undefined, undefined, { enableHardwareAcceleration: false }, props.transformTemplate);\n // TODO: Replace with direct assignment\n renderSVG(instance, renderState);\n },\n }),\n};\nfunction isPath(element) {\n return element.tagName === \"path\";\n}\n\nexport { svgMotionConfig };\n","import { makeUseVisualState } from '../../motion/utils/use-visual-state.js';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.js';\nimport { createHtmlRenderState } from './utils/create-render-state.js';\n\nvar htmlMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n }),\n};\n\nexport { htmlMotionConfig };\n","var AnimationType;\n(function (AnimationType) {\n AnimationType[\"Animate\"] = \"animate\";\n AnimationType[\"Hover\"] = \"whileHover\";\n AnimationType[\"Tap\"] = \"whileTap\";\n AnimationType[\"Drag\"] = \"whileDrag\";\n AnimationType[\"Focus\"] = \"whileFocus\";\n AnimationType[\"Exit\"] = \"exit\";\n})(AnimationType || (AnimationType = {}));\n\nexport { AnimationType };\n","import { __assign } from 'tslib';\nimport { isSVGComponent } from './is-svg-component.js';\nimport { createUseRender } from '../use-render.js';\nimport { svgMotionConfig } from '../../svg/config-motion.js';\nimport { htmlMotionConfig } from '../../html/config-motion.js';\n\nfunction createDomMotionConfig(Component, _a, preloadedFeatures, createVisualElement) {\n var _b = _a.forwardMotionProps, forwardMotionProps = _b === void 0 ? false : _b;\n var baseConfig = isSVGComponent(Component)\n ? svgMotionConfig\n : htmlMotionConfig;\n return __assign(__assign({}, baseConfig), { preloadedFeatures: preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement: createVisualElement,\n Component: Component });\n}\n\nexport { createDomMotionConfig };\n","import { useEffect } from 'react';\n\nfunction addDomEvent(target, eventName, handler, options) {\n target.addEventListener(eventName, handler, options);\n return function () { return target.removeEventListener(eventName, handler, options); };\n}\n/**\n * Attaches an event listener directly to the provided DOM element.\n *\n * Bypassing React's event system can be desirable, for instance when attaching non-passive\n * event handlers.\n *\n * ```jsx\n * const ref = useRef(null)\n *\n * useDomEvent(ref, 'wheel', onWheel, { passive: false })\n *\n * return <div ref={ref} />\n * ```\n *\n * @param ref - React.RefObject that's been provided to the element you want to bind the listener to.\n * @param eventName - Name of the event you want listen for.\n * @param handler - Function to fire when receiving the event.\n * @param options - Options to pass to `Event.addEventListener`.\n *\n * @public\n */\nfunction useDomEvent(ref, eventName, handler, options) {\n useEffect(function () {\n var element = ref.current;\n if (handler && element) {\n return addDomEvent(element, eventName, handler, options);\n }\n }, [ref, eventName, handler, options]);\n}\n\nexport { addDomEvent, useDomEvent };\n","function isMouseEvent(event) {\n // PointerEvent inherits from MouseEvent so we can't use a straight instanceof check.\n if (typeof PointerEvent !== \"undefined\" && event instanceof PointerEvent) {\n return !!(event.pointerType === \"mouse\");\n }\n return event instanceof MouseEvent;\n}\nfunction isTouchEvent(event) {\n var hasTouches = !!event.touches;\n return hasTouches;\n}\n\nexport { isMouseEvent, isTouchEvent };\n","import { isTouchEvent } from '../gestures/utils/event-type.js';\n\n/**\n * Filters out events not attached to the primary pointer (currently left mouse button)\n * @param eventHandler\n */\nfunction filterPrimaryPointer(eventHandler) {\n return function (event) {\n var isMouseEvent = event instanceof MouseEvent;\n var isPrimaryPointer = !isMouseEvent ||\n (isMouseEvent && event.button === 0);\n if (isPrimaryPointer) {\n eventHandler(event);\n }\n };\n}\nvar defaultPagePoint = { pageX: 0, pageY: 0 };\nfunction pointFromTouch(e, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n var primaryTouch = e.touches[0] || e.changedTouches[0];\n var point = primaryTouch || defaultPagePoint;\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction pointFromMouse(point, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction extractEventInfo(event, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n return {\n point: isTouchEvent(event)\n ? pointFromTouch(event, pointType)\n : pointFromMouse(event, pointType),\n };\n}\nfunction getViewportPointFromEvent(event) {\n return extractEventInfo(event, \"client\");\n}\nvar wrapHandler = function (handler, shouldFilterPrimaryPointer) {\n if (shouldFilterPrimaryPointer === void 0) { shouldFilterPrimaryPointer = false; }\n var listener = function (event) {\n return handler(event, extractEventInfo(event));\n };\n return shouldFilterPrimaryPointer\n ? filterPrimaryPointer(listener)\n : listener;\n};\n\nexport { extractEventInfo, getViewportPointFromEvent, wrapHandler };\n","import { useDomEvent, addDomEvent } from './use-dom-event.js';\nimport { wrapHandler } from './event-info.js';\nimport { supportsPointerEvents, supportsTouchEvents, supportsMouseEvents } from './utils.js';\n\nvar mouseEventNames = {\n pointerdown: \"mousedown\",\n pointermove: \"mousemove\",\n pointerup: \"mouseup\",\n pointercancel: \"mousecancel\",\n pointerover: \"mouseover\",\n pointerout: \"mouseout\",\n pointerenter: \"mouseenter\",\n pointerleave: \"mouseleave\",\n};\nvar touchEventNames = {\n pointerdown: \"touchstart\",\n pointermove: \"touchmove\",\n pointerup: \"touchend\",\n pointercancel: \"touchcancel\",\n};\nfunction getPointerEventName(name) {\n if (supportsPointerEvents()) {\n return name;\n }\n else if (supportsTouchEvents()) {\n return touchEventNames[name];\n }\n else if (supportsMouseEvents()) {\n return mouseEventNames[name];\n }\n return name;\n}\nfunction addPointerEvent(target, eventName, handler, options) {\n return addDomEvent(target, getPointerEventName(eventName), wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\nfunction usePointerEvent(ref, eventName, handler, options) {\n return useDomEvent(ref, getPointerEventName(eventName), handler && wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\n\nexport { addPointerEvent, usePointerEvent };\n","import { isBrowser } from '../utils/is-browser.js';\n\n// We check for event support via functions in case they've been mocked by a testing suite.\nvar supportsPointerEvents = function () {\n return isBrowser && window.onpointerdown === null;\n};\nvar supportsTouchEvents = function () {\n return isBrowser && window.ontouchstart === null;\n};\nvar supportsMouseEvents = function () {\n return isBrowser && window.onmousedown === null;\n};\n\nexport { supportsMouseEvents, supportsPointerEvents, supportsTouchEvents };\n","function createLock(name) {\n var lock = null;\n return function () {\n var openLock = function () {\n lock = null;\n };\n if (lock === null) {\n lock = name;\n return openLock;\n }\n return false;\n };\n}\nvar globalHorizontalLock = createLock(\"dragHorizontal\");\nvar globalVerticalLock = createLock(\"dragVertical\");\nfunction getGlobalLock(drag) {\n var lock = false;\n if (drag === \"y\") {\n lock = globalVerticalLock();\n }\n else if (drag === \"x\") {\n lock = globalHorizontalLock();\n }\n else {\n var openHorizontal_1 = globalHorizontalLock();\n var openVertical_1 = globalVerticalLock();\n if (openHorizontal_1 && openVertical_1) {\n lock = function () {\n openHorizontal_1();\n openVertical_1();\n };\n }\n else {\n // Release the locks because we don't use them\n if (openHorizontal_1)\n openHorizontal_1();\n if (openVertical_1)\n openVertical_1();\n }\n }\n return lock;\n}\nfunction isDragActive() {\n // Check the gesture lock - if we get it, it means no drag gesture is active\n // and we can safely fire the tap gesture.\n var openGestureLock = getGlobalLock(true);\n if (!openGestureLock)\n return true;\n openGestureLock();\n return false;\n}\n\nexport { createLock, getGlobalLock, isDragActive };\n","import { isMouseEvent } from './utils/event-type.js';\nimport { AnimationType } from '../render/utils/types.js';\nimport { usePointerEvent } from '../events/use-pointer-event.js';\nimport { isDragActive } from './drag/utils/lock.js';\n\nfunction createHoverEvent(visualElement, isActive, callback) {\n return function (event, info) {\n var _a;\n if (!isMouseEvent(event) || isDragActive())\n return;\n callback === null || callback === void 0 ? void 0 : callback(event, info);\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Hover, isActive);\n };\n}\nfunction useHoverGesture(_a) {\n var onHoverStart = _a.onHoverStart, onHoverEnd = _a.onHoverEnd, whileHover = _a.whileHover, visualElement = _a.visualElement;\n usePointerEvent(visualElement, \"pointerenter\", onHoverStart || whileHover\n ? createHoverEvent(visualElement, true, onHoverStart)\n : undefined);\n usePointerEvent(visualElement, \"pointerleave\", onHoverEnd || whileHover\n ? createHoverEvent(visualElement, false, onHoverEnd)\n : undefined);\n}\n\nexport { useHoverGesture };\n","/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nvar isNodeOrChild = function (parent, child) {\n if (!child) {\n return false;\n }\n else if (parent === child) {\n return true;\n }\n else {\n return isNodeOrChild(parent, child.parentElement);\n }\n};\n\nexport { isNodeOrChild };\n","var combineFunctions = function (a, b) { return function (v) { return b(a(v)); }; };\nvar pipe = function () {\n var transformers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n transformers[_i] = arguments[_i];\n }\n return transformers.reduce(combineFunctions);\n};\n\nexport { pipe };\n","var makeRenderlessComponent = function (hook) { return function (props) {\n hook(props);\n return null;\n}; };\n\nexport { makeRenderlessComponent };\n","import { useFocusGesture } from '../../gestures/use-focus-gesture.js';\nimport { useHoverGesture } from '../../gestures/use-hover-gesture.js';\nimport { useTapGesture } from '../../gestures/use-tap-gesture.js';\nimport { makeRenderlessComponent } from '../utils/make-renderless-component.js';\n\nvar gestureAnimations = {\n tap: makeRenderlessComponent(useTapGesture),\n focus: makeRenderlessComponent(useFocusGesture),\n hover: makeRenderlessComponent(useHoverGesture),\n};\n\nexport { gestureAnimations };\n","import { useRef } from 'react';\nimport { isNodeOrChild } from './utils/is-node-or-child.js';\nimport { usePointerEvent, addPointerEvent } from '../events/use-pointer-event.js';\nimport { useUnmountEffect } from '../utils/use-unmount-effect.js';\nimport { pipe } from 'popmotion';\nimport { AnimationType } from '../render/utils/types.js';\nimport { isDragActive } from './drag/utils/lock.js';\n\n/**\n * @param handlers -\n * @internal\n */\nfunction useTapGesture(_a) {\n var onTap = _a.onTap, onTapStart = _a.onTapStart, onTapCancel = _a.onTapCancel, whileTap = _a.whileTap, visualElement = _a.visualElement;\n var hasPressListeners = onTap || onTapStart || onTapCancel || whileTap;\n var isPressing = useRef(false);\n var cancelPointerEndListeners = useRef(null);\n function removePointerEndListener() {\n var _a;\n (_a = cancelPointerEndListeners.current) === null || _a === void 0 ? void 0 : _a.call(cancelPointerEndListeners);\n cancelPointerEndListeners.current = null;\n }\n function checkPointerEnd() {\n var _a;\n removePointerEndListener();\n isPressing.current = false;\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, false);\n return !isDragActive();\n }\n function onPointerUp(event, info) {\n if (!checkPointerEnd())\n return;\n /**\n * We only count this as a tap gesture if the event.target is the same\n * as, or a child of, this component's element\n */\n !isNodeOrChild(visualElement.getInstance(), event.target)\n ? onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info)\n : onTap === null || onTap === void 0 ? void 0 : onTap(event, info);\n }\n function onPointerCancel(event, info) {\n if (!checkPointerEnd())\n return;\n onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info);\n }\n function onPointerDown(event, info) {\n var _a;\n removePointerEndListener();\n if (isPressing.current)\n return;\n isPressing.current = true;\n cancelPointerEndListeners.current = pipe(addPointerEvent(window, \"pointerup\", onPointerUp), addPointerEvent(window, \"pointercancel\", onPointerCancel));\n onTapStart === null || onTapStart === void 0 ? void 0 : onTapStart(event, info);\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, true);\n }\n usePointerEvent(visualElement, \"pointerdown\", hasPressListeners ? onPointerDown : undefined);\n useUnmountEffect(removePointerEndListener);\n}\n\nexport { useTapGesture };\n","import { AnimationType } from '../render/utils/types.js';\nimport { useDomEvent } from '../events/use-dom-event.js';\n\n/**\n *\n * @param props\n * @param ref\n * @internal\n */\nfunction useFocusGesture(_a) {\n var whileFocus = _a.whileFocus, visualElement = _a.visualElement;\n var onFocus = function () {\n var _a;\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Focus, true);\n };\n var onBlur = function () {\n var _a;\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Focus, false);\n };\n useDomEvent(visualElement, \"focus\", whileFocus ? onFocus : undefined);\n useDomEvent(visualElement, \"blur\", whileFocus ? onBlur : undefined);\n}\n\nexport { useFocusGesture };\n","function shallowCompare(next, prev) {\n if (!Array.isArray(prev))\n return false;\n var prevLength = prev.length;\n if (prevLength !== next.length)\n return false;\n for (var i = 0; i < prevLength; i++) {\n if (prev[i] !== next[i])\n return false;\n }\n return true;\n}\n\nexport { shallowCompare };\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","var clamp = function (min, max, v) {\n return Math.min(Math.max(v, min), max);\n};\n\nexport { clamp };\n","import { warning } from 'hey-listen';\nimport { clamp } from '../../utils/clamp.js';\n\nvar safeMin = 0.001;\nvar minDuration = 0.01;\nvar maxDuration = 10.0;\nvar minDamping = 0.05;\nvar maxDamping = 1;\nfunction findSpring(_a) {\n var _b = _a.duration, duration = _b === void 0 ? 800 : _b, _c = _a.bounce, bounce = _c === void 0 ? 0.25 : _c, _d = _a.velocity, velocity = _d === void 0 ? 0 : _d, _e = _a.mass, mass = _e === void 0 ? 1 : _e;\n var envelope;\n var derivative;\n warning(duration <= maxDuration * 1000, \"Spring duration must be 10 seconds or less\");\n var dampingRatio = 1 - bounce;\n dampingRatio = clamp(minDamping, maxDamping, dampingRatio);\n duration = clamp(minDuration, maxDuration, duration / 1000);\n if (dampingRatio < 1) {\n envelope = function (undampedFreq) {\n var exponentialDecay = undampedFreq * dampingRatio;\n var delta = exponentialDecay * duration;\n var a = exponentialDecay - velocity;\n var b = calcAngularFreq(undampedFreq, dampingRatio);\n var c = Math.exp(-delta);\n return safeMin - (a / b) * c;\n };\n derivative = function (undampedFreq) {\n var exponentialDecay = undampedFreq * dampingRatio;\n var delta = exponentialDecay * duration;\n var d = delta * velocity + velocity;\n var e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n var f = Math.exp(-delta);\n var g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n var factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n return (factor * ((d - e) * f)) / g;\n };\n }\n else {\n envelope = function (undampedFreq) {\n var a = Math.exp(-undampedFreq * duration);\n var b = (undampedFreq - velocity) * duration + 1;\n return -safeMin + a * b;\n };\n derivative = function (undampedFreq) {\n var a = Math.exp(-undampedFreq * duration);\n var b = (velocity - undampedFreq) * (duration * duration);\n return a * b;\n };\n }\n var initialGuess = 5 / duration;\n var undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n duration = duration * 1000;\n if (isNaN(undampedFreq)) {\n return {\n stiffness: 100,\n damping: 10,\n duration: duration,\n };\n }\n else {\n var stiffness = Math.pow(undampedFreq, 2) * mass;\n return {\n stiffness: stiffness,\n damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n duration: duration,\n };\n }\n}\nvar rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n var result = initialGuess;\n for (var i = 1; i < rootIterations; i++) {\n result = result - envelope(result) / derivative(result);\n }\n return result;\n}\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\n\nexport { calcAngularFreq, findSpring, maxDamping, maxDuration, minDamping, minDuration };\n","import { __rest, __assign } from 'tslib';\nimport { findSpring, calcAngularFreq } from '../utils/find-spring.js';\n\nvar durationKeys = [\"duration\", \"bounce\"];\nvar physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n return keys.some(function (key) { return options[key] !== undefined; });\n}\nfunction getSpringOptions(options) {\n var springOptions = __assign({ velocity: 0.0, stiffness: 100, damping: 10, mass: 1.0, isResolvedFromDuration: false }, options);\n if (!isSpringType(options, physicsKeys) &&\n isSpringType(options, durationKeys)) {\n var derived = findSpring(options);\n springOptions = __assign(__assign(__assign({}, springOptions), derived), { velocity: 0.0, mass: 1.0 });\n springOptions.isResolvedFromDuration = true;\n }\n return springOptions;\n}\nfunction spring(_a) {\n var _b = _a.from, from = _b === void 0 ? 0.0 : _b, _c = _a.to, to = _c === void 0 ? 1.0 : _c, _d = _a.restSpeed, restSpeed = _d === void 0 ? 2 : _d, restDelta = _a.restDelta, options = __rest(_a, [\"from\", \"to\", \"restSpeed\", \"restDelta\"]);\n var state = { done: false, value: from };\n var _e = getSpringOptions(options), stiffness = _e.stiffness, damping = _e.damping, mass = _e.mass, velocity = _e.velocity, duration = _e.duration, isResolvedFromDuration = _e.isResolvedFromDuration;\n var resolveSpring = zero;\n var resolveVelocity = zero;\n function createSpring() {\n var initialVelocity = velocity ? -(velocity / 1000) : 0.0;\n var initialDelta = to - from;\n var dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n var undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000;\n restDelta !== null && restDelta !== void 0 ? restDelta : (restDelta = Math.abs(to - from) <= 1 ? 0.01 : 0.4);\n if (dampingRatio < 1) {\n var angularFreq_1 = calcAngularFreq(undampedAngularFreq, dampingRatio);\n resolveSpring = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (to -\n envelope *\n (((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) /\n angularFreq_1) *\n Math.sin(angularFreq_1 * t) +\n initialDelta * Math.cos(angularFreq_1 * t)));\n };\n resolveVelocity = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (dampingRatio *\n undampedAngularFreq *\n envelope *\n ((Math.sin(angularFreq_1 * t) *\n (initialVelocity +\n dampingRatio *\n undampedAngularFreq *\n initialDelta)) /\n angularFreq_1 +\n initialDelta * Math.cos(angularFreq_1 * t)) -\n envelope *\n (Math.cos(angularFreq_1 * t) *\n (initialVelocity +\n dampingRatio *\n undampedAngularFreq *\n initialDelta) -\n angularFreq_1 *\n initialDelta *\n Math.sin(angularFreq_1 * t)));\n };\n }\n else if (dampingRatio === 1) {\n resolveSpring = function (t) {\n return to -\n Math.exp(-undampedAngularFreq * t) *\n (initialDelta +\n (initialVelocity + undampedAngularFreq * initialDelta) *\n t);\n };\n }\n else {\n var dampedAngularFreq_1 = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n resolveSpring = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n var freqForT = Math.min(dampedAngularFreq_1 * t, 300);\n return (to -\n (envelope *\n ((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) *\n Math.sinh(freqForT) +\n dampedAngularFreq_1 *\n initialDelta *\n Math.cosh(freqForT))) /\n dampedAngularFreq_1);\n };\n }\n }\n createSpring();\n return {\n next: function (t) {\n var current = resolveSpring(t);\n if (!isResolvedFromDuration) {\n var currentVelocity = resolveVelocity(t) * 1000;\n var isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n var isBelowDisplacementThreshold = Math.abs(to - current) <= restDelta;\n state.done =\n isBelowVelocityThreshold && isBelowDisplacementThreshold;\n }\n else {\n state.done = t >= duration;\n }\n state.value = state.done ? to : current;\n return state;\n },\n flipTarget: function () {\n var _a;\n velocity = -velocity;\n _a = [to, from], from = _a[0], to = _a[1];\n createSpring();\n },\n };\n}\nspring.needsInterpolation = function (a, b) {\n return typeof a === \"string\" || typeof b === \"string\";\n};\nvar zero = function (_t) { return 0; };\n\nexport { spring };\n","var progress = function (from, to, value) {\n var toFromDifference = to - from;\n return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n","var mix = function (from, to, progress) {\n return -progress * from + progress * to + from;\n};\n\nexport { mix };\n","import { isString, singleColorRegex, floatRegex } from '../utils.js';\n\nvar isColorString = function (type, testProp) { return function (v) {\n return Boolean((isString(v) && singleColorRegex.test(v) && v.startsWith(type)) ||\n (testProp && Object.prototype.hasOwnProperty.call(v, testProp)));\n}; };\nvar splitColor = function (aName, bName, cName) { return function (v) {\n var _a;\n if (!isString(v))\n return v;\n var _b = v.match(floatRegex), a = _b[0], b = _b[1], c = _b[2], alpha = _b[3];\n return _a = {},\n _a[aName] = parseFloat(a),\n _a[bName] = parseFloat(b),\n _a[cName] = parseFloat(c),\n _a.alpha = alpha !== undefined ? parseFloat(alpha) : 1,\n _a;\n}; };\n\nexport { isColorString, splitColor };\n","import { __assign } from 'tslib';\nimport { number, alpha } from '../numbers/index.js';\nimport { sanitize, clamp } from '../utils.js';\nimport { isColorString, splitColor } from './utils.js';\n\nvar clampRgbUnit = clamp(0, 255);\nvar rgbUnit = __assign(__assign({}, number), { transform: function (v) { return Math.round(clampRgbUnit(v)); } });\nvar rgba = {\n test: isColorString('rgb', 'red'),\n parse: splitColor('red', 'green', 'blue'),\n transform: function (_a) {\n var red = _a.red, green = _a.green, blue = _a.blue, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\n return 'rgba(' +\n rgbUnit.transform(red) +\n ', ' +\n rgbUnit.transform(green) +\n ', ' +\n rgbUnit.transform(blue) +\n ', ' +\n sanitize(alpha.transform(alpha$1)) +\n ')';\n },\n};\n\nexport { rgbUnit, rgba };\n","import { rgba } from './rgba.js';\nimport { isColorString } from './utils.js';\n\nfunction parseHex(v) {\n var r = '';\n var g = '';\n var b = '';\n var a = '';\n if (v.length > 5) {\n r = v.substr(1, 2);\n g = v.substr(3, 2);\n b = v.substr(5, 2);\n a = v.substr(7, 2);\n }\n else {\n r = v.substr(1, 1);\n g = v.substr(2, 1);\n b = v.substr(3, 1);\n a = v.substr(4, 1);\n r += r;\n g += g;\n b += b;\n a += a;\n }\n return {\n red: parseInt(r, 16),\n green: parseInt(g, 16),\n blue: parseInt(b, 16),\n alpha: a ? parseInt(a, 16) / 255 : 1,\n };\n}\nvar hex = {\n test: isColorString('#'),\n parse: parseHex,\n transform: rgba.transform,\n};\n\nexport { hex };\n","import { alpha } from '../numbers/index.js';\nimport { percent } from '../numbers/units.js';\nimport { sanitize } from '../utils.js';\nimport { isColorString, splitColor } from './utils.js';\n\nvar hsla = {\n test: isColorString('hsl', 'hue'),\n parse: splitColor('hue', 'saturation', 'lightness'),\n transform: function (_a) {\n var hue = _a.hue, saturation = _a.saturation, lightness = _a.lightness, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\n return ('hsla(' +\n Math.round(hue) +\n ', ' +\n percent.transform(sanitize(saturation)) +\n ', ' +\n percent.transform(sanitize(lightness)) +\n ', ' +\n sanitize(alpha.transform(alpha$1)) +\n ')');\n },\n};\n\nexport { hsla };\n","import { __assign } from 'tslib';\nimport { mix } from './mix.js';\nimport { hex, rgba, hsla } from 'style-value-types';\nimport { invariant } from 'hey-listen';\n\nvar mixLinearColor = function (from, to, v) {\n var fromExpo = from * from;\n var toExpo = to * to;\n return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo));\n};\nvar colorTypes = [hex, rgba, hsla];\nvar getColorType = function (v) {\n return colorTypes.find(function (type) { return type.test(v); });\n};\nvar notAnimatable = function (color) {\n return \"'\" + color + \"' is not an animatable color. Use the equivalent color code instead.\";\n};\nvar mixColor = function (from, to) {\n var fromColorType = getColorType(from);\n var toColorType = getColorType(to);\n invariant(!!fromColorType, notAnimatable(from));\n invariant(!!toColorType, notAnimatable(to));\n invariant(fromColorType.transform === toColorType.transform, \"Both colors must be hex/RGBA, OR both must be HSLA.\");\n var fromColor = fromColorType.parse(from);\n var toColor = toColorType.parse(to);\n var blended = __assign({}, fromColor);\n var mixFunc = fromColorType === hsla ? mix : mixLinearColor;\n return function (v) {\n for (var key in blended) {\n if (key !== \"alpha\") {\n blended[key] = mixFunc(fromColor[key], toColor[key], v);\n }\n }\n blended.alpha = mix(fromColor.alpha, toColor.alpha, v);\n return fromColorType.transform(blended);\n };\n};\n\nexport { mixColor, mixLinearColor };\n","import { isString } from '../utils.js';\nimport { hex } from './hex.js';\nimport { hsla } from './hsla.js';\nimport { rgba } from './rgba.js';\n\nvar color = {\n test: function (v) { return rgba.test(v) || hex.test(v) || hsla.test(v); },\n parse: function (v) {\n if (rgba.test(v)) {\n return rgba.parse(v);\n }\n else if (hsla.test(v)) {\n return hsla.parse(v);\n }\n else {\n return hex.parse(v);\n }\n },\n transform: function (v) {\n return isString(v)\n ? v\n : v.hasOwnProperty('red')\n ? rgba.transform(v)\n : hsla.transform(v);\n },\n};\n\nexport { color };\n","import { color } from '../color/index.js';\nimport { number } from '../numbers/index.js';\nimport { isString, floatRegex, colorRegex, sanitize } from '../utils.js';\n\nvar colorToken = '${c}';\nvar numberToken = '${n}';\nfunction test(v) {\n var _a, _b, _c, _d;\n return (isNaN(v) &&\n isString(v) &&\n ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0);\n}\nfunction analyse(v) {\n var values = [];\n var numColors = 0;\n var colors = v.match(colorRegex);\n if (colors) {\n numColors = colors.length;\n v = v.replace(colorRegex, colorToken);\n values.push.apply(values, colors.map(color.parse));\n }\n var numbers = v.match(floatRegex);\n if (numbers) {\n v = v.replace(floatRegex, numberToken);\n values.push.apply(values, numbers.map(number.parse));\n }\n return { values: values, numColors: numColors, tokenised: v };\n}\nfunction parse(v) {\n return analyse(v).values;\n}\nfunction createTransformer(v) {\n var _a = analyse(v), values = _a.values, numColors = _a.numColors, tokenised = _a.tokenised;\n var numValues = values.length;\n return function (v) {\n var output = tokenised;\n for (var i = 0; i < numValues; i++) {\n output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color.transform(v[i]) : sanitize(v[i]));\n }\n return output;\n };\n}\nvar convertNumbersToZero = function (v) {\n return typeof v === 'number' ? 0 : v;\n};\nfunction getAnimatableNone(v) {\n var parsed = parse(v);\n var transformer = createTransformer(v);\n return transformer(parsed.map(convertNumbersToZero));\n}\nvar complex = { test: test, parse: parse, createTransformer: createTransformer, getAnimatableNone: getAnimatableNone };\n\nexport { complex };\n","var zeroPoint = {\n x: 0,\n y: 0,\n z: 0\n};\nvar isNum = function (v) { return typeof v === 'number'; };\n\nexport { isNum, zeroPoint };\n","import { __spreadArray, __assign } from 'tslib';\nimport { complex, color } from 'style-value-types';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { isNum } from './inc.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\n\nfunction getMixer(origin, target) {\n if (isNum(origin)) {\n return function (v) { return mix(origin, target, v); };\n }\n else if (color.test(origin)) {\n return mixColor(origin, target);\n }\n else {\n return mixComplex(origin, target);\n }\n}\nvar mixArray = function (from, to) {\n var output = __spreadArray([], from);\n var numValues = output.length;\n var blendValue = from.map(function (fromThis, i) { return getMixer(fromThis, to[i]); });\n return function (v) {\n for (var i = 0; i < numValues; i++) {\n output[i] = blendValue[i](v);\n }\n return output;\n };\n};\nvar mixObject = function (origin, target) {\n var output = __assign(__assign({}, origin), target);\n var blendValue = {};\n for (var key in output) {\n if (origin[key] !== undefined && target[key] !== undefined) {\n blendValue[key] = getMixer(origin[key], target[key]);\n }\n }\n return function (v) {\n for (var key in blendValue) {\n output[key] = blendValue[key](v);\n }\n return output;\n };\n};\nfunction analyse(value) {\n var parsed = complex.parse(value);\n var numValues = parsed.length;\n var numNumbers = 0;\n var numRGB = 0;\n var numHSL = 0;\n for (var i = 0; i < numValues; i++) {\n if (numNumbers || typeof parsed[i] === \"number\") {\n numNumbers++;\n }\n else {\n if (parsed[i].hue !== undefined) {\n numHSL++;\n }\n else {\n numRGB++;\n }\n }\n }\n return { parsed: parsed, numNumbers: numNumbers, numRGB: numRGB, numHSL: numHSL };\n}\nvar mixComplex = function (origin, target) {\n var template = complex.createTransformer(target);\n var originStats = analyse(origin);\n var targetStats = analyse(target);\n invariant(originStats.numHSL === targetStats.numHSL &&\n originStats.numRGB === targetStats.numRGB &&\n originStats.numNumbers >= targetStats.numNumbers, \"Complex values '\" + origin + \"' and '\" + target + \"' too different to mix. Ensure all colors are of the same type.\");\n return pipe(mixArray(originStats.parsed, targetStats.parsed), template);\n};\n\nexport { mixArray, mixComplex, mixObject };\n","import { progress } from './progress.js';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { mixComplex, mixArray, mixObject } from './mix-complex.js';\nimport { color } from 'style-value-types';\nimport { clamp } from './clamp.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\n\nvar mixNumber = function (from, to) { return function (p) { return mix(from, to, p); }; };\nfunction detectMixerFactory(v) {\n if (typeof v === 'number') {\n return mixNumber;\n }\n else if (typeof v === 'string') {\n if (color.test(v)) {\n return mixColor;\n }\n else {\n return mixComplex;\n }\n }\n else if (Array.isArray(v)) {\n return mixArray;\n }\n else if (typeof v === 'object') {\n return mixObject;\n }\n}\nfunction createMixers(output, ease, customMixer) {\n var mixers = [];\n var mixerFactory = customMixer || detectMixerFactory(output[0]);\n var numMixers = output.length - 1;\n for (var i = 0; i < numMixers; i++) {\n var mixer = mixerFactory(output[i], output[i + 1]);\n if (ease) {\n var easingFunction = Array.isArray(ease) ? ease[i] : ease;\n mixer = pipe(easingFunction, mixer);\n }\n mixers.push(mixer);\n }\n return mixers;\n}\nfunction fastInterpolate(_a, _b) {\n var from = _a[0], to = _a[1];\n var mixer = _b[0];\n return function (v) { return mixer(progress(from, to, v)); };\n}\nfunction slowInterpolate(input, mixers) {\n var inputLength = input.length;\n var lastInputIndex = inputLength - 1;\n return function (v) {\n var mixerIndex = 0;\n var foundMixerIndex = false;\n if (v <= input[0]) {\n foundMixerIndex = true;\n }\n else if (v >= input[lastInputIndex]) {\n mixerIndex = lastInputIndex - 1;\n foundMixerIndex = true;\n }\n if (!foundMixerIndex) {\n var i = 1;\n for (; i < inputLength; i++) {\n if (input[i] > v || i === lastInputIndex) {\n break;\n }\n }\n mixerIndex = i - 1;\n }\n var progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v);\n return mixers[mixerIndex](progressInRange);\n };\n}\nfunction interpolate(input, output, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.clamp, isClamp = _c === void 0 ? true : _c, ease = _b.ease, mixer = _b.mixer;\n var inputLength = input.length;\n invariant(inputLength === output.length, 'Both input and output ranges must be the same length');\n invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1, 'Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values.');\n if (input[0] > input[inputLength - 1]) {\n input = [].concat(input);\n output = [].concat(output);\n input.reverse();\n output.reverse();\n }\n var mixers = createMixers(output, ease, mixer);\n var interpolator = inputLength === 2\n ? fastInterpolate(input, mixers)\n : slowInterpolate(input, mixers);\n return isClamp\n ? function (v) { return interpolator(clamp(input[0], input[inputLength - 1], v)); }\n : interpolator;\n}\n\nexport { interpolate };\n","var reverseEasing = function (easing) { return function (p) { return 1 - easing(1 - p); }; };\nvar mirrorEasing = function (easing) { return function (p) {\n return p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n}; };\nvar createExpoIn = function (power) { return function (p) { return Math.pow(p, power); }; };\nvar createBackIn = function (power) { return function (p) {\n return p * p * ((power + 1) * p - power);\n}; };\nvar createAnticipate = function (power) {\n var backEasing = createBackIn(power);\n return function (p) {\n return (p *= 2) < 1\n ? 0.5 * backEasing(p)\n : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n };\n};\n\nexport { createAnticipate, createBackIn, createExpoIn, mirrorEasing, reverseEasing };\n","import { createExpoIn, reverseEasing, mirrorEasing, createBackIn, createAnticipate } from './utils.js';\n\nvar DEFAULT_OVERSHOOT_STRENGTH = 1.525;\nvar BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0;\nvar BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0;\nvar BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0;\nvar linear = function (p) { return p; };\nvar easeIn = createExpoIn(2);\nvar easeOut = reverseEasing(easeIn);\nvar easeInOut = mirrorEasing(easeIn);\nvar circIn = function (p) { return 1 - Math.sin(Math.acos(p)); };\nvar circOut = reverseEasing(circIn);\nvar circInOut = mirrorEasing(circOut);\nvar backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH);\nvar backOut = reverseEasing(backIn);\nvar backInOut = mirrorEasing(backIn);\nvar anticipate = createAnticipate(DEFAULT_OVERSHOOT_STRENGTH);\nvar ca = 4356.0 / 361.0;\nvar cb = 35442.0 / 1805.0;\nvar cc = 16061.0 / 1805.0;\nvar bounceOut = function (p) {\n if (p === 1 || p === 0)\n return p;\n var p2 = p * p;\n return p < BOUNCE_FIRST_THRESHOLD\n ? 7.5625 * p2\n : p < BOUNCE_SECOND_THRESHOLD\n ? 9.075 * p2 - 9.9 * p + 3.4\n : p < BOUNCE_THIRD_THRESHOLD\n ? ca * p2 - cb * p + cc\n : 10.8 * p * p - 20.52 * p + 10.72;\n};\nvar bounceIn = reverseEasing(bounceOut);\nvar bounceInOut = function (p) {\n return p < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0))\n : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5;\n};\n\nexport { anticipate, backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, easeIn, easeInOut, easeOut, linear };\n","import { interpolate } from '../../utils/interpolate.js';\nimport { easeInOut } from '../../easing/index.js';\n\nfunction defaultEasing(values, easing) {\n return values.map(function () { return easing || easeInOut; }).splice(0, values.length - 1);\n}\nfunction defaultOffset(values) {\n var numValues = values.length;\n return values.map(function (_value, i) {\n return i !== 0 ? i / (numValues - 1) : 0;\n });\n}\nfunction convertOffsetToTimes(offset, duration) {\n return offset.map(function (o) { return o * duration; });\n}\nfunction keyframes(_a) {\n var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.to, to = _c === void 0 ? 1 : _c, ease = _a.ease, offset = _a.offset, _d = _a.duration, duration = _d === void 0 ? 300 : _d;\n var state = { done: false, value: from };\n var values = Array.isArray(to) ? to : [from, to];\n var times = convertOffsetToTimes(offset && offset.length === values.length\n ? offset\n : defaultOffset(values), duration);\n function createInterpolator() {\n return interpolate(times, values, {\n ease: Array.isArray(ease) ? ease : defaultEasing(values, ease),\n });\n }\n var interpolator = createInterpolator();\n return {\n next: function (t) {\n state.value = interpolator(t);\n state.done = t >= duration;\n return state;\n },\n flipTarget: function () {\n values.reverse();\n interpolator = createInterpolator();\n },\n };\n}\n\nexport { convertOffsetToTimes, defaultEasing, defaultOffset, keyframes };\n","import { spring } from '../generators/spring.js';\nimport { keyframes } from '../generators/keyframes.js';\nimport { decay } from '../generators/decay.js';\n\nvar types = { keyframes: keyframes, spring: spring, decay: decay };\nfunction detectAnimationFromOptions(config) {\n if (Array.isArray(config.to)) {\n return keyframes;\n }\n else if (types[config.type]) {\n return types[config.type];\n }\n var keys = new Set(Object.keys(config));\n if (keys.has(\"ease\") ||\n (keys.has(\"duration\") && !keys.has(\"dampingRatio\"))) {\n return keyframes;\n }\n else if (keys.has(\"dampingRatio\") ||\n keys.has(\"stiffness\") ||\n keys.has(\"mass\") ||\n keys.has(\"damping\") ||\n keys.has(\"restSpeed\") ||\n keys.has(\"restDelta\")) {\n return spring;\n }\n return keyframes;\n}\n\nexport { detectAnimationFromOptions };\n","function decay(_a) {\n var _b = _a.velocity, velocity = _b === void 0 ? 0 : _b, _c = _a.from, from = _c === void 0 ? 0 : _c, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 350 : _e, _f = _a.restDelta, restDelta = _f === void 0 ? 0.5 : _f, modifyTarget = _a.modifyTarget;\n var state = { done: false, value: from };\n var amplitude = power * velocity;\n var ideal = from + amplitude;\n var target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n if (target !== ideal)\n amplitude = target - from;\n return {\n next: function (t) {\n var delta = -amplitude * Math.exp(-t / timeConstant);\n state.done = !(delta > restDelta || delta < -restDelta);\n state.value = state.done ? target : target + delta;\n return state;\n },\n flipTarget: function () { },\n };\n}\n\nexport { decay };\n","function loopElapsed(elapsed, duration, delay) {\n if (delay === void 0) { delay = 0; }\n return elapsed - duration - delay;\n}\nfunction reverseElapsed(elapsed, duration, delay, isForwardPlayback) {\n if (delay === void 0) { delay = 0; }\n if (isForwardPlayback === void 0) { isForwardPlayback = true; }\n return isForwardPlayback\n ? loopElapsed(duration + -elapsed, duration, delay)\n : duration - (elapsed - duration) + delay;\n}\nfunction hasRepeatDelayElapsed(elapsed, duration, delay, isForwardPlayback) {\n return isForwardPlayback ? elapsed >= duration + delay : elapsed <= -delay;\n}\n\nexport { hasRepeatDelayElapsed, loopElapsed, reverseElapsed };\n","import { __rest, __assign } from 'tslib';\nimport { detectAnimationFromOptions } from './utils/detect-animation-from-options.js';\nimport sync, { cancelSync } from 'framesync';\nimport { interpolate } from '../utils/interpolate.js';\nimport { hasRepeatDelayElapsed, reverseElapsed, loopElapsed } from './utils/elapsed.js';\n\nvar framesync = function (update) {\n var passTimestamp = function (_a) {\n var delta = _a.delta;\n return update(delta);\n };\n return {\n start: function () { return sync.update(passTimestamp, true); },\n stop: function () { return cancelSync.update(passTimestamp); },\n };\n};\nfunction animate(_a) {\n var _b, _c;\n var from = _a.from, _d = _a.autoplay, autoplay = _d === void 0 ? true : _d, _e = _a.driver, driver = _e === void 0 ? framesync : _e, _f = _a.elapsed, elapsed = _f === void 0 ? 0 : _f, _g = _a.repeat, repeatMax = _g === void 0 ? 0 : _g, _h = _a.repeatType, repeatType = _h === void 0 ? \"loop\" : _h, _j = _a.repeatDelay, repeatDelay = _j === void 0 ? 0 : _j, onPlay = _a.onPlay, onStop = _a.onStop, onComplete = _a.onComplete, onRepeat = _a.onRepeat, onUpdate = _a.onUpdate, options = __rest(_a, [\"from\", \"autoplay\", \"driver\", \"elapsed\", \"repeat\", \"repeatType\", \"repeatDelay\", \"onPlay\", \"onStop\", \"onComplete\", \"onRepeat\", \"onUpdate\"]);\n var to = options.to;\n var driverControls;\n var repeatCount = 0;\n var computedDuration = options.duration;\n var latest;\n var isComplete = false;\n var isForwardPlayback = true;\n var interpolateFromNumber;\n var animator = detectAnimationFromOptions(options);\n if ((_c = (_b = animator).needsInterpolation) === null || _c === void 0 ? void 0 : _c.call(_b, from, to)) {\n interpolateFromNumber = interpolate([0, 100], [from, to], {\n clamp: false,\n });\n from = 0;\n to = 100;\n }\n var animation = animator(__assign(__assign({}, options), { from: from, to: to }));\n function repeat() {\n repeatCount++;\n if (repeatType === \"reverse\") {\n isForwardPlayback = repeatCount % 2 === 0;\n elapsed = reverseElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback);\n }\n else {\n elapsed = loopElapsed(elapsed, computedDuration, repeatDelay);\n if (repeatType === \"mirror\")\n animation.flipTarget();\n }\n isComplete = false;\n onRepeat && onRepeat();\n }\n function complete() {\n driverControls.stop();\n onComplete && onComplete();\n }\n function update(delta) {\n if (!isForwardPlayback)\n delta = -delta;\n elapsed += delta;\n if (!isComplete) {\n var state = animation.next(Math.max(0, elapsed));\n latest = state.value;\n if (interpolateFromNumber)\n latest = interpolateFromNumber(latest);\n isComplete = isForwardPlayback ? state.done : elapsed <= 0;\n }\n onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(latest);\n if (isComplete) {\n if (repeatCount === 0)\n computedDuration !== null && computedDuration !== void 0 ? computedDuration : (computedDuration = elapsed);\n if (repeatCount < repeatMax) {\n hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat();\n }\n else {\n complete();\n }\n }\n }\n function play() {\n onPlay === null || onPlay === void 0 ? void 0 : onPlay();\n driverControls = driver(update);\n driverControls.start();\n }\n autoplay && play();\n return {\n stop: function () {\n onStop === null || onStop === void 0 ? void 0 : onStop();\n driverControls.stop();\n },\n };\n}\n\nexport { animate };\n","function velocityPerSecond(velocity, frameDuration) {\n return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\nvar secondsToMilliseconds = function (seconds) { return seconds * 1000; };\n\nexport { secondsToMilliseconds };\n","import { linear } from './index.js';\n\nvar a = function (a1, a2) { return 1.0 - 3.0 * a2 + 3.0 * a1; };\nvar b = function (a1, a2) { return 3.0 * a2 - 6.0 * a1; };\nvar c = function (a1) { return 3.0 * a1; };\nvar calcBezier = function (t, a1, a2) {\n return ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n};\nvar getSlope = function (t, a1, a2) {\n return 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1);\n};\nvar subdivisionPrecision = 0.0000001;\nvar subdivisionMaxIterations = 10;\nfunction binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX;\n var currentT;\n var i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n }\n else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nvar newtonIterations = 8;\nvar newtonMinSlope = 0.001;\nfunction newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < newtonIterations; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n}\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n if (mX1 === mY1 && mX2 === mY2)\n return linear;\n var sampleValues = new Float32Array(kSplineTableSize);\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n var dist = (aX - sampleValues[currentSample]) /\n (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= newtonMinSlope) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n else if (initialSlope === 0.0) {\n return guessForT;\n }\n else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n return function (t) {\n return t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n };\n}\n\nexport { cubicBezier };\n","import { __read } from 'tslib';\nimport { invariant } from 'hey-listen';\nimport { cubicBezier, linear, easeIn, easeInOut, easeOut, circIn, circInOut, circOut, backIn, backInOut, backOut, anticipate, bounceIn, bounceInOut, bounceOut } from 'popmotion';\n\nvar easingLookup = {\n linear: linear,\n easeIn: easeIn,\n easeInOut: easeInOut,\n easeOut: easeOut,\n circIn: circIn,\n circInOut: circInOut,\n circOut: circOut,\n backIn: backIn,\n backInOut: backInOut,\n backOut: backOut,\n anticipate: anticipate,\n bounceIn: bounceIn,\n bounceInOut: bounceInOut,\n bounceOut: bounceOut,\n};\nvar easingDefinitionToFunction = function (definition) {\n if (Array.isArray(definition)) {\n // If cubic bezier definition, create bezier curve\n invariant(definition.length === 4, \"Cubic bezier arrays must contain four numerical values.\");\n var _a = __read(definition, 4), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];\n return cubicBezier(x1, y1, x2, y2);\n }\n else if (typeof definition === \"string\") {\n // Else lookup from table\n invariant(easingLookup[definition] !== undefined, \"Invalid easing type '\" + definition + \"'\");\n return easingLookup[definition];\n }\n return definition;\n};\nvar isEasingArray = function (ease) {\n return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { easingDefinitionToFunction, isEasingArray };\n","import { complex } from 'style-value-types';\n\n/**\n * Check if a value is animatable. Examples:\n *\n * ✅: 100, \"100px\", \"#fff\"\n * âŒ: \"block\", \"url(2.jpg)\"\n * @param value\n *\n * @internal\n */\nvar isAnimatable = function (key, value) {\n // If the list of keys tat might be non-animatable grows, replace with Set\n if (key === \"zIndex\")\n return false;\n // If it's a number or a keyframes array, we can animate it. We might at some point\n // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this,\n // but for now lets leave it like this for performance reasons\n if (typeof value === \"number\" || Array.isArray(value))\n return true;\n if (typeof value === \"string\" && // It's animatable if we have a string\n complex.test(value) && // And it contains numbers and/or colors\n !value.startsWith(\"url(\") // Unless it starts with \"url(\"\n ) {\n return true;\n }\n return false;\n};\n\nexport { isAnimatable };\n","import { __assign } from 'tslib';\nimport { isKeyframesTarget } from './is-keyframes-target.js';\n\nvar underDampedSpring = function () { return ({\n type: \"spring\",\n stiffness: 500,\n damping: 25,\n restDelta: 0.5,\n restSpeed: 10,\n}); };\nvar criticallyDampedSpring = function (to) { return ({\n type: \"spring\",\n stiffness: 550,\n damping: to === 0 ? 2 * Math.sqrt(550) : 30,\n restDelta: 0.01,\n restSpeed: 10,\n}); };\nvar linearTween = function () { return ({\n type: \"keyframes\",\n ease: \"linear\",\n duration: 0.3,\n}); };\nvar keyframes = function (values) { return ({\n type: \"keyframes\",\n duration: 0.8,\n values: values,\n}); };\nvar defaultTransitions = {\n x: underDampedSpring,\n y: underDampedSpring,\n z: underDampedSpring,\n rotate: underDampedSpring,\n rotateX: underDampedSpring,\n rotateY: underDampedSpring,\n rotateZ: underDampedSpring,\n scaleX: criticallyDampedSpring,\n scaleY: criticallyDampedSpring,\n scale: criticallyDampedSpring,\n opacity: linearTween,\n backgroundColor: linearTween,\n color: linearTween,\n default: criticallyDampedSpring,\n};\nvar getDefaultTransition = function (valueKey, to) {\n var transitionFactory;\n if (isKeyframesTarget(to)) {\n transitionFactory = keyframes;\n }\n else {\n transitionFactory =\n defaultTransitions[valueKey] || defaultTransitions.default;\n }\n return __assign({ to: to }, transitionFactory(to));\n};\n\nexport { criticallyDampedSpring, getDefaultTransition, linearTween, underDampedSpring };\n","import { __assign } from 'tslib';\nimport { complex } from './index.js';\nimport { floatRegex } from '../utils.js';\n\nvar maxDefaults = new Set(['brightness', 'contrast', 'saturate', 'opacity']);\nfunction applyDefaultFilter(v) {\n var _a = v.slice(0, -1).split('('), name = _a[0], value = _a[1];\n if (name === 'drop-shadow')\n return v;\n var number = (value.match(floatRegex) || [])[0];\n if (!number)\n return v;\n var unit = value.replace(number, '');\n var defaultValue = maxDefaults.has(name) ? 1 : 0;\n if (number !== value)\n defaultValue *= 100;\n return name + '(' + defaultValue + unit + ')';\n}\nvar functionRegex = /([a-z-]*)\\(.*?\\)/g;\nvar filter = __assign(__assign({}, complex), { getAnimatableNone: function (v) {\n var functions = v.match(functionRegex);\n return functions ? functions.map(applyDefaultFilter).join(' ') : v;\n } });\n\nexport { filter };\n","import { __assign } from 'tslib';\nimport { color, filter } from 'style-value-types';\nimport { numberValueTypes } from './number.js';\n\n/**\n * A map of default value types for common values\n */\nvar defaultValueTypes = __assign(__assign({}, numberValueTypes), { \n // Color props\n color: color, backgroundColor: color, outlineColor: color, fill: color, stroke: color, \n // Border props\n borderColor: color, borderTopColor: color, borderRightColor: color, borderBottomColor: color, borderLeftColor: color, filter: filter, WebkitFilter: filter });\n/**\n * Gets the default ValueType for the provided value key\n */\nvar getDefaultValueType = function (key) { return defaultValueTypes[key]; };\n\nexport { defaultValueTypes, getDefaultValueType };\n","import { filter, complex } from 'style-value-types';\nimport { getDefaultValueType } from './defaults.js';\n\nfunction getAnimatableNone(key, value) {\n var _a;\n var defaultValueType = getDefaultValueType(key);\n if (defaultValueType !== filter)\n defaultValueType = complex;\n // If value is not recognised as animatable, ie \"none\", create an animatable version origin based on the target\n return (_a = defaultValueType.getAnimatableNone) === null || _a === void 0 ? void 0 : _a.call(defaultValueType, value);\n}\n\nexport { getAnimatableNone };\n","import { __assign, __rest, __spreadArray, __read } from 'tslib';\nimport { inertia, animate } from 'popmotion';\nimport { secondsToMilliseconds } from '../../utils/time-conversion.js';\nimport { isEasingArray, easingDefinitionToFunction } from './easing.js';\nimport { isAnimatable } from './is-animatable.js';\nimport { getDefaultTransition } from './default-transitions.js';\nimport { warning } from 'hey-listen';\nimport { getAnimatableNone } from '../../render/dom/value-types/animatable-none.js';\n\n/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined(_a) {\n _a.when; _a.delay; _a.delayChildren; _a.staggerChildren; _a.staggerDirection; _a.repeat; _a.repeatType; _a.repeatDelay; _a.from; var transition = __rest(_a, [\"when\", \"delay\", \"delayChildren\", \"staggerChildren\", \"staggerDirection\", \"repeat\", \"repeatType\", \"repeatDelay\", \"from\"]);\n return !!Object.keys(transition).length;\n}\nvar legacyRepeatWarning = false;\n/**\n * Convert Framer Motion's Transition type into Popmotion-compatible options.\n */\nfunction convertTransitionToAnimationOptions(_a) {\n var ease = _a.ease, times = _a.times, yoyo = _a.yoyo, flip = _a.flip, loop = _a.loop, transition = __rest(_a, [\"ease\", \"times\", \"yoyo\", \"flip\", \"loop\"]);\n var options = __assign({}, transition);\n if (times)\n options[\"offset\"] = times;\n /**\n * Convert any existing durations from seconds to milliseconds\n */\n if (transition.duration)\n options[\"duration\"] = secondsToMilliseconds(transition.duration);\n if (transition.repeatDelay)\n options.repeatDelay = secondsToMilliseconds(transition.repeatDelay);\n /**\n * Map easing names to Popmotion's easing functions\n */\n if (ease) {\n options[\"ease\"] = isEasingArray(ease)\n ? ease.map(easingDefinitionToFunction)\n : easingDefinitionToFunction(ease);\n }\n /**\n * Support legacy transition API\n */\n if (transition.type === \"tween\")\n options.type = \"keyframes\";\n /**\n * TODO: These options are officially removed from the API.\n */\n if (yoyo || loop || flip) {\n warning(!legacyRepeatWarning, \"yoyo, loop and flip have been removed from the API. Replace with repeat and repeatType options.\");\n legacyRepeatWarning = true;\n if (yoyo) {\n options.repeatType = \"reverse\";\n }\n else if (loop) {\n options.repeatType = \"loop\";\n }\n else if (flip) {\n options.repeatType = \"mirror\";\n }\n options.repeat = loop || yoyo || flip || transition.repeat;\n }\n /**\n * TODO: Popmotion 9 has the ability to automatically detect whether to use\n * a keyframes or spring animation, but does so by detecting velocity and other spring options.\n * It'd be good to introduce a similar thing here.\n */\n if (transition.type !== \"spring\")\n options.type = \"keyframes\";\n return options;\n}\n/**\n * Get the delay for a value by checking Transition with decreasing specificity.\n */\nfunction getDelayFromTransition(transition, key) {\n var _a;\n var valueTransition = getValueTransition(transition, key) || {};\n return (_a = valueTransition.delay) !== null && _a !== void 0 ? _a : 0;\n}\nfunction hydrateKeyframes(options) {\n if (Array.isArray(options.to) && options.to[0] === null) {\n options.to = __spreadArray([], __read(options.to));\n options.to[0] = options.from;\n }\n return options;\n}\nfunction getPopmotionAnimationOptions(transition, options, key) {\n var _a;\n if (Array.isArray(options.to)) {\n (_a = transition.duration) !== null && _a !== void 0 ? _a : (transition.duration = 0.8);\n }\n hydrateKeyframes(options);\n /**\n * Get a default transition if none is determined to be defined.\n */\n if (!isTransitionDefined(transition)) {\n transition = __assign(__assign({}, transition), getDefaultTransition(key, options.to));\n }\n return __assign(__assign({}, options), convertTransitionToAnimationOptions(transition));\n}\n/**\n *\n */\nfunction getAnimation(key, value, target, transition, onComplete) {\n var _a;\n var valueTransition = getValueTransition(transition, key);\n var origin = (_a = valueTransition.from) !== null && _a !== void 0 ? _a : value.get();\n var isTargetAnimatable = isAnimatable(key, target);\n if (origin === \"none\" && isTargetAnimatable && typeof target === \"string\") {\n /**\n * If we're trying to animate from \"none\", try and get an animatable version\n * of the target. This could be improved to work both ways.\n */\n origin = getAnimatableNone(key, target);\n }\n else if (isZero(origin) && typeof target === \"string\") {\n origin = getZeroUnit(target);\n }\n else if (!Array.isArray(target) &&\n isZero(target) &&\n typeof origin === \"string\") {\n target = getZeroUnit(origin);\n }\n var isOriginAnimatable = isAnimatable(key, origin);\n warning(isOriginAnimatable === isTargetAnimatable, \"You are trying to animate \" + key + \" from \\\"\" + origin + \"\\\" to \\\"\" + target + \"\\\". \" + origin + \" is not an animatable value - to enable this animation set \" + origin + \" to a value animatable to \" + target + \" via the `style` property.\");\n function start() {\n var options = {\n from: origin,\n to: target,\n velocity: value.getVelocity(),\n onComplete: onComplete,\n onUpdate: function (v) { return value.set(v); },\n };\n return valueTransition.type === \"inertia\" ||\n valueTransition.type === \"decay\"\n ? inertia(__assign(__assign({}, options), valueTransition))\n : animate(__assign(__assign({}, getPopmotionAnimationOptions(valueTransition, options, key)), { onUpdate: function (v) {\n var _a;\n options.onUpdate(v);\n (_a = valueTransition.onUpdate) === null || _a === void 0 ? void 0 : _a.call(valueTransition, v);\n }, onComplete: function () {\n var _a;\n options.onComplete();\n (_a = valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n } }));\n }\n function set() {\n var _a;\n value.set(target);\n onComplete();\n (_a = valueTransition === null || valueTransition === void 0 ? void 0 : valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n return { stop: function () { } };\n }\n return !isOriginAnimatable ||\n !isTargetAnimatable ||\n valueTransition.type === false\n ? set\n : start;\n}\nfunction isZero(value) {\n return (value === 0 ||\n (typeof value === \"string\" &&\n parseFloat(value) === 0 &&\n value.indexOf(\" \") === -1));\n}\nfunction getZeroUnit(potentialUnitType) {\n return typeof potentialUnitType === \"number\"\n ? 0\n : getAnimatableNone(\"\", potentialUnitType);\n}\nfunction getValueTransition(transition, key) {\n return transition[key] || transition[\"default\"] || transition;\n}\n/**\n * Start animation on a MotionValue. This function is an interface between\n * Framer Motion and Popmotion\n *\n * @internal\n */\nfunction startAnimation(key, value, target, transition) {\n if (transition === void 0) { transition = {}; }\n return value.start(function (onComplete) {\n var delayTimer;\n var controls;\n var animation = getAnimation(key, value, target, transition, onComplete);\n var delay = getDelayFromTransition(transition, key);\n var start = function () { return (controls = animation()); };\n if (delay) {\n delayTimer = setTimeout(start, secondsToMilliseconds(delay));\n }\n else {\n start();\n }\n return function () {\n clearTimeout(delayTimer);\n controls === null || controls === void 0 ? void 0 : controls.stop();\n };\n });\n}\n\nexport { convertTransitionToAnimationOptions, getDelayFromTransition, getPopmotionAnimationOptions, getValueTransition, getZeroUnit, hydrateKeyframes, isTransitionDefined, isZero, startAnimation };\n","import { __assign } from 'tslib';\nimport { animate } from './index.js';\nimport { velocityPerSecond } from '../utils/velocity-per-second.js';\nimport { getFrameData } from 'framesync';\n\nfunction inertia(_a) {\n var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.velocity, velocity = _c === void 0 ? 0 : _c, min = _a.min, max = _a.max, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 750 : _e, _f = _a.bounceStiffness, bounceStiffness = _f === void 0 ? 500 : _f, _g = _a.bounceDamping, bounceDamping = _g === void 0 ? 10 : _g, _h = _a.restDelta, restDelta = _h === void 0 ? 1 : _h, modifyTarget = _a.modifyTarget, driver = _a.driver, onUpdate = _a.onUpdate, onComplete = _a.onComplete;\n var currentAnimation;\n function isOutOfBounds(v) {\n return (min !== undefined && v < min) || (max !== undefined && v > max);\n }\n function boundaryNearest(v) {\n if (min === undefined)\n return max;\n if (max === undefined)\n return min;\n return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n }\n function startAnimation(options) {\n currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop();\n currentAnimation = animate(__assign(__assign({}, options), { driver: driver, onUpdate: function (v) {\n var _a;\n onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(v);\n (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v);\n }, onComplete: onComplete }));\n }\n function startSpring(options) {\n startAnimation(__assign({ type: \"spring\", stiffness: bounceStiffness, damping: bounceDamping, restDelta: restDelta }, options));\n }\n if (isOutOfBounds(from)) {\n startSpring({ from: from, velocity: velocity, to: boundaryNearest(from) });\n }\n else {\n var target = power * velocity + from;\n if (typeof modifyTarget !== \"undefined\")\n target = modifyTarget(target);\n var boundary_1 = boundaryNearest(target);\n var heading_1 = boundary_1 === min ? -1 : 1;\n var prev_1;\n var current_1;\n var checkBoundary = function (v) {\n prev_1 = current_1;\n current_1 = v;\n velocity = velocityPerSecond(v - prev_1, getFrameData().delta);\n if ((heading_1 === 1 && v > boundary_1) ||\n (heading_1 === -1 && v < boundary_1)) {\n startSpring({ from: v, to: boundary_1, velocity: velocity });\n }\n };\n startAnimation({\n type: \"decay\",\n from: from,\n velocity: velocity,\n timeConstant: timeConstant,\n power: power,\n restDelta: restDelta,\n modifyTarget: modifyTarget,\n onUpdate: isOutOfBounds(target) ? checkBoundary : undefined,\n });\n }\n return {\n stop: function () { return currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); },\n };\n}\n\nexport { inertia };\n","function addUniqueItem(arr, item) {\n arr.indexOf(item) === -1 && arr.push(item);\n}\nfunction removeItem(arr, item) {\n var index = arr.indexOf(item);\n index > -1 && arr.splice(index, 1);\n}\n\nexport { addUniqueItem, removeItem };\n","import { addUniqueItem, removeItem } from './array.js';\n\nvar SubscriptionManager = /** @class */ (function () {\n function SubscriptionManager() {\n this.subscriptions = [];\n }\n SubscriptionManager.prototype.add = function (handler) {\n var _this = this;\n addUniqueItem(this.subscriptions, handler);\n return function () { return removeItem(_this.subscriptions, handler); };\n };\n SubscriptionManager.prototype.notify = function (a, b, c) {\n var numSubscriptions = this.subscriptions.length;\n if (!numSubscriptions)\n return;\n if (numSubscriptions === 1) {\n /**\n * If there's only a single handler we can just call it without invoking a loop.\n */\n this.subscriptions[0](a, b, c);\n }\n else {\n for (var i = 0; i < numSubscriptions; i++) {\n /**\n * Check whether the handler exists before firing as it's possible\n * the subscriptions were modified during this loop running.\n */\n var handler = this.subscriptions[i];\n handler && handler(a, b, c);\n }\n }\n };\n SubscriptionManager.prototype.getSize = function () {\n return this.subscriptions.length;\n };\n SubscriptionManager.prototype.clear = function () {\n this.subscriptions.length = 0;\n };\n return SubscriptionManager;\n}());\n\nexport { SubscriptionManager };\n","import sync, { getFrameData } from 'framesync';\nimport { velocityPerSecond } from 'popmotion';\nimport { SubscriptionManager } from '../utils/subscription-manager.js';\n\nvar isFloat = function (value) {\n return !isNaN(parseFloat(value));\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nvar MotionValue = /** @class */ (function () {\n /**\n * @param init - The initiating value\n * @param config - Optional configuration options\n *\n * - `transformer`: A function to transform incoming values with.\n *\n * @internal\n */\n function MotionValue(init) {\n var _this = this;\n /**\n * Duration, in milliseconds, since last updating frame.\n *\n * @internal\n */\n this.timeDelta = 0;\n /**\n * Timestamp of the last time this `MotionValue` was updated.\n *\n * @internal\n */\n this.lastUpdated = 0;\n /**\n * Functions to notify when the `MotionValue` updates.\n *\n * @internal\n */\n this.updateSubscribers = new SubscriptionManager();\n /**\n * Functions to notify when the velocity updates.\n *\n * @internal\n */\n this.velocityUpdateSubscribers = new SubscriptionManager();\n /**\n * Functions to notify when the `MotionValue` updates and `render` is set to `true`.\n *\n * @internal\n */\n this.renderSubscribers = new SubscriptionManager();\n /**\n * Tracks whether this value can output a velocity. Currently this is only true\n * if the value is numerical, but we might be able to widen the scope here and support\n * other value types.\n *\n * @internal\n */\n this.canTrackVelocity = false;\n this.updateAndNotify = function (v, render) {\n if (render === void 0) { render = true; }\n _this.prev = _this.current;\n _this.current = v;\n // Update timestamp\n var _a = getFrameData(), delta = _a.delta, timestamp = _a.timestamp;\n if (_this.lastUpdated !== timestamp) {\n _this.timeDelta = delta;\n _this.lastUpdated = timestamp;\n sync.postRender(_this.scheduleVelocityCheck);\n }\n // Update update subscribers\n if (_this.prev !== _this.current) {\n _this.updateSubscribers.notify(_this.current);\n }\n // Update velocity subscribers\n if (_this.velocityUpdateSubscribers.getSize()) {\n _this.velocityUpdateSubscribers.notify(_this.getVelocity());\n }\n // Update render subscribers\n if (render) {\n _this.renderSubscribers.notify(_this.current);\n }\n };\n /**\n * Schedule a velocity check for the next frame.\n *\n * This is an instanced and bound function to prevent generating a new\n * function once per frame.\n *\n * @internal\n */\n this.scheduleVelocityCheck = function () { return sync.postRender(_this.velocityCheck); };\n /**\n * Updates `prev` with `current` if the value hasn't been updated this frame.\n * This ensures velocity calculations return `0`.\n *\n * This is an instanced and bound function to prevent generating a new\n * function once per frame.\n *\n * @internal\n */\n this.velocityCheck = function (_a) {\n var timestamp = _a.timestamp;\n if (timestamp !== _this.lastUpdated) {\n _this.prev = _this.current;\n _this.velocityUpdateSubscribers.notify(_this.getVelocity());\n }\n };\n this.hasAnimated = false;\n this.prev = this.current = init;\n this.canTrackVelocity = isFloat(this.current);\n }\n /**\n * Adds a function that will be notified when the `MotionValue` is updated.\n *\n * It returns a function that, when called, will cancel the subscription.\n *\n * When calling `onChange` inside a React component, it should be wrapped with the\n * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n * from the `useEffect` function to ensure you don't add duplicate subscribers..\n *\n * @library\n *\n * ```jsx\n * function MyComponent() {\n * const x = useMotionValue(0)\n * const y = useMotionValue(0)\n * const opacity = useMotionValue(1)\n *\n * useEffect(() => {\n * function updateOpacity() {\n * const maxXY = Math.max(x.get(), y.get())\n * const newOpacity = transform(maxXY, [0, 100], [1, 0])\n * opacity.set(newOpacity)\n * }\n *\n * const unsubscribeX = x.onChange(updateOpacity)\n * const unsubscribeY = y.onChange(updateOpacity)\n *\n * return () => {\n * unsubscribeX()\n * unsubscribeY()\n * }\n * }, [])\n *\n * return <Frame x={x} />\n * }\n * ```\n *\n * @motion\n *\n * ```jsx\n * export const MyComponent = () => {\n * const x = useMotionValue(0)\n * const y = useMotionValue(0)\n * const opacity = useMotionValue(1)\n *\n * useEffect(() => {\n * function updateOpacity() {\n * const maxXY = Math.max(x.get(), y.get())\n * const newOpacity = transform(maxXY, [0, 100], [1, 0])\n * opacity.set(newOpacity)\n * }\n *\n * const unsubscribeX = x.onChange(updateOpacity)\n * const unsubscribeY = y.onChange(updateOpacity)\n *\n * return () => {\n * unsubscribeX()\n * unsubscribeY()\n * }\n * }, [])\n *\n * return <motion.div style={{ x }} />\n * }\n * ```\n *\n * @internalremarks\n *\n * We could look into a `useOnChange` hook if the above lifecycle management proves confusing.\n *\n * ```jsx\n * useOnChange(x, () => {})\n * ```\n *\n * @param subscriber - A function that receives the latest value.\n * @returns A function that, when called, will cancel this subscription.\n *\n * @public\n */\n MotionValue.prototype.onChange = function (subscription) {\n return this.updateSubscribers.add(subscription);\n };\n MotionValue.prototype.clearListeners = function () {\n this.updateSubscribers.clear();\n };\n /**\n * Adds a function that will be notified when the `MotionValue` requests a render.\n *\n * @param subscriber - A function that's provided the latest value.\n * @returns A function that, when called, will cancel this subscription.\n *\n * @internal\n */\n MotionValue.prototype.onRenderRequest = function (subscription) {\n // Render immediately\n subscription(this.get());\n return this.renderSubscribers.add(subscription);\n };\n /**\n * Attaches a passive effect to the `MotionValue`.\n *\n * @internal\n */\n MotionValue.prototype.attach = function (passiveEffect) {\n this.passiveEffect = passiveEffect;\n };\n /**\n * Sets the state of the `MotionValue`.\n *\n * @remarks\n *\n * ```jsx\n * const x = useMotionValue(0)\n * x.set(10)\n * ```\n *\n * @param latest - Latest value to set.\n * @param render - Whether to notify render subscribers. Defaults to `true`\n *\n * @public\n */\n MotionValue.prototype.set = function (v, render) {\n if (render === void 0) { render = true; }\n if (!render || !this.passiveEffect) {\n this.updateAndNotify(v, render);\n }\n else {\n this.passiveEffect(v, this.updateAndNotify);\n }\n };\n /**\n * Returns the latest state of `MotionValue`\n *\n * @returns - The latest state of `MotionValue`\n *\n * @public\n */\n MotionValue.prototype.get = function () {\n return this.current;\n };\n /**\n * @public\n */\n MotionValue.prototype.getPrevious = function () {\n return this.prev;\n };\n /**\n * Returns the latest velocity of `MotionValue`\n *\n * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n *\n * @public\n */\n MotionValue.prototype.getVelocity = function () {\n // This could be isFloat(this.prev) && isFloat(this.current), but that would be wasteful\n return this.canTrackVelocity\n ? // These casts could be avoided if parseFloat would be typed better\n velocityPerSecond(parseFloat(this.current) -\n parseFloat(this.prev), this.timeDelta)\n : 0;\n };\n /**\n * Registers a new animation to control this `MotionValue`. Only one\n * animation can drive a `MotionValue` at one time.\n *\n * ```jsx\n * value.start()\n * ```\n *\n * @param animation - A function that starts the provided animation\n *\n * @internal\n */\n MotionValue.prototype.start = function (animation) {\n var _this = this;\n this.stop();\n return new Promise(function (resolve) {\n _this.hasAnimated = true;\n _this.stopAnimation = animation(resolve);\n }).then(function () { return _this.clearAnimation(); });\n };\n /**\n * Stop the currently active animation.\n *\n * @public\n */\n MotionValue.prototype.stop = function () {\n if (this.stopAnimation)\n this.stopAnimation();\n this.clearAnimation();\n };\n /**\n * Returns `true` if this value is currently animating.\n *\n * @public\n */\n MotionValue.prototype.isAnimating = function () {\n return !!this.stopAnimation;\n };\n MotionValue.prototype.clearAnimation = function () {\n this.stopAnimation = null;\n };\n /**\n * Destroy and clean up subscribers to this `MotionValue`.\n *\n * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n * created a `MotionValue` via the `motionValue` function.\n *\n * @public\n */\n MotionValue.prototype.destroy = function () {\n this.updateSubscribers.clear();\n this.renderSubscribers.clear();\n this.stop();\n };\n return MotionValue;\n}());\n/**\n * @internal\n */\nfunction motionValue(init) {\n return new MotionValue(init);\n}\n\nexport { MotionValue, motionValue };\n","/**\n * Tests a provided value against a ValueType\n */\nvar testValueType = function (v) { return function (type) { return type.test(v); }; };\n\nexport { testValueType };\n","import { number, px, percent, degrees, vw, vh } from 'style-value-types';\nimport { testValueType } from './test.js';\nimport { auto } from './type-auto.js';\n\n/**\n * A list of value types commonly used for dimensions\n */\nvar dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];\n/**\n * Tests a dimensional value against the list of dimension ValueTypes\n */\nvar findDimensionValueType = function (v) {\n return dimensionValueTypes.find(testValueType(v));\n};\n\nexport { dimensionValueTypes, findDimensionValueType };\n","/**\n * ValueType for \"auto\"\n */\nvar auto = {\n test: function (v) { return v === \"auto\"; },\n parse: function (v) { return v; },\n};\n\nexport { auto };\n","import { __spreadArray, __read } from 'tslib';\nimport { color, complex } from 'style-value-types';\nimport { dimensionValueTypes } from './dimensions.js';\nimport { testValueType } from './test.js';\n\n/**\n * A list of all ValueTypes\n */\nvar valueTypes = __spreadArray(__spreadArray([], __read(dimensionValueTypes)), [color, complex]);\n/**\n * Tests a value against the list of ValueTypes\n */\nvar findValueType = function (v) { return valueTypes.find(testValueType(v)); };\n\nexport { findValueType };\n","import { __rest, __assign, __spreadArray, __read } from 'tslib';\nimport { complex } from 'style-value-types';\nimport { isNumericalString } from '../../utils/is-numerical-string.js';\nimport { resolveFinalValueInKeyframes } from '../../utils/resolve-value.js';\nimport { motionValue } from '../../value/index.js';\nimport { getAnimatableNone } from '../dom/value-types/animatable-none.js';\nimport { findValueType } from '../dom/value-types/find.js';\nimport { resolveVariant } from './variants.js';\n\n/**\n * Set VisualElement's MotionValue, creating a new MotionValue for it if\n * it doesn't exist.\n */\nfunction setMotionValue(visualElement, key, value) {\n if (visualElement.hasValue(key)) {\n visualElement.getValue(key).set(value);\n }\n else {\n visualElement.addValue(key, motionValue(value));\n }\n}\nfunction setTarget(visualElement, definition) {\n var resolved = resolveVariant(visualElement, definition);\n var _a = resolved\n ? visualElement.makeTargetAnimatable(resolved, false)\n : {}, _b = _a.transitionEnd, transitionEnd = _b === void 0 ? {} : _b; _a.transition; var target = __rest(_a, [\"transitionEnd\", \"transition\"]);\n target = __assign(__assign({}, target), transitionEnd);\n for (var key in target) {\n var value = resolveFinalValueInKeyframes(target[key]);\n setMotionValue(visualElement, key, value);\n }\n}\nfunction setVariants(visualElement, variantLabels) {\n var reversedLabels = __spreadArray([], __read(variantLabels)).reverse();\n reversedLabels.forEach(function (key) {\n var _a;\n var variant = visualElement.getVariant(key);\n variant && setTarget(visualElement, variant);\n (_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n setVariants(child, variantLabels);\n });\n });\n}\nfunction setValues(visualElement, definition) {\n if (Array.isArray(definition)) {\n return setVariants(visualElement, definition);\n }\n else if (typeof definition === \"string\") {\n return setVariants(visualElement, [definition]);\n }\n else {\n setTarget(visualElement, definition);\n }\n}\nfunction checkTargetForNewValues(visualElement, target, origin) {\n var _a, _b, _c;\n var _d;\n var newValueKeys = Object.keys(target).filter(function (key) { return !visualElement.hasValue(key); });\n var numNewValues = newValueKeys.length;\n if (!numNewValues)\n return;\n for (var i = 0; i < numNewValues; i++) {\n var key = newValueKeys[i];\n var targetValue = target[key];\n var value = null;\n /**\n * If the target is a series of keyframes, we can use the first value\n * in the array. If this first value is null, we'll still need to read from the DOM.\n */\n if (Array.isArray(targetValue)) {\n value = targetValue[0];\n }\n /**\n * If the target isn't keyframes, or the first keyframe was null, we need to\n * first check if an origin value was explicitly defined in the transition as \"from\",\n * if not read the value from the DOM. As an absolute fallback, take the defined target value.\n */\n if (value === null) {\n value = (_b = (_a = origin[key]) !== null && _a !== void 0 ? _a : visualElement.readValue(key)) !== null && _b !== void 0 ? _b : target[key];\n }\n /**\n * If value is still undefined or null, ignore it. Preferably this would throw,\n * but this was causing issues in Framer.\n */\n if (value === undefined || value === null)\n continue;\n if (typeof value === \"string\" && isNumericalString(value)) {\n // If this is a number read as a string, ie \"0\" or \"200\", convert it to a number\n value = parseFloat(value);\n }\n else if (!findValueType(value) && complex.test(targetValue)) {\n value = getAnimatableNone(key, targetValue);\n }\n visualElement.addValue(key, motionValue(value));\n (_c = (_d = origin)[key]) !== null && _c !== void 0 ? _c : (_d[key] = value);\n visualElement.setBaseTarget(key, value);\n }\n}\nfunction getOriginFromTransition(key, transition) {\n if (!transition)\n return;\n var valueTransition = transition[key] || transition[\"default\"] || transition;\n return valueTransition.from;\n}\nfunction getOrigin(target, transition, visualElement) {\n var _a, _b;\n var origin = {};\n for (var key in target) {\n origin[key] =\n (_a = getOriginFromTransition(key, transition)) !== null && _a !== void 0 ? _a : (_b = visualElement.getValue(key)) === null || _b === void 0 ? void 0 : _b.get();\n }\n return origin;\n}\n\nexport { checkTargetForNewValues, getOrigin, getOriginFromTransition, setTarget, setValues };\n","import { __read, __rest, __assign } from 'tslib';\nimport { startAnimation } from '../../animation/utils/transitions.js';\nimport { setTarget } from './setters.js';\nimport { resolveVariant } from './variants.js';\n\n/**\n * @internal\n */\nfunction animateVisualElement(visualElement, definition, options) {\n if (options === void 0) { options = {}; }\n visualElement.notifyAnimationStart();\n var animation;\n if (Array.isArray(definition)) {\n var animations = definition.map(function (variant) {\n return animateVariant(visualElement, variant, options);\n });\n animation = Promise.all(animations);\n }\n else if (typeof definition === \"string\") {\n animation = animateVariant(visualElement, definition, options);\n }\n else {\n var resolvedDefinition = typeof definition === \"function\"\n ? resolveVariant(visualElement, definition, options.custom)\n : definition;\n animation = animateTarget(visualElement, resolvedDefinition, options);\n }\n return animation.then(function () {\n return visualElement.notifyAnimationComplete(definition);\n });\n}\nfunction animateVariant(visualElement, variant, options) {\n var _a;\n if (options === void 0) { options = {}; }\n var resolved = resolveVariant(visualElement, variant, options.custom);\n var _b = (resolved || {}).transition, transition = _b === void 0 ? visualElement.getDefaultTransition() || {} : _b;\n if (options.transitionOverride) {\n transition = options.transitionOverride;\n }\n /**\n * If we have a variant, create a callback that runs it as an animation.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n var getAnimation = resolved\n ? function () { return animateTarget(visualElement, resolved, options); }\n : function () { return Promise.resolve(); };\n /**\n * If we have children, create a callback that runs all their animations.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n var getChildAnimations = ((_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.size)\n ? function (forwardDelay) {\n if (forwardDelay === void 0) { forwardDelay = 0; }\n var _a = transition.delayChildren, delayChildren = _a === void 0 ? 0 : _a, staggerChildren = transition.staggerChildren, staggerDirection = transition.staggerDirection;\n return animateChildren(visualElement, variant, delayChildren + forwardDelay, staggerChildren, staggerDirection, options);\n }\n : function () { return Promise.resolve(); };\n /**\n * If the transition explicitly defines a \"when\" option, we need to resolve either\n * this animation or all children animations before playing the other.\n */\n var when = transition.when;\n if (when) {\n var _c = __read(when === \"beforeChildren\"\n ? [getAnimation, getChildAnimations]\n : [getChildAnimations, getAnimation], 2), first = _c[0], last = _c[1];\n return first().then(last);\n }\n else {\n return Promise.all([getAnimation(), getChildAnimations(options.delay)]);\n }\n}\n/**\n * @internal\n */\nfunction animateTarget(visualElement, definition, _a) {\n var _b;\n var _c = _a === void 0 ? {} : _a, _d = _c.delay, delay = _d === void 0 ? 0 : _d, transitionOverride = _c.transitionOverride, type = _c.type;\n var _e = visualElement.makeTargetAnimatable(definition), _f = _e.transition, transition = _f === void 0 ? visualElement.getDefaultTransition() : _f, transitionEnd = _e.transitionEnd, target = __rest(_e, [\"transition\", \"transitionEnd\"]);\n if (transitionOverride)\n transition = transitionOverride;\n var animations = [];\n var animationTypeState = type && ((_b = visualElement.animationState) === null || _b === void 0 ? void 0 : _b.getState()[type]);\n for (var key in target) {\n var value = visualElement.getValue(key);\n var valueTarget = target[key];\n if (!value ||\n valueTarget === undefined ||\n (animationTypeState &&\n shouldBlockAnimation(animationTypeState, key))) {\n continue;\n }\n var animation = startAnimation(key, value, valueTarget, __assign({ delay: delay }, transition));\n animations.push(animation);\n }\n return Promise.all(animations).then(function () {\n transitionEnd && setTarget(visualElement, transitionEnd);\n });\n}\nfunction animateChildren(visualElement, variant, delayChildren, staggerChildren, staggerDirection, options) {\n if (delayChildren === void 0) { delayChildren = 0; }\n if (staggerChildren === void 0) { staggerChildren = 0; }\n if (staggerDirection === void 0) { staggerDirection = 1; }\n var animations = [];\n var maxStaggerDuration = (visualElement.variantChildren.size - 1) * staggerChildren;\n var generateStaggerDuration = staggerDirection === 1\n ? function (i) {\n if (i === void 0) { i = 0; }\n return i * staggerChildren;\n }\n : function (i) {\n if (i === void 0) { i = 0; }\n return maxStaggerDuration - i * staggerChildren;\n };\n Array.from(visualElement.variantChildren)\n .sort(sortByTreeOrder)\n .forEach(function (child, i) {\n animations.push(animateVariant(child, variant, __assign(__assign({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function () { return child.notifyAnimationComplete(variant); }));\n });\n return Promise.all(animations);\n}\nfunction stopAnimation(visualElement) {\n visualElement.forEachValue(function (value) { return value.stop(); });\n}\nfunction sortByTreeOrder(a, b) {\n return a.sortNodePosition(b);\n}\n/**\n * Decide whether we should block this animation. Previously, we achieved this\n * just by checking whether the key was listed in protectedKeys, but this\n * posed problems if an animation was triggered by afterChildren and protectedKeys\n * had been set to true in the meantime.\n */\nfunction shouldBlockAnimation(_a, key) {\n var protectedKeys = _a.protectedKeys, needsAnimating = _a.needsAnimating;\n var shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;\n needsAnimating[key] = false;\n return shouldBlock;\n}\n\nexport { animateVisualElement, sortByTreeOrder, stopAnimation };\n","import { __spreadArray, __read, __assign, __rest } from 'tslib';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.js';\nimport { isKeyframesTarget } from '../../animation/utils/is-keyframes-target.js';\nimport { shallowCompare } from '../../utils/shallow-compare.js';\nimport { animateVisualElement } from './animation.js';\nimport { AnimationType } from './types.js';\nimport { isVariantLabels, resolveVariant, isVariantLabel } from './variants.js';\n\nvar variantPriorityOrder = [\n AnimationType.Animate,\n AnimationType.Hover,\n AnimationType.Tap,\n AnimationType.Drag,\n AnimationType.Focus,\n AnimationType.Exit,\n];\nvar reversePriorityOrder = __spreadArray([], __read(variantPriorityOrder)).reverse();\nvar numAnimationTypes = variantPriorityOrder.length;\nfunction animateList(visualElement) {\n return function (animations) {\n return Promise.all(animations.map(function (_a) {\n var animation = _a.animation, options = _a.options;\n return animateVisualElement(visualElement, animation, options);\n }));\n };\n}\nfunction createAnimationState(visualElement) {\n var animate = animateList(visualElement);\n var state = createState();\n var allAnimatedKeys = {};\n var isInitialRender = true;\n /**\n * This function will be used to reduce the animation definitions for\n * each active animation type into an object of resolved values for it.\n */\n var buildResolvedTypeValues = function (acc, definition) {\n var resolved = resolveVariant(visualElement, definition);\n if (resolved) {\n resolved.transition; var transitionEnd = resolved.transitionEnd, target = __rest(resolved, [\"transition\", \"transitionEnd\"]);\n acc = __assign(__assign(__assign({}, acc), target), transitionEnd);\n }\n return acc;\n };\n function isAnimated(key) {\n return allAnimatedKeys[key] !== undefined;\n }\n /**\n * This just allows us to inject mocked animation functions\n * @internal\n */\n function setAnimateFunction(makeAnimator) {\n animate = makeAnimator(visualElement);\n }\n /**\n * When we receive new props, we need to:\n * 1. Create a list of protected keys for each type. This is a directory of\n * value keys that are currently being \"handled\" by types of a higher priority\n * so that whenever an animation is played of a given type, these values are\n * protected from being animated.\n * 2. Determine if an animation type needs animating.\n * 3. Determine if any values have been removed from a type and figure out\n * what to animate those to.\n */\n function animateChanges(options, changedActiveType) {\n var _a;\n var props = visualElement.getProps();\n var context = visualElement.getVariantContext(true) || {};\n /**\n * A list of animations that we'll build into as we iterate through the animation\n * types. This will get executed at the end of the function.\n */\n var animations = [];\n /**\n * Keep track of which values have been removed. Then, as we hit lower priority\n * animation types, we can check if they contain removed values and animate to that.\n */\n var removedKeys = new Set();\n /**\n * A dictionary of all encountered keys. This is an object to let us build into and\n * copy it without iteration. Each time we hit an animation type we set its protected\n * keys - the keys its not allowed to animate - to the latest version of this object.\n */\n var encounteredKeys = {};\n /**\n * If a variant has been removed at a given index, and this component is controlling\n * variant animations, we want to ensure lower-priority variants are forced to animate.\n */\n var removedVariantIndex = Infinity;\n var _loop_1 = function (i) {\n var type = reversePriorityOrder[i];\n var typeState = state[type];\n var prop = (_a = props[type]) !== null && _a !== void 0 ? _a : context[type];\n var propIsVariant = isVariantLabel(prop);\n /**\n * If this type has *just* changed isActive status, set activeDelta\n * to that status. Otherwise set to null.\n */\n var activeDelta = type === changedActiveType ? typeState.isActive : null;\n if (activeDelta === false)\n removedVariantIndex = i;\n /**\n * If this prop is an inherited variant, rather than been set directly on the\n * component itself, we want to make sure we allow the parent to trigger animations.\n *\n * TODO: Can probably change this to a !isControllingVariants check\n */\n var isInherited = prop === context[type] && prop !== props[type] && propIsVariant;\n /**\n *\n */\n if (isInherited &&\n isInitialRender &&\n visualElement.manuallyAnimateOnMount) {\n isInherited = false;\n }\n /**\n * Set all encountered keys so far as the protected keys for this type. This will\n * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n */\n typeState.protectedKeys = __assign({}, encounteredKeys);\n // Check if we can skip analysing this prop early\n if (\n // If it isn't active and hasn't *just* been set as inactive\n (!typeState.isActive && activeDelta === null) ||\n // If we didn't and don't have any defined prop for this animation type\n (!prop && !typeState.prevProp) ||\n // Or if the prop doesn't define an animation\n isAnimationControls(prop) ||\n typeof prop === \"boolean\") {\n return \"continue\";\n }\n /**\n * As we go look through the values defined on this type, if we detect\n * a changed value or a value that was removed in a higher priority, we set\n * this to true and add this prop to the animation list.\n */\n var shouldAnimateType = variantsHaveChanged(typeState.prevProp, prop) ||\n // If we're making this variant active, we want to always make it active\n (type === changedActiveType &&\n typeState.isActive &&\n !isInherited &&\n propIsVariant) ||\n // If we removed a higher-priority variant (i is in reverse order)\n (i > removedVariantIndex && propIsVariant);\n /**\n * As animations can be set as variant lists, variants or target objects, we\n * coerce everything to an array if it isn't one already\n */\n var definitionList = Array.isArray(prop) ? prop : [prop];\n /**\n * Build an object of all the resolved values. We'll use this in the subsequent\n * animateChanges calls to determine whether a value has changed.\n */\n var resolvedValues = definitionList.reduce(buildResolvedTypeValues, {});\n if (activeDelta === false)\n resolvedValues = {};\n /**\n * Now we need to loop through all the keys in the prev prop and this prop,\n * and decide:\n * 1. If the value has changed, and needs animating\n * 2. If it has been removed, and needs adding to the removedKeys set\n * 3. If it has been removed in a higher priority type and needs animating\n * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n * needs adding to the type's protectedKeys list.\n */\n var _b = typeState.prevResolvedValues, prevResolvedValues = _b === void 0 ? {} : _b;\n var allKeys = __assign(__assign({}, prevResolvedValues), resolvedValues);\n var markToAnimate = function (key) {\n shouldAnimateType = true;\n removedKeys.delete(key);\n typeState.needsAnimating[key] = true;\n };\n for (var key in allKeys) {\n var next = resolvedValues[key];\n var prev = prevResolvedValues[key];\n // If we've already handled this we can just skip ahead\n if (encounteredKeys.hasOwnProperty(key))\n continue;\n /**\n * If the value has changed, we probably want to animate it.\n */\n if (next !== prev) {\n /**\n * If both values are keyframes, we need to shallow compare them to\n * detect whether any value has changed. If it has, we animate it.\n */\n if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n if (!shallowCompare(next, prev)) {\n markToAnimate(key);\n }\n else {\n /**\n * If it hasn't changed, we want to ensure it doesn't animate by\n * adding it to the list of protected keys.\n */\n typeState.protectedKeys[key] = true;\n }\n }\n else if (next !== undefined) {\n // If next is defined and doesn't equal prev, it needs animating\n markToAnimate(key);\n }\n else {\n // If it's undefined, it's been removed.\n removedKeys.add(key);\n }\n }\n else if (next !== undefined && removedKeys.has(key)) {\n /**\n * If next hasn't changed and it isn't undefined, we want to check if it's\n * been removed by a higher priority\n */\n markToAnimate(key);\n }\n else {\n /**\n * If it hasn't changed, we add it to the list of protected values\n * to ensure it doesn't get animated.\n */\n typeState.protectedKeys[key] = true;\n }\n }\n /**\n * Update the typeState so next time animateChanges is called we can compare the\n * latest prop and resolvedValues to these.\n */\n typeState.prevProp = prop;\n typeState.prevResolvedValues = resolvedValues;\n /**\n *\n */\n if (typeState.isActive) {\n encounteredKeys = __assign(__assign({}, encounteredKeys), resolvedValues);\n }\n if (isInitialRender && visualElement.blockInitialAnimation) {\n shouldAnimateType = false;\n }\n /**\n * If this is an inherited prop we want to hard-block animations\n * TODO: Test as this should probably still handle animations triggered\n * by removed values?\n */\n if (shouldAnimateType && !isInherited) {\n animations.push.apply(animations, __spreadArray([], __read(definitionList.map(function (animation) { return ({\n animation: animation,\n options: __assign({ type: type }, options),\n }); }))));\n }\n };\n /**\n * Iterate through all animation types in reverse priority order. For each, we want to\n * detect which values it's handling and whether or not they've changed (and therefore\n * need to be animated). If any values have been removed, we want to detect those in\n * lower priority props and flag for animation.\n */\n for (var i = 0; i < numAnimationTypes; i++) {\n _loop_1(i);\n }\n allAnimatedKeys = __assign({}, encounteredKeys);\n /**\n * If there are some removed value that haven't been dealt with,\n * we need to create a new animation that falls back either to the value\n * defined in the style prop, or the last read value.\n */\n if (removedKeys.size) {\n var fallbackAnimation_1 = {};\n removedKeys.forEach(function (key) {\n var fallbackTarget = visualElement.getBaseTarget(key);\n if (fallbackTarget !== undefined) {\n fallbackAnimation_1[key] = fallbackTarget;\n }\n });\n animations.push({ animation: fallbackAnimation_1 });\n }\n var shouldAnimate = Boolean(animations.length);\n if (isInitialRender &&\n props.initial === false &&\n !visualElement.manuallyAnimateOnMount) {\n shouldAnimate = false;\n }\n isInitialRender = false;\n return shouldAnimate ? animate(animations) : Promise.resolve();\n }\n /**\n * Change whether a certain animation type is active.\n */\n function setActive(type, isActive, options) {\n var _a;\n // If the active state hasn't changed, we can safely do nothing here\n if (state[type].isActive === isActive)\n return Promise.resolve();\n // Propagate active change to children\n (_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { var _a; return (_a = child.animationState) === null || _a === void 0 ? void 0 : _a.setActive(type, isActive); });\n state[type].isActive = isActive;\n return animateChanges(options, type);\n }\n return {\n isAnimated: isAnimated,\n animateChanges: animateChanges,\n setActive: setActive,\n setAnimateFunction: setAnimateFunction,\n getState: function () { return state; },\n };\n}\nfunction variantsHaveChanged(prev, next) {\n if (typeof next === \"string\") {\n return next !== prev;\n }\n else if (isVariantLabels(next)) {\n return !shallowCompare(next, prev);\n }\n return false;\n}\nfunction createTypeState(isActive) {\n if (isActive === void 0) { isActive = false; }\n return {\n isActive: isActive,\n protectedKeys: {},\n needsAnimating: {},\n prevResolvedValues: {},\n };\n}\nfunction createState() {\n var _a;\n return _a = {},\n _a[AnimationType.Animate] = createTypeState(true),\n _a[AnimationType.Hover] = createTypeState(),\n _a[AnimationType.Tap] = createTypeState(),\n _a[AnimationType.Drag] = createTypeState(),\n _a[AnimationType.Focus] = createTypeState(),\n _a[AnimationType.Exit] = createTypeState(),\n _a;\n}\n\nexport { createAnimationState, variantPriorityOrder, variantsHaveChanged };\n","import { __read } from 'tslib';\nimport { useEffect, useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.js';\nimport { usePresence } from '../../components/AnimatePresence/use-presence.js';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { createAnimationState } from '../../render/utils/animation-state.js';\nimport { AnimationType } from '../../render/utils/types.js';\nimport { makeRenderlessComponent } from '../utils/make-renderless-component.js';\n\nvar animations = {\n animation: makeRenderlessComponent(function (_a) {\n var visualElement = _a.visualElement, animate = _a.animate;\n /**\n * We dynamically generate the AnimationState manager as it contains a reference\n * to the underlying animation library. We only want to load that if we load this,\n * so people can optionally code split it out using the `m` component.\n */\n visualElement.animationState || (visualElement.animationState = createAnimationState(visualElement));\n /**\n * Subscribe any provided AnimationControls to the component's VisualElement\n */\n if (isAnimationControls(animate)) {\n useEffect(function () { return animate.subscribe(visualElement); }, [animate]);\n }\n }),\n exit: makeRenderlessComponent(function (props) {\n var custom = props.custom, visualElement = props.visualElement;\n var _a = __read(usePresence(), 2), isPresent = _a[0], onExitComplete = _a[1];\n var presenceContext = useContext(PresenceContext);\n useEffect(function () {\n var _a, _b;\n var animation = (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Exit, !isPresent, { custom: (_b = presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.custom) !== null && _b !== void 0 ? _b : custom });\n !isPresent && (animation === null || animation === void 0 ? void 0 : animation.then(onExitComplete));\n }, [isPresent]);\n }),\n};\n\nexport { animations };\n","var isPoint = function (point) {\n return point.hasOwnProperty('x') && point.hasOwnProperty('y');\n};\n\nexport { isPoint };\n","import { isPoint } from './is-point.js';\n\nvar isPoint3D = function (point) {\n return isPoint(point) && point.hasOwnProperty('z');\n};\n\nexport { isPoint3D };\n","import { isPoint } from './is-point.js';\nimport { isPoint3D } from './is-point-3d.js';\nimport { isNum } from './inc.js';\n\nvar distance1D = function (a, b) { return Math.abs(a - b); };\nfunction distance(a, b) {\n if (isNum(a) && isNum(b)) {\n return distance1D(a, b);\n }\n else if (isPoint(a) && isPoint(b)) {\n var xDelta = distance1D(a.x, b.x);\n var yDelta = distance1D(a.y, b.y);\n var zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0;\n return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2));\n }\n}\n\nexport { distance };\n","import { __assign } from 'tslib';\nimport { isMouseEvent, isTouchEvent } from './utils/event-type.js';\nimport { extractEventInfo } from '../events/event-info.js';\nimport sync, { getFrameData, cancelSync } from 'framesync';\nimport { secondsToMilliseconds } from '../utils/time-conversion.js';\nimport { addPointerEvent } from '../events/use-pointer-event.js';\nimport { distance, pipe } from 'popmotion';\n\n/**\n * @internal\n */\nvar PanSession = /** @class */ (function () {\n function PanSession(event, handlers, _a) {\n var _this = this;\n var _b = _a === void 0 ? {} : _a, transformPagePoint = _b.transformPagePoint;\n /**\n * @internal\n */\n this.startEvent = null;\n /**\n * @internal\n */\n this.lastMoveEvent = null;\n /**\n * @internal\n */\n this.lastMoveEventInfo = null;\n /**\n * @internal\n */\n this.handlers = {};\n this.updatePoint = function () {\n if (!(_this.lastMoveEvent && _this.lastMoveEventInfo))\n return;\n var info = getPanInfo(_this.lastMoveEventInfo, _this.history);\n var isPanStarted = _this.startEvent !== null;\n // Only start panning if the offset is larger than 3 pixels. If we make it\n // any larger than this we'll want to reset the pointer history\n // on the first update to avoid visual snapping to the cursoe.\n var isDistancePastThreshold = distance(info.offset, { x: 0, y: 0 }) >= 3;\n if (!isPanStarted && !isDistancePastThreshold)\n return;\n var point = info.point;\n var timestamp = getFrameData().timestamp;\n _this.history.push(__assign(__assign({}, point), { timestamp: timestamp }));\n var _a = _this.handlers, onStart = _a.onStart, onMove = _a.onMove;\n if (!isPanStarted) {\n onStart && onStart(_this.lastMoveEvent, info);\n _this.startEvent = _this.lastMoveEvent;\n }\n onMove && onMove(_this.lastMoveEvent, info);\n };\n this.handlePointerMove = function (event, info) {\n _this.lastMoveEvent = event;\n _this.lastMoveEventInfo = transformPoint(info, _this.transformPagePoint);\n // Because Safari doesn't trigger mouseup events when it's above a `<select>`\n if (isMouseEvent(event) && event.buttons === 0) {\n _this.handlePointerUp(event, info);\n return;\n }\n // Throttle mouse move event to once per frame\n sync.update(_this.updatePoint, true);\n };\n this.handlePointerUp = function (event, info) {\n _this.end();\n var _a = _this.handlers, onEnd = _a.onEnd, onSessionEnd = _a.onSessionEnd;\n var panInfo = getPanInfo(transformPoint(info, _this.transformPagePoint), _this.history);\n if (_this.startEvent && onEnd) {\n onEnd(event, panInfo);\n }\n onSessionEnd && onSessionEnd(event, panInfo);\n };\n // If we have more than one touch, don't start detecting this gesture\n if (isTouchEvent(event) && event.touches.length > 1)\n return;\n this.handlers = handlers;\n this.transformPagePoint = transformPagePoint;\n var info = extractEventInfo(event);\n var initialInfo = transformPoint(info, this.transformPagePoint);\n var point = initialInfo.point;\n var timestamp = getFrameData().timestamp;\n this.history = [__assign(__assign({}, point), { timestamp: timestamp })];\n var onSessionStart = handlers.onSessionStart;\n onSessionStart &&\n onSessionStart(event, getPanInfo(initialInfo, this.history));\n this.removeListeners = pipe(addPointerEvent(window, \"pointermove\", this.handlePointerMove), addPointerEvent(window, \"pointerup\", this.handlePointerUp), addPointerEvent(window, \"pointercancel\", this.handlePointerUp));\n }\n PanSession.prototype.updateHandlers = function (handlers) {\n this.handlers = handlers;\n };\n PanSession.prototype.end = function () {\n this.removeListeners && this.removeListeners();\n cancelSync.update(this.updatePoint);\n };\n return PanSession;\n}());\nfunction transformPoint(info, transformPagePoint) {\n return transformPagePoint ? { point: transformPagePoint(info.point) } : info;\n}\nfunction subtractPoint(a, b) {\n return { x: a.x - b.x, y: a.y - b.y };\n}\nfunction getPanInfo(_a, history) {\n var point = _a.point;\n return {\n point: point,\n delta: subtractPoint(point, lastDevicePoint(history)),\n offset: subtractPoint(point, startDevicePoint(history)),\n velocity: getVelocity(history, 0.1),\n };\n}\nfunction startDevicePoint(history) {\n return history[0];\n}\nfunction lastDevicePoint(history) {\n return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n if (history.length < 2) {\n return { x: 0, y: 0 };\n }\n var i = history.length - 1;\n var timestampedPoint = null;\n var lastPoint = lastDevicePoint(history);\n while (i >= 0) {\n timestampedPoint = history[i];\n if (lastPoint.timestamp - timestampedPoint.timestamp >\n secondsToMilliseconds(timeDelta)) {\n break;\n }\n i--;\n }\n if (!timestampedPoint) {\n return { x: 0, y: 0 };\n }\n var time = (lastPoint.timestamp - timestampedPoint.timestamp) / 1000;\n if (time === 0) {\n return { x: 0, y: 0 };\n }\n var currentVelocity = {\n x: (lastPoint.x - timestampedPoint.x) / time,\n y: (lastPoint.y - timestampedPoint.y) / time,\n };\n if (currentVelocity.x === Infinity) {\n currentVelocity.x = 0;\n }\n if (currentVelocity.y === Infinity) {\n currentVelocity.y = 0;\n }\n return currentVelocity;\n}\n\nexport { PanSession };\n","// Call a handler once for each axis\nfunction eachAxis(handler) {\n return [handler(\"x\"), handler(\"y\")];\n}\n\nexport { eachAxis };\n","import { __read } from 'tslib';\nimport { mix } from 'popmotion';\n\n/**\n * Apply constraints to a point. These constraints are both physical along an\n * axis, and an elastic factor that determines how much to constrain the point\n * by if it does lie outside the defined parameters.\n */\nfunction applyConstraints(point, _a, elastic) {\n var min = _a.min, max = _a.max;\n if (min !== undefined && point < min) {\n // If we have a min point defined, and this is outside of that, constrain\n point = elastic ? mix(min, point, elastic.min) : Math.max(point, min);\n }\n else if (max !== undefined && point > max) {\n // If we have a max point defined, and this is outside of that, constrain\n point = elastic ? mix(max, point, elastic.max) : Math.min(point, max);\n }\n return point;\n}\n/**\n * Calculates a min projection point based on a pointer, pointer progress\n * within the drag target, and constraints.\n *\n * For instance if an element was 100px width, we were dragging from 0.25\n * along this axis, the pointer is at 200px, and there were no constraints,\n * we would calculate a min projection point of 175px.\n */\nfunction calcConstrainedMinPoint(point, length, progress, constraints, elastic) {\n // Calculate a min point for this axis and apply it to the current pointer\n var min = point - length * progress;\n return constraints ? applyConstraints(min, constraints, elastic) : min;\n}\n/**\n * Calculate constraints in terms of the viewport when defined relatively to the\n * measured axis. This is measured from the nearest edge, so a max constraint of 200\n * on an axis with a max value of 300 would return a constraint of 500 - axis length\n */\nfunction calcRelativeAxisConstraints(axis, min, max) {\n return {\n min: min !== undefined ? axis.min + min : undefined,\n max: max !== undefined\n ? axis.max + max - (axis.max - axis.min)\n : undefined,\n };\n}\n/**\n * Calculate constraints in terms of the viewport when\n * defined relatively to the measured bounding box.\n */\nfunction calcRelativeConstraints(layoutBox, _a) {\n var top = _a.top, left = _a.left, bottom = _a.bottom, right = _a.right;\n return {\n x: calcRelativeAxisConstraints(layoutBox.x, left, right),\n y: calcRelativeAxisConstraints(layoutBox.y, top, bottom),\n };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative axis\n */\nfunction calcViewportAxisConstraints(layoutAxis, constraintsAxis) {\n var _a;\n var min = constraintsAxis.min - layoutAxis.min;\n var max = constraintsAxis.max - layoutAxis.max;\n // If the constraints axis is actually smaller than the layout axis then we can\n // flip the constraints\n if (constraintsAxis.max - constraintsAxis.min <\n layoutAxis.max - layoutAxis.min) {\n _a = __read([max, min], 2), min = _a[0], max = _a[1];\n }\n return {\n min: layoutAxis.min + min,\n max: layoutAxis.min + max,\n };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative box\n */\nfunction calcViewportConstraints(layoutBox, constraintsBox) {\n return {\n x: calcViewportAxisConstraints(layoutBox.x, constraintsBox.x),\n y: calcViewportAxisConstraints(layoutBox.y, constraintsBox.y),\n };\n}\n/**\n * Calculate the an axis position based on two axes and a progress value.\n */\nfunction calcPositionFromProgress(axis, constraints, progress) {\n var axisLength = axis.max - axis.min;\n var min = mix(constraints.min, constraints.max - axisLength, progress);\n return { min: min, max: min + axisLength };\n}\n/**\n * Rebase the calculated viewport constraints relative to the layout.min point.\n */\nfunction rebaseAxisConstraints(layout, constraints) {\n var relativeConstraints = {};\n if (constraints.min !== undefined) {\n relativeConstraints.min = constraints.min - layout.min;\n }\n if (constraints.max !== undefined) {\n relativeConstraints.max = constraints.max - layout.min;\n }\n return relativeConstraints;\n}\nvar defaultElastic = 0.35;\n/**\n * Accepts a dragElastic prop and returns resolved elastic values for each axis.\n */\nfunction resolveDragElastic(dragElastic) {\n if (dragElastic === false) {\n dragElastic = 0;\n }\n else if (dragElastic === true) {\n dragElastic = defaultElastic;\n }\n return {\n x: resolveAxisElastic(dragElastic, \"left\", \"right\"),\n y: resolveAxisElastic(dragElastic, \"top\", \"bottom\"),\n };\n}\nfunction resolveAxisElastic(dragElastic, minLabel, maxLabel) {\n return {\n min: resolvePointElastic(dragElastic, minLabel),\n max: resolvePointElastic(dragElastic, maxLabel),\n };\n}\nfunction resolvePointElastic(dragElastic, label) {\n var _a;\n return typeof dragElastic === \"number\"\n ? dragElastic\n : (_a = dragElastic[label]) !== null && _a !== void 0 ? _a : 0;\n}\n\nexport { applyConstraints, calcConstrainedMinPoint, calcPositionFromProgress, calcRelativeAxisConstraints, calcRelativeConstraints, calcViewportAxisConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveAxisElastic, resolveDragElastic, resolvePointElastic };\n","import { convertBoundingBoxToAxisBox, transformBoundingBox } from '../../../utils/geometry/index.js';\n\n/**\n * Measure and return the element bounding box.\n *\n * We convert the box into an AxisBox2D to make it easier to work with each axis\n * individually and programmatically.\n *\n * This function optionally accepts a transformPagePoint function which allows us to compensate\n * for, for instance, measuring the element within a scaled plane like a Framer devivce preview component.\n */\nfunction getBoundingBox(element, transformPagePoint) {\n var box = element.getBoundingClientRect();\n return convertBoundingBoxToAxisBox(transformBoundingBox(box, transformPagePoint));\n}\n\nexport { getBoundingBox };\n","import { mix, distance, clamp, progress } from 'popmotion';\n\nvar clampProgress = function (v) { return clamp(0, 1, v); };\n/**\n * Returns true if the provided value is within maxDistance of the provided target\n */\nfunction isNear(value, target, maxDistance) {\n if (target === void 0) { target = 0; }\n if (maxDistance === void 0) { maxDistance = 0.01; }\n return distance(value, target) < maxDistance;\n}\nfunction calcLength(axis) {\n return axis.max - axis.min;\n}\n/**\n * Calculate a transform origin relative to the source axis, between 0-1, that results\n * in an asthetically pleasing scale/transform needed to project from source to target.\n */\nfunction calcOrigin(source, target) {\n var origin = 0.5;\n var sourceLength = calcLength(source);\n var targetLength = calcLength(target);\n if (targetLength > sourceLength) {\n origin = progress(target.min, target.max - sourceLength, source.min);\n }\n else if (sourceLength > targetLength) {\n origin = progress(source.min, source.max - targetLength, target.min);\n }\n return clampProgress(origin);\n}\n/**\n * Update the AxisDelta with a transform that projects source into target.\n *\n * The transform `origin` is optional. If not provided, it'll be automatically\n * calculated based on the relative positions of the two bounding boxes.\n */\nfunction updateAxisDelta(delta, source, target, origin) {\n if (origin === void 0) { origin = 0.5; }\n delta.origin = origin;\n delta.originPoint = mix(source.min, source.max, delta.origin);\n delta.scale = calcLength(target) / calcLength(source);\n if (isNear(delta.scale, 1, 0.0001))\n delta.scale = 1;\n delta.translate =\n mix(target.min, target.max, delta.origin) - delta.originPoint;\n if (isNear(delta.translate))\n delta.translate = 0;\n}\n/**\n * Update the BoxDelta with a transform that projects the source into the target.\n *\n * The transform `origin` is optional. If not provided, it'll be automatically\n * calculated based on the relative positions of the two bounding boxes.\n */\nfunction updateBoxDelta(delta, source, target, origin) {\n updateAxisDelta(delta.x, source.x, target.x, defaultOrigin(origin.originX));\n updateAxisDelta(delta.y, source.y, target.y, defaultOrigin(origin.originY));\n}\n/**\n * Currently this only accepts numerical origins, measured as 0-1, but could\n * accept pixel values by comparing to the target axis.\n */\nfunction defaultOrigin(origin) {\n return typeof origin === \"number\" ? origin : 0.5;\n}\nfunction calcRelativeAxis(target, relative, parent) {\n target.min = parent.min + relative.min;\n target.max = target.min + calcLength(relative);\n}\nfunction calcRelativeBox(projection, parentProjection) {\n calcRelativeAxis(projection.target.x, projection.relativeTarget.x, parentProjection.target.x);\n calcRelativeAxis(projection.target.y, projection.relativeTarget.y, parentProjection.target.y);\n}\n\nexport { calcOrigin, calcRelativeAxis, calcRelativeBox, isNear, updateAxisDelta, updateBoxDelta };\n","import { mix } from 'popmotion';\n\nfunction tweenAxis(target, prev, next, p) {\n target.min = mix(prev.min, next.min, p);\n target.max = mix(prev.max, next.max, p);\n}\nfunction calcRelativeOffsetAxis(parent, child) {\n return {\n min: child.min - parent.min,\n max: child.max - parent.min,\n };\n}\nfunction calcRelativeOffset(parent, child) {\n return {\n x: calcRelativeOffsetAxis(parent.x, child.x),\n y: calcRelativeOffsetAxis(parent.y, child.y),\n };\n}\nfunction checkIfParentHasChanged(prev, next) {\n var prevId = prev.getLayoutId();\n var nextId = next.getLayoutId();\n return prevId !== nextId || (nextId === undefined && prev !== next);\n}\n\nexport { calcRelativeOffset, calcRelativeOffsetAxis, checkIfParentHasChanged, tweenAxis };\n","function isDraggable(visualElement) {\n var _a = visualElement.getProps(), drag = _a.drag, _dragX = _a._dragX;\n return drag && !_dragX;\n}\n\nexport { isDraggable };\n","import { __read } from 'tslib';\nimport { mix } from 'popmotion';\nimport { isDraggable } from '../../render/utils/is-draggable.js';\n\n/**\n * Reset an axis to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction resetAxis(axis, originAxis) {\n axis.min = originAxis.min;\n axis.max = originAxis.max;\n}\n/**\n * Reset a box to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction resetBox(box, originBox) {\n resetAxis(box.x, originBox.x);\n resetAxis(box.y, originBox.y);\n}\n/**\n * Scales a point based on a factor and an originPoint\n */\nfunction scalePoint(point, scale, originPoint) {\n var distanceFromOrigin = point - originPoint;\n var scaled = scale * distanceFromOrigin;\n return originPoint + scaled;\n}\n/**\n * Applies a translate/scale delta to a point\n */\nfunction applyPointDelta(point, translate, scale, originPoint, boxScale) {\n if (boxScale !== undefined) {\n point = scalePoint(point, boxScale, originPoint);\n }\n return scalePoint(point, scale, originPoint) + translate;\n}\n/**\n * Applies a translate/scale delta to an axis\n */\nfunction applyAxisDelta(axis, translate, scale, originPoint, boxScale) {\n if (translate === void 0) { translate = 0; }\n if (scale === void 0) { scale = 1; }\n axis.min = applyPointDelta(axis.min, translate, scale, originPoint, boxScale);\n axis.max = applyPointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Applies a translate/scale delta to a box\n */\nfunction applyBoxDelta(box, _a) {\n var x = _a.x, y = _a.y;\n applyAxisDelta(box.x, x.translate, x.scale, x.originPoint);\n applyAxisDelta(box.y, y.translate, y.scale, y.originPoint);\n}\n/**\n * Apply a transform to an axis from the latest resolved motion values.\n * This function basically acts as a bridge between a flat motion value map\n * and applyAxisDelta\n */\nfunction applyAxisTransforms(final, axis, transforms, _a) {\n var _b = __read(_a, 3), key = _b[0], scaleKey = _b[1], originKey = _b[2];\n // Copy the current axis to the final axis before mutation\n final.min = axis.min;\n final.max = axis.max;\n var axisOrigin = transforms[originKey] !== undefined ? transforms[originKey] : 0.5;\n var originPoint = mix(axis.min, axis.max, axisOrigin);\n // Apply the axis delta to the final axis\n applyAxisDelta(final, transforms[key], transforms[scaleKey], originPoint, transforms.scale);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nvar xKeys = [\"x\", \"scaleX\", \"originX\"];\nvar yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Apply a transform to a box from the latest resolved motion values.\n */\nfunction applyBoxTransforms(finalBox, box, transforms) {\n applyAxisTransforms(finalBox.x, box.x, transforms, xKeys);\n applyAxisTransforms(finalBox.y, box.y, transforms, yKeys);\n}\n/**\n * Remove a delta from a point. This is essentially the steps of applyPointDelta in reverse\n */\nfunction removePointDelta(point, translate, scale, originPoint, boxScale) {\n point -= translate;\n point = scalePoint(point, 1 / scale, originPoint);\n if (boxScale !== undefined) {\n point = scalePoint(point, 1 / boxScale, originPoint);\n }\n return point;\n}\n/**\n * Remove a delta from an axis. This is essentially the steps of applyAxisDelta in reverse\n */\nfunction removeAxisDelta(axis, translate, scale, origin, boxScale) {\n if (translate === void 0) { translate = 0; }\n if (scale === void 0) { scale = 1; }\n if (origin === void 0) { origin = 0.5; }\n var originPoint = mix(axis.min, axis.max, origin) - translate;\n axis.min = removePointDelta(axis.min, translate, scale, originPoint, boxScale);\n axis.max = removePointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Remove a transforms from an axis. This is essentially the steps of applyAxisTransforms in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeAxisTransforms(axis, transforms, _a) {\n var _b = __read(_a, 3), key = _b[0], scaleKey = _b[1], originKey = _b[2];\n removeAxisDelta(axis, transforms[key], transforms[scaleKey], transforms[originKey], transforms.scale);\n}\n/**\n * Remove a transforms from an box. This is essentially the steps of applyAxisBox in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeBoxTransforms(box, transforms) {\n removeAxisTransforms(box.x, transforms, xKeys);\n removeAxisTransforms(box.y, transforms, yKeys);\n}\n/**\n * Apply a tree of deltas to a box. We do this to calculate the effect of all the transforms\n * in a tree upon our box before then calculating how to project it into our desired viewport-relative box\n *\n * This is the final nested loop within updateLayoutDelta for future refactoring\n */\nfunction applyTreeDeltas(box, treeScale, treePath) {\n var treeLength = treePath.length;\n if (!treeLength)\n return;\n // Reset the treeScale\n treeScale.x = treeScale.y = 1;\n var node;\n var delta;\n for (var i = 0; i < treeLength; i++) {\n node = treePath[i];\n delta = node.getLayoutState().delta;\n // Incoporate each ancestor's scale into a culmulative treeScale for this component\n treeScale.x *= delta.x.scale;\n treeScale.y *= delta.y.scale;\n // Apply each ancestor's calculated delta into this component's recorded layout box\n applyBoxDelta(box, delta);\n // If this is a draggable ancestor, also incorporate the node's transform to the layout box\n if (isDraggable(node)) {\n applyBoxTransforms(box, box, node.getLatestValues());\n }\n }\n}\n\nexport { applyAxisDelta, applyAxisTransforms, applyBoxDelta, applyBoxTransforms, applyPointDelta, applyTreeDeltas, removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta, resetAxis, resetBox, scalePoint };\n","import { __rest, __assign, __spreadArray, __read } from 'tslib';\nimport { invariant } from 'hey-listen';\nimport { PanSession } from '../PanSession.js';\nimport { getGlobalLock } from './utils/lock.js';\nimport { isRefObject } from '../../utils/is-ref-object.js';\nimport { addPointerEvent } from '../../events/use-pointer-event.js';\nimport { addDomEvent } from '../../events/use-dom-event.js';\nimport { getViewportPointFromEvent } from '../../events/event-info.js';\nimport { axisBox, convertAxisBoxToBoundingBox, convertBoundingBoxToAxisBox } from '../../utils/geometry/index.js';\nimport { eachAxis } from '../../utils/each-axis.js';\nimport { calcRelativeConstraints, resolveDragElastic, rebaseAxisConstraints, calcViewportConstraints, applyConstraints, calcConstrainedMinPoint, calcPositionFromProgress, defaultElastic } from './utils/constraints.js';\nimport { getBoundingBox } from '../../render/dom/projection/measure.js';\nimport { calcOrigin } from '../../utils/geometry/delta-calc.js';\nimport { startAnimation } from '../../animation/utils/transitions.js';\nimport { AnimationType } from '../../render/utils/types.js';\nimport { collectProjectingAncestors, updateLayoutMeasurement, collectProjectingChildren } from '../../render/dom/projection/utils.js';\nimport { progress } from 'popmotion';\nimport { convertToRelativeProjection } from '../../render/dom/projection/convert-to-relative.js';\nimport { calcRelativeOffset } from '../../motion/features/layout/utils.js';\nimport { flushLayout, batchLayout } from '../../render/dom/utils/batch-layout.js';\nimport { flushSync } from 'framesync';\n\nvar elementDragControls = new WeakMap();\n/**\n *\n */\nvar lastPointerEvent;\nvar VisualElementDragControls = /** @class */ (function () {\n function VisualElementDragControls(_a) {\n var visualElement = _a.visualElement;\n /**\n * Track whether we're currently dragging.\n *\n * @internal\n */\n this.isDragging = false;\n /**\n * The current direction of drag, or `null` if both.\n *\n * @internal\n */\n this.currentDirection = null;\n /**\n * The permitted boundaries of travel, in pixels.\n *\n * @internal\n */\n this.constraints = false;\n /**\n * The per-axis resolved elastic values.\n *\n * @internal\n */\n this.elastic = axisBox();\n /**\n * A reference to the host component's latest props.\n *\n * @internal\n */\n this.props = {};\n /**\n * @internal\n */\n this.hasMutatedConstraints = false;\n /**\n * Track the initial position of the cursor relative to the dragging element\n * when dragging starts as a value of 0-1 on each axis. We then use this to calculate\n * an ideal bounding box for the VisualElement renderer to project into every frame.\n *\n * @internal\n */\n this.cursorProgress = {\n x: 0.5,\n y: 0.5,\n };\n // When updating _dragX, or _dragY instead of the VisualElement,\n // persist their values between drag gestures.\n this.originPoint = {};\n // This is a reference to the global drag gesture lock, ensuring only one component\n // can \"capture\" the drag of one or both axes.\n // TODO: Look into moving this into pansession?\n this.openGlobalLock = null;\n /**\n * @internal\n */\n this.panSession = null;\n this.visualElement = visualElement;\n this.visualElement.enableLayoutProjection();\n elementDragControls.set(visualElement, this);\n }\n /**\n * Instantiate a PanSession for the drag gesture\n *\n * @public\n */\n VisualElementDragControls.prototype.start = function (originEvent, _a) {\n var _this = this;\n var _b = _a === void 0 ? {} : _a, _c = _b.snapToCursor, snapToCursor = _c === void 0 ? false : _c, cursorProgress = _b.cursorProgress;\n var onSessionStart = function (event) {\n var _a;\n // Stop any animations on both axis values immediately. This allows the user to throw and catch\n // the component.\n _this.stopMotion();\n /**\n * Save the initial point. We'll use this to calculate the pointer's position rather\n * than the one we receive when the gesture actually starts. By then, the pointer will\n * have already moved, and the perception will be of the pointer \"slipping\" across the element\n */\n var initialPoint = getViewportPointFromEvent(event).point;\n (_a = _this.cancelLayout) === null || _a === void 0 ? void 0 : _a.call(_this);\n _this.cancelLayout = batchLayout(function (read, write) {\n var ancestors = collectProjectingAncestors(_this.visualElement);\n var children = collectProjectingChildren(_this.visualElement);\n var tree = __spreadArray(__spreadArray([], __read(ancestors)), __read(children));\n var hasManuallySetCursorOrigin = false;\n /**\n * Apply a simple lock to the projection target. This ensures no animations\n * can run on the projection box while this lock is active.\n */\n _this.isLayoutDrag() && _this.visualElement.lockProjectionTarget();\n write(function () {\n tree.forEach(function (element) { return element.resetTransform(); });\n });\n read(function () {\n updateLayoutMeasurement(_this.visualElement);\n children.forEach(updateLayoutMeasurement);\n });\n write(function () {\n tree.forEach(function (element) { return element.restoreTransform(); });\n if (snapToCursor) {\n hasManuallySetCursorOrigin = _this.snapToCursor(initialPoint);\n }\n });\n read(function () {\n var isRelativeDrag = Boolean(_this.getAxisMotionValue(\"x\") && !_this.isExternalDrag());\n if (!isRelativeDrag) {\n _this.visualElement.rebaseProjectionTarget(true, _this.visualElement.measureViewportBox(false));\n }\n _this.visualElement.scheduleUpdateLayoutProjection();\n /**\n * When dragging starts, we want to find where the cursor is relative to the bounding box\n * of the element. Every frame, we calculate a new bounding box using this relative position\n * and let the visualElement renderer figure out how to reproject the element into this bounding\n * box.\n *\n * By doing it this way, rather than applying an x/y transform directly to the element,\n * we can ensure the component always visually sticks to the cursor as we'd expect, even\n * if the DOM element itself changes layout as a result of React updates the user might\n * make based on the drag position.\n */\n var projection = _this.visualElement.projection;\n eachAxis(function (axis) {\n if (!hasManuallySetCursorOrigin) {\n var _a = projection.target[axis], min = _a.min, max = _a.max;\n _this.cursorProgress[axis] = cursorProgress\n ? cursorProgress[axis]\n : progress(min, max, initialPoint[axis]);\n }\n /**\n * If we have external drag MotionValues, record their origin point. On pointermove\n * we'll apply the pan gesture offset directly to this value.\n */\n var axisValue = _this.getAxisMotionValue(axis);\n if (axisValue) {\n _this.originPoint[axis] = axisValue.get();\n }\n });\n });\n write(function () {\n flushSync.update();\n flushSync.preRender();\n flushSync.render();\n flushSync.postRender();\n });\n read(function () { return _this.resolveDragConstraints(); });\n });\n };\n var onStart = function (event, info) {\n var _a, _b, _c;\n // Attempt to grab the global drag gesture lock - maybe make this part of PanSession\n var _d = _this.props, drag = _d.drag, dragPropagation = _d.dragPropagation;\n if (drag && !dragPropagation) {\n if (_this.openGlobalLock)\n _this.openGlobalLock();\n _this.openGlobalLock = getGlobalLock(drag);\n // If we don 't have the lock, don't start dragging\n if (!_this.openGlobalLock)\n return;\n }\n flushLayout();\n // Set current drag status\n _this.isDragging = true;\n _this.currentDirection = null;\n // Fire onDragStart event\n (_b = (_a = _this.props).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, event, info);\n (_c = _this.visualElement.animationState) === null || _c === void 0 ? void 0 : _c.setActive(AnimationType.Drag, true);\n };\n var onMove = function (event, info) {\n var _a, _b, _c, _d;\n var _e = _this.props, dragPropagation = _e.dragPropagation, dragDirectionLock = _e.dragDirectionLock;\n // If we didn't successfully receive the gesture lock, early return.\n if (!dragPropagation && !_this.openGlobalLock)\n return;\n var offset = info.offset;\n // Attempt to detect drag direction if directionLock is true\n if (dragDirectionLock && _this.currentDirection === null) {\n _this.currentDirection = getCurrentDirection(offset);\n // If we've successfully set a direction, notify listener\n if (_this.currentDirection !== null) {\n (_b = (_a = _this.props).onDirectionLock) === null || _b === void 0 ? void 0 : _b.call(_a, _this.currentDirection);\n }\n return;\n }\n // Update each point with the latest position\n _this.updateAxis(\"x\", info.point, offset);\n _this.updateAxis(\"y\", info.point, offset);\n // Fire onDrag event\n (_d = (_c = _this.props).onDrag) === null || _d === void 0 ? void 0 : _d.call(_c, event, info);\n // Update the last pointer event\n lastPointerEvent = event;\n };\n var onSessionEnd = function (event, info) {\n return _this.stop(event, info);\n };\n var transformPagePoint = this.props.transformPagePoint;\n this.panSession = new PanSession(originEvent, {\n onSessionStart: onSessionStart,\n onStart: onStart,\n onMove: onMove,\n onSessionEnd: onSessionEnd,\n }, { transformPagePoint: transformPagePoint });\n };\n VisualElementDragControls.prototype.resolveDragConstraints = function () {\n var _this = this;\n var _a = this.props, dragConstraints = _a.dragConstraints, dragElastic = _a.dragElastic;\n var layout = this.visualElement.getLayoutState().layoutCorrected;\n if (dragConstraints) {\n this.constraints = isRefObject(dragConstraints)\n ? this.resolveRefConstraints(layout, dragConstraints)\n : calcRelativeConstraints(layout, dragConstraints);\n }\n else {\n this.constraints = false;\n }\n this.elastic = resolveDragElastic(dragElastic);\n /**\n * If we're outputting to external MotionValues, we want to rebase the measured constraints\n * from viewport-relative to component-relative.\n */\n if (this.constraints && !this.hasMutatedConstraints) {\n eachAxis(function (axis) {\n if (_this.getAxisMotionValue(axis)) {\n _this.constraints[axis] = rebaseAxisConstraints(layout[axis], _this.constraints[axis]);\n }\n });\n }\n };\n VisualElementDragControls.prototype.resolveRefConstraints = function (layoutBox, constraints) {\n var _a = this.props, onMeasureDragConstraints = _a.onMeasureDragConstraints, transformPagePoint = _a.transformPagePoint;\n var constraintsElement = constraints.current;\n invariant(constraintsElement !== null, \"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\");\n this.constraintsBox = getBoundingBox(constraintsElement, transformPagePoint);\n var measuredConstraints = calcViewportConstraints(layoutBox, this.constraintsBox);\n /**\n * If there's an onMeasureDragConstraints listener we call it and\n * if different constraints are returned, set constraints to that\n */\n if (onMeasureDragConstraints) {\n var userConstraints = onMeasureDragConstraints(convertAxisBoxToBoundingBox(measuredConstraints));\n this.hasMutatedConstraints = !!userConstraints;\n if (userConstraints) {\n measuredConstraints = convertBoundingBoxToAxisBox(userConstraints);\n }\n }\n return measuredConstraints;\n };\n VisualElementDragControls.prototype.cancelDrag = function () {\n var _a, _b;\n this.visualElement.unlockProjectionTarget();\n (_a = this.cancelLayout) === null || _a === void 0 ? void 0 : _a.call(this);\n this.isDragging = false;\n this.panSession && this.panSession.end();\n this.panSession = null;\n if (!this.props.dragPropagation && this.openGlobalLock) {\n this.openGlobalLock();\n this.openGlobalLock = null;\n }\n (_b = this.visualElement.animationState) === null || _b === void 0 ? void 0 : _b.setActive(AnimationType.Drag, false);\n };\n VisualElementDragControls.prototype.stop = function (event, info) {\n var _a, _b, _c;\n (_a = this.panSession) === null || _a === void 0 ? void 0 : _a.end();\n this.panSession = null;\n var isDragging = this.isDragging;\n this.cancelDrag();\n if (!isDragging)\n return;\n var velocity = info.velocity;\n this.animateDragEnd(velocity);\n (_c = (_b = this.props).onDragEnd) === null || _c === void 0 ? void 0 : _c.call(_b, event, info);\n };\n VisualElementDragControls.prototype.snapToCursor = function (point) {\n var _this = this;\n return eachAxis(function (axis) {\n var drag = _this.props.drag;\n // If we're not dragging this axis, do an early return.\n if (!shouldDrag(axis, drag, _this.currentDirection))\n return;\n var axisValue = _this.getAxisMotionValue(axis);\n if (axisValue) {\n var box = _this.visualElement.getLayoutState().layout;\n var length_1 = box[axis].max - box[axis].min;\n var center = box[axis].min + length_1 / 2;\n var offset = point[axis] - center;\n _this.originPoint[axis] = point[axis];\n axisValue.set(offset);\n }\n else {\n _this.cursorProgress[axis] = 0.5;\n return true;\n }\n }).includes(true);\n };\n /**\n * Update the specified axis with the latest pointer information.\n */\n VisualElementDragControls.prototype.updateAxis = function (axis, point, offset) {\n var drag = this.props.drag;\n // If we're not dragging this axis, do an early return.\n if (!shouldDrag(axis, drag, this.currentDirection))\n return;\n return this.getAxisMotionValue(axis)\n ? this.updateAxisMotionValue(axis, offset)\n : this.updateVisualElementAxis(axis, point);\n };\n VisualElementDragControls.prototype.updateAxisMotionValue = function (axis, offset) {\n var axisValue = this.getAxisMotionValue(axis);\n if (!offset || !axisValue)\n return;\n var nextValue = this.originPoint[axis] + offset[axis];\n var update = this.constraints\n ? applyConstraints(nextValue, this.constraints[axis], this.elastic[axis])\n : nextValue;\n axisValue.set(update);\n };\n VisualElementDragControls.prototype.updateVisualElementAxis = function (axis, point) {\n var _a;\n // Get the actual layout bounding box of the element\n var axisLayout = this.visualElement.getLayoutState().layout[axis];\n // Calculate its current length. In the future we might want to lerp this to animate\n // between lengths if the layout changes as we change the DOM\n var axisLength = axisLayout.max - axisLayout.min;\n // Get the initial progress that the pointer sat on this axis on gesture start.\n var axisProgress = this.cursorProgress[axis];\n // Calculate a new min point based on the latest pointer position, constraints and elastic\n var min = calcConstrainedMinPoint(point[axis], axisLength, axisProgress, (_a = this.constraints) === null || _a === void 0 ? void 0 : _a[axis], this.elastic[axis]);\n // Update the axis viewport target with this new min and the length\n this.visualElement.setProjectionTargetAxis(axis, min, min + axisLength);\n };\n VisualElementDragControls.prototype.setProps = function (_a) {\n var _b = _a.drag, drag = _b === void 0 ? false : _b, _c = _a.dragDirectionLock, dragDirectionLock = _c === void 0 ? false : _c, _d = _a.dragPropagation, dragPropagation = _d === void 0 ? false : _d, _e = _a.dragConstraints, dragConstraints = _e === void 0 ? false : _e, _f = _a.dragElastic, dragElastic = _f === void 0 ? defaultElastic : _f, _g = _a.dragMomentum, dragMomentum = _g === void 0 ? true : _g, remainingProps = __rest(_a, [\"drag\", \"dragDirectionLock\", \"dragPropagation\", \"dragConstraints\", \"dragElastic\", \"dragMomentum\"]);\n this.props = __assign({ drag: drag,\n dragDirectionLock: dragDirectionLock,\n dragPropagation: dragPropagation,\n dragConstraints: dragConstraints,\n dragElastic: dragElastic,\n dragMomentum: dragMomentum }, remainingProps);\n };\n /**\n * Drag works differently depending on which props are provided.\n *\n * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.\n * - If the component will perform layout animations, we output the gesture to the component's\n * visual bounding box\n * - Otherwise, we apply the delta to the x/y motion values.\n */\n VisualElementDragControls.prototype.getAxisMotionValue = function (axis) {\n var _a = this.props, layout = _a.layout, layoutId = _a.layoutId;\n var dragKey = \"_drag\" + axis.toUpperCase();\n if (this.props[dragKey]) {\n return this.props[dragKey];\n }\n else if (!layout && layoutId === undefined) {\n return this.visualElement.getValue(axis, 0);\n }\n };\n VisualElementDragControls.prototype.isLayoutDrag = function () {\n return !this.getAxisMotionValue(\"x\");\n };\n VisualElementDragControls.prototype.isExternalDrag = function () {\n var _a = this.props, _dragX = _a._dragX, _dragY = _a._dragY;\n return _dragX || _dragY;\n };\n VisualElementDragControls.prototype.animateDragEnd = function (velocity) {\n var _this = this;\n var _a = this.props, drag = _a.drag, dragMomentum = _a.dragMomentum, dragElastic = _a.dragElastic, dragTransition = _a.dragTransition;\n /**\n * Everything beyond the drag gesture should be performed with\n * relative projection so children stay in sync with their parent element.\n */\n var isRelative = convertToRelativeProjection(this.visualElement, this.isLayoutDrag() && !this.isExternalDrag());\n /**\n * If we had previously resolved constraints relative to the viewport,\n * we need to also convert those to a relative coordinate space for the animation\n */\n var constraints = this.constraints || {};\n if (isRelative &&\n Object.keys(constraints).length &&\n this.isLayoutDrag()) {\n var projectionParent = this.visualElement.getProjectionParent();\n if (projectionParent) {\n var relativeConstraints_1 = calcRelativeOffset(projectionParent.projection.targetFinal, constraints);\n eachAxis(function (axis) {\n var _a = relativeConstraints_1[axis], min = _a.min, max = _a.max;\n constraints[axis] = {\n min: isNaN(min) ? undefined : min,\n max: isNaN(max) ? undefined : max,\n };\n });\n }\n }\n var momentumAnimations = eachAxis(function (axis) {\n var _a;\n if (!shouldDrag(axis, drag, _this.currentDirection)) {\n return;\n }\n var transition = (_a = constraints === null || constraints === void 0 ? void 0 : constraints[axis]) !== null && _a !== void 0 ? _a : {};\n /**\n * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame\n * of spring animations so we should look into adding a disable spring option to `inertia`.\n * We could do something here where we affect the `bounceStiffness` and `bounceDamping`\n * using the value of `dragElastic`.\n */\n var bounceStiffness = dragElastic ? 200 : 1000000;\n var bounceDamping = dragElastic ? 40 : 10000000;\n var inertia = __assign(__assign({ type: \"inertia\", velocity: dragMomentum ? velocity[axis] : 0, bounceStiffness: bounceStiffness,\n bounceDamping: bounceDamping, timeConstant: 750, restDelta: 1, restSpeed: 10 }, dragTransition), transition);\n // If we're not animating on an externally-provided `MotionValue` we can use the\n // component's animation controls which will handle interactions with whileHover (etc),\n // otherwise we just have to animate the `MotionValue` itself.\n return _this.getAxisMotionValue(axis)\n ? _this.startAxisValueAnimation(axis, inertia)\n : _this.visualElement.startLayoutAnimation(axis, inertia, isRelative);\n });\n // Run all animations and then resolve the new drag constraints.\n return Promise.all(momentumAnimations).then(function () {\n var _a, _b;\n (_b = (_a = _this.props).onDragTransitionEnd) === null || _b === void 0 ? void 0 : _b.call(_a);\n });\n };\n VisualElementDragControls.prototype.stopMotion = function () {\n var _this = this;\n eachAxis(function (axis) {\n var axisValue = _this.getAxisMotionValue(axis);\n axisValue\n ? axisValue.stop()\n : _this.visualElement.stopLayoutAnimation();\n });\n };\n VisualElementDragControls.prototype.startAxisValueAnimation = function (axis, transition) {\n var axisValue = this.getAxisMotionValue(axis);\n if (!axisValue)\n return;\n var currentValue = axisValue.get();\n axisValue.set(currentValue);\n axisValue.set(currentValue); // Set twice to hard-reset velocity\n return startAnimation(axis, axisValue, 0, transition);\n };\n VisualElementDragControls.prototype.scalePoint = function () {\n var _this = this;\n var _a = this.props, drag = _a.drag, dragConstraints = _a.dragConstraints;\n if (!isRefObject(dragConstraints) || !this.constraintsBox)\n return;\n // Stop any current animations as there can be some visual glitching if we resize mid animation\n this.stopMotion();\n // Record the relative progress of the targetBox relative to the constraintsBox\n var boxProgress = { x: 0, y: 0 };\n eachAxis(function (axis) {\n boxProgress[axis] = calcOrigin(_this.visualElement.projection.target[axis], _this.constraintsBox[axis]);\n });\n /**\n * For each axis, calculate the current progress of the layout axis within the constraints.\n * Then, using the latest layout and constraints measurements, reposition the new layout axis\n * proportionally within the constraints.\n */\n this.updateConstraints(function () {\n eachAxis(function (axis) {\n if (!shouldDrag(axis, drag, null))\n return;\n // Calculate the position of the targetBox relative to the constraintsBox using the\n // previously calculated progress\n var _a = calcPositionFromProgress(_this.visualElement.projection.target[axis], _this.constraintsBox[axis], boxProgress[axis]), min = _a.min, max = _a.max;\n _this.visualElement.setProjectionTargetAxis(axis, min, max);\n });\n });\n /**\n * If any other draggable components are queuing the same tasks synchronously\n * this will wait until they've all been scheduled before flushing.\n */\n setTimeout(flushLayout, 1);\n };\n VisualElementDragControls.prototype.updateConstraints = function (onReady) {\n var _this = this;\n this.cancelLayout = batchLayout(function (read, write) {\n var ancestors = collectProjectingAncestors(_this.visualElement);\n write(function () {\n return ancestors.forEach(function (element) { return element.resetTransform(); });\n });\n read(function () { return updateLayoutMeasurement(_this.visualElement); });\n write(function () {\n return ancestors.forEach(function (element) { return element.restoreTransform(); });\n });\n read(function () {\n _this.resolveDragConstraints();\n });\n if (onReady)\n write(onReady);\n });\n };\n VisualElementDragControls.prototype.mount = function (visualElement) {\n var _this = this;\n var element = visualElement.getInstance();\n /**\n * Attach a pointerdown event listener on this DOM element to initiate drag tracking.\n */\n var stopPointerListener = addPointerEvent(element, \"pointerdown\", function (event) {\n var _a = _this.props, drag = _a.drag, _b = _a.dragListener, dragListener = _b === void 0 ? true : _b;\n drag && dragListener && _this.start(event);\n });\n /**\n * Attach a window resize listener to scale the draggable target within its defined\n * constraints as the window resizes.\n */\n var stopResizeListener = addDomEvent(window, \"resize\", function () {\n _this.scalePoint();\n });\n /**\n * Ensure drag constraints are resolved correctly relative to the dragging element\n * whenever its layout changes.\n */\n var stopLayoutUpdateListener = visualElement.onLayoutUpdate(function () {\n if (_this.isDragging) {\n _this.resolveDragConstraints();\n }\n });\n /**\n * If the previous component with this same layoutId was dragging at the time\n * it was unmounted, we want to continue the same gesture on this component.\n */\n var prevDragCursor = visualElement.prevDragCursor;\n if (prevDragCursor) {\n this.start(lastPointerEvent, { cursorProgress: prevDragCursor });\n }\n /**\n * Return a function that will teardown the drag gesture\n */\n return function () {\n stopPointerListener === null || stopPointerListener === void 0 ? void 0 : stopPointerListener();\n stopResizeListener === null || stopResizeListener === void 0 ? void 0 : stopResizeListener();\n stopLayoutUpdateListener === null || stopLayoutUpdateListener === void 0 ? void 0 : stopLayoutUpdateListener();\n _this.cancelDrag();\n };\n };\n return VisualElementDragControls;\n}());\nfunction shouldDrag(direction, drag, currentDirection) {\n return ((drag === true || drag === direction) &&\n (currentDirection === null || currentDirection === direction));\n}\n/**\n * Based on an x/y offset determine the current drag direction. If both axis' offsets are lower\n * than the provided threshold, return `null`.\n *\n * @param offset - The x/y offset from origin.\n * @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction.\n */\nfunction getCurrentDirection(offset, lockThreshold) {\n if (lockThreshold === void 0) { lockThreshold = 10; }\n var direction = null;\n if (Math.abs(offset.y) > lockThreshold) {\n direction = \"y\";\n }\n else if (Math.abs(offset.x) > lockThreshold) {\n direction = \"x\";\n }\n return direction;\n}\n\nexport { VisualElementDragControls, elementDragControls };\n","import { calcRelativeOffset } from '../../../motion/features/layout/utils.js';\nimport { eachAxis } from '../../../utils/each-axis.js';\nimport { removeBoxTransforms } from '../../../utils/geometry/delta-apply.js';\n\n/**\n * Returns a boolean stating whether or not we converted the projection\n * to relative projection.\n */\nfunction convertToRelativeProjection(visualElement, isLayoutDrag) {\n if (isLayoutDrag === void 0) { isLayoutDrag = true; }\n var projectionParent = visualElement.getProjectionParent();\n if (!projectionParent)\n return false;\n var offset;\n if (isLayoutDrag) {\n offset = calcRelativeOffset(projectionParent.projection.target, visualElement.projection.target);\n removeBoxTransforms(offset, projectionParent.getLatestValues());\n }\n else {\n offset = calcRelativeOffset(projectionParent.getLayoutState().layout, visualElement.getLayoutState().layout);\n }\n eachAxis(function (axis) {\n return visualElement.setProjectionTargetAxis(axis, offset[axis].min, offset[axis].max, true);\n });\n return true;\n}\n\nexport { convertToRelativeProjection };\n","import { useDrag } from '../../gestures/drag/use-drag.js';\nimport { usePanGesture } from '../../gestures/use-pan-gesture.js';\nimport { makeRenderlessComponent } from '../utils/make-renderless-component.js';\n\nvar drag = {\n pan: makeRenderlessComponent(usePanGesture),\n drag: makeRenderlessComponent(useDrag),\n};\n\nexport { drag };\n","import { useRef, useContext, useEffect } from 'react';\nimport { MotionConfigContext } from '../context/MotionConfigContext.js';\nimport { useUnmountEffect } from '../utils/use-unmount-effect.js';\nimport { usePointerEvent } from '../events/use-pointer-event.js';\nimport { PanSession } from './PanSession.js';\n\n/**\n *\n * @param handlers -\n * @param ref -\n *\n * @internalremarks\n * Currently this sets new pan gesture functions every render. The memo route has been explored\n * in the past but ultimately we're still creating new functions every render. An optimisation\n * to explore is creating the pan gestures and loading them into a `ref`.\n *\n * @internal\n */\nfunction usePanGesture(_a) {\n var onPan = _a.onPan, onPanStart = _a.onPanStart, onPanEnd = _a.onPanEnd, onPanSessionStart = _a.onPanSessionStart, visualElement = _a.visualElement;\n var hasPanEvents = onPan || onPanStart || onPanEnd || onPanSessionStart;\n var panSession = useRef(null);\n var transformPagePoint = useContext(MotionConfigContext).transformPagePoint;\n var handlers = {\n onSessionStart: onPanSessionStart,\n onStart: onPanStart,\n onMove: onPan,\n onEnd: function (event, info) {\n panSession.current = null;\n onPanEnd && onPanEnd(event, info);\n },\n };\n useEffect(function () {\n if (panSession.current !== null) {\n panSession.current.updateHandlers(handlers);\n }\n });\n function onPointerDown(event) {\n panSession.current = new PanSession(event, handlers, {\n transformPagePoint: transformPagePoint,\n });\n }\n usePointerEvent(visualElement, \"pointerdown\", hasPanEvents && onPointerDown);\n useUnmountEffect(function () { return panSession.current && panSession.current.end(); });\n}\n\nexport { usePanGesture };\n","import { __assign } from 'tslib';\nimport { useContext, useEffect } from 'react';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.js';\nimport { VisualElementDragControls } from './VisualElementDragControls.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\n/**\n * A hook that allows an element to be dragged.\n *\n * @internal\n */\nfunction useDrag(props) {\n var groupDragControls = props.dragControls, visualElement = props.visualElement;\n var transformPagePoint = useContext(MotionConfigContext).transformPagePoint;\n var dragControls = useConstant(function () {\n return new VisualElementDragControls({\n visualElement: visualElement,\n });\n });\n dragControls.setProps(__assign(__assign({}, props), { transformPagePoint: transformPagePoint }));\n // If we've been provided a DragControls for manual control over the drag gesture,\n // subscribe this component to it on mount.\n useEffect(function () { return groupDragControls && groupDragControls.subscribe(dragControls); }, [dragControls]);\n // Mount the drag controls with the visualElement\n useEffect(function () { return dragControls.mount(visualElement); }, []);\n}\n\nexport { useDrag };\n","import { __rest, __assign, __read } from 'tslib';\nimport { invariant } from 'hey-listen';\n\nfunction isCSSVariable(value) {\n return typeof value === \"string\" && value.startsWith(\"var(--\");\n}\n/**\n * Parse Framer's special CSS variable format into a CSS token and a fallback.\n *\n * ```\n * `var(--foo, #fff)` => [`--foo`, '#fff']\n * ```\n *\n * @param current\n */\nvar cssVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;\nfunction parseCSSVariable(current) {\n var match = cssVariableRegex.exec(current);\n if (!match)\n return [,];\n var _a = __read(match, 3), token = _a[1], fallback = _a[2];\n return [token, fallback];\n}\nvar maxDepth = 4;\nfunction getVariableValue(current, element, depth) {\n if (depth === void 0) { depth = 1; }\n invariant(depth <= maxDepth, \"Max CSS variable fallback depth detected in property \\\"\" + current + \"\\\". This may indicate a circular fallback dependency.\");\n var _a = __read(parseCSSVariable(current), 2), token = _a[0], fallback = _a[1];\n // No CSS variable detected\n if (!token)\n return;\n // Attempt to read this CSS variable off the element\n var resolved = window.getComputedStyle(element).getPropertyValue(token);\n if (resolved) {\n return resolved.trim();\n }\n else if (isCSSVariable(fallback)) {\n // The fallback might itself be a CSS variable, in which case we attempt to resolve it too.\n return getVariableValue(fallback, element, depth + 1);\n }\n else {\n return fallback;\n }\n}\n/**\n * Resolve CSS variables from\n *\n * @internal\n */\nfunction resolveCSSVariables(visualElement, _a, transitionEnd) {\n var _b;\n var target = __rest(_a, []);\n var element = visualElement.getInstance();\n if (!(element instanceof HTMLElement))\n return { target: target, transitionEnd: transitionEnd };\n // If `transitionEnd` isn't `undefined`, clone it. We could clone `target` and `transitionEnd`\n // only if they change but I think this reads clearer and this isn't a performance-critical path.\n if (transitionEnd) {\n transitionEnd = __assign({}, transitionEnd);\n }\n // Go through existing `MotionValue`s and ensure any existing CSS variables are resolved\n visualElement.forEachValue(function (value) {\n var current = value.get();\n if (!isCSSVariable(current))\n return;\n var resolved = getVariableValue(current, element);\n if (resolved)\n value.set(resolved);\n });\n // Cycle through every target property and resolve CSS variables. Currently\n // we only read single-var properties like `var(--foo)`, not `calc(var(--foo) + 20px)`\n for (var key in target) {\n var current = target[key];\n if (!isCSSVariable(current))\n continue;\n var resolved = getVariableValue(current, element);\n if (!resolved)\n continue;\n // Clone target if it hasn't already been\n target[key] = resolved;\n // If the user hasn't already set this key on `transitionEnd`, set it to the unresolved\n // CSS variable. This will ensure that after the animation the component will reflect\n // changes in the value of the CSS variable.\n if (transitionEnd)\n (_b = transitionEnd[key]) !== null && _b !== void 0 ? _b : (transitionEnd[key] = current);\n }\n return { target: target, transitionEnd: transitionEnd };\n}\n\nexport { cssVariableRegex, parseCSSVariable, resolveCSSVariables };\n","import { __assign } from 'tslib';\nimport { complex, px } from 'style-value-types';\nimport { mix } from 'popmotion';\nimport { cssVariableRegex } from '../utils/css-variables-conversion.js';\n\nfunction pixelsToPercent(pixels, axis) {\n return (pixels / (axis.max - axis.min)) * 100;\n}\n/**\n * We always correct borderRadius as a percentage rather than pixels to reduce paints.\n * For example, if you are projecting a box that is 100px wide with a 10px borderRadius\n * into a box that is 200px wide with a 20px borderRadius, that is actually a 10%\n * borderRadius in both states. If we animate between the two in pixels that will trigger\n * a paint each time. If we animate between the two in percentage we'll avoid a paint.\n */\nfunction correctBorderRadius(latest, _layoutState, _a) {\n var target = _a.target;\n /**\n * If latest is a string, if it's a percentage we can return immediately as it's\n * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.\n */\n if (typeof latest === \"string\") {\n if (px.test(latest)) {\n latest = parseFloat(latest);\n }\n else {\n return latest;\n }\n }\n /**\n * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that\n * pixel value as a percentage of each axis\n */\n var x = pixelsToPercent(latest, target.x);\n var y = pixelsToPercent(latest, target.y);\n return x + \"% \" + y + \"%\";\n}\nvar varToken = \"_$css\";\nfunction correctBoxShadow(latest, _a) {\n var delta = _a.delta, treeScale = _a.treeScale;\n var original = latest;\n /**\n * We need to first strip and store CSS variables from the string.\n */\n var containsCSSVariables = latest.includes(\"var(\");\n var cssVariables = [];\n if (containsCSSVariables) {\n latest = latest.replace(cssVariableRegex, function (match) {\n cssVariables.push(match);\n return varToken;\n });\n }\n var shadow = complex.parse(latest);\n // TODO: Doesn't support multiple shadows\n if (shadow.length > 5)\n return original;\n var template = complex.createTransformer(latest);\n var offset = typeof shadow[0] !== \"number\" ? 1 : 0;\n // Calculate the overall context scale\n var xScale = delta.x.scale * treeScale.x;\n var yScale = delta.y.scale * treeScale.y;\n shadow[0 + offset] /= xScale;\n shadow[1 + offset] /= yScale;\n /**\n * Ideally we'd correct x and y scales individually, but because blur and\n * spread apply to both we have to take a scale average and apply that instead.\n * We could potentially improve the outcome of this by incorporating the ratio between\n * the two scales.\n */\n var averageScale = mix(xScale, yScale, 0.5);\n // Blur\n if (typeof shadow[2 + offset] === \"number\")\n shadow[2 + offset] /= averageScale;\n // Spread\n if (typeof shadow[3 + offset] === \"number\")\n shadow[3 + offset] /= averageScale;\n var output = template(shadow);\n if (containsCSSVariables) {\n var i_1 = 0;\n output = output.replace(varToken, function () {\n var cssVariable = cssVariables[i_1];\n i_1++;\n return cssVariable;\n });\n }\n return output;\n}\nvar borderCorrectionDefinition = {\n process: correctBorderRadius,\n};\nvar defaultScaleCorrectors = {\n borderRadius: __assign(__assign({}, borderCorrectionDefinition), { applyTo: [\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n ] }),\n borderTopLeftRadius: borderCorrectionDefinition,\n borderTopRightRadius: borderCorrectionDefinition,\n borderBottomLeftRadius: borderCorrectionDefinition,\n borderBottomRightRadius: borderCorrectionDefinition,\n boxShadow: {\n process: correctBoxShadow,\n },\n};\n\nexport { correctBorderRadius, correctBoxShadow, defaultScaleCorrectors, pixelsToPercent };\n","import { __extends, __rest, __assign, __read } from 'tslib';\nimport * as React from 'react';\nimport { eachAxis } from '../../../utils/each-axis.js';\nimport { startAnimation, getValueTransition } from '../../../animation/utils/transitions.js';\nimport { checkIfParentHasChanged, calcRelativeOffset, tweenAxis } from './utils.js';\nimport { VisibilityAction } from '../../../components/AnimateSharedLayout/types.js';\nimport { usePresence } from '../../../components/AnimatePresence/use-presence.js';\nimport { axisBox } from '../../../utils/geometry/index.js';\nimport { addScaleCorrection } from '../../../render/dom/projection/scale-correction.js';\nimport { defaultScaleCorrectors } from '../../../render/dom/projection/default-scale-correctors.js';\n\nvar progressTarget = 1000;\nvar Animate = /** @class */ (function (_super) {\n __extends(Animate, _super);\n function Animate() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /**\n * A mutable object that tracks the target viewport box\n * for the current animation frame.\n */\n _this.frameTarget = axisBox();\n /**\n * The current animation target, we use this to check whether to start\n * a new animation or continue the existing one.\n */\n _this.currentAnimationTarget = axisBox();\n /**\n * Track whether we're animating this axis.\n */\n _this.isAnimating = {\n x: false,\n y: false,\n };\n _this.stopAxisAnimation = {\n x: undefined,\n y: undefined,\n };\n _this.isAnimatingTree = false;\n _this.animate = function (target, origin, _a) {\n if (_a === void 0) { _a = {}; }\n var originBox = _a.originBox, targetBox = _a.targetBox, visibilityAction = _a.visibilityAction, shouldStackAnimate = _a.shouldStackAnimate, onComplete = _a.onComplete, prevParent = _a.prevParent, config = __rest(_a, [\"originBox\", \"targetBox\", \"visibilityAction\", \"shouldStackAnimate\", \"onComplete\", \"prevParent\"]);\n var _b = _this.props, visualElement = _b.visualElement, layout = _b.layout;\n /**\n * Early return if we've been instructed not to animate this render.\n */\n if (shouldStackAnimate === false) {\n _this.isAnimatingTree = false;\n return _this.safeToRemove();\n }\n /**\n * Prioritise tree animations\n */\n if (_this.isAnimatingTree && shouldStackAnimate !== true) {\n return;\n }\n else if (shouldStackAnimate) {\n _this.isAnimatingTree = true;\n }\n /**\n * Allow the measured origin (prev bounding box) and target (actual layout) to be\n * overridden by the provided config.\n */\n origin = originBox || origin;\n target = targetBox || target;\n /**\n * If this element has a projecting parent, there's an opportunity to animate\n * it relatively to that parent rather than relatively to the viewport. This\n * allows us to add orchestrated animations.\n */\n var isRelative = false;\n var projectionParent = visualElement.getProjectionParent();\n if (projectionParent) {\n var prevParentViewportBox = projectionParent.prevViewportBox;\n var parentLayout = projectionParent.getLayoutState().layout;\n /**\n * If we're being provided a previous parent VisualElement by AnimateSharedLayout\n */\n if (prevParent) {\n /**\n * If we've been provided an explicit target box it means we're animating back\n * to this previous parent. So we can make a relative box by comparing to the previous\n * parent's layout\n */\n if (targetBox) {\n parentLayout = prevParent.getLayoutState().layout;\n }\n /**\n * Likewise if we've been provided an explicit origin box it means we're\n * animating out from a different element. So we should figure out where that was\n * on screen relative to the new parent element.\n */\n if (originBox &&\n !checkIfParentHasChanged(prevParent, projectionParent) &&\n prevParent.prevViewportBox) {\n prevParentViewportBox = prevParent.prevViewportBox;\n }\n }\n if (prevParentViewportBox &&\n isProvidedCorrectDataForRelativeSharedLayout(prevParent, originBox, targetBox)) {\n isRelative = true;\n origin = calcRelativeOffset(prevParentViewportBox, origin);\n target = calcRelativeOffset(parentLayout, target);\n }\n }\n var boxHasMoved = hasMoved(origin, target);\n var animations = eachAxis(function (axis) {\n var _a, _b;\n /**\n * If layout is set to \"position\", we can resize the origin box based on the target\n * box and only animate its position.\n */\n if (layout === \"position\") {\n var targetLength = target[axis].max - target[axis].min;\n origin[axis].max = origin[axis].min + targetLength;\n }\n if (visualElement.projection.isTargetLocked) {\n return;\n }\n else if (visibilityAction !== undefined) {\n visualElement.setVisibility(visibilityAction === VisibilityAction.Show);\n }\n else if (boxHasMoved) {\n // If the box has moved, animate between it's current visual state and its\n // final state\n return _this.animateAxis(axis, target[axis], origin[axis], __assign(__assign({}, config), { isRelative: isRelative }));\n }\n else {\n (_b = (_a = _this.stopAxisAnimation)[axis]) === null || _b === void 0 ? void 0 : _b.call(_a);\n // If the box has remained in the same place, immediately set the axis target\n // to the final desired state\n return visualElement.setProjectionTargetAxis(axis, target[axis].min, target[axis].max, isRelative);\n }\n });\n // Force a render to ensure there's no flash of uncorrected bounding box.\n visualElement.syncRender();\n /**\n * If this visualElement isn't present (ie it's been removed from the tree by the user but\n * kept in by the tree by AnimatePresence) then call safeToRemove when all axis animations\n * have successfully finished.\n */\n return Promise.all(animations).then(function () {\n _this.isAnimatingTree = false;\n onComplete && onComplete();\n visualElement.notifyLayoutAnimationComplete();\n });\n };\n return _this;\n }\n Animate.prototype.componentDidMount = function () {\n var _this = this;\n var visualElement = this.props.visualElement;\n visualElement.animateMotionValue = startAnimation;\n visualElement.enableLayoutProjection();\n this.unsubLayoutReady = visualElement.onLayoutUpdate(this.animate);\n visualElement.layoutSafeToRemove = function () { return _this.safeToRemove(); };\n addScaleCorrection(defaultScaleCorrectors);\n };\n Animate.prototype.componentWillUnmount = function () {\n var _this = this;\n this.unsubLayoutReady();\n eachAxis(function (axis) { var _a, _b; return (_b = (_a = _this.stopAxisAnimation)[axis]) === null || _b === void 0 ? void 0 : _b.call(_a); });\n };\n /**\n * TODO: This manually performs animations on the visualElement's layout progress\n * values. It'd be preferable to amend the startLayoutAxisAnimation\n * API to accept more custom animations like this.\n */\n Animate.prototype.animateAxis = function (axis, target, origin, _a) {\n var _this = this;\n var _b, _c;\n var _d = _a === void 0 ? {} : _a, transition = _d.transition, isRelative = _d.isRelative;\n /**\n * If we're not animating to a new target, don't run this animation\n */\n if (this.isAnimating[axis] &&\n axisIsEqual(target, this.currentAnimationTarget[axis])) {\n return;\n }\n (_c = (_b = this.stopAxisAnimation)[axis]) === null || _c === void 0 ? void 0 : _c.call(_b);\n this.isAnimating[axis] = true;\n var visualElement = this.props.visualElement;\n var frameTarget = this.frameTarget[axis];\n var layoutProgress = visualElement.getProjectionAnimationProgress()[axis];\n /**\n * Set layout progress back to 0. We set it twice to hard-reset any velocity that might\n * be re-incoporated into a subsequent spring animation.\n */\n layoutProgress.clearListeners();\n layoutProgress.set(0);\n layoutProgress.set(0);\n /**\n * Create an animation function to run once per frame. This will tween the visual bounding box from\n * origin to target using the latest progress value.\n */\n var frame = function () {\n // Convert the latest layoutProgress, which is a value from 0-1000, into a 0-1 progress\n var p = layoutProgress.get() / progressTarget;\n // Tween the axis and update the visualElement with the latest values\n tweenAxis(frameTarget, origin, target, p);\n visualElement.setProjectionTargetAxis(axis, frameTarget.min, frameTarget.max, isRelative);\n };\n // Synchronously run a frame to ensure there's no flash of the uncorrected bounding box.\n frame();\n // Create a function to stop animation on this specific axis\n var unsubscribeProgress = layoutProgress.onChange(frame);\n this.stopAxisAnimation[axis] = function () {\n _this.isAnimating[axis] = false;\n layoutProgress.stop();\n unsubscribeProgress();\n };\n this.currentAnimationTarget[axis] = target;\n var layoutTransition = transition ||\n visualElement.getDefaultTransition() ||\n defaultLayoutTransition;\n // Start the animation on this axis\n var animation = startAnimation(axis === \"x\" ? \"layoutX\" : \"layoutY\", layoutProgress, progressTarget, layoutTransition && getValueTransition(layoutTransition, \"layout\")).then(this.stopAxisAnimation[axis]);\n return animation;\n };\n Animate.prototype.safeToRemove = function () {\n var _a, _b;\n (_b = (_a = this.props).safeToRemove) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n Animate.prototype.render = function () {\n return null;\n };\n return Animate;\n}(React.Component));\nfunction AnimateLayoutContextProvider(props) {\n var _a = __read(usePresence(), 2), safeToRemove = _a[1];\n return React.createElement(Animate, __assign({}, props, { safeToRemove: safeToRemove }));\n}\nfunction hasMoved(a, b) {\n return (!isZeroBox(a) &&\n !isZeroBox(b) &&\n (!axisIsEqual(a.x, b.x) || !axisIsEqual(a.y, b.y)));\n}\nvar zeroAxis = { min: 0, max: 0 };\nfunction isZeroBox(a) {\n return axisIsEqual(a.x, zeroAxis) && axisIsEqual(a.y, zeroAxis);\n}\nfunction axisIsEqual(a, b) {\n return a.min === b.min && a.max === b.max;\n}\nvar defaultLayoutTransition = {\n duration: 0.45,\n ease: [0.4, 0, 0.1, 1],\n};\nfunction isProvidedCorrectDataForRelativeSharedLayout(prevParent, originBox, targetBox) {\n return prevParent || (!prevParent && !(originBox || targetBox));\n}\n\nexport { AnimateLayoutContextProvider };\n","import { __extends, __assign } from 'tslib';\nimport React__default, { useContext } from 'react';\nimport { isSharedLayout, SharedLayoutContext, FramerTreeLayoutContext } from '../../../context/SharedLayoutContext.js';\nimport { snapshotViewportBox } from '../../../render/dom/projection/utils.js';\n\n/**\n * This component is responsible for scheduling the measuring of the motion component\n */\nvar Measure = /** @class */ (function (_super) {\n __extends(Measure, _super);\n function Measure() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * If this is a child of a SyncContext, register the VisualElement with it on mount.\n */\n Measure.prototype.componentDidMount = function () {\n var _a = this.props, syncLayout = _a.syncLayout, framerSyncLayout = _a.framerSyncLayout, visualElement = _a.visualElement;\n isSharedLayout(syncLayout) && syncLayout.register(visualElement);\n isSharedLayout(framerSyncLayout) &&\n framerSyncLayout.register(visualElement);\n visualElement.onUnmount(function () {\n if (isSharedLayout(syncLayout)) {\n syncLayout.remove(visualElement);\n }\n if (isSharedLayout(framerSyncLayout)) {\n framerSyncLayout.remove(visualElement);\n }\n });\n };\n /**\n * If this is a child of a SyncContext, notify it that it needs to re-render. It will then\n * handle the snapshotting.\n *\n * If it is stand-alone component, add it to the batcher.\n */\n Measure.prototype.getSnapshotBeforeUpdate = function () {\n var _a = this.props, syncLayout = _a.syncLayout, visualElement = _a.visualElement;\n if (isSharedLayout(syncLayout)) {\n syncLayout.syncUpdate();\n }\n else {\n snapshotViewportBox(visualElement);\n syncLayout.add(visualElement);\n }\n return null;\n };\n Measure.prototype.componentDidUpdate = function () {\n var syncLayout = this.props.syncLayout;\n if (!isSharedLayout(syncLayout))\n syncLayout.flush();\n };\n Measure.prototype.render = function () {\n return null;\n };\n return Measure;\n}(React__default.Component));\nfunction MeasureContextProvider(props) {\n var syncLayout = useContext(SharedLayoutContext);\n var framerSyncLayout = useContext(FramerTreeLayoutContext);\n return (React__default.createElement(Measure, __assign({}, props, { syncLayout: syncLayout, framerSyncLayout: framerSyncLayout })));\n}\n\nexport { MeasureContextProvider };\n","import { AnimateLayoutContextProvider } from './Animate.js';\nimport { MeasureContextProvider } from './Measure.js';\n\nvar layoutAnimations = {\n measureLayout: MeasureContextProvider,\n layoutAnimation: AnimateLayoutContextProvider,\n};\n\nexport { layoutAnimations };\n","import { axisBox, delta } from '../../utils/geometry/index.js';\n\nvar createProjectionState = function () { return ({\n isEnabled: false,\n isHydrated: false,\n isTargetLocked: false,\n target: axisBox(),\n targetFinal: axisBox(),\n}); };\nfunction createLayoutState() {\n return {\n isHydrated: false,\n layout: axisBox(),\n layoutCorrected: axisBox(),\n treeScale: { x: 1, y: 1 },\n delta: delta(),\n deltaFinal: delta(),\n deltaTransform: \"\",\n };\n}\nvar zeroLayout = createLayoutState();\n\nexport { createLayoutState, createProjectionState, zeroLayout };\n","import { zeroLayout } from '../../utils/state.js';\n\n/**\n * Build a transform style that takes a calculated delta between the element's current\n * space on screen and projects it into the desired space.\n */\nfunction buildLayoutProjectionTransform(_a, treeScale, latestTransform) {\n var x = _a.x, y = _a.y;\n /**\n * The translations we use to calculate are always relative to the viewport coordinate space.\n * But when we apply scales, we also scale the coordinate space of an element and its children.\n * For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need\n * to move an element 100 pixels, we actually need to move it 200 in within that scaled space.\n */\n var xTranslate = x.translate / treeScale.x;\n var yTranslate = y.translate / treeScale.y;\n var transform = \"translate3d(\" + xTranslate + \"px, \" + yTranslate + \"px, 0) \";\n if (latestTransform) {\n var rotate = latestTransform.rotate, rotateX = latestTransform.rotateX, rotateY = latestTransform.rotateY;\n if (rotate)\n transform += \"rotate(\" + rotate + \") \";\n if (rotateX)\n transform += \"rotateX(\" + rotateX + \") \";\n if (rotateY)\n transform += \"rotateY(\" + rotateY + \") \";\n }\n transform += \"scale(\" + x.scale + \", \" + y.scale + \")\";\n return !latestTransform && transform === identityProjection ? \"\" : transform;\n}\n/**\n * Take the calculated delta origin and apply it as a transform string.\n */\nfunction buildLayoutProjectionTransformOrigin(_a) {\n var deltaFinal = _a.deltaFinal;\n return deltaFinal.x.origin * 100 + \"% \" + deltaFinal.y.origin * 100 + \"% 0\";\n}\nvar identityProjection = buildLayoutProjectionTransform(zeroLayout.delta, zeroLayout.treeScale, { x: 1, y: 1 });\n\nexport { buildLayoutProjectionTransform, buildLayoutProjectionTransformOrigin, identityProjection };\n","import { __spreadArray, __read } from 'tslib';\nimport { SubscriptionManager } from '../../utils/subscription-manager.js';\n\nvar names = [\n \"LayoutMeasure\",\n \"BeforeLayoutMeasure\",\n \"LayoutUpdate\",\n \"ViewportBoxUpdate\",\n \"Update\",\n \"Render\",\n \"AnimationComplete\",\n \"LayoutAnimationComplete\",\n \"AnimationStart\",\n \"SetAxisTarget\",\n \"Unmount\",\n];\nfunction createLifecycles() {\n var managers = names.map(function () { return new SubscriptionManager(); });\n var propSubscriptions = {};\n var lifecycles = {\n clearAllListeners: function () { return managers.forEach(function (manager) { return manager.clear(); }); },\n updatePropListeners: function (props) {\n return names.forEach(function (name) {\n var _a;\n (_a = propSubscriptions[name]) === null || _a === void 0 ? void 0 : _a.call(propSubscriptions);\n var on = \"on\" + name;\n var propListener = props[on];\n if (propListener) {\n propSubscriptions[name] = lifecycles[on](propListener);\n }\n });\n },\n };\n managers.forEach(function (manager, i) {\n lifecycles[\"on\" + names[i]] = function (handler) { return manager.add(handler); };\n lifecycles[\"notify\" + names[i]] = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return manager.notify.apply(manager, __spreadArray([], __read(args)));\n };\n });\n return lifecycles;\n}\n\nexport { createLifecycles };\n","import { resetBox, applyTreeDeltas } from '../../utils/geometry/delta-apply.js';\nimport { updateBoxDelta } from '../../utils/geometry/delta-calc.js';\n\nfunction updateLayoutDeltas(_a, _b, treePath, transformOrigin) {\n var delta = _a.delta, layout = _a.layout, layoutCorrected = _a.layoutCorrected, treeScale = _a.treeScale;\n var target = _b.target;\n /**\n * Reset the corrected box with the latest values from box, as we're then going\n * to perform mutative operations on it.\n */\n resetBox(layoutCorrected, layout);\n /**\n * Apply all the parent deltas to this box to produce the corrected box. This\n * is the layout box, as it will appear on screen as a result of the transforms of its parents.\n */\n applyTreeDeltas(layoutCorrected, treeScale, treePath);\n /**\n * Update the delta between the corrected box and the target box before user-set transforms were applied.\n * This will allow us to calculate the corrected borderRadius and boxShadow to compensate\n * for our layout reprojection, but still allow them to be scaled correctly by the user.\n * It might be that to simplify this we may want to accept that user-set scale is also corrected\n * and we wouldn't have to keep and calc both deltas, OR we could support a user setting\n * to allow people to choose whether these styles are corrected based on just the\n * layout reprojection or the final bounding box.\n */\n updateBoxDelta(delta, layoutCorrected, target, transformOrigin);\n}\n\nexport { updateLayoutDeltas };\n","import { addUniqueItem, removeItem } from '../../utils/array.js';\nimport { compareByDepth } from './compare-by-depth.js';\n\nvar FlatTree = /** @class */ (function () {\n function FlatTree() {\n this.children = [];\n this.isDirty = false;\n }\n FlatTree.prototype.add = function (child) {\n addUniqueItem(this.children, child);\n this.isDirty = true;\n };\n FlatTree.prototype.remove = function (child) {\n removeItem(this.children, child);\n this.isDirty = true;\n };\n FlatTree.prototype.forEach = function (callback) {\n this.isDirty && this.children.sort(compareByDepth);\n this.isDirty = false;\n this.children.forEach(callback);\n };\n return FlatTree;\n}());\n\nexport { FlatTree };\n","import { __assign, __spreadArray, __read } from 'tslib';\nimport sync, { cancelSync } from 'framesync';\nimport { pipe } from 'popmotion';\nimport { Presence } from '../components/AnimateSharedLayout/types.js';\nimport { eachAxis } from '../utils/each-axis.js';\nimport { axisBox } from '../utils/geometry/index.js';\nimport { removeBoxTransforms, applyBoxTransforms } from '../utils/geometry/delta-apply.js';\nimport { calcRelativeBox, updateBoxDelta } from '../utils/geometry/delta-calc.js';\nimport { motionValue } from '../value/index.js';\nimport { isMotionValue } from '../value/utils/is-motion-value.js';\nimport { buildLayoutProjectionTransform } from './html/utils/build-projection-transform.js';\nimport { variantPriorityOrder } from './utils/animation-state.js';\nimport { createLifecycles } from './utils/lifecycles.js';\nimport { updateMotionValuesFromProps } from './utils/motion-values.js';\nimport { updateLayoutDeltas } from './utils/projection.js';\nimport { createLayoutState, createProjectionState } from './utils/state.js';\nimport { FlatTree } from './utils/flat-tree.js';\nimport { checkIfControllingVariants, checkIfVariantNode, isVariantLabel } from './utils/variants.js';\nimport { setCurrentViewportBox } from './dom/projection/relative-set.js';\nimport { isDraggable } from './utils/is-draggable.js';\n\nvar visualElement = function (_a) {\n var _b = _a.treeType, treeType = _b === void 0 ? \"\" : _b, build = _a.build, getBaseTarget = _a.getBaseTarget, makeTargetAnimatable = _a.makeTargetAnimatable, measureViewportBox = _a.measureViewportBox, renderInstance = _a.render, readValueFromInstance = _a.readValueFromInstance, resetTransform = _a.resetTransform, restoreTransform = _a.restoreTransform, removeValueFromRenderState = _a.removeValueFromRenderState, sortNodePosition = _a.sortNodePosition, scrapeMotionValuesFromProps = _a.scrapeMotionValuesFromProps;\n return function (_a, options) {\n var parent = _a.parent, props = _a.props, presenceId = _a.presenceId, blockInitialAnimation = _a.blockInitialAnimation, visualState = _a.visualState;\n if (options === void 0) { options = {}; }\n var latestValues = visualState.latestValues, renderState = visualState.renderState;\n /**\n * The instance of the render-specific node that will be hydrated by the\n * exposed React ref. So for example, this visual element can host a\n * HTMLElement, plain object, or Three.js object. The functions provided\n * in VisualElementConfig allow us to interface with this instance.\n */\n var instance;\n /**\n * Manages the subscriptions for a visual element's lifecycle, for instance\n * onRender and onViewportBoxUpdate.\n */\n var lifecycles = createLifecycles();\n /**\n *\n */\n var projection = createProjectionState();\n /**\n * A reference to the nearest projecting parent. This is either\n * undefined if we haven't looked for the nearest projecting parent,\n * false if there is no parent performing layout projection, or a reference\n * to the projecting parent.\n */\n var projectionParent;\n /**\n * This is a reference to the visual state of the \"lead\" visual element.\n * Usually, this will be this visual element. But if it shares a layoutId\n * with other visual elements, only one of them will be designated lead by\n * AnimateSharedLayout. All the other visual elements will take on the visual\n * appearance of the lead while they crossfade to it.\n */\n var leadProjection = projection;\n var leadLatestValues = latestValues;\n var unsubscribeFromLeadVisualElement;\n /**\n * The latest layout measurements and calculated projections. This\n * is seperate from the target projection data in visualState as\n * many visual elements might point to the same piece of visualState as\n * a target, whereas they might each have different layouts and thus\n * projection calculations needed to project into the same viewport box.\n */\n var layoutState = createLayoutState();\n /**\n *\n */\n var crossfader;\n /**\n * Keep track of whether the viewport box has been updated since the\n * last time the layout projection was re-calculated.\n */\n var hasViewportBoxUpdated = false;\n /**\n * A map of all motion values attached to this visual element. Motion\n * values are source of truth for any given animated value. A motion\n * value might be provided externally by the component via props.\n */\n var values = new Map();\n /**\n * A map of every subscription that binds the provided or generated\n * motion values onChange listeners to this visual element.\n */\n var valueSubscriptions = new Map();\n /**\n * A reference to the previously-provided motion values as returned\n * from scrapeMotionValuesFromProps. We use the keys in here to determine\n * if any motion values need to be removed after props are updated.\n */\n var prevMotionValues = {};\n /**\n * x/y motion values that track the progress of initiated layout\n * animations.\n *\n * TODO: Target for removal\n */\n var projectionTargetProgress;\n /**\n * When values are removed from all animation props we need to search\n * for a fallback value to animate to. These values are tracked in baseTarget.\n */\n var baseTarget = __assign({}, latestValues);\n // Internal methods ========================\n /**\n * On mount, this will be hydrated with a callback to disconnect\n * this visual element from its parent on unmount.\n */\n var removeFromVariantTree;\n /**\n *\n */\n function render() {\n if (!instance)\n return;\n if (element.isProjectionReady()) {\n /**\n * Apply the latest user-set transforms to the targetBox to produce the targetBoxFinal.\n * This is the final box that we will then project into by calculating a transform delta and\n * applying it to the corrected box.\n */\n applyBoxTransforms(leadProjection.targetFinal, leadProjection.target, leadLatestValues);\n /**\n * Update the delta between the corrected box and the final target box, after\n * user-set transforms are applied to it. This will be used by the renderer to\n * create a transform style that will reproject the element from its actual layout\n * into the desired bounding box.\n */\n updateBoxDelta(layoutState.deltaFinal, layoutState.layoutCorrected, leadProjection.targetFinal, latestValues);\n }\n triggerBuild();\n renderInstance(instance, renderState);\n }\n function triggerBuild() {\n var valuesToRender = latestValues;\n if (crossfader && crossfader.isActive()) {\n var crossfadedValues = crossfader.getCrossfadeState(element);\n if (crossfadedValues)\n valuesToRender = crossfadedValues;\n }\n build(element, renderState, valuesToRender, leadProjection, layoutState, options, props);\n }\n function update() {\n lifecycles.notifyUpdate(latestValues);\n }\n function updateLayoutProjection() {\n if (!element.isProjectionReady())\n return;\n var delta = layoutState.delta, treeScale = layoutState.treeScale;\n var prevTreeScaleX = treeScale.x;\n var prevTreeScaleY = treeScale.y;\n var prevDeltaTransform = layoutState.deltaTransform;\n updateLayoutDeltas(layoutState, leadProjection, element.path, latestValues);\n hasViewportBoxUpdated &&\n element.notifyViewportBoxUpdate(leadProjection.target, delta);\n hasViewportBoxUpdated = false;\n var deltaTransform = buildLayoutProjectionTransform(delta, treeScale);\n if (deltaTransform !== prevDeltaTransform ||\n // Also compare calculated treeScale, for values that rely on this only for scale correction\n prevTreeScaleX !== treeScale.x ||\n prevTreeScaleY !== treeScale.y) {\n element.scheduleRender();\n }\n layoutState.deltaTransform = deltaTransform;\n }\n function updateTreeLayoutProjection() {\n element.layoutTree.forEach(fireUpdateLayoutProjection);\n }\n /**\n *\n */\n function bindToMotionValue(key, value) {\n var removeOnChange = value.onChange(function (latestValue) {\n latestValues[key] = latestValue;\n props.onUpdate && sync.update(update, false, true);\n });\n var removeOnRenderRequest = value.onRenderRequest(element.scheduleRender);\n valueSubscriptions.set(key, function () {\n removeOnChange();\n removeOnRenderRequest();\n });\n }\n /**\n * Any motion values that are provided to the element when created\n * aren't yet bound to the element, as this would technically be impure.\n * However, we iterate through the motion values and set them to the\n * initial values for this component.\n *\n * TODO: This is impure and we should look at changing this to run on mount.\n * Doing so will break some tests but this isn't neccessarily a breaking change,\n * more a reflection of the test.\n */\n var initialMotionValues = scrapeMotionValuesFromProps(props);\n for (var key in initialMotionValues) {\n var value = initialMotionValues[key];\n if (latestValues[key] !== undefined && isMotionValue(value)) {\n value.set(latestValues[key], false);\n }\n }\n /**\n * Determine what role this visual element should take in the variant tree.\n */\n var isControllingVariants = checkIfControllingVariants(props);\n var isVariantNode = checkIfVariantNode(props);\n var element = __assign(__assign({ treeType: treeType, \n /**\n * This is a mirror of the internal instance prop, which keeps\n * VisualElement type-compatible with React's RefObject.\n */\n current: null, \n /**\n * The depth of this visual element within the visual element tree.\n */\n depth: parent ? parent.depth + 1 : 0, parent: parent, children: new Set(), \n /**\n * An ancestor path back to the root visual element. This is used\n * by layout projection to quickly recurse back up the tree.\n */\n path: parent ? __spreadArray(__spreadArray([], __read(parent.path)), [parent]) : [], layoutTree: parent ? parent.layoutTree : new FlatTree(), \n /**\n *\n */\n presenceId: presenceId,\n projection: projection, \n /**\n * If this component is part of the variant tree, it should track\n * any children that are also part of the tree. This is essentially\n * a shadow tree to simplify logic around how to stagger over children.\n */\n variantChildren: isVariantNode ? new Set() : undefined, \n /**\n * Whether this instance is visible. This can be changed imperatively\n * by AnimateSharedLayout, is analogous to CSS's visibility in that\n * hidden elements should take up layout, and needs enacting by the configured\n * render function.\n */\n isVisible: undefined, \n /**\n * Normally, if a component is controlled by a parent's variants, it can\n * rely on that ancestor to trigger animations further down the tree.\n * However, if a component is created after its parent is mounted, the parent\n * won't trigger that mount animation so the child needs to.\n *\n * TODO: This might be better replaced with a method isParentMounted\n */\n manuallyAnimateOnMount: Boolean(parent === null || parent === void 0 ? void 0 : parent.isMounted()), \n /**\n * This can be set by AnimatePresence to force components that mount\n * at the same time as it to mount as if they have initial={false} set.\n */\n blockInitialAnimation: blockInitialAnimation, \n /**\n * Determine whether this component has mounted yet. This is mostly used\n * by variant children to determine whether they need to trigger their\n * own animations on mount.\n */\n isMounted: function () { return Boolean(instance); }, mount: function (newInstance) {\n instance = element.current = newInstance;\n element.pointTo(element);\n if (isVariantNode && parent && !isControllingVariants) {\n removeFromVariantTree = parent === null || parent === void 0 ? void 0 : parent.addVariantChild(element);\n }\n parent === null || parent === void 0 ? void 0 : parent.children.add(element);\n },\n /**\n *\n */\n unmount: function () {\n cancelSync.update(update);\n cancelSync.render(render);\n cancelSync.preRender(element.updateLayoutProjection);\n valueSubscriptions.forEach(function (remove) { return remove(); });\n element.stopLayoutAnimation();\n element.layoutTree.remove(element);\n removeFromVariantTree === null || removeFromVariantTree === void 0 ? void 0 : removeFromVariantTree();\n parent === null || parent === void 0 ? void 0 : parent.children.delete(element);\n unsubscribeFromLeadVisualElement === null || unsubscribeFromLeadVisualElement === void 0 ? void 0 : unsubscribeFromLeadVisualElement();\n lifecycles.clearAllListeners();\n },\n /**\n * Add a child visual element to our set of children.\n */\n addVariantChild: function (child) {\n var _a;\n var closestVariantNode = element.getClosestVariantNode();\n if (closestVariantNode) {\n (_a = closestVariantNode.variantChildren) === null || _a === void 0 ? void 0 : _a.add(child);\n return function () { return closestVariantNode.variantChildren.delete(child); };\n }\n },\n sortNodePosition: function (other) {\n /**\n * If these nodes aren't even of the same type we can't compare their depth.\n */\n if (!sortNodePosition || treeType !== other.treeType)\n return 0;\n return sortNodePosition(element.getInstance(), other.getInstance());\n }, \n /**\n * Returns the closest variant node in the tree starting from\n * this visual element.\n */\n getClosestVariantNode: function () {\n return isVariantNode ? element : parent === null || parent === void 0 ? void 0 : parent.getClosestVariantNode();\n }, \n /**\n * A method that schedules an update to layout projections throughout\n * the tree. We inherit from the parent so there's only ever one\n * job scheduled on the next frame - that of the root visual element.\n */\n scheduleUpdateLayoutProjection: parent\n ? parent.scheduleUpdateLayoutProjection\n : function () {\n return sync.preRender(element.updateTreeLayoutProjection, false, true);\n }, \n /**\n * Expose the latest layoutId prop.\n */\n getLayoutId: function () { return props.layoutId; }, \n /**\n * Returns the current instance.\n */\n getInstance: function () { return instance; }, \n /**\n * Get/set the latest static values.\n */\n getStaticValue: function (key) { return latestValues[key]; }, setStaticValue: function (key, value) { return (latestValues[key] = value); }, \n /**\n * Returns the latest motion value state. Currently only used to take\n * a snapshot of the visual element - perhaps this can return the whole\n * visual state\n */\n getLatestValues: function () { return latestValues; }, \n /**\n * Set the visiblity of the visual element. If it's changed, schedule\n * a render to reflect these changes.\n */\n setVisibility: function (visibility) {\n if (element.isVisible === visibility)\n return;\n element.isVisible = visibility;\n element.scheduleRender();\n },\n /**\n * Make a target animatable by Popmotion. For instance, if we're\n * trying to animate width from 100px to 100vw we need to measure 100vw\n * in pixels to determine what we really need to animate to. This is also\n * pluggable to support Framer's custom value types like Color,\n * and CSS variables.\n */\n makeTargetAnimatable: function (target, canMutate) {\n if (canMutate === void 0) { canMutate = true; }\n return makeTargetAnimatable(element, target, props, canMutate);\n },\n // Motion values ========================\n /**\n * Add a motion value and bind it to this visual element.\n */\n addValue: function (key, value) {\n // Remove existing value if it exists\n if (element.hasValue(key))\n element.removeValue(key);\n values.set(key, value);\n latestValues[key] = value.get();\n bindToMotionValue(key, value);\n },\n /**\n * Remove a motion value and unbind any active subscriptions.\n */\n removeValue: function (key) {\n var _a;\n values.delete(key);\n (_a = valueSubscriptions.get(key)) === null || _a === void 0 ? void 0 : _a();\n valueSubscriptions.delete(key);\n delete latestValues[key];\n removeValueFromRenderState(key, renderState);\n }, \n /**\n * Check whether we have a motion value for this key\n */\n hasValue: function (key) { return values.has(key); }, \n /**\n * Get a motion value for this key. If called with a default\n * value, we'll create one if none exists.\n */\n getValue: function (key, defaultValue) {\n var value = values.get(key);\n if (value === undefined && defaultValue !== undefined) {\n value = motionValue(defaultValue);\n element.addValue(key, value);\n }\n return value;\n }, \n /**\n * Iterate over our motion values.\n */\n forEachValue: function (callback) { return values.forEach(callback); }, \n /**\n * If we're trying to animate to a previously unencountered value,\n * we need to check for it in our state and as a last resort read it\n * directly from the instance (which might have performance implications).\n */\n readValue: function (key) { var _a; return (_a = latestValues[key]) !== null && _a !== void 0 ? _a : readValueFromInstance(instance, key, options); }, \n /**\n * Set the base target to later animate back to. This is currently\n * only hydrated on creation and when we first read a value.\n */\n setBaseTarget: function (key, value) {\n baseTarget[key] = value;\n },\n /**\n * Find the base target for a value thats been removed from all animation\n * props.\n */\n getBaseTarget: function (key) {\n if (getBaseTarget) {\n var target = getBaseTarget(props, key);\n if (target !== undefined && !isMotionValue(target))\n return target;\n }\n return baseTarget[key];\n } }, lifecycles), { \n /**\n * Build the renderer state based on the latest visual state.\n */\n build: function () {\n triggerBuild();\n return renderState;\n },\n /**\n * Schedule a render on the next animation frame.\n */\n scheduleRender: function () {\n sync.render(render, false, true);\n }, \n /**\n * Synchronously fire render. It's prefered that we batch renders but\n * in many circumstances, like layout measurement, we need to run this\n * synchronously. However in those instances other measures should be taken\n * to batch reads/writes.\n */\n syncRender: render, \n /**\n * Update the provided props. Ensure any newly-added motion values are\n * added to our map, old ones removed, and listeners updated.\n */\n setProps: function (newProps) {\n props = newProps;\n lifecycles.updatePropListeners(newProps);\n prevMotionValues = updateMotionValuesFromProps(element, scrapeMotionValuesFromProps(props), prevMotionValues);\n }, getProps: function () { return props; }, \n // Variants ==============================\n /**\n * Returns the variant definition with a given name.\n */\n getVariant: function (name) { var _a; return (_a = props.variants) === null || _a === void 0 ? void 0 : _a[name]; }, \n /**\n * Returns the defined default transition on this component.\n */\n getDefaultTransition: function () { return props.transition; }, \n /**\n * Used by child variant nodes to get the closest ancestor variant props.\n */\n getVariantContext: function (startAtParent) {\n if (startAtParent === void 0) { startAtParent = false; }\n if (startAtParent)\n return parent === null || parent === void 0 ? void 0 : parent.getVariantContext();\n if (!isControllingVariants) {\n var context_1 = (parent === null || parent === void 0 ? void 0 : parent.getVariantContext()) || {};\n if (props.initial !== undefined) {\n context_1.initial = props.initial;\n }\n return context_1;\n }\n var context = {};\n for (var i = 0; i < numVariantProps; i++) {\n var name_1 = variantProps[i];\n var prop = props[name_1];\n if (isVariantLabel(prop) || prop === false) {\n context[name_1] = prop;\n }\n }\n return context;\n },\n // Layout projection ==============================\n /**\n * Enable layout projection for this visual element. Won't actually\n * occur until we also have hydrated layout measurements.\n */\n enableLayoutProjection: function () {\n projection.isEnabled = true;\n element.layoutTree.add(element);\n },\n /**\n * Lock the projection target, for instance when dragging, so\n * nothing else can try and animate it.\n */\n lockProjectionTarget: function () {\n projection.isTargetLocked = true;\n },\n unlockProjectionTarget: function () {\n element.stopLayoutAnimation();\n projection.isTargetLocked = false;\n }, getLayoutState: function () { return layoutState; }, setCrossfader: function (newCrossfader) {\n crossfader = newCrossfader;\n }, isProjectionReady: function () {\n return projection.isEnabled &&\n projection.isHydrated &&\n layoutState.isHydrated;\n }, \n /**\n * Start a layout animation on a given axis.\n */\n startLayoutAnimation: function (axis, transition, isRelative) {\n if (isRelative === void 0) { isRelative = false; }\n var progress = element.getProjectionAnimationProgress()[axis];\n var _a = isRelative\n ? projection.relativeTarget[axis]\n : projection.target[axis], min = _a.min, max = _a.max;\n var length = max - min;\n progress.clearListeners();\n progress.set(min);\n progress.set(min); // Set twice to hard-reset velocity\n progress.onChange(function (v) {\n element.setProjectionTargetAxis(axis, v, v + length, isRelative);\n });\n return element.animateMotionValue(axis, progress, 0, transition);\n },\n /**\n * Stop layout animations.\n */\n stopLayoutAnimation: function () {\n eachAxis(function (axis) {\n return element.getProjectionAnimationProgress()[axis].stop();\n });\n },\n /**\n * Measure the current viewport box with or without transforms.\n * Only measures axis-aligned boxes, rotate and skew must be manually\n * removed with a re-render to work.\n */\n measureViewportBox: function (withTransform) {\n if (withTransform === void 0) { withTransform = true; }\n var viewportBox = measureViewportBox(instance, options);\n if (!withTransform)\n removeBoxTransforms(viewportBox, latestValues);\n return viewportBox;\n },\n /**\n * Get the motion values tracking the layout animations on each\n * axis. Lazy init if not already created.\n */\n getProjectionAnimationProgress: function () {\n projectionTargetProgress || (projectionTargetProgress = {\n x: motionValue(0),\n y: motionValue(0),\n });\n return projectionTargetProgress;\n },\n /**\n * Update the projection of a single axis. Schedule an update to\n * the tree layout projection.\n */\n setProjectionTargetAxis: function (axis, min, max, isRelative) {\n if (isRelative === void 0) { isRelative = false; }\n var target;\n if (isRelative) {\n if (!projection.relativeTarget) {\n projection.relativeTarget = axisBox();\n }\n target = projection.relativeTarget[axis];\n }\n else {\n projection.relativeTarget = undefined;\n target = projection.target[axis];\n }\n projection.isHydrated = true;\n target.min = min;\n target.max = max;\n // Flag that we want to fire the onViewportBoxUpdate event handler\n hasViewportBoxUpdated = true;\n lifecycles.notifySetAxisTarget();\n },\n /**\n * Rebase the projection target on top of the provided viewport box\n * or the measured layout. This ensures that non-animating elements\n * don't fall out of sync differences in measurements vs projections\n * after a page scroll or other relayout.\n */\n rebaseProjectionTarget: function (force, box) {\n if (box === void 0) { box = layoutState.layout; }\n var _a = element.getProjectionAnimationProgress(), x = _a.x, y = _a.y;\n var shouldRebase = !projection.relativeTarget &&\n !projection.isTargetLocked &&\n !x.isAnimating() &&\n !y.isAnimating();\n if (force || shouldRebase) {\n eachAxis(function (axis) {\n var _a = box[axis], min = _a.min, max = _a.max;\n element.setProjectionTargetAxis(axis, min, max);\n });\n }\n },\n /**\n * Notify the visual element that its layout is up-to-date.\n * Currently Animate.tsx uses this to check whether a layout animation\n * needs to be performed.\n */\n notifyLayoutReady: function (config) {\n setCurrentViewportBox(element);\n element.notifyLayoutUpdate(layoutState.layout, element.prevViewportBox || layoutState.layout, config);\n }, \n /**\n * Temporarily reset the transform of the instance.\n */\n resetTransform: function () { return resetTransform(element, instance, props); }, restoreTransform: function () { return restoreTransform(instance, renderState); }, updateLayoutProjection: updateLayoutProjection,\n updateTreeLayoutProjection: function () {\n element.layoutTree.forEach(fireResolveRelativeTargetBox);\n /**\n * Schedule the projection updates at the end of the current preRender\n * step. This will ensure that all layout trees will first resolve\n * relative projection boxes into viewport boxes, and *then*\n * update projections.\n */\n sync.preRender(updateTreeLayoutProjection, false, true);\n // sync.postRender(() => element.scheduleUpdateLayoutProjection())\n },\n getProjectionParent: function () {\n if (projectionParent === undefined) {\n var foundParent = false;\n // Search backwards through the tree path\n for (var i = element.path.length - 1; i >= 0; i--) {\n var ancestor = element.path[i];\n if (ancestor.projection.isEnabled) {\n foundParent = ancestor;\n break;\n }\n }\n projectionParent = foundParent;\n }\n return projectionParent;\n },\n resolveRelativeTargetBox: function () {\n var relativeParent = element.getProjectionParent();\n if (!projection.relativeTarget || !relativeParent)\n return;\n calcRelativeBox(projection, relativeParent.projection);\n if (isDraggable(relativeParent)) {\n var target = projection.target;\n applyBoxTransforms(target, target, relativeParent.getLatestValues());\n }\n },\n shouldResetTransform: function () {\n return Boolean(props._layoutResetTransform);\n },\n /**\n *\n */\n pointTo: function (newLead) {\n leadProjection = newLead.projection;\n leadLatestValues = newLead.getLatestValues();\n /**\n * Subscribe to lead component's layout animations\n */\n unsubscribeFromLeadVisualElement === null || unsubscribeFromLeadVisualElement === void 0 ? void 0 : unsubscribeFromLeadVisualElement();\n unsubscribeFromLeadVisualElement = pipe(newLead.onSetAxisTarget(element.scheduleUpdateLayoutProjection), newLead.onLayoutAnimationComplete(function () {\n var _a;\n if (element.isPresent) {\n element.presence = Presence.Present;\n }\n else {\n (_a = element.layoutSafeToRemove) === null || _a === void 0 ? void 0 : _a.call(element);\n }\n }));\n }, \n // TODO: Clean this up\n isPresent: true, presence: Presence.Entering });\n return element;\n };\n};\nfunction fireResolveRelativeTargetBox(child) {\n child.resolveRelativeTargetBox();\n}\nfunction fireUpdateLayoutProjection(child) {\n child.updateLayoutProjection();\n}\nvar variantProps = __spreadArray([\"initial\"], __read(variantPriorityOrder));\nvar numVariantProps = variantProps.length;\n\nexport { visualElement };\n","import { motionValue } from '../../value/index.js';\nimport { isMotionValue } from '../../value/utils/is-motion-value.js';\n\nfunction updateMotionValuesFromProps(element, next, prev) {\n var _a;\n for (var key in next) {\n var nextValue = next[key];\n var prevValue = prev[key];\n if (isMotionValue(nextValue)) {\n /**\n * If this is a motion value found in props or style, we want to add it\n * to our visual element's motion value map.\n */\n element.addValue(key, nextValue);\n }\n else if (isMotionValue(prevValue)) {\n /**\n * If we're swapping to a new motion value, create a new motion value\n * from that\n */\n element.addValue(key, motionValue(nextValue));\n }\n else if (prevValue !== nextValue) {\n /**\n * If this is a flat value that has changed, update the motion value\n * or create one if it doesn't exist. We only want to do this if we're\n * not handling the value with our animation state.\n */\n if (element.hasValue(key)) {\n var existingValue = element.getValue(key);\n // TODO: Only update values that aren't being animated or even looked at\n !existingValue.hasAnimated && existingValue.set(nextValue);\n }\n else {\n element.addValue(key, motionValue((_a = element.getStaticValue(key)) !== null && _a !== void 0 ? _a : nextValue));\n }\n }\n }\n // Handle removed values\n for (var key in prev) {\n if (next[key] === undefined)\n element.removeValue(key);\n }\n return next;\n}\n\nexport { updateMotionValuesFromProps };\n","import { calcRelativeOffset } from '../../../motion/features/layout/utils.js';\nimport { eachAxis } from '../../../utils/each-axis.js';\n\nfunction setCurrentViewportBox(visualElement) {\n var projectionParent = visualElement.getProjectionParent();\n if (!projectionParent) {\n visualElement.rebaseProjectionTarget();\n return;\n }\n var relativeOffset = calcRelativeOffset(projectionParent.getLayoutState().layout, visualElement.getLayoutState().layout);\n eachAxis(function (axis) {\n visualElement.setProjectionTargetAxis(axis, relativeOffset[axis].min, relativeOffset[axis].max, true);\n });\n}\n\nexport { setCurrentViewportBox };\n","import { __assign, __read } from 'tslib';\nimport { number, px } from 'style-value-types';\nimport { isKeyframesTarget } from '../../../animation/utils/is-keyframes-target.js';\nimport { invariant } from 'hey-listen';\nimport { transformProps } from '../../html/utils/transform.js';\nimport { findDimensionValueType } from '../value-types/dimensions.js';\n\nvar positionalKeys = new Set([\n \"width\",\n \"height\",\n \"top\",\n \"left\",\n \"right\",\n \"bottom\",\n \"x\",\n \"y\",\n]);\nvar isPositionalKey = function (key) { return positionalKeys.has(key); };\nvar hasPositionalKey = function (target) {\n return Object.keys(target).some(isPositionalKey);\n};\nvar setAndResetVelocity = function (value, to) {\n // Looks odd but setting it twice doesn't render, it'll just\n // set both prev and current to the latest value\n value.set(to, false);\n value.set(to);\n};\nvar isNumOrPxType = function (v) {\n return v === number || v === px;\n};\nvar BoundingBoxDimension;\n(function (BoundingBoxDimension) {\n BoundingBoxDimension[\"width\"] = \"width\";\n BoundingBoxDimension[\"height\"] = \"height\";\n BoundingBoxDimension[\"left\"] = \"left\";\n BoundingBoxDimension[\"right\"] = \"right\";\n BoundingBoxDimension[\"top\"] = \"top\";\n BoundingBoxDimension[\"bottom\"] = \"bottom\";\n})(BoundingBoxDimension || (BoundingBoxDimension = {}));\nvar getPosFromMatrix = function (matrix, pos) {\n return parseFloat(matrix.split(\", \")[pos]);\n};\nvar getTranslateFromMatrix = function (pos2, pos3) { return function (_bbox, _a) {\n var transform = _a.transform;\n if (transform === \"none\" || !transform)\n return 0;\n var matrix3d = transform.match(/^matrix3d\\((.+)\\)$/);\n if (matrix3d) {\n return getPosFromMatrix(matrix3d[1], pos3);\n }\n else {\n var matrix = transform.match(/^matrix\\((.+)\\)$/);\n if (matrix) {\n return getPosFromMatrix(matrix[1], pos2);\n }\n else {\n return 0;\n }\n }\n}; };\nvar transformKeys = new Set([\"x\", \"y\", \"z\"]);\nvar nonTranslationalTransformKeys = transformProps.filter(function (key) { return !transformKeys.has(key); });\nfunction removeNonTranslationalTransform(visualElement) {\n var removedTransforms = [];\n nonTranslationalTransformKeys.forEach(function (key) {\n var value = visualElement.getValue(key);\n if (value !== undefined) {\n removedTransforms.push([key, value.get()]);\n value.set(key.startsWith(\"scale\") ? 1 : 0);\n }\n });\n // Apply changes to element before measurement\n if (removedTransforms.length)\n visualElement.syncRender();\n return removedTransforms;\n}\nvar positionalValues = {\n // Dimensions\n width: function (_a) {\n var x = _a.x;\n return x.max - x.min;\n },\n height: function (_a) {\n var y = _a.y;\n return y.max - y.min;\n },\n top: function (_bbox, _a) {\n var top = _a.top;\n return parseFloat(top);\n },\n left: function (_bbox, _a) {\n var left = _a.left;\n return parseFloat(left);\n },\n bottom: function (_a, _b) {\n var y = _a.y;\n var top = _b.top;\n return parseFloat(top) + (y.max - y.min);\n },\n right: function (_a, _b) {\n var x = _a.x;\n var left = _b.left;\n return parseFloat(left) + (x.max - x.min);\n },\n // Transform\n x: getTranslateFromMatrix(4, 13),\n y: getTranslateFromMatrix(5, 14),\n};\nvar convertChangedValueTypes = function (target, visualElement, changedKeys) {\n var originBbox = visualElement.measureViewportBox();\n var element = visualElement.getInstance();\n var elementComputedStyle = getComputedStyle(element);\n var display = elementComputedStyle.display, top = elementComputedStyle.top, left = elementComputedStyle.left, bottom = elementComputedStyle.bottom, right = elementComputedStyle.right, transform = elementComputedStyle.transform;\n var originComputedStyle = { top: top, left: left, bottom: bottom, right: right, transform: transform };\n // If the element is currently set to display: \"none\", make it visible before\n // measuring the target bounding box\n if (display === \"none\") {\n visualElement.setStaticValue(\"display\", target.display || \"block\");\n }\n // Apply the latest values (as set in checkAndConvertChangedValueTypes)\n visualElement.syncRender();\n var targetBbox = visualElement.measureViewportBox();\n changedKeys.forEach(function (key) {\n // Restore styles to their **calculated computed style**, not their actual\n // originally set style. This allows us to animate between equivalent pixel units.\n var value = visualElement.getValue(key);\n setAndResetVelocity(value, positionalValues[key](originBbox, originComputedStyle));\n target[key] = positionalValues[key](targetBbox, elementComputedStyle);\n });\n return target;\n};\nvar checkAndConvertChangedValueTypes = function (visualElement, target, origin, transitionEnd) {\n if (origin === void 0) { origin = {}; }\n if (transitionEnd === void 0) { transitionEnd = {}; }\n target = __assign({}, target);\n transitionEnd = __assign({}, transitionEnd);\n var targetPositionalKeys = Object.keys(target).filter(isPositionalKey);\n // We want to remove any transform values that could affect the element's bounding box before\n // it's measured. We'll reapply these later.\n var removedTransformValues = [];\n var hasAttemptedToRemoveTransformValues = false;\n var changedValueTypeKeys = [];\n targetPositionalKeys.forEach(function (key) {\n var value = visualElement.getValue(key);\n if (!visualElement.hasValue(key))\n return;\n var from = origin[key];\n var to = target[key];\n var fromType = findDimensionValueType(from);\n var toType;\n // TODO: The current implementation of this basically throws an error\n // if you try and do value conversion via keyframes. There's probably\n // a way of doing this but the performance implications would need greater scrutiny,\n // as it'd be doing multiple resize-remeasure operations.\n if (isKeyframesTarget(to)) {\n var numKeyframes = to.length;\n for (var i = to[0] === null ? 1 : 0; i < numKeyframes; i++) {\n if (!toType) {\n toType = findDimensionValueType(to[i]);\n invariant(toType === fromType ||\n (isNumOrPxType(fromType) && isNumOrPxType(toType)), \"Keyframes must be of the same dimension as the current value\");\n }\n else {\n invariant(findDimensionValueType(to[i]) === toType, \"All keyframes must be of the same type\");\n }\n }\n }\n else {\n toType = findDimensionValueType(to);\n }\n if (fromType !== toType) {\n // If they're both just number or px, convert them both to numbers rather than\n // relying on resize/remeasure to convert (which is wasteful in this situation)\n if (isNumOrPxType(fromType) && isNumOrPxType(toType)) {\n var current = value.get();\n if (typeof current === \"string\") {\n value.set(parseFloat(current));\n }\n if (typeof to === \"string\") {\n target[key] = parseFloat(to);\n }\n else if (Array.isArray(to) && toType === px) {\n target[key] = to.map(parseFloat);\n }\n }\n else if ((fromType === null || fromType === void 0 ? void 0 : fromType.transform) &&\n (toType === null || toType === void 0 ? void 0 : toType.transform) &&\n (from === 0 || to === 0)) {\n // If one or the other value is 0, it's safe to coerce it to the\n // type of the other without measurement\n if (from === 0) {\n value.set(toType.transform(from));\n }\n else {\n target[key] = fromType.transform(to);\n }\n }\n else {\n // If we're going to do value conversion via DOM measurements, we first\n // need to remove non-positional transform values that could affect the bbox measurements.\n if (!hasAttemptedToRemoveTransformValues) {\n removedTransformValues = removeNonTranslationalTransform(visualElement);\n hasAttemptedToRemoveTransformValues = true;\n }\n changedValueTypeKeys.push(key);\n transitionEnd[key] =\n transitionEnd[key] !== undefined\n ? transitionEnd[key]\n : target[key];\n setAndResetVelocity(value, to);\n }\n }\n });\n if (changedValueTypeKeys.length) {\n var convertedTarget = convertChangedValueTypes(target, visualElement, changedValueTypeKeys);\n // If we removed transform values, reapply them before the next render\n if (removedTransformValues.length) {\n removedTransformValues.forEach(function (_a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n visualElement.getValue(key).set(value);\n });\n }\n // Reapply original values\n visualElement.syncRender();\n return { target: convertedTarget, transitionEnd: transitionEnd };\n }\n else {\n return { target: target, transitionEnd: transitionEnd };\n }\n};\n/**\n * Convert value types for x/y/width/height/top/left/bottom/right\n *\n * Allows animation between `'auto'` -> `'100%'` or `0` -> `'calc(50% - 10vw)'`\n *\n * @internal\n */\nfunction unitConversion(visualElement, target, origin, transitionEnd) {\n return hasPositionalKey(target)\n ? checkAndConvertChangedValueTypes(visualElement, target, origin, transitionEnd)\n : { target: target, transitionEnd: transitionEnd };\n}\n\nexport { BoundingBoxDimension, unitConversion };\n","import { resolveCSSVariables } from './css-variables-conversion.js';\nimport { unitConversion } from './unit-conversion.js';\n\n/**\n * Parse a DOM variant to make it animatable. This involves resolving CSS variables\n * and ensuring animations like \"20%\" => \"calc(50vw)\" are performed in pixels.\n */\nvar parseDomVariant = function (visualElement, target, origin, transitionEnd) {\n var resolved = resolveCSSVariables(visualElement, target, transitionEnd);\n target = resolved.target;\n transitionEnd = resolved.transitionEnd;\n return unitConversion(visualElement, target, origin, transitionEnd);\n};\n\nexport { parseDomVariant };\n","import { __rest, __assign } from 'tslib';\nimport { visualElement } from '../index.js';\nimport { getOrigin, checkTargetForNewValues } from '../utils/setters.js';\nimport { getBoundingBox } from '../dom/projection/measure.js';\nimport { buildHTMLStyles } from './utils/build-styles.js';\nimport { isCSSVariable } from '../dom/utils/is-css-variable.js';\nimport { parseDomVariant } from '../dom/utils/parse-dom-variant.js';\nimport { isTransformProp } from './utils/transform.js';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.js';\nimport { renderHTML } from './utils/render.js';\nimport { getDefaultValueType } from '../dom/value-types/defaults.js';\nimport { buildLayoutProjectionTransformOrigin, buildLayoutProjectionTransform } from './utils/build-projection-transform.js';\n\nfunction getComputedStyle(element) {\n return window.getComputedStyle(element);\n}\nvar htmlConfig = {\n treeType: \"dom\",\n readValueFromInstance: function (domElement, key) {\n if (isTransformProp(key)) {\n var defaultType = getDefaultValueType(key);\n return defaultType ? defaultType.default || 0 : 0;\n }\n else {\n var computedStyle = getComputedStyle(domElement);\n return ((isCSSVariable(key)\n ? computedStyle.getPropertyValue(key)\n : computedStyle[key]) || 0);\n }\n },\n sortNodePosition: function (a, b) {\n /**\n * compareDocumentPosition returns a bitmask, by using the bitwise &\n * we're returning true if 2 in that bitmask is set to true. 2 is set\n * to true if b preceeds a.\n */\n return a.compareDocumentPosition(b) & 2 ? 1 : -1;\n },\n getBaseTarget: function (props, key) {\n var _a;\n return (_a = props.style) === null || _a === void 0 ? void 0 : _a[key];\n },\n measureViewportBox: function (element, _a) {\n var transformPagePoint = _a.transformPagePoint;\n return getBoundingBox(element, transformPagePoint);\n },\n /**\n * Reset the transform on the current Element. This is called as part\n * of a batched process across the entire layout tree. To remove this write\n * cycle it'd be interesting to see if it's possible to \"undo\" all the current\n * layout transforms up the tree in the same way this.getBoundingBoxWithoutTransforms\n * works\n */\n resetTransform: function (element, domElement, props) {\n var transformTemplate = props.transformTemplate;\n domElement.style.transform = transformTemplate\n ? transformTemplate({}, \"\")\n : \"none\";\n // Ensure that whatever happens next, we restore our transform on the next frame\n element.scheduleRender();\n },\n restoreTransform: function (instance, mutableState) {\n instance.style.transform = mutableState.style.transform;\n },\n removeValueFromRenderState: function (key, _a) {\n var vars = _a.vars, style = _a.style;\n delete vars[key];\n delete style[key];\n },\n /**\n * Ensure that HTML and Framer-specific value types like `px`->`%` and `Color`\n * can be animated by Motion.\n */\n makeTargetAnimatable: function (element, _a, _b, isMounted) {\n var transformValues = _b.transformValues;\n if (isMounted === void 0) { isMounted = true; }\n var transition = _a.transition, transitionEnd = _a.transitionEnd, target = __rest(_a, [\"transition\", \"transitionEnd\"]);\n var origin = getOrigin(target, transition || {}, element);\n /**\n * If Framer has provided a function to convert `Color` etc value types, convert them\n */\n if (transformValues) {\n if (transitionEnd)\n transitionEnd = transformValues(transitionEnd);\n if (target)\n target = transformValues(target);\n if (origin)\n origin = transformValues(origin);\n }\n if (isMounted) {\n checkTargetForNewValues(element, target, origin);\n var parsed = parseDomVariant(element, target, origin, transitionEnd);\n transitionEnd = parsed.transitionEnd;\n target = parsed.target;\n }\n return __assign({ transition: transition,\n transitionEnd: transitionEnd }, target);\n },\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n build: function (element, renderState, latestValues, projection, layoutState, options, props) {\n if (element.isVisible !== undefined) {\n renderState.style.visibility = element.isVisible\n ? \"visible\"\n : \"hidden\";\n }\n var isProjectionTranform = projection.isEnabled && layoutState.isHydrated;\n buildHTMLStyles(renderState, latestValues, projection, layoutState, options, props.transformTemplate, isProjectionTranform ? buildLayoutProjectionTransform : undefined, isProjectionTranform\n ? buildLayoutProjectionTransformOrigin\n : undefined);\n },\n render: renderHTML,\n};\nvar htmlVisualElement = visualElement(htmlConfig);\n\nexport { getComputedStyle, htmlConfig, htmlVisualElement };\n","/**\n * Check if value is a numerical string, ie a string that is purely a number eg \"100\" or \"-100.1\"\n */\nvar isNumericalString = function (v) { return /^\\-?\\d*\\.?\\d+$/.test(v); };\n\nexport { isNumericalString };\n","import { __assign } from 'tslib';\nimport { visualElement } from '../index.js';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.js';\nimport { htmlConfig } from '../html/visual-element.js';\nimport { buildSVGAttrs } from './utils/build-attrs.js';\nimport { camelToDash } from '../dom/utils/camel-to-dash.js';\nimport { camelCaseAttributes } from './utils/camel-case-attrs.js';\nimport { isTransformProp } from '../html/utils/transform.js';\nimport { renderSVG } from './utils/render.js';\nimport { getDefaultValueType } from '../dom/value-types/defaults.js';\nimport { buildLayoutProjectionTransformOrigin, buildLayoutProjectionTransform } from '../html/utils/build-projection-transform.js';\n\nvar svgVisualElement = visualElement(__assign(__assign({}, htmlConfig), { getBaseTarget: function (props, key) {\n return props[key];\n },\n readValueFromInstance: function (domElement, key) {\n var _a;\n if (isTransformProp(key)) {\n return ((_a = getDefaultValueType(key)) === null || _a === void 0 ? void 0 : _a.default) || 0;\n }\n key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;\n return domElement.getAttribute(key);\n },\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n build: function (_element, renderState, latestValues, projection, layoutState, options, props) {\n var isProjectionTranform = projection.isEnabled && layoutState.isHydrated;\n buildSVGAttrs(renderState, latestValues, projection, layoutState, options, props.transformTemplate, isProjectionTranform ? buildLayoutProjectionTransform : undefined, isProjectionTranform\n ? buildLayoutProjectionTransformOrigin\n : undefined);\n }, render: renderSVG }));\n\nexport { svgVisualElement };\n","import { htmlVisualElement } from '../html/visual-element.js';\nimport { svgVisualElement } from '../svg/visual-element.js';\nimport { isSVGComponent } from './utils/is-svg-component.js';\n\nvar createDomVisualElement = function (Component, options) {\n return isSVGComponent(Component)\n ? svgVisualElement(options, { enableHardwareAcceleration: false })\n : htmlVisualElement(options, { enableHardwareAcceleration: true });\n};\n\nexport { createDomVisualElement };\n","import { __assign } from 'tslib';\nimport { createMotionComponent } from '../../motion/index.js';\nimport { createMotionProxy } from './motion-proxy.js';\nimport { createDomMotionConfig } from './utils/create-config.js';\nimport { gestureAnimations } from '../../motion/features/gestures.js';\nimport { animations } from '../../motion/features/animations.js';\nimport { drag } from '../../motion/features/drag.js';\nimport { layoutAnimations } from '../../motion/features/layout/index.js';\nimport { createDomVisualElement } from './create-visual-element.js';\n\nvar featureBundle = __assign(__assign(__assign(__assign({}, animations), gestureAnimations), drag), layoutAnimations);\n/**\n * HTML & SVG components, optimised for use with gestures and animation. These can be used as\n * drop-in replacements for any HTML & SVG component, all CSS & SVG properties are supported.\n *\n * @public\n */\nvar motion = /*@__PURE__*/ createMotionProxy(function (Component, config) {\n return createDomMotionConfig(Component, config, featureBundle, createDomVisualElement);\n});\n/**\n * Create a DOM `motion` component with the provided string. This is primarily intended\n * as a full alternative to `motion` for consumers who have to support environments that don't\n * support `Proxy`.\n *\n * ```javascript\n * import { createDomMotionComponent } from \"framer-motion\"\n *\n * const motion = {\n * div: createDomMotionComponent('div')\n * }\n * ```\n *\n * @public\n */\nfunction createDomMotionComponent(key) {\n return createMotionComponent(createDomMotionConfig(key, { forwardMotionProps: false }, featureBundle, createDomVisualElement));\n}\n\nexport { createDomMotionComponent, motion };\n","import React, {\n createContext,\n useContext,\n useRef,\n useEffect,\n useMemo,\n} from 'react'\nimport { useEscapeListener } from '@ds/react-utils'\n\n/*\n This component is meant to be used with popups, such as dialogs, tooltips, or floating menus. When one \n popup is opened inside of another we only want the Escape key to close only the one on top. Then, when \n Escape is pressed again the other popup should close.\n\n EscapeToClose is both a context provider and a context consumer. It uses context to keep a count of how \n many other instances of itself are rendered lower in the tree. When the count is 0 it responds to the \n Escape key by calling the supplied onClose handler.\n*/\n\ntype ContextValue = {\n register: () => void\n unregister: () => void\n}\n\nconst Context = createContext<ContextValue>({\n register: () => undefined,\n unregister: () => undefined,\n})\n\nexport type EscapeToCloseProps = {\n /** Will not call onClose if false. Will not prevent ancestors from calling onClose if false. */\n enabled?: boolean\n /** A handler to be called in response to the Escape key. If no handler is passed the component will not be enabled. */\n onClose?: (event: Event) => void\n children?: React.ReactNode\n}\n\n/**\n * Listens for Escape keydown events on the document and calls the supplied `onClose` handler, but only if\n * there are no other instances of EscapeToClose rendered lower in the React tree.\n */\nexport const EscapeToClose: React.VFC<EscapeToCloseProps> = ({\n enabled = true,\n onClose,\n children,\n}) => {\n const context = useContext(Context)\n\n // If onClose isn't provided the component will not prevent ancestors from handling Escape.\n const reallyIsEnabled = enabled && onClose !== undefined\n\n useEffect(() => {\n if (reallyIsEnabled) {\n context.register()\n return () => {\n /*\n This needs to run asyncronously to make sure all Escape handlers are called before any unregistrations \n take place. Otherwise we can be in a situation where a child popup closes and unregisters, then a \n parent believes it doesn't have any descendants and closes itself too.\n */\n setTimeout(() => {\n context.unregister()\n })\n }\n }\n return undefined\n }, [reallyIsEnabled, context])\n\n const descendantCountRef = useRef(0)\n\n useEscapeListener((event) => {\n if (descendantCountRef.current === 0 && reallyIsEnabled) {\n onClose(event)\n }\n })\n\n const contextValue = useMemo(\n () => ({\n register() {\n descendantCountRef.current += 1\n },\n unregister() {\n descendantCountRef.current -= 1\n },\n }),\n []\n )\n\n return <Context.Provider value={contextValue}>{children}</Context.Provider>\n}\n","import React, { useEffect, useRef, useState, useCallback } from 'react'\nimport PropTypes from 'prop-types'\nimport { useEventListener, lazyDocument } from '@ds/react-utils'\nimport { AnyArgsVoidReturn } from '../../../types'\nimport { keyboardNavigableElements, EscapeToClose } from '../../../utilities'\nimport { keyboardEventKeys } from '../../../variables'\n\nconst FIRST_MENU_ITEM = 'FIRST_MENU_ITEM'\nconst LAST_MENU_ITEM = 'LAST_MENU_ITEM'\n\n/**\n * The menuItemEventHandler function adds a onClose function to\n * allow the onClick/onChange handler of a MenuItem to close the Menu\n *\n * The consumer provides a function accepting an event and closeMenu\n * function and it returns a standard event handler: (event) => void\n */\nexport type ChangeHandlerWithCloseMenu<T = Element> = (\n event: React.ChangeEvent<T>,\n closeMenu: () => void\n) => void\n\nexport type MouseHandlerWithCloseMenu<T = Element> = (\n event: React.MouseEvent<T>,\n closeMenu: () => void\n) => void\n\nexport declare function MenuItemEventHandler<T>(\n eventHandler: MouseHandlerWithCloseMenu<T>\n): React.MouseEventHandler<T>\n\nexport declare function MenuItemEventHandler<T>(\n eventHandler: ChangeHandlerWithCloseMenu<T>\n): React.ChangeEventHandler<T>\n\nexport interface MenuButtonProps {\n /**\n * The `Menu.Button` 'children' prop is a render prop.\n *\n * It accepts a function returning JSX that should contain both:\n * - a Menu element\n * - a focusable element that will display the Menu when activated; this element\n * must have 'onClick', 'onKeyDown', and 'ref' attributes\n *\n * The render function will be called with the following arguments:\n * - buttonOnClick {function}: this should be assigned to the 'onClick' attribute\n * of the element that will display the Menu when activated\n * - buttonOnKeyDown {function}: this should be assigned to the 'onKeyDown' attribute\n * of the element that will display the Menu when activated\n * - buttonRef {React ref object}: this should be assigned to the 'ref' attribute\n * of the element that will display the Menu when activated\n * - menuVisible {boolean}: this should be assigned to the 'visible' attribute of\n * the Menu element\n * - menuAnchor {Element}: this should be assigned to the 'anchor' attribute of\n * the Menu element\n * - menuRef {React ref object}: this should be assigned to the 'ref' attribute\n * of the Menu element\n * - menuItemOnKeyDown {function}: this should be assigned to the 'onKeyDown' attribute\n * of each `Menu.Item` element\n * - menuItemEventHandler {function}: this function should wrap the primary event handler\n * of each `Menu.Item` (via either the 'onClick' or 'onChange' attribute)\n * (^ read more about this special function below)\n * - menuOnVisible {function}: this function should be assigned to the 'onVisible'\n * attribute of the Menu element\n * - menuItemOnMouseEnter {function}:this should be assigned to the 'onMouseEnter' attribute\n * of each `Menu.Item` element\n * - activeMenuItem {Element}: the active menu item\n *\n * ===================\n *\n * re: menuItemEventHandler\n *\n * This function should be called with the primary event handler for a `Menu.Item`\n * passed as its only argument. The return value of this function is a new event handler\n * that should be assigned to the appropriate attribute of the `Menu.Item` ('onClick' or\n * 'onChange').\n *\n * The wrapped event handler will be called with two arguments:\n * - the original triggered DOM event\n * - a callback that will close the Menu when invoked\n *\n * As part of the original handler's logic, one of the tasks that it performs\n * should be to invoke the provided callback argument in order to close the Menu.\n *\n * @example\n *\n * const originalEventHandler = (event, closeMenu) => {\n * // calculate, set state, etc.\n * doSomething(event)\n *\n * // invoke the provided callback in order to close the Menu\n * closeMenu()\n * }\n *\n * const wrappedEventHandler = menuItemEventHandler(originalEventHandler)\n *\n * <Menu.Item\n * text=\"My Menu.Item\"\n * onClick={wrappedEventHandler}\n * />\n *\n */\n children: (\n // TODO: Update to `() => void` next major release\n buttonOnClick: AnyArgsVoidReturn,\n buttonOnKeyDown: (\n event: React.KeyboardEvent<HTMLAnchorElement | HTMLButtonElement>\n ) => void,\n buttonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>,\n menuVisible: boolean,\n menuAnchor: HTMLElement,\n menuRef: React.RefObject<HTMLDivElement>,\n menuItemOnKeyDown: (evt: React.KeyboardEvent<HTMLElement>) => void,\n menuItemEventHandler: typeof MenuItemEventHandler,\n menuOnVisible: () => void,\n menuItemOnMouseEnter: (evt: React.MouseEvent<HTMLElement>) => void,\n activeMenuItem: HTMLElement | null\n ) => React.ReactElement\n /**\n * When true, the first `Menu.Item` that has `selected=true` will be focused when\n * the menu becomes visible.\n */\n focusSelectedOnVisible?: boolean\n /**\n * keyboardDirection changes the keyboard bindings for the trigger.\n *\n * The default direction is `vertical` meaning that pressing ArrowDown\n * will open the menu and focus the first menu item. This is suitable\n * for \"dropdown\" style menus.\n *\n * When in `horizontal` mode pressing ArrowRight will on the button will\n * open the menu and select the first item. Pressing ArrowLeft while\n * the menu is open will close the menu. This is suitable for nested\n * menus where they will open to the side.\n *\n * Note: `horizontal` only controls the key bindings, it does not force the\n * menu to open horizontally\n */\n keyboardDirection?: 'horizontal' | 'vertical'\n}\n\nexport function MenuButton(props: MenuButtonProps) {\n const {\n children,\n focusSelectedOnVisible = false,\n keyboardDirection = 'vertical',\n } = props\n\n /**\n * This stores the last hovered Menu.Item for use with nested\n * menus. Nested menus open when their trigger is hovered and\n * remain open until a sibling Menu.Item is mouse enter'ed.\n */\n const [activeMenuItem, setActiveMenuItem] = useState<HTMLElement | null>(null)\n const [menuVisible, setMenuVisible] = useState(false)\n\n const menuInitialFocus = useRef('')\n const menuRef = useRef<HTMLDivElement>(null)\n const buttonRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null)\n const menuAnchor = buttonRef.current\n\n const buttonOnClick = () => {\n /**\n * NVDA sends click events when the user presses enter in browse\n * mode. It's required to switch the focus to automatically\n * switch NVDA into focus mode, enabling proper menu navigation.\n */\n menuInitialFocus.current = FIRST_MENU_ITEM\n setMenuVisible(!menuVisible)\n }\n\n const focusMenuItem = (\n menuInitialFocusRef: React.MutableRefObject<string>\n ) => {\n if (menuRef.current) {\n const keyboardNavigableEls = keyboardNavigableElements(menuRef.current)\n const firstItem = keyboardNavigableEls[0]\n const lastItem = keyboardNavigableEls[keyboardNavigableEls.length - 1]\n\n switch (menuInitialFocusRef.current) {\n case FIRST_MENU_ITEM:\n if (firstItem) {\n firstItem.focus()\n }\n break\n\n case LAST_MENU_ITEM:\n if (lastItem) {\n lastItem.focus()\n }\n break\n\n default:\n }\n }\n }\n\n const buttonOnKeyDown = (\n event: React.KeyboardEvent<HTMLAnchorElement | HTMLButtonElement>\n ) => {\n const keyboardNavigableEls = menuRef.current\n ? keyboardNavigableElements(menuRef.current)\n : []\n\n switch (event.key) {\n case keyboardEventKeys.Enter:\n case keyboardEventKeys.Space:\n event.preventDefault()\n menuInitialFocus.current = FIRST_MENU_ITEM\n\n if (keyboardDirection === 'horizontal') {\n setActiveMenuItem(event.currentTarget)\n }\n\n setMenuVisible(!menuVisible)\n break\n\n case keyboardEventKeys.ArrowDown:\n case keyboardEventKeys.IE.ArrowDown:\n if (keyboardDirection === 'vertical') {\n event.preventDefault()\n menuInitialFocus.current = FIRST_MENU_ITEM\n\n if (menuVisible) {\n focusMenuItem(menuInitialFocus)\n }\n\n setMenuVisible(true)\n }\n break\n\n case keyboardEventKeys.ArrowUp:\n case keyboardEventKeys.IE.ArrowUp:\n if (keyboardDirection === 'vertical') {\n event.preventDefault()\n menuInitialFocus.current = LAST_MENU_ITEM\n\n if (menuVisible) {\n focusMenuItem(menuInitialFocus)\n }\n\n setMenuVisible(true)\n }\n break\n\n case keyboardEventKeys.ArrowRight:\n case keyboardEventKeys.IE.ArrowRight:\n if (keyboardDirection === 'horizontal') {\n event.preventDefault()\n menuInitialFocus.current = FIRST_MENU_ITEM\n\n if (menuVisible) {\n focusMenuItem(menuInitialFocus)\n }\n\n setMenuVisible(true)\n }\n break\n\n case keyboardEventKeys.Tab:\n keyboardNavigableEls.forEach((el) => el.setAttribute('tabindex', '-1'))\n setMenuVisible(false)\n break\n\n default:\n }\n }\n\n const menuItemEventHandler =\n (wrappedHandler: ChangeHandlerWithCloseMenu | MouseHandlerWithCloseMenu) =>\n (event: React.ChangeEvent & React.MouseEvent) => {\n if (event.persist) {\n event.persist()\n }\n\n const menuItemCloseMenu = () => {\n buttonRef.current!.focus()\n setMenuVisible(false)\n }\n\n wrappedHandler(event, menuItemCloseMenu)\n }\n\n const menuItemOnKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n const keyboardNavigableEls = keyboardNavigableElements(menuRef.current!)\n const currentIndex = keyboardNavigableEls.indexOf(event.currentTarget)\n\n if (currentIndex >= 0) {\n const arrowDownIndex =\n currentIndex === keyboardNavigableEls.length - 1 ? 0 : currentIndex + 1\n\n const arrowUpIndex =\n currentIndex === 0 ? keyboardNavigableEls.length - 1 : currentIndex - 1\n\n switch (event.key) {\n case keyboardEventKeys.ArrowDown:\n event.preventDefault()\n keyboardNavigableEls[arrowDownIndex].focus()\n break\n\n case keyboardEventKeys.ArrowUp:\n event.preventDefault()\n keyboardNavigableEls[arrowUpIndex].focus()\n break\n\n case keyboardEventKeys.ArrowLeft:\n case keyboardEventKeys.IE.ArrowLeft:\n if (keyboardDirection === 'horizontal') {\n keyboardNavigableEls.forEach((el) =>\n el.setAttribute('tabindex', '-1')\n )\n if (buttonRef.current) {\n buttonRef.current.focus()\n }\n setMenuVisible(false)\n }\n break\n\n case keyboardEventKeys.Tab:\n keyboardNavigableEls.forEach((el) =>\n el.setAttribute('tabindex', '-1')\n )\n buttonRef.current!.focus()\n setMenuVisible(false)\n break\n\n case keyboardEventKeys.End:\n event.preventDefault()\n keyboardNavigableEls[keyboardNavigableEls.length - 1].focus()\n break\n\n case keyboardEventKeys.Home:\n event.preventDefault()\n keyboardNavigableEls[0].focus()\n break\n\n case keyboardEventKeys.Enter:\n break\n\n default:\n event.preventDefault()\n }\n }\n }\n\n /**\n * Applied to all child Menu.Items and submenus to track\n * which Menu.item was last hovered. Nested menus use this\n * to determine if their trigger is hovered and should be\n * open.\n */\n const menuItemOnMouseEnter = (event: React.MouseEvent<HTMLElement>) => {\n setActiveMenuItem(event.currentTarget)\n }\n\n const menuOnVisible = () => {\n let selectedItem: HTMLElement | null | undefined = null\n if (focusSelectedOnVisible) {\n selectedItem = menuRef.current?.querySelector(\n '[data-selected-item=\"true\"]'\n )\n }\n\n if (selectedItem) {\n selectedItem.focus()\n } else {\n focusMenuItem(menuInitialFocus)\n }\n }\n\n useEffect(() => {\n if (buttonRef.current) {\n buttonRef.current.setAttribute('aria-haspopup', 'true')\n }\n })\n\n useEffect(() => {\n if (buttonRef.current) {\n if (menuVisible) {\n buttonRef.current.setAttribute('aria-expanded', 'true')\n } else {\n buttonRef.current.setAttribute('aria-expanded', 'false')\n }\n }\n }, [menuVisible])\n\n useEventListener(\n 'click',\n (event: Event) => {\n const containsTarget = (\n el: HTMLAnchorElement | HTMLButtonElement | HTMLDivElement | null\n ) => event.target instanceof Node && el?.contains(event.target)\n\n if (![buttonRef.current, menuRef.current].some(containsTarget)) {\n setMenuVisible(false)\n }\n },\n lazyDocument,\n menuVisible\n )\n\n const closeOnEscape = useCallback(() => {\n buttonRef.current?.focus()\n setMenuVisible(false)\n }, [])\n\n return (\n <EscapeToClose onClose={closeOnEscape} enabled={menuVisible}>\n {children(\n buttonOnClick,\n buttonOnKeyDown,\n buttonRef,\n menuVisible,\n // @ts-expect-error Update type with `| null` next major release\n menuAnchor,\n menuRef,\n menuItemOnKeyDown,\n menuItemEventHandler,\n menuOnVisible,\n menuItemOnMouseEnter,\n activeMenuItem\n )}\n </EscapeToClose>\n )\n}\n\nMenuButton.propTypes = {\n children: PropTypes.func.isRequired,\n focusSelectedOnVisible: PropTypes.bool,\n keyboardDirection: PropTypes.oneOf(['horizontal', 'vertical']),\n}\n\nMenuButton.defaultProps = {\n focusSelectedOnVisible: false,\n keyboardDirection: 'vertical',\n}\n\nMenuButton.displayName = 'Menu.Button'\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, onProps } from '@ds/react-utils'\nimport { EventListenerProps } from '../../..'\n\nexport interface MenuCustomItemProps extends EventListenerProps<HTMLLIElement> {\n /** The content of the Menu.CustomItem. */\n children: React.ReactNode\n /** Accepts custom data attributes. */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\nexport function MenuCustomItem(props: MenuCustomItemProps) {\n const { children, ...restProps } = props\n\n return (\n <li {...dataProps(restProps)} {...onProps(restProps)} role=\"presentation\">\n {children}\n </li>\n )\n}\n\nMenuCustomItem.displayName = 'Menu.CustomItem'\n\nMenuCustomItem.propTypes = {\n children: PropTypes.node.isRequired,\n 'data-.*': PropTypes.string,\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n}\n\nMenuCustomItem.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n}\n","import { Tokens } from '../../../theming/types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n listItem: {\n borderBottom: `1px solid ${tokens.border.subtleColor}`,\n listStyle: 'none',\n margin: '8px 0',\n padding: 0,\n\n '&:last-child': {\n borderBottom: 'none',\n },\n },\n\n title: {\n color: tokens.text.subtleColor,\n ...tokens.typography.sectionHeadline,\n marginTop: '12px',\n padding: '0 16px',\n textAlign: 'left',\n },\n },\n } as const\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\nimport { consoleWarn } from '../../../logging'\nimport { useThemeStyles } from '../../../theming'\nimport baseStyles from './styles'\n\ntype ConditionalReactElement = React.ReactElement | undefined | boolean | null\n\nexport interface MenuGroupProps {\n /**\n * The title to present to assistive devices in order to identify the MenuGroup.<br />(!) At least one of the props 'title' or 'accessibilityTitle' should be provided.\n */\n accessibilityTitle?: string\n /**\n * The 'children' prop accepts ReactElements. Usage of an HTML element will result in a console error.\n */\n children: ConditionalReactElement | ConditionalReactElement[]\n /**\n * The section header for the group of items.<br />**(!)** At least one of the props 'title' or 'accessibilityTitle' should be provided.\n */\n title?: string\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\n// TODO: Causing breaking change, add back in v5.0\n// export type MenuGroupProps = RequireAtLeastOne<\n// BaseMenuGroupProps,\n// 'accessibilityTitle' | 'title'\n// >\n\nexport function MenuGroup(props: MenuGroupProps) {\n const { accessibilityTitle, children, title, ...restProps } = props\n\n if (!(title || accessibilityTitle)) {\n // TODO: Update to use requiredPropMessage in v5\n consoleWarn(\n 'The @ds/ui `Menu.Group` component requires that at least one of the props `title` or `accessibilityTitle` be provided, but neither prop received a value.'\n )\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'MenuGroup')\n\n const menuTitle = title && (\n <div\n css={styles.default.title}\n className=\"olv-menu-group olv-ignore-transform\"\n >\n {title}\n </div>\n )\n\n const renderChildren = () => {\n const childHasStartElementIcons = React.Children.toArray(children).some(\n (child) =>\n React.isValidElement(child) &&\n child.props?.startElement?.type?.displayName === 'Icon'\n )\n\n return React.Children.map(children, (child) => {\n if (!React.isValidElement(child)) return null\n return React.cloneElement(child, {\n hasStartElementIcon: childHasStartElementIcons,\n })\n })\n }\n\n return (\n <>\n {menuTitle}\n <ul\n {...dataProps(restProps)}\n aria-label={accessibilityTitle || title}\n css={styles.default.listItem}\n role=\"menu\"\n >\n {renderChildren()}\n </ul>\n </>\n )\n}\n\nMenuGroup.propTypes = {\n accessibilityTitle: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.element, PropTypes.bool])),\n ]),\n 'data-.*': PropTypes.string,\n title: PropTypes.string,\n}\n\nMenuGroup.defaultProps = {\n 'data-.*': undefined,\n accessibilityTitle: undefined,\n children: undefined,\n title: undefined,\n}\n\nMenuGroup.displayName = 'Menu.Group'\n","import { Tokens } from '../../../theming/types'\nimport { styles } from '../../../utilities'\n\nimport { CreateFocusCss, isIE11 } from '../../../styles'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n listItem: {\n display: 'block',\n margin: 0,\n padding: 0,\n\n [isIE11]: {\n margin: '2px',\n },\n },\n\n content: {\n ...tokens.typography.bodyMedium,\n alignItems: 'center',\n background: 'transparent',\n border: 0,\n borderRadius: 0,\n color: tokens.text.defaultColor,\n cursor: 'pointer',\n display: 'flex',\n fontFamily: tokens.font.body,\n minHeight: '30px',\n padding: '4px 16px 4px 16px',\n position: 'relative',\n textAlign: 'left',\n textDecoration: 'none',\n transition: 'background-color 0.2s ease',\n width: '100%',\n\n '&:hover': {\n background: tokens.menuItem.hoverBackgroundColor,\n color: 'inherit',\n textDecoration: 'none',\n },\n\n '&:active': {\n background: tokens.menuItem.activeBackgroundColor,\n color: 'inherit',\n textDecoration: 'none',\n },\n\n ...CreateFocusCss(tokens.focus.inner),\n\n '&:disabled': {\n background: 'transparent',\n color: tokens.text.disabledColor,\n cursor: 'not-allowed',\n },\n\n '@media (hover: none)': {\n minHeight: '40px',\n },\n },\n\n startElement: {\n alignItems: 'center',\n color: tokens.icon.defaultColor,\n display: 'flex',\n fill: 'currentColor',\n flex: '0 0 auto',\n marginRight: '12px',\n },\n\n endElement: {\n ...tokens.typography.bodyMedium,\n alignItems: 'center',\n color: tokens.icon.defaultColor,\n display: 'flex',\n fill: 'currentColor',\n flex: '0 0 auto',\n marginLeft: '12px',\n },\n\n text: {\n flex: '1 1 auto',\n },\n\n textWithoutIcon: {\n marginLeft: '28px',\n },\n\n description: {\n ...tokens.typography.detailSmall,\n color: tokens.text.subtleColor,\n display: 'block',\n },\n\n badge: {\n position: 'relative',\n top: '-7px',\n right: '-5px',\n },\n\n inputLabel: {\n ...CreateFocusCss(\n tokens.focus.inner,\n (pseudoClass: string) => `input${pseudoClass} + &`\n ),\n\n 'input:disabled + &': {\n background: 'transparent',\n color: tokens.text.disabledColor,\n cursor: 'not-allowed',\n },\n },\n },\n\n active: {\n background: tokens.menuItem.hoverBackgroundColor,\n color: 'inherit',\n textDecoration: 'none',\n },\n\n disabled: {\n endElement: {\n color: tokens.icon.disabledColor,\n },\n\n startElement: {\n color: tokens.icon.disabledColor,\n },\n\n iconWrap: {\n color: tokens.icon.disabledColor,\n },\n\n description: {\n background: 'transparent',\n color: tokens.text.disabledColor,\n cursor: 'not-allowed',\n },\n },\n\n selected: {\n background: tokens.menuItem.selectedBackgroundColor,\n fontWeight: 600,\n },\n\n selectedOption: {\n iconWrap: {\n display: 'flex',\n fill: tokens.icon.defaultColor,\n flex: '0 0 auto',\n marginRight: '8px',\n width: tokens.icon.defaultSize,\n },\n },\n\n hidden: styles.visuallyHidden,\n } as const\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ariaProps, dataProps, onProps } from '@ds/react-utils'\nimport type { RequireAtLeastOne } from 'type-fest'\nimport type { DotBadgeProps } from '../../../components/DotBadge'\nimport { CustomPropTypes } from '../../../support'\nimport { useThemeStyles } from '../../../theming'\nimport { AnchorTarget, anchorTargets } from '../../../variables'\nimport type {\n ConditionalTagEventListenerProps,\n ConditionalTagRef,\n LabelForwardRef,\n} from '../../../types'\nimport { ConditionalTag } from '../ConditionalTag'\nimport { IconSmall } from '../IconSmall'\nimport baseStyles from './styles'\n\nconst selectedOptions = ['on', 'auto'] as const\nexport type SelectedOptions = typeof selectedOptions[number]\n\ninterface BaseMenuItemInternalProps extends ConditionalTagEventListenerProps {\n /**\n * If you provide a value for 'accept', the Menu.Item will act as a file input.\n *\n * The prop accepts a string with a list of comma-separated content-type specifiers.\n * (file extensions prefixed with '.', valid MIME types without extensions)\n * e.g. '.js, image/*'.\n */\n accept?: string\n /**\n * The text to present to assistive devices in order to identify the Menu.Item.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n accessibilityText?: string\n /**\n * When BaseMenuItem is used as a trigger in a nested menu it is necessary to force\n * a hover state color to indicate to the user the originating menu item.\n */\n active?: boolean\n /**\n * The \"badge\" element to display above the top-right of the Menu.Item.\n *\n * The normal use case for this would be to signify that there are notifications to be read\n * or actions to be taken, and a DotBadge element is provided to this prop to indicate such.\n */\n badge?: React.ReactElement<DotBadgeProps>\n /**\n * Accepts custom data attributes.\n */\n 'data-qa'?: string\n /**\n * An optional description.\n */\n description?: string\n /**\n * Applies the 'disabled' attribute.\n */\n disabled?: boolean\n /**\n * The provided component will display at the end of the MenuItem.\n */\n endElement?: React.ReactNode\n /**\n * Renders the menu item as a file input.\n */\n fileInput?: boolean\n /**\n * A React ref to assign to the HTML node representing the BaseMenuComponent component.\n */\n forwardedRef?: ConditionalTagRef | LabelForwardRef\n /**\n * @internal @ignore Used in `Menu.Group` to account for an icon to the left of the `Menu.Item` text (or to add margin to other `Menu.Item`s if those don't have an icon).\n */\n hasStartElementIcon?: boolean\n /**\n * URL for navigating. If a URL is supplied it renders as an anchor element,\n * otherwise it renders as a button element.\n */\n href?: string\n /**\n * The ID of the menu item.\n */\n id?: string\n /**\n * Allows the user to select more than one file when the Menu.Item acts as a file input.\n * This prop is only used when a value is provided for 'accept'.\n */\n multiple?: boolean\n /**\n * The relationship of the linked URL of a anchor as space-separated link types.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n */\n rel?: string\n /**\n * The aria role to be added to the BaseMenuItem\n */\n role?: string\n /**\n * A boolean for indicating if the BaseMenuItem is selected. Only used for styling\n */\n selected?: boolean\n /**\n * For use with the SelectMenu component. Adds a checkmark icon when selectedOption\n * is set to \"on\". Default \"auto\" adds space to the left of the option text for the checkmark.\n */\n selectedOption?: SelectedOptions\n /**\n * The provided component will display at the start of the MenuItem.\n */\n startElement?: React.ReactNode\n /**\n * The HTML link target (if an `href` is _not_ provided, this is ignored).\n * When `target=\"_blank\"` use `rel=\"noreferrer\"` or `rel=\"noopener\"` to avoid the vulnerability.\n */\n target?: AnchorTarget\n /**\n * The text of the `Menu.Item`.\n *\n * (!) At least one of the props `text` or `accessibilityText` is required.\n */\n text?: string\n}\n\nexport type BaseMenuItemProps = RequireAtLeastOne<\n BaseMenuItemInternalProps,\n 'accessibilityText' | 'text'\n>\n\n/**\n * BaseMenuItem is an internal component and should not be exported for use externally.\n */\nexport function BaseMenuItem(props: BaseMenuItemProps) {\n const {\n accept,\n accessibilityText,\n active,\n badge,\n description,\n disabled = false,\n endElement,\n fileInput = false,\n forwardedRef,\n hasStartElementIcon = false,\n href,\n id,\n multiple = false,\n onChange,\n onClick,\n onKeyDown,\n onKeyUp,\n rel,\n role,\n selected = false,\n selectedOption,\n startElement,\n target,\n text,\n ...restProps\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'MenuItem')\n\n const badgeElement = badge && <span css={styles.default.badge}>{badge}</span>\n\n // #region startElement\n const startElementStyles = [\n styles.default.startElement,\n disabled && styles.disabled.startElement,\n ]\n\n const startElementNode = startElement && (\n <span css={startElementStyles}>{startElement}</span>\n )\n // #endregion\n\n // #region endElement\n const endElementStyles = [\n styles.default.endElement,\n disabled && styles.disabled.endElement,\n ]\n\n const endElementNode = endElement && (\n <span css={endElementStyles}>{endElement}</span>\n )\n // #endregion\n\n // #region Icon\n const selectMenuIconStyles = [\n styles.selectedOption.iconWrap,\n disabled && styles.disabled.iconWrap,\n ]\n\n const selectMenuNode = selectedOption && (\n <span css={selectMenuIconStyles}>\n {selectedOption === 'on' && <IconSmall kind=\"completed\" />}\n </span>\n )\n // #endregion\n\n // #region Text node\n const descriptionStyles = [\n styles.default.description,\n disabled && styles.disabled.description,\n ]\n\n const descriptionNode = description && (\n <span css={descriptionStyles}>{description}</span>\n )\n\n const accessibilityTextSpan = accessibilityText && (\n <span css={styles.hidden}>{accessibilityText}</span>\n )\n\n const textStyles = [\n styles.default.text,\n // This originates in Menu.Group. It checks to see if the Menu.Group contains startElementIcons.\n hasStartElementIcon && !startElement && styles.default.textWithoutIcon,\n ]\n\n const textNode = (\n <span css={textStyles}>\n {text}\n {badgeElement}\n {descriptionNode}\n {accessibilityTextSpan}\n </span>\n )\n // #endregion\n\n const childrenNode = (\n <>\n {selectMenuNode}\n {startElementNode}\n {textNode}\n {endElementNode}\n </>\n )\n\n if (fileInput) {\n const contentStyles = [\n styles.default.content,\n styles.default.inputLabel,\n endElement && styles.default.contentWithEndElement,\n ]\n\n return (\n <li css={styles.default.listItem} role=\"presentation\">\n <input\n {...dataProps(restProps)}\n accept={accept}\n css={styles.hidden}\n disabled={disabled}\n id={id}\n multiple={multiple}\n onChange={onChange}\n onClick={onClick}\n onKeyDown={onKeyDown}\n role=\"menuitem\"\n type=\"file\"\n />\n\n <label\n {...onProps(restProps)}\n css={contentStyles}\n htmlFor={id}\n ref={forwardedRef as LabelForwardRef}\n >\n {childrenNode}\n </label>\n </li>\n )\n }\n\n const contentStyles = [\n styles.default.content,\n active && styles.active,\n selected && styles.selected,\n endElement && styles.default.contentWithEndElement,\n ]\n\n return (\n <li css={styles.default.listItem} role=\"presentation\">\n <ConditionalTag\n {...ariaProps(restProps)}\n {...dataProps(restProps)}\n {...onProps(restProps)}\n css={contentStyles}\n disabled={disabled}\n forceButton\n forwardedRef={forwardedRef}\n href={href}\n rel={rel}\n target={target}\n onClick={onClick}\n onKeyDown={onKeyDown}\n onKeyUp={(evt) => {\n /**\n * This is a work around for a Firefox bug – FRNTEND-1659\n *\n * Currently when a user uses the Space key to open a menu, the\n * keydown will open the menu as well as focus the first item but by\n * the time the keyup event is fired, the Firefox bug fires a click\n * event on that focused first item resulting in the onClick above\n * being called and closing the menu immediately. We need to call\n * evt.preventDefault() to prevent Firefox from firing the click event\n * when the keyup event is fired for the Space key.\n */\n evt.preventDefault()\n\n // Optionally call onKeyUp if consumer passes in\n onKeyUp?.(evt)\n }}\n role={role}\n >\n {childrenNode}\n </ConditionalTag>\n </li>\n )\n}\n\nBaseMenuItem.selectedOptions = selectedOptions\nBaseMenuItem.targets = anchorTargets\n\nBaseMenuItem.propTypes = {\n accept: PropTypes.string,\n accessibilityText: PropTypes.string,\n active: PropTypes.bool,\n badge: PropTypes.element,\n 'data-.*': PropTypes.string,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n endElement: PropTypes.node,\n fileInput: PropTypes.bool,\n forwardedRef: CustomPropTypes.ReactRef,\n href: PropTypes.string,\n id: PropTypes.string,\n multiple: PropTypes.bool,\n 'on[A-Z].*': PropTypes.func,\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n rel: PropTypes.string,\n role: PropTypes.string,\n selected: PropTypes.bool,\n selectedOption: PropTypes.oneOf(selectedOptions),\n startElement: PropTypes.node,\n target: PropTypes.oneOf(anchorTargets),\n text: PropTypes.string,\n}\n\nBaseMenuItem.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n accept: undefined,\n accessibilityText: undefined,\n active: undefined,\n badge: undefined,\n description: undefined,\n disabled: false,\n endElement: undefined,\n fileInput: false,\n forwardedRef: undefined,\n href: undefined,\n id: undefined,\n multiple: false,\n onChange: undefined,\n onClick: undefined,\n onKeyDown: undefined,\n rel: undefined,\n role: undefined,\n selected: false,\n selectedOption: undefined,\n startElement: undefined,\n target: undefined,\n text: undefined,\n}\n","import React, { useRef, useCallback } from 'react'\n\ninterface UniqueIdProviderProps {\n /**\n * Will be prefixed to all IDs generated for the children of the provider. Can be used to\n * avoid name conflicts between different parts of an app. If you can use a single provider\n * at the root you probably don't need this.\n */\n prefix?: string\n children: React.ReactNode\n}\n\nexport const UniqueIdProvider = ({\n prefix = 'unique-id-',\n children,\n}: UniqueIdProviderProps) => {\n const countRef = useRef(0)\n\n const getId: GetId = useCallback(\n (consumerPrefix) => {\n return '' + prefix + consumerPrefix + countRef.current++\n },\n [prefix]\n )\n\n return (\n <UniqueIdContext.Provider value={getId}>\n {children}\n </UniqueIdContext.Provider>\n )\n}\n\ntype GetId = (consumerPrefix: string) => string\n\nexport const UniqueIdContext = React.createContext<GetId | undefined>(undefined)\n","import { useMemo, useContext } from 'react'\nimport { createId, generateGuid } from '@ds/base'\nimport { UniqueIdContext } from './UniqueIdProvider'\n\ntype IdType = 'short' | 'guid'\n\n/**\n * @param type Determines which function is used to generate the id.\n *\n * @param prefix A string to be prefixed to the unique ID returned. Only is prepended when the\n * type argument is 'short', otherwise, it's ignored.\n *\n * @returns A string that will be consistent across renders of your React component.\n */\nexport const useUniqueId = (type: IdType, prefix?: string): string => {\n const getIdFromContext = useContext(UniqueIdContext)\n\n const id = useMemo(() => {\n if (getIdFromContext && type === 'short') {\n return getIdFromContext(prefix || '')\n }\n return getId(type, prefix)\n }, [getIdFromContext, prefix, type])\n\n return id\n}\n\nconst getId = (type: IdType, prefix?: string) => {\n return type === 'short' ? createId(prefix) : generateGuid()\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useUniqueId } from '@ds/react-utils'\n\nimport { deprecatedPropMessage, requiredPropMessage } from '../../../logging'\nimport { CustomPropTypes } from '../../../support'\n\nimport { BaseMenuItem } from '../../../internal/components/BaseMenuItem'\nimport { iconWithImageKinds } from '../../../internal/components/IconOrImage'\n\nexport const MenuItemFileInputIcons = iconWithImageKinds\nexport const MenuItemFileInputIconPositions = ['beforeText', 'afterText']\n\nfunction MenuItemFileInput(props) {\n const {\n accept,\n accessibilityText,\n description,\n disabled,\n endElement,\n forwardedRef,\n multiple,\n onChange,\n onClick,\n onKeyDown,\n secondaryText,\n startElement,\n text,\n ...restProps\n } = props\n\n const inputId = useUniqueId('short')\n\n if (!(text || accessibilityText)) {\n requiredPropMessage({\n component: 'Menu.ItemFileInput',\n prop1: 'text',\n prop2: 'accessibilityText',\n })\n }\n\n if (secondaryText) {\n deprecatedPropMessage({\n component: 'Menu.ItemFileInput',\n prop: 'secondaryText',\n newProp: 'description',\n })\n }\n\n return (\n <BaseMenuItem\n fileInput\n accept={accept}\n accessibilityText={accessibilityText}\n description={description || secondaryText}\n disabled={disabled}\n endElement={endElement}\n forwardedRef={forwardedRef}\n id={inputId}\n multiple={multiple}\n onChange={onChange}\n onClick={onClick}\n onKeyDown={onKeyDown}\n startElement={startElement}\n text={text}\n {...restProps}\n />\n )\n}\n\nMenuItemFileInput.propTypes = {\n /**\n * The prop accepts a string with a list of comma-separated content-type specifiers.\n * (file extensions prefixed with '.', valid MIME types without extensions)\n * e.g. '.js, image/*'.\n */\n accept: PropTypes.string,\n\n /**\n * The text to present to assistive devices in order to identify the Menu.Item.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n accessibilityText: PropTypes.string,\n\n /**\n * The \"badge\" element to display above the top-right of the Menu.Item.\n *\n * The normal use case for this would be to signify that there are notifications to be read\n * or actions to be taken, and a DotBadge element is provided to this prop to indicate such.\n */\n badge: PropTypes.element,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * An optional description.\n */\n description: PropTypes.string,\n\n /**\n * Applies the 'disabled' attribute.\n */\n disabled: PropTypes.bool,\n\n /**\n * The provided component will display at the end of the menu item.\n */\n endElement: PropTypes.node,\n\n /**\n * A React ref to assign to the HTML node representing the component.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Allows the user to select more than one file when the Menu.Item acts as a file input.\n * This prop is only used when a value is provided for 'accept'.\n */\n multiple: PropTypes.bool,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'change' event is fired.\n */\n onChange: PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n\n /**\n * The function to call when a 'keyDown' event is fired.\n */\n onKeyDown: PropTypes.func.isRequired,\n\n /**\n * The secondary text of the Menu.Item.\n *\n * DEPRECATED – Use `description` instead.\n */\n secondaryText: PropTypes.string,\n\n /**\n * The provided component will display at the start of the menu item.\n */\n startElement: PropTypes.node,\n\n /**\n * The text of the Menu.Item.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n text: PropTypes.string,\n}\n\nMenuItemFileInput.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n accept: undefined,\n accessibilityText: undefined,\n badge: undefined,\n description: undefined,\n disabled: false,\n endElement: undefined,\n forwardedRef: undefined,\n multiple: false,\n onChange: undefined,\n onClick: undefined,\n secondaryText: undefined,\n startElement: undefined,\n text: undefined,\n}\n\nexport default MenuItemFileInput\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n consoleWarn,\n deprecatedPropMessage,\n requiredPropMessage,\n warnInvalidThemeProp,\n} from '../../../logging'\nimport { CustomPropTypes } from '../../../support'\nimport { useIsInk } from '../../../theming'\nimport { anchorTargets } from '../../../variables'\n\nimport { BaseMenuItem } from '../../../internal/components/BaseMenuItem'\nimport { iconWithImageKinds } from '../../../internal/components/IconOrImage'\nimport MenuItemFileInput from '../MenuItemFileInput'\n\nexport const MenuItemIcons = iconWithImageKinds\nexport const MenuItemIconPositions = ['beforeText', 'afterText']\n\nfunction MenuItem(props) {\n const {\n accept,\n accessibilityText,\n badge,\n description,\n disabled,\n endElement,\n forwardedRef,\n href,\n multiple,\n onChange,\n onClick,\n rel,\n secondaryText,\n selected,\n startElement,\n target,\n text,\n ...restProps\n } = props\n\n const isInk = useIsInk()\n\n const BadgeNode = isInk ? undefined : badge\n\n if (!(text || accessibilityText)) {\n requiredPropMessage({\n component: 'Menu.Item',\n prop1: 'text',\n prop2: 'accessibilityText',\n })\n }\n\n if (secondaryText) {\n deprecatedPropMessage({\n component: 'Menu.Item',\n prop: 'secondaryText',\n newProp: 'description',\n })\n }\n\n if (isInk && badge) {\n warnInvalidThemeProp('Menu.Item', 'badge', 'Ink')\n }\n\n if (accept || multiple || onChange) {\n consoleWarn(\n 'The (accept, multiple, onChange) props of the MenuItem component have been deprecated. To create a menu item as file input, instead use the MenuItemFileInput component.'\n )\n\n return (\n <MenuItemFileInput\n fileInput\n accept={accept}\n accessibilityText={accessibilityText}\n description={description || secondaryText}\n disabled={disabled}\n endElement={endElement}\n forwardedRef={forwardedRef}\n multiple={multiple}\n onChange={onChange}\n onClick={onClick}\n onKeyDown={restProps.onKeyDown}\n startElement={startElement}\n text={text}\n {...restProps}\n />\n )\n }\n\n return (\n <BaseMenuItem\n accessibilityText={accessibilityText}\n badge={BadgeNode}\n data-selected-item={selected}\n description={description || secondaryText}\n disabled={disabled}\n endElement={endElement}\n forwardedRef={forwardedRef}\n href={href}\n onClick={onClick}\n rel={rel}\n role=\"menuitem\"\n selected={selected}\n startElement={startElement}\n target={target}\n text={text}\n {...restProps}\n />\n )\n}\n\nMenuItem.targets = anchorTargets\n\nMenuItem.propTypes = {\n /**\n * If you provide a value for 'accept', the Menu.Item will act as a file input.\n *\n * The prop accepts a string with a list of comma-separated content-type specifiers.\n * (file extensions prefixed with '.', valid MIME types without extensions)\n * e.g. '.js, image/*'.\n *\n * DEPRECATED - Use `accept` on `MenuItemFileInput` instead.\n */\n accept: PropTypes.string,\n\n /**\n * The text to present to assistive devices in order to identify the Menu.Item.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n accessibilityText: PropTypes.string,\n\n /**\n * The \"badge\" element to display above the top-right of the Menu.Item.\n *\n * The normal use case for this would be to signify that there are notifications to be read\n * or actions to be taken, and a DotBadge element is provided to this prop to indicate such.\n *\n * This is only avaiable in the Olive theme.\n */\n badge: PropTypes.element,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * An optional description.\n */\n description: PropTypes.string,\n\n /**\n * Applies the 'disabled' attribute.\n */\n disabled: PropTypes.bool,\n\n /**\n * The provided component will display at the end of the MenuItem.\n */\n endElement: PropTypes.node,\n\n /**\n * A React ref to assign to the HTML node representing the component.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * URL for navigating. If a URL is supplied it renders as an anchor element,\n * otherwise it renders as a button element.\n */\n href: PropTypes.string,\n\n /**\n * Allows the user to select more than one file when the Menu.Item acts as a file input.\n * This prop is only used when a value is provided for 'accept'.\n *\n * DEPRECATED - Use `multiple` on `MenuItemFileInput` instead.\n */\n multiple: PropTypes.bool,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'change' event is fired.\n *\n * DEPRECATED - Use `onChange` on `MenuItemFileInput` instead.\n */\n onChange: PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n\n /**\n * The relationship of the linked URL of a anchor as space-separated link types.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n */\n rel: PropTypes.string,\n\n /**\n * The secondary text of the Menu.Item.\n *\n * DEPRECATED – Use `description` instead.\n */\n secondaryText: PropTypes.string,\n\n /**\n * A boolean for indicating if the MenuItem is selected. Only used for styling\n */\n selected: PropTypes.bool,\n\n /**\n * The provided component will display at the start of the MenuItem.\n */\n startElement: PropTypes.node,\n\n /**\n * The HTML link target (if an href is _not_ provided, this is ignored).\n * When target=\"_blank\" use rel=\"noreferrer\" or rel=\"noopener\" to avoid the vulnerability.\n */\n target: PropTypes.oneOf(anchorTargets),\n\n /**\n * The text of the Menu.Item.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n text: PropTypes.string,\n}\n\nMenuItem.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n accept: undefined,\n accessibilityText: undefined,\n badge: undefined,\n description: undefined,\n disabled: false,\n endElement: undefined,\n forwardedRef: undefined,\n href: undefined,\n multiple: false,\n onChange: undefined,\n onClick: undefined,\n rel: undefined,\n secondaryText: undefined,\n selected: false,\n startElement: undefined,\n target: undefined,\n text: undefined,\n}\n\nexport default MenuItem\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { SystemIconKey } from '@ds/icons'\n\nimport { IconSmall } from '../../../internal/components/IconSmall'\n\nexport interface MenuItemDisclosureProps {\n /** The Icon to display. */\n kind: SystemIconKey\n}\n\nexport function MenuItemDisclosure(props: MenuItemDisclosureProps) {\n const { kind } = props\n\n return <IconSmall kind={kind} />\n}\n\nMenuItemDisclosure.displayName = 'Menu.ItemDisclosure'\n\nMenuItemDisclosure.icons = IconSmall.kinds\n\nMenuItemDisclosure.propTypes = {\n kind: PropTypes.string.isRequired,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { mergeRefs } from '@ds/react-utils'\n\nimport { deprecatedPropMessage, requiredPropMessage } from '../../../logging'\nimport { CustomPropTypes } from '../../../support'\n\nimport { BaseMenuItem } from '../../../internal/components/BaseMenuItem'\nimport Menu from '..'\nimport { MenuItemDisclosure } from '../MenuItemDisclosure'\n\nconst callSerial =\n (...fns) =>\n (...args) => {\n Array.from(fns).forEach((fn) => typeof fn === 'function' && fn(...args))\n }\n\nfunction MenuItemWithSubmenu(props) {\n const {\n accessibilityText,\n activeMenuItem,\n description,\n disabled,\n forwardedRef,\n menuGroupAccessibilityTitle,\n menuMaxHeight,\n onClick,\n onKeyDown,\n secondaryText,\n text,\n ...restProps // gets passed to BaseMenuItem\n } = props\n\n const { 'data-qa': dataQa } = restProps\n\n if (!(text || accessibilityText)) {\n requiredPropMessage({\n component: 'Menu.ItemWithSubmenu',\n prop1: 'text',\n prop2: 'accessibilityText',\n })\n }\n\n if (secondaryText) {\n deprecatedPropMessage({\n component: 'Menu.ItemWithSubmenu',\n prop: 'secondaryText',\n newProp: 'description',\n })\n }\n\n /**\n * activeMenuItem is provided by a parent Menu.Button that monitors\n * Menu.Items (and Submenu). The value is the Menu.Item that was\n * onMouseEnter'ed last. When this menu opens the user will move\n * their mouse into the menu so it's necessary to maintain that state\n * in the Menu.Button (menu controller/manager)\n *\n * When the tracked active menu item is within the DOM of the parent\n * <span> below we know that the menu should be open.\n *\n * When the user mouses onto a sibling Menu.Item/Submenu this will\n * be false and close.\n */\n const submenuRef = React.useRef()\n const triggerIsActive =\n submenuRef.current && submenuRef.current.contains(activeMenuItem)\n\n return (\n <Menu.Button keyboardDirection=\"horizontal\">\n {(\n buttonOnClick,\n buttonOnKeyDown,\n buttonRef,\n menuVisible,\n menuAnchor,\n menuRef,\n menuItemOnKeyDown,\n menuItemEventHandler,\n menuOnVisible,\n menuItemMouseEnter,\n activeSubmenuItem\n ) => {\n /**\n * We need to augment/override the supplied Menu.Item/Submenus\n * to wire them up to the Menu.Button.\n *\n * -- activeMenuItem --\n * Applied to all Menu.Items (ignored) and Submenus which allows\n * the Submenu to know if one of its siblings has been hovered\n * over which is the close signal.\n *\n * -- onClick --\n * Using the menuItemEventHandler here allows the consumer to optionally\n * close just the current menu (vs all of the menus)\n *\n * -- onKeyDown --\n * Enables the Menu.Items passed in to interact with Menu.Button\n * <left> to closes the current menu and focuses the trigger that opened it\n * <tab>/<esc> close entire menu (to root Menu.Button)\n * <home>/<end> first/last menu item selection\n *\n * -- onMouseEnter --\n * Menu.Button maintains the state of which Menu.Item (or Submenu) was last\n * hovered. This allows Menu.Button to pass `activeSubmenuItem` to Submenus\n * which keeps the Submenu in an open state.\n */\n const renderMenuItem = (menuItem) =>\n React.cloneElement(menuItem, {\n activeMenuItem: activeSubmenuItem,\n onClick: menuItemEventHandler(menuItem.props.onClick),\n onKeyDown: callSerial(menuItemOnKeyDown, menuItem.props.onKeyDown),\n onMouseEnter: callSerial(\n menuItemMouseEnter,\n menuItem.props.onMouseEnter\n ),\n })\n\n return (\n <span ref={submenuRef}>\n {/* Trigger */}\n <BaseMenuItem\n {...restProps}\n accessibilityText={accessibilityText}\n active={triggerIsActive || menuVisible}\n data-qa={`${dataQa}-submenu-trigger`}\n description={description || secondaryText}\n disabled={disabled}\n endElement={<MenuItemDisclosure kind=\"caretRight\" />}\n forwardedRef={mergeRefs(buttonRef, forwardedRef)}\n onClick={callSerial(buttonOnClick, onClick)}\n onKeyDown={callSerial(buttonOnKeyDown, onKeyDown)}\n role=\"menuitem\"\n text={text}\n />\n\n {/* Menu */}\n <Menu\n alignment=\"start\"\n anchor={menuAnchor}\n data-qa={`${dataQa}-submenu-menu`}\n forwardedRef={menuRef}\n location=\"after\"\n locationFixed\n maxHeight={menuMaxHeight}\n minWidth={false} // eslint-disable-line react/jsx-boolean-value\n onVisible={menuOnVisible}\n visible={!disabled && (triggerIsActive || menuVisible)}\n >\n <Menu.Group\n accessibilityTitle={\n menuGroupAccessibilityTitle ||\n restProps.text ||\n restProps.accessibilityText\n }\n data-qa={`${dataQa}-submenu-menu-group`}\n >\n {React.Children.map(restProps.children, renderMenuItem)}\n </Menu.Group>\n </Menu>\n </span>\n )\n }}\n </Menu.Button>\n )\n}\n\nMenuItemWithSubmenu.propTypes = {\n /**\n * The text to present to assistive devices in order to identify the Menu.Item.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n accessibilityText: PropTypes.string,\n\n /**\n * activeMenuItem is provided by a parent Menu.Button that monitors\n * Menu.Items (and Submenus). The value is the Menu.Item that was\n * onMouseEnter'ed last.\n *\n * When the tracked active menu item is within the DOM of this submenu\n * the menu will be open.\n *\n * When the user mouses onto a sibling Menu.Item/Submenu this will\n * be false and close.\n */\n // eslint-disable-next-line no-undef\n activeMenuItem: CustomPropTypes.Element,\n\n /**\n * The \"badge\" element to display above the top-right of the Menu.Item.\n *\n * The normal use case for this would be to signify that there are notifications to be read\n * or actions to be taken, and a DotBadge element is provided to this prop to indicate such.\n */\n badge: PropTypes.element,\n\n /**\n * The 'children' prop accepts a ReactNode but should always be Menu.Items\n * or Menu.ItemWithSubmenus\n *\n * `<Menu.ItemWithSubmenu> <Menu.Item /> </Menu.ItemWithSubmenu>`\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * An optional description.\n */\n description: PropTypes.string,\n\n /**\n * Applies the 'disabled' attribute. Doesn't allow submenu to open.\n */\n disabled: PropTypes.bool,\n\n /**\n * A React ref to assign to the HTML node representing the MenuItem's trigger\n * element, a HTML Button.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * The title to present to assistive devices in order to identify the MenuGroup.\n *\n * This will default to the value passed in to text or accessibilityText if not provided.\n */\n menuGroupAccessibilityTitle: PropTypes.string,\n\n /**\n * Max height of the menu in any accepted numeric or percentage CSS unit.\n */\n menuMaxHeight: PropTypes.string,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * The function to call when a 'change' event is fired.\n */\n onChange: PropTypes.func,\n\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n\n /**\n * The function to call when a 'keydown' event is fired.\n *\n * For navigation between menu items in a menu this should be the 'menuItemOnKeyDown' function\n * that comes from a Menu.Button when the <Menu.ItemWithSubMenu> is in the first/root menu.\n *\n * For nested menus this is wired up automatically.\n */\n onKeyDown: PropTypes.func,\n\n /**\n * The secondary text of the Menu.Item.\n * Deprecated – use `description` instead.\n */\n secondaryText: PropTypes.string,\n\n /**\n * The provided component will display at the start of the MenuItem.\n */\n startElement: PropTypes.node,\n\n /**\n * The text of the Menu.Item.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n text: PropTypes.string,\n}\n\nMenuItemWithSubmenu.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n accessibilityText: undefined,\n activeMenuItem: undefined,\n badge: undefined,\n description: undefined,\n disabled: false,\n forwardedRef: undefined,\n menuGroupAccessibilityTitle: undefined,\n menuMaxHeight: undefined,\n onChange: undefined,\n onClick: undefined,\n onKeyDown: undefined,\n secondaryText: undefined,\n startElement: undefined,\n text: undefined,\n}\n\nexport default MenuItemWithSubmenu\n","import template from './template'\n\nconst consoleInfoMsgSet = new Set()\n\n/**\n * Print an information log in the browser's development console.\n *\n * @param {string} msg - The information message to display in the console.\n */\nconst consoleInfo = (msg: string) => {\n if (!consoleInfoMsgSet.has(msg)) {\n /* eslint-disable-next-line no-console */\n console.info(template('Information', msg))\n consoleInfoMsgSet.add(msg)\n }\n}\n\nexport default consoleInfo\n","import consoleInfo from './consoleInfo'\n\nexport const alphaPropTemplate = (component: string, prop: string) =>\n `${component} - The '${prop}' prop is in an experimental state, and is subject to breaking changes.`\n\nconst logAlphaProp = (component: string, prop: string) =>\n consoleInfo(alphaPropTemplate(component, prop))\n\nexport default logAlphaProp\n","import type { PositionAroundAlignment, PositionAroundLocation } from '..'\n\n/**\n * popper.js placements\n */\ntype PopperBasePlacement = 'top' | 'bottom' | 'right' | 'left'\ntype PopperVariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end'\nexport type PopperPlacement = PopperBasePlacement | PopperVariationPlacement\n\n/**\n * Supported Popper locations\n */\nexport const locations = ['above', 'below', 'before', 'after'] as const\n\nconst locationLookup: { [key: string]: PositionAroundLocation } = {\n top: 'above',\n bottom: 'below',\n left: 'before',\n right: 'after',\n}\n\n/**\n * Supported Popper alignments\n */\nexport const alignments = ['start', 'center', 'end'] as const\n\n/**\n * Converts a popper.js placement to `location` and `alignment`\n */\nexport const parsePlacement = (\n placement: PopperPlacement\n): [PositionAroundLocation, PositionAroundAlignment] => {\n const [popperLocation, popperAlignment] = placement.split('-')\n\n const location = locationLookup[popperLocation]\n\n const alignment: PositionAroundAlignment =\n popperAlignment === undefined\n ? 'center'\n : (popperAlignment as 'start' | 'end')\n\n return [location, alignment]\n}\n\n/**\n * Converts a `location` & `alignment` to a popper.js placement\n */\nexport const formatPlacement = ({\n alignment,\n location,\n}: {\n alignment: PositionAroundAlignment\n location: PositionAroundLocation\n}): PopperPlacement => {\n const placementLocation = {\n above: 'top',\n below: 'bottom',\n before: 'left',\n after: 'right',\n }[location] as PopperBasePlacement\n\n const placementAlignment = {\n start: '-start',\n center: '',\n end: '-end',\n }[alignment]\n\n return `${placementLocation}${placementAlignment}` as PopperPlacement\n}\n","export const arrowStyles = {\n // zIndex to ensure the arrow is 'above' the children\n // absolute to ensure correct positioning on first mount\n // https://github.com/popperjs/react-popper/issues/354\n zIndex: 1,\n position: 'absolute',\n\n '[data-popper-placement^=\"top\"] &': {\n bottom: 0,\n },\n\n '[data-popper-placement^=\"left\"] &': {\n right: 0,\n },\n} as const\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { mergeRefs, dataProps } from '@ds/react-utils'\nimport { CSSObject } from '@emotion/core'\nimport { usePopper } from 'react-popper'\nimport { PositioningStrategy, Modifier, State } from '@popperjs/core'\nimport { CustomPropTypes } from '../../support'\nimport { DivForwardRef, SpanForwardRef } from '../../types'\nimport {\n alignments,\n formatPlacement,\n locations,\n parsePlacement,\n presets,\n} from './utils'\n\nimport { arrowStyles } from './styles'\n\nexport type PositionAroundAlignment = typeof alignments[number]\nexport type PositionAroundLocation = typeof locations[number]\n\nexport interface PopperProps {\n /**\n * The alignment of the Popper relative to the Element it is positioned around.\n * 'start' | 'center' | 'end'\n */\n alignment?: PositionAroundAlignment\n /**\n * The Element around which the Popper will be positioned.\n */\n anchorElement?: HTMLElement | null\n /**\n * A React element that will serve as the Popper's arrow when\n * preventOverflow is enabled.\n */\n arrow?: React.ReactElement\n /**\n * Additional styles to apply to the css property of the Popper container\n */\n containerStyles?: CSSObject\n /**\n * A prop to allow custom modifiers.\n * https://popper.js.org/docs/v2/modifiers/\n */\n customModifiers?: Modifier<unknown, unknown>[]\n /**\n * The flip modifier can change the placement of a popper when it's scheduled to\n * overflow a given boundary.\n *\n * Disabling this modifier means that the Popper will stay in its initial location\n * regardless of surrounding containers.\n *\n * https://popper.js.org/docs/v2/modifiers/flip/\n */\n flipModifier?: Partial<Omit<Modifier<unknown, unknown>, 'name'>>\n /**\n * A React ref to assign to the HTML node representing the Popper component.\n */\n forwardedRef?: DivForwardRef | SpanForwardRef\n /**\n * Use a `<span/>` as the Popper container.\n *\n * By default Popper will insert a div that wraps the content. This may\n * lead to invalid HTML. When `isSpanContainer` is `true` the container element will\n * be a span with `display: block`.\n */\n isSpanContainer?: boolean\n /**\n * The preferred location of the Popper relative to its anchor element.\n * 'above' | 'below' | 'before' | after'\n */\n location?: PositionAroundLocation\n /**\n * Returns a configured offset. The first number, skidding, displaces the popper along the reference element.\n * The second number, distance, displaces the popper away from, or toward, the reference element in the direction\n * of its placement. A positive number displaces it further away, while a negative number lets it overlap\n * the reference.\n * https://popper.js.org/docs/v2/modifiers/offset/#offset-1\n */\n offsetModifier?: Partial<Omit<Modifier<unknown, unknown>, 'name'>>\n /**\n * A callback that fires on the Popper's first update.\n * Note: onUpdate also fires on first update, this callback fires on the first update only.\n */\n onFirstUpdate?: (state: Partial<State>) => void\n /**\n * An update callback that fires whenever the Popper updates.\n * Specifically this is fired by @popperjs/core (vs the React Popover)\n *\n * A common use case is to reposition the a pointer arrow when the popper flips.\n */\n onUpdate?: (arg: { state: Partial<State> }) => void\n /**\n * The preventOverflow modifier prevents the popper from being cut off\n * by moving it so that it stays visible within its boundary area.\n * https://popper.js.org/docs/v2/modifiers/prevent-overflow/\n */\n preventOverflowModifier?: Partial<Omit<Modifier<unknown, unknown>, 'name'>>\n /**\n * The positioning strategy used by Popper. The default is 'absolute',\n * but 'fixed' can also be passed.\n * https://popper.js.org/docs/v2/constructors/#strategy\n */\n strategy?: PositioningStrategy\n}\n\ninterface PopperObject extends React.FC<PopperProps> {\n alignments: typeof alignments\n locations: typeof locations\n parsePlacement: typeof parsePlacement\n presets: typeof presets\n}\n\nexport const Popper: PopperObject = ({\n alignment = 'center',\n anchorElement,\n arrow,\n children,\n containerStyles,\n customModifiers,\n flipModifier,\n forwardedRef,\n location = 'above',\n offsetModifier,\n onFirstUpdate,\n onUpdate,\n preventOverflowModifier,\n isSpanContainer,\n strategy = 'absolute',\n ...restProps\n}) => {\n const [popperElement, setPopperElement] = useState<\n HTMLSpanElement | HTMLDivElement | null\n >(null)\n\n const modifiers = React.useMemo(() => {\n const arrowMod = arrow &&\n preventOverflowModifier && {\n name: 'arrow',\n }\n\n const flip = flipModifier && {\n name: 'flip',\n ...flipModifier,\n }\n\n const offset = offsetModifier && {\n name: 'offset',\n ...offsetModifier,\n }\n\n const preventOverflow = preventOverflowModifier\n ? {\n name: 'preventOverflow',\n ...preventOverflowModifier,\n }\n : {\n name: 'preventOverflow',\n enabled: false,\n }\n\n const update = onUpdate && {\n name: 'onUpdate',\n enabled: true,\n phase: 'afterWrite',\n fn: (arg: { state: Partial<State> }) => {\n onUpdate(arg)\n },\n }\n\n const custom = customModifiers || []\n\n return [arrowMod, flip, offset, preventOverflow, update, ...custom].filter(\n Boolean\n ) as (Modifier<unknown, unknown> | { name: string })[]\n }, [\n arrow,\n customModifiers,\n flipModifier,\n offsetModifier,\n onUpdate,\n preventOverflowModifier,\n ])\n\n const { attributes, styles } = usePopper(anchorElement, popperElement, {\n modifiers,\n onFirstUpdate,\n placement: formatPlacement({ alignment, location }),\n strategy,\n })\n\n const Container = isSpanContainer ? 'span' : 'div'\n\n return (\n <Container\n data-popover\n {...dataProps(restProps)}\n {...attributes.popper}\n css={containerStyles}\n style={{ ...styles.popper, display: 'block' }}\n ref={\n forwardedRef\n ? mergeRefs(forwardedRef, setPopperElement)\n : setPopperElement\n }\n >\n {arrow && (\n <div data-popper-arrow style={styles.arrow} css={arrowStyles}>\n {arrow}\n </div>\n )}\n {children}\n </Container>\n )\n}\n\nPopper.alignments = alignments\nPopper.locations = locations\nPopper.parsePlacement = parsePlacement\nPopper.presets = presets\n\nconst PopperModifierPropType = PropTypes.shape({\n enabled: PropTypes.bool,\n options: PropTypes.shape({}),\n})\n\nPopper.propTypes = {\n alignment: PropTypes.oneOf(alignments),\n // @ts-expect-error\n anchorElement: CustomPropTypes.Element,\n // @ts-expect-error\n arrow: PropTypes.node,\n children: PropTypes.node,\n containerStyles: PropTypes.shape({}),\n // @ts-expect-error\n customModifiers: PropTypes.arrayOf(PopperModifierPropType),\n // @ts-expect-error\n flipModifier: PopperModifierPropType,\n // @ts-expect-error\n forwardedRef: CustomPropTypes.ReactRef,\n isSpanContainer: PropTypes.bool,\n location: PropTypes.oneOf(locations),\n // @ts-expect-error\n offsetModifier: PopperModifierPropType,\n onFirstUpdate: PropTypes.func,\n onUpdate: PropTypes.func,\n // @ts-expect-error\n preventOverflowModifier: PopperModifierPropType,\n strategy: PropTypes.oneOf(['absolute', 'fixed']),\n}\n\nPopper.defaultProps = {\n alignment: 'center',\n anchorElement: undefined,\n arrow: undefined,\n // @ts-expect-error\n children: undefined,\n containerStyles: undefined,\n customModifiers: undefined,\n flipModifier: undefined,\n forwardedRef: undefined,\n isSpanContainer: false,\n location: 'above',\n offsetModifier: undefined,\n onFirstUpdate: undefined,\n onUpdate: undefined,\n preventOverflowModifier: undefined,\n strategy: 'absolute',\n}\n\nPopper.displayName = 'Popper'\n","export const presets = {\n preventOverflow: {\n enabled: { enabled: true },\n },\n flip: {\n disabled: { enabled: false },\n },\n offset: (skidding: number, distance: number) => ({\n options: { offset: [skidding, distance] },\n }),\n}\n","import { Tokens } from '../../../theming/types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n container: {\n backgroundColor: tokens.popover.defaultBackgroundColor,\n border: `1px solid ${tokens.popover.borderColor}`,\n borderRadius: '2px',\n boxShadow: tokens.elevation.medium,\n color: tokens.text.defaultColor,\n float: 'none',\n fontFamily: tokens.font.body,\n overflow: 'auto',\n overscrollBehavior: 'contain',\n textAlign: 'left',\n },\n } as const\n}\n","import React, { useRef, useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, mergeRefs } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../../support'\nimport { useThemeStyles } from '../../../theming'\n\nimport baseStyles from './styles'\nimport { DivForwardRef } from '../../..'\n\nexport interface MenuContainerProps {\n /**\n * The 'children' prop accepts arbitrary nodes, however the recommendation is to\n * use Menu.Group(s). When using Menu.Item or its variants you *must* render them\n * within a Menu.Group.\n */\n children: React.ReactNode\n /** A React ref to assign to the HTML node representing the Menu element. */\n forwardedRef?: DivForwardRef\n /**\n * When the menu becomes visible its width is determined by the content. With\n * `preserveWidth` it will take the initial width and keep it as a minimum for as\n * long as the menu is open.\n *\n * This can be useful when menu's content changes rapidly, as in a searchable list.\n * It removes unneccessary resizing to minimize distraction for the user.\n */\n preserveWidth?: boolean\n /** Accepts custom data attributes. */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\n/**\n * Internal component to be used in Menu and SelectMenu.\n */\nexport function MenuContainer(props: MenuContainerProps) {\n const { children, forwardedRef, preserveWidth, ...restProps } = props\n\n const [minWidth, setMinWidth] = useState<number | undefined>()\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'MenuContainer')\n\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const { current: containerElement } = containerRef\n if (preserveWidth && containerElement) {\n const { width } = containerElement.getBoundingClientRect()\n setMinWidth(width)\n }\n }, [preserveWidth])\n\n return (\n <div\n {...dataProps(restProps)}\n style={{ minWidth }}\n css={styles.container}\n ref={forwardedRef ? mergeRefs(containerRef, forwardedRef) : containerRef}\n >\n {children}\n </div>\n )\n}\n\nMenuContainer.propTypes = {\n children: PropTypes.node.isRequired,\n forwardedRef: CustomPropTypes.ReactRef,\n preserveWidth: PropTypes.bool,\n}\n\nMenuContainer.defaultProps = {\n forwardedRef: undefined,\n preserveWidth: false,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps } from '@ds/react-utils'\n\nimport { CustomPropTypes } from '../../support'\n\nimport { MenuContainer } from './MenuContainer'\n\nimport { DivForwardRef } from '../..'\n\n/**\n * There is a MenuProps already being exported in the Menu index.d.ts\n * This one just needs a few defs from that one. This should be renamed and exported\n * when the entireity of Menu is converted to TypeScript.\n */\n\ninterface MenuProps {\n /**\n * The 'children' prop accepts arbitrary nodes, however the recommendation is to\n * use Menu.Group(s). When using Menu.Item or its variants you *must* render them\n * within a Menu.Group.\n */\n children: React.ReactNode\n /**\n * A React ref to assign to the HTML node representing the Callout component.\n */\n forwardedRef?: DivForwardRef\n /**\n * When the menu becomes visible its width is determined by the content. With\n * `preserveWidth` it will take the initial width and keep it as a minimum for as\n * long as the menu is open.\n *\n * This can be useful when menu's content changes rapidly, as in a searchable list.\n * It removes unneccessary resizing to minimize distraction for the user.\n */\n preserveWidth?: boolean\n /** Accepts custom data attributes. */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\n/**\n * Menus provide a list of related actions in a limited space.\n */\nexport function Menu(props: MenuProps) {\n const { children, forwardedRef, preserveWidth = false, ...restProps } = props\n\n return (\n <MenuContainer\n {...dataProps(restProps)}\n preserveWidth={preserveWidth}\n forwardedRef={forwardedRef}\n >\n {children}\n </MenuContainer>\n )\n}\n\nMenu.propTypes = {\n children: PropTypes.node.isRequired,\n 'data-.*': PropTypes.string,\n forwardedRef: CustomPropTypes.ReactRef,\n preserveWidth: PropTypes.bool,\n}\n\nMenu.defaultProps = {\n 'data-.*': undefined,\n forwardedRef: undefined,\n preserveWidth: false,\n}\n\nMenu.displayName = 'MenuUI'\n","import { times, zIndexes } from '../../variables'\n\nconst ANIMATION = {\n Enter: {\n start: {\n opacity: 0,\n },\n\n end: {\n opacity: 1,\n },\n },\n\n Exit: {\n start: {\n opacity: 1,\n },\n\n end: {\n opacity: 0,\n },\n },\n} as const\n\nexport default () =>\n ({\n positionHelper: {\n left: 0,\n position: 'absolute',\n top: 0,\n zIndex: zIndexes.Menu,\n },\n\n animation: {\n enter: {\n ...ANIMATION.Enter.start,\n },\n enterActive: {\n ...ANIMATION.Enter.end,\n transitionTimingFunction: 'ease',\n transition: `opacity ${times.Menu.enter}ms`,\n },\n enterDone: {\n ...ANIMATION.Enter.end,\n },\n\n exit: {\n ...ANIMATION.Exit.start,\n },\n exitActive: {\n ...ANIMATION.Exit.end,\n transitionTimingFunction: 'ease',\n transition: `opacity ${times.Menu.exit}ms`,\n },\n exitDone: {\n ...ANIMATION.Exit.end,\n },\n },\n } as const)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { CSSTransition } from 'react-transition-group'\nimport { ClassNames } from '@emotion/core'\n\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\nimport { times } from '../../variables'\n\nimport baseStyles from './styles'\n\nfunction MenuAnimation(props) {\n const { animationRef, children, onExited, visible } = props\n const styles = useThemeStyles(baseStyles, 'Menu')\n\n return (\n <ClassNames>\n {({ css }) => (\n <CSSTransition\n appear\n in={visible}\n nodeRef={animationRef}\n timeout={{\n enter: times.Menu.enter,\n exit: times.Menu.exit,\n }}\n classNames={{\n appear: css(styles.animation.enter),\n appearActive: css(styles.animation.enterActive),\n appearDone: css(styles.animation.enterDone),\n\n enter: css(styles.animation.enter),\n enterActive: css(styles.animation.enterActive),\n enterDone: css(styles.animation.enterDone),\n\n exit: css(styles.animation.exit),\n exitActive: css(styles.animation.exitActive),\n exitDone: css(styles.animation.exitDone),\n }}\n onExited={onExited}\n unmountOnExit\n >\n {children}\n </CSSTransition>\n )}\n </ClassNames>\n )\n}\n\nMenuAnimation.propTypes = {\n /**\n * Ref that designates which element will be animated\n */\n animationRef: CustomPropTypes.ReactRef.isRequired,\n\n children: PropTypes.node.isRequired,\n\n /**\n * Function passed to the onExited prop of CSSTransition\n */\n onExited: PropTypes.func,\n\n /**\n * Dictates when the animation should enter/exit\n */\n visible: PropTypes.bool.isRequired,\n}\n\nMenuAnimation.defaultProps = {\n onExited: undefined,\n}\n\nexport default MenuAnimation\n","import React, { useEffect, useLayoutEffect, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport { dataProps, mergeRefs } from '@ds/react-utils'\n\nimport { logAlphaProp, noAnchorWarning } from '../../logging'\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\nimport { calculateScrollContainerHeight } from '../../utilities'\n\nimport { Popper } from '../Popper'\n\nimport { Menu } from './Menu'\nimport MenuAnimation from './MenuAnimation'\n\nimport baseStyles from './styles'\n\nexport const menuWithStateLocations = ['above', 'below', 'before', 'after']\nexport const menuWithStateAlignments = ['start', 'center', 'end']\n\n/**\n * Menus provide a list of related actions in a limited space.\n */\nfunction MenuWithState(props) {\n const {\n alignment,\n anchor,\n children,\n forwardedRef,\n location,\n locationFixed,\n maxHeight,\n maxHeightAuto,\n minWidth,\n positionStatic,\n visible,\n preserveWidth,\n ...restProps\n } = props\n\n const styles = useThemeStyles(baseStyles, 'Menu')\n\n const animationRef = useRef(null)\n const menuRef = useRef(null)\n\n useEffect(() => {\n if (visible && !anchor && !positionStatic) {\n noAnchorWarning('Menu')\n }\n }, [anchor, positionStatic, visible])\n\n useLayoutEffect(() => {\n // Set the menu's dimensions\n const menuElement = menuRef.current\n if (menuElement && visible) {\n if (maxHeight) {\n menuElement.style.maxHeight = maxHeight\n }\n\n if (anchor) {\n if (minWidth) {\n menuElement.style.minWidth = `${anchor.offsetWidth}px`\n }\n\n if (maxHeightAuto) {\n logAlphaProp('Menu', 'maxHeightAuto')\n menuElement.style.maxHeight = calculateScrollContainerHeight(\n anchor,\n menuElement\n )\n }\n }\n }\n }, [anchor, maxHeight, maxHeightAuto, minWidth, visible])\n\n const positionHelper = [styles.positionHelper, styles.menuWidthHelper]\n const flipModifier = locationFixed ? Popper.presets.flip.disabled : null\n\n return !positionStatic ? (\n <MenuAnimation animationRef={animationRef} visible={visible}>\n {/**\n * The menuWidthHelper is required to provide a containing block the Menu\n * content can populate that is the max width of the Menu. Without this\n * the containing block can be any width and the menu will be constrained.\n */}\n <div css={positionHelper}>\n <Popper\n alignment={alignment}\n anchorElement={anchor}\n location={location}\n onFirstUpdate={restProps.onVisible}\n flipModifier={flipModifier}\n >\n <Menu\n {...dataProps(restProps)}\n preserveWidth={preserveWidth}\n forwardedRef={mergeRefs(animationRef, forwardedRef, menuRef)}\n >\n {children}\n </Menu>\n </Popper>\n </div>\n </MenuAnimation>\n ) : (\n <MenuAnimation animationRef={animationRef} visible={visible}>\n {/* Static is default but being explicit */}\n <div css={{ position: 'static' }}>\n {/* Was position: absolute, which shrunk the div */}\n <div css={{ display: 'inline-block' }}>\n <Menu\n {...dataProps(restProps)}\n forwardedRef={mergeRefs(animationRef, forwardedRef, menuRef)}\n >\n {children}\n </Menu>\n </div>\n </div>\n </MenuAnimation>\n )\n}\n\nMenuWithState.locations = menuWithStateLocations\nMenuWithState.alignments = menuWithStateAlignments\n\nMenuWithState.propTypes = {\n /**\n * The alignment of the Menu along the edge of its anchor element.\n *\n * For locations 'above' and 'below':\n * - 'start': left-aligns the Menu and the anchor element\n * - 'center': centers the Menu along the width of the anchor element\n * - 'end': right-aligns the Menu and the anchor element\n *\n * For locations 'before' and 'after':\n * - 'start': top-aligns the Menu and the anchor element\n * - 'center': centers the Menu along the height of the anchor element\n * - 'end': bottom-aligns the Menu and the anchor element\n */\n alignment: PropTypes.oneOf(menuWithStateAlignments),\n\n /**\n * The Element around which the Menu will be positioned.\n */\n anchor: CustomPropTypes.Element,\n\n /**\n * The 'children' prop accepts arbitrary nodes, however the recommendation is to\n * use Menu.Group(s). When using Menu.Item or its variants you *must* render them\n * within a Menu.Group.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Accepts custom data attributes.\n */\n 'data-.*': PropTypes.string,\n\n /**\n * A React ref to assign to the HTML node representing the Menu element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * The preferred location of the Menu relative to its anchor element.\n */\n location: PropTypes.oneOf(menuWithStateLocations),\n\n /**\n * Determines whether the Menu will adjust its location when it starts to overlap\n * its anchor element (by default it will \"flip\" to the opposite side of the\n * anchor element).\n */\n locationFixed: PropTypes.bool,\n\n /**\n * Max height of the menu in any accepted numeric or percentage CSS unit.\n */\n maxHeight: PropTypes.string,\n\n /**\n * Automatically calculates the max height of the menu. Makes menu scrollable if it does not have\n * enough height to fully open.\n */\n maxHeightAuto: PropTypes.bool,\n\n /**\n * By default, the minimum width of the Menu will be the width of its anchor element.\n *\n * Set this prop to `false` in order to remove this constraint.\n */\n minWidth: PropTypes.bool,\n\n /**\n * When a Menu is displayed without providing an Element for the 'anchor' prop,\n * apply the CSS property { position: static; } to the Menu.\n *\n * The presence of this prop has no effect when an Element is provided for 'anchor'.\n *\n * DETAILS:\n * The CSS positioning properties for the Menu component will be updated in a\n * future major release.\n * - currently: if a Menu is displayed without providing an Element for the\n * 'anchor' prop, it is positioned with the CSS properties:\n * { position: absolute; top: 0; left: 0; z-index: 200; }\n * - upcoming [FUTURE MAJOR RELEASE]: if a Menu is displayed without providing\n * an Element for the 'anchor' prop, none of the above-referenced CSS properties\n * will be applied, it will be up to the consumer to appropriately position\n * the Menu (or its wrapper)\n * - recommended: if you are displaying a Menu without providing an Element for\n * the 'anchor' prop, you can provide the boolean prop 'positionStatic' to apply\n * the CSS property { position: static; } to the Menu (ignoring the values\n * that are being set for 'top', 'left', 'z-index')\n */\n positionStatic: PropTypes.bool,\n\n /**\n * When the menu becomes visible its width is determined by the content. With\n * `preserveWidth` it will take the initial width and keep it as a minimum for as\n * long as the menu is open.\n *\n * This can be useful when menu's content changes rapidly, as in a searchable list.\n * It removes unneccessary resizing to minimize distraction for the user.\n */\n preserveWidth: PropTypes.bool,\n\n /**\n * Display the Menu.\n */\n visible: PropTypes.bool,\n}\n\nMenuWithState.defaultProps = {\n 'data-.*': undefined,\n alignment: 'start',\n anchor: undefined,\n forwardedRef: undefined,\n location: 'below',\n locationFixed: false,\n maxHeight: undefined,\n maxHeightAuto: false,\n minWidth: true,\n positionStatic: false,\n preserveWidth: false,\n visible: false,\n}\n\nMenuWithState.displayName = 'Menu'\n\nexport default MenuWithState\n","import consoleWarn from './consoleWarn'\n\nexport const noAnchorWarning = (component: string) => {\n consoleWarn(`\n WARN @ds/ui: The CSS positioning properties for the ${component} component\n will be updated in a future major release.\n - currently: if a ${component} is displayed without providing an Element for\n the 'anchor' prop, it is positioned with the CSS properties:\n { position: absolute; top: 0; left: 0; z-index: 200; }\n - upcoming [FUTURE MAJOR RELEASE]: if a ${component} is displayed without providing\n an Element for the 'anchor' prop, none of the above-referenced CSS properties\n will be applied, it will be up to the consumer to appropriately position\n the ${component} (or its wrapper)\n - recommended: if you are displaying a ${component} without providing an Element\n for the 'anchor' prop, you can provide the boolean prop 'positionStatic' to\n apply the CSS property { position: static; } to the ${component} (ignoring the\n values that are being set for 'top', 'left', 'z-index')\n `)\n}\n","import Scrollparent from 'scrollparent'\n\n/**\n * @param anchorElement The Element which the attached containerElement will be positioned to.\n * @param containerElement The container Element of the Menu.\n *\n * @returns Returns a calculated pixel value string, eg, `100px`.\n */\n\nexport const calculateScrollContainerHeight = (\n anchorElement: HTMLElement,\n containerElement: HTMLElement\n): string => {\n const anchorYcoordinate = anchorElement.getBoundingClientRect().top\n const anchorHeight = anchorElement.offsetHeight\n const parent = Scrollparent(containerElement) || document.documentElement\n const parentYcoordinate = parent.getBoundingClientRect().top\n const parentHeight = parent.offsetHeight - anchorHeight\n const menuHeightAbove = anchorYcoordinate - parentYcoordinate\n const menuHeightBelow = parentHeight - anchorYcoordinate + parentYcoordinate\n const menuCalculatedHeight =\n menuHeightAbove > menuHeightBelow ? menuHeightAbove : menuHeightBelow\n\n return `${menuCalculatedHeight}px`\n}\n","import { withRef } from '../../HOC'\nimport MenuWithState from './MenuWithState'\n\nexport default withRef(MenuWithState, 'Menu')\n","import { MenuButton } from './MenuButton'\nimport { MenuCustomItem } from './MenuCustomItem'\nimport { MenuGroup } from './MenuGroup'\nimport MenuItem from './MenuItem'\nimport { MenuItemDisclosure } from './MenuItemDisclosure'\nimport MenuItemFileInput from './MenuItemFileInput'\nimport MenuItemWithSubmenu from './MenuItemWithSubmenu'\nimport MenuWithHOC from './MenuWithHOC'\n\nMenuItem.displayName = 'Menu.Item'\nMenuItemFileInput.displayName = 'Menu.ItemFileInput'\nMenuItemWithSubmenu.displayName = 'Menu.ItemWithSubmenu'\n\nMenuWithHOC.Button = MenuButton\nMenuWithHOC.CustomItem = MenuCustomItem\nMenuWithHOC.Group = MenuGroup\nMenuWithHOC.Item = MenuItem\nMenuWithHOC.ItemDisclosure = MenuItemDisclosure\nMenuWithHOC.ItemFileInput = MenuItemFileInput\nMenuWithHOC.ItemWithSubmenu = MenuItemWithSubmenu\n\nexport default MenuWithHOC\n","/**\n * A predicate function that determines whether a given string is in the shape\n * of a hex triplet (e.g. '#FF00FF').\n *\n * @param {string} str\n * @returns {boolean} Whether the provided string represents a hex triplet\n *\n * @example\n * // returns true\n * isHexTriplet('#a29f0b')\n *\n * // returns false\n * isHexTriplet('#c23')\n */\nconst isHexTriplet = (str: string): boolean => /^#[0-9A-Fa-f]{6}$/.test(str)\n\nexport default isHexTriplet\n","import isHexTriplet from './isHexTriplet'\n\n/**\n * Apply brightness factor to a color.\n *\n * @param {string} hexColor - A hex triplet prepended by '#', e.g. '#019AEF'.\n * @param {number} brightness - A positive factor by which to adjust the brightness.\n * @returns {string} A hex triplet representing the final color.\n *\n * @requires isHexTriplet\n */\nconst applyBrightness = (hexColor?: string, brightness = 0): string | null => {\n if (!hexColor || !isHexTriplet(hexColor) || brightness < 0) {\n return null\n }\n\n const HEX = 16\n\n const red = parseInt(hexColor.substring(1, 3), HEX)\n const green = parseInt(hexColor.substring(3, 5), HEX)\n const blue = parseInt(hexColor.substring(5), HEX)\n\n const padHighNibble = (str: string): string =>\n `00${str}`.substring(str.length)\n\n const calculatedRed = padHighNibble(\n Math.min(Math.round(red * brightness), 255).toString(HEX)\n )\n const calculatedGreen = padHighNibble(\n Math.min(Math.round(green * brightness), 255).toString(HEX)\n )\n const calculatedBlue = padHighNibble(\n Math.min(Math.round(blue * brightness), 255).toString(HEX)\n )\n\n return `#${calculatedRed}${calculatedGreen}${calculatedBlue}`\n}\n\nexport default applyBrightness\n","/**\n * @param {string} hexColor - A hex triplet prepended by '#', e.g. '#019AEF'.\n * @returns {boolean} Whether the provided hex color has low perceived brightness\n * (i.e. is a \"dark\" color).\n */\nconst hasLowPerceivedBrightness = (hexColor: string): boolean => {\n const equivalentEightBitGrayscale = (hexTriplet: string): number => {\n const HEX = 16\n const backgroundRed = parseInt(hexTriplet.substring(1, 3), HEX)\n const backgroundGreen = parseInt(hexTriplet.substring(3, 5), HEX)\n const backgroundBlue = parseInt(hexTriplet.substring(5), HEX)\n\n /**\n * The perceived brightness of the individual primaries are not identical.\n * Reference: https://www.w3.org/TR/AERT/#color-contrast\n */\n return (\n backgroundRed * 0.299 + backgroundGreen * 0.587 + backgroundBlue * 0.114\n )\n }\n\n const isDark = (eightBitGrayscaleColor: number) => {\n const MIDDLE_GRAY = 128\n return eightBitGrayscaleColor < MIDDLE_GRAY\n }\n\n const hexColorGrayScale = equivalentEightBitGrayscale(hexColor)\n return isDark(hexColorGrayScale)\n}\n\nexport default hasLowPerceivedBrightness\n","import isHexTriplet from './isHexTriplet'\nimport hasLowPerceivedBrightness from './hasLowPerceivedBrightness'\n\n/**\n * An accessible fill color given the background color upon which it will display.\n *\n * @param {string} backgroundHexColor - A hex triplet prepended by '#', e.g. '#019AEF'.\n * @returns {string} A hex triplet for either a standard \"light\" or \"dark\" fill color.\n */\nconst contrastingGrayscaleFillColor = (\n backgroundHexColor?: string\n): string | null => {\n if (!backgroundHexColor || !isHexTriplet(backgroundHexColor)) {\n return null\n }\n\n const FILL_LIGHT = '#ffffff'\n const FILL_DARK = '#000000'\n\n return hasLowPerceivedBrightness(backgroundHexColor) ? FILL_LIGHT : FILL_DARK\n}\n\nexport default contrastingGrayscaleFillColor\n","import isHexTriplet from './isHexTriplet'\nimport hasLowPerceivedBrightness from './hasLowPerceivedBrightness'\n\n/**\n * An accessible text color given the background color upon which it will display.\n *\n * @param {string} backgroundHexColor - A hex triplet prepended by '#', e.g. '#019AEF'.\n * @returns {string} A hex triplet for either a standard \"light\" or \"dark\" text color.\n */\nconst contrastingGrayscaleTextColor = (\n backgroundHexColor?: string | null\n): string | null => {\n if (!backgroundHexColor || !isHexTriplet(backgroundHexColor)) {\n return null\n }\n\n const TEXT_LIGHT = '#f4f4f4'\n const TEXT_DARK = '#1e1e1e'\n\n return hasLowPerceivedBrightness(backgroundHexColor) ? TEXT_LIGHT : TEXT_DARK\n}\n\nexport default contrastingGrayscaleTextColor\n","import Button from './Button'\nimport Header from './Header'\nimport HeaderActionItem from './HeaderActionItem'\nimport HeaderLogo from './HeaderLogo'\nimport InvertedButton from './InvertedButton'\nimport QuickActionsItem from './QuickActionsItem'\n\nconst cobrandingStyles = {\n Button,\n Header,\n HeaderActionItem,\n HeaderLogo,\n InvertedButton,\n QuickActionsItem,\n} as const\n\nexport type CobrandingStyles = typeof cobrandingStyles\nexport default cobrandingStyles\n","import { CreateButtonCss } from '../../../styles'\nimport { CobrandingTokens } from '../../types'\n\nexport default (config: { tokens: CobrandingTokens }) => {\n const { tokens } = config\n\n return {\n Button: {\n ...(tokens.buttonMainBackgroundColor && {\n main: {\n ...CreateButtonCss({\n // @ts-expect-error\n defaultBackgroundColor: tokens.buttonMainBackgroundColor,\n // @ts-expect-error\n defaultTextColor: tokens.buttonMainTextColor,\n // @ts-expect-error\n hoverBackgroundColor: tokens.buttonMainBackgroundHoverColor,\n // @ts-expect-error\n activeBackgroundColor: tokens.buttonMainBackgroundActiveColor,\n\n disabledOpacity: 0.4,\n }),\n },\n }),\n ...(tokens.buttonPrimaryBackgroundColor && {\n primary: {\n ...CreateButtonCss({\n // @ts-expect-error\n defaultBackgroundColor: tokens.buttonPrimaryBackgroundColor,\n // @ts-expect-error\n defaultTextColor: tokens.buttonPrimaryTextColor,\n // @ts-expect-error\n hoverBackgroundColor: tokens.buttonPrimaryBackgroundHoverColor,\n // @ts-expect-error\n activeBackgroundColor: tokens.buttonPrimaryBackgroundActiveColor,\n\n disabledOpacity: 0.4,\n }),\n },\n }),\n },\n } as const\n}\n","import hexToRgba from 'hex-to-rgba'\nimport { CobrandingTokens } from '../../types'\nimport { CreateFocusCss } from '../../../styles'\n\nexport default (config: { tokens: CobrandingTokens }) => {\n const { tokens } = config\n return (\n tokens.headerBackgroundColor &&\n ({\n Header: {\n default: {\n backgroundColor: tokens.headerBackgroundColor,\n },\n },\n\n Title: {\n default: {\n color: tokens.headerTextColor,\n },\n leftVerticalSeparator: {\n borderLeftColor: tokens.headerTextColor\n ? hexToRgba(tokens.headerTextColor, 0.3)\n : null,\n },\n },\n\n Avatar: {\n wrap: {\n color: tokens.headerTextColor,\n\n '&:hover': {\n backgroundColor: tokens.headerBackgroundHoverColor,\n color: tokens.headerTextColor,\n },\n\n ...CreateFocusCss({ outlineColor: 'currentColor' }),\n },\n },\n } as const)\n )\n}\n","import { CobrandingTokens } from '../../types'\nimport { CreateFocusCss } from '../../../styles'\n\nexport default (config: { tokens: CobrandingTokens }) => {\n const { tokens } = config\n\n return (\n tokens.headerBackgroundColor &&\n ({\n default: {\n wrap: {\n color: tokens.headerTextColor,\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n backgroundColor: tokens.headerBackgroundHoverColor,\n color: tokens.headerTextColor,\n\n svg: {\n color: tokens.headerTextColor,\n },\n },\n\n ...CreateFocusCss({ outlineColor: tokens.headerTextColor! }),\n },\n },\n\n selected: {\n wrap: {\n color: tokens.headerTextColor,\n\n '&::after': {\n backgroundColor: tokens.headerTextColor,\n },\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n color: tokens.headerTextColor,\n\n '&::after': {\n backgroundColor: tokens.headerTextColor,\n },\n },\n },\n },\n\n isLegacyNavItem: {\n wrap: {\n color: tokens.headerTextColor,\n\n '&:hover, &:active, &[aria-expanded=\"true\"]': {\n backgroundColor: 'transparent',\n color: tokens.headerTextColor,\n\n '&::after': {\n backgroundColor: tokens.headerTextColor,\n },\n },\n },\n },\n } as const)\n )\n}\n","import hexToRgba from 'hex-to-rgba'\n\nimport { CobrandingTokens } from '../../types'\nimport { CreateFocusCss } from '../../../styles'\n\nexport default (config: { tokens: CobrandingTokens }) => {\n const { tokens } = config\n const hasCustomBackgroundColor = tokens.headerBackgroundColor\n const hasCustomImage = tokens.logoUrl\n\n return (\n (hasCustomBackgroundColor || hasCustomImage) &&\n ({\n ...(hasCustomImage && {\n wrap: {\n height: '100%',\n marginLeft: '-24px',\n width: '220px',\n },\n }),\n\n ...((hasCustomBackgroundColor || hasCustomImage) && {\n link: {\n ...(hasCustomBackgroundColor && {\n color: tokens.headerFillColor,\n\n ...CreateFocusCss({ outlineColor: tokens.headerFillColor! }),\n }),\n\n ...(hasCustomImage && {\n ...(!hasCustomBackgroundColor && { backgroundColor: '#ffffff' }),\n ...(tokens.showLogoOnWhite && { backgroundColor: '#ffffff' }),\n backgroundImage: `url(${tokens.logoUrl})`,\n backgroundOrigin: 'content-box',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'contain',\n display: 'block',\n height: '100%',\n margin: 0,\n padding: '8px 24px',\n width: '100%',\n }),\n },\n }),\n\n ...(hasCustomBackgroundColor && {\n image: {\n svg: {\n fill: tokens.headerFillColor,\n },\n },\n\n text: {\n borderLeftColor: tokens.headerFillColor\n ? hexToRgba(tokens.headerFillColor, 0.3)\n : null,\n color: tokens.headerFillColor,\n },\n }),\n } as const)\n )\n}\n","import { CobrandingTokens } from '../../types'\nimport { InvertedButtonProps } from '../../../components/InvertedButton'\nimport { CreateFocusCss } from '../../../styles'\n\nexport default (config: {\n props: InvertedButtonProps\n tokens: CobrandingTokens\n}) => {\n const { props, tokens } = config\n\n const button = {\n '&:focus': CreateFocusCss({\n outline: `1px solid ${tokens.invertedButtonBackgroundColor}`,\n outlineOffset: '4px',\n }),\n\n ...(props.kind === 'primary' && {\n backgroundColor: tokens.invertedButtonBackgroundColor,\n borderColor: tokens.invertedButtonBackgroundColor,\n color: tokens.invertedButtonTextColor,\n\n ...(!props.disabled && {\n '&:hover': {\n backgroundColor: 'transparent',\n color: tokens.invertedButtonBackgroundColor,\n },\n }),\n }),\n\n ...(props.kind === 'secondary' && {\n backgroundColor: 'transparent',\n borderColor: tokens.invertedButtonBackgroundColor,\n color: tokens.invertedButtonBackgroundColor,\n\n ...(!props.disabled && {\n '&:hover': {\n backgroundColor: tokens.invertedButtonBackgroundColor,\n color: tokens.invertedButtonTextColor,\n },\n }),\n }),\n\n ...(props.kind === 'tertiary' && {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n color: tokens.invertedButtonBackgroundColor,\n\n ...(!props.disabled && {\n '&:hover': {\n borderColor: tokens.invertedButtonBackgroundColor,\n },\n }),\n }),\n } as const\n\n return {\n ...(tokens.invertedButtonBackgroundColor && { button }),\n } as const\n}\n","import { CobrandingTokens } from '../../types'\n\nexport default (config: { tokens: CobrandingTokens }) => {\n const { tokens } = config\n\n return (\n tokens.quickActionsTextColor &&\n ({\n default: {\n link: {\n color: tokens.quickActionsTextColor,\n\n '& + &': {\n '&::before': {\n backgroundColor: tokens.quickActionsTextColor,\n },\n },\n },\n },\n } as const)\n )\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport calculateTokens from '../../cobranding/calculateTokens'\nimport styles from '../../cobranding/styles'\nimport { CobrandingConfig, CobrandingTheme } from '../../types'\n\nexport const CobrandingContext = React.createContext({} as CobrandingTheme)\n\nexport interface CobrandingProps {\n /**\n * Application content to receive cobranding styles.\n */\n children: React.ReactNode\n /**\n * The provided config will be used to apply cobranding styles to eligible components.\n */\n config: CobrandingConfig\n}\n\n/**\n * Wrap your app with the `Cobranding` component to apply custom colors to eligible components.\n */\nexport function Cobranding(props: CobrandingProps) {\n const { children, config } = props\n\n const tokens = calculateTokens(config)\n\n const cobrandingTheme = {\n styles,\n tokens,\n }\n\n return (\n <CobrandingContext.Provider value={cobrandingTheme as CobrandingTheme}>\n {children}\n </CobrandingContext.Provider>\n )\n}\n\nCobranding.propTypes = {\n /**\n * Application content to receive cobranding styles.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * The provided config will be used to apply cobranding styles to eligible components.\n */\n config: PropTypes.shape({\n buttonMainBackgroundColor: PropTypes.string,\n buttonMainTextColor: PropTypes.string,\n buttonPrimaryBackgroundColor: PropTypes.string,\n buttonPrimaryTextColor: PropTypes.string,\n headerBackgroundColor: PropTypes.string,\n headerTextColor: PropTypes.string,\n logoUrl: PropTypes.string,\n showLogoOnWhite: PropTypes.bool,\n }).isRequired,\n}\n","import { CobrandingConfig, CobrandingTokens } from '../types'\nimport applyBrightness from './applyBrightness'\nimport contrastingGrayscaleFillColor from './contrastingGrayscaleFillColor'\nimport contrastingGrayscaleTextColor from './contrastingGrayscaleTextColor'\n\nexport default (cobrandingConfig: CobrandingConfig): CobrandingTokens => {\n // #region Header colors\n const { headerBackgroundColor } = cobrandingConfig\n\n const HEADER_HOVER_BRIGHTNESS = 1.3\n const HEADER_ACTIVE_BRIGHTNESS = 0.7\n\n const headerTextColor =\n cobrandingConfig.headerTextColor ||\n contrastingGrayscaleTextColor(headerBackgroundColor)\n\n const quickActionsText = contrastingGrayscaleTextColor(headerBackgroundColor)\n\n const headerBackgroundHoverColor = applyBrightness(\n cobrandingConfig.headerBackgroundColor,\n HEADER_HOVER_BRIGHTNESS\n )\n\n const headerBackgroundActiveColor = applyBrightness(\n cobrandingConfig.headerBackgroundColor,\n HEADER_ACTIVE_BRIGHTNESS\n )\n\n const headerFillColor = contrastingGrayscaleFillColor(headerBackgroundColor)\n // #endregion\n\n // #region InvertedButton\n const invertedButtonBackgroundColor = headerTextColor\n const invertedButtonTextColor = contrastingGrayscaleTextColor(headerTextColor)\n // #endregion\n\n // #region Button colors\n const BUTTON_HOVER_BRIGHTNESS = 0.967\n const BUTTON_ACTIVE_BRIGHTNESS = 0.934\n\n const { buttonMainBackgroundColor, buttonPrimaryBackgroundColor } =\n cobrandingConfig\n\n const buttonMainTextColor =\n cobrandingConfig.buttonMainTextColor ||\n contrastingGrayscaleTextColor(buttonMainBackgroundColor)\n\n const buttonPrimaryTextColor =\n cobrandingConfig.buttonPrimaryTextColor ||\n contrastingGrayscaleTextColor(buttonPrimaryBackgroundColor)\n\n const buttonMainBackgroundHoverColor = applyBrightness(\n buttonMainBackgroundColor,\n BUTTON_HOVER_BRIGHTNESS\n )\n\n const buttonMainBackgroundActiveColor = applyBrightness(\n buttonMainBackgroundColor,\n BUTTON_ACTIVE_BRIGHTNESS\n )\n\n const buttonPrimaryBackgroundHoverColor = applyBrightness(\n buttonPrimaryBackgroundColor,\n BUTTON_HOVER_BRIGHTNESS\n )\n\n const buttonPrimaryBackgroundActiveColor = applyBrightness(\n buttonPrimaryBackgroundColor,\n BUTTON_ACTIVE_BRIGHTNESS\n )\n // #endregion\n\n return {\n headerBackgroundColor,\n headerBackgroundHoverColor,\n headerBackgroundActiveColor,\n headerTextColor,\n headerFillColor,\n\n logoUrl: cobrandingConfig.logoUrl,\n showLogoOnWhite: cobrandingConfig.showLogoOnWhite,\n\n invertedButtonBackgroundColor,\n invertedButtonTextColor,\n\n quickActionsTextColor: quickActionsText,\n\n buttonMainBackgroundColor,\n buttonMainBackgroundHoverColor,\n buttonMainBackgroundActiveColor,\n buttonMainTextColor,\n\n buttonPrimaryBackgroundColor,\n buttonPrimaryBackgroundHoverColor,\n buttonPrimaryBackgroundActiveColor,\n buttonPrimaryTextColor,\n }\n}\n","import { useLayoutEffect, useRef } from 'react'\n\nexport function useLockBodyScroll(locked: boolean) {\n const originalOverflowRef = useRef<string>()\n\n useLayoutEffect(() => {\n if (locked) {\n if (!originalOverflowRef.current) {\n originalOverflowRef.current = getBodyOverflow() || undefined\n }\n setBodyOverflow('hidden')\n } else if (originalOverflowRef.current) {\n setBodyOverflow(originalOverflowRef.current)\n }\n return () => {\n if (originalOverflowRef.current) {\n setBodyOverflow(originalOverflowRef.current)\n }\n }\n }, [locked])\n}\n\nfunction setBodyOverflow(value: string) {\n document.body.style.overflow = value\n}\n\nfunction getBodyOverflow() {\n return window.getComputedStyle(document.body).overflow\n}\n","import * as React from 'react'\nimport { createDomMotionComponent, Target, VariantLabels } from 'framer-motion'\nimport { Custom, DSVariants, MotionComponent } from '../types'\nimport { getEasingTransition, getEasingVariants } from '../utils'\nimport type { Props as MotionProps } from './Motion'\n\ntype VariantProps = 'initial' | 'animate' | 'whileFocus' | 'whileHover'\ninterface Props extends Omit<MotionProps, VariantProps> {\n /* Variant label(s) to animate to */\n animate?: boolean | VariantLabels\n /* Custom data to use to resolve dynamic variants differently for each\n * animating component. */\n custom?: Custom\n /* Properties to start in before any animation happens. Set to false to\n * initialize with the values in animate (disabling the mount animation) */\n initial?: boolean | Target | VariantLabels\n /* Variant label(s) to animate to when the component receives focus. */\n whileFocus?: VariantLabels\n /* Variant label(s) to animate to while the hover gesture is recognized. */\n whileHover?: VariantLabels\n /* Variants allow you to define animation states and organize them by name.\n * They allow you to control animations throughout a component tree by\n * switching a single `animate` prop. */\n variants: DSVariants\n}\n\n/**\n * Allows component animations to be configured using pre-defined visual states.\n * By giving a component and its children variants with matching names, whole\n * React trees can be animated by changing a single prop.\n */\nexport const MotionVariant = React.forwardRef<HTMLElement | SVGElement, Props>(\n (\n {\n children,\n as = 'div',\n variants,\n transition,\n onAnimationEnd,\n onTapEnd,\n ...props\n },\n forwardedRef\n ) => {\n // account for multiple variants that might have various \"ease\" properites\n const variantsWithEase = getEasingVariants(variants, props.custom)\n\n // account for standard transition or with animating values\n const transitionWithEase = getEasingTransition(transition)\n\n // get framer motion's DOM primitive counterpart (i.e. motion.div)\n const Component = React.useMemo(\n () => createDomMotionComponent(as) as MotionComponent,\n [as]\n )\n\n return (\n <Component\n {...props}\n ref={forwardedRef}\n variants={variantsWithEase}\n transition={transitionWithEase}\n onAnimationComplete={onAnimationEnd}\n onTap={onTapEnd}\n >\n {children}\n </Component>\n )\n }\n)\n","import React, { useRef, useEffect } from 'react'\n\nimport PropTypes from 'prop-types'\nimport { MotionPresence, MotionVariant } from '@ds/motion'\n\nimport { dataProps } from '@ds/react-utils'\nimport { useIsInk, useThemeStyles } from '../../theming'\nimport { consoleWarn } from '../../logging'\nimport { keyboardEvents, dragEvents, mouseEvents } from '../../variables'\n\nimport baseStyles from './styles'\n\nimport { EventListenerProps } from '../../types'\n\nexport interface ShroudProps extends EventListenerProps<HTMLDivElement> {\n /**\n * Displays the Shroud.\n */\n visible?: boolean\n /**\n * Uses a light color for the Shroud (without this prop the Shroud displays using a dark color).\n * Note this prop only applies to Olive styles. If you're using Ink, there is no dark option,\n * the Shroud will render 'light', there is no need to pass this prop.\n */\n light?: boolean\n /**\n * Event types which will be ignored (not propogated, not defaulted)\n * by the shroud.\n */\n ignoreEventTypes?: Array<keyof HTMLElementEventMap>\n /**\n * The z-index to apply to the Shroud (note that it is displayed using CSS position: fixed).\n *\n * The z-index that was applied to the Shroud can be retrieved from the component via the property `Shroud.zIndex`.\n */\n zIndex?: number\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\nconst DEPRECATED_Z_INDEX = 799\n\nexport const defaultIgnoreEvents = [\n ...keyboardEvents,\n ...dragEvents,\n ...mouseEvents,\n]\n\nconst ignoreEvent = (event: Event | React.SyntheticEvent) => {\n event.stopPropagation?.()\n event.preventDefault?.()\n}\n\nexport function Shroud(props: ShroudProps) {\n const {\n light,\n onClick,\n visible,\n zIndex,\n ignoreEventTypes = defaultIgnoreEvents,\n ...restProps\n } = props\n if (useIsInk() && light) {\n consoleWarn(`\n The 'light' prop does not apply when using Ink.\n The Shroud component will always be in 'light' mode when the\n 'Ink' theme is in use.\n `)\n }\n\n const shroudRef = useRef<HTMLDivElement>(null)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'Shroud', props)\n\n const shroudStyles = [styles.Shroud, light && styles.light, { zIndex }]\n\n useEffect(() => {\n if (visible) {\n const shroudElement = shroudRef.current\n const types = ignoreEventTypes.filter((type) => type !== 'click')\n types.forEach((type) => {\n shroudElement?.addEventListener(type, ignoreEvent)\n })\n return () => {\n types.forEach((type) => {\n shroudElement?.removeEventListener(type, ignoreEvent)\n })\n }\n }\n return undefined\n }, [ignoreEventTypes, visible])\n\n return (\n <MotionPresence>\n {visible && (\n <MotionVariant\n {...dataProps(restProps)}\n css={shroudStyles}\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n ignoreEvent(e)\n onClick?.(e)\n }}\n ref={shroudRef}\n role=\"none\"\n key=\"shroud\"\n animate=\"enter\"\n exit=\"exit\"\n variants={styles.motionVariants}\n />\n )}\n </MotionPresence>\n )\n}\n\nObject.defineProperty(Shroud, 'zIndex', {\n get: () => {\n consoleWarn(`\n WARN @ds/ui: This z-index (${DEPRECATED_Z_INDEX}) accessed by Shroud.zIndex\n is the default value applied when mounted directly by a consumer of the DsUi\n library. This default value is deprecated and the property will be removed in\n the next major release, if you require a specific z-index (or are expecting a specific\n z-index, like the now deprecated default) you should specify it using the new zIndex\n prop on the Shroud component.\n `)\n return DEPRECATED_Z_INDEX\n },\n})\n\nShroud.propTypes = {\n 'data-.*': PropTypes.string,\n ignoreEventTypes: PropTypes.arrayOf(PropTypes.string),\n light: PropTypes.bool,\n onClick: PropTypes.func,\n visible: PropTypes.bool,\n zIndex: PropTypes.number,\n}\n\nShroud.defaultProps = {\n 'data-.*': undefined,\n ignoreEventTypes: defaultIgnoreEvents,\n light: false,\n onClick: null,\n visible: false,\n zIndex: DEPRECATED_Z_INDEX,\n}\n\nShroud.displayName = 'Shroud'\n","import colors from '../../Common/colors'\nimport { CSSObject } from '@emotion/core'\nimport { RevealFrom, OverflowAttribute } from './types'\n\nconst revealBackgroundColor = colors.white\nconst borderColor = 'rgba(25, 24, 35, 0.15)'\n\n// TODO: get this zIndex from @ds/ui if/when public\nconst modalZIndex = 800\n\nconst revealedBorder = `1px solid ${borderColor}`\n\nconst pinnedBottom: CSSObject = {\n left: 0,\n bottom: 0,\n right: 0,\n borderTop: revealedBorder,\n boxShadow: `0px -32px 64px 0 ${borderColor}`,\n}\n\nconst pinnedLeft: CSSObject = {\n top: 0,\n bottom: 0,\n left: 0,\n borderRight: revealedBorder,\n boxShadow: `32px 0px 64px 0 ${borderColor}`,\n}\n\nconst pinnedRight: CSSObject = {\n top: 0,\n bottom: 0,\n right: 0,\n borderLeft: revealedBorder,\n boxShadow: `32px 0px 64px 0 ${borderColor}`,\n}\n\nconst noShroudStyles: CSSObject = {\n boxShadow: 'none',\n}\n\nconst revealContainerCSS: (\n from: RevealFrom,\n overflow: OverflowAttribute,\n shrouded: boolean\n) => CSSObject = (from = 'left', overflow = 'hidden', shrouded) => {\n const base: CSSObject = {\n label: 'REVEAL_CONTAINER',\n backgroundColor: revealBackgroundColor,\n position: 'fixed',\n overflow,\n zIndex: modalZIndex,\n }\n\n const noShroud = !shrouded && noShroudStyles\n\n const pins =\n from === 'bottom'\n ? pinnedBottom\n : from === 'right'\n ? pinnedRight\n : pinnedLeft\n return {\n ...base,\n ...pins,\n ...noShroud,\n }\n}\n\nexport default {\n revealContainerCSS,\n}\n","import * as React from 'react'\nimport { MotionPresence, Motion } from '@ds/motion'\nimport { isEscape, useEventListener, useLockBodyScroll } from '@ds/react-utils'\nimport { Shroud, trapTabNavigation as trapFocus } from '@ds/ui'\nimport styles from './styles'\nimport { RevealFrom, OverflowAttribute } from './types'\n\nconst DEFAULT_ANIMATION_MS = 300\ntype NoArgNoReturn = () => void\n\nexport interface RevealProps {\n distance: number\n from?: RevealFrom\n overflow?: OverflowAttribute\n onCancel: () => void\n onShowComplete?: () => void\n onHideComplete?: () => void\n duration?: number\n shrouded?: boolean\n light?: boolean\n visible?: boolean\n trapTabNavigation?: boolean\n focusSelector?: string\n}\n\nexport const Reveal: React.FunctionComponent<RevealProps> = ({\n children,\n distance,\n from = 'left',\n overflow = 'hidden',\n shrouded = true,\n light = false,\n visible = false,\n onCancel,\n onShowComplete,\n onHideComplete,\n duration = DEFAULT_ANIMATION_MS,\n trapTabNavigation = true,\n focusSelector,\n}) => {\n const containerRef = React.useRef<HTMLDivElement>(null)\n const previousFocusRef = React.useRef<HTMLElement>()\n const animateDoneRef = React.useRef<NoArgNoReturn | undefined>(undefined)\n\n useEventListener(\n 'keydown',\n (event) => handleKeydown(event as KeyboardEvent),\n document\n )\n\n useLockBodyScroll(visible)\n\n const distanceStyle =\n from === 'bottom'\n ? { height: distance }\n : from === 'right'\n ? { width: distance }\n : { width: distance }\n const animateFrom =\n from === 'bottom'\n ? { marginBottom: -distance }\n : from === 'right'\n ? { marginRight: -distance }\n : { marginLeft: -distance }\n const animateEnter =\n from === 'bottom'\n ? { marginBottom: 0 }\n : from === 'right'\n ? { marginRight: 0 }\n : { marginLeft: 0 }\n const animateLeave =\n from === 'bottom'\n ? { marginBottom: -distance }\n : from === 'right'\n ? { marginRight: -distance }\n : { marginLeft: -distance }\n\n // using pointer approach to done function as Motion does not \"render\" on exit\n animateDoneRef.current = visible\n ? () => {\n if (trapTabNavigation && containerRef.current) {\n trapFocus(containerRef.current)\n setFocus()\n }\n onShowComplete?.()\n }\n : () => {\n if (\n previousFocusRef.current &&\n document.body.contains(previousFocusRef.current) // make sure it is still on page\n ) {\n previousFocusRef.current.focus()\n }\n onHideComplete?.()\n }\n\n return (\n <div>\n {shrouded && (\n <Shroud onClick={() => onCancel()} light={light} visible={visible} />\n )}\n\n <MotionPresence>\n {visible && (\n <Motion\n as=\"div\"\n ref={containerRef}\n initial={animateFrom}\n animate={animateEnter}\n exit={animateLeave}\n transition={{ duration: duration / 1000 }}\n onAnimationStart={() => {\n if (visible && !previousFocusRef.current) {\n previousFocusRef.current = document.activeElement as HTMLElement\n }\n }}\n onAnimationEnd={() => animateDoneRef.current?.()}\n css={styles.revealContainerCSS(from, overflow, shrouded)}\n style={{ ...distanceStyle }}\n >\n {children}\n </Motion>\n )}\n </MotionPresence>\n </div>\n )\n\n function handleKeydown(event: KeyboardEvent) {\n if (isEscape(event)) {\n onCancel()\n }\n }\n\n function setFocus() {\n if (focusSelector && containerRef.current) {\n const focusElement = containerRef.current.querySelector(\n focusSelector\n ) as HTMLElement\n if (focusElement) {\n focusElement.focus()\n }\n }\n }\n}\n","import { Tokens } from '../../../theming/types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n caret: {\n display: 'inline-flex',\n height: tokens.icon.smallSize,\n pointerEvents: 'none',\n },\n },\n disabled: {\n caret: {\n opacity: tokens.form.disabledOpacity,\n },\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useThemeStyles } from '../../../theming'\nimport { IconSmall } from '../IconSmall'\nimport baseStyles from './styles'\n\nexport interface CaretProps {\n /**\n * Disables the Caret.\n */\n disabled?: boolean\n}\n\nexport function Caret(props: CaretProps) {\n const { disabled } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles)\n\n const caretStyles = [styles.default.caret, disabled && styles.disabled.caret]\n\n return (\n <span css={caretStyles}>\n <IconSmall kind=\"menuTriangleDown\" />\n </span>\n )\n}\n\nCaret.propTypes = {\n disabled: PropTypes.bool,\n}\n\nCaret.defaultProps = {\n disabled: false,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ariaProps, dataProps, onProps } from '@ds/react-utils'\nimport { ConditionalTag } from '../../internal/components/ConditionalTag/ConditionalTag'\nimport { requiredPropMessage, consoleWarn, warnDeprecated } from '../../logging'\nimport { CustomPropTypes } from '../../support'\nimport { useThemeStyles } from '../../theming'\nimport { variant } from '../../utilities'\nimport {\n IconOrImage,\n iconWithImageKinds,\n} from '../../internal/components/IconOrImage'\nimport { Caret } from '../../internal/components/Caret'\nimport {\n AnchorOrButtonForwardRef,\n AriaAttributes,\n EventListenerProps,\n IconPosition,\n LabelForwardRef,\n OliveImageIcon,\n SystemIconKey,\n} from '../../types'\nimport { AnchorTarget, anchorTargets } from '../../variables'\nimport baseStyles from './styles'\n\nexport const buttonIcons = iconWithImageKinds\nexport const buttonIconPositions = ['beforeText', 'afterText'] as const\nexport const buttonKinds = [\n 'main',\n 'primary',\n 'secondary',\n 'tertiary',\n 'danger',\n] as const\nexport const buttonSizes = ['xlarge', 'large', 'medium', 'small'] as const\nexport const buttonTypes = ['button', 'submit', 'reset'] as const\n\nexport type ButtonKind =\n | 'main'\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'danger'\n\nexport type ButtonSize = 'xlarge' | 'large' | 'medium' | 'small'\n\nexport type ButtonType = 'button' | 'submit' | 'reset'\n\nexport interface ButtonProps\n extends EventListenerProps<\n HTMLButtonElement | HTMLAnchorElement | HTMLInputElement\n >,\n AriaAttributes {\n /**\n * The text to present to assistive devices in order to identify the Button.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n accessibilityText?: string\n /**\n * Manually applies an active state to the button style.\n */\n active?: boolean\n /**\n * Applies the 'disabled' attribute.\n */\n disabled?: boolean\n /**\n * A React ref to assign to the HTML node representing the Button element.\n */\n forwardedRef?: AnchorOrButtonForwardRef | LabelForwardRef\n /**\n * Forces the Button to fill the full width of its container.\n *\n * Note that other styles (height, padding, etc.) are still defined by the\n * value of the `size` prop.\n */\n fullWidth?: boolean\n /**\n * Hides the \"down arrow icon\" that is automatically applied when a Button\n * is passed as the value of the 'trigger' prop of a Menu element.\n */\n hideTrigger?: boolean\n /**\n * URL for navigating. If a URL is supplied it renders as an anchor element, if not,\n * a button element.\n */\n href?: string\n /**\n * The Icon to show inside the Button.\n */\n icon?: SystemIconKey | OliveImageIcon\n /**\n * Position the supplied icon before or after the Button text.\n */\n iconPosition?: IconPosition\n /**\n * Inverts the Button colors (for an applicable Button.kind).\n */\n inverted?: boolean\n /**\n * The kind of the Button.\n */\n kind?: ButtonKind\n /**\n * Display a loading indicator in the button. Note: cannot be used with an additional icon.\n */\n loading?: boolean\n /**\n * Displays a \"down arrow icon\" inside the Button (placed to the right of\n * any text that is present). Use this prop when clicking the Button will\n * display a menu beneath it.\n *\n * (!) Applying this prop will also add the HTML attribute aria-haspopup=\"true\"\n * to the rendered button element.\n */\n menuTrigger?: boolean\n /**\n * Display the Button with rounded ends (i.e. \"pill\" shaped).\n */\n pill?: boolean\n ref?: AnchorOrButtonForwardRef\n /**\n * The relationship of the linked URL of an anchor as space-separated link types.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n */\n rel?: string\n /**\n * The aria role to be added to the Button\n */\n role?: string\n /**\n * The size of the Button.\n */\n size?: ButtonSize\n /**\n * The HTML link target to use when an href is given.\n */\n target?: AnchorTarget\n /**\n * The text to be displayed inside of the Button.\n *\n * (!) At least one of the props 'text' or 'accessibilityText' is required.\n */\n text?: string\n /**\n * The HTML 'type' attribute to apply to the rendered button element.\n */\n type?: ButtonType\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n /** @ignore */\n id?: string\n /** @ignore @deprecated Use `aria-expanded` instead. */\n expanded?: boolean\n /**\n * @ignore @internal Subject to change. Do not use outside of this repository.\n * Used to set styles for each button in a group.\n */\n groupLeft?: boolean\n /**\n * @ignore @internal Subject to change. Do not use outside of this repository.\n * Used to set styles for each button in a group.\n */\n groupMiddle?: boolean\n /**\n * @ignore @internal Subject to change. Do not use outside of this repository.\n * Used to set styles for each button in a group.\n */\n groupRight?: boolean\n /**\n * @ignore @internal Subject to change. Do not use outside of this repository.\n * Used to set styles for a round buttons.\n */\n round?: boolean\n /**\n * @ignore @internal Subject to change. Do not use outside of this repository.\n * If true the button will be a file input.\n */\n fileInput?: boolean\n /**\n * @ignore @internal Subject to change. Do not use outside of this repository.\n * Passed to the underlying <input> element when `fileInput` is used.\n * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept\n */\n accept?: string\n /**\n * @ignore @internal Subject to change. Do not use outside of this repository.\n * Passed to the underlying <input> element when `fileInput` is used.\n * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#attr-multiple\n */\n multiple?: boolean\n}\n\n/**\n * Buttons give users a simple and direct way to take an action.\n */\nexport function Button(props: ButtonProps) {\n const {\n accessibilityText = '',\n active = false,\n disabled = false,\n forwardedRef,\n fullWidth = false,\n hideTrigger = false,\n href = '',\n icon,\n iconPosition = 'beforeText',\n inverted = false,\n kind = 'secondary',\n loading = false,\n onClick,\n pill,\n menuTrigger = false,\n rel,\n role,\n size = 'medium',\n target,\n text = '',\n type = 'button',\n 'data-qa': dataQa,\n ...restProps\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const styles: any = useThemeStyles(baseStyles, 'Button')\n\n if (inverted) {\n warnDeprecated('Button [inverted]', 'InvertedButton', {\n story: 'components-invertedbutton--default',\n })\n // Don't return the InvertedButton component just yet. Let's wait to get some feedback to make sure it's not missing anything.\n // return <InvertedButton {...props} />\n }\n\n if (!(text || accessibilityText)) {\n requiredPropMessage({\n component: 'Button',\n prop1: 'text',\n prop2: 'accessibilityText',\n })\n }\n\n if (loading && icon) {\n consoleWarn(`\n When using a button component, both the loading and icon props cannot\n be used at the same time. The icon prop will take precendence.\n `)\n }\n\n const sizeVariant = variant('size', size)\n\n const activeStyles = active && styles.Button[kind].active\n const groupLeftStyles = restProps.groupLeft && styles.Button.groupLeft\n const groupMiddleStyles = restProps.groupMiddle && {\n ...styles.Button.groupMiddle,\n ...styles.Button[kind].buttonGroupSeparatorColor,\n }\n const groupRightStyles = restProps.groupRight && {\n ...styles.Button.groupRight,\n ...styles.Button[kind].buttonGroupSeparatorColor,\n }\n\n const invertedStyles = inverted && [\n styles.Button.inverted,\n styles.Button.inverted[kind],\n ]\n\n const pillStyles = pill && styles.pill\n const roundStyles = restProps.round && styles.Button.round\n const triggerStyles = menuTrigger &&\n !hideTrigger && [styles.menuTrigger, styles.Button[kind].menuTrigger]\n const textStyles = !text && styles.hideText\n const iconButtonStyles = icon && styles.iconButton?.[iconPosition]\n\n const buttonStyles = [\n styles.Button.default,\n styles.Button[kind].default,\n styles.Button[sizeVariant],\n activeStyles,\n pillStyles,\n roundStyles,\n iconButtonStyles,\n // For CSS specificity, triggerStyles needs to come after Icon styles for buttons that have both an Icon and MenuTrigger.\n triggerStyles,\n invertedStyles,\n textStyles,\n groupLeftStyles,\n groupMiddleStyles,\n groupRightStyles,\n ]\n\n const iconStyles = [\n styles.Icon.default,\n styles.Icon[iconPosition],\n restProps.round && styles.Icon.round,\n !text && styles.Icon.hideText,\n ]\n\n const IconNode = icon && (\n <span css={iconStyles}>\n <IconOrImage kind={icon} />\n </span>\n )\n\n const iconBefore = iconPosition === 'beforeText' && IconNode\n const iconAfter = iconPosition === 'afterText' && IconNode\n\n const caret = menuTrigger && !hideTrigger && (\n <span css={styles.caret}>\n <Caret disabled={disabled} />\n </span>\n )\n\n const textHiddenStyles = [\n styles.Button.text,\n restProps.round && styles.hidden,\n ]\n\n const textSpan = text && (\n <span\n {...(accessibilityText && { 'aria-hidden': 'true' })}\n css={textHiddenStyles}\n >\n {text}\n </span>\n )\n\n const accessibilityTextClass = styles.hidden\n\n const accessibilityTextSpan = accessibilityText && (\n <span css={accessibilityTextClass}>{accessibilityText}</span>\n )\n\n const buttonText = (\n <>\n {textSpan}\n {accessibilityTextSpan}\n </>\n )\n\n const fullWidthStyle = fullWidth ? styles.Button.fullWidth : null\n\n const spinner = loading && !icon && <span css={styles.loadingSpinner} />\n\n const buttonAriaProps = ariaProps(restProps)\n const additionalAttributes = !href && {\n 'aria-haspopup':\n menuTrigger || (buttonAriaProps['aria-haspopup'] as boolean | undefined),\n 'aria-expanded':\n restProps.expanded ||\n (buttonAriaProps['aria-expanded'] as boolean | undefined),\n }\n const buttonHelperClasses = 'olv-button olv-ignore-transform'\n\n if (restProps.fileInput) {\n const { accept, id, multiple, onChange } = restProps\n\n const labelStyles = [\n buttonStyles,\n disabled && styles.Button.disabled,\n disabled && styles.Button[kind].disabled,\n ]\n\n return (\n <>\n <input\n data-qa={dataQa}\n {...dataProps(restProps)}\n accept={accept}\n css={styles.fileInput.input}\n disabled={disabled}\n id={id}\n multiple={multiple}\n onChange={onChange}\n onClick={onClick}\n type=\"file\"\n />\n <label\n {...onProps(restProps)}\n className={buttonHelperClasses}\n css={labelStyles}\n htmlFor={id}\n ref={forwardedRef as LabelForwardRef}\n data-qa={dataQa && `${dataQa}-label`}\n >\n {iconBefore}\n {buttonText}\n {iconAfter}\n </label>\n </>\n )\n }\n\n return (\n <ConditionalTag\n {...ariaProps(restProps)}\n data-qa={dataQa}\n {...dataProps(restProps)}\n {...onProps(restProps)}\n disabled={disabled}\n href={href}\n rel={rel}\n target={target}\n type={type}\n {...additionalAttributes}\n {...(restProps.id && { id: restProps.id })}\n css={buttonStyles}\n className={buttonHelperClasses}\n onClick={onClick}\n forwardedRef={forwardedRef}\n role={role}\n style={fullWidthStyle}\n forceButton\n >\n {iconBefore}\n {spinner}\n {buttonText}\n {iconAfter}\n {caret}\n </ConditionalTag>\n )\n}\n\nButton.icons = buttonIcons\nButton.iconPositions = buttonIconPositions\nButton.kinds = buttonKinds\nButton.sizes = buttonSizes\nButton.targets = anchorTargets\nButton.types = buttonTypes\n\nButton.propTypes = {\n accessibilityText: PropTypes.string,\n active: PropTypes.bool,\n 'data-.*': PropTypes.string,\n disabled: PropTypes.bool,\n forwardedRef: CustomPropTypes.ReactRef,\n fullWidth: PropTypes.bool,\n hideTrigger: PropTypes.bool,\n href: PropTypes.string,\n icon: PropTypes.oneOf(buttonIcons),\n iconPosition: PropTypes.oneOf(buttonIconPositions),\n inverted: PropTypes.bool,\n kind: PropTypes.oneOf(buttonKinds),\n loading: PropTypes.bool,\n menuTrigger: PropTypes.bool,\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n /**\n * The function to call when a 'click' event is fired.\n */\n onClick: PropTypes.func,\n pill: PropTypes.bool,\n rel: PropTypes.string,\n role: PropTypes.string,\n size: PropTypes.oneOf(buttonSizes),\n target: PropTypes.oneOf(anchorTargets),\n text: PropTypes.string,\n type: PropTypes.oneOf(buttonTypes),\n}\n\nButton.defaultProps = {\n 'data-.*': undefined,\n 'on[A-Z].*': undefined,\n accessibilityText: '',\n active: false,\n disabled: false,\n forwardedRef: undefined,\n fullWidth: false,\n hideTrigger: false,\n href: '',\n icon: undefined,\n iconPosition: 'beforeText',\n inverted: false,\n kind: 'secondary',\n loading: false,\n menuTrigger: false,\n onClick: undefined,\n pill: undefined,\n rel: undefined,\n role: undefined,\n size: 'medium',\n target: undefined,\n text: '',\n type: 'button',\n}\n\nButton.displayName = 'Button'\n","import { withRef } from '../../HOC'\n\nimport { Button } from './Button'\n\nexport const ButtonWithRef = withRef(Button)\n","import { Tokens } from '../../../theming/types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n asterisk: {\n color: tokens.text.errorColor,\n paddingLeft: '4px',\n },\n },\n }\n}\n","import React from 'react'\n\nimport { useThemeStyles } from '../../../theming'\n\nimport baseStyles from './styles'\n\nfunction InputRequiredAsterisk() {\n const styles = useThemeStyles(baseStyles, 'InputRequiredAsterisk')\n\n return (\n <span css={styles.default.asterisk} aria-hidden=\"true\">\n *\n </span>\n )\n}\n\nInputRequiredAsterisk.displayName = 'InputRequiredAsterisk'\n\nexport default InputRequiredAsterisk\n","import { Tokens } from '../../../theming/types'\n\nimport { styles } from '../../../utilities'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n default: {\n label: {\n ...tokens.typography.inputLabel,\n ...styles.breakWord,\n color: tokens.text.defaultColor,\n display: 'block',\n fontFamily: tokens.font.body,\n },\n },\n\n disabled: {\n label: {\n cursor: 'not-allowed',\n opacity: tokens.form.disabledOpacity,\n },\n },\n\n hidden: styles.visuallyHidden,\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { onProps } from '@ds/react-utils'\n\nimport { consoleWarn } from '../../../logging'\nimport { CustomPropTypes } from '../../../support'\nimport { useThemeStyles } from '../../../theming'\n\nimport InputRequiredAsterisk from '../InputRequiredAsterisk'\n\nimport baseStyles from './styles'\n\nfunction InputLabel(props) {\n const {\n accessibilityText,\n children,\n disabled,\n forId,\n forwardedRef,\n hidden,\n required,\n 'data-qa': dataQa,\n ...restProps\n } = props\n\n if (/:$/.test(children)) {\n consoleWarn(`\n The string passed to @olive/react <InputLabel /> props.children should not end with a colon.\n `)\n }\n\n const styles = useThemeStyles(baseStyles, 'InputLabel')\n\n const RequiredAsteriskNode = required && <InputRequiredAsterisk />\n const TextNode = accessibilityText ? (\n <>\n <span aria-hidden=\"true\">{children}</span>\n <span css={styles.hidden}>{accessibilityText}</span>\n </>\n ) : (\n children\n )\n\n const labelStyles = [\n styles.default.label,\n disabled && styles.disabled.label,\n hidden && styles.hidden,\n ]\n\n return (\n <label\n {...onProps(restProps)}\n css={labelStyles}\n htmlFor={forId}\n ref={forwardedRef}\n data-qa={dataQa}\n >\n {TextNode}\n {RequiredAsteriskNode}\n </label>\n )\n}\n\nInputLabel.propTypes = {\n /**\n * Optional accessibility string that overrides the label string.\n */\n accessibilityText: PropTypes.string,\n\n /**\n * The InputLabel's text.\n */\n children: PropTypes.string.isRequired,\n\n /**\n * Identifier for automated testing.\n */\n 'data-qa': PropTypes.string,\n\n /**\n * Disables the InputLabel.\n */\n disabled: PropTypes.bool,\n\n /**\n * The 'id' of the associated control.\n */\n forId: PropTypes.string.isRequired,\n\n /**\n * A React ref to assign to the HTML node representing the Label element.\n */\n forwardedRef: CustomPropTypes.ReactRef,\n\n /**\n * Hides the InputLabel while allowing assistive devices to identify it.\n */\n hidden: PropTypes.bool,\n\n /**\n * Accepts attributes matching the pattern on[A-Z].* in order to register event handlers.\n */\n 'on[A-Z].*': PropTypes.func,\n\n /**\n * Adds a visual treatment indicating that the associated control requires a value.\n */\n required: PropTypes.bool,\n}\n\nInputLabel.defaultProps = {\n 'data-qa': undefined,\n 'on[A-Z].*': undefined,\n accessibilityText: undefined,\n disabled: false,\n forwardedRef: undefined,\n hidden: false,\n required: false,\n}\n\nInputLabel.displayName = 'InputLabel'\n\nexport default InputLabel\n","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n ;\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n * <div>\n * {\"I'll receive my-node-* classes\"}\n * </div>\n * </CSSTransition>\n * <button type=\"button\" onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","export default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","import * as React from 'react';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","const keyboardNavigableElementSelectors = [\n '*[contenteditable]',\n '*[tabindex]:not([tabindex=\"-1\"])',\n\n 'details',\n 'embed',\n 'iframe',\n\n 'a[href]',\n 'audio[controls]',\n 'img[usemap]',\n 'menu[type=\"toolbar\"]',\n 'object[usemap]',\n 'video[controls]',\n\n 'button:not([disabled])',\n 'input:not([disabled]):not([type=\"hidden\"])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n].join(', ')\n\n/**\n * Returns a static NodeList of keyboard navigable elements within the container.\n *\n * @param {Element} container\n * @returns {Node[]} An array containing the Nodes that can be reached via keyboard navigation.\n */\nconst keyboardNavigableElements = (container) =>\n Array.from(container.querySelectorAll(keyboardNavigableElementSelectors))\n\nexport default keyboardNavigableElements\n","import _extends from \"@babel/runtime-corejs3/helpers/esm/extends\";\nimport * as React from \"react\";\n\nfunction SvgDocusignAppLogo(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 230.5 76\",\n width: 230.5,\n height: 76,\n focusable: false\n }, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M-.1 13.7h16.6c10.5 0 17.3 8.5 17.3 20.1 0 6.4-2.2 12-6.3 15.5-2.9 2.4-6.7 3.8-11.7 3.8H-.1V13.7zm15.4 32.5c7.5 0 10.4-4.6 10.4-12.4s-3.4-13.3-10.2-13.3H7.9v25.7h7.4zM34.7 39c0-8.4 6-14.9 14.8-14.9S64.3 30.6 64.3 39s-6 14.9-14.8 14.9S34.7 47.4 34.7 39zm22 0c0-5.5-2.6-9.3-7.2-9.3s-7.2 3.8-7.2 9.3 2.5 9.2 7.2 9.2c4.6 0 7.2-3.7 7.2-9.2zm8.8 0c0-8.4 5.5-15 14.1-15 7.3 0 11.9 4.2 12.9 10.4h-7.3c-.5-2.5-2.4-4.4-5.2-4.4-4.5 0-6.8 3.5-6.8 8.9s2.2 8.9 6.7 8.9c3 0 5.2-1.6 5.7-4.8h7.2c-.5 6-5.2 10.8-12.7 10.8-9 .1-14.6-6.4-14.6-14.8zm46.8 14.1v-3.3h-.2c-1.9 2.6-4.1 4.1-8.1 4.1-6.3 0-9.8-4-9.8-10.2V24.8h7.4v17.6c0 3.3 1.5 5.1 4.7 5.1 3.5 0 5.7-2.6 5.7-6.4V24.8h7.5v28.3h-7.2zm43.8-39.3h7.5v7h-7.5v-7zm0 11h7.5v28.3h-7.5V24.8zm10.6 29.1h7.4c.6 1.8 2.2 3.1 5.7 3.1 4.2 0 6.3-2 6.3-5.9V48h-.2c-1.7 1.9-3.8 3.3-7.4 3.3-6.3 0-12.5-5-12.5-13.5 0-8.4 5.1-13.8 12.2-13.8 3.5 0 6.1 1.4 7.8 3.8h.1v-3h7.2V51c0 4-1.3 6.7-3.4 8.6-2.4 2.2-6 3.2-10.2 3.2-7.5 0-12.3-3.3-13-8.9zm19.8-16.2c0-4.1-2.2-7.7-6.7-7.7-3.8 0-6.3 3-6.3 7.7 0 4.8 2.5 7.6 6.4 7.6 4.6.1 6.6-3.4 6.6-7.6zm17.5-9h.2c1.9-3 4.5-4.6 8.4-4.6 5.8 0 9.8 4.4 9.8 10.6v18.5h-7.5V35.7c0-3-1.8-5.2-4.9-5.2-3.3 0-5.7 2.6-5.7 6.5v16.1h-7.5V24.8h7.3v3.9h-.1zm-65 .6c-5.8-1.3-8.6-2.2-8.6-5.4 0-2.8 2.8-4.6 7.1-4.6 3.9 0 6.9 1.8 7.5 5.5h7.7c-.8-7.7-6.5-11.9-15.2-11.9-8.8 0-15.1 4-15.1 11.8 0 8.2 6.5 10.1 13.5 11.7 6 1.4 9.8 2.2 9.8 6 0 3.6-3.6 5.1-7.7 5.1-5.6 0-8.3-1.9-8.9-6.6h-7.8c.3 8.3 6.3 13.1 17 13.1 8.9 0 15.3-4.5 15.3-12.5.1-8.5-6.5-10.4-14.6-12.2zm86.6.7c-1.6 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm0-5.5c-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5-1.1-2.5-2.5-2.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.6 25.5h1c.4 0 .7 0 .9.2s.3.4.3.8c0 .6-.4.8-.6.8l.7 1.2h-.7l-.6-1.1h-.5v1.1h-.6v-3h.1zm.6.5v1h.6c.1 0 .5 0 .5-.5 0-.1 0-.3-.2-.4-.1-.1-.3-.1-.6-.1h-.3z\"\n }));\n}\n\nexport default SvgDocusignAppLogo;","export default {\n DocuSignLogo: {\n display: 'flex',\n alignItems: 'center',\n },\n} as const\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ClassNames } from '@emotion/core'\nimport { DocusignAppLogo } from '@olive/svg'\nimport { dataProps } from '@ds/react-utils'\nimport { consoleWarn } from '../../logging'\nimport colors from '../../theming/docusign-themes/olive/colors'\nimport styles from './styles'\n\nexport type DocuSignLogoColor = 'black' | 'blue' | 'white'\n\nexport interface DocuSignLogoProps {\n /**\n * The fill color to apply to the logo.\n */\n color?: DocuSignLogoColor\n /**\n * Accepts custom data attributes.\n */\n 'data-.*'?: string\n 'data-qa'?: string\n}\n\nexport function DocuSignLogo(props: DocuSignLogoProps) {\n const { color = 'black', ...restProps } = props\n\n if (color === 'blue') {\n consoleWarn(`\n @ds/ui DocuSignLogo:\n\n The 'color' prop no longer supports the value 'blue', the DocuSignLogo now only supports 'black' and 'white' fill colors (when 'blue' is provided then the logo will be filled with 'black').\n `)\n }\n\n const logoColor = {\n black: colors.black,\n blue: colors.black,\n white: colors.white,\n }\n\n // @ts-ignore supporting an old API, this should be removed in ds-ui v5\n const fillColor = restProps.hexColor\n\n return (\n <span {...dataProps(restProps)}>\n <ClassNames>\n {({ css }) => (\n <DocusignAppLogo\n aria-label=\"DocuSign\"\n className={css(styles.DocuSignLogo)}\n fill={fillColor || logoColor[color]}\n height=\"100%\"\n role=\"img\"\n width=\"100%\"\n />\n )}\n </ClassNames>\n </span>\n )\n}\n\nDocuSignLogo.colors = ['black', 'blue', 'white'] as const\n\nDocuSignLogo.propTypes = {\n color: PropTypes.oneOf(DocuSignLogo.colors),\n 'data-.*': PropTypes.string,\n}\n\nDocuSignLogo.defaultProps = {\n 'data-.*': undefined,\n color: 'black',\n}\n\nDocuSignLogo.displayName = 'DocuSignLogo'\n","import { OliveDocuSignTheme } from '../docusign-themes/olive'\nimport { useTheme } from './useTheme'\n\nexport const useThemeName = () => {\n const { name } = useTheme()\n const themeName = name || OliveDocuSignTheme.name\n return themeName\n}\n","import { useThemeName } from './useThemeName'\nimport { docuSignThemeName } from '..'\n\nexport function useIsInk() {\n return useThemeName() === docuSignThemeName.ink\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { useContext } from 'react'\n\nimport { CobrandingContext } from '../components/Cobranding'\n\nexport function useCobrandingStyles<P>(componentName: string, props?: P) {\n const { styles, tokens } = useContext(CobrandingContext)\n return styles?.[componentName] ? styles[componentName]({ props, tokens }) : {}\n}\n","import { useMemoizedDeepmerge } from '@ds/react-utils'\n\nimport { CobrandingStyles } from '../cobranding/styles'\nimport inkStyles from '../docusign-themes/ink/styles'\nimport oliveStyles from '../docusign-themes/olive/styles'\nimport { Tokens } from '../types'\nimport { useCobrandingStyles } from './useCobrandingStyles'\nimport { useTheme } from './useTheme'\n\ntype ComponentName = keyof typeof inkStyles & keyof typeof oliveStyles\ntype Config<P> = { tokens: Tokens; props?: P }\ntype BaseStyle = Record<string, unknown>\ntype StyleResolver<P> = (config: Config<P>) => BaseStyle\ntype ComponentStyles<P> = BaseStyle | StyleResolver<P>\n\nfunction isThemedComponent(\n componentName: ComponentName | string\n): componentName is ComponentName {\n return !!(\n inkStyles[componentName as ComponentName] ||\n oliveStyles[componentName as ComponentName]\n )\n}\n\nfunction isStyleResolver<P>(\n styles: ComponentStyles<P>\n): styles is StyleResolver<P> {\n return typeof styles === 'function'\n}\n\nexport function useThemeStyles<P>(\n baseStyles: ComponentStyles<P>,\n componentName: ComponentName | string = '',\n props?: P\n) {\n const { styles, tokens } = useTheme()\n\n let baseStylesWithTokens: BaseStyle\n if (isStyleResolver(baseStyles)) {\n baseStylesWithTokens = baseStyles({ tokens, props })\n } else {\n baseStylesWithTokens = baseStyles\n }\n\n let themeStylesWithTokens: BaseStyle = {}\n const componentThemeStyles = isThemedComponent(componentName)\n ? styles[componentName]\n : {}\n\n if (isStyleResolver(componentThemeStyles)) {\n themeStylesWithTokens = componentThemeStyles({\n tokens,\n ...(props && {\n props,\n }),\n })\n } else if (componentThemeStyles) {\n themeStylesWithTokens = componentThemeStyles\n }\n\n /**\n * Could we eventually update useMemoizedDeepmerge to take any number of objects?\n * So something like...\n *\n * const mergedStyles =\n * useMemoizedDeepmerge(baseStylesWithTokens, themeStylesWithTokensm, cobrandingStyles)\n */\n\n const merge1 = useMemoizedDeepmerge(\n baseStylesWithTokens,\n themeStylesWithTokens\n )\n\n const cobrandingStyles = useCobrandingStyles<P>(componentName, props)\n const merge2 = useMemoizedDeepmerge(\n merge1,\n cobrandingStyles as CobrandingStyles\n )\n\n return merge2\n}\n","import React from 'react'\n\nimport PropTypes from 'prop-types'\n\nimport { useThemeStyles } from '../../../theming'\n\nimport IconSmall from '../IconSmall'\nimport baseStyles from './styles'\n\nfunction Caret(props) {\n const { disabled, ...restProps } = props\n\n const styles = useThemeStyles(baseStyles)\n\n const caretStyles = [styles.default.caret, disabled && styles.disabled.caret]\n\n return (\n <span css={caretStyles}>\n <IconSmall kind=\"menuTriangleDown\" />\n </span>\n )\n}\n\nCaret.propTypes = {\n /**\n * Disables the Caret.\n */\n disabled: PropTypes.bool,\n}\n\nCaret.defaultProps = {\n disabled: false,\n}\n\nCaret.displayName = 'Caret'\n\nexport default Caret\n","import { CSSObject } from '@emotion/core'\n\nimport { AboveInputContainerProps } from '.'\n\nexport interface AboveInputContainerStyles {\n wrap: CSSObject\n}\n\nexport default (config: {\n props: AboveInputContainerProps\n}): AboveInputContainerStyles => {\n const { props } = config\n\n return {\n wrap: {\n marginBottom: (!props.hideLabel || props.description) && '8px',\n },\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nfunction AboveInputContainer(props) {\n const {\n // eslint-disable-next-line no-unused-vars\n hideLabel,\n label,\n description,\n } = props\n\n const styles = useThemeStyles(baseStyles, 'AboveInputContainer', props)\n\n return label || description ? (\n <div css={styles.wrap}>\n {label}\n {description}\n </div>\n ) : null\n}\n\nAboveInputContainer.propTypes = {\n description: PropTypes.node,\n hideLabel: PropTypes.bool,\n label: PropTypes.node,\n}\n\nAboveInputContainer.defaultProps = {\n description: undefined,\n hideLabel: false,\n label: undefined,\n}\n\nAboveInputContainer.displayName = 'AboveInputContainer'\n\nexport default AboveInputContainer\n","import { CSSObject } from '@emotion/core'\n\nexport default () => ({\n wrap: {\n marginTop: '8px',\n } as CSSObject,\n})\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { useThemeStyles } from '../../theming'\n\nimport baseStyles from './styles'\n\nfunction BelowInputContainer(props) {\n const { count, description, error } = props\n\n const styles = useThemeStyles(baseStyles)\n\n return error || count || description ? (\n <div css={styles.wrap}>{error || count || description}</div>\n ) : null\n}\n\nBelowInputContainer.propTypes = {\n count: PropTypes.node,\n description: PropTypes.node,\n error: PropTypes.node,\n}\n\nBelowInputContainer.defaultProps = {\n count: undefined,\n description: undefined,\n error: undefined,\n}\n\nBelowInputContainer.displayName = 'BelowInputContainer'\n\nexport default BelowInputContainer\n","import consoleError from './consoleError'\n\ninterface MessageParts {\n component: string\n prop1: string\n prop2: string\n}\n\nconst requiredPropMessage = ({ component, prop1, prop2 }: MessageParts) =>\n consoleError(\n `${component} - At least one of the props '${prop1}' or '${prop2}' are required, but neither prop received a value.`\n )\n\nexport default requiredPropMessage\n","import { Tokens } from '../../../theming/types'\n\nexport default (config: { tokens: Tokens }) => {\n const { tokens } = config\n return {\n size: tokens.icon.smallSize,\n } as const\n}\n","import _concatInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/concat\";\nimport _mapInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/map\";\nvar FORMATS = {\n eot: 'embedded-opentype',\n otf: 'opentype',\n ttf: 'truetype'\n};\n\nvar getExtMod = function getExtMod(ext, family) {\n if (ext === 'eot') {\n return '?#iefix';\n }\n\n if (ext === 'svg') {\n return \"#\".concat(family.replace(' ', ''));\n }\n\n return '';\n};\n/**\n *\n * @param {string} base\n * @param {Object} config\n * @param {Object} config.extensions\n * @param {Object} config.family\n * @param {Object} config.style\n * @param {Object} config.weight\n */\n\n\nvar fontFace = function fontFace(base, config) {\n var _context, _context6, _context7, _context8;\n\n var style = config.style || 'normal';\n var weight = config.weight || 'normal';\n\n var src = _mapInstanceProperty(_context = config.extensions).call(_context, function (ext) {\n var _context2, _context3, _context4, _context5;\n\n var extMod = getExtMod(ext, config.family);\n var format = FORMATS[ext] || ext;\n return _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = _concatInstanceProperty(_context4 = _concatInstanceProperty(_context5 = \"url('\".concat(base)).call(_context5, config.file, \".\")).call(_context4, ext)).call(_context3, extMod, \"') format('\")).call(_context2, format, \"')\");\n }).join(',\\n ');\n\n return _concatInstanceProperty(_context6 = _concatInstanceProperty(_context7 = _concatInstanceProperty(_context8 = \"\\n @font-face {\\n font-family: '\".concat(config.family, \"';\\n font-style: \")).call(_context8, style, \";\\n font-weight: \")).call(_context7, weight, \";\\n src: \")).call(_context6, src, \";\\n font-display: swap;\\n }\");\n};\n\nexport default fontFace;","import _Object$keys from \"@babel/runtime-corejs3/core-js-stable/object/keys\";\nimport _mapInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/map\";\nimport fontFace from './fontFace';\n\nvar fontGroupDeclarations = function fontGroupDeclarations(fonts, baseUrl) {\n var _context;\n\n return _mapInstanceProperty(_context = _Object$keys(fonts)).call(_context, function (fontKey) {\n var font = fonts[fontKey];\n return fontFace(baseUrl, font);\n }).join('\\n');\n};\n\nexport default fontGroupDeclarations;"],"sourceRoot":""}