@khanacademy/math-input 28.0.1 → 30.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +43 -88
- package/dist/index.js.map +1 -1
- package/dist/strings.js +1 -6
- package/dist/strings.js.map +1 -1
- package/package.json +13 -25
- package/dist/es/assets/Symbola.eot +0 -0
- package/dist/es/assets/Symbola.svg +0 -2025
- package/dist/es/assets/Symbola.ttf +0 -0
- package/dist/es/assets/Symbola.woff +0 -0
- package/dist/es/assets/Symbola.woff2 +0 -0
- package/dist/es/index.css +0 -2
- package/dist/es/index.css.map +0 -1
- package/dist/es/index.js +0 -1492
- package/dist/es/index.js.map +0 -1
- package/dist/es/strings.js +0 -4
- package/dist/es/strings.js.map +0 -1
package/dist/es/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/version.ts","../../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.development.js","../../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js","../../src/strings.ts","../../src/components/i18n-context.tsx","../../src/components/input/cursor-styles.ts","../../src/components/input/cursor-handle.tsx","../../src/components/input/drag-listener.ts","../../src/types.ts","../../src/components/input/cursor-contexts.ts","../../../../node_modules/.pnpm/mathquill@https+++codeload.github.com+Khan+mathquill+tar.gz+c9e4329b0bc5d9b4c21d765b576_25611360f785121db7b271e2242015e3/node_modules/mathquill/build/mathquill.min.js","../../src/utils.ts","../../src/components/input/mathquill-instance.ts","../../src/components/input/mathquill-helpers.ts","../../src/components/key-handlers/handle-backspace.ts","../../src/components/key-handlers/handle-arrow.ts","../../src/components/key-handlers/insert-base-parens.ts","../../src/components/key-handlers/handle-exponent.ts","../../src/components/key-handlers/handle-jump-out.ts","../../src/components/key-handlers/handle-subscript.ts","../../src/components/key-handlers/key-translator.ts","../../src/components/input/math-wrapper.ts","../../src/components/input/scroll-into-view.ts","../../src/components/input/math-input.tsx","../../src/data/key-configs.ts","../../src/components/keypad/button-assets.tsx","../../src/components/keypad/keypad-button.tsx","../../src/components/keypad/utils/get-cursor-context-config.ts","../../src/components/keypad/keypad-pages/fractions-page.tsx","../../src/components/keypad/navigation-button.tsx","../../src/components/keypad/navigation-pad.tsx","../../src/components/keypad/shared-keys.tsx","../../src/components/keypad/render-keypad-panel.tsx","../../src/components/keypad/keypad-fractions-only.tsx","../../src/components/keypad/keypad-pages/extras-page.tsx","../../src/components/keypad/keypad-pages/geometry-page.tsx","../../src/components/keypad/keypad-pages/numbers-page.tsx","../../src/components/keypad/keypad-pages/operators-page.tsx","../../src/components/keypad/tab-icon-label.tsx","../../src/components/keypad/utils/get-available-tabs.tsx","../../src/components/keypad/keypad.tsx","../../src/components/aphrodite-css-transition-group/util.ts","../../src/components/aphrodite-css-transition-group/transition-child.tsx","../../src/components/aphrodite-css-transition-group/index.tsx","../../src/components/keypad/mobile-keypad-internals.tsx","../../src/components/keypad/mobile-keypad.tsx","../../src/components/prop-types.ts"],"sourcesContent":["// This file is processed by a Rollup plugin (replace) to inject the production\n// version number during the release build.\n// In dev, you'll never see the version number.\n\nimport {addLibraryVersionToPerseusDebug} from \"@khanacademy/perseus-utils\";\n\nconst libName = \"@khanacademy/math-input\";\nexport const libVersion = \"__lib_version__\";\n\naddLibraryVersionToPerseusDebug(libName, libVersion);\n","/**\n * @license React\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';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.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:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (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 || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\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] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\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","/**\n * The translated strings that are used to render the Math Input.\n */\nexport type MathInputStrings = {\n mathInputBox: string;\n fingerTap: string;\n before: ({obj}: {obj: string}) => string;\n after: ({obj}: {obj: string}) => string;\n \"beginning of\": ({obj}: {obj: string}) => string;\n \"end of\": ({obj}: {obj: string}) => string;\n Baseline: string;\n Superscript: string;\n selected: ({obj}: {obj: string}) => string;\n \"no answer\": string;\n \"nothing selected\": string;\n \"nothing to the right\": string;\n \"nothing to the left\": string;\n \"block is empty\": string;\n \"nothing above\": string;\n labelValue: ({label, value}: {label: string; value: string}) => string;\n plus: string;\n minus: string;\n negative: string;\n times: string;\n divide: string;\n decimal: string;\n percent: string;\n cdot: string;\n equalsSign: string;\n notEqualsSign: string;\n greaterThanSign: string;\n lessThanSign: string;\n greaterThanOrEqualToSign: string;\n lessThanOrEqualSign: string;\n fractionExpressionInNumerator: string;\n fractionExcludingExpression: string;\n customExponent: string;\n subscript: string;\n square: string;\n cube: string;\n squareRoot: string;\n cubeRoot: string;\n radicalWithCustomRoot: string;\n leftParenthesis: string;\n rightParenthesis: string;\n naturalLog: string;\n logBase10: string;\n logCustomBase: string;\n sine: string;\n sin: string;\n cosine: string;\n cos: string;\n tangent: string;\n tan: string;\n pi: string;\n theta: string;\n upArrow: string;\n rightArrow: string;\n downArrow: string;\n leftArrow: string;\n navOutOfParentheses: string;\n navOutOfExponent: string;\n navOutOfBase: string;\n navIntoNumerator: string;\n navOutOfNumeratorIntoDenominator: string;\n navOutOfDenominator: string;\n delete: string;\n dismiss: string;\n};\n\n/**\n * Untranslated strings used in the math input. To be used by an external\n * translator to produce translated strings, passed in as `MathInputStrings`.\n */\nexport const strings: {\n [key in keyof MathInputStrings]:\n | string\n | {context?: string; message: string}\n | {context?: string; one: string; other: string};\n} = {\n mathInputBox: \"Math input box\",\n fingerTap: \"Tap with one or two fingers to open keyboard\",\n before: \"before %(obj)s\",\n after: \"after %(obj)s\",\n \"beginning of\": \"beginning of %(obj)s\",\n \"end of\": \"end of %(obj)s\",\n Baseline: \"Baseline\",\n Superscript: \"Superscript\",\n selected: \"%(obj)s selected\",\n \"no answer\": \"no answer\",\n \"nothing selected\": \"nothing selected\",\n \"nothing to the right\": \"nothing to the right\",\n \"nothing to the left\": \"nothing to the left\",\n \"block is empty\": \"block is empty\",\n \"nothing above\": \"nothing above\",\n labelValue: \"%(label)s: %(value)s\",\n plus: {\n context: \"A label for a 'plus' sign.\",\n message: \"Plus\",\n },\n minus: {context: \"A label for a 'minus' sign.\", message: \"Minus\"},\n negative: {context: \"A label for a 'negative' sign.\", message: \"Negative\"},\n times: {context: \"A label for a 'multiply' sign.\", message: \"Multiply\"},\n divide: {context: \"A label for a 'divide' sign.\", message: \"Divide\"},\n decimal: {\n context: \"A label for a 'decimal' sign (represented as '.' or ',').\",\n message: \"Decimal\",\n },\n percent: {\n context: \"A label for a 'percent' sign (represented as '%').\",\n message: \"Percent\",\n },\n cdot: {\n context:\n \"A label for a 'centered dot' multiplication sign (represented as '⋅').\",\n message: \"Multiply\",\n },\n equalsSign: {\n context: \"A label for an 'equals' sign (represented as '=').\",\n message: \"Equals sign\",\n },\n notEqualsSign: {\n context: \"A label for a 'not-equals' sign (represented as '≠').\",\n message: \"Not-equals sign\",\n },\n greaterThanSign: {\n context: \"A label for a 'greater than' sign (represented as '>').\",\n message: \"Greater than sign\",\n },\n lessThanSign: {\n context: \"A label for a 'less than' sign (represented as '<').\",\n message: \"Less than sign\",\n },\n greaterThanOrEqualToSign: {\n context:\n \"A label for a 'greater than or equal to' sign (represented as '≥').\",\n message: \"Greater than or equal to sign\",\n },\n lessThanOrEqualSign: {\n context:\n \"A label for a 'less than or equal to' sign (represented as '≤').\",\n message: \"Less than or equal to sign\",\n },\n fractionExpressionInNumerator: {\n context:\n \"A label for a button that creates a new fraction and puts the current expression in the numerator of that fraction.\",\n message: \"Fraction, with current expression in numerator\",\n },\n fractionExcludingExpression: {\n context:\n \"A label for a button that creates a new fraction next to the cursor.\",\n message: \"Fraction, excluding the current expression\",\n },\n customExponent: {\n context:\n \"A label for a button that will allow the user to input a custom exponent.\",\n message: \"Custom exponent\",\n },\n subscript: {\n context:\n \"A label for a button that will allow the user to input a subscript.\",\n message: \"Subscript\",\n },\n square: {\n context:\n \"A label for a button that will square (take to the second power) some math.\",\n message: \"Square\",\n },\n cube: {\n context:\n \"A label for a button that will cube (take to the third power) some math.\",\n message: \"Cube\",\n },\n squareRoot: {\n context:\n \"A label for a button that will allow the user to input a square root.\",\n message: \"Square root\",\n },\n cubeRoot: {\n context:\n \"A label for a button that will allow the user to input a cube root.\",\n message: \"Cube root\",\n },\n radicalWithCustomRoot: {\n context:\n \"A label for a button that will allow the user to input a radical with a custom root.\",\n message: \"Radical with custom root\",\n },\n leftParenthesis: {\n context:\n \"A label for a button that will allow the user to input a left parenthesis (i.e. '(')\",\n message: \"Left parenthesis\",\n },\n rightParenthesis: {\n context:\n \"A label for a button that will allow the user to input a right parenthesis (i.e. ')')\",\n message: \"Right parenthesis\",\n },\n naturalLog: {\n context:\n \"A label for a button that will allow the user to input a natural logarithm.\",\n message: \"Natural logarithm\",\n },\n logBase10: {\n context:\n \"A label for a button that will allow the user to input a logarithm with base 10.\",\n message: \"Logarithm with base 10\",\n },\n logCustomBase: {\n context:\n \"A label for a button that will allow the user to input a logarithm with a custom base.\",\n message: \"Logarithm with custom base\",\n },\n sine: {\n context:\n \"A label for a button that will allow the user to input a sine function.\",\n message: \"Sine\",\n },\n sin: {\n context:\n \"A label for a button that will allow the user to input a sine function (shorthand version).\",\n message: \"sin\",\n },\n cosine: {\n context:\n \"A label for a button that will allow the user to input a cosine function.\",\n message: \"Cosine\",\n },\n cos: {\n context:\n \"A label for a button that will allow the user to input a cosine function (shorthand version).\",\n message: \"cos\",\n },\n tangent: {\n context:\n \"A label for a button that will allow the user to input a tangent function.\",\n message: \"Tangent\",\n },\n tan: {\n context:\n \"A label for a button that will allow the user to input a tangent function (shorthand version).\",\n message: \"tan\",\n },\n pi: {\n context:\n \"A label for a button that will allow the user to input the mathematical constant pi (i.e., π)\",\n message: \"Pi\",\n },\n theta: {\n context:\n \"A label for a button that will allow the user to input the mathematical constant theta (i.e., θ)\",\n message: \"Theta\",\n },\n upArrow: \"Up arrow\",\n rightArrow: \"Right arrow\",\n downArrow: \"Down arrow\",\n leftArrow: \"Left arrow\",\n navOutOfParentheses: \"Navigate right out of a set of parentheses\",\n navOutOfExponent: \"Navigate right out of an exponent\",\n navOutOfBase: \"Navigate right out of a base\",\n navIntoNumerator: \"Navigate right into the numerator of a fraction\",\n navOutOfNumeratorIntoDenominator:\n \"Navigate right out of the numerator and into the denominator\",\n navOutOfDenominator: \"Navigate right out of the denominator of a fraction\",\n delete: \"Delete\",\n dismiss: {\n context: \"A label for a button that will dismiss/hide a keypad.\",\n message: \"Dismiss\",\n },\n};\n\n/**\n * Mock strings for the Math Input package, to be used for tests and Storybook.\n */\nexport const mockStrings: MathInputStrings = {\n mathInputBox: \"Math input box\",\n fingerTap: \"Tap with one or two fingers to open keyboard\",\n before: ({obj}: {obj: string}) => `before ${obj}`,\n after: ({obj}: {obj: string}) => `after ${obj}`,\n \"beginning of\": ({obj}: {obj: string}) => `beginning of ${obj}`,\n \"end of\": ({obj}: {obj: string}) => `end of ${obj}`,\n Baseline: \"Baseline\",\n Superscript: \"Superscript\",\n selected: ({obj}: {obj: string}) => `${obj} selected`,\n \"no answer\": \"no answer\",\n \"nothing selected\": \"nothing selected\",\n \"nothing to the right\": \"nothing to the right\",\n \"nothing to the left\": \"nothing to the left\",\n \"block is empty\": \"block is empty\",\n \"nothing above\": \"nothing above\",\n labelValue: ({label, value}: {label: string; value: string}) =>\n `${label}: ${value}`,\n plus: \"Plus\",\n minus: \"Minus\",\n negative: \"Negative\",\n times: \"Multiply\",\n divide: \"Divide\",\n decimal: \"Decimal\",\n percent: \"Percent\",\n cdot: \"Multiply\",\n equalsSign: \"Equals sign\",\n notEqualsSign: \"Not-equals sign\",\n greaterThanSign: \"Greater than sign\",\n lessThanSign: \"Less than sign\",\n greaterThanOrEqualToSign: \"Greater than or equal to sign\",\n lessThanOrEqualSign: \"Less than or equal to sign\",\n fractionExpressionInNumerator:\n \"Fraction, with current expression in numerator\",\n fractionExcludingExpression: \"Fraction, excluding the current expression\",\n customExponent: \"Custom exponent\",\n subscript: \"Subscript\",\n square: \"Square\",\n cube: \"Cube\",\n squareRoot: \"Square root\",\n cubeRoot: \"Cube root\",\n radicalWithCustomRoot: \"Radical with custom root\",\n leftParenthesis: \"Left parenthesis\",\n rightParenthesis: \"Right parenthesis\",\n naturalLog: \"Natural logarithm\",\n logBase10: \"Logarithm with base 10\",\n logCustomBase: \"Logarithm with custom base\",\n sine: \"Sine\",\n sin: \"sin\",\n cosine: \"Cosine\",\n cos: \"cos\",\n tangent: \"Tangent\",\n tan: \"tan\",\n pi: \"Pi\",\n theta: \"Theta\",\n upArrow: \"Up arrow\",\n rightArrow: \"Right arrow\",\n downArrow: \"Down arrow\",\n leftArrow: \"Left arrow\",\n navOutOfParentheses: \"Navigate right out of a set of parentheses\",\n navOutOfExponent: \"Navigate right out of an exponent\",\n navOutOfBase: \"Navigate right out of a base\",\n navIntoNumerator: \"Navigate right into the numerator of a fraction\",\n navOutOfNumeratorIntoDenominator:\n \"Navigate right out of the numerator and into the denominator\",\n navOutOfDenominator: \"Navigate right out of the denominator of a fraction\",\n delete: \"Delete\",\n dismiss: \"Dismiss\",\n};\n","/**\n * MathInputI18nContext provides a way to set the strings and locale that are\n * used inside the Math Input package.\n *\n */\nimport * as React from \"react\";\nimport {useContext, useMemo} from \"react\";\n\nimport {mockStrings} from \"../strings\";\n\nimport type {MathInputStrings} from \"../strings\";\n\ntype I18nContextType = {\n strings: MathInputStrings;\n locale: string;\n};\n\n// @ts-expect-error - TS2322 - Type 'Context<{ strings: {}; locale: string; }>' is not assignable to type 'Context<I18nContextType>'.\nexport const MathInputI18nContext: React.Context<I18nContextType> =\n React.createContext(\n process.env.NODE_ENV === \"test\" || process.env.STORYBOOK\n ? {\n strings: mockStrings,\n locale: \"en\",\n }\n : // We want to return null here, not an empty object, so that we\n // are will throw an error when attempting to access the\n // undefined locale or strings, making it easier to debug.\n null,\n );\n\ntype Props = React.PropsWithChildren<I18nContextType>;\n\nexport function MathInputI18nContextProvider({\n children,\n strings,\n locale,\n}: Props) {\n // Memoize so consumers don't re-render every time this provider's parent\n // renders; a fresh object literal would be a new context value each time.\n const value = useMemo(() => ({strings, locale}), [strings, locale]);\n\n return (\n <MathInputI18nContext.Provider value={value}>\n {children}\n </MathInputI18nContext.Provider>\n );\n}\n\nexport const useMathInputI18n = () => useContext(MathInputI18nContext);\n","/**\n * Common parameters used to style components.\n */\nexport const cursorHandleRadiusPx = 11;\n\n// The amount to multiply the radius by to get the distance from the\n// center to the tip of the cursor handle. The cursor is a circle with\n// one quadrant replace with a square. The hypotenuse of the square is\n// 1.045 times the radius of the circle.\nexport const cursorHandleDistanceMultiplier = 1.045;\n","/**\n * Renders the blue tear-shaped handle under the cursor.\n */\n\nimport {semanticColor} from \"@khanacademy/wonder-blocks-tokens\";\nimport * as React from \"react\";\n\nimport {\n cursorHandleRadiusPx,\n cursorHandleDistanceMultiplier,\n} from \"./cursor-styles\";\n\nconst touchTargetRadiusPx = 2 * cursorHandleRadiusPx;\nconst touchTargetHeightPx = 2 * touchTargetRadiusPx;\nconst touchTargetWidthPx = 2 * touchTargetRadiusPx;\n\nconst cursorRadiusPx = cursorHandleRadiusPx;\nconst cursorHeightPx = cursorHandleDistanceMultiplier * (cursorRadiusPx * 4);\nconst cursorWidthPx = 4 * cursorRadiusPx;\n\ntype Props = {\n animateIntoPosition: boolean;\n onTouchCancel: (arg1: React.TouchEvent<HTMLSpanElement>) => void;\n onTouchEnd: (arg1: React.TouchEvent<HTMLSpanElement>) => void;\n onTouchMove: (arg1: React.TouchEvent<HTMLSpanElement>) => void;\n onTouchStart: (arg1: React.TouchEvent<HTMLSpanElement>) => void;\n visible: boolean;\n x: number;\n y: number;\n};\n\ntype DefaultProps = {\n animateIntoPosition: Props[\"animateIntoPosition\"];\n visible: Props[\"visible\"];\n x: Props[\"x\"];\n y: Props[\"y\"];\n};\n\nclass CursorHandle extends React.Component<Props> {\n static defaultProps: DefaultProps = {\n animateIntoPosition: false,\n visible: false,\n x: 0,\n y: 0,\n };\n\n render(): React.ReactNode {\n const {x, y, animateIntoPosition} = this.props;\n\n const animationStyle = animateIntoPosition\n ? {\n transitionDuration: \"100ms\",\n transitionProperty: \"transform\",\n }\n : {};\n const transformString = `translate(${x}px, ${y}px)`;\n\n const outerStyle = {\n position: \"absolute\",\n zIndex: 4,\n left: -touchTargetWidthPx / 2,\n top: 0,\n transform: transformString,\n width: touchTargetWidthPx,\n height: touchTargetHeightPx,\n // Touch events that start on the cursor shouldn't be allowed to\n // produce page scrolls.\n touchAction: \"none\",\n ...animationStyle,\n } as const;\n\n return (\n <span\n style={outerStyle}\n onTouchStart={this.props.onTouchStart}\n onTouchMove={this.props.onTouchMove}\n onTouchEnd={this.props.onTouchEnd}\n onTouchCancel={this.props.onTouchCancel}\n >\n <svg\n fill=\"none\"\n width={cursorWidthPx}\n height={cursorHeightPx}\n viewBox={`0 0 ${cursorWidthPx} ${cursorHeightPx}`}\n >\n <filter\n id=\"math-input_cursor\"\n colorInterpolationFilters=\"sRGB\"\n filterUnits=\"userSpaceOnUse\"\n height={cursorHeightPx * 0.87} // ~40\n width={cursorWidthPx * 0.82} // ~36\n x=\"4\"\n y=\"0\"\n >\n <feDropShadow\n dx=\"0\"\n dy=\"4\"\n stdDeviation=\"4\"\n floodColor={\n semanticColor.core.shadow.transparent.low\n }\n />\n </filter>\n <g filter=\"url(#math-input_cursor)\">\n <path\n d=\"m22 4-7.07 7.0284c-1.3988 1.3901-2.3515 3.1615-2.7376 5.09-.3861 1.9284-.1883 3.9274.5685 5.7441s2.0385 3.3694 3.6831 4.4619c1.6445 1.0925 3.5781 1.6756 5.556 1.6756s3.9115-.5831 5.556-1.6756c1.6446-1.0925 2.9263-2.6452 3.6831-4.4619s.9546-3.8157.5685-5.7441c-.3861-1.9285-1.3388-3.6999-2.7376-5.09z\"\n fill={\n semanticColor.core.foreground.instructive\n .default\n }\n />\n </g>\n <path\n d=\"m14.9301 10.4841 7.0699-7.06989 7.0699 7.06989.0001.0001c1.3988 1.3984 2.3515 3.1802 2.7376 5.1201s.1883 3.9507-.5685 5.7782c-.7568 1.8274-2.0385 3.3894-3.6831 4.4883-1.6445 1.099-3.5781 1.6855-5.556 1.6855s-3.9115-.5865-5.556-1.6855c-1.6446-1.0989-2.9263-2.6609-3.6831-4.4883-.7568-1.8275-.9546-3.8383-.5685-5.7782s1.3388-3.7217 2.7376-5.1201z\"\n stroke={semanticColor.core.foreground.knockout.default}\n strokeWidth=\"2\"\n />\n </svg>\n </span>\n );\n }\n}\n\nexport default CursorHandle;\n","/**\n * A gesture recognizer that detects 'drags', crudely defined as either scrolls\n * or touches that move a sufficient distance.\n */\n\n// The 'slop' factor, after which we consider the use to be dragging. The value\n// is taken from the Android SDK. It won't be robust to page zoom and the like,\n// but it should be good enough for our purposes.\nconst touchSlopPx = 8;\n\nclass DragListener {\n _scrollListener: () => void;\n _moveListener: (evt: TouchEvent) => void;\n _endAndCancelListener: (evt: TouchEvent) => void;\n\n constructor(onDrag, initialEvent) {\n // We detect drags in two ways. First, by listening for the window\n // scroll event (we consider any legitimate scroll to be a drag).\n this._scrollListener = () => {\n onDrag();\n };\n\n // And second, by listening for touch moves and tracking the each\n // finger's displacement. This allows us to track, e.g., when the user\n // scrolls within an individual view.\n const touchLocationsById = {};\n for (let i = 0; i < initialEvent.changedTouches.length; i++) {\n const touch = initialEvent.changedTouches[i];\n touchLocationsById[touch.identifier] = [\n touch.clientX,\n touch.clientY,\n ];\n }\n\n this._moveListener = (evt) => {\n for (let i = 0; i < evt.changedTouches.length; i++) {\n const touch = evt.changedTouches[i];\n const initialTouchLocation =\n touchLocationsById[touch.identifier];\n if (initialTouchLocation) {\n const touchLocation = [touch.clientX, touch.clientY];\n const dx = touchLocation[0] - initialTouchLocation[0];\n const dy = touchLocation[1] - initialTouchLocation[1];\n\n const squaredDist = dx * dx + dy * dy;\n const squaredTouchSlop = touchSlopPx * touchSlopPx;\n\n if (squaredDist > squaredTouchSlop) {\n onDrag();\n }\n }\n }\n };\n\n // Clean-up any terminated gestures, since some browsers reuse\n // identifiers.\n this._endAndCancelListener = (evt) => {\n for (let i = 0; i < evt.changedTouches.length; i++) {\n delete touchLocationsById[evt.changedTouches[i].identifier];\n }\n };\n }\n\n attach() {\n window.addEventListener(\"scroll\", this._scrollListener);\n window.addEventListener(\"touchmove\", this._moveListener);\n window.addEventListener(\"touchend\", this._endAndCancelListener);\n window.addEventListener(\"touchcancel\", this._endAndCancelListener);\n }\n\n detach() {\n window.removeEventListener(\"scroll\", this._scrollListener);\n window.removeEventListener(\"touchmove\", this._moveListener);\n window.removeEventListener(\"touchend\", this._endAndCancelListener);\n window.removeEventListener(\"touchcancel\", this._endAndCancelListener);\n }\n}\n\nexport default DragListener;\n","import type {CursorContext} from \"./components/input/cursor-contexts\";\nimport type {KeyType} from \"./enums\";\nimport type {\n KeypadConfiguration,\n KeypadContextRendererInterface,\n KeypadKey,\n} from \"@khanacademy/perseus-core\";\nimport type * as React from \"react\";\n\nexport enum MathFieldActionType {\n WRITE = \"write\",\n CMD = \"cmd\",\n KEYSTROKE = \"keystroke\",\n MQ_END = 0,\n}\n\ntype IconConfig = {\n data: string;\n};\n\nexport type KeyConfig = {\n id: KeypadKey;\n type: KeyType;\n icon: IconConfig;\n ariaLabel: string;\n};\n\nexport type KeyHandler = (key: KeypadKey) => Cursor;\n\nexport type Cursor = {\n context: (typeof CursorContext)[keyof typeof CursorContext];\n};\n\nexport type ClickKeyCallback = (\n key: KeypadKey,\n event?: React.SyntheticEvent,\n) => void;\n\nexport type KeypadPageType =\n | \"Geometry\"\n | \"Operators\"\n | \"Numbers\"\n | \"Fractions\"\n | \"Extras\"\n | \"Dismiss\";\n\nexport interface KeypadAPI {\n activate: () => void;\n dismiss: () => void;\n configure: (configuration: KeypadConfiguration, cb: () => void) => void;\n setCursor: (cursor: Cursor) => void;\n setKeyHandler: (keyHandler: KeyHandler) => void;\n getDOMNode: () => HTMLElement | null;\n}\n\nexport type KeypadContextType = {\n setKeypadActive: (keypadActive: boolean) => void;\n keypadActive: boolean;\n setKeypadElement: (keypadElement?: KeypadAPI) => void;\n keypadElement: KeypadAPI | null | undefined;\n setRenderer: (\n renderer?: KeypadContextRendererInterface | null | undefined,\n ) => void;\n blurRenderer: () => void;\n setScrollableElement: (\n scrollableElement?: HTMLElement | null | undefined,\n ) => void;\n scrollableElement: HTMLElement | null | undefined;\n};\n","/**\n * Enum that defines the various contexts in which a cursor can exist. The\n * active context is determined first by looking at the cursor's siblings (e.g.,\n * for the `BEFORE_FRACTION` context), and then at its direct parent. Though a\n * cursor could in theory be nested in multiple contexts, we only care about the\n * immediate context.\n */\n\nexport enum CursorContext {\n // The cursor is not in any of the other viable contexts.\n NONE = \"NONE\",\n\n // The cursor is within a set of parentheses.\n IN_PARENS = \"IN_PARENS\",\n\n // The cursor is within a superscript (e.g., an exponent).\n IN_SUPER_SCRIPT = \"IN_SUPER_SCRIPT\",\n\n // The cursor is within a subscript (e.g., the base of a custom logarithm).\n IN_SUB_SCRIPT = \"IN_SUB_SCRIPT\",\n\n // The cursor is in the numerator of a fraction.\n IN_NUMERATOR = \"IN_NUMERATOR\",\n\n // The cursor is in the denominator of a fraction.\n IN_DENOMINATOR = \"IN_DENOMINATOR\",\n\n // The cursor is sitting before a fraction; that is, the cursor is within\n // what looks to be a mixed number preceding a fraction. This will only be\n // the case when the only math between the cursor and the fraction to its\n // write is non-leaf math (numbers and variables).\n BEFORE_FRACTION = \"BEFORE_FRACTION\",\n}\n","/**\n * @license\n * MathQuill v1.0.3, by Han, Jeanine, and Mary\n * http://mathquill.com | maintainers@mathquill.com\n *\n * This Source Code Form is subject to the terms of the\n * Mozilla Public License, v. 2.0. If a copy of the MPL\n * was not distributed with this file, You can obtain\n * one at http://mozilla.org/MPL/2.0/.\n */\nfunction noop(){}function walkUpAsFarAsPossible(t){for(;t;){if(!t.parent)return t;t=t.parent}}function pray(t,e,n){var r,o,i,a,s,l;if(!e){if(r=new Error(\"prayer failed: \"+t),n){o={},r.dcgExtraErrorMetaData=o;for(i in n)a=n[i],s=o[i]={},a?(s.localLatex=a.latex(),(l=walkUpAsFarAsPossible(a))&&(s.rootLatex=l.latex())):s.emptyNode=!0}throw r}}function prayDirection(t){pray(\"a direction was passed\",t===L||t===R)}function parseHTML(t){var e,n=document.implementation.createHTMLDocument(\"\");if(n.body.innerHTML=t,1===n.body.children.length)return n.body.children[0];for(e=document.createDocumentFragment();n.body.firstChild;)e.appendChild(n.body.firstChild);return e}function closest(t,e){var n,r,o,i,a;if(\"function\"==typeof(null===(n=t)||void 0===n?void 0:n.closest))return t.closest(e);if(!(t instanceof HTMLElement))return null;i=Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,a=t;do{if(i.call(a,e))return a;a=null!==(o=null!==(r=null===a||void 0===a?void 0:a.parentElement)&&void 0!==r?r:null===a||void 0===a?void 0:a.parentNode)&&void 0!==o?o:null}while(null!==a&&1===a.nodeType);return null}function getBoundingClientRect(t){return t.getClientRects().length?t.getBoundingClientRect():{top:0,left:0,height:0,width:0,x:0,y:0,bottom:0,right:0}}function getScrollX(){return void 0!==window.pageXOffset?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft}function getScrollY(){return void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop}function _insDirOf(t,e,n,r){e.insertBefore(n,t===L?r:r.nextSibling)}function _insAtDirEnd(t,e,n){t===L?n.insertBefore(e,n.firstChild):n.appendChild(e)}function eachNode(t,e){var n,r=t[L];if(r&&(n=t[R]))for(n=n[R];r!==n&&!1!==e(r);r=r[R]);}function foldNodes(t,e,n){var r,o=t[L];if(!o)return e;if(!(r=t[R]))return e;for(r=r[R];o!==r;o=o[R])e=n(e,o);return e}function prayWellFormed(t,e,n){pray(\"a parent is always present\",t),pray(\"leftward is properly set up\",function(){return e?e[R]===n&&e.parent===t:t.getEnd(L)===n}(),{parent:t,leftward:e,leftwardL:e&&e[L],leftwardR:e&&e[R],rightwardL:n&&n[L],rightwardR:n&&n[R]}),pray(\"rightward is properly set up\",function(){return n?n[L]===e&&n.parent===t:t.getEnd(R)===e}(),{parent:t,rightward:n,leftwardL:e&&e[L],leftwardR:e&&e[R],rightwardL:n&&n[L],rightwardR:n&&n[R],rightwardParent:n&&n.parent})}function isMQNodeClass(t){return t&&t.prototype instanceof MQNode}function MathQuill(t){return insistOnInterVer(),MQ1||(MQ1=getInterface(1)),MQ1(t)}function getInterface(t){function e(t,e){var n,o,a;for(n in e)if(e.hasOwnProperty(n)){if(\"substituteKeyboardEvents\"===n&&r>=3)throw new Error([\"As of interface version 3, the 'substituteKeyboardEvents'\",\"option is no longer supported. Use 'overrideTypedText' and\",\"'overrideKeystroke' instead.\"].join(\" \"));o=e[n],a=i[n],t[n]=a?a(o):o}}function n(t,e){function n(n,o){var i,s;return n&&n.nodeType?(i=u(n))instanceof e?i:(s=new Controller(new e.RootBlock,n,new a(r)),s.KIND_OF_MQ=t,new e(s).__mathquillify(o||{},r)):null}return pray(t+\" is defined\",e),n.prototype=e.prototype,n}var r,o,i,a,s,l,c,u;if(1!==t&&2!==t&&3!==t)throw\"Only interface versions between \"+MIN+\" and \"+MAX+\" supported. You specified: \"+t;if((r=t)<3){if(!(o=window.jQuery))throw\"MathQuill interface version \".concat(r,\" requires jQuery 1.5.2+ to be loaded first\");Options.prototype.jQuery=o}return i=__assign(__assign({},baseOptionProcessors),{handlers:function(t){return{fns:t||{},APIClasses:c}}}),a=r<3?Options:function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(Options),s=function(t){function n(e){var n=t.call(this)||this;return n.__controller=e,n.__options=e.options,n.id=e.id,n.data=e.data,n}return __extends(n,t),n.prototype.mathquillify=function(t){var e,n=this.__controller,o=n.root,i=n.container;n.createTextarea(),e=domFrag(i).addClass(t).children().detach(),o.setDOM(domFrag(h(\"span\",{class:\"mq-root-block\",\"aria-hidden\":!0})).appendTo(i).oneElement()),NodeBase.linkElementByBlockNode(o.domFrag().oneElement(),o),this.latex(e.text()),this.revert=function(){return n.removeMouseEventListener(),domFrag(i).removeClass(\"mq-editable-field mq-math-mode mq-text-mode\").empty().append(e),r<3?this.__options.assertJquery()(i):i}},n.prototype.setAriaLabel=function(t){return this.__controller.setAriaLabel(t),this},n.prototype.getAriaLabel=function(){return this.__controller.getAriaLabel()},n.prototype.config=function(t){return e(this.__options,t),this},n.prototype.el=function(){return this.__controller.container},n.prototype.text=function(){return this.__controller.exportText()},n.prototype.mathspeak=function(){return this.__controller.exportMathSpeak()},n.prototype.latex=function(t){if(arguments.length>0){this.__controller.renderLatexMath(t);var e=this.__controller.cursor;return this.__controller.blurred&&e.hide().parent.blur(e),this}return this.__controller.exportLatex()},n.prototype.selection=function(){return this.__controller.exportLatexSelection()},n.prototype.html=function(){return this.__controller.root.domFrag().oneElement().innerHTML.replace(/ jQuery\\d+=\"(?:\\d+|null)\"/g,\"\").replace(/ mathquill-(?:command|block)-id=\"?\\d+\"?/g,\"\").replace(/<span class=\"?mq-cursor( mq-blink)?\"?>.?<\\/span>/i,\"\").replace(/ mq-hasCursor|mq-hasCursor ?/,\"\").replace(/ class=(\"\"|(?= |>))/g,\"\")},n.prototype.reflow=function(){return this.__controller.root.postOrder(function(t){t.reflow()}),this},n.prototype.cursor=function(){return this.__controller.cursor},n.prototype.controller=function(){return this.__controller},n.prototype.setAriaStringsOverrideMap=function(t){return this.__controller.setAriaStringsOverrideMap(t),this},n}(Progenote),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.setMathspeakOverride=function(t){return NodeBase.prototype.mathspeakOverride=t,e},e}return __extends(e,t),e.prototype.mathquillify=function(e){return t.prototype.mathquillify.call(this,e),this.__controller.editable=!0,this.__controller.addMouseEventListener(),this.__controller.editablesTextareaEvents(),this},e.prototype.focus=function(){return this.__controller.getTextareaOrThrow().focus(),this.__controller.scrollHoriz(),this},e.prototype.blur=function(){return this.__controller.getTextareaOrThrow().blur(),this},e.prototype.write=function(t){this.__controller.writeLatex(t),this.__controller.scrollHoriz();var e=this.__controller.cursor;return this.__controller.blurred&&e.hide().parent.blur(e),this},e.prototype.empty=function(){var t,e=this.__controller.root,n=this.__controller.cursor;return e.setEnds((t={},t[L]=0,t[R]=0,t)),e.domFrag().empty(),delete n.selection,n.insAtRightEnd(e),this},e.prototype.cmd=function(t){var e,n,r=this.__controller.notify(void 0),o=r.cursor;return/^\\\\[a-z]+$/i.test(t)&&!o.isTooDeep()?(t=t.slice(1),(e=LatexCmds[t])&&(n=e.constructor?new e(t):e(t),o.selection&&n.replaces(o.replaceSelection()),n.createLeftOf(o.show()))):o.parent.write(o,t),r.scrollHoriz(),r.blurred&&o.hide().parent.blur(o),this},e.prototype.select=function(){return this.__controller.selectAll(),this},e.prototype.clearSelection=function(){return this.__controller.cursor.clearSelection(),this},e.prototype.moveToDirEnd=function(t){return this.__controller.notify(\"move\").cursor.insAtDirEnd(t,this.__controller.root),this},e.prototype.moveToLeftEnd=function(){return this.moveToDirEnd(L)},e.prototype.moveToRightEnd=function(){return this.moveToDirEnd(R)},e.prototype.keystroke=function(t,e){var n,r=t.replace(/^\\s+|\\s+$/g,\"\").split(/\\s+/);for(n=0;n<r.length;n+=1)this.__controller.keystroke(r[n],e);return this},e.prototype.typedText=function(t){for(var e=0;e<t.length;e+=1)this.__controller.typedText(t.charAt(e));return this},e.prototype.dropEmbedded=function(t,e,n){var r,o=t-getScrollX(),i=e-getScrollY(),a=document.elementFromPoint(o,i);this.__controller.seek(a,o,i),r=(new EmbedNode).setOptions(n),r.createLeftOf(this.__controller.cursor)},e.prototype.setAriaPostLabel=function(t,e){return this.__controller.setAriaPostLabel(t,e),this},e.prototype.getAriaPostLabel=function(){return this.__controller.getAriaPostLabel()},e.prototype.clickAt=function(t,e,n){var r,o,i;return n=n||document.elementFromPoint(t,e),r=this.__controller,o=r.root,i=o.domFrag().oneElement(),i.contains(n)||(n=i),r.seek(n,t,e),r.blurred&&this.focus(),this},e.prototype.ignoreNextMousedown=function(t){return this.__controller.cursor.options.ignoreNextMousedown=t,this},e}(s),c={AbstractMathQuill:s,EditableField:l},pray(\"API.StaticMath defined\",API.StaticMath),c.StaticMath=API.StaticMath(c),pray(\"API.MathField defined\",API.MathField),c.MathField=API.MathField(c),pray(\"API.InnerMathField defined\",API.InnerMathField),c.InnerMathField=API.InnerMathField(c),API.TextField&&(c.TextField=API.TextField(c)),u=function(t){var e,n,r,o,i,a,s,l;if(!t||!t.nodeType)return null;for(n=domFrag(t).children().toElementArray(),r=0,o=n;r<o.length;r++)if(i=o[r],i.classList.contains(\"mq-root-block\")){e=i;break}return a=NodeBase.getNodeOfElement(e),s=a&&a.controller,l=s&&c[s.KIND_OF_MQ],s&&l?new l(s):null},u.L=L,u.R=R,u.config=function(t){return e(a.prototype,t),this},u.registerEmbed=function(t,e){if(!/^[a-z][a-z0-9]*$/i.test(t))throw\"Embed name must start with letter and be only letters and digits\";EMBEDS[t]=e},u.StaticMath=n(\"StaticMath\",c.StaticMath),u.MathField=n(\"MathField\",c.MathField),u.InnerMathField=n(\"InnerMathField\",c.InnerMathField),c.TextField&&(u.TextField=n(\"TextField\",c.TextField)),u.prototype=s.prototype,u.EditableField=function(){throw\"wtf don't call me, I'm 'abstract'\"},u.EditableField.prototype=l.prototype,r<3&&(u.saneKeyboardEvents=defaultSubstituteKeyboardEvents),u}function RootBlockMixin(t){t.moveOutOf=function(t){pray(\"controller is defined\",this.controller),this.controller.handle(\"moveOutOf\",t)},t.deleteOutOf=function(t){pray(\"controller is defined\",this.controller),this.controller.handle(\"deleteOutOf\",t)},t.selectOutOf=function(t){pray(\"controller is defined\",this.controller),this.controller.handle(\"selectOutOf\",t)},t.upOutOf=function(){pray(\"controller is defined\",this.controller),this.controller.handle(\"upOutOf\")},t.downOutOf=function(){pray(\"controller is defined\",this.controller),this.controller.handle(\"downOutOf\")},t.reflow=function(){pray(\"controller is defined\",this.controller),this.controller.handle(\"reflow\"),this.controller.handle(\"edited\"),this.controller.handle(\"edit\")}}function parseError(t,e){throw t=t?\"'\"+t+\"'\":\"EOF\",\"Parse Error: \"+e+\" at \"+t}function defaultSubstituteKeyboardEvents(t,e){return saneKeyboardEvents(t[0],e)}function bindVanillaSymbol(t,e,n){return function(){return new VanillaSymbol(t,e?h.entityText(e):void 0,n)}}function bindBinaryOperator(t,e,n,r){return function(){return new BinaryOperator(t,e?h.entityText(e):void 0,n,r)}}function bindVariable(t,e,n){return function(){return new Variable(t,h.entityText(e))}}function defaultAutoOpNames(){var t,e,n,r,o={_maxLength:9},i=\"arg deg det dim exp gcd hom inf ker lg lim ln log max min sup limsup liminf injlim projlim Pr\".split(\" \");for(t=0;t<i.length;t+=1)BuiltInOpNames[i[t]]=o[i[t]]=1;for(e=\"sin cos tan arcsin arccos arctan sinh cosh tanh sec csc cot coth\".split(\" \"),t=0;t<e.length;t+=1)BuiltInOpNames[e[t]]=1;for(n=\"sin cos tan sec cosec csc cotan cot ctg\".split(\" \"),t=0;t<n.length;t+=1)o[n[t]]=o[\"arc\"+n[t]]=o[n[t]+\"h\"]=o[\"ar\"+n[t]+\"h\"]=o[\"arc\"+n[t]+\"h\"]=1;for(r=\"gcf hcf lcm proj span\".split(\" \"),t=0;t<r.length;t+=1)o[r[t]]=1;return o}function isBinaryOperator(t){if(!t)return!1;var e=t[L];return e?!(e instanceof BinaryOperator||/^(\\\\ )|[,;:\\(\\[]$/.test(e.ctrlSeq)):!!(t.parent&&t.parent.parent&&t.parent.parent.isStyleBlock())&&isBinaryOperator(t.parent.parent)}function getCtrlSeqsFromBlock(t){if(!t)return\"\";var e=\"\";return t.eachChild(function(t){void 0!==t.ctrlSeq&&(e+=t.ctrlSeq)}),e}function insLeftOfMeUnlessAtEnd(t){var e=this.parent,n=t;do{if(n[R])return t.insLeftOf(e);n=n.parent.parent}while(n!==e);t.insRightOf(e)}function getOppBracketSide(t){var e=t.side,n=t.sides[e];return{ch:OPP_BRACKS[n.ch],ctrlSeq:OPP_BRACKS[n.ctrlSeq]}}function bindCharBracketPair(t,e,n){var r,o;e=e||t,r=OPP_BRACKS[t],o=OPP_BRACKS[e],CharCmds[t]=function(){return new Bracket(L,t,r,e,o)},CharCmds[r]=function(){return new Bracket(R,t,r,e,o)},BRACKET_NAMES[t]=BRACKET_NAMES[r]=n}function TextBlockFuseChildren(t){var e,n,r;if(t.domFrag().oneElement().normalize(),e=t.domFrag().children(),!e.isEmpty())return n=e.oneText(),pray(\"only node in TextBlock span is Text node\",3===n.nodeType),r=new TextPiece(n.data),r.setDOM(n),t.children().disown(),r.adopt(t,0,0),r}function makeTextBlock(t,e,n,r){return function(o){function i(){var n=null!==o&&o.apply(this,arguments)||this;return n.ctrlSeq=t,n.mathspeakTemplate=[\"Start\"+e,\"End\"+e],n.ariaLabel=e,n}return __extends(i,o),i.prototype.html=function(){var t=h(n,r,[h.text(this.textContents())]);return this.setDOM(t),NodeBase.linkElementByCmdNode(t,this),t},i}(TextBlock)}var U_NO_BREAK_SPACE,U_ZERO_WIDTH_SPACE,U_DOT_ABOVE,U_NARY_SUMMATION,U_NARY_PRODUCT,U_NARY_COPRODUCT,U_INTEGRAL,animate,Aria,DOMFragment,domFrag,Point,NodeBase,Fragment,LatexCmds,CharCmds,Anticursor,Cursor,MQSelection,ControllerBase,API,EMBEDS,processedOptions,baseOptionProcessors,Options,Progenote,insistOnInterVer,MQ1,MIN,MAX,Parser,EveryTick,saneKeyboardEvents,Controller_exportText,Controller_focusBlur,INCREMENTAL_SELECTION_OPEN,MQNode,Controller_keystroke,TempSingleCharNode,latexMathParser,Controller_latex,ignoreNextMouseDownNoop,cancelSelectionOnEdit,Controller_mouse,Controller_scrollHoriz,Controller,MathElement,DOMView,MathCommand,MQSymbol,VanillaSymbol,BinaryOperator,MathBlock,RootMathBlock,DigitGroupingChar,Digit,Variable,Letter,BuiltInOpNames,TwoWordOpNames,OperatorName,fn,NonSymbolaSymbol,LatexFragment,PlusMinus,MinusNode,To,Inequality,less,greater,Greater,Equality,Sim,Approx,SVG_SYMBOLS,Style,Class,intRgx,SupSub,SubscriptCommand,SummationNotation,Fraction,LiveFraction,AnsBuilder,PercentOfBuilder,Token,SquareRoot,NthRoot,DiacriticAbove,DelimsNode,Bracket,OPP_BRACKS,BRACKET_NAMES,leftBinomialSymbol,rightBinomialSymbol,Binomial,MathFieldNode,EmbedNode,TextBlock,TextPiece,RootMathCommand,RootTextBlock,__extends=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){function r(){this.constructor=e}if(\"function\"!=typeof n&&null!==n)throw new TypeError(\"Class extends value \"+String(n)+\" is not a constructor or null\");t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),__assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){var e,n,r,o;for(n=1,r=arguments.length;n<r;n++){e=arguments[n];for(o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},__assign.apply(this,arguments)},L=-1,R=1,min=Math.min,max=Math.max,h=function(t,e,n){var r,o,i,a;switch(t){case\"svg\":case\"path\":r=document.createElementNS(\"http://www.w3.org/2000/svg\",t);break;default:r=document.createElement(t)}for(o in e)void 0!==(i=e[o])&&r.setAttribute(o,\"string\"==typeof i?i:String(i));if(n)for(a=0;a<n.length;a++)r.appendChild(n[a]);return r};h.text=function(t){return document.createTextNode(t)},h.block=function(t,e,n){var r=h(t,e,[n.html()]);return n.setDOM(r),NodeBase.linkElementByBlockNode(r,n),r},h.entityText=function(t){var e=parseHTML(t);return pray(\"entity parses to a single text node\",e instanceof DocumentFragment&&1===e.childNodes.length&&e.childNodes[0]instanceof Text),e.childNodes[0]},U_NO_BREAK_SPACE=\" \",U_ZERO_WIDTH_SPACE=\"\",U_DOT_ABOVE=\"˙\",U_NARY_SUMMATION=\"∑\",U_NARY_PRODUCT=\"∏\",U_NARY_COPRODUCT=\"∐\",U_INTEGRAL=\"∫\",animate=function(){var t,e;return\"function\"==typeof requestAnimationFrame&&\"function\"==typeof cancelAnimationFrame?(t=requestAnimationFrame,e=cancelAnimationFrame):(t=function(t){return window.setTimeout(t,13)},e=clearTimeout),function(n,r){function o(){var t=(Date.now()-l)/n;t<=c?a():c=t,r(c,a,i)}function i(){void 0!==s&&e(s),s=void 0}function a(){i(),s=t(o)}var s,l=Date.now(),c=0;r(n<=0?1:0,a,i)}}(),Aria=function(){function t(t){this.span=h(\"span\",{class:\"mq-aria-alert\",\"aria-live\":\"assertive\",\"aria-atomic\":\"true\"}),this.msg=\"\",this.items=[],this.controller=t}return t.prototype.attach=function(){var t=this.controller.container;this.span.parentNode!==t&&domFrag(t).prepend(domFrag(this.span))},t.prototype.queue=function(t,e){return void 0===e&&(e=!1),this.items.push(this.processQueueItems(t,e)),this},t.prototype.processQueueItems=function(t,e){var n,r;return void 0===e&&(e=!1),n=Array.isArray(t)?t:[t],r=n.map(function(t){if(t instanceof MQNode){var n=t.mathspeak({ignoreShorthand:!0});if(e){if(t.parent&&t.parent.ariaLabel&&\"block\"===t.ariaLabel)return t.parent.ariaLabel+\" \"+n;if(t.ariaLabel)return t.ariaLabel+\" \"+n}return n}return t||\"\"}),r.join(\" \")},t.prototype.queueDirOf=function(t,e,n){void 0===n&&(n=!1),prayDirection(t);var r=t===L?\"before\":\"after\";return this.queueDir(r,e,n)},t.prototype.queueDirEndOf=function(t,e,n){void 0===n&&(n=!1),prayDirection(t);var r=t===L?\"beginning of\":\"end of\";return this.queueDir(r,e,n)},t.prototype.queueDir=function(t,e,n){var r;return void 0===n&&(n=!1),(null===(r=this.controller.ariaStringsOverrideMap)||void 0===r?void 0:r[t])?this.queue(this.controller.ariaStringsOverrideMap[t](this.processQueueItems(e,n))):this.queue(t).queue(e,n)},t.prototype.queueSelected=function(t,e){return void 0===e&&(e=!1),this.controller.ariaStringsOverrideMap&&this.controller.ariaStringsOverrideMap.selected?this.queue(this.controller.ariaStringsOverrideMap.selected(this.processQueueItems(t,e)),e):this.queue(t,e).queue(\" selected\")},t.prototype.queueTranslatableString=function(t){var e,n=null===(e=this.controller.ariaStringsOverrideMap)||void 0===e?void 0:e[t];return n&&\"string\"==typeof n?this.queue(n):this.queue(t)},t.prototype.alert=function(t){return this.attach(),t&&this.queue(t),this.items.length&&(this.msg=this.items.join(\" \").replace(/ +(?= )/g,\"\").trim(),this.controller.containerHasFocus()&&(this.controller.options.logAriaAlerts&&this.msg&&console.log(this.msg),this.span.textContent=this.msg)),this.clear()},t.prototype.clear=function(){return this.items.length=0,this},t}(),DOMFragment=function(){function t(t,e){var n;1===arguments.length&&(e=t),t&&e&&(this.ends=(n={},n[L]=t,n[R]=e,n))}return t.create=function(e,n){1===arguments.length&&(n=e),pray(\"No half-empty DOMFragments\",!!e==!!n);var r=new t(e,n);return pray(\"last is a forward sibling of first\",r.isValid()),r},t.prototype.isEmpty=function(){return void 0===this.ends},t.prototype.isOneNode=function(){return!(!this.ends||this.ends[L]!==this.ends[R])},t.prototype.isValid=function(){if(!this.ends)return!0;if(this.ends[L]===this.ends[R])return!0;var t;return this.eachNode(function(e){return t=e}),t===this.ends[R]},t.prototype.firstNode=function(){return pray(\"Fragment is not empty\",this.ends),this.ends[L]},t.prototype.lastNode=function(){return pray(\"Fragment is not empty\",this.ends),this.ends[R]},t.prototype.children=function(){var e=this.oneNode(),n=e.firstChild,r=e.lastChild;return n&&r?new t(n,r):new t},t.prototype.join=function(e){var n,r;if(!this.ends)return e;if(!e.ends)return this;for(n=!1,r=this.ends[R].nextSibling;r;){if(r===e.ends[L]){n=!0;break}r=r.nextSibling}return pray(\"sibling must be a forward DOM sibling of this fragment\",n),new t(this.ends[L],e.ends[R])},t.prototype.oneNode=function(){return pray(\"Fragment has a single node\",this.ends&&this.ends[L]===this.ends[R]),this.ends[L]},t.prototype.oneElement=function(){var t=this.oneNode();return pray(\"Node is an Element\",t.nodeType===Node.ELEMENT_NODE),t},t.prototype.oneText=function(){var t=this.oneNode();return pray(\"Node is Text\",t.nodeType===Node.TEXT_NODE),t},t.prototype.eachNode=function(t){var e,n,r;if(!this.ends)return this;for(e=this.ends[R],n=this.ends[L],r=void 0;n&&(r=n.nextSibling,t(n),n!==e);n=r);return this},t.prototype.eachElement=function(t){return this.eachNode(function(e){e.nodeType===Node.ELEMENT_NODE&&t(e)}),this},t.prototype.text=function(){var t=\"\";return this.eachNode(function(e){t+=e.textContent||\"\"}),t},t.prototype.toNodeArray=function(){var t=[];return this.eachNode(function(e){return t.push(e)}),t},t.prototype.toElementArray=function(){var t=[];return this.eachElement(function(e){return t.push(e)}),t},t.prototype.toDocumentFragment=function(){var t=document.createDocumentFragment();return this.eachNode(function(e){return t.appendChild(e)}),t},t.prototype.insertBefore=function(t){return this.insDirOf(L,t)},t.prototype.insertAfter=function(t){return this.insDirOf(R,t)},t.prototype.append=function(t){return t.appendTo(this.oneElement()),this},t.prototype.prepend=function(t){return t.prependTo(this.oneElement()),this},t.prototype.appendTo=function(t){return this.insAtDirEnd(R,t)},t.prototype.prependTo=function(t){return this.insAtDirEnd(L,t)},t.prototype.parent=function(){if(!this.ends)return this;var e=this.ends[L].parentNode;return e?new t(e):new t},t.prototype.wrapAll=function(t){var e,n;return t.textContent=\"\",this.ends?(e=this.ends[L].parentNode,n=this.ends[R].nextSibling,this.appendTo(t),e&&e.insertBefore(t,n),this):this},t.prototype.replaceWith=function(t){var e,n,r=null===(e=this.ends)||void 0===e?void 0:e[R],o=null===r||void 0===r?void 0:r.parentNode,i=null===r||void 0===r?void 0:r.nextSibling;return this.detach(),n=t.toDocumentFragment(),r&&o?(o.insertBefore(n,i||null),this):this},t.prototype.nthElement=function(t){if(this.ends&&!(t<0||t!==Math.floor(t)))for(var e=this.ends[L];e;){if(e.nodeType===Node.ELEMENT_NODE){if(t<=0)return e;t-=1}if(e===this.ends[R])return;e=e.nextSibling}},t.prototype.firstElement=function(){return this.nthElement(0)},t.prototype.lastElement=function(){if(this.ends)for(var t=this.ends[R];t;){if(t.nodeType===Node.ELEMENT_NODE)return t;if(t===this.ends[L])return;t=t.previousSibling}},t.prototype.first=function(){return new t(this.firstElement())},t.prototype.last=function(){return new t(this.lastElement())},t.prototype.eq=function(e){return new t(this.nthElement(e))},t.prototype.slice=function(e){if(!this.ends)return this;var n=this.nthElement(e);return n?new t(n,this.ends[R]):new t},t.prototype.next=function(){for(var e=this.oneNode();e;)if((e=e.nextSibling)&&e.nodeType===Node.ELEMENT_NODE)return new t(e);return new t},t.prototype.prev=function(){for(var e=this.oneNode();e;)if((e=e.previousSibling)&&e.nodeType===Node.ELEMENT_NODE)return new t(e);return new t},t.prototype.empty=function(){return this.eachElement(function(t){t.textContent=\"\"}),this},t.prototype.remove=function(){return this.toDocumentFragment(),this},t.prototype.detach=function(){return this.remove()},t.prototype.insDirOf=function(t,e){var n,r;return this.ends?(r=null===(n=e.ends)||void 0===n?void 0:n[t])&&r.parentNode?(_insDirOf(t,r.parentNode,this.toDocumentFragment(),r),this):this.detach():this},t.prototype.insAtDirEnd=function(t,e){return this.ends?(_insAtDirEnd(t,this.toDocumentFragment(),e),this):this},t.prototype.hasClass=function(t){var e=!1;return this.eachElement(function(n){n.classList.contains(t)&&(e=!0)}),e},t.prototype.addClass=function(t){var e,n,r,o=function(t){if(!t)return\"continue\";i.eachElement(function(e){e.classList.add(t)})},i=this;for(e=0,n=t.split(/\\s+/);e<n.length;e++)r=n[e],o(r);return this},t.prototype.removeClass=function(t){var e,n,r,o=function(t){if(!t)return\"continue\";i.eachElement(function(e){e.classList.remove(t)})},i=this;for(e=0,n=t.split(/\\s+/);e<n.length;e++)r=n[e],o(r);return this},t.prototype.toggleClass=function(t,e){var n,r,o,i,a;if(!0===e)return this.addClass(t);if(!1===e)return this.removeClass(t);for(n=function(t){if(!t)return\"continue\";r.eachElement(function(e){e.classList.toggle(t)})},r=this,o=0,i=t.split(/\\s+/);o<i.length;o++)a=i[o],n(a);return this},t}(),domFrag=DOMFragment.create,Point=function(){function t(t,e,n){this.init(t,e,n)}return t.prototype.init=function(t,e,n){this.parent=t,this[L]=e,this[R]=n},t.copy=function(e){return new t(e.parent,e[L],e[R])},t}(),NodeBase=function(){function t(){var r;this[e]=0,this[n]=0,this.parent=0,this.ends=(r={},r[L]=0,r[R]=0,r),this.id=t.uniqueNodeId()}t.uniqueNodeId=function(){return t.idCounter+=1},t.getNodeOfElement=function(t){if(t){if(!t.nodeType)throw new Error(\"must pass an Element to NodeBase.getNodeOfElement\");var e=t;return e.mqBlockNode||e.mqCmdNode}},t.linkElementByBlockNode=function(t,e){t.mqBlockNode=e},t.linkElementByCmdNode=function(t,e){t.mqCmdNode=e},t.prototype.setEnds=function(t){this.ends=t,pray(\"No half-empty node ends\",!!this.ends[L]==!!this.ends[R])},t.prototype.getEnd=function(t){return this.ends[t]},t.prototype.toString=function(){return\"{{ MathQuill Node #\"+this.id+\" }}\"},t.prototype.setDOM=function(t){return t&&pray(\"DOM is an element or a text node\",t.nodeType===Node.ELEMENT_NODE||t.nodeType===Node.TEXT_NODE),this._el=t,this},t.prototype.domFrag=function(){return domFrag(this._el)},t.prototype.createDir=function(t,e){prayDirection(t);var n=this;return n.html(),n.domFrag().insDirOf(t,e.domFrag()),e[t]=n.adopt(e.parent,e[L],e[R]),n},t.prototype.createLeftOf=function(t){this.createDir(L,t)},t.prototype.selectChildren=function(t,e){return new MQSelection(t,e)},t.prototype.bubble=function(t){var e,n=this.getSelfNode();for(e=n;e&&!1!==t(e);e=e.parent);return this},t.prototype.postOrder=function(t){var e=this.getSelfNode();return function e(n){return!!n&&(n.eachChild(e),t(n),!0)}(e),e},t.prototype.isEmpty=function(){return 0===this.ends[L]&&0===this.ends[R]},t.prototype.isQuietEmptyDelimiter=function(t){if(!this.isEmpty())return!1;if(!t)return!1;if(!this.parent||void 0===this.parent.ctrlSeq)return!1;var e=this.parent.ctrlSeq.replace(/^\\\\(left|right)?/,\"\");return t.hasOwnProperty(e)},t.prototype.isStyleBlock=function(){return!1},t.prototype.isTextBlock=function(){return!1},t.prototype.children=function(){return new Fragment(this.getEnd(L),this.getEnd(R))},t.prototype.eachChild=function(t){return eachNode(this.ends,t),this},t.prototype.foldChildren=function(t,e){return foldNodes(this.ends,t,e)},t.prototype.withDirAdopt=function(t,e,n,r){var o=this.getSelfNode();return new Fragment(o,o).withDirAdopt(t,e,n,r),this},t.prototype.adopt=function(t,e,n){var r=this.getSelfNode();return new Fragment(r,r).adopt(t,e,n),this.getSelfNode()},t.prototype.disown=function(){var t=this.getSelfNode();return new Fragment(t,t).disown(),this},t.prototype.remove=function(){return this.domFrag().remove(),this.disown()},t.prototype.shouldIgnoreSubstitutionInSimpleSubscript=function(t){return!!t.disableAutoSubstitutionInSubscripts&&(!!this.parent&&(this.parent.parent instanceof SupSub&&!!this.parent.domFrag().hasClass(\"mq-sub\")))},t.prototype.getSelfNode=function(){return this},t.prototype.parser=function(){pray(\"Abstract parser() method is never called\",!1)},t.prototype.html=function(){throw new Error(\"html() unimplemented in NodeBase\")},t.prototype.text=function(){return\"\"},t.prototype.latex=function(){var t={latex:\"\",startIndex:-1,endIndex:-1};return this.latexRecursive(t),t.latex},t.prototype.latexRecursive=function(t){},t.prototype.checkCursorContextOpen=function(t){t.startSelectionBefore===this&&(t.startIndex=t.latex.length),t.endSelectionBefore===this&&(t.endIndex=t.latex.length)},t.prototype.checkCursorContextClose=function(t){t.startSelectionAfter===this&&(t.startIndex=t.latex.length),t.endSelectionAfter===this&&(t.endIndex=t.latex.length)},t.prototype.finalizeTree=function(t,e){},t.prototype.contactWeld=function(t,e){},t.prototype.blur=function(t){},t.prototype.focus=function(){},t.prototype.intentionalBlur=function(){},t.prototype.reflow=function(){},t.prototype.registerInnerField=function(t,e){},t.prototype.chToCmd=function(t,e){pray(\"Abstract chToCmd() method is never called\",!1)},t.prototype.mathspeak=function(t){return this.mathspeakOverride?this.mathspeakOverride(this.latex()):\"\"},t.prototype.seek=function(t,e){},t.prototype.siblingDeleted=function(t,e){},t.prototype.siblingCreated=function(t,e){},t.prototype.finalizeInsert=function(t,e){},t.prototype.fixDigitGrouping=function(t){},t.prototype.writeLatex=function(t,e){},t.prototype.write=function(t,e){};var e,n;return e=L,n=R,t.idCounter=0,t}(),Fragment=function(){function t(t,e,n){var r,o,i,a;if(this.disowned=!1,void 0===n&&(n=L),prayDirection(n),pray(\"no half-empty fragments\",!t==!e,{withDir:t,oppDir:e}),!t||!e)return void this.setEnds((r={},r[L]=0,r[R]=0,r));pray(\"withDir is passed to Fragment\",t instanceof MQNode),pray(\"oppDir is passed to Fragment\",e instanceof MQNode),pray(\"withDir and oppDir have the same parent\",t.parent===e.parent),o={},o[n]=t,o[-n]=e,i=o,this.setEnds(i),a=0,this.each(function(t){a=t}),pray(\"following direction siblings from start reaches end\",a===i[R])}return t.prototype.getDOMFragFromEnds=function(){var t=this.ends[L],e=this.ends[R];return 0===t||0===e?domFrag():t===e?t.domFrag():t.domFrag().join(e.domFrag())},t.prototype.setEnds=function(t){this.ends=t},t.prototype.getEnd=function(t){return this.ends?this.ends[t]:0},t.prototype.domFrag=function(){return this.getDOMFragFromEnds()},t.prototype.withDirAdopt=function(t,e,n,r){return t===L?this.adopt(e,n,r):this.adopt(e,r,n)},t.prototype.adopt=function(t,e,n){var r,o,i,a,s;return prayWellFormed(t,e,n),o=this,this.disowned=!1,(i=o.ends[L])&&(a=o.ends[R])?(r={},r[L]=t.getEnd(L),r[R]=t.getEnd(R),s=r,e||(s[L]=i),n?n[L]=a:s[R]=a,t.setEnds(s),a[R]=n,o.each(function(n){return n[L]=e,n.parent=t,e&&(e[R]=n),e=n,!0}),o):this},t.prototype.disown=function(){var t,e,n,r,o,i,a=this,s=a.ends[L];return!s||a.disowned?a:(this.disowned=!0,(e=a.ends[R])?(n=s.parent,prayWellFormed(n,s[L],s),prayWellFormed(n,e,e[R]),t={},t[L]=n.getEnd(L),t[R]=n.getEnd(R),r=t,s[L]?(o=s[L],o[R]=e[R]):r[L]=e[R],e[R]?(i=e[R],i[L]=s[L]):r[R]=s[L],r[L]&&r[R]?n.setEnds(r):n.ends=r,a):a)},t.prototype.remove=function(){return this.domFrag().remove(),this.disown()},t.prototype.each=function(t){return eachNode(this.ends,t),this},t.prototype.fold=function(t,e){return foldNodes(this.ends,t,e)},t}(),LatexCmds={},CharCmds={},Anticursor=function(t){function e(e,n,r){var o=t.call(this,e,n,r)||this;return o.ancestors={},o}return __extends(e,t),e.fromCursor=function(t){return new e(t.parent,t[L],t[R])},e}(Point),Cursor=function(t){function e(e,n,r){var o=t.call(this,e,0,0)||this;return o.upDownCache={},o.cursorElement=h(\"span\",{class:\"mq-cursor\"},[h.text(U_ZERO_WIDTH_SPACE)]),o._domFrag=domFrag(),o.controller=r,o.options=n,o.setDOMFrag(domFrag(o.cursorElement)),o.blink=function(){domFrag(o.cursorElement).toggleClass(\"mq-blink\")},o}return __extends(e,t),e.prototype.setDOMFrag=function(t){return this._domFrag=t,this},e.prototype.domFrag=function(){return this._domFrag},e.prototype.show=function(){var t,e;return domFrag(this.cursorElement).removeClass(\"mq-blink\"),this.setDOMFrag(domFrag(this.cursorElement)),this.intervalId?clearInterval(this.intervalId):(t=this[R],t?(e=this.selection,e&&e.getEnd(L)[L]===this[L]?this.domFrag().insertBefore(e.domFrag()):this.domFrag().insertBefore(t.domFrag())):this.domFrag().appendTo(this.parent.domFrag().oneElement()),this.parent.focus()),this.intervalId=setInterval(this.blink,500),this},e.prototype.hide=function(){return this.intervalId&&clearInterval(this.intervalId),this.intervalId=0,this.domFrag().detach(),this.setDOMFrag(domFrag()),this},e.prototype.withDirInsertAt=function(t,e,n,r){var o=this.parent;this.parent=e,this[t]=n,this[-t]=r,o!==e&&o.blur&&o.blur(this)},e.prototype.insDirOf=function(t,e){return prayDirection(t),this.domFrag().insDirOf(t,e.domFrag()),this.withDirInsertAt(t,e.parent,e[t],e),this.parent.domFrag().addClass(\"mq-hasCursor\"),this},e.prototype.insLeftOf=function(t){return this.insDirOf(L,t)},e.prototype.insRightOf=function(t){return this.insDirOf(R,t)},e.prototype.insAtDirEnd=function(t,e){return prayDirection(t),this.domFrag().insAtDirEnd(t,e.domFrag().oneElement()),this.withDirInsertAt(t,e,0,e.getEnd(t)),e.focus(),this},\ne.prototype.insAtLeftEnd=function(t){return this.insAtDirEnd(L,t)},e.prototype.insAtRightEnd=function(t){return this.insAtDirEnd(R,t)},e.prototype.jumpUpDown=function(t,e){var n,r,o,i=this;i.upDownCache[t.id]=Point.copy(i),n=i.upDownCache[e.id],n?(r=n[R],r?i.insLeftOf(r):i.insAtRightEnd(n.parent)):(o=i.getBoundingClientRectWithoutMargin().left,e.seek(o,i)),i.controller.aria.queue(e,!0)},e.prototype.getBoundingClientRectWithoutMargin=function(){var t,e,n,r=this.domFrag();return r.removeClass(\"mq-cursor\"),t=getBoundingClientRect(r.oneElement()),e=t.left,n=t.right,r.addClass(\"mq-cursor\"),{left:e,right:n}},e.prototype.unwrapGramp=function(){var t,e,n,r,o,i=this.parent.parent,a=i.parent,s=i[R],l=this,c=i[L];if(i.disown().eachChild(function(t){return!!t.isEmpty()||(t.children().adopt(a,c,s).each(function(t){return t.domFrag().insertBefore(i.domFrag()),!0}),c=t.getEnd(R),!0)}),!this[R])if(t=this[L])this[R]=t[R];else for(;!this[R];){if(!(e=this.parent[R])){this[R]=i[R],this.parent=a;break}this.parent=e,this[R]=e.getEnd(L)}n=this[R],n?this.insLeftOf(n):this.insAtRightEnd(a),i.domFrag().remove(),r=i[L],o=i[R],r&&r.siblingDeleted(l.options,R),o&&o.siblingDeleted(l.options,L)},e.prototype.startSelection=function(){var t,e=this.anticursor=Anticursor.fromCursor(this),n=e.ancestors;for(t=e;t.parent;t=t.parent)n[t.parent.id]=t},e.prototype.endSelection=function(){delete this.anticursor},e.prototype.select=function(){var t,e,n,r,o,i,a,s,l,c=this.anticursor;if(this[L]===c[L]&&this.parent===c.parent)return!1;for(e=this;e.parent;e=e.parent)if(e.parent.id in c.ancestors){t=e.parent;break}if(pray(\"cursor and anticursor in the same tree\",t),n=t,r=c.ancestors[n.id],a=R,e[L]!==r)for(s=e;s;s=s[R])if(s[R]===r[R]){a=L,o=e,i=r;break}return a===R&&(o=r,i=e),o instanceof Point&&(o=o[R]),i instanceof Point&&(i=i[L]),this.hide().selection=n.selectChildren(o,i),l=this.selection.getEnd(a),this.insDirOf(a,l),this.selectionChanged(),!0},e.prototype.resetToEnd=function(t){this.clearSelection();var e=t.root;this[R]=0,this[L]=e.getEnd(R),this.parent=e},e.prototype.clearSelection=function(){return this.selection&&(this.selection.clear(),delete this.selection,this.selectionChanged()),this},e.prototype.deleteSelection=function(){var t=this.selection;t&&(this[L]=t.getEnd(L)[L],this[R]=t.getEnd(R)[R],t.remove(),this.selectionChanged(),delete this.selection)},e.prototype.replaceSelection=function(){var t=this.selection;return t&&(this[L]=t.getEnd(L)[L],this[R]=t.getEnd(R)[R],delete this.selection),t},e.prototype.depth=function(){for(var t=this,e=0;t=t.parent;)e+=t instanceof MathBlock?1:0;return e},e.prototype.isTooDeep=function(t){return void 0!==this.options.maxDepth&&this.depth()+(t||0)>this.options.maxDepth},e.prototype.selectionChanged=function(){},e}(Point),MQSelection=function(t){function e(e,n,r){var o=t.call(this,e,n,r)||this;return o._el=h(\"span\",{class:\"mq-selection\"}),o.getDOMFragFromEnds().wrapAll(o._el),o}return __extends(e,t),e.prototype.isCleared=function(){return void 0===this._el},e.prototype.domFrag=function(){return this.isCleared()?this.getDOMFragFromEnds():domFrag(this._el)},e.prototype.setEnds=function(t){pray(\"Selection ends are never empty\",t[L]&&t[R]),this.ends=t},e.prototype.getEnd=function(t){return this.ends[t]},e.prototype.adopt=function(e,n,r){return this.clear(),t.prototype.adopt.call(this,e,n,r)},e.prototype.clear=function(){var t=this.getDOMFragFromEnds();return this.domFrag().replaceWith(t),this._el=void 0,this},e.prototype.join=function(t,e){return void 0===e&&(e=\"\"),this.fold(\"\",function(n,r){return n+e+r[t]()})},e}(Fragment),ControllerBase=function(){function t(t,e,n){this.textareaEventListeners={},this.id=t.id,this.data={},this.root=t,this.container=e,this.options=n,this.aria=new Aria(this.getControllerSelf()),this.ariaLabel=\"Math Input\",this.ariaPostLabel=\"\",this.mathSpeakCallback=void 0,t.controller=this.getControllerSelf(),this.cursor=t.cursor=new Cursor(t,n,this.getControllerSelf())}return t.prototype.getControllerSelf=function(){return this},t.prototype.handle=function(t,e){var n,r,o,i=this.options.handlers,a=null===(n=this.options.handlers)||void 0===n?void 0:n.fns[t];a&&(r=null===i||void 0===i?void 0:i.APIClasses[this.KIND_OF_MQ],pray(\"APIClass is defined\",r),o=new r(this),e===L||e===R?a(e,o):a(o))},t.onNotify=function(e){t.notifyees.push(e)},t.prototype.notify=function(e){for(var n=0;n<t.notifyees.length;n+=1)t.notifyees[n](this.cursor,e);return this},t.prototype.setAriaLabel=function(t){var e=this.getAriaLabel();return t&&\"string\"==typeof t&&\"\"!==t?this.ariaLabel=t:this.editable?this.ariaLabel=\"Math Input\":this.ariaLabel=\"\",this.ariaLabel===e||this.containerHasFocus()||this.updateMathspeak(),this},t.prototype.getAriaLabel=function(){return\"Math Input\"!==this.ariaLabel?this.ariaLabel:this.editable?\"Math Input\":\"\"},t.prototype.setAriaPostLabel=function(t,e){var n=this;return t&&\"string\"==typeof t&&\"\"!==t?(t!==this.ariaPostLabel&&\"number\"==typeof e&&(this._ariaAlertTimeout&&clearTimeout(this._ariaAlertTimeout),this._ariaAlertTimeout=window.setTimeout(function(){n.containerHasFocus()?n.aria.alert(n.root.mathspeak().trim()+\" \"+t.trim()):n.updateMathspeak()},e)),this.ariaPostLabel=t):(this._ariaAlertTimeout&&clearTimeout(this._ariaAlertTimeout),this.ariaPostLabel=\"\"),this},t.prototype.getAriaPostLabel=function(){return this.ariaPostLabel||\"\"},t.prototype.containerHasFocus=function(){return document.activeElement&&this.container.contains(document.activeElement)},t.prototype.getTextareaOrThrow=function(){var t=this.textarea;if(!t)throw new Error(\"expected a textarea\");return t},t.prototype.getTextareaSpanOrThrow=function(){var t=this.textareaSpan;if(!t)throw new Error(\"expected a textareaSpan\");return t},t.prototype.addTextareaEventListeners=function(t){var e,n;if(this.textarea)for(e in t)n=e,this.removeTextareaEventListener(n),this.textarea.addEventListener(n,t[n])},t.prototype.removeTextareaEventListener=function(t){if(this.textarea){var e=this.textareaEventListeners[t];e&&this.textarea.removeEventListener(t,e)}},t.prototype.exportMathSpeak=function(){return this.root.mathspeak()},t.prototype.setAriaStringsOverrideMap=function(t){return this.ariaStringsOverrideMap=t,this},t.prototype.updateMathspeak=function(){},t.prototype.scrollHoriz=function(){},t.prototype.selectionChanged=function(){},t.prototype.setOverflowClasses=function(){},t.notifyees=[],t}(),API={},EMBEDS={},processedOptions={handlers:!0,autoCommands:!0,quietEmptyDelimiters:!0,autoParenthesizedFunctions:!0,autoOperatorNames:!0,leftRightIntoCmdGoes:!0,maxDepth:!0,interpretTildeAsSim:!0},baseOptionProcessors={},Options=function(){function t(t){this.version=t}return t.prototype.assertJquery=function(){return pray(\"Interface versions > 2 do not depend on JQuery\",this.version<=2),pray(\"JQuery is set for interface v < 3\",this.jQuery),this.jQuery},t}(),Progenote=function(){function t(){}return t}(),insistOnInterVer=function(){window.console&&console.warn('You are using the MathQuill API without specifying an interface version, which will fail in v1.0.0. Easiest fix is to do the following before doing anything else:\\n\\n MathQuill = MathQuill.getInterface(1);\\n // now MathQuill.MathField() works like it used to\\n\\nSee also the \"`dev` branch (2014–2015) → v0.10.0 Migration Guide\" at\\n https://github.com/mathquill/mathquill/wiki/%60dev%60-branch-(2014%E2%80%932015)-%E2%86%92-v0.10.0-Migration-Guide')},MathQuill.prototype=Progenote.prototype,MathQuill.VERSION=\"v1.0.3\",MathQuill.interfaceVersion=function(t){if(1!==t)throw\"Only interface version 1 supported. You specified: \"+t;return insistOnInterVer=function(){window.console&&console.warn('You called MathQuill.interfaceVersion(1); to specify the interface version, which will fail in v1.0.0. You can fix this easily by doing this before doing anything else:\\n\\n MathQuill = MathQuill.getInterface(1);\\n // now MathQuill.MathField() works like it used to\\n\\nSee also the \"`dev` branch (2014–2015) → v0.10.0 Migration Guide\" at\\n https://github.com/mathquill/mathquill/wiki/%60dev%60-branch-(2014%E2%80%932015)-%E2%86%92-v0.10.0-Migration-Guide')},insistOnInterVer(),MathQuill},MathQuill.getInterface=getInterface,MIN=getInterface.MIN=1,MAX=getInterface.MAX=3,Parser=function(){function t(t){this._=t}return t.prototype.parse=function(e){function n(t,e){return e}return this.skip(t.eof)._(\"\"+e,n,parseError)},t.prototype.or=function(e){pray(\"or is passed a parser\",e instanceof t);var n=this;return new t(function(t,r,o){function i(n){return e._(t,r,o)}return n._(t,r,i)})},t.prototype.then=function(e){var n=this;return new t(function(r,o,i){function a(n,r){var a=e instanceof t?e:e(r);return pray(\"a parser is returned\",a instanceof t),a._(n,o,i)}return n._(r,a,i)})},t.prototype.many=function(){var e=this;return new t(function(t,n,r){function o(e,n){return t=e,a.push(n),!0}function i(){return!1}for(var a=[];e._(t,o,i););return n(t,a)})},t.prototype.times=function(e,n){arguments.length<2&&(n=e);var r=this;return new t(function(t,o,i){function a(e,n){return p.push(n),t=e,!0}function s(e,n){return c=n,t=e,!1}function l(t,e){return!1}var c,u,p=[],d=!0;for(u=0;u<e;u+=1)if(!(d=!!r._(t,a,s)))return i(t,c);for(;u<n&&d;u+=1)r._(t,a,l);return o(t,p)})},t.prototype.result=function(e){return this.then(t.succeed(e))},t.prototype.atMost=function(t){return this.times(0,t)},t.prototype.atLeast=function(t){var e=this;return e.times(t).then(function(t){return e.many().map(function(e){return t.concat(e)})})},t.prototype.map=function(e){return this.then(function(n){return t.succeed(e(n))})},t.prototype.skip=function(t){return this.then(function(e){return t.result(e)})},t.string=function(e){var n=e.length,r=\"expected '\"+e+\"'\";return new t(function(t,o,i){var a=t.slice(0,n);return a===e?o(t.slice(n),a):i(t,r)})},t.regex=function(e){pray(\"regexp parser is anchored\",\"^\"===e.toString().charAt(1));var n=\"expected \"+e;return new t(function(t,r,o){var i,a=e.exec(t);return a?(i=a[0],r(t.slice(i.length),i)):o(t,n)})},t.succeed=function(e){return new t(function(t,n){return n(t,e)})},t.fail=function(e){return new t(function(t,n,r){return r(t,e)})},t.letter=t.regex(/^[a-z]/i),t.letters=t.regex(/^[a-z]*/i),t.digit=t.regex(/^[0-9]/),t.digits=t.regex(/^[0-9]*/),t.whitespace=t.regex(/^\\s+/),t.optWhitespace=t.regex(/^\\s*/),t.any=new t(function(t,e,n){return t?e(t.slice(1),t.charAt(0)):n(t,\"expected any character\")}),t.all=new t(function(t,e,n){return e(\"\",t)}),t.eof=new t(function(t,e,n){return t?n(t,\"expected EOF\"):e(t,t)}),t}(),EveryTick=function(){function t(){this.fn=noop}return t.prototype.listen=function(t){this.fn=t,clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout(this.fn)},t.prototype.listenOnce=function(t){var e=this;this.listen(function(){var n,r=[];for(n=0;n<arguments.length;n++)r[n]=arguments[n];e.clearListener(),t.apply(void 0,r)})},t.prototype.clearListener=function(){this.fn=noop,clearTimeout(this.timeoutId)},t.prototype.trigger=function(){var t,e=[];for(t=0;t<arguments.length;t++)e[t]=arguments[t];this.fn.apply(this,e)},t}(),saneKeyboardEvents=function(){function t(t){switch(n(t)){case\"Right\":case\"Left\":case\"Down\":case\"Up\":return!0}return!1}function e(t){return 1===t.length&&t>=\"a\"&&t<=\"z\"}function n(t){var n,r;return void 0===t.key?(r=t.which||t.keyCode,o[r]||String.fromCharCode(r)):e(t.key)?t.key.toUpperCase():null!==(n=i[t.key])&&void 0!==n?n:t.key}function r(t){var e=n(t),r=[];return t.ctrlKey&&r.push(\"Ctrl\"),t.metaKey&&r.push(\"Meta\"),t.altKey&&r.push(\"Alt\"),t.shiftKey&&r.push(\"Shift\"),r.length?(\"Alt\"!==e&&\"Control\"!==e&&\"Meta\"!==e&&\"Shift\"!==e&&r.push(e),r.join(\"-\")):e}var o={8:\"Backspace\",9:\"Tab\",10:\"Enter\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",20:\"CapsLock\",27:\"Esc\",32:\"Spacebar\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",45:\"Insert\",46:\"Del\",144:\"NumLock\"},i={ArrowRight:\"Right\",ArrowLeft:\"Left\",ArrowDown:\"Down\",ArrowUp:\"Up\",Delete:\"Del\",Escape:\"Esc\",\" \":\"Spacebar\"};return function(e,n){function o(){try{e instanceof HTMLTextAreaElement&&e.select()}catch(t){}}function i(t){x.trigger(),x.clearListener(),e instanceof HTMLTextAreaElement&&(e.value=t),t&&o(),L=!!t}function a(){return\"selectionStart\"in e&&(e instanceof HTMLTextAreaElement&&e.selectionStart!==e.selectionEnd)}function s(){n.options&&n.options.overrideKeystroke?n.options.overrideKeystroke(r(y),y):n.keystroke(r(y),y)}function l(t){x.trigger(t),t.target===e&&(y=t,g=null,L&&x.listenOnce(function(t){t&&\"focusout\"===t.type||o()}),s())}function c(n){x.trigger(n),n.target===e&&(y&&g&&s(),g=n,t(n)?x.listenOnce(d):x.listen(p))}function u(n){x.trigger(n),n.target===e&&y&&!g&&(t(n)?x.listenOnce(d):x.listen(p))}function p(){if(!a()&&e instanceof HTMLTextAreaElement){var t=e.value;(!y||y.altKey||!y.ctrlKey||y.metaKey||!y.shiftKey||\"U\"!==y.key&&\"Unidentified\"!==y.key&&\"Process\"!==y.key)&&(1===t.length?(e.value=\"\",n.options&&n.options.overrideTypedText?n.options.overrideTypedText(t):n.typedText(t)):d())}}function d(){e instanceof HTMLTextAreaElement&&e.value.length>1&&o()}function h(){y=null,g=null,x.clearListener(),e instanceof HTMLTextAreaElement&&(e.value=\"\")}function m(t){x.trigger(),t.target===e&&(document.activeElement!==e&&e.focus(),x.listen(function(){if(e instanceof HTMLTextAreaElement){var t=e.value;e.value=\"\",t&&n.paste(t)}}))}function f(t){x.trigger(t)}var y=null,g=null,x=new EveryTick,L=!1;return n.options&&n.options.disableCopyPaste?n.addTextareaEventListeners({keydown:l,keypress:c,keyup:u,focusout:h,copy:function(t){t.preventDefault()},cut:function(t){t.preventDefault()},paste:function(t){x.trigger(),t.preventDefault()},input:f}):n.addTextareaEventListeners({keydown:l,keypress:c,keyup:u,focusout:h,cut:function(){x.listenOnce(function(){n.cut()})},copy:function(){x.listenOnce(function(){n.copy()})},paste:m,input:f}),{select:i}}}(),Controller_exportText=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.exportText=function(){return this.root.foldChildren(\"\",function(t,e){return t+e.text()})},e}(ControllerBase),ControllerBase.onNotify(function(t,e){if(\"edit\"===e||\"replace\"===e||void 0===e){var n=t.controller;if(!n)return;if(!n.options.enableDigitGrouping)return;if(!1!==n.blurred)return;n.disableGroupingForSeconds(1)}}),Controller_focusBlur=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.handleTextareaFocusEditable=function(){var t=e.cursor;e.updateMathspeak(),e.blurred=!1,clearTimeout(e.blurTimeout),domFrag(e.container).addClass(\"mq-focused\"),t.parent||t.insAtRightEnd(e.root),t.selection?(t.selection.domFrag().removeClass(\"mq-blur\"),e.selectionChanged()):t.show(),e.setOverflowClasses()},e.handleTextareaBlurEditable=function(){e.textareaSelectionTimeout&&(clearTimeout(e.textareaSelectionTimeout),e.textareaSelectionTimeout=0),e.disableGroupingForSeconds(0),e.blurred=!0,e.blurTimeout=window.setTimeout(function(){e.root.postOrder(function(t){t.intentionalBlur()}),e.cursor.clearSelection().endSelection(),e.blur(),e.updateMathspeak(),e.scrollHoriz()}),window.addEventListener(\"blur\",e.handleWindowBlur)},e.handleTextareaFocusStatic=function(){e.blurred=!1},e.handleTextareaBlurStatic=function(){e.cursor.selection&&e.cursor.selection.clear(),window.setTimeout(function(){domFrag(e.getTextareaSpanOrThrow()).detach(),e.blurred=!0})},e.handleWindowBlur=function(){clearTimeout(e.blurTimeout),e.cursor.selection&&e.cursor.selection.domFrag().addClass(\"mq-blur\"),e.blur(),e.updateMathspeak()},e}return __extends(e,t),e.prototype.disableGroupingForSeconds=function(t){var e=this;clearTimeout(this.__disableGroupingTimeout),0===t?this.root.domFrag().removeClass(\"mq-suppress-grouping\"):(this.root.domFrag().addClass(\"mq-suppress-grouping\"),this.__disableGroupingTimeout=window.setTimeout(function(){e.root.domFrag().removeClass(\"mq-suppress-grouping\")},1e3*t))},e.prototype.blur=function(){this.cursor.hide().parent.blur(this.cursor),domFrag(this.container).removeClass(\"mq-focused\"),window.removeEventListener(\"blur\",this.handleWindowBlur),this.options&&this.options.resetCursorOnBlur&&this.cursor.resetToEnd(this)},e.prototype.addEditableFocusBlurListeners=function(){var t=this,e=t.cursor;this.addTextareaEventListeners({focus:this.handleTextareaFocusEditable,blur:this.handleTextareaBlurEditable}),t.blurred=!0,e.hide().parent.blur(e)},e.prototype.addStaticFocusBlurListeners=function(){this.addTextareaEventListeners({focus:this.handleTextareaFocusStatic,blur:this.handleTextareaBlurStatic})},e}(Controller_exportText),INCREMENTAL_SELECTION_OPEN=!1,MQNode=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.keystroke=function(t,n,r){var o=r.cursor;switch(t){case\"Ctrl-Shift-Backspace\":case\"Ctrl-Backspace\":r.ctrlDeleteDir(L);break;case\"Shift-Backspace\":case\"Backspace\":r.backspace();break;case\"Esc\":case\"Tab\":return void r.escapeDir(R,t,n);case\"Shift-Tab\":case\"Shift-Esc\":return void r.escapeDir(L,t,n);case\"End\":r.notify(\"move\").cursor.insAtRightEnd(o.parent),r.aria.queueDirEndOf(R,o.parent,!0);break;case\"Ctrl-End\":r.notify(\"move\").cursor.insAtRightEnd(r.root),r.aria.queueDirEndOf(R,[r.ariaLabel,r.root,r.ariaPostLabel]);break;case\"Shift-End\":r.selectToBlockEndInDir(R);break;case\"Ctrl-Shift-End\":r.selectToRootEndInDir(R);break;case\"Home\":r.notify(\"move\").cursor.insAtLeftEnd(o.parent),r.aria.queueDirEndOf(L,o.parent,!0);break;case\"Ctrl-Home\":r.notify(\"move\").cursor.insAtLeftEnd(r.root),r.aria.queueDirEndOf(L,[r.ariaLabel,r.root,r.ariaPostLabel]);break;case\"Shift-Home\":r.selectToBlockEndInDir(L);break;case\"Ctrl-Shift-Home\":r.selectToRootEndInDir(L);break;case\"Left\":r.moveLeft();break;case\"Shift-Left\":r.selectLeft();break;case\"Ctrl-Left\":break;case\"Right\":r.moveRight();break;case\"Shift-Right\":r.selectRight();break;case\"Ctrl-Right\":break;case\"Up\":r.moveUp();break;case\"Down\":r.moveDown();break;case\"Shift-Up\":r.withIncrementalSelection(function(t){if(o[L])for(;o[L];)t(L);else t(L)});break;case\"Shift-Down\":r.withIncrementalSelection(function(t){if(o[R])for(;o[R];)t(R);else t(R)});break;case\"Ctrl-Up\":case\"Ctrl-Down\":break;case\"Ctrl-Shift-Del\":case\"Ctrl-Del\":r.ctrlDeleteDir(R);break;case\"Shift-Del\":case\"Del\":r.deleteForward();break;case\"Meta-A\":case\"Ctrl-A\":r.selectAll();break;case\"Ctrl-Alt-Up\":o.parent.parent&&o.parent.parent instanceof e?r.aria.queue(o.parent.parent):r.aria.queueTranslatableString(\"nothing above\");break;case\"Ctrl-Alt-Down\":o.parent&&o.parent instanceof e?r.aria.queue(o.parent):r.aria.queueTranslatableString(\"block is empty\");break;case\"Ctrl-Alt-Left\":o.parent.parent&&o.parent.parent.getEnd(L)?r.aria.queue(o.parent.parent.getEnd(L)):r.aria.queueTranslatableString(\"nothing to the left\");break;case\"Ctrl-Alt-Right\":o.parent.parent&&o.parent.parent.getEnd(R)?r.aria.queue(o.parent.parent.getEnd(R)):r.aria.queueTranslatableString(\"nothing to the right\");break;case\"Ctrl-Alt-Shift-Down\":o.selection?r.aria.queueSelected(o.selection.join(\"mathspeak\",\" \").trim()):r.aria.queueTranslatableString(\"nothing selected\");break;case\"Ctrl-Alt-=\":case\"Ctrl-Alt-Shift-Right\":r.ariaPostLabel.length?r.aria.queue(r.ariaPostLabel):r.aria.queueTranslatableString(\"no answer\");break;default:return}r.aria.alert(),null===n||void 0===n||n.preventDefault(),r.scrollHoriz()},e.prototype.moveOutOf=function(t,e,n){pray(\"overridden or never called on this node\",!1)},e.prototype.moveTowards=function(t,e,n){pray(\"overridden or never called on this node\",!1)},e.prototype.deleteOutOf=function(t,e){pray(\"overridden or never called on this node\",!1)},e.prototype.deleteTowards=function(t,e){pray(\"overridden or never called on this node\",!1)},e.prototype.unselectInto=function(t,e){pray(\"overridden or never called on this node\",!1)},e.prototype.selectOutOf=function(t,e){pray(\"overridden or never called on this node\",!1)},e.prototype.selectTowards=function(t,e){pray(\"overridden or never called on this node\",!1)},e}(NodeBase),ControllerBase.onNotify(function(t,e){\"move\"!==e&&\"upDown\"!==e||t.show().clearSelection()}),baseOptionProcessors.leftRightIntoCmdGoes=function(t){if(t&&\"up\"!==t&&\"down\"!==t)throw'\"up\" or \"down\" required for leftRightIntoCmdGoes option, got \"'+t+'\"';return t},ControllerBase.onNotify(function(t,e){\"upDown\"!==e&&(t.upDownCache={})}),ControllerBase.onNotify(function(t,e){\"edit\"===e&&t.show().deleteSelection()}),ControllerBase.onNotify(function(t,e){\"select\"!==e&&t.endSelection()}),Controller_keystroke=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.keystroke=function(t,e){this.cursor.parent.keystroke(t,e,this.getControllerSelf())},e.prototype.escapeDir=function(t,e,n){prayDirection(t);var r=this.cursor;if(r.parent!==this.root&&(null===n||void 0===n||n.preventDefault()),r.parent!==this.root)return r.clearSelection(),r.parent.moveOutOf(t,r),r.controller.aria.alert(),this.notify(\"move\")},e.prototype.moveDir=function(t){var e,n,r;return prayDirection(t),e=this.cursor,n=e.options.leftRightIntoCmdGoes,r=e[t],e.selection?e.insDirOf(t,e.selection.getEnd(t)):r?r.moveTowards(t,e,n):e.parent.moveOutOf(t,e,n),this.notify(\"move\")},e.prototype.moveLeft=function(){return this.moveDir(L)},e.prototype.moveRight=function(){return this.moveDir(R)},e.prototype.moveUp=function(){return this.moveUpDown(\"up\")},e.prototype.moveDown=function(){return this.moveUpDown(\"down\")},e.prototype.moveUpDown=function(t){var e,n,r,o,i,a,s=this,l=s.notify(\"upDown\").cursor;return\"up\"===t?(e=\"upInto\",n=\"upOutOf\"):(e=\"downInto\",n=\"downOutOf\"),r=l[L],o=l[R],i=o&&o[e],a=r&&r[e],i?l.insAtLeftEnd(i):a?l.insAtRightEnd(a):l.parent.bubble(function(t){var e=t[n];if(e&&(\"function\"==typeof e&&(e=e.call(t,l)),e instanceof MQNode&&l.jumpUpDown(t,e),!0!==e))return!1}),s},e.prototype.deleteDir=function(t){var e,n,r,o,i,a,s,l,c,u;return prayDirection(t),e=this.cursor,n=e[t],r=e.parent.parent,o=e.controller,n&&n instanceof MQNode?n.sides?o.aria.queue(n.parent.chToCmd(n.sides[-t].ch).mathspeak({createdLeftOf:e})):n.blocks||\"\\\\text\"===n.parent.ctrlSeq||o.aria.queue(n):r&&r instanceof MQNode&&(r.sides?o.aria.queue(r.parent.chToCmd(r.sides[t].ch).mathspeak({createdLeftOf:e})):r.blocks&&r.mathspeakTemplate?r.upInto&&r.downInto?o.aria.queue(r.mathspeakTemplate[1]):(i=r.mathspeakTemplate,a=t===L?i[0]:i[i.length-1],o.aria.queue(a)):o.aria.queue(r)),s=e.selection,this.notify(\"edit\"),s||(l=e[t],l?l.deleteTowards(t,e):e.parent.deleteOutOf(t,e)),c=e[L],u=e[R],c.siblingDeleted&&c.siblingDeleted(e.options,R),u.siblingDeleted&&u.siblingDeleted(e.options,L),e.parent.bubble(function(t){t.reflow()}),this},e.prototype.ctrlDeleteDir=function(t){var e,n,r,o;return prayDirection(t),e=this.cursor,!e[t]||e.selection?this.deleteDir(t):(this.notify(\"edit\"),n=t===L?new Fragment(e.parent.getEnd(L),e[L]):new Fragment(e[R],e.parent.getEnd(R)),e.controller.aria.queue(n),n.remove(),e.insAtDirEnd(t,e.parent),r=e[L],o=e[R],r&&r.siblingDeleted(e.options,R),o&&o.siblingDeleted(e.options,L),e.parent.bubble(function(t){t.reflow()}),this)},e.prototype.backspace=function(){return this.deleteDir(L)},e.prototype.deleteForward=function(){return this.deleteDir(R)},e.prototype.startIncrementalSelection=function(){pray(\"Multiple selections can't be simultaneously open\",!INCREMENTAL_SELECTION_OPEN),INCREMENTAL_SELECTION_OPEN=!0,this.notify(\"select\");var t=this.cursor;t.anticursor||t.startSelection()},e.prototype.selectDirIncremental=function(t){var e,n,r;pray(\"A selection is open\",INCREMENTAL_SELECTION_OPEN),INCREMENTAL_SELECTION_OPEN=!0,e=this.cursor,n=e.selection,prayDirection(t),r=e[t],r?n&&n.getEnd(t)===r&&e.anticursor[-t]!==r?r.unselectInto(t,e):r.selectTowards(t,e):e.parent.selectOutOf(t,e)},e.prototype.finishIncrementalSelection=function(){var t,e;pray(\"A selection is open\",INCREMENTAL_SELECTION_OPEN),t=this.cursor,t.clearSelection(),t.select()||t.show(),e=t.selection,e&&t.controller.aria.clear().queueSelected(e.join(\"mathspeak\",\" \").trim()),INCREMENTAL_SELECTION_OPEN=!1},e.prototype.withIncrementalSelection=function(t){var e=this;try{this.startIncrementalSelection();try{t(function(t){return e.selectDirIncremental(t)})}finally{this.finishIncrementalSelection()}}finally{INCREMENTAL_SELECTION_OPEN=!1}},e.prototype.selectDir=function(t){this.withIncrementalSelection(function(e){return e(t)})},e.prototype.selectLeft=function(){return this.selectDir(L)},e.prototype.selectRight=function(){return this.selectDir(R)},e.prototype.selectAll=function(){this.notify(\"move\");var t=this.cursor;t.insAtRightEnd(this.root),this.withIncrementalSelection(function(e){for(;t[L];)e(L)})},e.prototype.selectToBlockEndInDir=function(t){var e=this.cursor;this.withIncrementalSelection(function(n){for(;e[t];)n(t)})},e.prototype.selectToRootEndInDir=function(t){var e=this,n=this.cursor;this.withIncrementalSelection(function(r){for(;n[t]||n.parent!==e.root;)r(t)})},e}(Controller_focusBlur),TempSingleCharNode=function(t){function e(e){return t.call(this)||this}return __extends(e,t),e}(MQNode),latexMathParser=function(){function t(t){var e=new MathBlock;return t.adopt(e,0,0),e}function e(t){var e,n=t[0]||new MathBlock;for(e=1;e<t.length;e+=1)t[e].children().adopt(n,n.getEnd(R),0);return n}var n=Parser.string,r=Parser.regex,o=Parser.letter,i=Parser.digit,a=Parser.any,s=Parser.optWhitespace,l=Parser.succeed,c=Parser.fail,u=o.map(function(t){return new Letter(t)}),p=i.map(function(t){return new Digit(t)}),d=r(/^[^${}\\\\_^]/).map(function(t){return new VanillaSymbol(t)}),h=r(/^[^\\\\a-eg-zA-Z]/).or(n(\"\\\\\").then(r(/^[a-z]+/i).or(r(/^\\s+/).result(\" \")).or(a))).then(function(t){var e,n,r=LatexCmds[t];return r?r.constructor?(e=r,new e(t).parser()):(n=r,n(t).parser()):c(\"unknown command: \\\\\"+t)}),m=h.or(u).or(p).or(d),f=n(\"{\").then(function(){return g}).skip(n(\"}\")),y=s.then(f.or(m.map(t))),g=y.many().map(e).skip(s),x=n(\"[\").then(y.then(function(t){return\"]\"!==t.join(\"latex\")?l(t):c(\"\")}).many().map(e).skip(s)).skip(n(\"]\")),L=g;return L.block=y,L.optBlock=x,L}(),baseOptionProcessors.maxDepth=function(t){return\"number\"==typeof t?t:void 0},Controller_latex=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.cleanLatex=function(t){return t.replace(/(\\\\[a-z]+) (?![a-z])/gi,\"$1\")},e.prototype.exportLatex=function(){return this.cleanLatex(this.root.latex())},e.prototype.writeLatex=function(t){var e=this.notify(\"edit\").cursor;return e.parent.writeLatex(e,t),this},e.prototype.exportLatexSelection=function(){var t,e,n,r,o,i,a,s,l,c,u={latex:\"\",startIndex:-1,endIndex:-1},p=this.cursor.selection;for(p?(u.startSelectionBefore=p.getEnd(L),u.endSelectionAfter=p.getEnd(R)):(n=this.cursor[L],n?u.startSelectionAfter=n:u.startSelectionBefore=this.cursor.parent,r=this.cursor[R],r?u.endSelectionBefore=r:u.endSelectionAfter=this.cursor.parent),null===(e=(t=this.root).latexRecursive)||void 0===e||e.call(t,u),o=u.latex,i=this.cleanLatex(o),a=u.startIndex,s=u.endIndex,l=0,c=0;c<u.endIndex;c++)o[c]!==i[l]?(c<u.startIndex&&(a-=1),s-=1):l+=1;return{latex:i,startIndex:a,endIndex:s}},e.prototype.classifyLatexForEfficientUpdate=function(t){if(\"string\"==typeof t){var e=t.match(/-?[0-9.]+$/g);return e&&1===e.length?{latex:t,prefix:t.substr(0,t.length-e[0].length),digits:e[0]}:void 0}},e.prototype.updateLatexMathEfficiently=function(t,e){var n,r,o,i,a,s,l,c,u,p,d,h,m,f,y,g,x,b,C,v,w,S,E,O,k,_=this.root,q=this.classifyLatexForEfficientUpdate(t);if(!q)return!1;if(!(a=this.classifyLatexForEfficientUpdate(e))||a.prefix!==q.prefix)return!1;for(s=a.digits,l=q.digits,c=!1,u=!1,\"-\"===s[0]&&(c=!0,s=s.substr(1)),\"-\"===l[0]&&(u=!0,l=l.substr(1)),p=this.root.getEnd(R),d=[],h=s.length-1;h>=0;h--){if(!p||p.ctrlSeq!==s[h])return!1;if(p.parent!==_)return!1;d.unshift(p),p=p[L]}if(c&&!u){if(!(m=p))return!1;if(\"-\"!==m.ctrlSeq)return!1;if(m[R]!==d[0])return!1;if(m.parent!==_)return!1;if((f=m[L])&&f.parent!==_)return!1;d[0][L]=m[L],_.getEnd(L)===m&&_.setEnds((n={},n[L]=d[0],n[R]=_.getEnd(R),n)),f&&(f[R]=d[0]),m.domFrag().remove()}for(!c&&u&&(y=new PlusMinus(\"-\"),g=document.createElement(\"span\"),g.textContent=\"-\",y.setDOM(g),x=d[0][L],x&&(x[R]=y),_.getEnd(L)===d[0]&&_.setEnds((r={},r[L]=y,r[R]=_.getEnd(R),r)),y.parent=_,y[L]=d[0][L],y[R]=d[0],d[0][L]=y,y.contactWeld(this.cursor),y.domFrag().insertBefore(d[0].domFrag())),b=Math.min(s.length,l.length),h=0;h<b;h++)C=l[h],p=d[h],p.ctrlSeq!==C&&(p.ctrlSeq=C,p.domFrag().oneElement().textContent=C,p.mathspeakName=C);if(s.length>l.length)for(p=d[l.length-1],_.setEnds((o={},o[L]=_.getEnd(L),o[R]=p,o)),p[R]=0,h=s.length-1;h>=b;h--)d[h].domFrag().remove();if(l.length>s.length){for(v=document.createDocumentFragment(),h=b;h<l.length;h++)w=document.createElement(\"span\"),w.className=\"mq-digit\",w.textContent=l[h],S=new Digit(l[h]),S.parent=_,S.setDOM(w),v.appendChild(w),S[L]=_.getEnd(R),S[R]=0,E=S[L],E[R]=S,_.setEnds((i={},i[L]=_.getEnd(L),i[R]=S,i));_.domFrag().oneElement().appendChild(v)}return(O=this.exportLatex())!==t?(console.warn(\"tried updating latex efficiently but did not work. Attempted: \"+t+\" but wrote: \"+O),!1):(k=_.getEnd(R),k&&k.fixDigitGrouping(this.cursor.options),!0)},e.prototype.renderLatexMathFromScratch=function(t){var e,n,r=this.root,o=this.cursor,i=Parser.all,a=Parser.eof,s=latexMathParser.skip(a).or(i.result(!1)).parse(t);r.setEnds((e={},e[L]=0,e[R]=0,e)),s&&s.children().adopt(r,0,0),s?(n=r.domFrag(),n.children().remove(),n.oneElement().appendChild(s.html()),r.finalizeInsert(o.options,o)):r.domFrag().empty()},e.prototype.renderLatexMath=function(t){var e,n=this.cursor,r=this.root;this.notify(\"replace\"),n.clearSelection(),e=this.exportLatex(),r.getEnd(L)&&r.getEnd(R)&&e===t||(this.updateLatexMathEfficiently(t,e)||this.renderLatexMathFromScratch(t),this.updateMathspeak()),n.insAtRightEnd(r)},e.prototype.renderLatexText=function(t){var e,n,r,o,i,a,s,l,c,u,p,d=this.root,h=this.cursor;if(d.domFrag().children().slice(1).remove(),d.setEnds((e={},e[L]=0,e[R]=0,e)),delete h.selection,h.show().insAtRightEnd(d),n=Parser.regex,r=Parser.string,o=Parser.eof,i=Parser.all,a=r(\"$\").then(latexMathParser).skip(r(\"$\").or(o)).map(function(t){var e,n=new RootMathCommand(h);return n.createBlocks(),e=n.getEnd(L),t.children().adopt(e,0,0),n}),s=r(\"\\\\$\").result(\"$\"),l=s.or(n(/^[^$]/)).map(function(t){return new VanillaSymbol(t)}),c=a.or(l).many(),u=c.skip(o).or(i.result(!1)).parse(t)){for(p=0;p<u.length;p+=1)u[p].adopt(d,d.getEnd(R),0);domFrag(d.html()).appendTo(d.domFrag().oneElement()),d.finalizeInsert(h.options,h)}},e}(Controller_keystroke),ignoreNextMouseDownNoop=function(t){return!1},Options.prototype.ignoreNextMousedown=ignoreNextMouseDownNoop,function(){ControllerBase.onNotify(function(t,e){\"edit\"!==e&&\"replace\"!==e||cancelSelectionOnEdit&&cancelSelectionOnEdit.cursor===t&&cancelSelectionOnEdit.cb()})}(),Controller_mouse=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.handleMouseDown=function(t){function n(t){s=t.target}function r(t){h.anticursor||h.startSelection(),d.seek(s,t.clientX,t.clientY).cursor.select(),h.selection&&h.controller.aria.clear().queue(h.selection.join(\"mathspeak\")+\" selected\").alert(),s=null}function o(){null===c||void 0===c||c.removeEventListener(\"mousemove\",n),null===p||void 0===p||p.removeEventListener(\"mousemove\",r),null===p||void 0===p||p.removeEventListener(\"mouseup\",a),cancelSelectionOnEdit=void 0}function i(){d.editable?(h.show(),h.controller.aria.queue(h.parent).alert()):domFrag(f).detach()}function a(){h.blink=m,h.selection||i(),o()}var s,l,c=closest(t.target,\".mq-root-block\"),u=c&&NodeBase.getNodeOfElement(c)||NodeBase.getNodeOfElement(e.root.domFrag().oneElement()),p=u.domFrag().firstNode().ownerDocument,d=u.controller,h=d.cursor,m=h.blink,f=d.getTextareaSpanOrThrow(),y=d.getTextareaOrThrow();if(t.preventDefault(),t.target.unselectable=!0,!h.options.ignoreNextMousedown(t)&&!closest(t.target,\".mq-ignore-mousedown\")){if(3===t.detail)return void d.selectAll();s=null,cancelSelectionOnEdit={cursor:h,cb:function(){l=!0,h.blink=m,h.clearSelection(),i(),o()}},d.blurred&&(c&&!d.editable&&domFrag(c).prepend(domFrag(f)),y.focus(),l)||(h.blink=noop,d.seek(t.target,t.clientX,t.clientY).cursor.startSelection(),\nnull===c||void 0===c||c.addEventListener(\"mousemove\",n),null===p||void 0===p||p.addEventListener(\"mousemove\",r),null===p||void 0===p||p.addEventListener(\"mouseup\",a))}},e}return __extends(e,t),e.prototype.addMouseEventListener=function(){this.container.addEventListener(\"mousedown\",this.handleMouseDown)},e.prototype.removeMouseEventListener=function(){this.container.removeEventListener(\"mousedown\",this.handleMouseDown)},e.prototype.seek=function(t,e,n){for(var r,o=this.notify(\"select\").cursor;t&&!(r=NodeBase.getNodeOfElement(t));)t=t.parentElement;return r||(r=this.root),o.clearSelection().show(),r.seek(e,o),this.scrollHoriz(),this},e}(Controller_latex),Controller_scrollHoriz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.setOverflowClasses=function(){var t,e,n,r=this.root.domFrag().oneElement(),o=!1,i=!1;this.blurred||(t=getBoundingClientRect(r).width,e=r.scrollWidth,n=r.scrollLeft,o=e>t+n,i=n>0),r.classList.contains(\"mq-editing-overflow-right\")!==o&&r.classList.toggle(\"mq-editing-overflow-right\"),r.classList.contains(\"mq-editing-overflow-left\")!==i&&r.classList.toggle(\"mq-editing-overflow-left\")},e.prototype.scrollHoriz=function(){var t,e,n,r,o,i,a,s,l,c,u=this,p=this.cursor,d=p.selection,h=getBoundingClientRect(this.root.domFrag().oneElement());if(p.domFrag().isEmpty()&&!d)return this.cancelScrollHoriz&&(this.cancelScrollHoriz(),this.cancelScrollHoriz=void 0),t=this.root.domFrag().oneElement(),e=t.scrollLeft,void animate(this.getScrollAnimationDuration(),function(n,r,o){n>=1?(u.cancelScrollHoriz=void 0,t.scrollLeft=0,u.setOverflowClasses()):(u.cancelScrollHoriz=o,r(),t.scrollLeft=Math.round((1-n)*e))});if(d)if(o=getBoundingClientRect(d.domFrag().oneElement()),i=o.left-(h.left+20),a=o.right-(h.right-20),d.getEnd(L)===p[R])if(i<0)r=i;else{if(!(a>0))return;r=o.left-a<h.left+20?i:a}else if(a>0)r=a;else{if(!(i<0))return;r=o.right-i>h.right-20?a:i}else if((n=getBoundingClientRect(p.domFrag().oneElement()).left)>h.right-20)r=n-(h.right-20);else{if(!(n<h.left+20))return;r=n-(h.left+20)}s=this.root.domFrag().oneElement(),r<0&&0===s.scrollLeft||r>0&&s.scrollWidth<=s.scrollLeft+h.width||(this.cancelScrollHoriz&&(this.cancelScrollHoriz(),this.cancelScrollHoriz=void 0),l=this.root.domFrag().oneElement(),c=l.scrollLeft,animate(this.getScrollAnimationDuration(),function(t,e,n){t>=1?(u.cancelScrollHoriz=void 0,l.scrollLeft=Math.round(c+r),u.setOverflowClasses()):(u.cancelScrollHoriz=n,e(),l.scrollLeft=Math.round(c+t*r))}))},e.prototype.getScrollAnimationDuration=function(){var t;return null!==(t=this.options.scrollAnimationDuration)&&void 0!==t?t:100},e}(Controller_mouse),Options.prototype.substituteTextarea=function(){return h(\"textarea\",{autocapitalize:\"off\",autocomplete:\"off\",autocorrect:\"off\",spellcheck:!1,\"x-palm-disable-ste-all\":!0})},Options.prototype.substituteKeyboardEvents=defaultSubstituteKeyboardEvents,Controller=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.selectFn=noop,e}return __extends(e,t),e.prototype.createTextarea=function(){var t,e;if(this.textareaSpan=h(\"span\",{class:\"mq-textarea\"}),t=this.options.substituteTextarea(),!t.nodeType)throw\"substituteTextarea() must return a DOM element, got \"+t;this.textarea=domFrag(t).appendTo(this.textareaSpan).oneElement(),e=this,e.cursor.selectionChanged=function(){e.selectionChanged()}},e.prototype.selectionChanged=function(){var t=this;t.textareaSelectionTimeout||(t.textareaSelectionTimeout=window.setTimeout(function(){t.setTextareaSelection()}))},e.prototype.setTextareaSelection=function(){this.textareaSelectionTimeout=0;var t=\"\";this.cursor.selection&&(t=this.cleanLatex(this.cursor.selection.join(\"latex\")),this.options.statelessClipboard&&(t=\"$\"+t+\"$\")),this.selectFn(t)},e.prototype.staticMathTextareaEvents=function(){var t=this;this.removeTextareaEventListener(\"cut\"),this.removeTextareaEventListener(\"paste\"),t.options.disableCopyPaste?this.removeTextareaEventListener(\"copy\"):this.addTextareaEventListeners({copy:function(){t.setTextareaSelection()}}),this.addStaticFocusBlurListeners(),t.selectFn=function(e){var n=t.getTextareaOrThrow();n instanceof HTMLTextAreaElement&&(n.value=e,e&&n.select())}},e.prototype.editablesTextareaEvents=function(){var t,e,n,r=this,o=r.getTextareaOrThrow(),i=r.getTextareaSpanOrThrow();this.options.version<3?(t=this.options.assertJquery(),e=this.options.substituteKeyboardEvents(t(o),this),this.selectFn=function(t){e.select(t)}):(n=saneKeyboardEvents(o,this).select,this.selectFn=n),domFrag(this.container).prepend(domFrag(i)),this.addEditableFocusBlurListeners(),this.updateMathspeak()},e.prototype.unbindEditablesEvents=function(){var t=this,e=t.getTextareaOrThrow(),n=t.getTextareaSpanOrThrow();this.selectFn=function(t){e instanceof HTMLTextAreaElement&&(e.value=t,t&&e.select())},domFrag(n).remove(),this.removeTextareaEventListener(\"focus\"),this.removeTextareaEventListener(\"blur\"),t.blurred=!0,this.removeTextareaEventListener(\"cut\"),this.removeTextareaEventListener(\"paste\")},e.prototype.typedText=function(t){if(\"\\n\"===t)return this.handle(\"enter\");var e=this.notify(void 0).cursor;e.parent.write(e,t),this.scrollHoriz()},e.prototype.cut=function(){var t=this,e=t.cursor;e.selection&&window.setTimeout(function(){t.notify(\"edit\"),e.parent.bubble(function(t){t.reflow()}),t.options&&t.options.onCut&&t.options.onCut()})},e.prototype.copy=function(){this.setTextareaSelection()},e.prototype.paste=function(t){this.options.statelessClipboard&&(t=\"$\"===t.slice(0,1)&&\"$\"===t.slice(-1)?t.slice(1,-1):\"\\\\text{\"+t+\"}\"),this.writeLatex(t).cursor.show(),this.scrollHoriz(),this.options&&this.options.onPaste&&this.options.onPaste()},e.prototype.setupStaticField=function(){this.mathspeakSpan=h(\"span\",{class:\"mq-mathspeak\"}),domFrag(this.container).prepend(domFrag(this.mathspeakSpan)),this.updateMathspeak(),this.blurred=!0,this.cursor.hide().parent.blur(this.cursor)},e.prototype.updateMathspeak=function(){var t,e,n,r=this,o=r.getAriaLabel(),i=/[A-Za-z0-9]$/.test(o)?o+\":\":o,a=r.root.mathspeak().trim();this.aria.clear(),e=(null===(t=r.ariaStringsOverrideMap)||void 0===t?void 0:t.labelValue)?r.ariaStringsOverrideMap.labelValue(o,a):i+\" \"+a,n=r.getTextareaOrThrow(),r.mathspeakSpan?(n.setAttribute(\"aria-label\",\"\"),r.mathspeakSpan.textContent=e.trim()):n.setAttribute(\"aria-label\",[e,r.ariaPostLabel].join(\" \").trim())},e}(Controller_scrollHoriz),MathElement=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.finalizeInsert=function(t,e){var n,r,o=this;o.postOrder(function(e){e.finalizeTree(t)}),o.postOrder(function(t){t.contactWeld(e)}),o.postOrder(function(t){t.blur(e)}),o.postOrder(function(t){t.reflow()}),n=o[R],r=o[L],n&&n.siblingCreated(t,L),r&&r.siblingCreated(t,R),o.bubble(function(t){t.reflow()})},e.prototype.prepareInsertionAt=function(t){var e,n=t.options.maxDepth;if(void 0!==n){if((e=t.depth())>n)return!1;this.removeNodesDeeperThan(n-e)}return!0},e.prototype.removeNodesDeeperThan=function(t){for(var e,n,r=0,o=[[this,r]];e=o.shift();)n=e,n[0].children().each(function(e){var i=e instanceof MathBlock?1:0;r=n[1]+i,r<=t?o.push([e,r]):(i?e.children():e).remove()})},e}(MQNode),DOMView=function(){function t(t,e){this.childCount=t,this.render=e}return t}(),MathCommand=function(t){function e(e,n,r){var o=t.call(this)||this;return o.textTemplate=[\"\"],o.mathspeakTemplate=[\"\"],o.setCtrlSeqHtmlAndText(e,n,r),o}return __extends(e,t),e.prototype.setEnds=function(t){pray(\"MathCommand ends are never empty\",t[L]&&t[R]),this.ends=t},e.prototype.getEnd=function(t){return this.ends[t]},e.prototype.setCtrlSeqHtmlAndText=function(t,e,n){this.ctrlSeq||(this.ctrlSeq=t),e&&(this.domView=e),n&&(this.textTemplate=n)},e.prototype.replaces=function(t){t.disown(),this.replacedFragment=t},e.prototype.isEmpty=function(){return this.foldChildren(!0,function(t,e){return t&&e.isEmpty()})},e.prototype.parser=function(){var t=this;return latexMathParser.block.times(this.numBlocks()).map(function(e){t.blocks=e;for(var n=0;n<e.length;n+=1)e[n].adopt(t,t.getEnd(R),0);return t})},e.prototype.createLeftOf=function(e){var n,r=this,o=r.replacedFragment;r.createBlocks(),t.prototype.createLeftOf.call(this,e),o&&(n=r.getEnd(L),o.adopt(n,0,0),o.domFrag().appendTo(n.domFrag().oneElement()),r.placeCursor(e),r.prepareInsertionAt(e)),r.finalizeInsert(e.options,e),r.placeCursor(e)},e.prototype.createBlocks=function(){var t,e,n=this,r=n.numBlocks(),o=n.blocks=Array(r);for(t=0;t<r;t+=1)e=o[t]=new MathBlock,e.adopt(n,n.getEnd(R),0)},e.prototype.placeCursor=function(t){t.insAtRightEnd(this.foldChildren(this.getEnd(L),function(t,e){return t.isEmpty()?t:e}))},e.prototype.moveTowards=function(t,e,n){var r,o;\"up\"===n?r=this.upInto:\"down\"===n&&(r=this.downInto),o=r||this.getEnd(-t),e.insAtDirEnd(-t,o),e.controller.aria.queueDirEndOf(-t,e.parent,!0)},e.prototype.deleteTowards=function(t,e){this.isEmpty()?e[t]=this.remove()[t]:this.moveTowards(t,e)},e.prototype.selectTowards=function(t,e){e[-t]=this,e[t]=this[t]},e.prototype.selectChildren=function(){return new MQSelection(this,this)},e.prototype.unselectInto=function(t,e){var n=e.anticursor,r=n.ancestors[this.id];e.insAtDirEnd(-t,r)},e.prototype.seek=function(t,e){function n(t){var e,n=t.domFrag().oneElement(),r=getBoundingClientRect(n).left,o=r+n.offsetWidth;return e={},e[L]=r,e[R]=o,e}var r,o=this,i=n(o);return t<i[L]?e.insLeftOf(o):t>i[R]?e.insRightOf(o):(r=i[L],void o.eachChild(function(a){var s=n(a);return t<s[L]?(t-r<s[L]-t?a[L]?e.insAtRightEnd(a[L]):e.insLeftOf(o):e.insAtLeftEnd(a),!1):t>s[R]?void(a[R]?r=s[R]:i[R]-t<t-s[R]?e.insRightOf(o):e.insAtRightEnd(a)):(a.seek(t,e),!1)}))},e.prototype.numBlocks=function(){return this.domView.childCount},e.prototype.html=function(){var t,e,n=this.blocks;return pray(\"domView is defined\",this.domView),t=this.domView,e=t.render(n||[]),this.setDOM(e),NodeBase.linkElementByCmdNode(e,this),e},e.prototype.latexRecursive=function(t){this.checkCursorContextOpen(t),t.latex+=this.ctrlSeq||\"\",this.eachChild(function(e){var n,r,o;t.latex+=\"{\",r=t.latex.length,null===(n=e.latexRecursive)||void 0===n||n.call(e,t),o=t.latex.length,r===o&&(t.latex+=\" \"),t.latex+=\"}\"}),this.checkCursorContextClose(t)},e.prototype.text=function(){var t=this,e=0;return t.foldChildren(t.textTemplate[e],function(n,r){e+=1;var o=r.text();return n&&\"(\"===t.textTemplate[e]&&\"(\"===o[0]&&\")\"===o.slice(-1)?n+o.slice(1,-1)+t.textTemplate[e]:n+o+(t.textTemplate[e]||\"\")})},e.prototype.mathspeak=function(){var t,e,n;return this.mathspeakOverride&&(t=this.latex(),!/^(\\\\)+$/.test(t))?this.mathspeakOverride(t):(e=this,n=0,e.foldChildren(e.mathspeakTemplate[n]||\"Start\"+e.ctrlSeq+\" \",function(t,r){return n+=1,t+\" \"+r.mathspeak()+\" \"+(e.mathspeakTemplate[n]+\" \"||\"End\"+e.ctrlSeq+\" \")}))},e}(MathElement),MQSymbol=function(t){function e(e,n,r,o){var i=t.call(this)||this;return i.setCtrlSeqHtmlTextAndMathspeak(e,n?new DOMView(0,function(){return n.cloneNode(!0)}):void 0,r,o),i}return __extends(e,t),e.prototype.setCtrlSeqHtmlTextAndMathspeak=function(e,n,r,o){!r&&e&&(r=e.replace(/^\\\\/,\"\")),this.mathspeakName=o||r,t.prototype.setCtrlSeqHtmlAndText.call(this,e,n,[r||\"\"])},e.prototype.parser=function(){return Parser.succeed(this)},e.prototype.numBlocks=function(){return 0},e.prototype.replaces=function(t){t.remove()},e.prototype.createBlocks=function(){},e.prototype.moveTowards=function(t,e){e.domFrag().insDirOf(t,this.domFrag()),e[-t]=this,e[t]=this[t],e.controller.aria.queue(this)},e.prototype.deleteTowards=function(t,e){e[t]=this.remove()[t]},e.prototype.seek=function(t,e){var n=this.domFrag().oneElement();return t-getBoundingClientRect(n).left<n.offsetWidth/2?e.insLeftOf(this):e.insRightOf(this),e},e.prototype.latexRecursive=function(t){this.checkCursorContextOpen(t),t.latex+=this.ctrlSeq||\"\",this.checkCursorContextClose(t)},e.prototype.text=function(){return this.textTemplate.join(\"\")},e.prototype.mathspeak=function(e){return this.mathspeakOverride?t.prototype.mathspeak.call(this):this.mathspeakName||\"\"},e.prototype.placeCursor=function(){},e.prototype.isEmpty=function(){return!0},e}(MathCommand),VanillaSymbol=function(t){function e(e,n,r){return t.call(this,e,h(\"span\",{},[n||h.text(e)]),void 0,r)||this}return __extends(e,t),e}(MQSymbol),BinaryOperator=function(t){function e(e,n,r,o,i){return i?t.call(this,e,h(\"span\",{},[n||h.text(e||\"\")]),void 0,o)||this:t.call(this,e,h(\"span\",{class:\"mq-binary-operator\"},n?[n]:[]),r,o)||this}return __extends(e,t),e}(MQSymbol),MathBlock=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ariaLabel=\"block\",e}return __extends(e,t),e.prototype.join=function(t){return this.foldChildren(\"\",function(e,n){return e+n[t]()})},e.prototype.html=function(){var t=document.createDocumentFragment();return this.eachChild(function(e){var n=e.html();t.appendChild(n)}),t},e.prototype.latexRecursive=function(t){this.checkCursorContextOpen(t),this.eachChild(function(e){var n;return null===(n=e.latexRecursive)||void 0===n?void 0:n.call(e,t)}),this.checkCursorContextClose(t)},e.prototype.text=function(){var t=this.getEnd(L);return t===this.getEnd(R)&&0!==t?t.text():this.join(\"text\")},e.prototype.mathspeak=function(){var t=\"\",e={};return this.controller&&(e=this.controller.options.autoOperatorNames),this.foldChildren([],function(n,r){var o,i,a;return r.isPartOfOperator?t+=r.mathspeak():(\"\"!==t&&(e._maxLength>0&&\"string\"==typeof(o=e[t.toLowerCase()])&&(t=o),n.push(t+\" \"),t=\"\"),i=r.mathspeak(),a=r.ctrlSeq,!isNaN(a)||\".\"===a||r.parent&&r.parent.parent&&r.parent.parent.isTextBlock()||(i=\" \"+i+\" \"),n.push(i)),n}).join(\"\").replace(/ +(?= )/g,\"\").replace(/(\\.)([0-9]+)/g,function(t,e,n){return e+n.split(\"\").join(\" \").trim()})},e.prototype.keystroke=function(e,n,r){return!r.options.spaceBehavesLikeTab||\"Spacebar\"!==e&&\"Shift-Spacebar\"!==e?t.prototype.keystroke.call(this,e,n,r):(null===n||void 0===n||n.preventDefault(),void r.escapeDir(\"Shift-Spacebar\"===e?L:R,e,n))},e.prototype.moveOutOf=function(t,e,n){var r,o;\"up\"===n?r=this.parent.upInto:\"down\"===n&&(r=this.parent.downInto),!r&&this[t]?(o=-t,e.insAtDirEnd(o,this[t]),e.controller.aria.queueDirEndOf(o,e.parent,!0)):(e.insDirOf(t,this.parent),e.controller.aria.queueDirOf(t,this.parent))},e.prototype.selectOutOf=function(t,e){e.insDirOf(t,this.parent)},e.prototype.deleteOutOf=function(t,e){e.unwrapGramp()},e.prototype.seek=function(t,e){var n,r,o=this.getEnd(R);if(!o)return e.insAtRightEnd(this);if(n=o.domFrag().oneElement(),getBoundingClientRect(n).left+n.offsetWidth<t)return e.insAtRightEnd(this);if(r=this.getEnd(L),t<getBoundingClientRect(r.domFrag().oneElement()).left)return e.insAtLeftEnd(this);for(;t<getBoundingClientRect(o.domFrag().oneElement()).left;)o=o[L];return o.seek(t,e)},e.prototype.chToCmd=function(t,e){var n;return t.match(/^[a-eg-zA-Z]$/)?new Letter(t):/^\\d$/.test(t)?new Digit(t):e&&e.typingSlashWritesDivisionSymbol&&\"/\"===t?LatexCmds[\"÷\"](t):e&&e.typingAsteriskWritesTimesSymbol&&\"*\"===t?LatexCmds[\"×\"](t):e&&e.typingPercentWritesPercentOf&&\"%\"===t?LatexCmds.percentof(t):(n=CharCmds[t]||LatexCmds[t])?n.constructor?new n(t):n(t):new VanillaSymbol(t)},e.prototype.write=function(t,e){var n=this.chToCmd(e,t.options);t.selection&&n.replaces(t.replaceSelection()),t.isTooDeep()||(n.createLeftOf(t.show()),\"/\"===e?t.controller.aria.alert(\"over\"):t.controller.aria.alert(n.mathspeak({createdLeftOf:t})))},e.prototype.writeLatex=function(t,e){var n,r,o,i,a=Parser.all,s=Parser.eof,l=latexMathParser.skip(s).or(a.result(!1)).parse(e);l&&!l.isEmpty()&&l.prepareInsertionAt(t)&&(l.children().adopt(t.parent,t[L],t[R]),domFrag(l.html()).insertBefore(t.domFrag()),t[L]=l.getEnd(R),l.finalizeInsert(t.options,t),n=l.getEnd(R),r=l.getEnd(L),o=n[R],i=r[L],o&&o.siblingCreated(t.options,L),i&&i.siblingCreated(t.options,R),t.parent.bubble(function(t){t.reflow()}))},e.prototype.focus=function(){return this.domFrag().addClass(\"mq-hasCursor\"),this.domFrag().removeClass(\"mq-empty\"),this},e.prototype.blur=function(t){return this.domFrag().removeClass(\"mq-hasCursor\"),this.isEmpty()&&(this.domFrag().addClass(\"mq-empty\"),t&&this.isQuietEmptyDelimiter(t.options.quietEmptyDelimiters)&&this.domFrag().addClass(\"mq-quiet-delimiter\")),this},e}(MathElement),Options.prototype.mouseEvents=!0,API.StaticMath=function(t){var e;return e=function(e){function n(n){var r=e.call(this,n)||this,o=r.innerFields=[];return r.__controller.root.postOrder(function(e){e.registerInnerField(o,t.InnerMathField)}),r}return __extends(n,e),n.prototype.__mathquillify=function(t,n){return this.config(t),e.prototype.mathquillify.call(this,\"mq-math-mode\"),this.__controller.setupStaticField(),this.__options.mouseEvents&&(this.__controller.addMouseEventListener(),this.__controller.staticMathTextareaEvents()),this},n.prototype.latex=function(n){var r,o=e.prototype.latex.apply(this,arguments);return arguments.length>0&&(r=this.innerFields=[],this.__controller.root.postOrder(function(e){e.registerInnerField(r,t.InnerMathField)}),this.__controller.updateMathspeak()),o},n.prototype.setAriaLabel=function(t){return this.__controller.setAriaLabel(t),this},n.prototype.getAriaLabel=function(){return this.__controller.getAriaLabel()},n}(t.AbstractMathQuill),e.RootBlock=MathBlock,e},RootMathBlock=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(MathBlock),RootBlockMixin(RootMathBlock.prototype),API.MathField=function(t){var e;return e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.__mathquillify=function(e,n){return this.config(e),n>1&&(this.__controller.root.reflow=noop),t.prototype.mathquillify.call(this,\"mq-editable-field mq-math-mode\"),delete this.__controller.root.reflow,this},e}(t.EditableField),e.RootBlock=RootMathBlock,e},API.InnerMathField=function(t){return pray(\"MathField class is defined\",t.MathField),function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.makeStatic=function(){this.__controller.editable=!1,this.__controller.root.blur(),this.__controller.unbindEditablesEvents(),domFrag(this.__controller.container).removeClass(\"mq-editable-field\")},e.prototype.makeEditable=function(){this.__controller.editable=!0,this.__controller.editablesTextareaEvents(),this.__controller.cursor.insAtRightEnd(this.__controller.root),domFrag(this.__controller.container).addClass(\"mq-editable-field\")},e}(t.MathField)},LatexCmds.notin=LatexCmds.cong=LatexCmds.equiv=LatexCmds.oplus=LatexCmds.otimes=function(t){return new BinaryOperator(\"\\\\\"+t+\" \",h.entityText(\"&\"+t+\";\"))},LatexCmds[\"∗\"]=LatexCmds.ast=LatexCmds.star=LatexCmds.loast=LatexCmds.lowast=bindBinaryOperator(\"\\\\ast \",\"∗\",\"low asterisk\"),LatexCmds.therefor=LatexCmds.therefore=bindBinaryOperator(\"\\\\therefore \",\"∴\",\"therefore\"),LatexCmds.cuz=LatexCmds.because=bindBinaryOperator(\"\\\\because \",\"∵\",\"because\"),LatexCmds.prop=LatexCmds.propto=bindBinaryOperator(\"\\\\propto \",\"∝\",\"proportional to\"),LatexCmds[\"≈\"]=LatexCmds.asymp=LatexCmds.approx=bindBinaryOperator(\"\\\\approx \",\"≈\",\"approximately equal to\"),LatexCmds.isin=LatexCmds.in=bindBinaryOperator(\"\\\\in \",\"∈\",\"is in\"),LatexCmds.ni=LatexCmds.contains=bindBinaryOperator(\"\\\\ni \",\"∋\",\"is not in\"),LatexCmds.notni=LatexCmds.niton=LatexCmds.notcontains=LatexCmds.doesnotcontain=bindBinaryOperator(\"\\\\not\\\\ni \",\"∌\",\"does not contain\"),LatexCmds.sub=LatexCmds.subset=bindBinaryOperator(\"\\\\subset \",\"⊂\",\"subset\"),LatexCmds.sup=LatexCmds.supset=LatexCmds.superset=bindBinaryOperator(\"\\\\supset \",\"⊃\",\"superset\"),LatexCmds.nsub=LatexCmds.notsub=LatexCmds.nsubset=LatexCmds.notsubset=bindBinaryOperator(\"\\\\not\\\\subset \",\"⊄\",\"not a subset\"),LatexCmds.nsup=LatexCmds.notsup=LatexCmds.nsupset=LatexCmds.notsupset=LatexCmds.nsuperset=LatexCmds.notsuperset=bindBinaryOperator(\"\\\\not\\\\supset \",\"⊅\",\"not a superset\"),LatexCmds.sube=LatexCmds.subeq=LatexCmds.subsete=LatexCmds.subseteq=bindBinaryOperator(\"\\\\subseteq \",\"⊆\",\"subset or equal to\"),LatexCmds.supe=LatexCmds.supeq=LatexCmds.supsete=LatexCmds.supseteq=LatexCmds.supersete=LatexCmds.superseteq=bindBinaryOperator(\"\\\\supseteq \",\"⊇\",\"superset or equal to\"),LatexCmds.nsube=LatexCmds.nsubeq=LatexCmds.notsube=LatexCmds.notsubeq=LatexCmds.nsubsete=LatexCmds.nsubseteq=LatexCmds.notsubsete=LatexCmds.notsubseteq=bindBinaryOperator(\"\\\\not\\\\subseteq \",\"⊈\",\"not subset or equal to\"),LatexCmds.nsupe=LatexCmds.nsupeq=LatexCmds.notsupe=LatexCmds.notsupeq=LatexCmds.nsupsete=LatexCmds.nsupseteq=LatexCmds.notsupsete=LatexCmds.notsupseteq=LatexCmds.nsupersete=LatexCmds.nsuperseteq=LatexCmds.notsupersete=LatexCmds.notsuperseteq=bindBinaryOperator(\"\\\\not\\\\supseteq \",\"⊉\",\"not superset or equal to\"),LatexCmds.mathbb=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.createLeftOf=function(t){},e.prototype.numBlocks=function(){return 1},e.prototype.parser=function(){var t=Parser.string,e=Parser.regex,n=Parser.optWhitespace;return n.then(t(\"{\")).then(n).then(e(/^[NPZQRCH]/)).skip(n).skip(t(\"}\")).map(function(t){var e=LatexCmds[t];return isMQNodeClass(e)?new e:e()})},e}(MathCommand),LatexCmds.N=LatexCmds.naturals=LatexCmds.Naturals=bindVanillaSymbol(\"\\\\mathbb{N}\",\"ℕ\",\"naturals\"),LatexCmds.P=LatexCmds.primes=LatexCmds.Primes=LatexCmds.projective=LatexCmds.Projective=LatexCmds.probability=LatexCmds.Probability=bindVanillaSymbol(\"\\\\mathbb{P}\",\"ℙ\",\"P\"),LatexCmds.Z=LatexCmds.integers=LatexCmds.Integers=bindVanillaSymbol(\"\\\\mathbb{Z}\",\"ℤ\",\"integers\"),LatexCmds.Q=LatexCmds.rationals=LatexCmds.Rationals=bindVanillaSymbol(\"\\\\mathbb{Q}\",\"ℚ\",\"rationals\"),LatexCmds.R=LatexCmds.reals=LatexCmds.Reals=bindVanillaSymbol(\"\\\\mathbb{R}\",\"ℝ\",\"reals\"),LatexCmds.C=LatexCmds.complex=LatexCmds.Complex=LatexCmds.complexes=LatexCmds.Complexes=LatexCmds.complexplane=LatexCmds.Complexplane=LatexCmds.ComplexPlane=bindVanillaSymbol(\"\\\\mathbb{C}\",\"ℂ\",\"complexes\"),LatexCmds.H=LatexCmds.Hamiltonian=LatexCmds.quaternions=LatexCmds.Quaternions=bindVanillaSymbol(\"\\\\mathbb{H}\",\"ℍ\",\"quaternions\"),LatexCmds.quad=LatexCmds.emsp=bindVanillaSymbol(\"\\\\quad \",\" \",\"4 spaces\"),LatexCmds.qquad=bindVanillaSymbol(\"\\\\qquad \",\" \",\"8 spaces\"),LatexCmds.diamond=bindVanillaSymbol(\"\\\\diamond \",\"◇\",\"diamond\"),LatexCmds.bigtriangleup=bindVanillaSymbol(\"\\\\bigtriangleup \",\"△\",\"triangle up\"),LatexCmds.ominus=bindVanillaSymbol(\"\\\\ominus \",\"⊖\",\"o minus\"),LatexCmds.uplus=bindVanillaSymbol(\"\\\\uplus \",\"⊎\",\"disjoint union\"),LatexCmds.bigtriangledown=bindVanillaSymbol(\"\\\\bigtriangledown \",\"▽\",\"triangle down\"),LatexCmds.sqcap=bindVanillaSymbol(\"\\\\sqcap \",\"⊓\",\"greatest lower bound\"),LatexCmds.triangleleft=bindVanillaSymbol(\"\\\\triangleleft \",\"⊲\",\"triangle left\"),LatexCmds.sqcup=bindVanillaSymbol(\"\\\\sqcup \",\"⊔\",\"least upper bound\"),LatexCmds.triangleright=bindVanillaSymbol(\"\\\\triangleright \",\"⊳\",\"triangle right\"),LatexCmds.odot=LatexCmds.circledot=bindVanillaSymbol(\"\\\\odot \",\"⊙\",\"circle dot\"),LatexCmds.bigcirc=bindVanillaSymbol(\"\\\\bigcirc \",\"◯\",\"circle\"),LatexCmds.dagger=bindVanillaSymbol(\"\\\\dagger \",\"†\",\"dagger\"),LatexCmds.ddagger=bindVanillaSymbol(\"\\\\ddagger \",\"‡\",\"big dagger\"),LatexCmds.wr=bindVanillaSymbol(\"\\\\wr \",\"≀\",\"wreath\"),LatexCmds.amalg=bindVanillaSymbol(\"\\\\amalg \",\"∐\",\"amalgam\"),LatexCmds.models=bindVanillaSymbol(\"\\\\models \",\"⊨\",\"models\"),LatexCmds.prec=bindVanillaSymbol(\"\\\\prec \",\"≺\",\"precedes\"),LatexCmds.succ=bindVanillaSymbol(\"\\\\succ \",\"≻\",\"succeeds\"),LatexCmds.preceq=bindVanillaSymbol(\"\\\\preceq \",\"≼\",\"precedes or equals\"),LatexCmds.succeq=bindVanillaSymbol(\"\\\\succeq \",\"≽\",\"succeeds or equals\"),LatexCmds.simeq=bindVanillaSymbol(\"\\\\simeq \",\"≃\",\"similar or equal to\"),LatexCmds.mid=bindVanillaSymbol(\"\\\\mid \",\"∣\",\"divides\"),LatexCmds.ll=bindVanillaSymbol(\"\\\\ll \",\"≪\",\"ll\"),LatexCmds.gg=bindVanillaSymbol(\"\\\\gg \",\"≫\",\"gg\"),LatexCmds.parallel=bindVanillaSymbol(\"\\\\parallel \",\"∥\",\"parallel with\"),LatexCmds.nparallel=bindVanillaSymbol(\"\\\\nparallel \",\"∦\",\"not parallel with\"),LatexCmds.bowtie=bindVanillaSymbol(\"\\\\bowtie \",\"⋈\",\"bowtie\"),LatexCmds.sqsubset=bindVanillaSymbol(\"\\\\sqsubset \",\"⊏\",\"square subset\"),LatexCmds.sqsupset=bindVanillaSymbol(\"\\\\sqsupset \",\"⊐\",\"square superset\"),LatexCmds.smile=bindVanillaSymbol(\"\\\\smile \",\"⌣\",\"smile\"),LatexCmds.sqsubseteq=bindVanillaSymbol(\"\\\\sqsubseteq \",\"⊑\",\"square subset or equal to\"),LatexCmds.sqsupseteq=bindVanillaSymbol(\"\\\\sqsupseteq \",\"⊒\",\"square superset or equal to\"),LatexCmds.doteq=bindVanillaSymbol(\"\\\\doteq \",\"≐\",\"dotted equals\"),LatexCmds.frown=bindVanillaSymbol(\"\\\\frown \",\"⌢\",\"frown\"),LatexCmds.vdash=bindVanillaSymbol(\"\\\\vdash \",\"⊦\",\"v dash\"),LatexCmds.dashv=bindVanillaSymbol(\"\\\\dashv \",\"⊣\",\"dash v\"),LatexCmds.nless=bindVanillaSymbol(\"\\\\nless \",\"≮\",\"not less than\"),LatexCmds.ngtr=bindVanillaSymbol(\"\\\\ngtr \",\"≯\",\"not greater than\"),LatexCmds.longleftarrow=bindVanillaSymbol(\"\\\\longleftarrow \",\"←\",\"left arrow\"),LatexCmds.longrightarrow=bindVanillaSymbol(\"\\\\longrightarrow \",\"→\",\"right arrow\"),LatexCmds.Longleftarrow=bindVanillaSymbol(\"\\\\Longleftarrow \",\"⇐\",\"left arrow\"),LatexCmds.Longrightarrow=bindVanillaSymbol(\"\\\\Longrightarrow \",\"⇒\",\"right arrow\"),LatexCmds.longleftrightarrow=bindVanillaSymbol(\"\\\\longleftrightarrow \",\"↔\",\"left and right arrow\"),LatexCmds.updownarrow=bindVanillaSymbol(\"\\\\updownarrow \",\"↕\",\"up and down arrow\"),LatexCmds.Longleftrightarrow=bindVanillaSymbol(\"\\\\Longleftrightarrow \",\"⇔\",\"left and right arrow\"),LatexCmds.Updownarrow=bindVanillaSymbol(\"\\\\Updownarrow \",\"⇕\",\"up and down arrow\"),LatexCmds.mapsto=bindVanillaSymbol(\"\\\\mapsto \",\"↦\",\"maps to\"),LatexCmds.nearrow=bindVanillaSymbol(\"\\\\nearrow \",\"↗\",\"northeast arrow\"),LatexCmds.hookleftarrow=bindVanillaSymbol(\"\\\\hookleftarrow \",\"↩\",\"hook left arrow\"),LatexCmds.hookrightarrow=bindVanillaSymbol(\"\\\\hookrightarrow \",\"↪\",\"hook right arrow\"),LatexCmds.searrow=bindVanillaSymbol(\"\\\\searrow \",\"↘\",\"southeast arrow\"),LatexCmds.leftharpoonup=bindVanillaSymbol(\"\\\\leftharpoonup \",\"↼\",\"left harpoon up\"),LatexCmds.rightharpoonup=bindVanillaSymbol(\"\\\\rightharpoonup \",\"⇀\",\"right harpoon up\"),LatexCmds.swarrow=bindVanillaSymbol(\"\\\\swarrow \",\"↙\",\"southwest arrow\"),LatexCmds.leftharpoondown=bindVanillaSymbol(\"\\\\leftharpoondown \",\"↽\",\"left harpoon down\"),LatexCmds.rightharpoondown=bindVanillaSymbol(\"\\\\rightharpoondown \",\"⇁\",\"right harpoon down\"),LatexCmds.nwarrow=bindVanillaSymbol(\"\\\\nwarrow \",\"↖\",\"northwest arrow\"),LatexCmds.ldots=bindVanillaSymbol(\"\\\\ldots \",\"…\",\"l dots\"),LatexCmds.cdots=bindVanillaSymbol(\"\\\\cdots \",\"⋯\",\"c dots\"),LatexCmds.vdots=bindVanillaSymbol(\"\\\\vdots \",\"⋮\",\"v dots\"),LatexCmds.ddots=bindVanillaSymbol(\"\\\\ddots \",\"⋱\",\"d dots\"),LatexCmds.surd=bindVanillaSymbol(\"\\\\surd \",\"√\",\"unresolved root\"),LatexCmds.triangle=bindVanillaSymbol(\"\\\\triangle \",\"△\",\"triangle\"),LatexCmds.ell=bindVanillaSymbol(\"\\\\ell \",\"ℓ\",\"ell\"),LatexCmds.top=bindVanillaSymbol(\"\\\\top \",\"⊤\",\"top\"),LatexCmds.flat=bindVanillaSymbol(\"\\\\flat \",\"♭\",\"flat\"),LatexCmds.natural=bindVanillaSymbol(\"\\\\natural \",\"♮\",\"natural\"),LatexCmds.sharp=bindVanillaSymbol(\"\\\\sharp \",\"♯\",\"sharp\"),LatexCmds.wp=bindVanillaSymbol(\"\\\\wp \",\"℘\",\"wp\"),LatexCmds.bot=bindVanillaSymbol(\"\\\\bot \",\"⊥\",\"bot\"),LatexCmds.clubsuit=bindVanillaSymbol(\"\\\\clubsuit \",\"♣\",\"club suit\"),LatexCmds.diamondsuit=bindVanillaSymbol(\"\\\\diamondsuit \",\"♢\",\"diamond suit\"),LatexCmds.heartsuit=bindVanillaSymbol(\"\\\\heartsuit \",\"♡\",\"heart suit\"),LatexCmds.spadesuit=bindVanillaSymbol(\"\\\\spadesuit \",\"♠\",\"spade suit\"),LatexCmds.parallelogram=bindVanillaSymbol(\"\\\\parallelogram \",\"▱\",\"parallelogram\"),LatexCmds.square=bindVanillaSymbol(\"\\\\square \",\"⬜\",\"square\"),LatexCmds.oint=bindVanillaSymbol(\"\\\\oint \",\"∮\",\"o int\"),LatexCmds.bigcap=bindVanillaSymbol(\"\\\\bigcap \",\"∩\",\"big cap\"),LatexCmds.bigcup=bindVanillaSymbol(\"\\\\bigcup \",\"∪\",\"big cup\"),LatexCmds.bigsqcup=bindVanillaSymbol(\"\\\\bigsqcup \",\"⊔\",\"big square cup\"),LatexCmds.bigvee=bindVanillaSymbol(\"\\\\bigvee \",\"∨\",\"big vee\"),LatexCmds.bigwedge=bindVanillaSymbol(\"\\\\bigwedge \",\"∧\",\"big wedge\"),LatexCmds.bigodot=bindVanillaSymbol(\"\\\\bigodot \",\"⊙\",\"big o dot\"),LatexCmds.bigotimes=bindVanillaSymbol(\"\\\\bigotimes \",\"⊗\",\"big o times\"),LatexCmds.bigoplus=bindVanillaSymbol(\"\\\\bigoplus \",\"⊕\",\"big o plus\"),LatexCmds.biguplus=bindVanillaSymbol(\"\\\\biguplus \",\"⊎\",\"big u plus\"),LatexCmds.lfloor=bindVanillaSymbol(\"\\\\lfloor \",\"⌊\",\"left floor\"),LatexCmds.rfloor=bindVanillaSymbol(\"\\\\rfloor \",\"⌋\",\"right floor\"),LatexCmds.lceil=bindVanillaSymbol(\"\\\\lceil \",\"⌈\",\"left ceiling\"),LatexCmds.rceil=bindVanillaSymbol(\"\\\\rceil \",\"⌉\",\"right ceiling\"),LatexCmds.opencurlybrace=LatexCmds.lbrace=bindVanillaSymbol(\"\\\\lbrace \",\"{\",\"left brace\"),LatexCmds.closecurlybrace=LatexCmds.rbrace=bindVanillaSymbol(\"\\\\rbrace \",\"}\",\"right brace\"),LatexCmds.lbrack=bindVanillaSymbol(\"[\",\"left bracket\"),LatexCmds.rbrack=bindVanillaSymbol(\"]\",\"right bracket\"),LatexCmds.slash=bindVanillaSymbol(\"/\",\"slash\"),LatexCmds.vert=bindVanillaSymbol(\"|\",\"vertical bar\"),LatexCmds.perp=LatexCmds.perpendicular=bindVanillaSymbol(\"\\\\perp \",\"⊥\",\"perpendicular\"),LatexCmds.nabla=LatexCmds.del=bindVanillaSymbol(\"\\\\nabla \",\"∇\"),LatexCmds.hbar=bindVanillaSymbol(\"\\\\hbar \",\"ℏ\",\"horizontal bar\"),LatexCmds.AA=LatexCmds.Angstrom=LatexCmds.angstrom=bindVanillaSymbol(\"\\\\text\\\\AA \",\"Å\",\"AA\"),LatexCmds.ring=LatexCmds.circ=LatexCmds.circle=bindVanillaSymbol(\"\\\\circ \",\"∘\",\"circle\"),LatexCmds.bull=LatexCmds.bullet=bindVanillaSymbol(\"\\\\bullet \",\"•\",\"bullet\"),LatexCmds.setminus=LatexCmds.smallsetminus=bindVanillaSymbol(\"\\\\setminus \",\"∖\",\"set minus\"),LatexCmds.not=LatexCmds[\"¬\"]=LatexCmds.neg=bindVanillaSymbol(\"\\\\neg \",\"¬\",\"not\"),LatexCmds[\"…\"]=LatexCmds.dots=LatexCmds.ellip=LatexCmds.hellip=LatexCmds.ellipsis=LatexCmds.hellipsis=bindVanillaSymbol(\"\\\\dots \",\"…\",\"ellipsis\"),LatexCmds.converges=LatexCmds.darr=LatexCmds.dnarr=LatexCmds.dnarrow=LatexCmds.downarrow=bindVanillaSymbol(\"\\\\downarrow \",\"↓\",\"converges with\"),LatexCmds.dArr=LatexCmds.dnArr=LatexCmds.dnArrow=LatexCmds.Downarrow=bindVanillaSymbol(\"\\\\Downarrow \",\"⇓\",\"down arrow\"),LatexCmds.diverges=LatexCmds.uarr=LatexCmds.uparrow=bindVanillaSymbol(\"\\\\uparrow \",\"↑\",\"diverges from\"),LatexCmds.uArr=LatexCmds.Uparrow=bindVanillaSymbol(\"\\\\Uparrow \",\"⇑\",\"up arrow\"),LatexCmds.rarr=LatexCmds.rightarrow=bindVanillaSymbol(\"\\\\rightarrow \",\"→\",\"right arrow\"),LatexCmds.implies=bindBinaryOperator(\"\\\\Rightarrow \",\"⇒\",\"implies\"),LatexCmds.rArr=LatexCmds.Rightarrow=bindVanillaSymbol(\"\\\\Rightarrow \",\"⇒\",\"right arrow\"),LatexCmds.gets=bindBinaryOperator(\"\\\\gets \",\"←\",\"gets\"),LatexCmds.larr=LatexCmds.leftarrow=bindVanillaSymbol(\"\\\\leftarrow \",\"←\",\"left arrow\"),LatexCmds.impliedby=bindBinaryOperator(\"\\\\Leftarrow \",\"⇐\",\"implied by\"),LatexCmds.lArr=LatexCmds.Leftarrow=bindVanillaSymbol(\"\\\\Leftarrow \",\"⇐\",\"left arrow\"),LatexCmds.harr=LatexCmds.lrarr=LatexCmds.leftrightarrow=bindVanillaSymbol(\"\\\\leftrightarrow \",\"↔\",\"left and right arrow\"),LatexCmds.iff=bindBinaryOperator(\"\\\\Leftrightarrow \",\"⇔\",\"if and only if\"),LatexCmds.hArr=LatexCmds.lrArr=LatexCmds.Leftrightarrow=bindVanillaSymbol(\"\\\\Leftrightarrow \",\"⇔\",\"left and right arrow\"),LatexCmds.Re=LatexCmds.Real=LatexCmds.real=bindVanillaSymbol(\"\\\\Re \",\"ℜ\",\"real\"),LatexCmds.Im=LatexCmds.imag=LatexCmds.image=LatexCmds.imagin=LatexCmds.imaginary=LatexCmds.Imaginary=bindVanillaSymbol(\"\\\\Im \",\"ℑ\",\"imaginary\"),LatexCmds.part=LatexCmds.partial=bindVanillaSymbol(\"\\\\partial \",\"∂\",\"partial\"),LatexCmds.pounds=bindVanillaSymbol(\"\\\\pounds \",\"£\"),\nLatexCmds.alef=LatexCmds.alefsym=LatexCmds.aleph=LatexCmds.alephsym=bindVanillaSymbol(\"\\\\aleph \",\"ℵ\",\"alef sym\"),LatexCmds.xist=LatexCmds.xists=LatexCmds.exist=LatexCmds.exists=bindVanillaSymbol(\"\\\\exists \",\"∃\",\"there exists at least 1\"),LatexCmds.nexists=LatexCmds.nexist=bindVanillaSymbol(\"\\\\nexists \",\"∄\",\"there is no\"),LatexCmds.and=LatexCmds.land=LatexCmds.wedge=bindBinaryOperator(\"\\\\wedge \",\"∧\",\"and\"),LatexCmds.or=LatexCmds.lor=LatexCmds.vee=bindBinaryOperator(\"\\\\vee \",\"∨\",\"or\"),LatexCmds.o=LatexCmds.O=LatexCmds.empty=LatexCmds.emptyset=LatexCmds.oslash=LatexCmds.Oslash=LatexCmds.nothing=LatexCmds.varnothing=bindBinaryOperator(\"\\\\varnothing \",\"∅\",\"nothing\"),LatexCmds.cup=LatexCmds.union=bindBinaryOperator(\"\\\\cup \",\"∪\",\"union\"),LatexCmds.cap=LatexCmds.intersect=LatexCmds.intersection=bindBinaryOperator(\"\\\\cap \",\"∩\",\"intersection\"),LatexCmds.deg=LatexCmds.degree=bindVanillaSymbol(\"\\\\degree \",\"°\",\"degrees\"),LatexCmds.ang=LatexCmds.angle=bindVanillaSymbol(\"\\\\angle \",\"∠\",\"angle\"),LatexCmds.measuredangle=bindVanillaSymbol(\"\\\\measuredangle \",\"∡\",\"measured angle\"),DigitGroupingChar=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.finalizeTree=function(t,e){this.sharedSiblingMethod(t,e)},e.prototype.siblingDeleted=function(t,e){this.sharedSiblingMethod(t,e)},e.prototype.siblingCreated=function(t,e){this.sharedSiblingMethod(t,e)},e.prototype.sharedSiblingMethod=function(t,n){n!==L&&this[R]instanceof e||this.fixDigitGrouping(t)},e.prototype.fixDigitGrouping=function(t){var e,n,r,o,i,a,s,l;if(t.enableDigitGrouping){e=this,n=this,r=0,o=[],i=\"\\\\ \",a=\".\",s=e;do{if(/^[0-9]$/.test(s.ctrlSeq))e=s;else if(s.ctrlSeq===i)e=s,r+=1;else{if(s.ctrlSeq!==a)break;e=s,o.push(s)}}while(s=e[L]);for(;s=n[R];)if(/^[0-9]$/.test(s.ctrlSeq))n=s;else if(s.ctrlSeq===i)n=s,r+=1;else{if(s.ctrlSeq!==a)break;n=s,o.push(s)}for(;n!==e&&e&&e.ctrlSeq===i;)e=e[R],r-=1;for(;n!==e&&n&&n.ctrlSeq===i;)n=n[L],r-=1;e===n&&e&&e.ctrlSeq===i||(l=r>0||o.length>1,l?this.removeGroupingBetween(e,n):o[0]?(o[0]!==e&&this.addGroupingBetween(o[0][L],e),o[0]!==n&&this.removeGroupingBetween(o[0][R],n)):this.addGroupingBetween(n,e))}},e.prototype.removeGroupingBetween=function(t,n){var r=t;do{if(r instanceof e&&r.setGroupingClass(void 0),!r||r===n)break}while(r=r[R])},e.prototype.addGroupingBetween=function(t,n){var r,o,i=t,a=0,s=0;for(i=t;i&&(s+=1,i!==n);)i=i[L];for(r=s%3,0===r&&(r=3),i=t;i&&(a+=1,o=void 0,s>=4&&(a===s?o=\"mq-group-leading-\"+r:a%3==0&&a!==s&&(o=\"mq-group-start\"),o||(o=\"mq-group-other\")),i instanceof e&&i.setGroupingClass(o),i!==n);)i=i[L]},e.prototype.setGroupingClass=function(t){this._groupingClass!==t&&(this._groupingClass&&this.domFrag().removeClass(this._groupingClass),t&&this.domFrag().addClass(t),this._groupingClass=t)},e}(MQSymbol),Digit=function(t){function e(e,n){return t.call(this,e,h(\"span\",{class:\"mq-digit\"},[h.text(e)]),void 0,n)||this}return __extends(e,t),e.prototype.createLeftOf=function(e){var n=e[L],r=n&&n[L],o=e.parent.parent instanceof SupSub?e.parent.parent.sub:void 0;e.options.autoSubscriptNumerals&&e.parent!==o&&(n instanceof Variable&&!1!==n.isItalic||n instanceof SupSub&&r instanceof Variable&&!1!==r.isItalic)?((new SubscriptCommand).createLeftOf(e),t.prototype.createLeftOf.call(this,e),e.insRightOf(e.parent.parent)):t.prototype.createLeftOf.call(this,e)},e.prototype.mathspeak=function(e){var n,r,o,i;return e&&e.createdLeftOf&&(n=e.createdLeftOf,r=n[L],o=r&&r[L],i=n.parent.parent instanceof SupSub?n.parent.parent.sub:void 0,n.options.autoSubscriptNumerals&&n.parent!==i&&(r instanceof Variable&&!1!==r.isItalic||n[L]instanceof SupSub&&o instanceof Variable&&!1!==o.isItalic))?\"Subscript \"+t.prototype.mathspeak.call(this)+\" Baseline\":t.prototype.mathspeak.call(this)},e}(DigitGroupingChar),Variable=function(t){function e(e,n){return t.call(this,e,h(\"var\",{},[n||h.text(e)]))||this}return __extends(e,t),e.prototype.text=function(){var t=this.ctrlSeq||\"\";return this.isPartOfOperator?\"\\\\\"==t[0]?t=t.slice(1,t.length):\" \"==t[t.length-1]&&(t=t.slice(0,-1)):(!this[L]||this[L]instanceof e||this[L]instanceof BinaryOperator||\"\\\\ \"===this[L].ctrlSeq||(t=\"*\"+t),!this[R]||this[R]instanceof BinaryOperator||this[R]instanceof SupSub||(t+=\"*\")),t},e.prototype.mathspeak=function(){var e=this.ctrlSeq||\"\";return this.isPartOfOperator||e.length>1||this.parent&&this.parent.parent&&this.parent.parent.isTextBlock()?t.prototype.mathspeak.call(this):'\"'+e+'\"'},e}(MQSymbol),Options.prototype.autoCommands={_maxLength:0},baseOptionProcessors.autoCommands=function(t){var e,n,r,o,i;if(\"string\"!=typeof t||!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'\"'+t+'\" not a space-delimited list of only letters';for(e=t.split(\" \"),n={},r=0,o=0;o<e.length;o+=1){if(i=e[o],i.length<2)throw'autocommand \"'+i+'\" not minimum length of 2';if(LatexCmds[i]===OperatorName)throw'\"'+i+'\" is a built-in operator name';n[i]=1,r=max(r,i.length)}return n._maxLength=r,n},Options.prototype.quietEmptyDelimiters={},baseOptionProcessors.quietEmptyDelimiters=function(t){var e,n,r,o;for(void 0===t&&(t=\"\"),e=t.split(\" \"),n={},r=0;r<e.length;r+=1)o=e[r],n[o]=1;return n},Options.prototype.autoParenthesizedFunctions={_maxLength:0},baseOptionProcessors.autoParenthesizedFunctions=function(t){var e,n,r,o,i;if(\"string\"!=typeof t||!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'\"'+t+'\" not a space-delimited list of only letters';for(e=t.split(\" \"),n={},r=0,o=0;o<e.length;o+=1){if(i=e[o],i.length<2)throw'autocommand \"'+i+'\" not minimum length of 2';n[i]=1,r=max(r,i.length)}return n._maxLength=r,n},Letter=function(t){function e(e){var n=t.call(this,e)||this;return n.letter=e,n}return __extends(e,t),e.prototype.checkAutoCmds=function(t){var n,r,o,i,a,s,l;if(!this.shouldIgnoreSubstitutionInSimpleSubscript(t.options)&&(n=t.options.autoCommands,(r=n._maxLength||0)>0)){for(o=\"\",i=this,a=0;i instanceof e&&i.ctrlSeq===i.letter&&a<r;)o=i.letter+o,i=i[L],a+=1;for(;o.length;){if(n.hasOwnProperty(o)){for(i=this,a=1;i&&a<o.length;a+=1,i=i[L]);return new Fragment(i,this).remove(),t[L]=i[L],s=LatexCmds[o],l=isMQNodeClass(s)?new s(o):s(o),l.createLeftOf(t)}o=o.slice(1)}}},e.prototype.autoParenthesize=function(t){var n,r,o,i,a,s,l=t.parent.getEnd(R);if(!(l&&l instanceof Bracket&&\"\\\\left(\"===l.ctrlSeq||this.shouldIgnoreSubstitutionInSimpleSubscript(t.options))){for(n=\"\",r=this,o=0,i=t.options.autoParenthesizedFunctions,a=i._maxLength||0,s=t.options.autoOperatorNames;r instanceof e&&o<a;)n=r.letter+n,r=r[L],o+=1;for(;n.length;){if(i.hasOwnProperty(n)&&s.hasOwnProperty(n))return t.parent.write(t,\"(\");n=n.slice(1)}}},e.prototype.createLeftOf=function(e){t.prototype.createLeftOf.call(this,e),this.checkAutoCmds(e),this.autoParenthesize(e)},e.prototype.italicize=function(t){return this.isItalic=t,this.isPartOfOperator=!t,this.domFrag().toggleClass(\"mq-operator-name\",!t),this},e.prototype.finalizeTree=function(t,e){this.sharedSiblingMethod(t,e)},e.prototype.siblingDeleted=function(t,e){this.sharedSiblingMethod(t,e)},e.prototype.siblingCreated=function(t,e){this.sharedSiblingMethod(t,e)},e.prototype.sharedSiblingMethod=function(t,n){n!==L&&this[R]instanceof e||this.autoUnItalicize(t)},e.prototype.autoUnItalicize=function(t){var n,r,o,i,a,s,l,c,u,p,d,h,m,f,y,g,x,b,C=t.autoOperatorNames;if(0!==C._maxLength&&!this.shouldIgnoreSubstitutionInSimpleSubscript(t)){for(n=this.letter,r=this[L];r instanceof e;r=r[L])n=r.letter+n;for(o=this[R];o instanceof e;o=o[R])n+=o.letter;i=r&&r[R],a=o&&o[L],new Fragment(i||this.parent.getEnd(L),a||this.parent.getEnd(R)).each(function(t){t instanceof e&&(t.italicize(!0).domFrag().removeClass(\"mq-first mq-last mq-followed-by-supsub\"),t.ctrlSeq=t.letter)}),s=C._maxLength||0;t:for(l=0,c=r[R]||this.parent.getEnd(L);c&&l<n.length;l+=1,c=c[R])for(u=min(s,n.length-l);u>0;u-=1)if(p=n.slice(l,l+u),d=void 0,C.hasOwnProperty(p)){for(h=0,m=c;h<u;h+=1,m=m[R])m instanceof e&&(m.italicize(!1),d=m);f=BuiltInOpNames.hasOwnProperty(p),c.ctrlSeq=(f?\"\\\\\":\"\\\\operatorname{\")+c.ctrlSeq,d.ctrlSeq+=f?\" \":\"}\",TwoWordOpNames.hasOwnProperty(p)&&(y=d[L],g=y&&y[L],x=g&&g[L],x.domFrag().addClass(\"mq-last\")),this.shouldOmitPadding(c[L])||c.domFrag().addClass(\"mq-first\"),this.shouldOmitPadding(d[R])||(d[R]instanceof SupSub?(b=d[R],(b.siblingCreated=b.siblingDeleted=function(){b.domFrag().toggleClass(\"mq-after-operator-name\",!(b[R]instanceof Bracket))})()):d.domFrag().toggleClass(\"mq-last\",!(d[R]instanceof Bracket))),l+=u-1,c=d;continue t}}},e.prototype.shouldOmitPadding=function(t){return!t||(\".\"===t.ctrlSeq||(t instanceof BinaryOperator||t instanceof SummationNotation))},e}(Variable),BuiltInOpNames={},Options.prototype.autoOperatorNames=defaultAutoOpNames(),TwoWordOpNames={limsup:1,liminf:1,projlim:1,injlim:1},baseOptionProcessors.autoOperatorNames=function(t){var e,n,r,o,i,a;if(\"string\"!=typeof t)throw'\"'+t+'\" not a space-delimited list';if(!/^[a-z\\|\\-]+(?: [a-z\\|\\-]+)*$/i.test(t))throw'\"'+t+'\" not a space-delimited list of letters or \"|\"';for(e=t.split(\" \"),n={},r=0,o=0;o<e.length;o+=1){if(i=e[o],i.length<2)throw'\"'+i+'\" not minimum length of 2';if(i.indexOf(\"|\")<0)n[i]=i,r=max(r,i.length);else{if(a=i.split(\"|\"),a.length>2)throw'\"'+i+'\" has more than 1 mathspeak delimiter';if(a[0].length<2)throw'\"'+i[0]+'\" not minimum length of 2';n[a[0]]=a[1].replace(/-/g,\" \"),r=max(r,a[0].length)}}return n._maxLength=r,n},OperatorName=function(t){function e(e){return t.call(this,e||\"\")||this}return __extends(e,t),e.prototype.createLeftOf=function(t){var e,n=this.ctrlSeq;for(e=0;e<n.length;e+=1)new Letter(n.charAt(e)).createLeftOf(t)},e.prototype.parser=function(){var t,e=this.ctrlSeq,n=new MathBlock;for(t=0;t<e.length;t+=1)new Letter(e.charAt(t)).adopt(n,n.getEnd(R),0);return Parser.succeed(n.children())},e}(MQSymbol);for(fn in Options.prototype.autoOperatorNames)Options.prototype.autoOperatorNames.hasOwnProperty(fn)&&(LatexCmds[fn]=OperatorName);LatexCmds.operatorname=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.createLeftOf=function(){},e.prototype.numBlocks=function(){return 1},e.prototype.parser=function(){return latexMathParser.block.map(function(t){var e=!0,n=\"\",r=t.children();return r.each(function(t){t instanceof Letter?n+=t.letter:e=!1}),e&&\"ans\"===n?AnsBuilder():r})},e}(MathCommand),LatexCmds.f=function(t){function e(){var e=this,n=\"f\";return e=t.call(this,n)||this,e.letter=n,e.domView=new DOMView(0,function(){return h(\"var\",{class:\"mq-f\"},[h.text(\"f\")])}),e}return __extends(e,t),e.prototype.italicize=function(e){return this.domFrag().eachElement(function(t){return t.textContent=\"f\"}),this.domFrag().toggleClass(\"mq-f\",e),t.prototype.italicize.call(this,e)},e}(Letter),LatexCmds[\" \"]=LatexCmds.space=function(){return new DigitGroupingChar(\"\\\\ \",h(\"span\",{},[h.text(U_NO_BREAK_SPACE)]),\" \")},LatexCmds[\".\"]=function(){return new DigitGroupingChar(\".\",h(\"span\",{class:\"mq-digit\"},[h.text(\".\")]),\".\")},LatexCmds[\"'\"]=LatexCmds.prime=bindVanillaSymbol(\"'\",\"′\",\"prime\"),LatexCmds[\"″\"]=LatexCmds.dprime=bindVanillaSymbol(\"″\",\"″\",\"double prime\"),LatexCmds.backslash=bindVanillaSymbol(\"\\\\backslash \",\"\\\\\",\"backslash\"),CharCmds[\"\\\\\"]||(CharCmds[\"\\\\\"]=LatexCmds.backslash),LatexCmds.$=bindVanillaSymbol(\"\\\\$\",\"$\",\"dollar\"),LatexCmds.square=bindVanillaSymbol(\"\\\\square \",\"□\",\"square\"),LatexCmds.mid=bindVanillaSymbol(\"\\\\mid \",\"∣\",\"mid\"),NonSymbolaSymbol=function(t){function e(e,n,r){return t.call(this,e,h(\"span\",{class:\"mq-nonSymbola\"},[n||h.text(e)]))||this}return __extends(e,t),e}(MQSymbol),LatexCmds[\"@\"]=function(){return new NonSymbolaSymbol(\"@\")},LatexCmds[\"&\"]=function(){return new NonSymbolaSymbol(\"\\\\&\",h.entityText(\"&\"),\"and\")},LatexCmds[\"%\"]=function(t){function e(){return t.call(this,\"\\\\%\",h.text(\"%\"),\"percent\")||this}return __extends(e,t),e.prototype.parser=function(){var e=Parser.optWhitespace,n=Parser.string;return e.then(n(\"\\\\operatorname{of}\").map(function(){return PercentOfBuilder()})).or(t.prototype.parser.call(this))},e}(NonSymbolaSymbol),LatexCmds[\"∥\"]=LatexCmds.parallel=bindVanillaSymbol(\"\\\\parallel \",\"∥\",\"parallel\"),LatexCmds[\"∦\"]=LatexCmds.nparallel=bindVanillaSymbol(\"\\\\nparallel \",\"∦\",\"not parallel\"),LatexCmds[\"⟂\"]=LatexCmds.perp=bindVanillaSymbol(\"\\\\perp \",\"⟂\",\"perpendicular\"),LatexCmds.alpha=LatexCmds.beta=LatexCmds.gamma=LatexCmds.delta=LatexCmds.zeta=LatexCmds.eta=LatexCmds.theta=LatexCmds.iota=LatexCmds.kappa=LatexCmds.mu=LatexCmds.nu=LatexCmds.xi=LatexCmds.rho=LatexCmds.sigma=LatexCmds.tau=LatexCmds.chi=LatexCmds.psi=LatexCmds.omega=function(t){return new Variable(\"\\\\\"+t+\" \",h.entityText(\"&\"+t+\";\"))},LatexCmds.phi=bindVariable(\"\\\\phi \",\"ϕ\",\"phi\"),LatexCmds.phiv=LatexCmds.varphi=bindVariable(\"\\\\varphi \",\"φ\",\"phi\"),LatexCmds.epsilon=bindVariable(\"\\\\epsilon \",\"ϵ\",\"epsilon\"),LatexCmds.epsiv=LatexCmds.varepsilon=bindVariable(\"\\\\varepsilon \",\"ε\",\"epsilon\"),LatexCmds.piv=LatexCmds.varpi=bindVariable(\"\\\\varpi \",\"ϖ\",\"piv\"),LatexCmds.sigmaf=LatexCmds.sigmav=LatexCmds.varsigma=bindVariable(\"\\\\varsigma \",\"ς\",\"sigma\"),LatexCmds.thetav=LatexCmds.vartheta=LatexCmds.thetasym=bindVariable(\"\\\\vartheta \",\"ϑ\",\"theta\"),LatexCmds.upsilon=LatexCmds.upsi=bindVariable(\"\\\\upsilon \",\"υ\",\"upsilon\"),LatexCmds.gammad=LatexCmds.Gammad=LatexCmds.digamma=bindVariable(\"\\\\digamma \",\"ϝ\",\"gamma\"),LatexCmds.kappav=LatexCmds.varkappa=bindVariable(\"\\\\varkappa \",\"ϰ\",\"kappa\"),LatexCmds.rhov=LatexCmds.varrho=bindVariable(\"\\\\varrho \",\"ϱ\",\"rho\"),LatexCmds.pi=LatexCmds[\"π\"]=function(){return new NonSymbolaSymbol(\"\\\\pi \",h.entityText(\"π\"),\"pi\")},LatexCmds.lambda=function(){return new NonSymbolaSymbol(\"\\\\lambda \",h.entityText(\"λ\"),\"lambda\")},LatexCmds.Upsilon=LatexCmds.Upsi=LatexCmds.upsih=LatexCmds.Upsih=function(){return new MQSymbol(\"\\\\Upsilon \",h(\"var\",{style:\"font-family: serif\"},[h.entityText(\"ϒ\")]),\"capital upsilon\")},LatexCmds.Gamma=LatexCmds.Delta=LatexCmds.Theta=LatexCmds.Lambda=LatexCmds.Xi=LatexCmds.Pi=LatexCmds.Sigma=LatexCmds.Phi=LatexCmds.Psi=LatexCmds.Omega=LatexCmds.forall=function(t){return new VanillaSymbol(\"\\\\\"+t+\" \",h.entityText(\"&\"+t+\";\"))},LatexFragment=function(t){function e(e){var n=t.call(this)||this;return n.latexStr=e,n}return __extends(e,t),e.prototype.createLeftOf=function(t){var e,n,r,o,i=latexMathParser.parse(this.latexStr);i.children().adopt(t.parent,t[L],t[R]),t[L]=i.getEnd(R),domFrag(i.html()).insertBefore(t.domFrag()),i.finalizeInsert(t.options,t),e=i.getEnd(R),n=e&&e[R],n&&n.siblingCreated(t.options,L),r=i.getEnd(L),o=r&&r[L],o&&o.siblingCreated(t.options,R),t.parent.bubble(function(t){t.reflow()})},e.prototype.mathspeak=function(){return this.mathspeakOverride?t.prototype.mathspeak.call(this):latexMathParser.parse(this.latexStr).mathspeak()},e.prototype.parser=function(){var t=latexMathParser.parse(this.latexStr).children();return Parser.succeed(t)},e}(MathCommand),LatexCmds[\"⁰\"]=function(){return new LatexFragment(\"^0\")},LatexCmds[\"¹\"]=function(){return new LatexFragment(\"^1\")},LatexCmds[\"²\"]=function(){return new LatexFragment(\"^2\")},LatexCmds[\"³\"]=function(){return new LatexFragment(\"^3\")},LatexCmds[\"⁴\"]=function(){return new LatexFragment(\"^4\")},LatexCmds[\"⁵\"]=function(){return new LatexFragment(\"^5\")},LatexCmds[\"⁶\"]=function(){return new LatexFragment(\"^6\")},LatexCmds[\"⁷\"]=function(){return new LatexFragment(\"^7\")},LatexCmds[\"⁸\"]=function(){return new LatexFragment(\"^8\")},LatexCmds[\"⁹\"]=function(){return new LatexFragment(\"^9\")},LatexCmds[\"¼\"]=function(){return new LatexFragment(\"\\\\frac14\")},LatexCmds[\"½\"]=function(){return new LatexFragment(\"\\\\frac12\")},LatexCmds[\"¾\"]=function(){return new LatexFragment(\"\\\\frac34\")},LatexCmds[\"√\"]=function(){return new LatexFragment(\"\\\\sqrt{}\")},PlusMinus=function(t){function e(e,n,r){return t.call(this,e,n,void 0,r,!0)||this}return __extends(e,t),e.prototype.contactWeld=function(t,e){this.sharedSiblingMethod(t.options,e)},e.prototype.siblingCreated=function(t,e){this.sharedSiblingMethod(t,e)},e.prototype.siblingDeleted=function(t,e){this.sharedSiblingMethod(t,e)},e.prototype.sharedSiblingMethod=function(t,e){if(e!==R)return this.domFrag().oneElement().className=isBinaryOperator(this)?\"mq-binary-operator\":\"\",this},e}(BinaryOperator),LatexCmds[\"+\"]=function(t){function e(){return t.call(this,\"+\",h.text(\"+\"))||this}return __extends(e,t),e.prototype.mathspeak=function(){return isBinaryOperator(this)?\"plus\":\"positive\"},e}(PlusMinus),MinusNode=function(t){function e(){return t.call(this,\"-\",h.entityText(\"−\"))||this}return __extends(e,t),e.prototype.mathspeak=function(){return isBinaryOperator(this)?\"minus\":\"negative\"},e}(PlusMinus),LatexCmds[\"−\"]=LatexCmds[\"—\"]=LatexCmds[\"–\"]=LatexCmds[\"-\"]=MinusNode,LatexCmds[\"±\"]=LatexCmds.pm=LatexCmds.plusmn=LatexCmds.plusminus=function(){return new PlusMinus(\"\\\\pm \",h.entityText(\"±\"),\"plus-or-minus\")},LatexCmds.mp=LatexCmds.mnplus=LatexCmds.minusplus=function(){return new PlusMinus(\"\\\\mp \",h.entityText(\"∓\"),\"minus-or-plus\")},CharCmds[\"*\"]=LatexCmds.sdot=LatexCmds.cdot=bindBinaryOperator(\"\\\\cdot \",\"·\",\"*\",\"times\"),To=function(t){function e(){return t.call(this,\"\\\\to \",h.entityText(\"→\"),\"to\")||this}return __extends(e,t),e.prototype.deleteTowards=function(e,n){if(e===L){var r=n[L];return new Fragment(r,this).remove(),n[L]=r[L],(new MinusNode).createLeftOf(n),void n[L].bubble(function(t){t.reflow()})}t.prototype.deleteTowards.call(this,e,n)},e}(BinaryOperator),LatexCmds[\"→\"]=LatexCmds.to=To,Inequality=function(t){function e(e,n){var r=this,o=n?\"Strict\":\"\";return r=t.call(this,e[\"ctrlSeq\".concat(o)],h.entityText(e[\"htmlEntity\".concat(o)]),e[\"text\".concat(o)],e[\"mathspeak\".concat(o)])||this,r.data=e,r.strict=n,r}return __extends(e,t),e.prototype.swap=function(t){this.strict=t;var e=t?\"Strict\":\"\";this.ctrlSeq=this.data[\"ctrlSeq\".concat(e)],this.domFrag().children().replaceWith(domFrag(h.entityText(this.data[\"htmlEntity\".concat(e)]))),this.textTemplate=[this.data[\"text\".concat(e)]],this.mathspeakName=this.data[\"mathspeak\".concat(e)]},e.prototype.deleteTowards=function(e,n){if(e===L&&!this.strict)return this.swap(!0),void this.bubble(function(t){t.reflow()});t.prototype.deleteTowards.call(this,e,n)},e}(BinaryOperator),less={ctrlSeq:\"\\\\le \",htmlEntity:\"≤\",text:\"≤\",mathspeak:\"less than or equal to\",ctrlSeqStrict:\"<\",htmlEntityStrict:\"<\",textStrict:\"<\",mathspeakStrict:\"less than\"},greater={ctrlSeq:\"\\\\ge \",htmlEntity:\"≥\",text:\"≥\",mathspeak:\"greater than or equal to\",ctrlSeqStrict:\">\",htmlEntityStrict:\">\",textStrict:\">\",mathspeakStrict:\"greater than\"},Greater=function(t){function e(){return t.call(this,greater,!0)||this}return __extends(e,t),e.prototype.createLeftOf=function(e){var n,r=e[L];if(r instanceof BinaryOperator&&\"-\"===r.ctrlSeq)return n=r,e[L]=n[L],n.remove(),(new To).createLeftOf(e),void e[L].bubble(function(t){t.reflow()});t.prototype.createLeftOf.call(this,e)},e}(Inequality),LatexCmds[\"<\"]=LatexCmds.lt=function(){return new Inequality(less,!0)},LatexCmds[\">\"]=LatexCmds.gt=Greater,LatexCmds[\"≤\"]=LatexCmds.le=LatexCmds.leq=function(){return new Inequality(less,!1)},LatexCmds[\"≥\"]=LatexCmds.ge=LatexCmds.geq=function(){return new Inequality(greater,!1)},LatexCmds.infty=LatexCmds.infin=LatexCmds.infinity=bindVanillaSymbol(\"\\\\infty \",\"∞\",\"infinity\"),LatexCmds[\"≠\"]=LatexCmds.ne=LatexCmds.neq=bindBinaryOperator(\"\\\\ne \",\"≠\",\"not equal\"),Equality=function(t){function e(){return t.call(this,\"=\",h.text(\"=\"),\"=\",\"equals\")||this}return __extends(e,t),e.prototype.createLeftOf=function(e){var n=e[L];if(n instanceof Inequality&&n.strict)return n.swap(!1),void n.bubble(function(t){t.reflow()});t.prototype.createLeftOf.call(this,e)},e}(BinaryOperator),LatexCmds[\"=\"]=Equality,LatexCmds[\"×\"]=LatexCmds.times=LatexCmds.cross=bindBinaryOperator(\"\\\\times \",\"×\",\"[x]\",\"times\"),LatexCmds[\"÷\"]=LatexCmds.div=LatexCmds.divide=LatexCmds.divides=bindBinaryOperator(\"\\\\div \",\"÷\",\"[/]\",\"over\"),Sim=function(t){function e(){return t.call(this,\"\\\\sim \",h.text(\"~\"),\"~\",\"tilde\")||this}return __extends(e,t),e.prototype.createLeftOf=function(n){if(n[L]instanceof e){var r=n[L];return n[L]=r[L],r.remove(),(new Approx).createLeftOf(n),void n[L].bubble(function(t){t.reflow()})}t.prototype.createLeftOf.call(this,n)},e}(BinaryOperator),Approx=function(t){function e(){return t.call(this,\"\\\\approx \",h.entityText(\"≈\"),\"≈\",\"approximately equal\")||this}return __extends(e,t),e.prototype.deleteTowards=function(e,n){if(e===L){var r=n[L];return new Fragment(r,this).remove(),n[L]=r[L],(new Sim).createLeftOf(n),void n[L].bubble(function(t){t.reflow()})}t.prototype.deleteTowards.call(this,e,n)},e}(BinaryOperator),LatexCmds.tildeNbsp=bindVanillaSymbol(\"~\",U_NO_BREAK_SPACE,\" \"),LatexCmds.sim=Sim,LatexCmds[\"≈\"]=LatexCmds.approx=Approx,CharCmds[\"~\"]=LatexCmds.sim,LatexCmds[\"~\"]=LatexCmds.tildeNbsp,baseOptionProcessors.interpretTildeAsSim=function(t){var e=!!t;return LatexCmds[\"~\"]=e?LatexCmds.sim:LatexCmds.tildeNbsp,e},SVG_SYMBOLS={sqrt:{width:\"\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"0 0 32 54\"},[h(\"path\",{d:\"M0 33 L7 27 L12.5 47 L13 47 L30 0 L32 0 L13 54 L11 54 L4.5 31 L0 33\"})])}},\"|\":{width:\".4em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"0 0 10 54\"},[h(\"path\",{d:\"M4.4 0 L4.4 54 L5.6 54 L5.6 0\"})])}},\"[\":{width:\".55em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"0 0 11 24\"},[h(\"path\",{d:\"M8 0 L3 0 L3 24 L8 24 L8 23 L4 23 L4 1 L8 1\"})])}},\"]\":{width:\".55em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"0 0 11 24\"},[h(\"path\",{d:\"M3 0 L8 0 L8 24 L3 24 L3 23 L7 23 L7 1 L3 1\"})])}},\"(\":{width:\".55em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"3 0 106 186\"},[h(\"path\",{d:\"M85 0 A61 101 0 0 0 85 186 L75 186 A75 101 0 0 1 75 0\"})])}},\")\":{width:\".55em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"3 0 106 186\"},[h(\"path\",{d:\"M24 0 A61 101 0 0 1 24 186 L34 186 A75 101 0 0 0 34 0\"})])}},\"{\":{width:\".7em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"10 0 210 350\"},[h(\"path\",{d:\"M170 0 L170 6 A47 52 0 0 0 123 60 L123 127 A35 48 0 0 1 88 175 A35 48 0 0 1 123 223 L123 290 A47 52 0 0 0 170 344 L170 350 L160 350 A58 49 0 0 1 102 301 L103 220 A45 40 0 0 0 58 180 L58 170 A45 40 0 0 0 103 130 L103 49 A58 49 0 0 1 161 0\"})])}},\"}\":{width:\".7em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"10 0 210 350\"},[h(\"path\",{d:\"M60 0 L60 6 A47 52 0 0 1 107 60 L107 127 A35 48 0 0 0 142 175 A35 48 0 0 0 107 223 L107 290 A47 52 0 0 1 60 344 L60 350 L70 350 A58 49 0 0 0 128 301 L127 220 A45 40 0 0 1 172 180 L172 170 A45 40 0 0 1 127 130 L127 49 A58 49 0 0 0 70 0\"})])}},\"∥\":{width:\".7em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"0 0 10 54\"},[h(\"path\",{d:\"M3.2 0 L3.2 54 L4 54 L4 0 M6.8 0 L6.8 54 L6 54 L6 0\"})])}},\"⟨\":{width:\".55em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"0 0 10 54\"},[h(\"path\",{d:\"M6.8 0 L3.2 27 L6.8 54 L7.8 54 L4.2 27 L7.8 0\"})])}},\"⟩\":{width:\".55em\",html:function(){return h(\"svg\",{preserveAspectRatio:\"none\",viewBox:\"0 0 10 54\"},[h(\"path\",{d:\"M3.2 0 L6.8 27 L3.2 54 L2.2 54 L5.8 27 L2.2 0\"})])}}},Style=function(t){function e(e,n,r,o,i){var a=t.call(this,e,new DOMView(1,function(t){return h.block(n,r,t[0])}))||this;return a.ariaLabel=o||e.replace(/^\\\\/,\"\"),a.mathspeakTemplate=[\"Start\"+a.ariaLabel+\",\",\"End\"+a.ariaLabel],a.shouldNotSpeakDelimiters=i&&i.shouldNotSpeakDelimiters,a}return __extends(e,t),e.prototype.mathspeak=function(e){return!this.shouldNotSpeakDelimiters||e&&e.ignoreShorthand?t.prototype.mathspeak.call(this):this.foldChildren(\"\",function(t,n){return t+\" \"+n.mathspeak(e)}).trim()},e}(MathCommand),LatexCmds.mathrm=function(t){function e(){return t.call(this,\"\\\\mathrm\",\"span\",{class:\"mq-roman mq-font\"},\"Roman Font\",{shouldNotSpeakDelimiters:!0})||this}return __extends(e,t),e.prototype.isTextBlock=function(){return!0},e}(Style),LatexCmds.mathit=function(){return new Style(\"\\\\mathit\",\"i\",{class:\"mq-font\"},\"Italic Font\")},LatexCmds.mathbf=function(){return new Style(\"\\\\mathbf\",\"b\",{class:\"mq-font\"},\"Bold Font\")},LatexCmds.mathsf=function(){return new Style(\"\\\\mathsf\",\"span\",{class:\"mq-sans-serif mq-font\"},\"Serif Font\")},LatexCmds.mathtt=function(){return new Style(\"\\\\mathtt\",\"span\",{class:\"mq-monospace mq-font\"},\"Math Text\")},LatexCmds.underline=function(){return new Style(\"\\\\underline\",\"span\",{class:\"mq-non-leaf mq-underline\"},\"Underline\")},LatexCmds.overline=LatexCmds.bar=function(){return new Style(\"\\\\overline\",\"span\",{class:\"mq-non-leaf mq-overline\"},\"Overline\")},LatexCmds.overrightarrow=function(){return new Style(\"\\\\overrightarrow\",\"span\",{class:\"mq-non-leaf mq-overarrow mq-arrow-right\"},\"Over Right Arrow\")},LatexCmds.overleftarrow=function(){return new Style(\"\\\\overleftarrow\",\"span\",{class:\"mq-non-leaf mq-overarrow mq-arrow-left\"},\"Over Left Arrow\")},LatexCmds.overleftrightarrow=function(){return new Style(\"\\\\overleftrightarrow \",\"span\",{class:\"mq-non-leaf mq-overarrow mq-arrow-leftright\"},\"Over Left and Right Arrow\")},LatexCmds.overarc=function(){return new Style(\"\\\\overarc\",\"span\",{class:\"mq-non-leaf mq-overarc\"},\"Over Arc\")},LatexCmds.dot=function(){return new MathCommand(\"\\\\dot\",new DOMView(1,function(t){return h(\"span\",{class:\"mq-non-leaf\"},[h(\"span\",{class:\"mq-dot-recurring-inner\"},[h(\"span\",{class:\"mq-dot-recurring\"},[h.text(U_DOT_ABOVE)]),h.block(\"span\",{class:\"mq-empty-box\"},t[0])])])}))},LatexCmds.textcolor=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.setColor=function(t){this.color=t,this.domView=new DOMView(1,function(e){return h.block(\"span\",{class:\"mq-textcolor\",style:\"color:\"+t},e[0])}),this.ariaLabel=t.replace(/^\\\\/,\"\"),this.mathspeakTemplate=[\"Start \"+this.ariaLabel+\",\",\"End \"+this.ariaLabel]},e.prototype.latexRecursive=function(t){var e,n;this.checkCursorContextOpen(t),n=this.blocks[0],t.latex+=\"\\\\textcolor{\"+this.color+\"}{\",null===(e=n.latexRecursive)||void 0===e||e.call(n,t),t.latex+=\"}\",this.checkCursorContextClose(t)},e.prototype.parser=function(){var e=this,n=Parser.optWhitespace,r=Parser.string,o=Parser.regex;return n.then(r(\"{\")).then(o(/^[#\\w\\s.,()%-]*/)).skip(r(\"}\")).then(function(n){return e.setColor(n),t.prototype.parser.call(e)})},e.prototype.isStyleBlock=function(){return!0},e}(MathCommand),Class=LatexCmds.class=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.parser=function(){var e=this,n=Parser.string,r=Parser.regex;return Parser.optWhitespace.then(n(\"{\")).then(r(/^[-\\w\\s\\\\\\xA0-\\xFF]*/)).skip(n(\"}\")).then(function(n){return e.cls=n||\"\",e.domView=new DOMView(1,function(t){return h.block(\"span\",{class:\"mq-class \".concat(n)},t[0])}),e.ariaLabel=n+\" class\",e.mathspeakTemplate=[\"Start \"+e.ariaLabel+\",\",\"End \"+e.ariaLabel],t.prototype.parser.call(e)})},e.prototype.latexRecursive=function(t){var e,n;this.checkCursorContextOpen(t),n=this.blocks[0],t.latex+=\"\\\\class{\"+this.cls+\"}{\",null===(e=n.latexRecursive)||void 0===e||e.call(n,t),t.latex+=\"}\",this.checkCursorContextClose(t)},e.prototype.isStyleBlock=function(){return!0},e}(MathCommand),intRgx=/^[\\+\\-]?[\\d]+$/,Options.prototype.charsThatBreakOutOfSupSub=\"\",SupSub=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ctrlSeq=\"_{...}^{...}\",e}return __extends(e,t),e.prototype.setEnds=function(t){pray(\"SupSub ends must be MathBlocks\",t[L]instanceof MathBlock&&t[R]instanceof MathBlock),this.ends=t},e.prototype.getEnd=function(t){return this.ends[t]},e.prototype.createLeftOf=function(e){if(this.replacedFragment||e[L]||!e.options.supSubsRequireOperand)return t.prototype.createLeftOf.call(this,e)},e.prototype.contactWeld=function(t){var n,r,o,i,a,s,l;for(n=L;n;n=n===L&&R)if(r=this[n],o=void 0,r instanceof e){for(i=\"sub\";i;i=\"sub\"===i&&\"sup\")a=this[i],s=r[i],a&&(s?a.isEmpty()?o=new Point(s,0,s.getEnd(L)):(a.domFrag().children().insAtDirEnd(-n,s.domFrag().oneElement()),l=a.children().disown(),o=new Point(s,l.getEnd(R),s.getEnd(L)),n===L?l.adopt(s,s.getEnd(R),0):l.adopt(s,0,s.getEnd(L))):r.addBlock(a.disown()),this.placeCursor=function(t,e){return function(r){r.insAtDirEnd(-n,t||e)}}(s,a));this.remove(),t&&t[L]===this&&(n===R&&o?o[L]?t.insRightOf(o[L]):t.insAtLeftEnd(o.parent):t.insRightOf(r));break}},e.prototype.finalizeTree=function(){this.getEnd(L).write=function(t,e){if(t.options.autoSubscriptNumerals&&this===this.parent.sub&&\"0123456789\".indexOf(e)>=0){var n=this.chToCmd(e,t.options);return n instanceof MQSymbol?t.deleteSelection():t.clearSelection().insRightOf(this.parent),n.createLeftOf(t.show()),void t.controller.aria.queueTranslatableString(\"Baseline\").alert(n.mathspeak({createdLeftOf:t}))}t[L]&&!t[R]&&!t.selection&&t.options.charsThatBreakOutOfSupSub.indexOf(e)>-1&&(t.insRightOf(this.parent),t.controller.aria.queueTranslatableString(\"Baseline\")),MathBlock.prototype.write.call(this,t,e)}},e.prototype.moveTowards=function(e,n,r){n.options.autoSubscriptNumerals&&!this.sup?n.insDirOf(e,this):t.prototype.moveTowards.call(this,e,n,r)},e.prototype.deleteTowards=function(e,n){if(n.options.autoSubscriptNumerals&&this.sub){var r=this.sub.getEnd(-e);r instanceof MQSymbol?r.remove():r&&r.deleteTowards(e,n.insAtDirEnd(-e,this.sub)),this.sub.isEmpty()&&(this.sub.deleteOutOf(L,n.insAtLeftEnd(this.sub)),this.sup&&n.insDirOf(-e,this))}else t.prototype.deleteTowards.call(this,e,n)},e.prototype.latexRecursive=function(t){var e,n,r,o,i,a;this.checkCursorContextOpen(t),this.sub&&(t.latex+=\"_{\",i=t.latex.length,null===(n=(e=this.sub).latexRecursive)||void 0===n||n.call(e,t),a=t.latex.length,i===a&&(t.latex+=\" \"),t.latex+=\"}\"),this.sup&&(t.latex+=\"^{\",i=t.latex.length,null===(o=(r=this.sup).latexRecursive)||void 0===o||o.call(r,t),a=t.latex.length,i===a&&(t.latex+=\" \"),t.latex+=\"}\"),this.checkCursorContextClose(t)},e.prototype.text=function(){function t(t,e){var n=e&&e.text()||\"\";return e?t+(1===n.length?n:\"(\"+(n||\" \")+\")\"):\"\"}return t(\"_\",this.sub)+t(\"^\",this.sup)},e.prototype.addBlock=function(t){\"sub\"===this.supsub?(this.sup=this.upInto=this.sub.upOutOf=t,t.adopt(this,this.sub,0).downOutOf=this.sub,t.setDOM(domFrag(h(\"span\",{class:\"mq-sup\"})).append(t.domFrag().children()).prependTo(this.domFrag().oneElement()).oneElement()),NodeBase.linkElementByBlockNode(t.domFrag().oneElement(),t)):(this.sub=this.downInto=this.sup.downOutOf=t,t.adopt(this,0,this.sup).upOutOf=this.sup,this.domFrag().removeClass(\"mq-sup-only\"),t.setDOM(domFrag(h(\"span\",{class:\"mq-sub\"})).append(t.domFrag().children()).appendTo(this.domFrag().oneElement()).oneElement()),NodeBase.linkElementByBlockNode(t.domFrag().oneElement(),t),this.domFrag().append(domFrag(h(\"span\",{style:\"display:inline-block;width:0\"},[h.text(U_ZERO_WIDTH_SPACE)]))));for(var e=0;e<2;e+=1)!function(t,e,n,r){t[e].deleteOutOf=function(o,i){var a,s;i.insDirOf(this[o]?-o:o,this.parent),this.isEmpty()||(a=this.getEnd(o),this.children().disown().withDirAdopt(o,i.parent,i[o],i[-o]).domFrag().insDirOf(-o,i.domFrag()),i[-o]=a),t.supsub=n,delete t[e],delete t[\"\".concat(r,\"Into\")],s=t[n],s[\"\".concat(r,\"OutOf\")]=insLeftOfMeUnlessAtEnd,delete s.deleteOutOf,\"sub\"===e&&t.domFrag().addClass(\"mq-sup-only\").children().last().remove(),this.remove()}}(this,\"sub sup\".split(\" \")[e],\"sup sub\".split(\" \")[e],\"down up\".split(\" \")[e])},e}(MathCommand),SubscriptCommand=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.supsub=\"sub\",e.domView=new DOMView(1,function(t){return h(\"span\",{class:\"mq-supsub mq-non-leaf\"},[h.block(\"span\",{class:\"mq-sub\"},t[0]),h(\"span\",{style:\"display:inline-block;width:0\"},[h.text(U_ZERO_WIDTH_SPACE)])])}),e.textTemplate=[\"_\"],e.mathspeakTemplate=[\"Subscript,\",\", Baseline\"],e.ariaLabel=\"subscript\",e}return __extends(e,t),e.prototype.finalizeTree=function(){this.downInto=this.sub=this.getEnd(L),this.sub.upOutOf=insLeftOfMeUnlessAtEnd,t.prototype.finalizeTree.call(this)},e}(SupSub),LatexCmds.subscript=LatexCmds._=SubscriptCommand,\nLatexCmds.superscript=LatexCmds.supscript=LatexCmds[\"^\"]=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.supsub=\"sup\",e.domView=new DOMView(1,function(t){return h(\"span\",{class:\"mq-supsub mq-non-leaf mq-sup-only\"},[h.block(\"span\",{class:\"mq-sup\"},t[0])])}),e.textTemplate=[\"^(\",\")\"],e.ariaLabel=\"superscript\",e.mathspeakTemplate=[\"Superscript,\",\", Baseline\"],e}return __extends(e,t),e.prototype.mathspeak=function(e){var n,r,o;return this.mathspeakOverride?t.prototype.mathspeak.call(this):(n=this.upInto,void 0===n||(r=getCtrlSeqsFromBlock(n),e&&e.ignoreShorthand||!intRgx.test(r))?t.prototype.mathspeak.call(this):\"0\"===r?\"to the 0 power\":\"2\"===r?\"squared\":\"3\"===r?\"cubed\":(o=\"\",/^[+-]?\\d{1,3}$/.test(r)&&(/(11|12|13|4|5|6|7|8|9|0)$/.test(r)?o=\"th\":/1$/.test(r)?o=\"st\":/2$/.test(r)?o=\"nd\":/3$/.test(r)&&(o=\"rd\")),\"to the \"+(\"object\"==typeof n?n.mathspeak():r)+o+\" power\"))},e.prototype.finalizeTree=function(){this.upInto=this.sup=this.getEnd(R),this.sup.downOutOf=insLeftOfMeUnlessAtEnd,t.prototype.finalizeTree.call(this)},e}(SupSub),SummationNotation=function(t){function e(e,n,r){var o,i=t.call(this)||this;return i.ariaLabel=r||e.replace(/^\\\\/,\"\"),o=new DOMView(2,function(t){return h(\"span\",{class:\"mq-large-operator mq-non-leaf\"},[h(\"span\",{class:\"mq-to\"},[h.block(\"span\",{},t[1])]),h(\"big\",{},[h.text(n)]),h(\"span\",{class:\"mq-from\"},[h.block(\"span\",{},t[0])])])}),MQSymbol.prototype.setCtrlSeqHtmlTextAndMathspeak.call(i,e,o),i}return __extends(e,t),e.prototype.createLeftOf=function(e){t.prototype.createLeftOf.call(this,e),e.options.sumStartsWithNEquals&&(new Letter(\"n\").createLeftOf(e),(new Equality).createLeftOf(e))},e.prototype.latexRecursive=function(t){var e,n,r,o,i,a;this.checkCursorContextOpen(t),t.latex+=this.ctrlSeq+\"_{\",i=t.latex.length,null===(n=(e=this.getEnd(L)).latexRecursive)||void 0===n||n.call(e,t),a=t.latex.length,a===i&&(t.latex+=\" \"),t.latex+=\"}^{\",i=t.latex.length,null===(o=(r=this.getEnd(R)).latexRecursive)||void 0===o||o.call(r,t),a=t.latex.length,i===a&&(t.latex+=\" \"),t.latex+=\"}\",this.checkCursorContextClose(t)},e.prototype.mathspeak=function(){return this.mathspeakOverride?t.prototype.mathspeak.call(this):\"Start \"+this.ariaLabel+\" from \"+this.getEnd(L).mathspeak()+\" to \"+this.getEnd(R).mathspeak()+\", end \"+this.ariaLabel+\", \"},e.prototype.parser=function(){var t,e=Parser.string,n=Parser.optWhitespace,r=Parser.succeed,o=latexMathParser.block,i=this,a=i.blocks=[new MathBlock,new MathBlock];for(t=0;t<a.length;t+=1)a[t].adopt(i,i.getEnd(R),0);return n.then(e(\"_\").or(e(\"^\"))).then(function(t){var e=a[\"_\"===t?0:1];return o.then(function(t){return t.children().adopt(e,e.getEnd(R),0),r(i)})}).many().result(i)},e.prototype.finalizeTree=function(){var t=this.getEnd(L),e=this.getEnd(R);t.ariaLabel=\"lower bound\",e.ariaLabel=\"upper bound\",this.downInto=t,this.upInto=e,t.upOutOf=e,e.downOutOf=t},e}(MathCommand),LatexCmds[\"∑\"]=LatexCmds.sum=LatexCmds.summation=function(){return new SummationNotation(\"\\\\sum \",U_NARY_SUMMATION,\"sum\")},LatexCmds[\"∏\"]=LatexCmds.prod=LatexCmds.product=function(){return new SummationNotation(\"\\\\prod \",U_NARY_PRODUCT,\"product\")},LatexCmds.coprod=LatexCmds.coproduct=function(){return new SummationNotation(\"\\\\coprod \",U_NARY_COPRODUCT,\"co product\")},LatexCmds[\"∫\"]=LatexCmds.int=LatexCmds.integral=function(t){function e(){var e=t.call(this,\"\\\\int \",\"\",\"integral\")||this;return e.ariaLabel=\"integral\",e.domView=new DOMView(2,function(t){return h(\"span\",{class:\"mq-int mq-non-leaf\"},[h(\"big\",{},[h.text(U_INTEGRAL)]),h(\"span\",{class:\"mq-supsub mq-non-leaf\"},[h(\"span\",{class:\"mq-sup\"},[h.block(\"span\",{class:\"mq-sup-inner\"},t[1])]),h.block(\"span\",{class:\"mq-sub\"},t[0]),h(\"span\",{style:\"display:inline-block;width:0\"},[h.text(U_ZERO_WIDTH_SPACE)])])])}),e}return __extends(e,t),e.prototype.createLeftOf=function(t){MathCommand.prototype.createLeftOf.call(this,t)},e}(SummationNotation),Fraction=LatexCmds.frac=LatexCmds.dfrac=LatexCmds.cfrac=LatexCmds.fraction=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ctrlSeq=\"\\\\frac\",e.domView=new DOMView(2,function(t){return h(\"span\",{class:\"mq-fraction mq-non-leaf\"},[h.block(\"span\",{class:\"mq-numerator\"},t[0]),h.block(\"span\",{class:\"mq-denominator\"},t[1]),h(\"span\",{style:\"display:inline-block;width:0\"},[h.text(U_ZERO_WIDTH_SPACE)])])}),e.textTemplate=[\"(\",\")/(\",\")\"],e}return __extends(e,t),e.prototype.finalizeTree=function(){var t=this.getEnd(L),e=this.getEnd(R);this.upInto=e.upOutOf=t,this.downInto=t.downOutOf=e,t.ariaLabel=\"numerator\",e.ariaLabel=\"denominator\",this.getFracDepth()>1?this.mathspeakTemplate=[\"StartNestedFraction,\",\"NestedOver\",\", EndNestedFraction\"]:this.mathspeakTemplate=[\"StartFraction,\",\"Over\",\", EndFraction\"]},e.prototype.mathspeak=function(e){var n,r,o,i,a,s,l,c;if(e&&e.createdLeftOf)return n=e.createdLeftOf,n.parent.mathspeak();if(this.mathspeakOverride)return t.prototype.mathspeak.call(this);if(r=getCtrlSeqsFromBlock(this.getEnd(L)),o=getCtrlSeqsFromBlock(this.getEnd(R)),(!e||!e.ignoreShorthand)&&intRgx.test(r)&&intRgx.test(o)&&(i=\"1\"===r||\"-1\"===r,a=\"\",\"2\"===o?a=i?\"half\":\"halves\":\"3\"===o?a=i?\"third\":\"thirds\":\"4\"===o?a=i?\"quarter\":\"quarters\":\"5\"===o?a=i?\"fifth\":\"fifths\":\"6\"===o?a=i?\"sixth\":\"sixths\":\"7\"===o?a=i?\"seventh\":\"sevenths\":\"8\"===o?a=i?\"eighth\":\"eighths\":\"9\"===o&&(a=i?\"ninth\":\"ninths\"),\"\"!==a)){for(s=\"\",l=!1,c=this[L];c&&void 0!==c[L];c=c[L])if(\"\\\\ \"!==c.ctrlSeq){if(!intRgx.test(c.ctrlSeq||\"\")){l=!1;break}l=!0}return l&&(s+=\"and \"),s+=this.getEnd(L).mathspeak()+\" \"+a}return t.prototype.mathspeak.call(this)},e.prototype.getFracDepth=function(){var t=function(e,n){return e instanceof MQNode&&e.ctrlSeq&&e.ctrlSeq.toLowerCase().search(\"frac\")>=0&&(n+=1),e&&e.parent?t(e.parent,n):n};return t(this,0)},e}(MathCommand),LiveFraction=LatexCmds.over=CharCmds[\"/\"]=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.createLeftOf=function(e){var n,r,o;if(!this.replacedFragment){if(n=e[L],!e.options.typingSlashCreatesNewFraction)for(;n&&!(n instanceof BinaryOperator||n instanceof(LatexCmds.text||noop)||n instanceof SummationNotation||\"\\\\ \"===n.ctrlSeq||/^[,;:]$/.test(n.ctrlSeq));)n=n[L];n instanceof SummationNotation&&n[R]instanceof SupSub&&(n=n[R],(r=n[R])instanceof SupSub&&r.ctrlSeq!=n.ctrlSeq&&(n=n[R])),n===e[L]||e.isTooDeep(1)||(r=n[R],o=e[L],this.replaces(new Fragment(r||e.parent.getEnd(L),o)),e[L]=n)}t.prototype.createLeftOf.call(this,e)},e}(Fraction),AnsBuilder=function(){return new MQSymbol(\"\\\\operatorname{ans}\",h(\"span\",{class:\"mq-ans\"},[h.text(\"ans\")]),\"ans\")},LatexCmds.ans=AnsBuilder,PercentOfBuilder=function(){return new MQSymbol(\"\\\\%\\\\operatorname{of}\",h(\"span\",{class:\"mq-nonSymbola mq-operator-name\"},[h.text(\"% of \")]),\"percent of\")},LatexCmds.percent=LatexCmds.percentof=PercentOfBuilder,Token=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.tokenId=\"\",e.ctrlSeq=\"\\\\token\",e.textTemplate=[\"token(\",\")\"],e.mathspeakTemplate=[\"StartToken,\",\", EndToken\"],e.ariaLabel=\"token\",e}return __extends(e,t),e.prototype.html=function(){var t=h(\"span\",{class:\"mq-token mq-ignore-mousedown\",\"data-mq-token\":this.tokenId});return this.setDOM(t),NodeBase.linkElementByCmdNode(t,this),t},e.prototype.latexRecursive=function(t){this.checkCursorContextOpen(t),t.latex+=\"\\\\token{\"+this.tokenId+\"}\",this.checkCursorContextClose(t)},e.prototype.mathspeak=function(){if(this.mathspeakOverride)return t.prototype.mathspeak.call(this);var e=[];return this.domFrag().children().eachElement(function(t){var n=t.getAttribute(\"aria-label\");\"string\"==typeof n&&\"\"!==n&&e.push(n)}),e.length>0?e.join(\" \").trim():\"token \"+this.tokenId},e.prototype.parser=function(){var t=this;return latexMathParser.block.map(function(e){var n=e.getEnd(L);if(n)for(t.tokenId+=n.ctrlSeq;n=n[R];)t.tokenId+=n.ctrlSeq;return t})},e}(MQSymbol),LatexCmds.token=Token,SquareRoot=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ctrlSeq=\"\\\\sqrt\",e.domView=new DOMView(1,function(t){return h(\"span\",{class:\"mq-non-leaf mq-sqrt-container\"},[h(\"span\",{class:\"mq-scaled mq-sqrt-prefix\"},[SVG_SYMBOLS.sqrt.html()]),h.block(\"span\",{class:\"mq-non-leaf mq-sqrt-stem\"},t[0])])}),e.textTemplate=[\"sqrt(\",\")\"],e.mathspeakTemplate=[\"StartRoot,\",\", EndRoot\"],e.ariaLabel=\"root\",e}return __extends(e,t),e.prototype.parser=function(){return latexMathParser.optBlock.then(function(t){return latexMathParser.block.map(function(e){var n=new NthRoot;return n.blocks=[t,e],t.adopt(n,0,0),e.adopt(n,t,0),n})}).or(t.prototype.parser.call(this))},e}(MathCommand),LatexCmds.sqrt=SquareRoot,LatexCmds.hat=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ctrlSeq=\"\\\\hat\",e.domView=new DOMView(1,function(t){return h(\"span\",{class:\"mq-non-leaf\"},[h(\"span\",{class:\"mq-hat-prefix\"},[h.text(\"^\")]),h.block(\"span\",{class:\"mq-hat-stem\"},t[0])])}),e.textTemplate=[\"hat(\",\")\"],e}return __extends(e,t),e}(MathCommand),NthRoot=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.domView=new DOMView(2,function(t){return h(\"span\",{class:\"mq-nthroot-container mq-non-leaf\"},[h.block(\"sup\",{class:\"mq-nthroot mq-non-leaf\"},t[0]),h(\"span\",{class:\"mq-scaled mq-sqrt-container\"},[h(\"span\",{class:\"mq-sqrt-prefix mq-scaled\"},[SVG_SYMBOLS.sqrt.html()]),h.block(\"span\",{class:\"mq-sqrt-stem mq-non-leaf\"},t[1])])])}),e.textTemplate=[\"sqrt[\",\"](\",\")\"],e}return __extends(e,t),e.prototype.latexRecursive=function(t){var e,n,r,o;this.checkCursorContextOpen(t),t.latex+=\"\\\\sqrt[\",null===(n=(e=this.getEnd(L)).latexRecursive)||void 0===n||n.call(e,t),t.latex+=\"]{\",null===(o=(r=this.getEnd(R)).latexRecursive)||void 0===o||o.call(r,t),t.latex+=\"}\",this.checkCursorContextClose(t)},e.prototype.mathspeak=function(){var e,n;return this.mathspeakOverride?t.prototype.mathspeak.call(this):(e=this.getEnd(L).mathspeak(),n=this.getEnd(R).mathspeak(),this.getEnd(L).ariaLabel=\"Index\",this.getEnd(R).ariaLabel=\"Radicand\",\"3\"===e?\"Start Cube Root, \"+n+\", End Cube Root\":\"Root Index \"+e+\", Start Root, \"+n+\", End Root\")},e}(SquareRoot),LatexCmds.nthroot=NthRoot,LatexCmds.cbrt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.createLeftOf=function(e){t.prototype.createLeftOf.call(this,e),new Digit(\"3\").createLeftOf(e),e.controller.moveRight()},e}(NthRoot),DiacriticAbove=function(t){function e(e,n,r){var o=new DOMView(1,function(t){return h(\"span\",{class:\"mq-non-leaf\"},[h(\"span\",{class:\"mq-diacritic-above\"},[n]),h.block(\"span\",{class:\"mq-diacritic-stem\"},t[0])])});return t.call(this,e,o,r)||this}return __extends(e,t),e}(MathCommand),LatexCmds.vec=function(){return new DiacriticAbove(\"\\\\vec\",h.entityText(\"→\"),[\"vec(\",\")\"])},LatexCmds.tilde=function(){return new DiacriticAbove(\"\\\\tilde\",h.text(\"~\"),[\"tilde(\",\")\"])},DelimsNode=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.setDOM=function(e){var n,r;return t.prototype.setDOM.call(this,e),r=this.domFrag().children(),r.isEmpty()||(this.delimFrags=(n={},n[L]=r.first(),n[R]=r.last(),n)),this},e}(MathCommand),Bracket=function(t){function e(e,n,r,o,i){var a,s=t.call(this,\"\\\\left\"+o,void 0,[n,r])||this;return s.side=e,s.sides=(a={},a[L]={ch:n,ctrlSeq:o},a[R]={ch:r,ctrlSeq:i},a),s}return __extends(e,t),e.prototype.numBlocks=function(){return 1},e.prototype.html=function(){var e=this,n=this.getSymbol(L),r=this.getSymbol(R);return this.domView=new DOMView(1,function(t){return h(\"span\",{class:\"mq-non-leaf mq-bracket-container\"},[h(\"span\",{style:\"width:\"+n.width,class:\"mq-scaled mq-bracket-l mq-paren\"+(e.side===R?\" mq-ghost\":\"\")},[n.html()]),h.block(\"span\",{style:\"margin-left:\"+n.width+\";margin-right:\"+r.width,class:\"mq-bracket-middle mq-non-leaf\"},t[0]),h(\"span\",{style:\"width:\"+r.width,class:\"mq-scaled mq-bracket-r mq-paren\"+(e.side===L?\" mq-ghost\":\"\")},[r.html()])])}),t.prototype.html.call(this)},e.prototype.getSymbol=function(t){var e=this.sides[t||R].ch;return SVG_SYMBOLS[e]||{width:\"0\",html:\"\"}},e.prototype.latexRecursive=function(t){var e,n;this.checkCursorContextOpen(t),t.latex+=\"\\\\left\"+this.sides[L].ctrlSeq,null===(n=(e=this.getEnd(L)).latexRecursive)||void 0===n||n.call(e,t),t.latex+=\"\\\\right\"+this.sides[R].ctrlSeq,this.checkCursorContextClose(t)},e.prototype.mathspeak=function(e){var n,r,o;if(this.mathspeakOverride)return(null===e||void 0===e?void 0:e.createdLeftOf)?this.mathspeakOverride(this.sides[this.side].ch):t.prototype.mathspeak.call(this);if(n=this.sides[L].ch,r=this.sides[R].ch,\"|\"===n&&\"|\"===r)this.mathspeakTemplate=[\"StartAbsoluteValue,\",\", EndAbsoluteValue\"],this.ariaLabel=\"absolute value\";else{if(e&&e.createdLeftOf&&this.side)return o=\"\",this.side===L?o=this.textTemplate[0]:this.side===R&&(o=this.textTemplate[1]),(this.side===L?\"left \":\"right \")+BRACKET_NAMES[o];this.mathspeakTemplate=[\"left \"+BRACKET_NAMES[n]+\",\",\", right \"+BRACKET_NAMES[r]],this.ariaLabel=BRACKET_NAMES[n]+\" block\"}return t.prototype.mathspeak.call(this)},e.prototype.matchBrack=function(t,n,r){return r instanceof e&&r.side&&r.side!==-n&&(!t.restrictMismatchedBrackets||OPP_BRACKS[this.sides[this.side].ch]===r.sides[r.side].ch||{\"(\":\"]\",\"[\":\")\"}[this.sides[L].ch]===r.sides[R].ch)&&r},e.prototype.closeOpposing=function(t){t.side=0,t.sides[this.side]=this.sides[this.side];var e=t.delimFrags[this.side===L?L:R].removeClass(\"mq-ghost\");this.replaceBracket(e,this.side)},e.prototype.createLeftOf=function(e){var n,r,o;this.replacedFragment||(r=e.options,n=\"|\"===this.sides[L].ch?this.matchBrack(r,R,e[R])||this.matchBrack(r,L,e[L])||this.matchBrack(r,0,e.parent.parent):this.matchBrack(r,-this.side,e[-this.side])||this.matchBrack(r,-this.side,e.parent.parent)),n?(o=this.side=-n.side,this.closeOpposing(n),n===e.parent.parent&&e[o]&&new Fragment(e[o],e.parent.getEnd(o),-o).disown().withDirAdopt(-o,n.parent,n,n[o]).domFrag().insDirOf(o,n.domFrag()),n.bubble(function(t){t.reflow()})):(n=this,o=n.side,n.replacedFragment?n.side=0:e[-o]&&(n.replaces(new Fragment(e[-o],e.parent.getEnd(-o),o)),e[-o]=0),t.prototype.createLeftOf.call(this,e)),o===L?e.insAtLeftEnd(n.getEnd(L)):e.insRightOf(n)},e.prototype.placeCursor=function(){},e.prototype.unwrap=function(){this.getEnd(L).children().disown().adopt(this.parent,this,this[R]).domFrag().insertAfter(this.domFrag()),this.remove()},e.prototype.deleteSide=function(t,e,n){var r,o,i,a,s,l=this.parent,c=this[t],u=l.getEnd(t);if(t===this.side)return this.unwrap(),void(c?n.insDirOf(-t,c):n.insAtDirEnd(t,l));if(r=n.options,o=!this.side,this.side=-t,this.matchBrack(r,t,this.getEnd(L).getEnd(this.side)))this.closeOpposing(this.getEnd(L).getEnd(this.side)),i=this.getEnd(L).getEnd(t),this.unwrap(),i&&i.siblingCreated(n.options,t),c?n.insDirOf(-t,c):n.insAtDirEnd(t,l);else{if(this.matchBrack(r,t,this.parent.parent))this.parent.parent.closeOpposing(this),this.parent.parent.unwrap();else{if(e&&o)return this.unwrap(),void(c?n.insDirOf(-t,c):n.insAtDirEnd(t,l));this.sides[t]=getOppBracketSide(this),this.delimFrags[L].removeClass(\"mq-ghost\"),this.delimFrags[R].removeClass(\"mq-ghost\"),a=this.delimFrags[t].addClass(\"mq-ghost\"),this.replaceBracket(a,t)}c?(s=this.getEnd(L),i=s.getEnd(t),s.domFrag().removeClass(\"mq-empty\"),new Fragment(c,u,-t).disown().withDirAdopt(-t,s,i,0).domFrag().insAtDirEnd(t,s.domFrag().oneElement()),i&&i.siblingCreated(n.options,t),n.insDirOf(-t,c)):e?n.insDirOf(t,this):n.insAtDirEnd(t,this.getEnd(L))}},e.prototype.replaceBracket=function(t,e){var n,r,o=this.getSymbol(e);t.children().replaceWith(domFrag(o.html())),t.oneElement().style.width=o.width,e===L?(n=t.next(),n.isEmpty()||(n.oneElement().style.marginLeft=o.width)):(r=t.prev(),r.isEmpty()||(r.oneElement().style.marginRight=o.width))},e.prototype.deleteTowards=function(t,e){this.deleteSide(-t,!1,e)},e.prototype.finalizeTree=function(){this.getEnd(L).deleteOutOf=function(t,e){this.parent.deleteSide(t,!0,e)},this.finalizeTree=this.intentionalBlur=function(){this.delimFrags[this.side===L?R:L].removeClass(\"mq-ghost\"),this.side=0}},e.prototype.siblingCreated=function(t,e){e===-this.side&&this.finalizeTree()},e}(DelimsNode),OPP_BRACKS={\"(\":\")\",\")\":\"(\",\"[\":\"]\",\"]\":\"[\",\"{\":\"}\",\"}\":\"{\",\"\\\\{\":\"\\\\}\",\"\\\\}\":\"\\\\{\",\"⟨\":\"⟩\",\"⟩\":\"⟨\",\"\\\\langle \":\"\\\\rangle \",\"\\\\rangle \":\"\\\\langle \",\"|\":\"|\",\"\\\\lVert \":\"\\\\rVert \",\"\\\\rVert \":\"\\\\lVert \"},BRACKET_NAMES={\"⟨\":\"angle-bracket\",\"⟩\":\"angle-bracket\",\"|\":\"pipe\"},bindCharBracketPair(\"(\",\"\",\"parenthesis\"),bindCharBracketPair(\"[\",\"\",\"bracket\"),bindCharBracketPair(\"{\",\"\\\\{\",\"brace\"),LatexCmds.langle=function(){return new Bracket(L,\"⟨\",\"⟩\",\"\\\\langle \",\"\\\\rangle \")},LatexCmds.rangle=function(){return new Bracket(R,\"⟨\",\"⟩\",\"\\\\langle \",\"\\\\rangle \")},CharCmds[\"|\"]=function(){return new Bracket(L,\"|\",\"|\",\"|\",\"|\")},LatexCmds.lVert=function(){return new Bracket(L,\"∥\",\"∥\",\"\\\\lVert \",\"\\\\rVert \")},LatexCmds.rVert=function(){return new Bracket(R,\"∥\",\"∥\",\"\\\\lVert \",\"\\\\rVert \")},LatexCmds.left=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.parser=function(){var t=Parser.regex,e=Parser.string,n=Parser.optWhitespace;return n.then(t(/^(?:[([|]|\\\\\\{|\\\\langle(?![a-zA-Z])|\\\\lVert(?![a-zA-Z]))/)).then(function(r){var o=r.replace(/^\\\\/,\"\");return\"\\\\langle\"==r&&(o=\"⟨\",r+=\" \"),\"\\\\lVert\"==r&&(o=\"∥\",r+=\" \"),latexMathParser.then(function(i){return e(\"\\\\right\").skip(n).then(t(/^(?:[\\])|]|\\\\\\}|\\\\rangle(?![a-zA-Z])|\\\\rVert(?![a-zA-Z]))/)).map(function(t){var e,n=t.replace(/^\\\\/,\"\");return\"\\\\rangle\"==t&&(n=\"⟩\",t+=\" \"),\"\\\\rVert\"==t&&(n=\"∥\",t+=\" \"),e=new Bracket(0,o,n,r,t),e.blocks=[i],i.adopt(e,0,0),e})})})},e}(MathCommand),LatexCmds.right=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.parser=function(){return Parser.fail(\"unmatched \\\\right\")},e}(MathCommand),leftBinomialSymbol=SVG_SYMBOLS[\"(\"],rightBinomialSymbol=SVG_SYMBOLS[\")\"],Binomial=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ctrlSeq=\"\\\\binom\",e.domView=new DOMView(2,function(t){return h(\"span\",{class:\"mq-non-leaf mq-bracket-container\"},[h(\"span\",{style:\"width:\"+leftBinomialSymbol.width,class:\"mq-paren mq-bracket-l mq-scaled\"},[leftBinomialSymbol.html()]),h(\"span\",{style:\"margin-left:\"+leftBinomialSymbol.width+\"; margin-right:\"+rightBinomialSymbol.width,class:\"mq-non-leaf mq-bracket-middle\"},[h(\"span\",{class:\"mq-array mq-non-leaf\"},[h.block(\"span\",{},t[0]),h.block(\"span\",{},t[1])])]),h(\"span\",{style:\"width:\"+rightBinomialSymbol.width,class:\"mq-paren mq-bracket-r mq-scaled\"},[rightBinomialSymbol.html()])])}),e.textTemplate=[\"choose(\",\",\",\")\"],e.mathspeakTemplate=[\"StartBinomial,\",\"Choose\",\", EndBinomial\"],e.ariaLabel=\"binomial\",e}return __extends(e,t),e}(DelimsNode),LatexCmds.binom=LatexCmds.binomial=Binomial,LatexCmds.choose=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.createLeftOf=function(t){LiveFraction.prototype.createLeftOf(t)},e}(Binomial),MathFieldNode=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ctrlSeq=\"\\\\MathQuillMathField\",e.domView=new DOMView(1,function(t){return h(\"span\",{class:\"mq-editable-field\"},[h.block(\"span\",{class:\"mq-root-block\",\"aria-hidden\":\"true\"},t[0])])}),e}return __extends(e,t),e.prototype.parser=function(){var e=this,n=Parser.string,r=Parser.regex,o=Parser.succeed;return n(\"[\").then(r(/^[a-z][a-z0-9]*/i)).skip(n(\"]\")).map(function(t){e.name=t}).or(o(void 0)).then(t.prototype.parser.call(this))},e.prototype.finalizeTree=function(t){function e(t){if(t.parentNode&&!domFrag(t).hasClass(\"mq-root-block\")&&e(t.parentNode),t.nodeType===Node.ELEMENT_NODE){var n=t;\"true\"===n.getAttribute(\"aria-hidden\")&&(n.removeAttribute(\"aria-hidden\"),domFrag(t).children().eachElement(function(t){t.setAttribute(\"aria-hidden\",\"true\")}))}}var n=new Controller(this.getEnd(L),this.domFrag().oneElement(),t);n.KIND_OF_MQ=\"MathField\",n.editable=!0,n.createTextarea(),n.editablesTextareaEvents(),n.cursor.insAtRightEnd(n.root),RootBlockMixin(n.root),e(this.domFrag().parent().oneElement()),this.domFrag().oneElement().removeAttribute(\"aria-hidden\")},e.prototype.registerInnerField=function(t,e){var n=this.getEnd(L).controller,r=new e(n);t[this.name]=r,t.push(r)},e.prototype.latexRecursive=function(t){var e,n;this.checkCursorContextOpen(t),null===(n=(e=this.getEnd(L)).latexRecursive)||void 0===n||n.call(e,t),this.checkCursorContextClose(t)},e.prototype.text=function(){return this.getEnd(L).text()},e}(MathCommand),LatexCmds.editable=LatexCmds.MathQuillMathField=MathFieldNode,EmbedNode=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.setOptions=function(t){function e(){return\"\"}return this.text=t.text||e,this.domView=new DOMView(0,function(){return h(\"span\",{},[parseHTML(t.htmlString||\"\")])}),this.latex=t.latex||e,this},e.prototype.latexRecursive=function(t){this.checkCursorContextOpen(t),t.latex+=this.latex(),this.checkCursorContextClose(t)},e.prototype.parser=function(){var t=this,e=Parser.string,n=Parser.regex,r=Parser.succeed;return e(\"{\").then(n(/^[a-z][a-z0-9]*/i)).skip(e(\"}\")).then(function(o){return e(\"[\").then(n(/^[-\\w\\s]*/)).skip(e(\"]\")).or(r(void 0)).map(function(e){return t.setOptions(EMBEDS[o](e))})})},e}(MQSymbol),LatexCmds.embed=EmbedNode,TextBlock=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ctrlSeq=\"\\\\text\",e.ariaLabel=\"Text\",e.mathspeakTemplate=[\"StartText\",\"EndText\"],e}return __extends(e,t),e.prototype.replaces=function(t){t instanceof Fragment?this.replacedText=t.remove().domFrag().text():\"string\"==typeof t&&(this.replacedText=t)},e.prototype.setDOMFrag=function(e){var n,r;return t.prototype.setDOM.call(this,e),n=this.getEnd(L),n&&(r=this.domFrag().children(),r.isEmpty()||n.setDOM(r.oneText())),this},e.prototype.createLeftOf=function(e){var n,r,o,i=this;if(t.prototype.createLeftOf.call(this,e),e.insAtRightEnd(i),i.replacedText)for(n=0;n<i.replacedText.length;n+=1)i.write(e,i.replacedText.charAt(n));r=i[R],r&&r.siblingCreated(e.options,L),o=i[L],o&&o.siblingCreated(e.options,R),i.bubble(function(t){t.reflow()})},e.prototype.parser=function(){var t=this,e=Parser.string,n=Parser.regex;return Parser.optWhitespace.then(e(\"{\")).then(n(/^[^}]*/)).skip(e(\"}\")).map(function(e){return 0===e.length?new Fragment(0,0):(new TextPiece(e).adopt(t,0,0),t)})},e.prototype.textContents=function(){return this.foldChildren(\"\",function(t,e){return t+e.textStr})},e.prototype.text=function(){return'\"'+this.textContents()+'\"'},e.prototype.latexRecursive=function(t){this.checkCursorContextOpen(t);var e=this.textContents();e.length>0&&(t.latex+=this.ctrlSeq+\"{\",t.latex+=e.replace(/\\\\/g,\"\\\\backslash \").replace(/[{}]/g,\"\\\\$&\"),t.latex+=\"}\"),this.checkCursorContextClose(t)},e.prototype.html=function(){var t=h(\"span\",{class:\"mq-text-mode\"},[h.text(this.textContents())]);return this.setDOM(t),NodeBase.linkElementByCmdNode(t,this),t},e.prototype.mathspeak=function(e){return e&&e.ignoreShorthand?this.mathspeakOverride?t.prototype.mathspeak.call(this):this.mathspeakTemplate[0]+\", \"+this.textContents()+\", \"+this.mathspeakTemplate[1]:this.textContents()},e.prototype.isTextBlock=function(){return!0},e.prototype.moveTowards=function(t,e){e.insAtDirEnd(-t,this),e.controller.aria.queueDirEndOf(-t,e.parent,!0)},e.prototype.moveOutOf=function(t,e){e.insDirOf(t,this),e.controller.aria.queueDirOf(t,this)},e.prototype.unselectInto=function(t,e){this.moveTowards(t,e)},e.prototype.selectTowards=function(t,e){MathCommand.prototype.selectTowards.call(this,t,e)},e.prototype.deleteTowards=function(t,e){MathCommand.prototype.deleteTowards.call(this,t,e)},e.prototype.selectOutOf=function(t,e){e.insDirOf(t,this)},e.prototype.deleteOutOf=function(t,e){this.isEmpty()&&e.insRightOf(this)},e.prototype.write=function(n,r){var o,i,a;n.show().deleteSelection(),\"$\"!==r?(o=n[L],o?o instanceof TextPiece&&o.appendText(r):new TextPiece(r).createLeftOf(n)):this.isEmpty()?(n.insRightOf(this),new VanillaSymbol(\"\\\\$\",h.text(\"$\")).createLeftOf(n)):n[R]?n[L]?(i=new e,a=this.getEnd(L),a&&(a.disown().domFrag().detach(),a.adopt(i,0,0)),n.insLeftOf(this),t.prototype.createLeftOf.call(i,n)):n.insLeftOf(this):n.insRightOf(this),this.bubble(function(t){t.reflow()}),n.controller.aria.alert(r)},e.prototype.writeLatex=function(t,e){var n=t[L];n?n instanceof TextPiece&&n.appendText(e):new TextPiece(e).createLeftOf(t),this.bubble(function(t){t.reflow()})},e.prototype.seek=function(t,e){var n,r,o,i,a,s,l,c,u,p,d,h,m,f,y,g;if(e.hide(),n=TextBlockFuseChildren(this)){for(r=this.domFrag().children().oneText(),o=document.createRange(),o.selectNodeContents(r),i=o.getClientRects(),1===i.length?(a=i[0],s=a.width,l=a.left,c=s/this.textContents().length,u=Math.round((t-l)/c),u<=0?e.insAtLeftEnd(this):u>=n.textStr.length?e.insAtRightEnd(this):e.insLeftOf(n.splitRight(u))):e.insAtLeftEnd(this),p=t-e.show().getBoundingClientRectWithoutMargin().left,d=p&&p<0?L:R,h=d;e[d]&&p*h>0;)e[d].moveTowards(d,e),h=p,p=t-e.getBoundingClientRectWithoutMargin().left;d*p<-d*h&&e[-d].moveTowards(-d,e),e.anticursor?e.anticursor.parent===this&&(m=e[L],f=m&&m.textStr.length,this.anticursorPosition===f?e.anticursor=Anticursor.fromCursor(e):(this.anticursorPosition<f?(y=m.splitRight(this.anticursorPosition),e[L]=y):(g=e[R],y=g.splitRight(this.anticursorPosition-f)),e.anticursor=new Anticursor(this,y[L],y))):(m=e[L],this.anticursorPosition=m&&m.textStr.length)}},e.prototype.blur=function(t){MathBlock.prototype.blur.call(this,t),t&&(\"\"===this.textContents()?(this.remove(),t[L]===this?t[L]=this[L]:t[R]===this&&(t[R]=this[R])):TextBlockFuseChildren(this))},e.prototype.focus=function(){MathBlock.prototype.focus.call(this)},e}(MQNode),TextPiece=function(t){function e(e){var n=t.call(this)||this;return n.textStr=e,n}return __extends(e,t),e.prototype.html=function(){var t=h.text(this.textStr);return this.setDOM(t),t},e.prototype.appendText=function(t){this.textStr+=t,this.domFrag().oneText().appendData(t)},e.prototype.prependText=function(t){this.textStr=t+this.textStr,this.domFrag().oneText().insertData(0,t)},e.prototype.insTextAtDirEnd=function(t,e){prayDirection(e),e===R?this.appendText(t):this.prependText(t)},e.prototype.splitRight=function(t){var n=new e(this.textStr.slice(t)).adopt(this.parent,this,this[R]);return n.setDOM(this.domFrag().oneText().splitText(t)),this.textStr=this.textStr.slice(0,t),n},e.prototype.endChar=function(t,e){return e.charAt(t===L?0:-1+e.length)},e.prototype.moveTowards=function(t,n){var r,o;return prayDirection(t),r=this.endChar(-t,this.textStr),o=this[-t],o instanceof e?o.insTextAtDirEnd(r,t):new e(r).createDir(-t,n),this.deleteTowards(t,n)},e.prototype.mathspeak=function(){return this.textStr},e.prototype.latexRecursive=function(t){this.checkCursorContextOpen(t),t.latex+=this.textStr,this.checkCursorContextClose(t)},e.prototype.deleteTowards=function(t,e){if(this.textStr.length>1){var n;t===R?(this.domFrag().oneText().deleteData(0,1),n=this.textStr[0],this.textStr=this.textStr.slice(1)):(this.domFrag().oneText().deleteData(-1+this.textStr.length,1),n=this.textStr[this.textStr.length-1],this.textStr=this.textStr.slice(0,-1)),e.controller.aria.queue(n)}else this.remove(),e[t]=this[t],e.controller.aria.queue(this.textStr)},e.prototype.selectTowards=function(t,n){var r,o,i,a,s;if(prayDirection(t),r=n.anticursor)return o=this.endChar(-t,this.textStr),r[t]===this?(i=new e(o).createDir(t,n),r[t]=i,n.insDirOf(t,i)):(a=this[-t],a instanceof e?a.insTextAtDirEnd(o,t):(i=new e(o).createDir(-t,n),(s=n.selection)&&i.domFrag().insDirOf(-t,s.domFrag())),1===this.textStr.length&&r[-t]===this&&(r[-t]=this[-t])),this.deleteTowards(t,n)},e}(MQNode),LatexCmds.text=LatexCmds.textnormal=LatexCmds.textrm=LatexCmds.textup=LatexCmds.textmd=TextBlock,LatexCmds.em=LatexCmds.italic=LatexCmds.italics=LatexCmds.emph=LatexCmds.textit=LatexCmds.textsl=makeTextBlock(\"\\\\textit\",\"Italic\",\"i\",{class:\"mq-text-mode\"}),LatexCmds.strong=LatexCmds.bold=LatexCmds.textbf=makeTextBlock(\"\\\\textbf\",\"Bold\",\"b\",{class:\"mq-text-mode\"}),LatexCmds.sf=LatexCmds.textsf=makeTextBlock(\"\\\\textsf\",\"Sans serif font\",\"span\",{class:\"mq-sans-serif mq-text-mode\"}),LatexCmds.tt=LatexCmds.texttt=makeTextBlock(\"\\\\texttt\",\"Mono space font\",\"span\",{class:\"mq-monospace mq-text-mode\"}),LatexCmds.textsc=makeTextBlock(\"\\\\textsc\",\"Variable font\",\"span\",{style:\"font-variant:small-caps\",class:\"mq-text-mode\"}),LatexCmds.uppercase=makeTextBlock(\"\\\\uppercase\",\"Uppercase\",\"span\",{style:\"text-transform:uppercase\",class:\"mq-text-mode\"}),LatexCmds.lowercase=makeTextBlock(\"\\\\lowercase\",\"Lowercase\",\"span\",{style:\"text-transform:lowercase\",class:\"mq-text-mode\"}),RootMathCommand=function(t){function e(e){var n=t.call(this,\"$\")||this;return n.domView=new DOMView(1,function(t){return h.block(\"span\",{class:\"mq-math-mode\"},t[0])}),n.cursor=e,n}return __extends(e,t),e.prototype.createBlocks=function(){t.prototype.createBlocks.call(this);var e=this.getEnd(L);e.cursor=this.cursor,e.write=function(t,e){\"$\"!==e?MathBlock.prototype.write.call(this,t,e):this.isEmpty()?(t.insRightOf(this.parent),this.parent.deleteTowards(void 0,t),new VanillaSymbol(\"\\\\$\",h.text(\"$\")).createLeftOf(t.show())):t[R]?t[L]?MathBlock.prototype.write.call(this,t,e):t.insLeftOf(this.parent):t.insRightOf(this.parent)}},e.prototype.latexRecursive=function(t){var e,n;this.checkCursorContextOpen(t),t.latex+=\"$\",null===(n=(e=this.getEnd(L)).latexRecursive)||void 0===n||n.call(e,t),t.latex+=\"$\",this.checkCursorContextClose(t)},e}(MathCommand),RootTextBlock=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.keystroke=function(e,n,r){if(\"Spacebar\"!==e&&\"Shift-Spacebar\"!==e)return t.prototype.keystroke.call(this,e,n,r)},e.prototype.write=function(t,e){if(t.show().deleteSelection(),\"$\"===e)new RootMathCommand(t).createLeftOf(t);else{var n;\"<\"===e?n=h.entityText(\"<\"):\">\"===e&&(n=h.entityText(\">\")),new VanillaSymbol(e,n).createLeftOf(t)}},e}(RootMathBlock),API.TextField=function(t){var e;return e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.__mathquillify=function(){return t.prototype.mathquillify.call(this,\"mq-editable-field mq-text-mode\"),this},e.prototype.latex=function(t){if(t){this.__controller.renderLatexText(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur();return this}return this.__controller.exportLatex()},e}(t.EditableField),e.RootBlock=RootTextBlock,e},CharCmds[\"\\\\\"]=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ctrlSeq=\"\\\\\",e.domView=new DOMView(1,function(t){return h(\"span\",{class:\"mq-latex-command-input-wrapper mq-non-leaf\"},[h(\"span\",{class:\"mq-latex-command-input mq-non-leaf\"},[h.text(\"\\\\\"),h.block(\"span\",{},t[0])])])}),e.textTemplate=[\"\\\\\"],e}return __extends(e,t),e.prototype.replaces=function(t){this._replacedFragment=t.disown(),this.isEmpty=function(){return!1}},e.prototype.createBlocks=function(){var e,n;t.prototype.createBlocks.call(this),e=this.getEnd(L),e.focus=function(){return this.parent.domFrag().addClass(\"mq-hasCursor\"),this.isEmpty()&&this.parent.domFrag().removeClass(\"mq-empty\"),this},e.blur=function(){return this.parent.domFrag().removeClass(\"mq-hasCursor\"),this.isEmpty()&&this.parent.domFrag().addClass(\"mq-empty\"),this},e.write=function(t,e){if(t.show().deleteSelection(),e.match(/[a-z]/i))new VanillaSymbol(e).createLeftOf(t),t.controller.aria.alert(e);else{var n=this.parent.renderCommand(t);t.controller.aria.queue(n.mathspeak({createdLeftOf:t})),\"\\\\\"===e&&this.isEmpty()?t.controller.aria.alert():t.parent.write(t,e)}},n=e.keystroke,e.keystroke=function(t,e,r){if(\"Tab\"===t||\"Enter\"===t||\"Spacebar\"===t){var o=this.parent.renderCommand(r.cursor);return r.aria.alert(o.mathspeak({createdLeftOf:r.cursor})),void(null===e||void 0===e||e.preventDefault())}return n.call(this,t,e,r)}},e.prototype.createLeftOf=function(e){var n,r,o;t.prototype.createLeftOf.call(this,e),\nthis._replacedFragment&&(n=this.domFrag(),r=n.oneElement(),this._replacedFragment.domFrag().addClass(\"mq-blur\"),o=function(t){return t.target=r,r.dispatchEvent(t),!1},r.addEventListener(\"mousedown\",o),r.addEventListener(\"mouseup\",o),this._replacedFragment.domFrag().insertBefore(n.children().first()))},e.prototype.latexRecursive=function(t){var e,n;this.checkCursorContextOpen(t),t.latex+=\"\\\\\",null===(n=(e=this.getEnd(L)).latexRecursive)||void 0===n||n.call(e,t),t.latex+=\" \",this.checkCursorContextClose(t)},e.prototype.renderCommand=function(t){var e,n,r;return this.setDOM(this.domFrag().children().lastElement()),this.remove(),this[R]?t.insLeftOf(this[R]):t.insAtRightEnd(this.parent),e=this.getEnd(L).latex(),e||(e=\" \"),n=LatexCmds[e],n?(r=void 0,r=isMQNodeClass(n)?new n(e):n(e),this._replacedFragment&&r.replaces(this._replacedFragment),r.createLeftOf(t),r):(r=new TextBlock,r.replaces(e),r.createLeftOf(t),t.insRightOf(r),this._replacedFragment&&this._replacedFragment.remove(),r)},e}(MathCommand),module.exports=MathQuill;\n","const CDOT_ONLY = [\n \"az\",\n \"bg\",\n \"cs\",\n \"da\",\n \"de\",\n \"hu\",\n \"hy\",\n \"kk\",\n \"ky\",\n \"lt\",\n \"lv\",\n \"nb\",\n \"sk\",\n \"sr\",\n \"sv\",\n \"uz\",\n];\nconst TIMES_ONLY = [\"fr\", \"tr\", \"pt-pt\"];\n\n/**\n * convertDotToTimes (aka `times`) is an option the content creators have to\n * use × (TIMES) rather than · (CDOT) for multiplication (for younger learners).\n * Some locales _only_ use one or the other for all multiplication regardless\n * of age.\n *\n * convertDotToTimesByLocale overrides convertDotToTimes for those locales.\n *\n * @param {boolean} convertDotToTimes - the setting set by content creators\n * @returns {boolean} - true to convert to × (TIMES), false to use · (CDOT)\n */\nexport function convertDotToTimesByLocale(\n locale: string,\n convertDotToTimes: boolean,\n): boolean {\n if (CDOT_ONLY.includes(locale)) {\n return false;\n }\n\n if (TIMES_ONLY.includes(locale)) {\n return true;\n }\n\n return convertDotToTimes;\n}\n\n/**\n * Use this to avoid running code that should not run in Jest.\n **/\nexport const inJest =\n typeof process !== \"undefined\" && !!process?.env?.JEST_WORKER_ID;\n// Explicitly checking for undefined because Cypress throws an error\n","import {SpeechRuleEngine} from \"@khanacademy/mathjax-renderer\";\nimport MathQuill from \"mathquill\";\n\nimport {inJest} from \"../../utils\";\n\nimport type {\n MathQuillInterface,\n MathFieldConfig,\n MathFieldInterface,\n} from \"./mathquill-types\";\nimport type {MathInputStrings} from \"../../strings\";\n\n// We only need one MathQuill instance (referred to as MQ in the docs)\n// and that contains some MQ constants and the MathField constructor\nexport const mathQuillInstance: MathQuillInterface = MathQuill.getInterface(3);\n\nconst createBaseConfig = (): MathFieldConfig => ({\n // LaTeX commands that, when typed, are immediately replaced by the\n // appropriate symbol. This does not include ln, log, or any of the\n // trig functions; those are always interpreted as commands.\n autoCommands: \"pi theta phi sqrt nthroot\",\n // Most of these autoOperatorNames are simply the MathQuill defaults.\n // We have to list them all in order to add the `sen` operator (see\n // comment below).\n autoOperatorNames: [\n \"arccos\",\n \"arcsin\",\n \"arctan\",\n \"arctg\",\n \"arg\",\n \"cos\",\n \"cosec\",\n \"cossec\",\n \"cosh\",\n \"cot\",\n \"cotg\",\n \"coth\",\n \"csc\",\n \"ctg\",\n \"deg\",\n \"det\",\n \"dim\",\n \"exp\",\n \"gcd\",\n \"hom\",\n \"inf\",\n \"ker\",\n \"lg\",\n \"lim\",\n \"liminf\",\n \"limsup\",\n \"ln\",\n \"log\",\n \"max\",\n \"min\",\n \"Pr\",\n \"projlim\",\n \"sec\",\n // sen is used instead of sin in e.g. Portuguese\n \"sen\",\n \"sin\",\n \"sinh\",\n \"sup\",\n \"tan\",\n \"tanh\",\n \"tg\",\n ].join(\" \"),\n\n // Pop the cursor out of super/subscripts on arithmetic operators\n // or (in)equalities.\n charsThatBreakOutOfSupSub: \"+-*/=<>≠≤≥\",\n\n // Prevent excessive super/subscripts or fractions from being\n // created without operands, e.g. when somebody holds down a key\n supSubsRequireOperand: true,\n\n // The name of this option is somewhat misleading, as tabbing in\n // MathQuill breaks you out of a nested context (fraction/script)\n // if you're in one, but moves focus to the next input if you're\n // not. Spaces (with this option enabled) are just ignored in the\n // latter case.\n spaceBehavesLikeTab: true,\n});\n\n/**\n * Creates a new [MathField](http://docs.mathquill.com/en/latest/Api_Methods/#mqmathfieldhtml_element-config)\n * instance within the given `container`.\n *\n * An optional configuration callback can be provided to customize\n * the created MathField. A default configuration is passed to this\n * callback which can then be adjusted as needed. The configuration\n * returned from this callback is used to create the MathField.\n * This allows callers to do minimal configuration as only configs\n * that vary from the default need to be provided.\n */\nexport function createMathField(\n container: HTMLDivElement | HTMLSpanElement,\n locale: string,\n strings: MathInputStrings,\n configCallback?: (baseConfig: MathFieldConfig) => MathFieldConfig,\n): MathFieldInterface {\n const baseConfig = createBaseConfig();\n const config = configCallback ? configCallback(baseConfig) : baseConfig;\n\n // eslint-disable-next-line no-restricted-syntax\n const mathField = mathQuillInstance\n .MathField(container, config)\n .setAriaLabel(strings.mathInputBox)\n .setAriaStringsOverrideMap({\n before: (obj) => strings.before({obj}),\n after: (obj) => strings.after({obj}),\n \"beginning of\": (obj) => strings[\"beginning of\"]({obj}),\n \"end of\": (obj) => strings[\"end of\"]({obj}),\n Baseline: strings.Baseline,\n Superscript: strings.Superscript,\n selected: (obj) => strings.selected({obj}),\n \"no answer\": strings[\"no answer\"],\n \"nothing selected\": strings[\"nothing selected\"],\n \"nothing to the right\": strings[\"nothing to the right\"],\n \"nothing to the left\": strings[\"nothing to the left\"],\n \"block is empty\": strings[\"block is empty\"],\n \"nothing above\": strings[\"nothing above\"],\n labelValue: (label, value) => strings.labelValue({label, value}),\n }) as MathFieldInterface;\n\n // We should avoid running SpeechRuleEngine.setup() in Jest. It makes an\n // HTTP request to fetch non-english speech rules, and cannot be easily\n // mocked in consuming packages now that we do not bundle source code.\n // When it eventually times out, it will cause arbitrary test failures.\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n !inJest &&\n SpeechRuleEngine.setup(locale).then((SRE) =>\n mathField.setMathspeakOverride(SRE.texToSpeech),\n );\n\n return mathField;\n}\n","import {MathFieldActionType} from \"../../types\";\n\nimport {CursorContext} from \"./cursor-contexts\";\nimport {mathQuillInstance} from \"./mathquill-instance\";\n\nimport type {MathFieldInterface} from \"./mathquill-types\";\n\nconst Numerals = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\nconst GreekLetters = [\"\\\\theta\", \"\\\\pi\"];\nconst Letters = [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n];\n\n// We only consider numerals, variables, and Greek Letters to be proper\n// leaf nodes.\nconst ValidLeaves = [\n ...Numerals,\n ...GreekLetters,\n ...Letters.map((letter) => letter.toLowerCase()),\n ...Letters.map((letter) => letter.toUpperCase()),\n];\n\nconst mqNodeHasClass = (node: any, className: string): boolean =>\n // eslint-disable-next-line no-restricted-syntax\n node._el && (node._el as HTMLElement).classList.contains(className);\n\nexport function isFraction(node): boolean {\n return mqNodeHasClass(node, \"mq-fraction\");\n}\n\nfunction isNumerator(node): boolean {\n return mqNodeHasClass(node, \"mq-numerator\");\n}\n\nfunction isDenominator(node): boolean {\n return mqNodeHasClass(node, \"mq-denominator\");\n}\n\nfunction isSubScript(node): boolean {\n // NOTE(charlie): MyScript has a structure whereby its superscripts seem\n // to be represented as a parent node with 'mq-sup-only' containing a\n // single child with 'mq-sup'.\n return (\n mqNodeHasClass(node, \"mq-sub-only\") || mqNodeHasClass(node, \"mq-sub\")\n );\n}\n\nfunction isSuperScript(node): boolean {\n // NOTE(charlie): MyScript has a structure whereby its superscripts seem\n // to be represented as a parent node with 'mq-sup-only' containing a\n // single child with 'mq-sup'.\n return (\n mqNodeHasClass(node, \"mq-sup-only\") || mqNodeHasClass(node, \"mq-sup\")\n );\n}\n\nexport function isParens(node): boolean {\n return node && node.ctrlSeq === \"\\\\left(\";\n}\n\nfunction isLeaf(node): boolean {\n return node && node.ctrlSeq && ValidLeaves.includes(node.ctrlSeq.trim());\n}\n\nexport function isSquareRoot(node): boolean {\n return node.blocks && mqNodeHasClass(node.blocks[0], \"mq-sqrt-stem\");\n}\n\nexport function isNthRoot(node): boolean {\n return node.blocks && mqNodeHasClass(node.blocks[0], \"mq-nthroot\");\n}\n\nexport function isNthRootIndex(node): boolean {\n return mqNodeHasClass(node, \"mq-nthroot\");\n}\n\nexport function isInsideLogIndex(cursor): boolean {\n const grandparent = cursor.parent.parent;\n\n if (grandparent && mqNodeHasClass(grandparent, \"mq-supsub\")) {\n const command = maybeFindCommandBeforeParens(grandparent);\n\n if (command && command.name === \"\\\\log\") {\n return true;\n }\n }\n\n return false;\n}\n\nexport function isInsideEmptyNode(cursor): boolean {\n return (\n cursor[mathQuillInstance.L] === MathFieldActionType.MQ_END &&\n cursor[mathQuillInstance.R] === MathFieldActionType.MQ_END\n );\n}\n\nexport function selectNode(node, cursor) {\n cursor.insLeftOf(node);\n cursor.startSelection();\n cursor.insRightOf(node);\n cursor.select();\n cursor.endSelection();\n}\n\n/**\n * Return the start node, end node, and full name of the command of which\n * the initial node is a part, or `null` if the node is not part of a\n * command.\n *\n * @param {node} initialNode - the node to included as part of the command\n * @returns {null|object} - `null` or an object containing the start node\n * (`startNode`), end node (`endNode`), and full\n * name (`name`) of the command\n */\nexport function maybeFindCommand(initialNode) {\n if (!initialNode) {\n return null;\n }\n\n // MathQuill stores commands as separate characters so that\n // users can delete commands one character at a time. We iterate over\n // the nodes from right to left until we hit a sequence starting with a\n // '\\\\', which signifies the start of a command; then we iterate from\n // left to right until we hit a '\\\\left(', which signifies the end of a\n // command. If we encounter any character that doesn't belong in a\n // command, we return null. We match a single character at a time.\n // Ex) ['\\\\l', 'o', 'g ', '\\\\left(', ...]\n const commandCharRegex = /^[a-z]$/;\n const commandStartRegex = /^\\\\[a-z]$/;\n const commandEndSeq = \"\\\\left(\";\n\n // Note: We allowlist the set of valid commands, since relying solely on\n // a command being prefixed with a backslash leads to undesired\n // behavior. For example, Greek symbols, left parentheses, and square\n // roots all get treated as commands.\n const validCommands = [\"\\\\log\", \"\\\\ln\", \"\\\\cos\", \"\\\\sin\", \"\\\\tan\"];\n\n let name = \"\";\n let startNode;\n let endNode;\n\n // Collect the portion of the command from the current node, leftwards\n // until the start of the command.\n let node = initialNode;\n while (node !== 0) {\n const ctrlSeq = node.ctrlSeq.trim();\n if (commandCharRegex.test(ctrlSeq)) {\n name = ctrlSeq + name;\n } else if (commandStartRegex.test(ctrlSeq)) {\n name = ctrlSeq + name;\n startNode = node;\n break;\n } else {\n break;\n }\n\n node = node[mathQuillInstance.L];\n }\n\n // If we hit the start of a command, then grab the rest of it by\n // iterating rightwards to compute the full name of the command, along\n // with its terminal node.\n if (startNode) {\n // Next, iterate from the start to the right.\n node = initialNode[mathQuillInstance.R];\n while (node !== 0) {\n const ctrlSeq = node.ctrlSeq.trim();\n if (commandCharRegex.test(ctrlSeq)) {\n // If we have a single character, add it to the command\n // name.\n name = name + ctrlSeq;\n } else if (ctrlSeq === commandEndSeq) {\n // If we hit the command end delimiter (the left\n // parentheses surrounding its arguments), stop.\n endNode = node;\n break;\n }\n\n node = node[mathQuillInstance.R];\n }\n if (validCommands.includes(name)) {\n return {name, startNode, endNode};\n } else {\n return null;\n }\n } else {\n return null;\n }\n}\n\n/**\n * Return the start node, end node, and full name of the command to the left\n * of `\\\\left(`, or `null` if there is no command.\n *\n * @param {node} leftParenNode - node where .ctrlSeq == `\\\\left(`\n * @returns {null|object} - `null` or an object containing the start node\n * (`startNode`), end node (`endNode`), and full\n * name (`name`) of the command\n */\nexport function maybeFindCommandBeforeParens(leftParenNode) {\n return maybeFindCommand(leftParenNode[mathQuillInstance.L]);\n}\n\nexport function getCursorContext(\n mathField?: MathFieldInterface,\n): (typeof CursorContext)[keyof typeof CursorContext] {\n if (!mathField) {\n return CursorContext.NONE;\n }\n\n // First, try to find any fraction to the right, unimpeded.\n const cursor = mathField.cursor();\n let visitor = cursor;\n while (visitor[mathQuillInstance.R] !== MathFieldActionType.MQ_END) {\n if (isFraction(visitor[mathQuillInstance.R])) {\n return CursorContext.BEFORE_FRACTION;\n } else if (!isLeaf(visitor[mathQuillInstance.R])) {\n break;\n }\n visitor = visitor[mathQuillInstance.R];\n }\n\n // If that didn't work, check if the parent or grandparent is a special\n // context, so that we can jump outwards.\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (isParens(cursor.parent && cursor.parent.parent)) {\n return CursorContext.IN_PARENS;\n } else if (isNumerator(cursor.parent)) {\n return CursorContext.IN_NUMERATOR;\n } else if (isDenominator(cursor.parent)) {\n return CursorContext.IN_DENOMINATOR;\n } else if (isSubScript(cursor.parent)) {\n return CursorContext.IN_SUB_SCRIPT;\n } else if (isSuperScript(cursor.parent)) {\n return CursorContext.IN_SUPER_SCRIPT;\n } else {\n return CursorContext.NONE;\n }\n}\n","import {MathFieldActionType} from \"../../types\";\nimport {\n isFraction,\n isSquareRoot,\n isNthRoot,\n isNthRootIndex,\n isInsideLogIndex,\n isInsideEmptyNode,\n selectNode,\n maybeFindCommandBeforeParens,\n} from \"../input/mathquill-helpers\";\nimport {mathQuillInstance} from \"../input/mathquill-instance\";\n\nimport type {MathFieldInterface} from \"../input/mathquill-types\";\nimport type MathQuill from \"mathquill\";\n\nfunction handleBackspaceInNthRoot(\n mathField: MathFieldInterface,\n cursor: MathQuill.Cursor,\n) {\n const isAtLeftEnd =\n cursor[mathQuillInstance.L] === MathFieldActionType.MQ_END;\n\n const isRootEmpty = isInsideEmptyNode(cursor.parent.parent.blocks[0].ends);\n\n if (isAtLeftEnd) {\n selectNode(cursor.parent.parent, cursor);\n\n if (isRootEmpty) {\n mathField.keystroke(\"Backspace\");\n }\n } else {\n mathField.keystroke(\"Backspace\");\n }\n}\n\nfunction handleBackspaceInRootIndex(\n mathField: MathFieldInterface,\n cursor: MathQuill.Cursor,\n) {\n if (isInsideEmptyNode(cursor)) {\n // When deleting the index in a nthroot, we change from the nthroot\n // to a sqrt, e.g. \\sqrt[|]{35x-5} => |\\sqrt{35x-5}. If there's no\n // content under the root, then we delete the whole thing.\n\n const grandparent = cursor.parent.parent;\n const latex = grandparent.latex();\n const reinsertionPoint = grandparent[mathQuillInstance.L];\n\n selectNode(grandparent, cursor);\n\n const rootIsEmpty =\n // eslint-disable-next-line no-restricted-syntax\n (grandparent.blocks[1]._el as HTMLElement).textContent === \"\";\n\n if (rootIsEmpty) {\n // If there is not content under the root then simply delete\n // the whole thing.\n mathField.keystroke(\"Backspace\");\n } else {\n // Replace the nthroot with a sqrt if there was content under\n // the root.\n\n // Start by deleting the selection.\n mathField.keystroke(\"Backspace\");\n\n // Replace the nth-root with a sqrt.\n mathField.write(latex.replace(/^\\\\sqrt\\[\\]/, \"\\\\sqrt\"));\n\n // Adjust the cursor to be to the left the sqrt.\n if (reinsertionPoint === MathFieldActionType.MQ_END) {\n mathField.moveToLeftEnd();\n } else {\n cursor.insRightOf(reinsertionPoint);\n }\n }\n } else {\n if (cursor[mathQuillInstance.L] !== MathFieldActionType.MQ_END) {\n // If the cursor is not at the leftmost position inside the\n // root's index, delete a character.\n mathField.keystroke(\"Backspace\");\n } else {\n // Do nothing because we haven't completely deleted the\n // index of the radical.\n }\n }\n}\n\nfunction handleBackspaceInLogIndex(\n mathField: MathFieldInterface,\n cursor: MathQuill.Cursor,\n) {\n if (isInsideEmptyNode(cursor)) {\n const grandparent = cursor.parent.parent;\n const command = maybeFindCommandBeforeParens(grandparent);\n\n cursor.insLeftOf(command?.startNode);\n cursor.startSelection();\n\n if (grandparent[mathQuillInstance.R] !== MathFieldActionType.MQ_END) {\n cursor.insRightOf(grandparent[mathQuillInstance.R]);\n } else {\n cursor.insRightOf(grandparent);\n }\n\n cursor.select();\n cursor.endSelection();\n const isLogBodyEmpty =\n grandparent[mathQuillInstance.R]._el.textContent === \"\";\n\n if (isLogBodyEmpty) {\n // If there's no content inside the log's parens then delete the\n // whole thing.\n mathField.keystroke(\"Backspace\");\n }\n } else {\n mathField.keystroke(\"Backspace\");\n }\n}\n\nfunction handleBackspaceInsideParens(\n mathField: MathFieldInterface,\n cursor: MathQuill.Cursor,\n) {\n // Handle situations when the cursor is inside parens or a\n // command that uses parens, e.g. \\log() or \\tan()\n //\n // MathQuill represents log(x+1) in roughly the following way\n // [l, o, g, \\\\left[parent:[x, +, 1]]]\n //\n // If the cursor is inside the parentheses it's next to one of:\n // x, +, or 1. This makes sub_sub_expr its parent and sub_expr\n // it's parent.\n //\n // Interestingly parent doesn't have any nodes to the left or\n // right of it (even though the corresponding DOM node has\n // ( and ) characters on either side.\n //\n // The grandparent's ctrlSeq is `\\\\left(`. The `\\\\right)` isn't\n // stored anywhere. NOTE(kevinb): I believe this is because\n // MathQuill knows what the close paren should be and does the\n // right thing at render time.\n //\n // This conditional branch handles the following cases:\n // - \\log(x+1|) => \\log(x+|)\n // - \\log(|x+1) => |\\log(x+1)|\n // - \\log(|) => |\n\n if (cursor[mathQuillInstance.L] !== MathFieldActionType.MQ_END) {\n // This command contains math and there's some math to\n // the left of the cursor that we should delete normally\n // before doing anything special.\n mathField.keystroke(\"Backspace\");\n return;\n }\n\n const grandparent = cursor.parent.parent;\n\n // If the cursors is inside the parens at the start but the command\n // has a subscript as is the case in log_n then move the cursor into\n // the subscript, e.g. \\log_{5}(|x+1) => \\log_{5|}(x+1)\n\n if (grandparent[mathQuillInstance.L].sub) {\n // if there is a subscript\n if (grandparent[mathQuillInstance.L].sub._el.textContent) {\n // and it contains text\n // move the cursor to the right end of the subscript\n cursor.insAtRightEnd(grandparent[mathQuillInstance.L].sub);\n return;\n }\n }\n\n // Determine if the parens are empty before we modify the\n // cursor's position.\n const isEmpty = isInsideEmptyNode(cursor);\n\n // Insert the cursor to the left of the command if there is one\n // or before the '\\\\left(` if there isn't\n const command = maybeFindCommandBeforeParens(grandparent);\n\n cursor.insLeftOf((command && command.startNode) || grandparent);\n cursor.startSelection();\n cursor.insRightOf(grandparent);\n cursor.select();\n cursor.endSelection();\n\n // Delete the selection, but only if the parens were empty to\n // begin with.\n if (isEmpty) {\n mathField.keystroke(\"Backspace\");\n }\n}\n\nfunction handleBackspaceAfterLigaturedSymbol(mathField: MathFieldInterface) {\n mathField.keystroke(\"Backspace\");\n mathField.keystroke(\"Backspace\");\n}\n\n/**\n * Selects and deletes part of the expression based on the cursor location.\n * See inline comments for precise behavior of different cases.\n */\nfunction handleBackspace(mathField: MathFieldInterface) {\n const cursor = mathField.cursor();\n if (!cursor.selection) {\n const parent = cursor.parent;\n const grandparent = parent.parent;\n const leftNode = cursor[mathQuillInstance.L];\n\n if (isFraction(leftNode)) {\n selectNode(leftNode, cursor);\n } else if (isSquareRoot(leftNode)) {\n selectNode(leftNode, cursor);\n } else if (isNthRoot(leftNode)) {\n selectNode(leftNode, cursor);\n } else if (isNthRootIndex(parent)) {\n handleBackspaceInRootIndex(mathField, cursor);\n } else if (grandparent.ctrlSeq === \"\\\\left(\") {\n handleBackspaceInsideParens(mathField, cursor);\n } else if (isInsideLogIndex(cursor)) {\n handleBackspaceInLogIndex(mathField, cursor);\n } else if (\n leftNode.ctrlSeq === \"\\\\ge \" ||\n leftNode.ctrlSeq === \"\\\\le \"\n ) {\n handleBackspaceAfterLigaturedSymbol(mathField);\n } else if (\n isNthRoot(grandparent) &&\n leftNode === MathFieldActionType.MQ_END\n ) {\n handleBackspaceInNthRoot(mathField, cursor);\n } else {\n mathField.keystroke(\"Backspace\");\n }\n } else {\n mathField.keystroke(\"Backspace\");\n }\n}\n\nexport default handleBackspace;\n","import {MathFieldActionType} from \"../../types\";\nimport {\n maybeFindCommand,\n maybeFindCommandBeforeParens,\n} from \"../input/mathquill-helpers\";\nimport {mathQuillInstance} from \"../input/mathquill-instance\";\n\nimport type {MathFieldInterface} from \"../input/mathquill-types\";\nimport type {KeypadKey} from \"@khanacademy/perseus-core\";\nimport type MathQuill from \"mathquill\";\n\nfunction handleLeftArrow(\n mathField: MathFieldInterface,\n cursor: MathQuill.Cursor,\n) {\n // If we're inside a function, and just after the left parentheses, we\n // need to skip the entire function name, rather than move the cursor\n // inside of it. For example, when hitting left from within the\n // parentheses in `cos()`, we want to place the cursor to the left of\n // the entire expression, rather than between the `s` and the left\n // parenthesis.\n // From the cursor's perspective, this requires that our left node is\n // the ActionType.MQ_END node, that our grandparent is the left parenthesis, and\n // the nodes to the left of our grandparent comprise a valid function\n // name.\n if (cursor[mathQuillInstance.L] === MathFieldActionType.MQ_END) {\n const parent = cursor.parent;\n const grandparent = parent.parent;\n if (grandparent.ctrlSeq === \"\\\\left(\") {\n const command = maybeFindCommandBeforeParens(grandparent);\n if (command) {\n cursor.insLeftOf(command.startNode);\n return;\n }\n }\n }\n\n // Otherwise, we default to the standard MathQull left behavior.\n mathField.keystroke(\"Left\");\n}\n\nfunction handleRightArrow(\n mathField: MathFieldInterface,\n cursor: MathQuill.Cursor,\n) {\n const command = maybeFindCommand(cursor[mathQuillInstance.R]);\n if (command) {\n // Similarly, if a function is to our right, then we need to place\n // the cursor at the start of its parenthetical content, which is\n // done by putting it to the left of ites parentheses and then\n // moving right once.\n cursor.insLeftOf(command.endNode);\n mathField.keystroke(\"Right\");\n } else {\n // Otherwise, we default to the standard MathQull right behavior.\n mathField.keystroke(\"Right\");\n }\n}\n\nexport default function handleArrow(\n mathField: MathFieldInterface,\n key: KeypadKey,\n) {\n const cursor = mathField.cursor();\n\n if (key === \"LEFT\") {\n handleLeftArrow(mathField, cursor);\n } else if (key === \"RIGHT\") {\n handleRightArrow(mathField, cursor);\n }\n}\n","import {MathFieldActionType} from \"../../types\";\nimport {mathQuillInstance} from \"../input/mathquill-instance\";\n\nimport type {MathFieldInterface} from \"../input/mathquill-types\";\n\nconst ArithmeticOperators = [\"+\", \"-\", \"\\\\cdot\", \"\\\\times\", \"\\\\div\"];\nconst EqualityOperators = [\"=\", \"\\\\neq\", \"<\", \"\\\\leq\", \">\", \"\\\\geq\"];\n\n// Anything that knowingly cannot serve as the base of a superscript or\n// subscript (i.e. can't be raised to a power or given an index).\nconst invalidPrefixes = [...ArithmeticOperators, ...EqualityOperators];\n\n/**\n * Ensures there's a valid base immediately before the cursor for a superscript\n * or subscript to attach to. If the preceding node is empty or an operator that\n * can't take a script, an empty set of parentheses is inserted to act as the\n * base.\n *\n * @returns whether empty parentheses were inserted, so callers can adjust the\n * cursor position accordingly.\n */\nexport default function insertBaseParens(\n mathField: MathFieldInterface,\n): boolean {\n const cursor = mathField.cursor();\n const precedingNode = cursor[mathQuillInstance.L];\n const shouldPrefixWithParens =\n precedingNode === MathFieldActionType.MQ_END ||\n invalidPrefixes.includes(precedingNode.ctrlSeq.trim());\n if (shouldPrefixWithParens) {\n mathField.write(\"\\\\left(\\\\right)\");\n }\n return shouldPrefixWithParens;\n}\n","import insertBaseParens from \"./insert-base-parens\";\n\nimport type {MathFieldInterface} from \"../input/mathquill-types\";\nimport type {KeypadKey} from \"@khanacademy/perseus-core\";\n\nexport default function handleExponent(\n mathField: MathFieldInterface,\n key: KeypadKey,\n) {\n const insertedParens = insertBaseParens(mathField);\n\n // Insert the appropriate exponent operator.\n switch (key) {\n case \"EXP\":\n mathField.cmd(\"^\");\n break;\n\n case \"EXP_2\":\n case \"EXP_3\":\n mathField.write(`^${key === \"EXP_2\" ? 2 : 3}`);\n\n // If we enter a square or a cube, we should leave the cursor\n // within the newly inserted parens, if they exist. This takes\n // exactly four left strokes, since the cursor by default would\n // end up to the right of the exponent.\n if (insertedParens) {\n mathField.keystroke(\"Left\");\n mathField.keystroke(\"Left\");\n mathField.keystroke(\"Left\");\n mathField.keystroke(\"Left\");\n }\n break;\n\n default:\n throw new Error(`Invalid exponent key: ${key}`);\n }\n}\n","import {MathFieldActionType} from \"../../types\";\nimport {CursorContext} from \"../input/cursor-contexts\";\nimport {\n isFraction,\n isParens,\n getCursorContext,\n} from \"../input/mathquill-helpers\";\nimport {mathQuillInstance} from \"../input/mathquill-instance\";\n\nimport type {MathFieldInterface} from \"../input/mathquill-types\";\nimport type {KeypadKey} from \"@khanacademy/perseus-core\";\n\nconst KeysForJumpContext = {\n [CursorContext.IN_PARENS]: \"JUMP_OUT_PARENTHESES\",\n [CursorContext.IN_SUPER_SCRIPT]: \"JUMP_OUT_EXPONENT\",\n [CursorContext.IN_SUB_SCRIPT]: \"JUMP_OUT_BASE\",\n [CursorContext.BEFORE_FRACTION]: \"JUMP_INTO_NUMERATOR\",\n [CursorContext.IN_NUMERATOR]: \"JUMP_OUT_NUMERATOR\",\n [CursorContext.IN_DENOMINATOR]: \"JUMP_OUT_DENOMINATOR\",\n};\n\n/**\n * Advances the cursor to the next logical position.\n */\nfunction handleJumpOut(mathField: MathFieldInterface, key: KeypadKey): void {\n const cursor = mathField.cursor();\n const context = getCursorContext(mathField);\n\n // Validate that the current cursor context matches the key's intent.\n if (KeysForJumpContext[context] !== key) {\n // If we don't have a valid cursor context, yet the user was able\n // to trigger a jump-out key, that's a broken invariant. Rather\n // than throw an error (which would kick the user out of the\n // exercise), we do nothing, as a fallback strategy. The user can\n // still move the cursor manually.\n return;\n }\n\n switch (context) {\n case CursorContext.IN_PARENS:\n // Insert at the end of the parentheses, and then navigate right\n // once more to get 'beyond' the parentheses.\n cursor.insRightOf(cursor.parent.parent);\n mathField.keystroke(\"Right\");\n break;\n\n case CursorContext.BEFORE_FRACTION:\n // Find the nearest fraction to the right of the cursor.\n let fractionNode;\n let visitor = cursor;\n while (\n visitor[mathQuillInstance.R] !== MathFieldActionType.MQ_END\n ) {\n if (isFraction(visitor[mathQuillInstance.R])) {\n fractionNode = visitor[mathQuillInstance.R];\n }\n visitor = visitor[mathQuillInstance.R];\n }\n\n // Jump into it!\n cursor.insLeftOf(fractionNode);\n mathField.keystroke(\"Right\");\n break;\n\n case CursorContext.IN_NUMERATOR:\n // HACK(charlie): I can't find a better way to do this. The goal\n // is to place the cursor at the start of the matching\n // denominator. So, we identify the appropriate node, and\n // continue rightwards until we find ourselves inside of it.\n // It's possible that there are cases in which we don't reach\n // the denominator, though I can't think of any.\n const siblingDenominator = cursor.parent.parent.blocks[1];\n while (cursor.parent !== siblingDenominator) {\n mathField.keystroke(\"Right\");\n }\n break;\n\n case CursorContext.IN_DENOMINATOR:\n cursor.insRightOf(cursor.parent.parent);\n break;\n\n case CursorContext.IN_SUB_SCRIPT:\n // Insert just beyond the superscript.\n cursor.insRightOf(cursor.parent.parent);\n\n // Navigate right once more, if we're right before parens. This\n // is to handle the standard case in which the subscript is the\n // base of a custom log.\n if (isParens(cursor[mathQuillInstance.R])) {\n mathField.keystroke(\"Right\");\n }\n break;\n\n case CursorContext.IN_SUPER_SCRIPT:\n // Insert just beyond the superscript.\n cursor.insRightOf(cursor.parent.parent);\n break;\n\n default:\n throw new Error(\n `Attempted to 'Jump Out' from node, but found no ` +\n `appropriate cursor context: ${context}`,\n );\n }\n}\n\nexport default handleJumpOut;\n","import insertBaseParens from \"./insert-base-parens\";\n\nimport type {MathFieldInterface} from \"../input/mathquill-types\";\n\nexport default function handleSubscript(mathField: MathFieldInterface) {\n insertBaseParens(mathField);\n\n // Insert the subscript operator, leaving the cursor inside it.\n mathField.cmd(\"_\");\n}\n","import {\n getDecimalSeparator,\n getDivideSymbolForTex,\n} from \"@khanacademy/perseus-core\";\n\nimport {MathFieldActionType} from \"../../types\";\nimport {mathQuillInstance} from \"../input/mathquill-instance\";\n\nimport handleArrow from \"./handle-arrow\";\nimport handleExponent from \"./handle-exponent\";\nimport handleJumpOut from \"./handle-jump-out\";\nimport handleSubscript from \"./handle-subscript\";\n\nimport type {\n MathFieldInterface,\n MathFieldUpdaterCallback,\n} from \"../input/mathquill-types\";\nimport type {KeypadKey} from \"@khanacademy/perseus-core\";\n\nfunction buildGenericCallback(\n str: string,\n type: MathFieldActionType = MathFieldActionType.WRITE,\n): MathFieldUpdaterCallback {\n return function (mathQuill: MathFieldInterface) {\n switch (type) {\n case MathFieldActionType.WRITE: {\n mathQuill.write(str);\n return;\n }\n case MathFieldActionType.CMD: {\n mathQuill.cmd(str);\n return;\n }\n case MathFieldActionType.KEYSTROKE: {\n mathQuill.keystroke(str);\n return;\n }\n }\n };\n}\n\n/**\n * This lets us use translated functions\n * (like tg->tan and sen->sin) when we know it's safe to.\n * This lets us progressively support translations without needing\n * to support every language all at once.\n *\n * @param {string} command - the translated command/function to check\n * @param {string[]} supportedTranslations - list of translations we support\n * @param {string} defaultCommand - what to fallback to if the command isn't supported\n */\nfunction buildTranslatableFunctionCallback(\n command: string,\n supportedTranslations: string[],\n defaultCommand: string,\n) {\n const cmd = supportedTranslations.includes(command)\n ? command\n : defaultCommand;\n return function (mathField: MathFieldInterface) {\n mathField.write(`${cmd}\\\\left(\\\\right)`);\n mathField.keystroke(\"Left\");\n };\n}\n\nfunction buildNormalFunctionCallback(command: string) {\n return function (mathField: MathFieldInterface) {\n mathField.write(`\\\\${command}\\\\left(\\\\right)`);\n mathField.keystroke(\"Left\");\n };\n}\n\ntype KeyTranslatorStrings = {\n sin: string;\n cos: string;\n tan: string;\n};\n\nexport const getKeyTranslator = (\n locale: string,\n strings: KeyTranslatorStrings,\n): Record<KeypadKey, MathFieldUpdaterCallback> => ({\n EXP: handleExponent,\n EXP_2: handleExponent,\n EXP_3: handleExponent,\n SUB: handleSubscript,\n\n JUMP_OUT_PARENTHESES: handleJumpOut,\n JUMP_OUT_EXPONENT: handleJumpOut,\n JUMP_OUT_BASE: handleJumpOut,\n JUMP_INTO_NUMERATOR: handleJumpOut,\n JUMP_OUT_NUMERATOR: handleJumpOut,\n JUMP_OUT_DENOMINATOR: handleJumpOut,\n\n LEFT: handleArrow,\n RIGHT: handleArrow,\n\n LOG: buildNormalFunctionCallback(\"log\"),\n LN: buildNormalFunctionCallback(\"ln\"),\n\n COS: buildNormalFunctionCallback(strings.cos),\n SIN: buildTranslatableFunctionCallback(strings.sin, [\"sin\", \"sen\"], \"sin\"),\n TAN: buildTranslatableFunctionCallback(strings.tan, [\"tan\", \"tg\"], \"tan\"),\n\n CDOT: buildGenericCallback(\"\\\\cdot\"),\n DECIMAL: buildGenericCallback(getDecimalSeparator(locale)),\n DIVIDE: buildGenericCallback(getDivideSymbolForTex(locale)),\n EQUAL: buildGenericCallback(\"=\"),\n GEQ: buildGenericCallback(\"\\\\geq\"),\n GT: buildGenericCallback(\">\"),\n LEQ: buildGenericCallback(\"\\\\leq\"),\n LT: buildGenericCallback(\"<\"),\n MINUS: buildGenericCallback(\"-\"),\n NEGATIVE: buildGenericCallback(\"-\"),\n NEQ: buildGenericCallback(\"\\\\neq\"),\n PERCENT: buildGenericCallback(\"%\"),\n PERIOD: buildGenericCallback(\".\"),\n PLUS: buildGenericCallback(\"+\"),\n TIMES: buildGenericCallback(\"\\\\times\"),\n\n // The `FRAC_EXCLUSIVE` variant is handled manually, since we may need to do\n // some additional navigation depending on the cursor position.\n FRAC_INCLUSIVE: buildGenericCallback(\"/\", MathFieldActionType.CMD),\n FRAC: buildGenericCallback(\"\\\\frac\", MathFieldActionType.CMD),\n LEFT_PAREN: buildGenericCallback(\"(\", MathFieldActionType.CMD),\n RIGHT_PAREN: buildGenericCallback(\")\", MathFieldActionType.CMD),\n SQRT: buildGenericCallback(\"sqrt\", MathFieldActionType.CMD),\n PI: buildGenericCallback(\"pi\", MathFieldActionType.CMD),\n THETA: buildGenericCallback(\"theta\", MathFieldActionType.CMD),\n RADICAL: buildGenericCallback(\"nthroot\", MathFieldActionType.CMD),\n\n BACKSPACE: buildGenericCallback(\"Backspace\", MathFieldActionType.KEYSTROKE),\n UP: buildGenericCallback(\"Up\", MathFieldActionType.KEYSTROKE),\n DOWN: buildGenericCallback(\"Down\", MathFieldActionType.KEYSTROKE),\n\n CUBE_ROOT: (mathQuill) => {\n mathQuill.write(\"\\\\sqrt[3]{}\");\n mathQuill.keystroke(\"Left\"); // under the root\n },\n\n FRAC_EXCLUSIVE: (mathQuill) => {\n const cursor = mathQuill.cursor();\n // If there's nothing to the left of the cursor, then we want to\n // leave the cursor to the left of the fraction after creating it.\n const shouldNavigateLeft =\n cursor[mathQuillInstance.L] === MathFieldActionType.MQ_END;\n mathQuill.cmd(\"\\\\frac\");\n if (shouldNavigateLeft) {\n mathQuill.keystroke(\"Left\");\n }\n },\n\n LOG_N: (mathQuill) => {\n mathQuill.write(\"log_{ }\\\\left(\\\\right)\");\n mathQuill.keystroke(\"Left\"); // into parentheses\n mathQuill.keystroke(\"Left\"); // out of parentheses\n mathQuill.keystroke(\"Left\"); // into index\n },\n\n // These need to be overwritten by the consumer\n // if they're going to be used\n DISMISS: () => {},\n\n NUM_0: buildGenericCallback(\"0\"),\n NUM_1: buildGenericCallback(\"1\"),\n NUM_2: buildGenericCallback(\"2\"),\n NUM_3: buildGenericCallback(\"3\"),\n NUM_4: buildGenericCallback(\"4\"),\n NUM_5: buildGenericCallback(\"5\"),\n NUM_6: buildGenericCallback(\"6\"),\n NUM_7: buildGenericCallback(\"7\"),\n NUM_8: buildGenericCallback(\"8\"),\n NUM_9: buildGenericCallback(\"9\"),\n a: buildGenericCallback(\"a\"),\n b: buildGenericCallback(\"b\"),\n c: buildGenericCallback(\"c\"),\n d: buildGenericCallback(\"d\"),\n e: buildGenericCallback(\"e\"),\n f: buildGenericCallback(\"f\"),\n g: buildGenericCallback(\"g\"),\n h: buildGenericCallback(\"h\"),\n i: buildGenericCallback(\"i\"),\n j: buildGenericCallback(\"j\"),\n k: buildGenericCallback(\"k\"),\n l: buildGenericCallback(\"l\"),\n m: buildGenericCallback(\"m\"),\n n: buildGenericCallback(\"n\"),\n o: buildGenericCallback(\"o\"),\n p: buildGenericCallback(\"p\"),\n q: buildGenericCallback(\"q\"),\n r: buildGenericCallback(\"r\"),\n s: buildGenericCallback(\"s\"),\n t: buildGenericCallback(\"t\"),\n u: buildGenericCallback(\"u\"),\n v: buildGenericCallback(\"v\"),\n w: buildGenericCallback(\"w\"),\n x: buildGenericCallback(\"x\"),\n y: buildGenericCallback(\"y\"),\n z: buildGenericCallback(\"z\"),\n A: buildGenericCallback(\"A\"),\n B: buildGenericCallback(\"B\"),\n C: buildGenericCallback(\"C\"),\n D: buildGenericCallback(\"D\"),\n E: buildGenericCallback(\"E\"),\n F: buildGenericCallback(\"F\"),\n G: buildGenericCallback(\"G\"),\n H: buildGenericCallback(\"H\"),\n I: buildGenericCallback(\"I\"),\n J: buildGenericCallback(\"J\"),\n K: buildGenericCallback(\"K\"),\n L: buildGenericCallback(\"L\"),\n M: buildGenericCallback(\"M\"),\n N: buildGenericCallback(\"N\"),\n O: buildGenericCallback(\"O\"),\n P: buildGenericCallback(\"P\"),\n Q: buildGenericCallback(\"Q\"),\n R: buildGenericCallback(\"R\"),\n S: buildGenericCallback(\"S\"),\n T: buildGenericCallback(\"T\"),\n U: buildGenericCallback(\"U\"),\n V: buildGenericCallback(\"V\"),\n W: buildGenericCallback(\"W\"),\n X: buildGenericCallback(\"X\"),\n Y: buildGenericCallback(\"Y\"),\n Z: buildGenericCallback(\"Z\"),\n});\n","// Notes about MathQuill\n//\n// MathQuill's stores its layout as nested linked lists. Each node in the\n// list has MQ.L '-1' and MQ.R '1' properties that define links to\n// the left and right nodes respectively. They also have\n//\n// ctrlSeq: contains the latex code snippet that defines that node.\n// jQ: jQuery object for the DOM node(s) for this MathQuill node.\n// ends: pointers to the nodes at the ends of the container.\n// parent: parent node.\n// blocks: an array containing one or more nodes that make up the node.\n// sub?: subscript node if there is one as is the case in log_n\n//\n// All of the code below is super fragile. Please be especially careful\n// when upgrading MathQuill.\n\nimport handleBackspace from \"../key-handlers/handle-backspace\";\nimport {getKeyTranslator} from \"../key-handlers/key-translator\";\n\nimport {getCursorContext, maybeFindCommand} from \"./mathquill-helpers\";\nimport {createMathField, mathQuillInstance} from \"./mathquill-instance\";\n\nimport type {\n MathFieldInterface,\n MathFieldUpdaterCallback,\n} from \"./mathquill-types\";\nimport type {MathInputStrings} from \"../../strings\";\nimport type {KeypadKey} from \"@khanacademy/perseus-core\";\n\n/**\n * This file contains a wrapper around MathQuill so that we can provide a\n * more regular interface for the functionality we need while insulating us\n * from MathQuill changes.\n */\nclass MathWrapper {\n mathField: MathFieldInterface; // MathQuill MathField input\n callbacks: any;\n mobileKeyTranslator: Record<KeypadKey, MathFieldUpdaterCallback>;\n\n constructor(\n mathFieldMount,\n ariaLabel: string,\n strings: MathInputStrings,\n locale: string,\n callbacks = {},\n ) {\n this.mathField = createMathField(\n mathFieldMount,\n locale,\n strings,\n () => {\n return {\n // use a span instead of a textarea so that we don't bring up the\n // native keyboard on mobile when selecting the input\n substituteTextarea: function () {\n return document.createElement(\"span\");\n },\n };\n },\n );\n this.mathField?.setAriaLabel(ariaLabel);\n\n this.callbacks = callbacks;\n\n this.mobileKeyTranslator = {\n ...getKeyTranslator(locale, strings),\n // note(Matthew): our mobile backspace logic is really complicated\n // and for some reason doesn't really work in the desktop experience.\n // So we default to the basic backspace functionality in the\n // key translator and overwrite it with the complicated logic here\n // until we can unify the experiences (if we even want to).\n // https://khanacademy.atlassian.net/browse/LC-906\n BACKSPACE: handleBackspace,\n };\n }\n\n focus() {\n // HACK(charlie): We shouldn't reaching into MathQuill internals like\n // this, but it's the easiest way to allow us to manage the focus state\n // ourselves.\n this.mathField.cursor().show();\n\n // Set MathQuill's internal state to reflect the focus, otherwise it\n // will consistently try to hide the cursor on key-press and introduce\n // layout jank.\n this.mathField.focus();\n }\n\n blur() {\n this.mathField.cursor().hide();\n this.mathField.blur();\n }\n\n /**\n * Handle a key press and return the resulting cursor state.\n *\n * @param {Key} key - an enum representing the key that was pressed\n * @returns {object} a cursor object, consisting of a cursor context\n */\n pressKey(key: KeypadKey) {\n const cursor = this.getCursor();\n const translator = this.mobileKeyTranslator[key];\n\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (translator) {\n translator(this.mathField, key);\n }\n\n if (!cursor.selection) {\n // don't show the cursor for selections\n cursor.show();\n }\n\n if (this.callbacks.onSelectionChanged) {\n this.callbacks.onSelectionChanged(cursor.selection);\n }\n\n // NOTE(charlie): It's insufficient to do this as an `edited` handler\n // on the MathField, as that handler isn't triggered on navigation\n // events.\n return {\n context: this.contextForCursor(),\n };\n }\n\n /**\n * Place the cursor beside the node located at the given coordinates.\n *\n * @param {number} x - the x coordinate in the viewport\n * @param {number} y - the y coordinate in the viewport\n * @param {Node} hitNode - the node next to which the cursor should be\n * placed; if provided, the coordinates will be used\n * to determine on which side of the node the cursor\n * should be placed\n */\n setCursorPosition(x: number, y: number, hitNode: HTMLElement) {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n const el = hitNode || document.elementFromPoint(x, y);\n\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (el) {\n const cursor = this.getCursor();\n\n if (el.hasAttribute(\"mq-root-block\")) {\n // If we're in the empty area place the cursor at the right\n // end of the expression.\n cursor.insAtRightEnd(this.mathField.controller().root);\n } else {\n // Otherwise place beside the element at x, y.\n const controller = this.mathField.controller();\n\n const pageX = x - document.body.scrollLeft;\n const pageY = y - document.body.scrollTop;\n controller.seek(el, pageX, pageY).cursor.startSelection();\n\n // Unless that would leave us mid-command, in which case, we\n // need to adjust and place the cursor inside the parens\n // following the command.\n const command = maybeFindCommand(cursor[mathQuillInstance.L]);\n if (command && command.endNode) {\n // NOTE(charlie): endNode should definitely be \\left(.\n cursor.insLeftOf(command.endNode);\n this.mathField.keystroke(\"Right\");\n }\n }\n\n if (this.callbacks.onCursorMove) {\n this.callbacks.onCursorMove({\n context: this.contextForCursor(),\n });\n }\n }\n }\n\n // note(Matthew): extracted this logic to share it elsewhere,\n // but it's part of the public MathWrapper API\n getCursor() {\n return this.mathField.cursor();\n }\n\n // note(Matthew): extracted this logic to keep this file focused,\n // but it's part of the public MathWrapper API\n contextForCursor() {\n return getCursorContext(this.mathField);\n }\n\n getSelection() {\n return this.getCursor().selection;\n }\n\n getContent() {\n return this.mathField.latex();\n }\n\n setContent(latex: string) {\n this.mathField.latex(latex);\n }\n\n isEmpty() {\n const cursor = this.getCursor();\n return cursor.parent.id === 1 && cursor[1] === 0 && cursor[-1] === 0;\n }\n}\n\nexport default MathWrapper;\n","/**\n * A single function used to scroll a DOM node into view, optionally taking into\n * account that it may be obscured by the custom keypad. The logic makes the\n * strong assumption that the keypad will be anchored to the bottom of the page\n * in calculating its height, as this method may be called before the keypad has\n * animated into view.\n */\n\n// HACK(charlie): This should be injected by webapp somehow.\n// TODO(charlie): Add a link to the khan/frontend location as soon as the\n// footer has settled down.\nconst toolbarHeightPx = 60;\n\nexport const scrollIntoView = (containerNode, keypadNode) => {\n const containerBounds = containerNode.getBoundingClientRect();\n const containerBottomPx = containerBounds.bottom;\n const containerTopPx = containerBounds.top;\n\n // Get the element that scrolls the document.\n const scrollNode = document.scrollingElement;\n\n const desiredMarginPx = 16;\n\n if (keypadNode) {\n // NOTE(charlie): We can't use the bounding rect of the keypad,\n // as it is likely in the process of animating in. Instead, to\n // calculate its top, we make the strong assumption that the\n // keypad will end up anchored at the bottom of the page, but above the\n // toolbar, and use its height, which is known at this point. Note that,\n // in the native apps (where the toolbar is rendered natively), this\n // will result in us leaving excess space between the input and the\n // keypad, but that seems okay.\n const pageHeightPx = window.innerHeight;\n const keypadHeightPx = keypadNode.clientHeight;\n const keypadTopPx = pageHeightPx - (keypadHeightPx + toolbarHeightPx);\n\n if (containerBottomPx > keypadTopPx) {\n // If the input would be obscured by the keypad, scroll such that\n // the bottom of the input is just above the top of the keypad,\n // taking care not to scroll the input out of view.\n const scrollOffset = Math.min(\n containerBottomPx - keypadTopPx + desiredMarginPx,\n containerTopPx,\n );\n\n if (scrollNode) {\n scrollNode.scrollTop += scrollOffset;\n }\n return;\n }\n }\n\n // Alternatively, if the input is out of the viewport or nearly out\n // of the viewport, scroll it into view. We can do this regardless\n // of whether the keypad has been provided.\n if (scrollNode && containerTopPx < desiredMarginPx) {\n scrollNode.scrollTop -= containerBounds.height + desiredMarginPx;\n }\n};\n","/* eslint-disable max-lines */\nimport {KeypadContext} from \"@khanacademy/keypad-context\";\nimport {View} from \"@khanacademy/wonder-blocks-core\";\nimport {semanticColor} from \"@khanacademy/wonder-blocks-tokens\";\nimport {entries} from \"@khanacademy/wonder-stuff-core\";\nimport {StyleSheet} from \"aphrodite\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport {MathInputI18nContext} from \"../i18n-context\";\n\nimport CursorHandle from \"./cursor-handle\";\nimport {\n cursorHandleRadiusPx,\n cursorHandleDistanceMultiplier,\n} from \"./cursor-styles\";\nimport DragListener from \"./drag-listener\";\nimport MathWrapper from \"./math-wrapper\";\nimport {scrollIntoView} from \"./scroll-into-view\";\n\nimport type {Cursor, KeypadAPI, KeypadContextType} from \"../../types\";\n\nconst constrainingFrictionFactor = 0.8;\n\ntype Props = {\n keypadElement?: KeypadAPI;\n ariaLabel: string;\n onBlur: () => void;\n onChange: (value: string, callback: any) => void;\n onFocus: () => void;\n style: any;\n value: string;\n};\n\ntype DefaultProps = {\n style: Props[\"style\"];\n value: Props[\"value\"];\n};\n\ntype HandleState = {\n animateIntoPosition?: boolean;\n visible: boolean;\n x?: number;\n y?: number;\n};\n\ntype State = {\n // Whether the input is currently the focused element.\n focused: boolean;\n handle: HandleState;\n // Whether to show the focus style for the input. We are handling this separately, as\n // we want the input to appear focused even when the focus is actually on the keypad.\n showInputFocusStyle: boolean;\n};\n\nclass MathInput extends React.Component<Props, State> {\n static contextType = MathInputI18nContext;\n declare context: React.ContextType<typeof MathInputI18nContext>;\n\n didTouchOutside: boolean | null | undefined;\n didScroll: boolean | null | undefined;\n mathField: any;\n recordTouchStartOutside!: (e: any) => void;\n blurOnTouchEndOutside!: (e: any) => void;\n blurOnClickOutside!: (e: any) => void;\n dragListener: any;\n inputRef: HTMLDivElement | null | undefined;\n _isMounted: boolean | null | undefined;\n _mathContainer: any;\n _container!: HTMLDivElement;\n _root: any;\n _containerBounds!: ClientRect;\n\n static defaultProps: DefaultProps = {\n style: {},\n value: \"\",\n };\n\n state: State = {\n focused: false,\n showInputFocusStyle: false,\n handle: {\n animateIntoPosition: false,\n visible: false,\n x: 0,\n y: 0,\n },\n };\n\n componentDidMount() {\n this._isMounted = true;\n\n this.mathField = new MathWrapper(\n this._mathContainer,\n this.props.ariaLabel,\n this.context.strings,\n this.context.locale,\n {\n onCursorMove: (cursor: Cursor) => {\n this.props.keypadElement?.setCursor(cursor);\n },\n },\n );\n\n this.mathField.setContent(this.props.value);\n\n this._updateInputPadding();\n\n // eslint-disable-next-line no-restricted-syntax\n this._container = ReactDOM.findDOMNode(this) as HTMLDivElement;\n this._root = this._container.querySelector(\".mq-root-block\");\n this._root.addEventListener(\"scroll\", this._handleScroll);\n\n const isWithinKeypadBounds = (x: number, y: number): boolean => {\n const bounds = this._getKeypadBounds();\n\n // If there are no bounds, then the keypad is not mounted, so we\n // assume that the event is not within the keypad bounds.\n if (!bounds) {\n return false;\n }\n\n return (\n (bounds.left <= x &&\n bounds.right >= x &&\n bounds.top <= y &&\n bounds.bottom >= y) ||\n bounds.bottom < y\n );\n };\n\n // Record the initial scroll displacement on touch start. This allows\n // us to detect whether a touch event was a scroll and only blur the\n // input on non-scrolls--blurring the input on scroll makes for a\n // frustrating user experience.\n this.recordTouchStartOutside = (evt: any) => {\n if (this.state.focused) {\n // Only blur if the touch is both outside of the input, and\n // above or to the left or right of the keypad (if it has been\n // provided). The reasoning for not blurring when touches occur\n // below the keypad is that the keypad may be anchored above\n // the 'Check answer' bottom bar, in which case, we don't want\n // to dismiss the keypad on check.\n if (!this._container.contains(evt.target)) {\n let touchDidStartInOrBelowKeypad = false;\n if (\n this.props.keypadElement &&\n this.props.keypadElement.getDOMNode()\n ) {\n for (let i = 0; i < evt.changedTouches.length; i++) {\n const [x, y] = [\n evt.changedTouches[i].clientX,\n evt.changedTouches[i].clientY,\n ];\n if (isWithinKeypadBounds(x, y)) {\n touchDidStartInOrBelowKeypad = true;\n break;\n }\n }\n }\n\n if (!touchDidStartInOrBelowKeypad) {\n this.didTouchOutside = true;\n\n if (this.dragListener) {\n this.dragListener.detach();\n }\n\n this.dragListener = new DragListener(() => {\n this.didScroll = true;\n this.dragListener.detach();\n }, evt);\n this.dragListener.attach();\n }\n }\n }\n };\n\n this.blurOnTouchEndOutside = (evt) => {\n // If the user didn't scroll, blur the input.\n if (this.state.focused && this.didTouchOutside && !this.didScroll) {\n this.blur();\n this.mathField.blur();\n this.props.onBlur?.();\n }\n\n this.didTouchOutside = false;\n this.didScroll = false;\n\n if (this.dragListener) {\n this.dragListener.detach();\n }\n };\n\n // We want to allow the user to blur the input by clicking outside of it\n // when using ChromeOS third-party browsers that use mobile user agents,\n // but don't actually simulate touch events.\n this.blurOnClickOutside = (evt: any) => {\n if (this.state.focused) {\n if (!this._container.contains(evt.target)) {\n if (\n this.props.keypadElement &&\n this.props.keypadElement.getDOMNode()\n ) {\n const [x, y] = [evt.clientX, evt.clientY];\n\n // We only want to blur if the click is above the keypad,\n // to the left of the keypad, or to the right of the keypad.\n // The reasoning for not blurring for any clicks below the keypad is\n // that the keypad may be anchored above the 'Check answer' bottom bar,\n // in which case we don't want to dismiss the keypad on check.\n if (!isWithinKeypadBounds(x, y)) {\n this.blur();\n this.props.onBlur?.();\n }\n }\n }\n }\n };\n\n window.addEventListener(\"touchstart\", this.recordTouchStartOutside);\n window.addEventListener(\"touchend\", this.blurOnTouchEndOutside);\n window.addEventListener(\"touchcancel\", this.blurOnTouchEndOutside);\n window.addEventListener(\"click\", this.blurOnClickOutside);\n }\n\n componentDidUpdate(prevProps: Props, prevState: State) {\n if (this.mathField.getContent() !== this.props.value) {\n this.mathField.setContent(this.props.value);\n }\n\n if (prevState.focused !== this.state.focused) {\n this._updateInputPadding();\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n\n window.removeEventListener(\"touchstart\", this.recordTouchStartOutside);\n window.removeEventListener(\"touchend\", this.blurOnTouchEndOutside);\n window.removeEventListener(\"touchcancel\", this.blurOnTouchEndOutside);\n window.removeEventListener(\"click\", this.blurOnClickOutside);\n }\n\n _updateInputPadding: () => void = () => {\n // eslint-disable-next-line no-restricted-syntax\n this._container = ReactDOM.findDOMNode(this) as HTMLDivElement;\n this._root = this._container.querySelector(\".mq-root-block\");\n\n const padding = this.getInputInnerPadding();\n // NOTE(diedra): This overrides the default 2px padding from Mathquil.\n this._root.style.padding =\n `${padding.paddingTop}px ${padding.paddingRight}px` +\n ` ${padding.paddingBottom}px ${padding.paddingLeft}px`;\n // TODO(LEMS-4238): When Aphrodite is removed, evaluate whether this can be\n // expressed as a font token instead of a raw imperative DOM style.\n this._root.style.fontSize = `${fontSizePt}pt`;\n };\n\n /** Returns the current bounds of the keypadElement */\n _getKeypadBounds(): DOMRect | null {\n const keypadNode = this.props.keypadElement?.getDOMNode();\n\n // If the keypad is mounted, return its bounds. Otherwise, return null.\n if (keypadNode instanceof Element) {\n return keypadNode.getBoundingClientRect();\n }\n\n return null;\n }\n\n _updateCursorHandle: (animateIntoPosition?: boolean) => void = (\n animateIntoPosition,\n ) => {\n const containerBounds = this._container.getBoundingClientRect();\n const cursor: any = this._container.querySelector(\".mq-cursor\");\n const cursorBounds = cursor.getBoundingClientRect();\n\n const cursorWidth = cursorBounds.width;\n const gapBelowCursor = 2;\n\n const inputInnerPadding = this.getInputInnerPadding();\n\n // The cursor should never be further right or left than the edge of the\n // container's values.\n const furthestRightCursorBound =\n containerBounds.right -\n cursorWidth -\n inputInnerPadding.paddingRight;\n const furthestLeftCursorBound =\n containerBounds.left + cursorWidth + inputInnerPadding.paddingLeft;\n\n let cursorBoundsLeft = cursorBounds.left;\n if (cursorBounds.left > furthestRightCursorBound) {\n cursorBoundsLeft = furthestRightCursorBound;\n } else if (cursorBounds.left < furthestLeftCursorBound) {\n cursorBoundsLeft = furthestLeftCursorBound;\n }\n\n this.setState({\n handle: {\n visible: true,\n animateIntoPosition,\n // We subtract containerBounds' left/top to correct for the\n // position of the container within the page.\n x: cursorBoundsLeft + cursorWidth / 2 - containerBounds.left,\n y: cursorBounds.bottom + gapBelowCursor - containerBounds.top,\n },\n });\n };\n\n _hideCursorHandle: () => void = () => {\n this.setState({\n handle: {\n visible: false,\n x: 0,\n y: 0,\n },\n });\n };\n\n _handleScroll: () => void = () => {\n // If animateIntoPosition is false, the user is currently manually positioning\n // the cursor. This is important because the user can scroll the input field\n // with the curor handle, and we don't want to override that ability.\n // But we do want to hide the handle is the user is just scrolling the input field\n // normally, because the handle will not move with the scroll.\n if (this.state.handle.animateIntoPosition !== false) {\n this._hideCursorHandle();\n }\n };\n\n blur: () => void = () => {\n this.mathField.blur();\n\n this.setState({\n showInputFocusStyle: false,\n handle: {\n visible: false,\n },\n });\n };\n\n // [Jan 2025] Third: While testing, I've discovered that we likely don't\n // need to be passing setKeypadActive here at all. Removing the parameter\n // still results in the same behavior.\n focus: (setKeypadActive: KeypadContextType[\"setKeypadActive\"]) => void = (\n setKeypadActive,\n ) => {\n // Pass this component's handleKey method to the keypad so it can call\n // it whenever it needs to trigger a keypress action.\n this.props.keypadElement?.setKeyHandler((key) => {\n const cursor = this.mathField.pressKey(key);\n\n // Trigger an `onChange` if the value in the input changed, and hide\n // the cursor handle whenever the user types a key. If the value\n // changed as a result of a keypress, we need to be careful not to\n // call `setState` until after `onChange` has resolved.\n const hideCursor = () => {\n this.setState({\n handle: {\n visible: false,\n },\n });\n };\n const value = this.mathField.getContent();\n if (this.props.value !== value) {\n this.props.onChange(value, hideCursor);\n } else {\n hideCursor();\n }\n\n return cursor;\n });\n\n this.mathField.focus();\n\n this.props?.onFocus();\n setKeypadActive(true);\n\n this.setState({focused: true, showInputFocusStyle: true}, () => {\n // NOTE(charlie): We use `setTimeout` to allow for a layout pass to\n // occur. Otherwise, the keypad is measured incorrectly. Ideally,\n // we'd use requestAnimationFrame here, but it's unsupported on\n // Android Browser 4.3.\n setTimeout(() => {\n if (this._isMounted) {\n const maybeKeypadNode =\n this.props.keypadElement?.getDOMNode();\n scrollIntoView(this._container, maybeKeypadNode);\n }\n });\n });\n };\n\n /**\n * Tries to determine which DOM node to place the cursor next to based on\n * where the user drags the cursor handle. If it finds a node it will\n * place the cursor next to it, update the handle to be under the cursor,\n * and return true. If it doesn't find a node, it returns false.\n *\n * It searches for nodes by doing it tests at the following points:\n *\n * (x - dx, y), (x, y), (x + dx, y)\n *\n * If it doesn't find any nodes from the rendered math it will update y\n * by adding dy.\n *\n * The algorithm ends its search when y goes outside the bounds of\n * containerBounds.\n *\n * @param {DOMRect} containerBounds - bounds of the container node\n * @param {number} x - the initial x coordinate in the viewport\n * @param {number} y - the initial y coordinate in the viewport\n * @param {number} dx - horizontal spacing between elementFromPoint calls\n * @param {number} dy - vertical spacing between elementFromPoint calls,\n * sign determines direction.\n * @returns {boolean} - true if a node was hit, false otherwise.\n */\n _findHitNode(\n containerBounds: ClientRect,\n x: number,\n y: number,\n dx: number,\n dy: number,\n ): boolean {\n while (y >= containerBounds.top && y <= containerBounds.bottom) {\n y += dy;\n\n const points: [number, number][] = [\n [x - dx, y],\n [x, y],\n [x + dx, y],\n ];\n\n const elements = points\n .map((point) => document.elementFromPoint(...point))\n // We exclude the root container itself and any nodes marked\n // as non-leaf which are fractions, parens, and roots. The\n // children of those nodes are included in the list because\n // those are the items we care about placing the cursor next\n // to.\n //\n // MathQuill's mq-non-leaf is not applied to all non-leaf nodes\n // so the naming is a bit confusing. Although fractions are\n // included, neither mq-numerator nor mq-denominator nodes are\n // and neither are subscripts or superscripts.\n .filter(\n (element) =>\n element &&\n this._root.contains(element) &&\n ((!element.classList.contains(\"mq-root-block\") &&\n !element.classList.contains(\"mq-non-leaf\")) ||\n element.classList.contains(\"mq-empty\") ||\n element.classList.contains(\"mq-hasCursor\")),\n );\n\n let hitNode: Element | null = null;\n\n // Contains only DOMNodes without child elements. These should\n // contain some amount of text though.\n const leafElements: Array<Element | null> = [];\n\n // Contains only DOMNodes with child elements.\n const nonLeafElements: Array<Element | null> = [];\n\n let max = 0;\n const counts: {\n [key: string]: number;\n } = {};\n const elementsById: Record<string, any> = {};\n\n for (const element of elements) {\n const id = element?.getAttribute(\"mathquill-command-id\");\n if (id != null) {\n leafElements.push(element);\n\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n counts[id] = (counts[id] || 0) + 1;\n elementsById[id] = element;\n } else {\n nonLeafElements.push(element);\n }\n }\n\n // When determining which DOMNode to place the cursor beside, we\n // prefer leaf nodes. Hitting a leaf node is a good sign that the\n // cursor is really close to some piece of math that has been\n // rendered because leaf nodes contain text. Non-leaf nodes may\n // contain a lot of whitespace so the cursor may be further away\n // from actual text within the expression.\n //\n // Since we're doing three hit tests per loop it's possible that\n // we hit multiple leaf nodes at the same time. In this case we\n // we prefer the DOMNode with the most hits.\n for (const [id, count] of entries(counts)) {\n if (count > max) {\n max = count;\n hitNode = elementsById[id];\n }\n }\n\n // It's possible that two non-leaf nodes are right beside each\n // other. We don't bother counting the number of hits for each,\n // b/c this seems like an unlikely situation. Also, ignoring the\n // hit count in the situation should not have serious effects on\n // the overall accuracy of the algorithm.\n if (hitNode == null && nonLeafElements.length > 0) {\n hitNode = nonLeafElements[0];\n }\n\n if (hitNode !== null) {\n this.mathField.setCursorPosition(x, y, hitNode);\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Inserts the cursor at the DOM node closest to the given coordinates,\n * based on hit-tests conducted using #_findHitNode.\n *\n * @param {number} x - the x coordinate in the viewport\n * @param {number} y - the y coordinate in the viewport\n */\n _insertCursorAtClosestNode(x: number, y: number) {\n const cursor = this.mathField.getCursor();\n\n // Pre-emptively check if the input has any child nodes; if not, the\n // input is empty, so we throw the cursor at the start.\n if (!this._root.hasChildNodes()) {\n cursor.insAtLeftEnd(this.mathField.mathField.controller().root);\n return;\n }\n\n // NOTE(diedra): The adding and subtracting of 10 or 15 pixels here accounts\n // for the padding that surrounds the input values.\n if (y > this._containerBounds.bottom) {\n y = this._containerBounds.bottom - 10;\n } else if (y < this._containerBounds.top) {\n y = this._containerBounds.top + 10;\n }\n if (x > this._containerBounds.right) {\n x = this._containerBounds.right - 15;\n } else if (x < this._containerBounds.left) {\n x = this._containerBounds.left + 15;\n }\n\n let dy;\n\n // Vertical spacing between hit tests\n // dy is negative because we're moving upwards.\n dy = -8;\n\n // Horizontal spacing between hit tests\n // Note: This value depends on the font size. If the gap is too small\n // we end up placing the cursor at the end of the expression when we\n // shouldn't.\n const dx = 5;\n\n if (this._findHitNode(this._containerBounds, x, y, dx, dy)) {\n return;\n }\n\n // If we haven't found anything start from the top.\n y = this._containerBounds.top;\n\n // dy is positive b/c we're going downwards.\n dy = 8;\n\n if (this._findHitNode(this._containerBounds, x, y, dx, dy)) {\n return;\n }\n\n const firstChildBounds = this._root.firstChild.getBoundingClientRect();\n const lastChildBounds = this._root.lastChild.getBoundingClientRect();\n\n const left = firstChildBounds.left;\n const right = lastChildBounds.right;\n\n // We've exhausted all of the options. We're likely either to the right\n // or left of all of the math, so we place the cursor at the end to\n // which it's closest.\n if (Math.abs(x - right) < Math.abs(x - left)) {\n cursor.insAtRightEnd(this.mathField.mathField.controller().root);\n } else {\n cursor.insAtLeftEnd(this.mathField.mathField.controller().root);\n }\n // In that event, we need to update the cursor context ourselves.\n this.props.keypadElement?.setCursor({\n context: this.mathField.contextForCursor(),\n });\n }\n\n handleTouchStart = (\n e: React.TouchEvent<Element>,\n keypadActive: KeypadContextType[\"keypadActive\"],\n setKeypadActive: KeypadContextType[\"setKeypadActive\"],\n ): void => {\n e.stopPropagation();\n\n // Hide the cursor handle on touch start, if the handle itself isn't\n // handling the touch event.\n this._hideCursorHandle();\n\n // Cache the container bounds, so as to avoid re-computing. If we don't\n // have any content, then it's not necessary, since the cursor can't be\n // moved anyway.\n if (this.mathField.getContent() !== \"\") {\n this._containerBounds = this._container.getBoundingClientRect();\n\n // Make the cursor visible and set the handle-less cursor's\n // location.\n const touch = e.changedTouches[0];\n this._insertCursorAtClosestNode(touch.clientX, touch.clientY);\n }\n\n // If we're already focused, but the keypad isn't active, activate it.\n if (this.state.focused && !keypadActive) {\n setKeypadActive(true);\n }\n\n // Trigger a focus event, if we're not already focused.\n if (!this.state.focused) {\n this.focus(setKeypadActive);\n }\n\n // If the user clicked on the input using a mouse or tap gesture,\n // we want to set the focus to the inputRef so that the keyUp\n // event will be triggered when the user types on the keyboard.\n // This is necessary to support Chromebooks as they use mobile user\n // agents, do not simulate touch events, and have physical keyboards.\n this.inputRef?.focus();\n };\n\n // We want to allow the user to be able to focus the input via click\n // when using ChromeOS third-party browsers that use mobile user agents,\n // but don't actually simulate touch events.\n handleClick = (\n e: React.MouseEvent,\n keypadActive: KeypadContextType[\"keypadActive\"],\n setKeypadActive: KeypadContextType[\"setKeypadActive\"],\n ): void => {\n e.stopPropagation();\n\n // Hide the cursor handle on click\n this._hideCursorHandle();\n\n // Cache the container bounds, so as to avoid re-computing. If we don't\n // have any content, then it's not necessary, since the cursor can't be\n // moved anyway.\n if (this.mathField.getContent() !== \"\") {\n this._containerBounds = this._container.getBoundingClientRect();\n\n // Make the cursor visible and set the handle-less cursor's\n // location.\n this._insertCursorAtClosestNode(e.clientX, e.clientY);\n }\n\n // If we're already focused, but the keypad isn't active, activate it.\n if (this.state.focused && !keypadActive) {\n setKeypadActive(true);\n }\n\n // Trigger a focus event, if we're not already focused.\n if (!this.state.focused) {\n this.focus(setKeypadActive);\n }\n\n // If the user clicked on the input using a mouse or tap gesture,\n // we want to set the focus to the inputRef so that the keyUp\n // event will be triggered when the user types on the keyboard.\n // This is necessary to support Chromebooks as they use mobile user\n // agents, do not simulate touch events, and have physical keyboards.\n this.inputRef?.focus();\n };\n\n handleTouchMove: (e: React.TouchEvent<Element>) => void = (e) => {\n e.stopPropagation();\n\n // Update the handle-less cursor's location on move, if there's any\n // content in the box. Note that if the user touched outside the keypad\n // (e.g., with a different finger) during this touch interaction, we\n // may have blurred, in which case we should ignore the touch (since\n // the cursor is no longer visible and the input is no longer\n // highlighted).\n if (this.mathField.getContent() !== \"\" && this.state.focused) {\n const touch = e.changedTouches[0];\n this._insertCursorAtClosestNode(touch.clientX, touch.clientY);\n }\n };\n\n handleTouchEnd: (e: React.TouchEvent<Element>) => void = (e) => {\n e.stopPropagation();\n\n // And on touch-end, reveal the cursor, unless the input is empty. Note\n // that if the user touched outside the keypad (e.g., with a different\n // finger) during this touch interaction, we may have blurred, in which\n // case we should ignore the touch (since the cursor is no longer\n // visible and the input is no longer highlighted).\n if (this.mathField.getContent() !== \"\" && this.state.focused) {\n this._updateCursorHandle();\n }\n };\n\n /**\n * When a touch starts in the cursor handle, we track it so as to avoid\n * handling any touch events ourself.\n *\n * @param {TouchEvent} e - the raw touch event from the browser\n */\n onCursorHandleTouchStart: (e: React.TouchEvent<HTMLSpanElement>) => void = (\n e,\n ) => {\n // NOTE(charlie): The cursor handle is a child of this view, so whenever\n // it receives a touch event, that event would also typically be bubbled\n // up to our own handlers. However, we want the cursor to handle its own\n // touch events, and for this view to only handle touch events that\n // don't affect the cursor. As such, we `stopPropagation` on any touch\n // events that are being handled by the cursor, so as to avoid handling\n // them in our own touch handlers.\n e.stopPropagation();\n\n e.preventDefault();\n\n // Cache the container bounds, so as to avoid re-computing.\n this._containerBounds = this._container.getBoundingClientRect();\n };\n\n _constrainToBound(\n value: number,\n min: number,\n max: number,\n friction: number,\n ): number {\n if (value < min) {\n return min + (value - min) * friction;\n } else if (value > max) {\n return max + (value - max) * friction;\n } else {\n return value;\n }\n }\n\n /**\n * When the user moves the cursor handle update the position of the cursor\n * and the handle.\n *\n * @param {TouchEvent} e - the raw touch event from the browser\n */\n onCursorHandleTouchMove: (e: React.TouchEvent<HTMLSpanElement>) => void = (\n e,\n ) => {\n e.stopPropagation();\n\n const x = e.changedTouches[0].clientX;\n const y = e.changedTouches[0].clientY;\n\n const relativeX = x - this._containerBounds.left;\n const relativeY =\n y -\n 2 * cursorHandleRadiusPx * cursorHandleDistanceMultiplier -\n this._containerBounds.top;\n\n // We subtract the containerBounds left/top to correct for the\n // MathInput's position on the page. On top of that, we subtract an\n // additional 2 x {height of the cursor} so that the bottom of the\n // cursor tracks the user's finger, to make it visible under their\n // touch.\n this.setState({\n handle: {\n animateIntoPosition: false,\n visible: true,\n x: this._constrainToBound(\n relativeX,\n 0,\n this._containerBounds.width,\n constrainingFrictionFactor,\n ),\n y: this._constrainToBound(\n relativeY,\n 0,\n this._containerBounds.height,\n constrainingFrictionFactor,\n ),\n },\n });\n\n // Use a y-coordinate that's just above where the user is actually\n // touching because they're dragging the handle which is a little\n // below where the cursor actually is.\n const distanceAboveFingerToTrySelecting = 22;\n const adjustedY = y - distanceAboveFingerToTrySelecting;\n\n this._insertCursorAtClosestNode(x, adjustedY);\n };\n\n /**\n * When the user releases the cursor handle, animate it back into place.\n *\n * @param {TouchEvent} e - the raw touch event from the browser\n */\n onCursorHandleTouchEnd: (e: React.TouchEvent<HTMLSpanElement>) => void = (\n e,\n ) => {\n e.stopPropagation();\n\n this._updateCursorHandle(true);\n };\n\n /**\n * If the gesture is cancelled mid-drag, simply hide it.\n *\n * @param {TouchEvent} e - the raw touch event from the browser\n */\n onCursorHandleTouchCancel: (e: React.TouchEvent<HTMLSpanElement>) => void =\n (e) => {\n e.stopPropagation();\n\n this._updateCursorHandle(true);\n };\n\n domKeyToMathQuillKey: (key: string) => string | null | undefined = (\n key,\n ) => {\n const keyMap = {\n \"+\": \"PLUS\",\n \"-\": \"MINUS\",\n \"*\": \"TIMES\",\n \"/\": \"DIVIDE\",\n \".\": \"DECIMAL\",\n \"%\": \"PERCENT\",\n \"=\": \"EQUAL\",\n \">\": \"GT\",\n \"<\": \"LT\",\n \"^\": \"EXP\",\n _: \"SUB\",\n } as const;\n\n // Numbers\n if ([\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"].includes(key)) {\n return `NUM_${key}`;\n }\n\n // Movement keys\n else if (key === \"Backspace\") {\n return \"BACKSPACE\";\n }\n\n // Operators\n else if (key in keyMap) {\n return keyMap[key];\n }\n\n // The key pressed doesn't map to any of the math input operators\n return null;\n };\n\n handleKeyUp: (e: React.KeyboardEvent<HTMLDivElement>) => void = (e) => {\n const mathQuillKey = this.domKeyToMathQuillKey(e.key);\n\n if (mathQuillKey) {\n this.mathField.pressKey(mathQuillKey);\n\n const value = this.mathField.getContent();\n if (this.props.value !== value) {\n this.mathField.setContent(this.props.value);\n this.props.onChange(value, () => {});\n this._hideCursorHandle();\n }\n }\n };\n\n getBorderWidthPx: () => number = () => {\n const normalBorderWidthPx = 1;\n const focusedBorderWidthPx = 2;\n\n return this.state.focused ? focusedBorderWidthPx : normalBorderWidthPx;\n };\n\n // Calculate the appropriate padding based on the border width (which is\n // considered 'padding', since we're using 'border-box') and the fact\n // that MathQuill automatically applies 2px of padding to the inner\n // input.\n getInputInnerPadding: () => {\n paddingTop: number;\n paddingRight: number;\n paddingBottom: number;\n paddingLeft: number;\n } = () => {\n const paddingInset = totalDesiredPadding - this.getBorderWidthPx();\n\n // Now, translate that to the appropriate padding for each direction.\n // The complication here is that we want numerals to be centered within\n // the input. However, Symbola (MathQuill's font of choice) renders\n // numerals with approximately 3px of padding below and 1px of padding\n // above (to make room for ascenders and descenders). So we ignore those\n // padding values for the vertical directions.\n const symbolaPaddingBottom = 3;\n const symbolaPaddingTop = 1;\n // We also add a little padding for the cursor to ensure there's no\n // overflow when the input is empty and set to right aligned.\n const cursorPadding = 2;\n const padding = {\n paddingTop: paddingInset - symbolaPaddingTop,\n paddingRight: paddingInset + cursorPadding,\n paddingBottom: paddingInset - symbolaPaddingBottom,\n paddingLeft: paddingInset + cursorPadding,\n } as const;\n\n return padding;\n };\n\n render(): React.ReactNode {\n const {showInputFocusStyle, handle} = this.state;\n const {style} = this.props;\n\n const innerStyle = {\n ...inlineStyles.innerContainer,\n borderWidth: this.getBorderWidthPx(),\n ...(showInputFocusStyle\n ? {\n borderColor:\n semanticColor.core.border.instructive.default,\n }\n : {}),\n ...style,\n } as const;\n\n // NOTE(diedra): This label explicitly refers to tapping because this field\n // is currently only seen if the user is using a mobile device.\n // We added the tapping instructions because there is currently a bug where\n // Android users need to use two fingers to tap the input field to make the\n // keyboard appear. It should only require one finger, which is how iOS works.\n const ariaLabel =\n this.context.strings.mathInputBox +\n \" \" +\n this.context.strings.fingerTap;\n\n return (\n <KeypadContext.Consumer>\n {({keypadActive, setKeypadActive}) => (\n <View\n style={styles.input}\n onTouchStart={(e) => {\n this.handleTouchStart(\n e,\n keypadActive,\n setKeypadActive,\n );\n }}\n onTouchMove={this.handleTouchMove}\n onTouchEnd={this.handleTouchEnd}\n onClick={(e) => {\n this.handleClick(e, keypadActive, setKeypadActive);\n }}\n role={\"textbox\"}\n aria-label={ariaLabel}\n >\n {/* NOTE(charlie): This is used purely to namespace the styles in\n overrides.css. */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions -- TODO(LEMS-2871): Address a11y error */}\n <div\n className=\"keypad-input\"\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex -- TODO(LEMS-2871): Address a11y error\n tabIndex={0}\n ref={(node) => {\n this.inputRef = node;\n }}\n onFocus={() => {\n this.focus(setKeypadActive);\n }}\n onBlur={this.blur}\n onKeyUp={this.handleKeyUp}\n >\n {/* NOTE(charlie): This element must be styled with inline\n styles rather than with Aphrodite classes, as MathQuill\n modifies the class names on the DOM node. */}\n <div\n ref={(node) => {\n this._mathContainer =\n ReactDOM.findDOMNode(node);\n }}\n style={innerStyle}\n />\n </div>\n {showInputFocusStyle && handle.visible && (\n <CursorHandle\n {...handle}\n onTouchStart={this.onCursorHandleTouchStart}\n onTouchMove={this.onCursorHandleTouchMove}\n onTouchEnd={this.onCursorHandleTouchEnd}\n onTouchCancel={this.onCursorHandleTouchCancel}\n />\n )}\n </View>\n )}\n </KeypadContext.Consumer>\n );\n }\n}\n\nMathInput.contextType = MathInputI18nContext;\n\nconst fontSizePt = 18;\nconst inputMaxWidth = 128;\n\n// The height of numerals in Symbola (rendered at 18pt) is about 20px (though\n// they render at 24px due to padding for ascenders and descenders). We want our\n// box to be laid out such that there's 12px of padding between a numeral and the\n// edge of the input, so we use this 20px number as our 'base height' and\n// account for the ascender and descender padding when computing the additional\n// padding in our `render` method.\nconst numeralHeightPx = 20;\nconst totalDesiredPadding = 12;\nconst minHeightPx = numeralHeightPx + totalDesiredPadding * 2;\nconst minWidthPx = 64;\n\nconst styles = StyleSheet.create({\n input: {\n position: \"relative\",\n display: \"inline-block\",\n verticalAlign: \"middle\",\n maxInlineSize: inputMaxWidth,\n },\n});\n\nconst inlineStyles = {\n // Styles for the inner, MathQuill-ified input element. It's important that\n // these are done with regular inline styles rather than Aphrodite classes\n // as MathQuill adds CSS class names to the element outside of the typical\n // React flow; assigning a class to the element can thus disrupt MathQuill\n // behavior. For example, if the client provided new styles to be applied\n // on focus and the styles here were applied with Aphrodite, then Aphrodite\n // would merge the provided styles with the base styles here, producing a\n // new CSS class name that we would apply to the element, clobbering any CSS\n // class names that MathQuill had applied itself.\n innerContainer: {\n backgroundColor: semanticColor.core.background.base.default,\n minHeight: minHeightPx,\n minWidth: minWidthPx,\n maxWidth: inputMaxWidth,\n boxSizing: \"border-box\",\n position: \"relative\",\n borderStyle: \"solid\",\n borderColor: semanticColor.core.border.neutral.default,\n borderRadius: 4,\n color: semanticColor.core.foreground.neutral.strong,\n },\n} as const;\n\nexport default MathInput;\n","/**\n * This file contains configuration settings for the buttons in the keypad.\n */\n\nimport type {KeyType} from \"../enums\";\nimport type {MathInputStrings} from \"../strings\";\nimport type {KeyConfig} from \"../types\";\nimport type {KeypadKey} from \"@khanacademy/perseus-core\";\n\ntype KeyConfigMapper = (args: {\n key: KeypadKey;\n keyType?: KeyType;\n ariaLabel?: string;\n data?: string;\n}) => KeyConfig;\n\nconst getDefaultOperatorFields: KeyConfigMapper = ({\n key,\n keyType = \"OPERATOR\",\n ariaLabel = key,\n data = key,\n}) => ({\n id: key,\n type: keyType,\n ariaLabel,\n icon: {\n data,\n },\n});\n\nconst getDefaultValueFields: KeyConfigMapper = ({\n key,\n keyType = \"VALUE\",\n ariaLabel = key,\n data = key,\n}) => ({\n id: key,\n type: keyType,\n ariaLabel,\n icon: {\n data,\n },\n});\n\nconst getDefaultNumberFields: KeyConfigMapper = ({\n key,\n data = key.replace(\"NUM_\", \"\"),\n keyType = \"VALUE\",\n ariaLabel = data,\n}) => ({\n id: key,\n type: keyType,\n ariaLabel,\n icon: {\n data,\n },\n});\n\nconst KeyConfigs = (\n strings: MathInputStrings,\n): {\n [key in KeypadKey]: KeyConfig;\n} => ({\n // Basic math\n PLUS: {\n ...getDefaultOperatorFields({\n key: \"PLUS\",\n ariaLabel: strings.plus,\n }),\n },\n MINUS: {\n ...getDefaultOperatorFields({\n key: \"MINUS\",\n ariaLabel: strings.minus,\n }),\n },\n NEGATIVE: {\n ...getDefaultOperatorFields({\n key: \"NEGATIVE\",\n ariaLabel: strings.negative,\n }),\n },\n TIMES: {\n ...getDefaultOperatorFields({\n key: \"TIMES\",\n ariaLabel: strings.times,\n }),\n },\n DIVIDE: {\n ...getDefaultOperatorFields({\n key: \"DIVIDE\",\n ariaLabel: strings.divide,\n }),\n },\n DECIMAL: {\n ...getDefaultOperatorFields({\n key: \"DECIMAL\",\n keyType: \"VALUE\",\n ariaLabel: strings.decimal,\n }),\n },\n PERIOD: {\n ...getDefaultOperatorFields({\n key: \"PERIOD\",\n keyType: \"VALUE\",\n ariaLabel: \".\",\n }),\n },\n PERCENT: {\n ...getDefaultOperatorFields({\n key: \"PERCENT\",\n ariaLabel: strings.percent,\n }),\n },\n CDOT: {\n ...getDefaultOperatorFields({\n key: \"CDOT\",\n ariaLabel: strings.cdot,\n }),\n },\n EQUAL: {\n ...getDefaultOperatorFields({\n key: \"EQUAL\",\n ariaLabel: strings.equalsSign,\n }),\n },\n NEQ: {\n ...getDefaultOperatorFields({\n key: \"NEQ\",\n ariaLabel: strings.notEqualsSign,\n }),\n },\n GT: {\n ...getDefaultOperatorFields({\n key: \"GT\",\n ariaLabel: strings.greaterThanSign,\n }),\n },\n LT: {\n ...getDefaultOperatorFields({\n key: \"LT\",\n ariaLabel: strings.lessThanSign,\n }),\n },\n GEQ: {\n ...getDefaultOperatorFields({\n key: \"GEQ\",\n ariaLabel: strings.greaterThanOrEqualToSign,\n }),\n },\n LEQ: {\n ...getDefaultOperatorFields({\n key: \"LEQ\",\n ariaLabel: strings.lessThanOrEqualSign,\n }),\n },\n // mobile native\n FRAC_INCLUSIVE: {\n ...getDefaultOperatorFields({\n key: \"FRAC_INCLUSIVE\",\n ariaLabel: strings.fractionExpressionInNumerator,\n }),\n },\n // mobile native\n FRAC_EXCLUSIVE: {\n ...getDefaultOperatorFields({\n key: \"FRAC_EXCLUSIVE\",\n ariaLabel: strings.fractionExcludingExpression,\n }),\n },\n // mobile web\n FRAC: {\n ...getDefaultOperatorFields({\n key: \"FRAC\",\n ariaLabel: strings.fractionExcludingExpression,\n }),\n },\n EXP: {\n ...getDefaultOperatorFields({\n key: \"EXP\",\n ariaLabel: strings.customExponent,\n }),\n },\n EXP_2: {\n ...getDefaultOperatorFields({\n key: \"EXP_2\",\n ariaLabel: strings.square,\n }),\n },\n EXP_3: {\n ...getDefaultOperatorFields({\n key: \"EXP_3\",\n ariaLabel: strings.cube,\n }),\n },\n SUB: {\n ...getDefaultOperatorFields({\n key: \"SUB\",\n ariaLabel: strings.subscript,\n }),\n },\n SQRT: {\n ...getDefaultOperatorFields({\n key: \"SQRT\",\n ariaLabel: strings.squareRoot,\n }),\n },\n CUBE_ROOT: {\n ...getDefaultOperatorFields({\n key: \"CUBE_ROOT\",\n ariaLabel: strings.cubeRoot,\n }),\n },\n RADICAL: {\n ...getDefaultOperatorFields({\n key: \"RADICAL\",\n ariaLabel: strings.radicalWithCustomRoot,\n }),\n },\n LEFT_PAREN: {\n ...getDefaultOperatorFields({\n key: \"LEFT_PAREN\",\n ariaLabel: strings.leftParenthesis,\n }),\n },\n RIGHT_PAREN: {\n ...getDefaultOperatorFields({\n key: \"RIGHT_PAREN\",\n ariaLabel: strings.rightParenthesis,\n }),\n },\n LN: {\n ...getDefaultOperatorFields({\n key: \"LN\",\n ariaLabel: strings.naturalLog,\n }),\n },\n LOG: {\n ...getDefaultOperatorFields({\n key: \"LOG\",\n ariaLabel: strings.logBase10,\n }),\n },\n LOG_N: {\n ...getDefaultOperatorFields({\n key: \"LOG_N\",\n ariaLabel: strings.logCustomBase,\n }),\n },\n SIN: {\n ...getDefaultOperatorFields({\n key: \"SIN\",\n ariaLabel: strings.sine,\n }),\n },\n COS: {\n ...getDefaultOperatorFields({\n key: \"COS\",\n ariaLabel: strings.cosine,\n }),\n },\n TAN: {\n ...getDefaultOperatorFields({\n key: \"TAN\",\n ariaLabel: strings.tangent,\n }),\n },\n PI: {\n ...getDefaultValueFields({\n key: \"PI\",\n data: \"\\\\pi\",\n ariaLabel: strings.pi,\n }),\n },\n THETA: {\n ...getDefaultValueFields({\n key: \"THETA\",\n data: \"\\\\theta\",\n ariaLabel: strings.theta,\n }),\n },\n // Input navigation\n UP: {\n ...getDefaultOperatorFields({\n key: \"UP\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.upArrow,\n }),\n },\n RIGHT: {\n ...getDefaultOperatorFields({\n key: \"RIGHT\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.rightArrow,\n }),\n },\n DOWN: {\n ...getDefaultOperatorFields({\n key: \"DOWN\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.downArrow,\n }),\n },\n LEFT: {\n ...getDefaultOperatorFields({\n key: \"LEFT\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.leftArrow,\n }),\n },\n JUMP_OUT_PARENTHESES: {\n ...getDefaultOperatorFields({\n key: \"JUMP_OUT_PARENTHESES\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.navOutOfParentheses,\n }),\n },\n JUMP_OUT_EXPONENT: {\n ...getDefaultOperatorFields({\n key: \"JUMP_OUT_EXPONENT\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.navOutOfExponent,\n }),\n },\n JUMP_OUT_BASE: {\n ...getDefaultOperatorFields({\n key: \"JUMP_OUT_BASE\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.navOutOfBase,\n }),\n },\n JUMP_INTO_NUMERATOR: {\n ...getDefaultOperatorFields({\n key: \"JUMP_INTO_NUMERATOR\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.navIntoNumerator,\n }),\n },\n JUMP_OUT_NUMERATOR: {\n ...getDefaultOperatorFields({\n key: \"JUMP_OUT_NUMERATOR\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.navOutOfNumeratorIntoDenominator,\n }),\n },\n JUMP_OUT_DENOMINATOR: {\n ...getDefaultOperatorFields({\n key: \"JUMP_OUT_DENOMINATOR\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.navOutOfDenominator,\n }),\n },\n BACKSPACE: {\n ...getDefaultOperatorFields({\n key: \"BACKSPACE\",\n keyType: \"INPUT_NAVIGATION\",\n ariaLabel: strings.delete,\n }),\n },\n\n // Keypad navigation\n DISMISS: {\n ...getDefaultOperatorFields({\n key: \"DISMISS\",\n keyType: \"KEYPAD_NAVIGATION\",\n ariaLabel: strings.dismiss,\n }),\n },\n\n // NUMBERS\n NUM_0: {\n ...getDefaultNumberFields({\n key: \"NUM_0\",\n }),\n },\n NUM_1: {\n ...getDefaultNumberFields({\n key: \"NUM_1\",\n }),\n },\n NUM_2: {\n ...getDefaultNumberFields({\n key: \"NUM_2\",\n }),\n },\n NUM_3: {\n ...getDefaultNumberFields({\n key: \"NUM_3\",\n }),\n },\n NUM_4: {\n ...getDefaultNumberFields({\n key: \"NUM_4\",\n }),\n },\n NUM_5: {\n ...getDefaultNumberFields({\n key: \"NUM_5\",\n }),\n },\n NUM_6: {\n ...getDefaultNumberFields({\n key: \"NUM_6\",\n }),\n },\n NUM_7: {\n ...getDefaultNumberFields({\n key: \"NUM_7\",\n }),\n },\n NUM_8: {\n ...getDefaultNumberFields({\n key: \"NUM_8\",\n }),\n },\n NUM_9: {\n ...getDefaultNumberFields({\n key: \"NUM_9\",\n }),\n },\n\n // LETTERS\n A: {\n ...getDefaultValueFields({\n key: \"A\",\n }),\n },\n B: {\n ...getDefaultValueFields({\n key: \"B\",\n }),\n },\n C: {\n ...getDefaultValueFields({\n key: \"C\",\n }),\n },\n D: {\n ...getDefaultValueFields({\n key: \"D\",\n }),\n },\n E: {\n ...getDefaultValueFields({\n key: \"E\",\n }),\n },\n F: {\n ...getDefaultValueFields({\n key: \"F\",\n }),\n },\n G: {\n ...getDefaultValueFields({\n key: \"G\",\n }),\n },\n H: {\n ...getDefaultValueFields({\n key: \"H\",\n }),\n },\n I: {\n ...getDefaultValueFields({\n key: \"I\",\n }),\n },\n J: {\n ...getDefaultValueFields({\n key: \"J\",\n }),\n },\n K: {\n ...getDefaultValueFields({\n key: \"K\",\n }),\n },\n L: {\n ...getDefaultValueFields({\n key: \"L\",\n }),\n },\n M: {\n ...getDefaultValueFields({\n key: \"M\",\n }),\n },\n N: {\n ...getDefaultValueFields({\n key: \"N\",\n }),\n },\n O: {\n ...getDefaultValueFields({\n key: \"O\",\n }),\n },\n P: {\n ...getDefaultValueFields({\n key: \"P\",\n }),\n },\n Q: {\n ...getDefaultValueFields({\n key: \"Q\",\n }),\n },\n R: {\n ...getDefaultValueFields({\n key: \"R\",\n }),\n },\n S: {\n ...getDefaultValueFields({\n key: \"S\",\n }),\n },\n T: {\n ...getDefaultValueFields({\n key: \"T\",\n }),\n },\n U: {\n ...getDefaultValueFields({\n key: \"U\",\n }),\n },\n V: {\n ...getDefaultValueFields({\n key: \"V\",\n }),\n },\n W: {\n ...getDefaultValueFields({\n key: \"W\",\n }),\n },\n X: {\n ...getDefaultValueFields({\n key: \"X\",\n }),\n },\n Y: {\n ...getDefaultValueFields({\n key: \"Y\",\n }),\n },\n Z: {\n ...getDefaultValueFields({\n key: \"Z\",\n }),\n },\n a: {\n ...getDefaultValueFields({\n key: \"a\",\n }),\n },\n b: {\n ...getDefaultValueFields({\n key: \"b\",\n }),\n },\n c: {\n ...getDefaultValueFields({\n key: \"c\",\n }),\n },\n d: {\n ...getDefaultValueFields({\n key: \"d\",\n }),\n },\n e: {\n ...getDefaultValueFields({\n key: \"e\",\n }),\n },\n f: {\n ...getDefaultValueFields({\n key: \"f\",\n }),\n },\n g: {\n ...getDefaultValueFields({\n key: \"g\",\n }),\n },\n h: {\n ...getDefaultValueFields({\n key: \"h\",\n }),\n },\n i: {\n ...getDefaultValueFields({\n key: \"i\",\n }),\n },\n j: {\n ...getDefaultValueFields({\n key: \"j\",\n }),\n },\n k: {\n ...getDefaultValueFields({\n key: \"k\",\n }),\n },\n l: {\n ...getDefaultValueFields({\n key: \"l\",\n }),\n },\n m: {\n ...getDefaultValueFields({\n key: \"m\",\n }),\n },\n n: {\n ...getDefaultValueFields({\n key: \"n\",\n }),\n },\n o: {\n ...getDefaultValueFields({\n key: \"o\",\n }),\n },\n p: {\n ...getDefaultValueFields({\n key: \"p\",\n }),\n },\n q: {\n ...getDefaultValueFields({\n key: \"q\",\n }),\n },\n r: {\n ...getDefaultValueFields({\n key: \"r\",\n }),\n },\n s: {\n ...getDefaultValueFields({\n key: \"s\",\n }),\n },\n t: {\n ...getDefaultValueFields({\n key: \"t\",\n }),\n },\n u: {\n ...getDefaultValueFields({\n key: \"u\",\n }),\n },\n v: {\n ...getDefaultValueFields({\n key: \"v\",\n }),\n },\n w: {\n ...getDefaultValueFields({\n key: \"w\",\n }),\n },\n x: {\n ...getDefaultValueFields({\n key: \"x\",\n }),\n },\n y: {\n ...getDefaultValueFields({\n key: \"y\",\n }),\n },\n z: {\n ...getDefaultValueFields({\n key: \"z\",\n }),\n },\n});\n\nexport default KeyConfigs;\n","/* eslint-disable max-lines */\n/*\nThe SVGs in this file should be treated as binary assets. If, in the future,\nwe need to make changes to update the color or size or shape of the glyph\nthen we should take the new asset, copy it, and paste it under the right\nheader.\n\nThis makes it as easy as possible for a designer to make an update to an\nasset.\n\nIn the future it would be great if these were included from files so that\nno copying and pasting is necessary.\n*/\nimport {getDecimalSeparator, getDivideSymbol} from \"@khanacademy/perseus-core\";\nimport {semanticColor} from \"@khanacademy/wonder-blocks-tokens\";\nimport * as React from \"react\";\n\nimport {useMathInputI18n} from \"../i18n-context\";\n\nimport type {KeypadKey} from \"@khanacademy/perseus-core\";\n\ntype Props = {id: KeypadKey};\n\nexport default function ButtonAsset({id}: Props): React.ReactNode {\n const {locale, strings} = useMathInputI18n();\n switch (id) {\n case \"NUM_0\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M26.299 20.3598c0 1.512-.164 2.82-.492 3.924-.32 1.104-.764 2.02-1.332 2.748-.568.728-1.236 1.268-2.004 1.62-.768.352-1.596.528-2.484.528-.888 0-1.716-.176-2.484-.528-.768-.352-1.436-.892-2.004-1.62-.56-.728-1-1.644-1.32-2.748-.32-1.104-.48-2.412-.48-3.924s.16-2.82.48-3.924c.32-1.112.76-2.028 1.32-2.748.568-.728 1.236-1.268 2.004-1.62.768-.36 1.596-.54 2.484-.54.888 0 1.716.18 2.484.54.768.352 1.436.892 2.004 1.62.568.72 1.012 1.636 1.332 2.748.328 1.104.492 2.412.492 3.924zm-2.664 0c0-1.28-.104-2.344-.312-3.192-.2-.856-.468-1.54-.804-2.052s-.724-.876-1.164-1.092c-.44-.216-.896-.324-1.368-.324-.48 0-.94.108-1.38.324-.432.216-.816.58-1.152 1.092-.336.512-.604 1.196-.804 2.052-.2.848-.3 1.912-.3 3.192 0 1.28.1 2.348.3 3.204.2.848.468 1.528.804 2.04s.72.876 1.152 1.092c.44.216.9.324 1.38.324.472 0 .928-.108 1.368-.324.44-.216.828-.58 1.164-1.092.336-.512.604-1.192.804-2.04.208-.856.312-1.924.312-3.204z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NUM_1\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M25.363 27.0441v1.956h-9.42v-1.956h3.6v-10.824c0-.384.012-.776.036-1.176l-2.772 2.34c-.12.096-.244.16-.372.192-.12.024-.236.024-.348 0-.104-.024-.2-.06-.288-.108-.08-.056-.144-.116-.192-.18l-.804-1.128 5.208-4.476h2.1v15.36h3.252z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NUM_2\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M24.8471 26.5638c.28 0 .5.084.66.252.16.16.24.368.24.624v1.56h-11.688v-.876c0-.176.036-.36.108-.552.072-.192.188-.368.348-.528l5.376-5.388c.456-.456.86-.892 1.212-1.308.36-.416.664-.832.912-1.248.256-.416.448-.836.576-1.26.136-.432.204-.884.204-1.356 0-.456-.072-.856-.216-1.2-.136-.352-.328-.64-.576-.864-.24-.232-.532-.404-.876-.516-.336-.12-.708-.18-1.116-.18-.392 0-.756.056-1.092.168-.328.112-.624.268-.888.468-.256.2-.472.44-.648.72-.168.272-.292.572-.372.9-.12.328-.276.548-.468.66-.184.112-.456.136-.816.072l-1.356-.24c.12-.816.344-1.532.672-2.148.336-.616.756-1.128 1.26-1.536.504-.416 1.08-.728 1.728-.936.656-.216 1.364-.324 2.124-.324.768 0 1.472.116 2.112.348.648.224 1.204.548 1.668.972.472.416.84.924 1.104 1.524.264.6.396 1.276.396 2.028 0 .64-.096 1.232-.288 1.776-.184.544-.436 1.064-.756 1.56s-.696.98-1.128 1.452c-.424.464-.872.936-1.344 1.416l-4.176 4.272c.344-.096.688-.172 1.032-.228.352-.056.684-.084.996-.084h5.076z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NUM_3\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.4552 16.4718c.12-.816.344-1.532.672-2.148.336-.616.756-1.128 1.26-1.536.504-.416 1.08-.728 1.728-.936.656-.216 1.364-.324 2.124-.324.768 0 1.464.112 2.088.336.632.216 1.172.52 1.62.912.456.392.804.86 1.044 1.404.248.544.372 1.14.372 1.788 0 .552-.068 1.04-.204 1.464-.128.416-.316.784-.564 1.104-.24.32-.536.588-.888.804-.352.216-.748.396-1.188.54 1.072.312 1.876.812 2.412 1.5.536.68.804 1.536.804 2.568 0 .832-.156 1.572-.468 2.22-.312.648-.736 1.196-1.272 1.644-.528.448-1.148.792-1.86 1.032-.704.232-1.452.348-2.244.348-.888 0-1.656-.104-2.304-.312-.648-.216-1.208-.52-1.68-.912-.464-.4-.852-.88-1.164-1.44-.312-.56-.576-1.188-.792-1.884l1.116-.468c.296-.128.576-.164.84-.108.272.056.468.204.588.444.128.256.272.532.432.828.16.288.364.556.612.804.256.24.568.444.936.612.376.16.836.24 1.38.24.552 0 1.032-.088 1.44-.264.416-.184.76-.416 1.032-.696.28-.288.488-.608.624-.96s.204-.7.204-1.044c0-.432-.052-.828-.156-1.188-.104-.368-.308-.68-.612-.936-.296-.256-.72-.456-1.272-.6-.544-.152-1.26-.228-2.148-.228v-1.86c.728-.008 1.34-.08 1.836-.216.504-.144.904-.336 1.2-.576.304-.248.52-.544.648-.888.136-.344.204-.72.204-1.128 0-.44-.068-.828-.204-1.164-.136-.336-.328-.616-.576-.84-.24-.232-.528-.404-.864-.516-.336-.112-.708-.168-1.116-.168-.392 0-.756.056-1.092.168-.328.112-.624.268-.888.468-.256.2-.472.44-.648.72-.176.272-.304.572-.384.9-.112.328-.264.548-.456.66-.184.112-.456.136-.816.072l-1.356-.24z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NUM_4\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M21.691 22.616v-6.312c0-.504.036-1.056.108-1.656l-5.808 7.968h5.7zm4.632 0v1.488c0 .144-.048.268-.144.372-.088.104-.224.156-.408.156h-1.836V29h-2.244v-4.368h-7.476c-.184 0-.344-.052-.48-.156-.128-.112-.212-.248-.252-.408l-.264-1.32 8.292-11.04h2.424v10.908h2.388z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NUM_5\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M17.6591 18.1042c.416-.088.812-.152 1.188-.192.384-.04.752-.06 1.104-.06.904 0 1.7.136 2.388.408.696.264 1.276.632 1.74 1.104.472.472.824 1.028 1.056 1.668.24.632.36 1.32.36 2.064 0 .92-.16 1.756-.48 2.508-.32.752-.764 1.396-1.332 1.932-.568.528-1.24.936-2.016 1.224-.768.288-1.6.432-2.496.432-.528 0-1.032-.052-1.512-.156-.472-.104-.916-.244-1.332-.42-.416-.184-.8-.392-1.152-.624-.352-.24-.668-.488-.948-.744l.792-1.104c.168-.24.392-.36.672-.36.176 0 .368.064.576.192.208.128.448.268.72.42.28.144.608.28.984.408.376.128.824.192 1.344.192.568 0 1.076-.092 1.524-.276.448-.184.824-.44 1.128-.768.312-.336.548-.736.708-1.2.16-.464.24-.972.24-1.524 0-.504-.076-.956-.228-1.356-.144-.4-.364-.74-.66-1.02-.288-.28-.652-.492-1.092-.636-.44-.152-.948-.228-1.524-.228-.424 0-.86.036-1.308.108-.44.072-.888.184-1.344.336l-1.608-.456 1.416-8.256h8.364v1.116c0 .368-.116.668-.348.9-.232.232-.62.348-1.164.348h-5.064l-.696 4.02z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NUM_6\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M19.975 27.0562c.52 0 .996-.084 1.428-.252.432-.176.8-.416 1.104-.72.312-.304.552-.664.72-1.08.168-.416.252-.868.252-1.356 0-.528-.084-1-.252-1.416-.16-.424-.392-.78-.696-1.068-.296-.288-.656-.508-1.08-.66-.416-.16-.876-.24-1.38-.24-.52 0-.992.088-1.416.264-.416.176-.772.416-1.068.72-.296.304-.524.66-.684 1.068-.16.408-.24.84-.24 1.296 0 .512.072.98.216 1.404.144.424.356.788.636 1.092.28.296.624.528 1.032.696.416.168.892.252 1.428.252zm-.948-8.976c-.128.16-.252.312-.372.456l-.336.432c.368-.208.772-.372 1.212-.492.44-.12.912-.18 1.416-.18.672 0 1.316.112 1.932.336.616.216 1.156.544 1.62.984.472.432.848.972 1.128 1.62.28.64.42 1.38.42 2.22 0 .8-.148 1.548-.444 2.244-.288.696-.696 1.304-1.224 1.824-.528.512-1.164.92-1.908 1.224-.736.296-1.552.444-2.448.444-.896 0-1.704-.144-2.424-.432-.72-.288-1.336-.692-1.848-1.212-.504-.528-.892-1.16-1.164-1.896-.272-.736-.408-1.556-.408-2.46 0-.784.168-1.604.504-2.46.336-.856.856-1.756 1.56-2.7l4.248-5.7c.128-.168.312-.312.552-.432.248-.12.524-.18.828-.18h2.28l-5.124 6.36z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NUM_7\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M26.083 11.7202v1.14c0 .336-.036.608-.108.816-.072.208-.144.384-.216.528l-6.828 13.896c-.12.256-.292.472-.516.648-.216.168-.504.252-.864.252h-1.86l6.96-13.668c.128-.248.256-.472.384-.672.128-.2.272-.392.432-.576h-8.628c-.16 0-.3-.06-.42-.18-.12-.128-.18-.272-.18-.432v-1.752h11.844z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NUM_8\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M19.999 27.1518c.52 0 .984-.072 1.392-.216.408-.152.748-.36 1.02-.624.28-.272.492-.592.636-.96.144-.368.216-.768.216-1.2 0-.528-.084-.984-.252-1.368-.16-.384-.388-.7-.684-.948-.288-.256-.632-.444-1.032-.564-.4-.128-.832-.192-1.296-.192-.464 0-.896.064-1.296.192-.4.12-.748.308-1.044.564-.288.248-.516.564-.684.948-.16.384-.24.84-.24 1.368 0 .432.072.832.216 1.2.144.368.352.688.624.96.28.264.624.472 1.032.624.408.144.872.216 1.392.216zm0-13.644c-.472 0-.888.072-1.248.216-.352.144-.644.336-.876.576-.232.24-.408.524-.528.852-.112.32-.168.66-.168 1.02s.048.712.144 1.056c.104.344.264.652.48.924.224.264.516.476.876.636.36.16.8.24 1.32.24s.96-.08 1.32-.24c.36-.16.648-.372.864-.636.224-.272.384-.58.48-.924.104-.344.156-.696.156-1.056 0-.36-.06-.7-.18-1.02-.112-.328-.288-.612-.528-.852-.232-.24-.524-.432-.876-.576-.352-.144-.764-.216-1.236-.216zm2.724 6.48c1.064.328 1.86.848 2.388 1.56.536.712.804 1.596.804 2.652 0 .76-.144 1.448-.432 2.064-.288.616-.692 1.14-1.212 1.572-.52.432-1.144.768-1.872 1.008-.72.232-1.52.348-2.4.348-.88 0-1.684-.116-2.412-.348-.72-.24-1.34-.576-1.86-1.008-.52-.432-.924-.956-1.212-1.572-.288-.616-.432-1.304-.432-2.064 0-1.056.264-1.94.792-2.652.536-.712 1.336-1.232 2.4-1.56-.864-.344-1.516-.844-1.956-1.5-.432-.656-.648-1.444-.648-2.364 0-.648.128-1.252.384-1.812s.616-1.044 1.08-1.452c.472-.416 1.036-.74 1.692-.972.656-.24 1.38-.36 2.172-.36.792 0 1.512.12 2.16.36.656.232 1.216.556 1.68.972.472.408.836.892 1.092 1.452.264.56.396 1.164.396 1.812 0 .92-.22 1.708-.66 2.364-.432.656-1.08 1.156-1.944 1.5z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NUM_9\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.735 16.8558c0 1.024.272 1.812.816 2.364.552.544 1.32.816 2.304.816.528 0 .992-.084 1.392-.252.408-.168.752-.392 1.032-.672.28-.288.492-.62.636-.996.144-.384.216-.792.216-1.224 0-.504-.08-.952-.24-1.344-.152-.4-.372-.74-.66-1.02-.28-.28-.616-.492-1.008-.636-.392-.152-.82-.228-1.284-.228-.488 0-.928.08-1.32.24-.392.16-.728.384-1.008.672-.28.28-.496.616-.648 1.008-.152.384-.228.808-.228 1.272zm4.428 5.364c.16-.2.308-.388.444-.564.136-.184.264-.368.384-.552-.416.296-.88.524-1.392.684-.512.152-1.056.228-1.632.228-.624 0-1.224-.104-1.8-.312-.576-.216-1.088-.532-1.536-.948-.448-.424-.808-.944-1.08-1.56-.264-.624-.396-1.34-.396-2.148 0-.76.14-1.476.42-2.148.288-.672.688-1.256 1.2-1.752.512-.504 1.124-.9 1.836-1.188.712-.288 1.5-.432 2.364-.432.856 0 1.632.14 2.328.42.696.272 1.288.66 1.776 1.164.488.496.864 1.092 1.128 1.788.264.688.396 1.448.396 2.28 0 .52-.048 1.012-.144 1.476-.088.464-.22.916-.396 1.356-.168.432-.376.86-.624 1.284-.24.416-.512.84-.816 1.272l-4.068 5.832c-.12.176-.3.32-.54.432-.232.112-.496.168-.792.168h-2.364l5.304-6.78z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"DECIMAL\":\n case \"PERIOD\":\n // Different locales use different symbols for the decimal separator\n // (, vs .)\n if (id === \"DECIMAL\" && getDecimalSeparator(locale) !== \".\") {\n // comma decimal separator\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"comma-decimal\"\n >\n <path\n d=\"M11.5559 25.3544C11.8679 24.661 12.1799 23.933 12.4919 23.1704C12.8039 22.425 13.0986 21.6884 13.3759 20.9604C13.6706 20.2324 13.9219 19.5737 14.1299 18.9844H16.6259L16.7299 19.2704C16.4526 19.877 16.1232 20.5357 15.7419 21.2464C15.3606 21.9397 14.9619 22.633 14.5459 23.3264C14.1299 24.037 13.7139 24.713 13.2979 25.3544H11.5559Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n // period / US decimal separator\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"period-decimal\"\n >\n <path\n d=\"M18.3401 27.512c0-.232.04-.448.12-.648.088-.208.204-.388.348-.54.152-.152.328-.272.528-.36.208-.088.428-.132.66-.132.232 0 .448.044.648.132.208.088.388.208.54.36.152.152.272.332.36.54.088.2.132.416.132.648 0 .24-.044.46-.132.66-.088.2-.208.376-.36.528-.152.152-.332.268-.54.348-.2.088-.416.132-.648.132-.232 0-.452-.044-.66-.132-.2-.08-.376-.196-.528-.348-.144-.152-.26-.328-.348-.528-.08-.2-.12-.42-.12-.66z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"PLUS\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 20c0-.5523.4477-1 1-1h14c.5523 0 1 .4477 1 1s-.4477 1-1 1H13c-.5523 0-1-.4477-1-1z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 28c-.5523 0-1-.4477-1-1V13c0-.5523.4477-1 1-1s1 .4477 1 1v14c0 .5523-.4477 1-1 1z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"MINUS\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 20c0-.5523.4477-1 1-1h14c.5523 0 1 .4477 1 1s-.4477 1-1 1H13c-.5523 0-1-.4477-1-1z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"TIMES\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.3432 14.3428c.3905-.3905 1.0237-.3905 1.4142 0l9.8995 9.8995c.3905.3906.3905 1.0237 0 1.4143-.3905.3905-1.0237.3905-1.4142 0l-9.8995-9.8995c-.3905-.3906-.3905-1.0237 0-1.4143z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.3431 25.6573c-.3905-.3905-.3905-1.0237 0-1.4142l9.8995-9.8995c.3905-.3905 1.0237-.3905 1.4142 0 .3905.3905.3905 1.0237 0 1.4142l-9.8995 9.8995c-.3905.3905-1.0237.3905-1.4142 0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"CDOT\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_874_41555)\">\n <circle cx=\"20\" cy=\"20\" r=\"1.5\" fill=\"currentColor\" />\n </g>\n <defs>\n <clipPath id=\"clip0_874_41555\">\n <path\n transform=\"translate(18.5 18.5)\"\n d=\"M0 0h3v3H0z\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n case \"DIVIDE\":\n // Different locales use different division symbols\n if (getDivideSymbol(locale) === \":\") {\n // colon divide symbol (:)\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n >\n <path\n d=\"M18.332 24.3801C18.332 24.1481 18.372 23.9321 18.452 23.7321C18.54 23.5241 18.656 23.3441 18.8 23.1921C18.952 23.0401 19.128 22.9201 19.328 22.8321C19.536 22.7441 19.756 22.7001 19.988 22.7001C20.22 22.7001 20.436 22.7441 20.636 22.8321C20.844 22.9201 21.024 23.0401 21.176 23.1921C21.328 23.3441 21.448 23.5241 21.536 23.7321C21.624 23.9321 21.668 24.1481 21.668 24.3801C21.668 24.6201 21.624 24.8401 21.536 25.0401C21.448 25.2401 21.328 25.4161 21.176 25.5681C21.024 25.7201 20.844 25.8361 20.636 25.9161C20.436 26.0041 20.22 26.0481 19.988 26.0481C19.756 26.0481 19.536 26.0041 19.328 25.9161C19.128 25.8361 18.952 25.7201 18.8 25.5681C18.656 25.4161 18.54 25.2401 18.452 25.0401C18.372 24.8401 18.332 24.6201 18.332 24.3801ZM18.332 15.6321C18.332 15.4001 18.372 15.1841 18.452 14.9841C18.54 14.7761 18.656 14.5961 18.8 14.4441C18.952 14.2921 19.128 14.1721 19.328 14.0841C19.536 13.9961 19.756 13.9521 19.988 13.9521C20.22 13.9521 20.436 13.9961 20.636 14.0841C20.844 14.1721 21.024 14.2921 21.176 14.4441C21.328 14.5961 21.448 14.7761 21.536 14.9841C21.624 15.1841 21.668 15.4001 21.668 15.6321C21.668 15.8721 21.624 16.0921 21.536 16.2921C21.448 16.4921 21.328 16.6681 21.176 16.8201C21.024 16.9721 20.844 17.0921 20.636 17.1801C20.436 17.2601 20.22 17.3001 19.988 17.3001C19.756 17.3001 19.536 17.2601 19.328 17.1801C19.128 17.0921 18.952 16.9721 18.8 16.8201C18.656 16.6681 18.54 16.4921 18.452 16.2921C18.372 16.0921 18.332 15.8721 18.332 15.6321Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n // US divide symbol (÷)\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 16c.8284 0 1.5-.6716 1.5-1.5S20.8284 13 20 13s-1.5.6716-1.5 1.5.6716 1.5 1.5 1.5zm-8 4c0-.5523.4477-1 1-1h14c.5523 0 1 .4477 1 1s-.4477 1-1 1H13c-.5523 0-1-.4477-1-1zm9.5 5.5c0 .8284-.6716 1.5-1.5 1.5s-1.5-.6716-1.5-1.5.6716-1.5 1.5-1.5 1.5.6716 1.5 1.5z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"LEFT_PAREN\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.6402 9.2318c.4243.35357.4816.9841.128 1.4084-4.6909 5.6292-4.6909 13.0905 0 18.7196.3536.4243.2963 1.0549-.128 1.4084-.4243.3536-1.0549.2963-1.4084-.128-5.3091-6.3708-5.3091-14.9095 0-21.28036.3535-.42428.9841-.4816 1.4084-.12804z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"RIGHT_PAREN\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.3598 9.2318c.4243-.35356 1.0549-.29624 1.4084.12804 5.3091 6.37086 5.3091 14.90956 0 21.28036-.3535.4243-.9841.4816-1.4084.128-.4242-.3535-.4816-.9841-.128-1.4084 4.691-5.6291 4.691-13.0904 0-18.7196-.3536-.4243-.2962-1.05483.128-1.4084z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n case \"BACKSPACE\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 20l6-6h12.1716v12H16l-6-6zm-1.41421-1.4142l6.00001-6C14.9609 12.2107 15.4696 12 16 12h12.1716c1.1045 0 2 .8954 2 2v12c0 1.1046-.8955 2-2 2H16c-.5304 0-1.0391-.2107-1.4142-.5858l-6.00001-6c-.78105-.781-.78105-2.0474 0-2.8284zm13.87871-1.2929l-1.2929 1.2929-1.2929-1.2929c-.3905-.3905-1.0237-.3905-1.4142 0-.3905.3905-.3905 1.0237 0 1.4142L19.7574 20l-1.2929 1.2929c-.3905.3905-.3905 1.0237 0 1.4142.3905.3905 1.0237.3905 1.4142 0l1.2929-1.2929 1.2929 1.2929c.3905.3905 1.0237.3905 1.4142 0 .3906-.3905.3906-1.0237 0-1.4142L22.5858 20l1.2929-1.2929c.3906-.3905.3906-1.0237 0-1.4142-.3905-.3905-1.0237-.3905-1.4142 0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"DISMISS\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n fill=\"currentColor\"\n viewBox=\"0 0 256 256\"\n >\n <path\n // flip to point down\n transform=\"scale(1,-1) translate(0, -260)\"\n d=\"M205.66,125.66a8,8,0,0,1-11.32,0L128,59.31,61.66,125.66a8,8,0,0,1-11.32-11.32l72-72a8,8,0,0,1,11.32,0l72,72A8,8,0,0,1,205.66,125.66Z\"\n />\n </svg>\n );\n case \"FRAC_INCLUSIVE\":\n case \"FRAC_EXCLUSIVE\":\n case \"FRAC\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16 10C16 9.44772 16.4477 9 17 9H23C23.5523 9 24 9.44772 24 10V16C24 16.5523 23.5523 17 23 17H17C16.4477 17 16 16.5523 16 16V10ZM18 11H22V15H18V11ZM14 20C14 19.4477 14.4477 19 15 19H25C25.5523 19 26 19.4477 26 20C26 20.5523 25.5523 21 25 21H15C14.4477 21 14 20.5523 14 20ZM17 23C16.4477 23 16 23.4477 16 24V30C16 30.5523 16.4477 31 17 31H23C23.5523 31 24 30.5523 24 30V24C24 23.4477 23.5523 23 23 23H17ZM22 25H18V29H22V25Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"NEGATIVE\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.9571 13.2929c.3905.3905.3905 1.0237 0 1.4142C11.6871 15.9771 11 17.9485 11 20c0 2.0515.6871 4.0229 1.9571 5.2929.3905.3905.3905 1.0237 0 1.4142-.3905.3905-1.0237.3905-1.4142 0C9.81292 24.9771 9 22.4485 9 20c0-2.4485.81292-4.9771 2.5429-6.7071.3905-.3905 1.0237-.3905 1.4142 0zM14 20c0-.5523.4477-1 1-1h10c.5523 0 1 .4477 1 1s-.4477 1-1 1H15c-.5523 0-1-.4477-1-1zm14.4571-6.7071c-.3905-.3905-1.0237-.3905-1.4142 0-.3905.3905-.3905 1.0237 0 1.4142C28.3129 15.9771 29 17.9485 29 20c0 2.0515-.6871 4.0229-1.9571 5.2929-.3905.3905-.3905 1.0237 0 1.4142.3905.3905 1.0237.3905 1.4142 0C30.1871 24.9771 31 22.4485 31 20c0-2.4485-.8129-4.9771-2.5429-6.7071z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"RADICAL\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M9 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V9Zm2 1h4v4h-4v-4Zm12 2a1 1 0 0 0-.841.46l-8.174 12.714-3.153-4.729a1 1 0 0 0-1.664 1.11l4 6a1 1 0 0 0 1.673-.014L23.546 14H30a1 1 0 1 0 0-2h-7Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"SQRT\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M22.159 12.46A1 1 0 0 1 23 12h7a1 1 0 1 1 0 2h-6.454l-8.705 13.54a1 1 0 0 1-1.673.015l-4-6a1 1 0 0 1 1.664-1.11l3.153 4.73 8.174-12.716Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"CUBE_ROOT\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M9.684 9.246a3.052 3.052 0 0 0-.33 1.023l.798.143c.209.033.368.02.478-.038.11-.063.2-.186.27-.369a1.05 1.05 0 0 1 .154-.324c.07-.1.152-.186.247-.259.1-.073.21-.13.33-.17.125-.044.26-.066.407-.066.334 0 .59.091.77.275.184.183.275.449.275.797 0 .165-.024.317-.071.457a.746.746 0 0 1-.248.357 1.297 1.297 0 0 1-.5.231 3.359 3.359 0 0 1-.82.083v1.067c.4 0 .715.029.946.088.235.055.41.135.528.242a.674.674 0 0 1 .231.38c.033.146.05.31.05.494 0 .14-.028.28-.083.424a1.116 1.116 0 0 1-.632.649c-.158.07-.343.104-.556.104-.169 0-.319-.024-.45-.071a1.197 1.197 0 0 1-.347-.198 1.738 1.738 0 0 1-.28-.308 3.794 3.794 0 0 1-.232-.385.457.457 0 0 0-.33-.242.809.809 0 0 0-.49.06l-.67.275c.12.356.262.668.423.935.162.264.354.484.578.66.227.176.49.308.786.396.297.088.64.132 1.029.132a3.55 3.55 0 0 0 1.05-.154c.338-.106.633-.264.886-.473a2.3 2.3 0 0 0 .605-.775c.15-.312.225-.671.225-1.078 0-.92-.458-1.531-1.375-1.832a2.24 2.24 0 0 0 .523-.247 1.47 1.47 0 0 0 .621-.864 2.47 2.47 0 0 0 .083-.67c0-.287-.057-.555-.17-.804a1.9 1.9 0 0 0-.48-.654 2.254 2.254 0 0 0-.77-.44c-.3-.11-.641-.165-1.022-.165-.36 0-.695.05-1.007.148a2.47 2.47 0 0 0-.825.435 2.42 2.42 0 0 0-.605.731ZM23 12a1 1 0 0 0-.841.46l-8.174 12.714-3.153-4.729a1 1 0 0 0-1.664 1.11l4 6a1 1 0 0 0 1.673-.014L23.546 14H30a1 1 0 1 0 0-2h-7Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"EXP\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M28 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V8Zm2 1h4v4h-4V9Zm-16 4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H15a1 1 0 0 1-1-1V13Zm2 1h8v12h-8V14Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"SUB\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M14 13a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H15a1 1 0 0 1-1-1V13Zm2 1h8v12h-8V14Zm12 12a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-6Zm2 1h4v4h-4v-4Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"EXP_2\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M33.58 13.746a.52.52 0 0 0-.386-.137h-1.793c-.161 0-.334.016-.517.05a4.09 4.09 0 0 0-.555.126l1.694-1.733c.212-.216.414-.43.605-.643.19-.213.357-.431.5-.655a3.22 3.22 0 0 0 .347-.715c.084-.25.126-.52.126-.814 0-.34-.06-.653-.181-.935a2.033 2.033 0 0 0-.512-.72 2.293 2.293 0 0 0-.797-.468 2.952 2.952 0 0 0-1.029-.17c-.36 0-.695.05-1.006.148a2.43 2.43 0 0 0-.83.435 2.42 2.42 0 0 0-.606.731 3.049 3.049 0 0 0-.33 1.023l.803.143c.205.033.363.02.473-.038.114-.063.204-.186.27-.369a1.05 1.05 0 0 1 .154-.324 1.18 1.18 0 0 1 .247-.259c.1-.073.21-.13.33-.17.125-.044.26-.066.407-.066.334 0 .592.093.776.28.183.183.275.453.275.809 0 .201-.026.394-.077.577a2.407 2.407 0 0 1-.231.545 4.17 4.17 0 0 1-.385.544 9.098 9.098 0 0 1-.534.578l-2.365 2.37a.897.897 0 0 0-.264.616V15h5.533v-.89a.48.48 0 0 0-.143-.364ZM14 13a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H15a1 1 0 0 1-1-1V13Zm2 1h8v12h-8V14Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"EXP_3\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M28.684 8.246a3.049 3.049 0 0 0-.33 1.023l.798.143c.209.033.368.02.478-.038.11-.063.2-.186.27-.369a1.05 1.05 0 0 1 .154-.324 1.18 1.18 0 0 1 .247-.259c.1-.073.21-.13.33-.17.125-.044.26-.066.407-.066.334 0 .59.091.77.275.183.183.275.449.275.797 0 .165-.024.317-.071.457a.746.746 0 0 1-.248.357 1.298 1.298 0 0 1-.5.231 3.36 3.36 0 0 1-.82.083v1.067c.4 0 .715.029.946.088.235.055.41.135.528.242a.674.674 0 0 1 .231.38c.033.146.05.31.05.494 0 .14-.028.28-.083.424a1.118 1.118 0 0 1-.632.649c-.158.07-.343.104-.556.104-.169 0-.319-.024-.45-.071a1.195 1.195 0 0 1-.347-.198 1.738 1.738 0 0 1-.28-.308 3.794 3.794 0 0 1-.232-.385.457.457 0 0 0-.33-.242.809.809 0 0 0-.49.06l-.67.275c.12.356.262.668.423.935.161.264.354.484.578.66.227.176.49.308.786.396.297.088.64.132 1.029.132.366 0 .716-.051 1.05-.154.337-.106.633-.264.886-.473a2.3 2.3 0 0 0 .605-.775c.15-.312.225-.671.225-1.078 0-.92-.458-1.531-1.375-1.832a2.24 2.24 0 0 0 .523-.247 1.471 1.471 0 0 0 .621-.863 2.47 2.47 0 0 0 .083-.672c0-.286-.057-.554-.17-.803a1.9 1.9 0 0 0-.48-.654 2.254 2.254 0 0 0-.77-.44c-.3-.11-.641-.165-1.022-.165-.36 0-.695.05-1.007.148a2.47 2.47 0 0 0-.825.435 2.42 2.42 0 0 0-.605.731ZM14 13a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H15a1 1 0 0 1-1-1V13Zm2 1h8v12h-8V14Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"TAN\":\n return strings.tan;\n case \"COS\":\n return strings.cos;\n case \"SIN\":\n return strings.sin;\n case \"EQUAL\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M12 17a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H13a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H13a1 1 0 0 1-1-1Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"GT\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M12.058 14.664a1 1 0 0 1 1.278-.605l14 5a1 1 0 0 1 0 1.883l-14 5a1 1 0 1 1-.672-1.884L24.027 20l-11.363-4.058a1 1 0 0 1-.606-1.278Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"LT\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M27.942 14.664a1 1 0 0 1-.606 1.278L15.973 20l11.363 4.058a1 1 0 0 1-.672 1.884l-14-5a1 1 0 0 1 0-1.884l14-5a1 1 0 0 1 1.278.606Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"GEQ\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M12 29a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H13a1 1 0 0 1-1-1Zm.058-14.336a1 1 0 0 1 1.278-.605l14 5a1 1 0 0 1 0 1.883l-14 5a1 1 0 1 1-.672-1.884L24.027 20l-11.363-4.058a1 1 0 0 1-.606-1.278Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"LEQ\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M12 29a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H13a1 1 0 0 1-1-1Zm15.942-14.336a1 1 0 0 1-.606 1.278L15.973 20l11.363 4.058a1 1 0 0 1-.672 1.884l-14-5a1 1 0 0 1 0-1.884l14-5a1 1 0 0 1 1.278.606Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"NEQ\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M12 17a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H13a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H13a1 1 0 0 1-1-1Z\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M16 26.928a1 1 0 0 1-.366-1.366l7-12.125a1 1 0 0 1 1.732 1l-7 12.125a1 1 0 0 1-1.366.366Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"LN\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M16.976 14.112V26H15V14.112h1.976Zm3.817 4.688a5.19 5.19 0 0 1 .52-.456 3.195 3.195 0 0 1 1.248-.592 3.16 3.16 0 0 1 .768-.088c.448 0 .845.078 1.192.232.346.15.634.363.864.64.234.272.41.6.528.984.122.379.184.798.184 1.256V26H24.12v-5.224c0-.501-.115-.888-.344-1.16-.23-.277-.579-.416-1.048-.416-.342 0-.662.078-.96.232a3.439 3.439 0 0 0-.848.632V26h-1.976v-8.208h1.208c.256 0 .424.12.504.36l.136.648Z\"\n />\n </svg>\n );\n case \"LOG\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M12.203 14.112V26h-1.976V14.112h1.976Zm5.6 3.552c.608 0 1.16.099 1.656.296.502.198.928.478 1.28.84.358.363.632.806.824 1.328.192.523.288 1.107.288 1.752 0 .651-.096 1.238-.288 1.76a3.741 3.741 0 0 1-.824 1.336 3.528 3.528 0 0 1-1.28.848 4.445 4.445 0 0 1-1.656.296 4.53 4.53 0 0 1-1.672-.296 3.616 3.616 0 0 1-1.288-.848 3.896 3.896 0 0 1-.824-1.336 5.076 5.076 0 0 1-.288-1.76c0-.645.096-1.229.288-1.752a3.81 3.81 0 0 1 .824-1.328 3.669 3.669 0 0 1 1.288-.84 4.53 4.53 0 0 1 1.672-.296Zm0 6.936c.683 0 1.187-.229 1.512-.688.331-.458.496-1.13.496-2.016 0-.885-.165-1.56-.496-2.024-.325-.464-.829-.696-1.512-.696-.693 0-1.208.235-1.544.704-.33.464-.496 1.136-.496 2.016 0 .88.166 1.552.496 2.016.336.459.851.688 1.544.688Zm8.493-2.904c.246 0 .459-.032.64-.096.182-.069.331-.162.448-.28.123-.117.214-.258.272-.424.064-.165.096-.346.096-.544 0-.405-.122-.725-.368-.96-.24-.24-.602-.36-1.088-.36-.485 0-.85.12-1.096.36-.24.235-.36.555-.36.96 0 .192.03.371.088.536.064.166.155.31.272.432.123.118.275.211.456.28.187.064.4.096.64.096Zm2.232 4.672c0-.16-.048-.29-.144-.392a.914.914 0 0 0-.392-.232 2.716 2.716 0 0 0-.584-.128 8.987 8.987 0 0 0-.704-.056 32.107 32.107 0 0 0-.768-.04 8.959 8.959 0 0 1-.768-.064 1.908 1.908 0 0 0-.536.432.89.89 0 0 0-.096.976.93.93 0 0 0 .344.328c.16.091.366.16.616.208.251.054.558.08.92.08.368 0 .686-.029.952-.088a2.09 2.09 0 0 0 .656-.232.954.954 0 0 0 .384-.352.84.84 0 0 0 .12-.44Zm1.968-8.296v.736c0 .235-.141.379-.424.432l-.736.136c.112.283.168.592.168.928a2.414 2.414 0 0 1-.92 1.936c-.288.23-.629.408-1.024.536a4.17 4.17 0 0 1-1.264.184c-.16 0-.314-.008-.464-.024a5.807 5.807 0 0 1-.44-.064c-.256.155-.384.328-.384.52 0 .166.075.288.224.368.155.075.358.128.608.16.251.032.536.054.856.064.32.006.648.022.984.048.336.027.664.075.984.144.32.064.606.168.856.312.251.144.451.342.6.592.155.246.232.563.232.952 0 .363-.09.715-.272 1.056a2.773 2.773 0 0 1-.776.912c-.336.267-.752.48-1.248.64-.49.166-1.05.248-1.68.248-.618 0-1.157-.061-1.616-.184-.458-.117-.84-.277-1.144-.48a2.037 2.037 0 0 1-.68-.688 1.623 1.623 0 0 1-.224-.816c0-.384.115-.704.344-.96.235-.261.555-.469.96-.624a1.377 1.377 0 0 1-.52-.448c-.128-.186-.192-.432-.192-.736 0-.122.022-.248.064-.376.048-.133.115-.264.2-.392.091-.128.203-.248.336-.36a2.2 2.2 0 0 1 .472-.312 2.621 2.621 0 0 1-.984-.896c-.234-.373-.352-.81-.352-1.312 0-.405.08-.77.24-1.096.166-.33.392-.61.68-.84a3.11 3.11 0 0 1 1.032-.536c.4-.122.835-.184 1.304-.184.352 0 .683.038.992.112.31.07.592.174.848.312h2.36Z\"\n />\n </svg>\n );\n case \"LOG_N\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M12.203 14.112V26h-1.976V14.112h1.976Zm5.6 3.552c.608 0 1.16.099 1.656.296.502.198.928.478 1.28.84.358.363.632.806.824 1.328.192.523.288 1.107.288 1.752 0 .651-.096 1.238-.288 1.76a3.741 3.741 0 0 1-.824 1.336 3.528 3.528 0 0 1-1.28.848 4.445 4.445 0 0 1-1.656.296 4.53 4.53 0 0 1-1.672-.296 3.616 3.616 0 0 1-1.288-.848 3.896 3.896 0 0 1-.824-1.336 5.076 5.076 0 0 1-.288-1.76c0-.645.096-1.229.288-1.752a3.81 3.81 0 0 1 .824-1.328 3.669 3.669 0 0 1 1.288-.84 4.53 4.53 0 0 1 1.672-.296Zm0 6.936c.683 0 1.187-.229 1.512-.688.331-.458.496-1.13.496-2.016 0-.885-.165-1.56-.496-2.024-.325-.464-.829-.696-1.512-.696-.693 0-1.208.235-1.544.704-.33.464-.496 1.136-.496 2.016 0 .88.166 1.552.496 2.016.336.459.851.688 1.544.688Zm8.493-2.904c.246 0 .459-.032.64-.096.182-.069.331-.162.448-.28.123-.117.214-.258.272-.424.064-.165.096-.346.096-.544 0-.405-.122-.725-.368-.96-.24-.24-.602-.36-1.088-.36-.485 0-.85.12-1.096.36-.24.235-.36.555-.36.96 0 .192.03.371.088.536.064.166.155.31.272.432.123.118.275.211.456.28.187.064.4.096.64.096Zm2.232 4.672c0-.16-.048-.29-.144-.392a.914.914 0 0 0-.392-.232 2.716 2.716 0 0 0-.584-.128 8.987 8.987 0 0 0-.704-.056 32.107 32.107 0 0 0-.768-.04 8.959 8.959 0 0 1-.768-.064 1.908 1.908 0 0 0-.536.432.89.89 0 0 0-.096.976.93.93 0 0 0 .344.328c.16.091.366.16.616.208.251.054.558.08.92.08.368 0 .686-.029.952-.088a2.09 2.09 0 0 0 .656-.232.954.954 0 0 0 .384-.352.84.84 0 0 0 .12-.44Zm1.968-8.296v.736c0 .235-.141.379-.424.432l-.736.136c.112.283.168.592.168.928a2.414 2.414 0 0 1-.92 1.936c-.288.23-.629.408-1.024.536a4.17 4.17 0 0 1-1.264.184c-.16 0-.314-.008-.464-.024a5.807 5.807 0 0 1-.44-.064c-.256.155-.384.328-.384.52 0 .166.075.288.224.368.155.075.358.128.608.16.251.032.536.054.856.064.32.006.648.022.984.048.336.027.664.075.984.144.32.064.606.168.856.312.251.144.451.342.6.592.155.246.232.563.232.952 0 .363-.09.715-.272 1.056a2.773 2.773 0 0 1-.776.912c-.336.267-.752.48-1.248.64-.49.166-1.05.248-1.68.248-.618 0-1.157-.061-1.616-.184-.458-.117-.84-.277-1.144-.48a2.037 2.037 0 0 1-.68-.688 1.623 1.623 0 0 1-.224-.816c0-.384.115-.704.344-.96.235-.261.555-.469.96-.624a1.377 1.377 0 0 1-.52-.448c-.128-.186-.192-.432-.192-.736 0-.122.022-.248.064-.376.048-.133.115-.264.2-.392.091-.128.203-.248.336-.36a2.2 2.2 0 0 1 .472-.312 2.621 2.621 0 0 1-.984-.896c-.234-.373-.352-.81-.352-1.312 0-.405.08-.77.24-1.096.166-.33.392-.61.68-.84a3.11 3.11 0 0 1 1.032-.536c.4-.122.835-.184 1.304-.184.352 0 .683.038.992.112.31.07.592.174.848.312h2.36Z\"\n />\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M32 26a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm5 2h-4v4h4v-4Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"PERCENT\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M24.447 11.106a1 1 0 0 1 .447 1.341l-8 16a1 1 0 1 1-1.788-.894l8-16a1 1 0 0 1 1.341-.447ZM15 13a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-4 2a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm12 10a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n case \"PI\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M23.7918 25.0379c0 .2947-.13.572-.39.832-.2426.26-.546.39-.91.39-.26 0-.442-.0346-.546-.104-.0866-.0693-.182-.208-.286-.416-.3293-.7626-.494-1.7246-.494-2.886 0-.624.0087-1.04.026-1.248.1214-1.196.39-2.6433.806-4.342.0867-.3466.13-.5373.13-.572h-2.548l-.026.104c0 .0174-.0173.0954-.052.234-.0346.1214-.0866.312-.156.572-.052.2427-.104.468-.156.676-1.144 4.4547-1.8286 6.8814-2.054 7.28-.208.4854-.5806.728-1.118.728-.3986 0-.676-.1473-.832-.442-.0346-.0866-.052-.2253-.052-.416v-.286l.338-.728c1.3-2.7386 2.2447-5.1046 2.834-7.098l.208-.624h-.832c-.6933 0-1.1786.026-1.456.078-.26.052-.5806.2167-.962.494-.416.26-.78.6154-1.092 1.066-.0866.1387-.156.2254-.208.26-.052.0174-.182.026-.39.026-.3293 0-.494-.0866-.494-.26 0-.0693.0867-.2426.26-.52 1.196-1.82 2.366-2.8166 3.51-2.99.1214-.0346 2.0714-.052 5.85-.052 2.7734 0 4.1947.0087 4.264.026.3467.1214.52.364.52.728 0 .5374-.2773.9014-.832 1.092-.104.0347-.702.052-1.794.052h-1.664l-.078.442c-.208 1.248-.312 2.2794-.312 3.094 0 1.5427.2687 2.938.806 4.186.1214.312.182.52.182.624z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"THETA\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"0 0 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M22.2 10.696h.208a2.26 2.26 0 0 1 .312-.026c.936.087 1.664.511 2.184 1.274.676 1.023 1.014 2.418 1.014 4.186 0 .468-.017.84-.052 1.118-.225 2.305-.823 4.463-1.794 6.474-.59 1.23-1.282 2.305-2.08 3.224-.78.919-1.551 1.569-2.314 1.95-.537.243-1.005.364-1.404.364h-.182c-.762 0-1.395-.269-1.898-.806-.918-.97-1.378-2.522-1.378-4.654 0-.832.087-1.707.26-2.626.641-3.467 1.95-6.3 3.926-8.502 1.058-1.161 2.123-1.82 3.198-1.976Zm1.664 3.588c0-1.768-.46-2.652-1.378-2.652-.572 0-1.161.373-1.768 1.118-.866 1.092-1.603 2.652-2.21 4.68-.346 1.092-.52 1.733-.52 1.924.85.017 1.69.026 2.522.026l2.522-.026c.087-.087.243-.763.468-2.028.243-1.265.364-2.28.364-3.042Zm-1.248 6.734.13-.442h-5.07l-.026.182c-.537 2.15-.806 3.753-.806 4.81 0 1.179.208 1.993.624 2.444.19.208.442.312.754.312.694 0 1.421-.563 2.184-1.69.815-1.196 1.552-3.068 2.21-5.616Z\"\n />\n </svg>\n );\n\n case \"a\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M27.781 24.022c.156 0 .26.009.312.026a.18.18 0 0 1 .13.052c.035.035.052.087.052.156 0 .052-.026.182-.078.39-.381 1.456-.85 2.462-1.404 3.016a2.573 2.573 0 0 1-.832.546 2.776 2.776 0 0 1-.624.052c-1.092 0-1.855-.425-2.288-1.274-.087-.225-.13-.33-.13-.312-.017-.017-.052-.008-.104.026l-.104.104c-.832.78-1.655 1.257-2.47 1.43-.104.017-.32.026-.65.026-1.144 0-2.089-.477-2.834-1.43-.52-.762-.78-1.733-.78-2.912 0-.277.009-.468.026-.572a7.916 7.916 0 0 1 1.066-3.172c.607-1.023 1.326-1.846 2.158-2.47 1.005-.78 2.063-1.17 3.172-1.17.867 0 1.647.425 2.34 1.274.277-.52.676-.78 1.196-.78a.93.93 0 0 1 .598.208.64.64 0 0 1 .26.52c0 .226-.33 1.62-.988 4.186-.641 2.548-.962 3.978-.962 4.29 0 .728.243 1.092.728 1.092.156-.017.33-.095.52-.234.364-.346.72-1.178 1.066-2.496.104-.347.19-.529.26-.546.035-.017.121-.026.26-.026h.104Zm-9.594 1.222c0 .624.13 1.127.39 1.508.277.382.676.572 1.196.572.503 0 1.04-.208 1.612-.624.208-.139.485-.398.832-.78.364-.381.58-.641.65-.78.035-.07.269-.997.702-2.782.45-1.785.676-2.747.676-2.886 0-.208-.095-.503-.286-.884-.381-.745-.927-1.118-1.638-1.118-.693 0-1.309.295-1.846.884a6.274 6.274 0 0 0-1.196 2.028 20.753 20.753 0 0 0-1.066 4.264c0 .052-.009.148-.026.286v.312Z\"\n />\n </svg>\n );\n case \"b\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M18.74 10.242c.018 0 .642-.043 1.873-.13 1.248-.104 1.88-.156 1.898-.156.208 0 .312.078.312.234 0 .156-.295 1.395-.884 3.718-.139.59-.295 1.196-.468 1.82a60.807 60.807 0 0 1-.364 1.404l-.104.494c0 .052.052.026.156-.078a4.832 4.832 0 0 1 1.976-.988c.208-.035.424-.052.65-.052.225 0 .442.017.65.052.901.208 1.62.676 2.158 1.404.537.728.806 1.647.806 2.756 0 1.941-.685 3.692-2.054 5.252-1.352 1.543-2.825 2.314-4.42 2.314-.503 0-.98-.113-1.43-.338-1.352-.607-2.028-1.89-2.028-3.848 0-.503.052-.997.156-1.482 0-.017.433-1.794 1.3-5.33l1.326-5.304c.035-.243-.026-.39-.182-.442-.139-.07-.381-.104-.728-.104h-.286c-.364 0-.572-.026-.624-.078-.104-.087-.113-.295-.026-.624.07-.243.13-.381.182-.416.052-.052.104-.078.156-.078Zm6.423 9.308c0-1.387-.529-2.08-1.586-2.08-.035 0-.096.009-.182.026h-.13c-.902.19-1.75.815-2.548 1.872a1.501 1.501 0 0 0-.13.156l-.078.104c0 .017-.156.641-.468 1.872a96.026 96.026 0 0 0-.494 2.08 7.731 7.731 0 0 0-.156 1.456c0 .832.208 1.456.624 1.872.277.277.624.416 1.04.416.572 0 1.152-.277 1.742-.832.433-.399.78-.884 1.04-1.456.277-.59.563-1.5.858-2.73.312-1.248.468-2.167.468-2.756Z\"\n />\n </svg>\n );\n case \"c\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M26.932 24.854c.07 0 .182.087.338.26.173.156.26.268.26.338 0 .156-.269.476-.806.962-1.075.97-2.435 1.577-4.082 1.82-.381.034-.72.052-1.014.052-1.855 0-3.146-.763-3.874-2.288a4.598 4.598 0 0 1-.494-2.132c0-.797.165-1.612.494-2.444.503-1.3 1.317-2.4 2.444-3.302 1.144-.919 2.357-1.448 3.64-1.586.104-.017.269-.026.494-.026.607 0 1.17.095 1.69.286.97.416 1.456 1.075 1.456 1.976 0 .537-.165.98-.494 1.326-.33.33-.745.494-1.248.494-.33 0-.59-.087-.78-.26-.19-.19-.286-.45-.286-.78 0-.295.087-.58.26-.858.173-.277.399-.477.676-.598.139-.087.234-.13.286-.13.07 0 .009-.06-.182-.182-.33-.19-.789-.286-1.378-.286-.52 0-1.014.121-1.482.364-.364.156-.737.425-1.118.806a5.29 5.29 0 0 0-1.092 1.612c-.277.624-.555 1.517-.832 2.678-.19.814-.286 1.465-.286 1.95 0 .797.225 1.395.676 1.794.399.416.936.624 1.612.624.26 0 .529-.018.806-.052 1.63-.243 2.964-.962 4.004-2.158.156-.174.26-.26.312-.26Z\"\n />\n </svg>\n );\n case \"d\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M26.634 10.112c.26-.017.555-.035.884-.052.33-.035.572-.06.728-.078.173-.017.269-.026.286-.026.208 0 .312.07.312.208 0 .121-.641 2.747-1.924 7.878a2094.732 2094.732 0 0 0-1.924 7.8 2.156 2.156 0 0 0-.026.39c0 .728.243 1.092.728 1.092.156-.017.33-.095.52-.234.364-.347.72-1.179 1.066-2.496.104-.347.19-.529.26-.546.035-.017.121-.026.26-.026h.104c.33 0 .494.07.494.208 0 .07-.026.208-.078.416-.381 1.456-.85 2.461-1.404 3.016a2.572 2.572 0 0 1-.832.546 2.776 2.776 0 0 1-.624.052c-1.092 0-1.855-.425-2.288-1.274-.087-.225-.13-.33-.13-.312-.017-.017-.052-.009-.104.026l-.104.104c-.832.78-1.655 1.257-2.47 1.43-.104.017-.32.026-.65.026-1.144 0-2.089-.477-2.834-1.43-.52-.763-.78-1.733-.78-2.912 0-1.612.59-3.207 1.768-4.784 1.075-1.317 2.27-2.14 3.588-2.47a3.87 3.87 0 0 1 1.066-.156c.953 0 1.681.364 2.184 1.092.087.104.13.139.13.104l.702-2.834c.468-1.837.71-2.8.728-2.886 0-.208-.052-.347-.156-.416-.19-.07-.537-.113-1.04-.13h-.546a1.192 1.192 0 0 1-.182-.208c0-.035.026-.2.078-.494.087-.33.2-.494.338-.494a17.914 17.914 0 0 1 .962-.078l.91-.052Zm-2.236 9.412c-.381-1.37-1.031-2.054-1.95-2.054-.693 0-1.309.295-1.846.884a6.274 6.274 0 0 0-1.196 2.028 20.753 20.753 0 0 0-1.066 4.264c0 .052-.009.147-.026.286v.312c0 .624.13 1.127.39 1.508.277.381.676.572 1.196.572.919 0 1.88-.624 2.886-1.872l.208-.286.702-2.808c.312-1.265.546-2.21.702-2.834Z\"\n />\n </svg>\n );\n case \"e\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M26.5 24.854c.07 0 .182.087.338.26.174.156.26.268.26.338 0 .156-.268.476-.806.962-1.421 1.248-3.094 1.872-5.018 1.872-.953 0-1.76-.234-2.418-.702-.381-.208-.728-.546-1.04-1.014-.572-.867-.858-1.846-.858-2.938 0-.659.07-1.309.208-1.95.364-1.352 1.11-2.505 2.236-3.458 1.144-.954 2.514-1.517 4.108-1.69.018-.017.156-.026.416-.026h.078c.728 0 1.344.165 1.846.494.52.312.858.745 1.014 1.3.018.07.026.225.026.468 0 .312-.017.529-.052.65-.364 1.23-1.308 2.036-2.834 2.418-.85.225-2.01.346-3.484.364-.641 0-.97.017-.988.052 0 .017-.017.13-.052.338-.19.85-.286 1.543-.286 2.08 0 .814.182 1.465.546 1.95.364.468.91.702 1.638.702 1.942 0 3.545-.737 4.81-2.21.156-.174.26-.26.312-.26Zm-.858-6.032c-.104-.901-.693-1.352-1.768-1.352-.606 0-1.23.173-1.872.52-.85.503-1.482 1.291-1.898 2.366-.19.52-.286.806-.286.858 0 .017.174.026.52.026.572 0 1.1-.017 1.586-.052 1.023-.087 1.786-.234 2.288-.442a2.776 2.776 0 0 0 1.248-1.04c.122-.26.182-.555.182-.884Z\"\n />\n </svg>\n );\n case \"f\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M18.695 32.212c.468.104.72.156.754.156.399 0 .745-.364 1.04-1.092.208-.572.84-3.657 1.898-9.256.485-2.617.737-3.935.754-3.952v-.078h-1.222c-.815 0-1.248-.017-1.3-.052-.121-.07-.139-.26-.052-.572.07-.26.113-.399.13-.416.035-.087.104-.13.208-.13.121-.017.529-.026 1.222-.026.832 0 1.248-.009 1.248-.026 0-.035.078-.468.234-1.3.156-.832.26-1.335.312-1.508.364-1.647.91-2.79 1.638-3.432.693-.572 1.413-.858 2.158-.858.624.035 1.144.225 1.56.572.433.347.65.806.65 1.378 0 .503-.156.927-.468 1.274-.312.347-.702.52-1.17.52-.763 0-1.144-.364-1.144-1.092 0-.641.303-1.11.91-1.404l.234-.13c-.312-.104-.572-.156-.78-.156-.503 0-.832.33-.988.988-.139.52-.364 1.655-.676 3.406l-.338 1.716c0 .035.477.052 1.43.052.78 0 1.248.009 1.404.026.156.017.234.078.234.182 0 .19-.06.468-.182.832-.035.087-.121.139-.26.156h-2.834l-.598 3.172c-.641 3.31-1.04 5.313-1.196 6.006-.59 2.617-1.378 4.394-2.366 5.33-.641.555-1.274.832-1.898.832-.624 0-1.144-.173-1.56-.52-.416-.347-.624-.806-.624-1.378 0-.52.156-.962.468-1.326.312-.347.702-.52 1.17-.52.763 0 1.144.364 1.144 1.092 0 .641-.303 1.11-.91 1.404l-.234.13Z\"\n />\n </svg>\n );\n case \"g\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M17.729 29.846c.312 0 .572.095.78.286.208.19.312.442.312.754 0 .468-.174.867-.52 1.196-.122.121-.165.182-.13.182.173.052.693.078 1.56.078.658 0 1.178-.104 1.56-.312.398-.19.771-.486 1.118-.884.346-.381.589-.78.728-1.196.104-.33.242-.867.416-1.612.225-.832.338-1.318.338-1.456a5.177 5.177 0 0 1-2.08 1.066 3.946 3.946 0 0 1-.65.052c-1.127 0-2.02-.39-2.678-1.17-.642-.797-.962-1.794-.962-2.99 0-1.092.251-2.14.754-3.146.797-1.664 1.941-2.869 3.432-3.614.797-.381 1.551-.572 2.262-.572.797 0 1.551.416 2.262 1.248a.854.854 0 0 0 .104-.13c.242-.399.606-.598 1.092-.598a.93.93 0 0 1 .598.208.64.64 0 0 1 .26.52c0 .26-.494 2.357-1.482 6.292-.988 3.935-1.508 5.945-1.56 6.032-.33.936-1.014 1.707-2.054 2.314-1.023.624-2.176.936-3.458.936-1.994 0-3.172-.381-3.536-1.144-.087-.156-.13-.364-.13-.624 0-.45.156-.85.468-1.196.312-.347.71-.52 1.196-.52Zm8.06-10.374c-.139-.45-.278-.798-.416-1.04a1.757 1.757 0 0 0-.598-.65c-.278-.208-.616-.312-1.014-.312a1.1 1.1 0 0 0-.182.026h-.13c-.728.173-1.361.624-1.898 1.352-.486.641-.945 1.811-1.378 3.51-.295 1.178-.442 2.045-.442 2.6 0 1.37.537 2.054 1.612 2.054.988 0 1.941-.607 2.86-1.82l.208-.26a459.483 459.483 0 0 0 1.378-5.46Z\"\n />\n </svg>\n );\n case \"h\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M25.274 28.26c-.676 0-1.23-.2-1.664-.598-.433-.416-.65-.945-.65-1.586 0-.277.087-.659.26-1.144.815-2.097 1.335-3.735 1.56-4.914.052-.26.078-.59.078-.988 0-1.023-.425-1.534-1.274-1.534-.312 0-.537.017-.676.052-1.162.243-2.184 1.075-3.068 2.496l-.182.338-.884 3.51c-.555 2.253-.876 3.484-.962 3.692-.226.468-.607.702-1.144.702-.208 0-.416-.07-.624-.208a.56.56 0 0 1-.286-.494c0-.208 1.274-5.408 3.822-15.6 0-.208-.052-.347-.156-.416-.19-.07-.537-.113-1.04-.13h-.546a1.192 1.192 0 0 1-.182-.208c0-.035.026-.2.078-.494.086-.33.2-.494.338-.494.017 0 .641-.043 1.872-.13 1.248-.104 1.88-.156 1.898-.156.208 0 .312.078.312.234 0 .19-.312 1.5-.936 3.926-.659 2.565-.988 3.874-.988 3.926 0 .035.06-.009.182-.13 1.023-.936 2.15-1.404 3.38-1.404.953 0 1.716.234 2.288.702.572.468.858 1.153.858 2.054 0 .399-.026.728-.078.988-.156.884-.633 2.418-1.43 4.602-.312.85-.468 1.465-.468 1.846.017.243.06.407.13.494.07.087.2.13.39.13.485 0 .936-.26 1.352-.78.433-.537.771-1.248 1.014-2.132.052-.19.104-.303.156-.338.052-.035.19-.052.416-.052.33.052.502.121.52.208 0 .017-.035.147-.104.39-.277 1.023-.72 1.863-1.326 2.522-.59.745-1.335 1.118-2.236 1.118Z\"\n />\n </svg>\n );\n case \"i\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M22.302 12.4c0-.399.165-.763.495-1.092.329-.33.71-.494 1.143-.494.313 0 .572.104.78.312.226.208.338.468.338.78 0 .381-.173.745-.52 1.092-.346.347-.727.52-1.143.52-.313 0-.572-.104-.78-.312-.208-.208-.313-.477-.313-.806Zm-.598 15.886c-.675 0-1.221-.2-1.637-.598-.416-.399-.625-.936-.625-1.612 0-.295.018-.494.052-.598 0-.035.4-1.1 1.197-3.198.797-2.115 1.196-3.19 1.196-3.224.086-.277.13-.59.13-.936 0-.416-.148-.624-.442-.624h-.052c-.416 0-.815.2-1.197.598-.554.572-.962 1.387-1.221 2.444a.427.427 0 0 1-.027.104.307.307 0 0 1-.052.078l-.026.026c-.017.017-.052.026-.104.026h-.675c-.105-.104-.157-.182-.157-.234 0-.052.026-.173.078-.364.451-1.49 1.11-2.53 1.977-3.12.468-.364.97-.546 1.508-.546.693 0 1.265.2 1.716.598.45.399.675.936.675 1.612 0 .225-.043.485-.13.78-.017.035-.416 1.1-1.196 3.198l-1.17 3.146c-.086.381-.13.659-.13.832 0 .433.148.65.442.65.243 0 .46-.052.65-.156.763-.364 1.361-1.274 1.794-2.73.053-.208.096-.33.13-.364.052-.035.2-.052.442-.052.156 0 .26.009.313.026.069 0 .12.017.155.052.035.035.052.095.052.182 0 .07-.026.182-.078.338-.329.988-.806 1.846-1.43 2.574-.606.728-1.325 1.092-2.157 1.092Z\"\n />\n </svg>\n );\n case \"j\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M24.365 12.504c0-.45.164-.84.494-1.17.329-.347.719-.52 1.17-.52.294 0 .537.095.728.286.208.173.329.407.364.702 0 .468-.156.875-.468 1.222-.312.33-.702.494-1.17.494-.312 0-.572-.087-.78-.26a1.059 1.059 0 0 1-.338-.754Zm-.234 5.72c0-.503-.226-.754-.676-.754-.191 0-.39.035-.598.104-.468.156-.928.485-1.378.988-.434.503-.798 1.118-1.092 1.846a1.45 1.45 0 0 1-.078.182.454.454 0 0 0-.052.13l-.078.026a.492.492 0 0 1-.156.026h-.598c-.14-.139-.156-.32-.052-.546.52-1.248 1.196-2.201 2.028-2.86.589-.468 1.187-.745 1.794-.832h.208c.12-.017.225-.026.312-.026.416.017.797.104 1.144.26.45.277.78.572.988.884.225.295.338.728.338 1.3v.416l-1.274 5.174c-.884 3.467-1.352 5.27-1.404 5.408-.278.745-.754 1.404-1.43 1.976a5.47 5.47 0 0 1-2.21 1.222 5.448 5.448 0 0 1-1.274.156c-.676 0-1.222-.147-1.638-.442-.416-.295-.624-.728-.624-1.3 0-.485.173-.893.52-1.222.346-.33.736-.494 1.17-.494.329 0 .589.095.78.286.208.19.312.45.312.78 0 .624-.278 1.1-.832 1.43.086.017.208.026.364.026.589 0 1.126-.251 1.612-.754a4.877 4.877 0 0 0 1.118-1.69l.286-1.092c.19-.745.416-1.647.676-2.704.277-1.075.554-2.158.832-3.25.277-1.092.51-2.054.702-2.886.19-.85.286-1.343.286-1.482 0-.121-.01-.217-.026-.286Z\"\n />\n </svg>\n );\n case \"k\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M18.783 10.242c.017 0 .641-.043 1.872-.13 1.248-.104 1.88-.156 1.898-.156.208 0 .312.07.312.208 0 .121-.434 1.933-1.3 5.434-.867 3.432-1.3 5.209-1.3 5.33.33-.208.598-.381.806-.52.208-.156.372-.286.494-.39.121-.121.416-.407.884-.858 1.04-1.04 1.768-1.69 2.184-1.95.693-.468 1.352-.702 1.976-.702.52 0 .927.173 1.222.52.312.347.468.806.468 1.378 0 .624-.148 1.135-.442 1.534-.295.381-.71.572-1.248.572a1.24 1.24 0 0 1-.832-.286c-.208-.19-.312-.442-.312-.754 0-.433.147-.797.442-1.092a1.703 1.703 0 0 1 1.04-.546l.182-.052c-.208-.208-.416-.312-.624-.312-.59 0-1.283.295-2.08.884-.33.26-.832.728-1.508 1.404a29.066 29.066 0 0 1-1.768 1.612c.814.19 1.37.338 1.664.442.832.33 1.386.78 1.664 1.352.156.312.234.65.234 1.014 0 .225-.052.598-.156 1.118-.087.52-.13.85-.13.988 0 .693.234 1.04.702 1.04.312 0 .598-.13.858-.39.433-.433.823-1.335 1.17-2.704.034-.139.208-.208.52-.208.242 0 .381.017.416.052.104.07.112.251.026.546-.468 1.577-1.066 2.643-1.794 3.198-.434.312-.858.468-1.274.468-.798 0-1.439-.234-1.924-.702-.468-.485-.702-1.127-.702-1.924a5.2 5.2 0 0 1 .078-.728c.052-.33.078-.563.078-.702 0-.225-.052-.442-.156-.65-.226-.433-.65-.771-1.274-1.014-.572-.19-.97-.286-1.196-.286H19.9c-.226.85-.442 1.673-.65 2.47a99.07 99.07 0 0 1-.442 1.794 9.4 9.4 0 0 1-.234.91 1.231 1.231 0 0 1-.468.572c-.226.173-.468.26-.728.26-.208 0-.416-.07-.624-.208a.56.56 0 0 1-.286-.494c0-.173.32-1.56.962-4.16.641-2.6 1.274-5.157 1.898-7.67l.962-3.77c.034-.243-.026-.39-.182-.442-.139-.07-.382-.104-.728-.104h-.286c-.364 0-.572-.026-.624-.078-.104-.087-.113-.295-.026-.624.07-.243.13-.381.182-.416.052-.052.104-.078.156-.078Z\"\n />\n </svg>\n );\n case \"l\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M21.69 28.286c-.78 0-1.404-.217-1.872-.65-.468-.45-.702-1.066-.702-1.846 0-.208.009-.355.026-.442l3.328-13.364a.24.24 0 0 0 0-.156.426.426 0 0 1-.026-.13c0-.035-.017-.06-.052-.078a.408.408 0 0 0-.104-.078c-.017-.017-.052-.026-.104-.026a.426.426 0 0 0-.13-.026.445.445 0 0 0-.182-.026.761.761 0 0 0-.182-.026h-.39c-.416 0-.659-.06-.728-.182-.017-.052 0-.2.052-.442.087-.33.165-.511.234-.546.052-.017.693-.07 1.924-.156a121.23 121.23 0 0 1 1.95-.156c.208 0 .312.07.312.208 0 .19-.633 2.79-1.898 7.8s-1.915 7.635-1.95 7.878c0 .035-.009.113-.026.234v.234c0 .503.121.823.364.962a.72.72 0 0 0 .312.052.986.986 0 0 0 .312-.078c.485-.277.919-1.161 1.3-2.652.104-.347.19-.529.26-.546.035-.017.121-.026.26-.026h.104c.312.087.477.165.494.234 0 .121-.07.425-.208.91-.139.468-.269.84-.39 1.118-.485 1.127-1.11 1.777-1.872 1.95a2.243 2.243 0 0 1-.416.052Z\"\n />\n </svg>\n );\n case \"m\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M13.395 28.286a.968.968 0 0 1-.624-.208.597.597 0 0 1-.26-.52c0-.226.33-1.647.988-4.264.676-2.67 1.014-4.065 1.014-4.186.052-.26.078-.494.078-.702 0-.624-.217-.936-.65-.936-.156 0-.33.06-.52.182-.416.33-.832 1.291-1.248 2.886a.427.427 0 0 1-.026.104.301.301 0 0 1-.052.078l-.026.026c-.018.017-.052.026-.104.026h-.676c-.104-.104-.156-.182-.156-.234 0-.226.121-.659.364-1.3.347-1.005.728-1.707 1.144-2.106.416-.416.875-.624 1.378-.624 1.092 0 1.854.39 2.288 1.17.19.33.286.572.286.728 0 .035.009.052.026.052l.286-.286c1.057-1.11 2.28-1.664 3.666-1.664 1.681 0 2.695.71 3.042 2.132l.026.078.208-.26c.641-.763 1.386-1.317 2.236-1.664a4.865 4.865 0 0 1 1.638-.286c.953 0 1.716.234 2.288.702.572.468.858 1.152.858 2.054 0 .399-.026.728-.078.988-.156.884-.633 2.418-1.43 4.602-.312.832-.468 1.447-.468 1.846.017.242.06.407.13.494.07.087.2.13.39.13.485 0 .936-.26 1.352-.78.433-.538.771-1.248 1.014-2.132.052-.19.104-.303.156-.338.052-.035.19-.052.416-.052.33.052.503.121.52.208 0 .017-.035.147-.104.39-.45 1.612-1.265 2.747-2.444 3.406-.312.156-.685.234-1.118.234-.659 0-1.222-.208-1.69-.624-.416-.485-.624-.997-.624-1.534 0-.33.121-.815.364-1.456.762-2.028 1.248-3.57 1.456-4.628.052-.26.078-.59.078-.988 0-1.023-.425-1.534-1.274-1.534-.312 0-.538.017-.676.052-1.213.26-2.245 1.118-3.094 2.574l-.182.312-.858 3.484c-.572 2.27-.901 3.492-.988 3.666-.226.468-.598.702-1.118.702-.416 0-.694-.174-.832-.52l-.026-.078a.398.398 0 0 1-.052-.156c0-.19.294-1.43.884-3.718.138-.555.277-1.127.416-1.716.156-.607.277-1.092.364-1.456.104-.381.156-.59.156-.624.052-.26.078-.59.078-.988 0-1.023-.425-1.534-1.274-1.534-.312 0-.538.017-.676.052-1.213.26-2.245 1.118-3.094 2.574l-.182.312-.858 3.484c-.572 2.27-.901 3.492-.988 3.666-.226.468-.598.702-1.118.702Z\"\n />\n </svg>\n );\n case \"n\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M17.013 28.286a.968.968 0 0 1-.624-.208.596.596 0 0 1-.26-.52c0-.226.33-1.638.988-4.238.659-2.6 1.005-4.013 1.04-4.238a4.07 4.07 0 0 0 .026-.598c0-.676-.208-1.014-.624-1.014-.399 0-.763.32-1.092.962-.19.364-.373.91-.546 1.638a8.959 8.959 0 0 0-.156.546c-.035.104-.2.156-.494.156h-.364c-.104-.104-.156-.182-.156-.234 0-.07.043-.252.13-.546.52-2.046 1.317-3.19 2.392-3.432.139-.035.286-.052.442-.052 1.023 0 1.76.39 2.21 1.17.19.33.286.572.286.728 0 .035.009.052.026.052l.286-.286c1.075-1.11 2.28-1.664 3.614-1.664.953 0 1.716.234 2.288.702.572.468.858 1.152.858 2.054 0 .399-.026.728-.078.988-.173.988-.65 2.505-1.43 4.55-.312.832-.468 1.447-.468 1.846 0 .45.147.676.442.676.59 0 1.092-.312 1.508-.936a7.04 7.04 0 0 0 .988-2.158c.035-.139.208-.208.52-.208.33.052.503.121.52.208 0 .017-.035.147-.104.39-.45 1.612-1.265 2.747-2.444 3.406-.312.156-.685.234-1.118.234-.659 0-1.222-.208-1.69-.624-.416-.485-.624-.997-.624-1.534 0-.33.121-.815.364-1.456.763-2.028 1.248-3.57 1.456-4.628.052-.26.078-.59.078-.988 0-1.023-.425-1.534-1.274-1.534-.312 0-.537.017-.676.052-1.213.26-2.245 1.118-3.094 2.574l-.182.312-.858 3.484c-.572 2.27-.901 3.492-.988 3.666-.225.468-.598.702-1.118.702Z\"\n />\n </svg>\n );\n case \"o\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M23.152 16.534h.364c.555 0 .902.009 1.04.026 1.092.19 1.95.676 2.575 1.456.623.78.936 1.786.936 3.016 0 1.023-.27 2.046-.806 3.068a7.88 7.88 0 0 1-2.756 3.042c-1.18.763-2.375 1.144-3.588 1.144-1.214 0-2.193-.347-2.939-1.04-.745-.693-1.204-1.603-1.378-2.73a4.113 4.113 0 0 1-.026-.572c0-.45.026-.814.078-1.092.156-.884.494-1.742 1.014-2.574a8.9 8.9 0 0 1 1.82-2.158c1.18-.919 2.401-1.447 3.666-1.586Zm-4.316 8.346c0 .745.2 1.344.599 1.794.416.434.953.65 1.612.65.311 0 .623-.052.936-.156 1.265-.416 2.21-1.37 2.834-2.86.38-.936.693-2.106.936-3.51.017-.104.026-.372.026-.806 0-1.681-.711-2.522-2.133-2.522-1.091 0-2.053.503-2.886 1.508-.572.694-1.04 1.699-1.404 3.016-.346 1.265-.52 2.227-.52 2.886Z\"\n />\n </svg>\n );\n case \"p\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M16.216 20.772c-.104-.104-.156-.182-.156-.234 0-.139.113-.546.338-1.222.33-1.005.72-1.733 1.17-2.184.416-.416.875-.624 1.378-.624 1.3 0 2.132.555 2.496 1.664l.26-.234c.78-.728 1.586-1.188 2.418-1.378.208-.035.425-.052.65-.052.225 0 .442.017.65.052.901.208 1.62.676 2.158 1.404.537.71.806 1.62.806 2.73 0 .815-.165 1.698-.494 2.652a8.628 8.628 0 0 1-1.924 3.016c-.85.85-1.777 1.43-2.782 1.742a4.732 4.732 0 0 1-1.248.156 3.04 3.04 0 0 1-1.014-.156 2.818 2.818 0 0 1-1.144-.91l-.13-.13c-.017.017-.208.771-.572 2.262-.364 1.49-.546 2.244-.546 2.262v.078c.017.035.035.06.052.078a.2.2 0 0 0 .078.026c.035.017.07.026.104.026a.429.429 0 0 0 .13.026h.182c.07.017.13.026.182.026h1.092c.087.121.13.2.13.234.017.035 0 .19-.052.468-.052.208-.104.338-.156.39-.052.07-.165.104-.338.104-.277 0-.737-.009-1.378-.026a55.471 55.471 0 0 0-1.404-.026c-1.213 0-1.985.017-2.314.052h-.208c-.121-.121-.182-.217-.182-.286 0-.07.035-.217.104-.442.052-.226.095-.356.13-.39l.104-.078h.52c.59-.017.927-.121 1.014-.312.052-.104.58-2.176 1.586-6.214 1.023-4.039 1.551-6.18 1.586-6.422.017-.087.026-.208.026-.364 0-.71-.217-1.066-.65-1.066a.761.761 0 0 0-.52.182c-.416.33-.832 1.291-1.248 2.886a.427.427 0 0 1-.026.104.301.301 0 0 1-.052.078l-.026.026c-.017.017-.052.026-.104.026h-.676Zm9.932-1.222c0-1.387-.529-2.08-1.586-2.08a1.1 1.1 0 0 0-.182.026h-.13c-.901.19-1.75.815-2.548 1.872a1.523 1.523 0 0 0-.13.156l-.078.104c0 .017-.035.147-.104.39a38.14 38.14 0 0 1-.286 1.118c-.121.52-.234.97-.338 1.352-.45 1.837-.676 2.79-.676 2.86.121.416.234.72.338.91.381.71.91 1.066 1.586 1.066.555 0 1.066-.19 1.534-.572.468-.399.858-.91 1.17-1.534.312-.59.633-1.56.962-2.912.312-1.248.468-2.167.468-2.756Z\"\n />\n </svg>\n );\n case \"q\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M23.01 32.992h-1.43c-.59.017-1.022.026-1.3.026-.26 0-.39-.07-.39-.208 0-.035.009-.096.026-.182a.601.601 0 0 0 .052-.208c.07-.278.13-.442.182-.494.07-.052.243-.078.52-.078.832 0 1.335-.06 1.508-.182.104-.07.347-.858.728-2.366.347-1.404.529-2.115.546-2.132 0-.017-.06.009-.182.078a5.075 5.075 0 0 1-1.95.988c-.104.017-.32.026-.65.026-1.144 0-2.089-.477-2.834-1.43-.52-.763-.78-1.733-.78-2.912 0-.277.009-.468.026-.572a7.916 7.916 0 0 1 1.066-3.172c.607-1.023 1.326-1.846 2.158-2.47 1.005-.78 2.063-1.17 3.172-1.17.988 0 1.785.45 2.392 1.352.416-.416.694-.668.832-.754.59-.416.988-.624 1.196-.624.174 0 .26.07.26.208 0 .156-.598 2.626-1.794 7.41-1.23 4.922-1.846 7.418-1.846 7.488 0 .139.295.216.884.234h.936c.087.121.13.19.13.208.017.035 0 .2-.052.494-.07.225-.156.39-.26.494h-.338c-.537-.035-1.473-.052-2.808-.052Zm2.34-13.468c-.381-1.37-1.031-2.054-1.95-2.054-.693 0-1.308.295-1.846.884a6.274 6.274 0 0 0-1.196 2.028 20.755 20.755 0 0 0-1.066 4.264c0 .052-.009.147-.026.286v.312c0 .624.13 1.127.39 1.508.277.381.676.572 1.196.572.919 0 1.88-.624 2.886-1.872l.208-.286.702-2.808c.312-1.265.546-2.21.702-2.834Z\"\n />\n </svg>\n );\n case \"r\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M18.943 28.286a.968.968 0 0 1-.624-.208.596.596 0 0 1-.26-.52c0-.226.346-1.716 1.04-4.472.693-2.756 1.04-4.29 1.04-4.602 0-.676-.226-1.014-.676-1.014a.72.72 0 0 0-.494.182c-.416.33-.832 1.291-1.248 2.886a.427.427 0 0 1-.026.104.304.304 0 0 1-.052.078l-.026.026c-.018.017-.052.026-.104.026h-.676c-.104-.104-.156-.182-.156-.234 0-.139.112-.546.338-1.222.329-1.005.719-1.733 1.17-2.184.416-.416.875-.624 1.378-.624.676 0 1.23.165 1.664.494.381.295.632.598.754.91a.64.64 0 0 0 .078.182c.017 0 .086-.07.208-.208.641-.71 1.378-1.153 2.21-1.326.104-.017.329-.026.676-.026.641 0 1.161.182 1.56.546.398.364.598.858.598 1.482 0 .554-.156 1.022-.468 1.404-.295.364-.694.546-1.196.546-.33 0-.607-.096-.832-.286-.208-.19-.312-.442-.312-.754 0-.85.485-1.404 1.456-1.664-.382-.226-.694-.338-.936-.338-.364 0-.711.087-1.04.26-.572.277-1.118.832-1.638 1.664a3.45 3.45 0 0 0-.39.858c-.087.295-.382 1.447-.884 3.458-.59 2.427-.928 3.718-1.014 3.874-.226.468-.598.702-1.118.702Z\"\n />\n </svg>\n );\n case \"s\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M18.974 23.84c.33 0 .59.095.78.286.208.19.312.442.312.754 0 .294-.086.58-.26.858a1.505 1.505 0 0 1-.65.624 3.46 3.46 0 0 1-.364.13l-.104.052c-.017 0-.017.008 0 .026.052.087.208.2.468.338.503.26 1.162.39 1.976.39 1.317 0 2.245-.425 2.782-1.274.26-.434.39-.832.39-1.196 0-.555-.286-.97-.858-1.248-.156-.104-.59-.225-1.3-.364a28.175 28.175 0 0 0-.416-.078 1.515 1.515 0 0 0-.364-.078 7.27 7.27 0 0 0-.26-.078 3.629 3.629 0 0 0-.26-.078 1.156 1.156 0 0 0-.208-.104 5.875 5.875 0 0 0-.26-.182c-.71-.503-1.066-1.213-1.066-2.132 0-.97.355-1.846 1.066-2.626.797-.901 1.907-1.352 3.328-1.352 1.681 0 2.695.59 3.042 1.768.035.087.052.251.052.494 0 .485-.13.884-.39 1.196-.26.294-.607.442-1.04.442-.277 0-.503-.078-.676-.234-.173-.156-.26-.373-.26-.65 0-.572.26-.988.78-1.248.139-.07.217-.104.234-.104.052 0 .043-.044-.026-.13-.416-.382-1.014-.572-1.794-.572-.676 0-1.248.19-1.716.572a1.823 1.823 0 0 0-.702 1.482c0 .312.13.59.39.832.173.156.615.312 1.326.468.798.173 1.318.32 1.56.442.815.364 1.36.97 1.638 1.82.035.104.06.33.078.676 0 .59-.147 1.204-.442 1.846-.85 1.768-2.444 2.652-4.784 2.652-1.854 0-3.024-.538-3.51-1.612a2.13 2.13 0 0 1-.182-.91c0-.537.156-.988.468-1.352.33-.364.737-.546 1.222-.546Z\"\n />\n </svg>\n );\n case \"t\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M17.979 17.99c-.122-.121-.182-.208-.182-.26 0-.07.026-.208.078-.416.069-.225.112-.346.13-.364.034-.087.112-.13.234-.13.138-.017.58-.026 1.326-.026h1.378l.494-2.08c.364-1.404.572-2.158.624-2.262.208-.485.606-.728 1.196-.728a.945.945 0 0 1 .572.234c.173.139.26.32.26.546 0 .208-.165.945-.494 2.21-.07.295-.156.624-.26.988-.087.347-.156.607-.208.78l-.052.26c0 .035.433.052 1.3.052H25.7c.121.122.182.217.182.286 0 .382-.113.685-.338.91h-2.782l-.936 3.77c-.642 2.583-.971 3.943-.988 4.082a2.157 2.157 0 0 0-.026.39c0 .728.234 1.092.702 1.092.121 0 .225-.009.312-.026.866-.156 1.655-.85 2.366-2.08a5.56 5.56 0 0 0 .468-.962c.034-.104.078-.165.13-.182.052-.035.182-.052.39-.052.346 0 .52.07.52.208 0 .035-.035.139-.104.312-.191.555-.503 1.118-.936 1.69-.416.555-.841.997-1.274 1.326-.642.486-1.326.728-2.054.728-.624 0-1.162-.156-1.612-.468a2.445 2.445 0 0 1-.884-1.274c-.035-.139-.052-.372-.052-.702v-.468l.91-3.64c.606-2.444.918-3.675.936-3.692 0-.035-.442-.052-1.326-.052h-1.326Z\"\n />\n </svg>\n );\n case \"u\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M26.598 16.794a.87.87 0 0 1 .598.208c.174.121.26.303.26.546l-1.976 8.268a2.36 2.36 0 0 0-.026.416c0 .728.243 1.092.728 1.092.4-.052.737-.382 1.014-.988.191-.399.416-1.1.676-2.106.035-.139.208-.208.52-.208.156 0 .26.009.312.026.052 0 .096.017.13.052.035.034.052.086.052.156 0 .052-.026.182-.078.39-.52 2.045-1.265 3.232-2.236 3.562a2.77 2.77 0 0 1-.624.052c-1.144 0-1.932-.486-2.366-1.456a4.683 4.683 0 0 0-.312.286c-.866.797-1.75 1.196-2.652 1.196-.762 0-1.438-.156-2.028-.468-.71-.416-1.152-1.066-1.326-1.95a7.492 7.492 0 0 1-.026-.806c0-.416.018-.737.052-.962.122-.745.52-2.02 1.196-3.822.382-1.023.572-1.733.572-2.132 0-.243-.026-.408-.078-.494-.034-.104-.13-.156-.286-.156h-.13c-.398 0-.78.182-1.144.546-.554.554-.979 1.386-1.274 2.496a.423.423 0 0 1-.026.104.299.299 0 0 1-.052.078l-.026.026c-.017.017-.052.026-.104.026h-.676c-.104-.104-.156-.182-.156-.234 0-.052.026-.174.078-.364.347-1.196.884-2.14 1.612-2.834.607-.555 1.231-.832 1.872-.832.728 0 1.31.208 1.742.624.434.398.65.918.65 1.56 0 .346-.156.927-.468 1.742-.71 1.906-1.135 3.32-1.274 4.238a5.18 5.18 0 0 0-.026.598c0 .659.104 1.161.312 1.508.208.347.59.52 1.144.52.728 0 1.387-.312 1.976-.936.347-.347.564-.624.65-.832.035-.07.364-1.387.988-3.952.52-2.08.832-3.293.936-3.64.104-.364.226-.615.364-.754.295-.26.607-.39.936-.39Z\"\n />\n </svg>\n );\n case \"v\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M21.956 28.286c-1.109 0-1.993-.277-2.652-.832-.641-.572-.962-1.404-.962-2.496 0-.312.018-.607.052-.884.156-.832.564-2.106 1.222-3.822l.416-1.248a2.8 2.8 0 0 0 .156-.884c0-.433-.164-.65-.494-.65-.121 0-.26.026-.416.078-.884.312-1.551 1.309-2.002 2.99a.422.422 0 0 1-.026.104.299.299 0 0 1-.052.078l-.026.026c-.017.017-.052.026-.104.026h-.676c-.104-.104-.156-.182-.156-.234 0-.052.026-.182.078-.39.416-1.37 1.058-2.392 1.924-3.068a2.554 2.554 0 0 1 1.612-.546c.676 0 1.231.19 1.664.572.434.381.65.884.65 1.508 0 .295-.026.52-.078.676 0 .121-.13.503-.39 1.144-.797 2.167-1.222 3.71-1.274 4.628 0 .468.044.85.13 1.144.226.745.772 1.118 1.638 1.118.468 0 .884-.139 1.248-.416 1.075-.71 1.968-2.349 2.678-4.914.139-.485.208-.884.208-1.196 0-.763-.338-1.447-1.014-2.054-.225-.208-.338-.442-.338-.702 0-.399.156-.754.468-1.066.33-.33.694-.494 1.092-.494.416 0 .737.2.962.598.226.381.338.84.338 1.378 0 .607-.173 1.603-.52 2.99-.329 1.335-.745 2.496-1.248 3.484-1.092 2.236-2.461 3.354-4.108 3.354Z\"\n />\n </svg>\n );\n case \"w\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M24.368 16.794c.243 0 .45.07.624.208.174.121.26.303.26.546 0 .225-.26 1.335-.78 3.328-.502 1.993-.771 3.137-.806 3.432-.034.19-.052.494-.052.91 0 .503.044.884.13 1.144.104.243.286.46.546.65a1.88 1.88 0 0 0 1.066.312c1.23 0 2.21-1.057 2.938-3.172.399-1.04.668-1.993.806-2.86.018-.087.026-.217.026-.39 0-.867-.312-1.56-.936-2.08-.277-.225-.416-.503-.416-.832 0-.399.165-.745.494-1.04.33-.312.694-.468 1.092-.468a.2.2 0 0 1 .078.026h.104c.728.19 1.092.832 1.092 1.924 0 .555-.164 1.551-.494 2.99-.346 1.317-.676 2.383-.988 3.198-.85 2.15-1.993 3.363-3.432 3.64a3.324 3.324 0 0 1-.494.026c-.78 0-1.464-.13-2.054-.39-.59-.277-1.005-.659-1.248-1.144-.381.503-.771.884-1.17 1.144-.381.26-.884.39-1.508.39-1.161 0-2.097-.277-2.808-.832-.693-.555-1.04-1.378-1.04-2.47 0-.468.018-.78.052-.936.104-.693.494-1.95 1.17-3.77.382-1.023.572-1.733.572-2.132 0-.243-.026-.407-.078-.494-.034-.104-.13-.156-.286-.156h-.13c-.398 0-.78.182-1.144.546-.554.555-.98 1.387-1.274 2.496a.422.422 0 0 1-.026.104.299.299 0 0 1-.052.078l-.026.026c-.017.017-.052.026-.104.026h-.676c-.104-.104-.156-.182-.156-.234 0-.052.026-.173.078-.364.174-.52.338-.936.494-1.248.642-1.3 1.465-2.08 2.47-2.34.104-.035.304-.052.598-.052.71 0 1.274.208 1.69.624.416.399.624.91.624 1.534 0 .347-.156.927-.468 1.742-.762 2.045-1.178 3.493-1.248 4.342v.338c0 .693.165 1.24.494 1.638.33.381.806.572 1.43.572.746 0 1.404-.529 1.976-1.586l.13-.234v-.598c.035-.503.06-.797.078-.884a170.904 170.904 0 0 1 1.144-4.706c.278-1.092.45-1.699.52-1.82.226-.468.598-.702 1.118-.702Z\"\n />\n </svg>\n );\n case \"x\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M16.069 20.772c-.104-.104-.156-.2-.156-.286.069-.468.337-1.066.805-1.794.815-1.23 1.838-1.942 3.069-2.132a4.23 4.23 0 0 1 .546-.052c.606 0 1.16.156 1.664.468.52.312.892.702 1.117 1.17l.416-.546c.642-.728 1.378-1.092 2.21-1.092.711 0 1.283.208 1.716.624a1.9 1.9 0 0 1 .677 1.482c0 .537-.156.988-.468 1.352-.295.364-.694.546-1.197.546-.329 0-.598-.096-.805-.286-.209-.19-.313-.442-.313-.754 0-.798.434-1.344 1.3-1.638 0-.017-.095-.078-.285-.182-.174-.104-.425-.156-.755-.156-.225 0-.39.017-.494.052-.658.277-1.143.85-1.456 1.716-.052.139-.303 1.11-.753 2.912-.451 1.785-.694 2.79-.729 3.016-.052.26-.078.52-.078.78 0 .416.122.745.364.988.243.242.564.364.963.364.727 0 1.386-.304 1.976-.91.589-.624.988-1.309 1.196-2.054.052-.174.104-.269.155-.286.052-.035.191-.052.416-.052.33 0 .494.07.494.208 0 .017-.017.113-.052.286-.294 1.075-.9 2.01-1.82 2.808-.814.641-1.672.962-2.574.962-1.213 0-2.131-.546-2.756-1.638-.502.78-1.143 1.3-1.924 1.56a3.32 3.32 0 0 1-.675.052c-1.006 0-1.716-.356-2.133-1.066a2.013 2.013 0 0 1-.26-1.04c0-.52.156-.962.468-1.326a1.505 1.505 0 0 1 1.196-.546c.746 0 1.119.364 1.119 1.092 0 .641-.304 1.11-.91 1.404a1.256 1.256 0 0 0-.13.078 1.005 1.005 0 0 0-.13.052.2.2 0 0 1-.078.026l-.078.026c0 .052.13.13.39.234.207.087.433.13.675.13.624 0 1.162-.39 1.613-1.17.19-.312.528-1.439 1.014-3.38.104-.399.216-.84.337-1.326.122-.486.209-.858.26-1.118.07-.26.113-.416.13-.468.087-.468.13-.806.13-1.014 0-.416-.112-.745-.337-.988-.226-.243-.538-.364-.936-.364-.78 0-1.456.303-2.029.91a4.835 4.835 0 0 0-1.195 2.054c-.035.156-.078.251-.13.286-.035.017-.174.026-.416.026h-.364Z\"\n />\n </svg>\n );\n case \"y\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M27.639 16.794c.242 0 .45.07.624.208.173.121.26.295.26.52 0 .225-.425 2.045-1.274 5.46-.85 3.415-1.335 5.287-1.456 5.616a6.657 6.657 0 0 1-1.352 2.34 6.756 6.756 0 0 1-2.132 1.716c-.936.45-1.812.676-2.626.676-1.317 0-2.21-.416-2.678-1.248-.174-.243-.26-.59-.26-1.04 0-.59.165-1.049.494-1.378.364-.33.745-.494 1.144-.494.762 0 1.144.364 1.144 1.092 0 .641-.303 1.11-.91 1.404a1.01 1.01 0 0 1-.13.052c-.052.035-.095.06-.13.078a.2.2 0 0 1-.078.026l-.078.026c.052.104.234.217.546.338.277.104.555.156.832.156h.208c.294 0 .52-.017.676-.052.659-.19 1.282-.633 1.872-1.326.59-.694 1.04-1.525 1.352-2.496.19-.572.286-.91.286-1.014 0-.018-.017-.009-.052.026a1.168 1.168 0 0 0-.156.104 3.534 3.534 0 0 1-2.132.702c-.884 0-1.612-.208-2.184-.624-.572-.416-.945-1.014-1.118-1.794a7.464 7.464 0 0 1-.026-.806c0-.416.017-.737.052-.962.121-.745.52-2.02 1.196-3.822.381-1.023.572-1.733.572-2.132 0-.243-.026-.408-.078-.494-.035-.104-.13-.156-.286-.156h-.13c-.399 0-.78.182-1.144.546-.555.554-.98 1.386-1.274 2.496a.427.427 0 0 1-.026.104.304.304 0 0 1-.052.078l-.026.026c-.018.017-.052.026-.104.026h-.676c-.104-.104-.156-.182-.156-.234 0-.052.026-.174.078-.364.364-1.213.91-2.158 1.638-2.834.59-.555 1.204-.832 1.846-.832.728 0 1.309.2 1.742.598.433.398.65.953.65 1.664-.035.33-.06.511-.078.546 0 .104-.13.477-.39 1.118-.71 1.924-1.136 3.336-1.274 4.238a5.157 5.157 0 0 0-.026.598c0 .659.104 1.161.312 1.508.208.347.59.52 1.144.52.398 0 .771-.104 1.118-.312.364-.208.633-.408.806-.598.19-.208.424-.486.702-.832 0-.018.043-.19.13-.52.086-.347.208-.858.364-1.534l.494-1.924c.659-2.6 1.023-3.96 1.092-4.082.225-.468.598-.702 1.118-.702Z\"\n />\n </svg>\n );\n case \"z\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M17.023 28.286c-.104-.104-.156-.182-.156-.234 0-.07.052-.182.156-.338.277-.52.728-1.153 1.352-1.898.728-.832 1.967-2.046 3.718-3.64 1.335-1.213 2.236-2.063 2.704-2.548.208-.277.269-.416.182-.416-.208 0-.667-.096-1.378-.286-.763-.19-1.309-.286-1.638-.286-.503 0-.927.087-1.274.26-.347.156-.563.364-.65.624-.243.139-.407.216-.494.234-.364 0-.546-.07-.546-.208 0-.087.026-.208.078-.364a4.135 4.135 0 0 1 1.118-1.742c.52-.485 1.092-.78 1.716-.884.208-.035.355-.052.442-.052.26 0 .503.052.728.156.225.104.39.208.494.312.121.087.303.251.546.494.537.52.997.78 1.378.78.156 0 .277-.017.364-.052.295-.139.676-.598 1.144-1.378.121-.19.208-.286.26-.286.052-.017.173-.026.364-.026h.338c.104.104.156.173.156.208 0 .07-.078.242-.234.52a14.514 14.514 0 0 1-1.248 1.69c-.78.919-2.01 2.132-3.692 3.64-1.387 1.23-2.331 2.123-2.834 2.678l-.312.312.39.026c.381 0 .875.078 1.482.234.884.225 1.49.338 1.82.338.693 0 1.309-.165 1.846-.494.555-.347.91-.78 1.066-1.3.07-.156.13-.252.182-.286.052-.035.182-.052.39-.052.347 0 .52.087.52.26 0 .017-.017.095-.052.234a5.683 5.683 0 0 1-1.43 2.418 4.579 4.579 0 0 1-2.392 1.326 2.865 2.865 0 0 1-.442.026c-.295 0-.563-.06-.806-.182-.243-.121-.58-.381-1.014-.78-.364-.364-.633-.59-.806-.676-.139-.087-.33-.13-.572-.13-.763 0-1.447.52-2.054 1.56-.087.139-.277.208-.572.208h-.338Z\"\n />\n </svg>\n );\n case \"A\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M13.342 30c-.121-.122-.182-.217-.182-.286 0-.07.026-.217.078-.442.07-.225.121-.355.156-.39l.104-.078h.364c1.213-.052 2.097-.485 2.652-1.3.104-.104 1.673-2.748 4.706-7.93 3.05-5.2 4.593-7.826 4.628-7.878.087-.156.165-.243.234-.26.087-.035.286-.052.598-.052h.442c.104.156.156.242.156.26l.728 8.398c.485 5.598.745 8.424.78 8.476.087.19.65.286 1.69.286.19 0 .32.009.39.026.087 0 .147.017.182.052.052.034.078.095.078.182 0 .035-.026.156-.078.364-.052.26-.104.424-.156.494-.035.052-.147.078-.338.078-.312 0-.832-.009-1.56-.026a73.87 73.87 0 0 0-1.716-.026c-1.63 0-2.695.017-3.198.052h-.312a1.188 1.188 0 0 1-.182-.208c0-.052.026-.217.078-.494.07-.225.121-.364.156-.416l.104-.078h.52c.936-.035 1.49-.182 1.664-.442l-.312-3.9h-6.188l-.884 1.508c-.624 1.04-.945 1.603-.962 1.69a.877.877 0 0 0-.104.39c0 .433.399.684 1.196.754.33 0 .494.087.494.26 0 .087-.026.208-.078.364-.052.242-.104.398-.156.468-.052.07-.165.104-.338.104-.295 0-.763-.009-1.404-.026a58.722 58.722 0 0 0-1.456-.026c-1.23 0-2.02.017-2.366.052h-.208Zm12.324-6.76c0-.19-.113-1.543-.338-4.056-.208-2.514-.32-3.779-.338-3.796l-.702 1.118c-.277.468-.823 1.395-1.638 2.782l-2.34 3.952 2.678.026c1.785 0 2.678-.009 2.678-.026Z\"\n />\n </svg>\n );\n case \"B\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M19.624 13.672c0-.017-.009-.035-.026-.052-.018-.034-.044-.052-.078-.052l-.104-.052a.363.363 0 0 0-.156-.026.766.766 0 0 0-.182-.026h-.442a.79.79 0 0 0-.234-.026h-.26c-.416 0-.668-.008-.754-.026a.237.237 0 0 1-.182-.156c-.035-.052-.026-.208.026-.468.086-.312.164-.485.234-.52.017-.017 1.144-.026 3.38-.026 4.489 0 6.855.017 7.098.052 1.196.173 2.132.59 2.808 1.248.693.659 1.04 1.43 1.04 2.314a3.5 3.5 0 0 1-.494 1.768c-.382.694-.997 1.326-1.846 1.898a7.429 7.429 0 0 1-2.626 1.118l-.26.078c1.144.156 2.062.555 2.756 1.196.71.641 1.066 1.439 1.066 2.392 0 1.248-.572 2.418-1.716 3.51-1.335 1.283-2.921 2.002-4.758 2.158-.122.017-1.95.026-5.486.026-3.467 0-5.226-.017-5.278-.052a.247.247 0 0 1-.104-.208c0-.121.017-.242.052-.364.086-.33.173-.511.26-.546.069-.017.199-.026.39-.026h.156c.468 0 .988-.026 1.56-.078.242-.052.407-.156.494-.312.052-.07.676-2.479 1.872-7.228 1.196-4.75 1.794-7.254 1.794-7.514Zm9.386 2.184c0-.59-.156-1.092-.468-1.508a2.108 2.108 0 0 0-1.196-.832c-.122-.034-.919-.06-2.392-.078-.347 0-.711.009-1.092.026h-1.248c-.243.018-.399.078-.468.182-.052.07-.347 1.161-.884 3.276-.52 2.115-.789 3.233-.806 3.354h2.106c1.404 0 2.21-.017 2.418-.052a4.935 4.935 0 0 0 2.002-.832c.641-.45 1.135-.988 1.482-1.612.364-.659.546-1.3.546-1.924Zm-1.404 8.19c0-.762-.208-1.395-.624-1.898a2.298 2.298 0 0 0-1.534-.884c-.104-.017-.824-.026-2.158-.026-2.046 0-3.077.009-3.094.026 0 .035-.156.668-.468 1.898-.295 1.23-.59 2.453-.884 3.666l-.468 1.82c0 .07.104.113.312.13.208 0 .91.009 2.106.026 1.542 0 2.374-.008 2.496-.026 1.126-.121 2.123-.624 2.99-1.508.884-.884 1.326-1.959 1.326-3.224Z\"\n />\n </svg>\n );\n case \"C\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M29.633 17.494c0-1.439-.32-2.565-.962-3.38-.624-.832-1.525-1.248-2.704-1.248-.919 0-1.915.217-2.99.65-1.872.797-3.337 2.14-4.394 4.03-.953 1.681-1.551 3.657-1.794 5.928-.017.139-.026.39-.026.754 0 1.976.659 3.397 1.976 4.264.832.59 1.855.884 3.068.884.659 0 1.378-.147 2.158-.442 1.023-.416 1.95-1.1 2.782-2.054.832-.953 1.404-1.993 1.716-3.12.07-.225.121-.355.156-.39.052-.035.19-.052.416-.052.364 0 .546.07.546.208 0 .035-.017.121-.052.26-.416 1.543-1.248 2.93-2.496 4.16s-2.652 2.028-4.212 2.392a7.283 7.283 0 0 1-1.82.234c-1.785 0-3.285-.511-4.498-1.534-1.213-1.023-1.985-2.323-2.314-3.9a7.212 7.212 0 0 1-.182-1.69c0-2.08.65-4.1 1.95-6.058a13.533 13.533 0 0 1 2.886-3.172 11.881 11.881 0 0 1 3.796-2.054c1.023-.312 1.959-.468 2.808-.468.624 0 .988.009 1.092.026 1.04.173 1.915.607 2.626 1.3a8.298 8.298 0 0 1 .468.624c.087.104.139.156.156.156.052 0 .286-.225.702-.676.121-.104.251-.225.39-.364l.416-.416c.139-.156.225-.251.26-.286l.39-.39h.156c.243 0 .364.06.364.182 0 .07-.277 1.257-.832 3.562-.624 2.41-.936 3.623-.936 3.64a.38.38 0 0 1-.13.182c-.052.017-.208.026-.468.026h-.416l-.156-.156c0-.035.017-.19.052-.468.035-.347.052-.728.052-1.144Z\"\n />\n </svg>\n );\n case \"D\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M18.696 13.672c0-.017-.008-.035-.026-.052-.017-.034-.043-.052-.078-.052l-.104-.052a.363.363 0 0 0-.156-.026.765.765 0 0 0-.182-.026h-.442a.79.79 0 0 0-.234-.026h-.26c-.589 0-.91-.06-.962-.182-.017-.052 0-.2.052-.442.087-.33.165-.511.234-.546.035-.017 1.76-.026 5.174-.026 2.895.017 4.516.035 4.862.052.347 0 .694.043 1.04.13 1.37.312 2.462 1.032 3.276 2.158.815 1.127 1.222 2.53 1.222 4.212 0 .867-.104 1.716-.312 2.548-.485 1.959-1.499 3.736-3.042 5.33-1.75 1.803-3.744 2.886-5.98 3.25l-.364.052L17.37 30h-2.886c-1.542 0-2.322-.043-2.34-.13v-.026a.455.455 0 0 1-.052-.13c0-.034.026-.156.078-.364.07-.277.139-.433.208-.468.07-.052.269-.078.598-.078.468 0 .988-.026 1.56-.078.243-.052.408-.156.494-.312.052-.07.676-2.479 1.872-7.228 1.196-4.75 1.794-7.254 1.794-7.514Zm10.816 4.134c0-1.283-.338-2.297-1.014-3.042-.676-.745-1.62-1.178-2.834-1.3H24.52a14.24 14.24 0 0 0-1.69 0h-1.092c-.225.018-.381.095-.468.234-.034.07-.667 2.566-1.898 7.488-1.23 4.923-1.846 7.41-1.846 7.462 0 .07.096.113.286.13h2.002c1.404 0 2.193-.008 2.366-.026 1.647-.26 3.034-.953 4.16-2.08a7.868 7.868 0 0 0 1.534-2.184c.399-.832.772-1.933 1.118-3.302.347-1.37.52-2.496.52-3.38Z\"\n />\n </svg>\n );\n case \"E\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M30.55 18.3c0-.174.026-.52.078-1.04.052-.52.078-.85.078-.988 0-.763-.13-1.343-.39-1.742-.242-.399-.684-.676-1.326-.832-.572-.122-1.898-.182-3.978-.182-1.473.017-2.244.034-2.314.052a.478.478 0 0 0-.26.26 377.68 377.68 0 0 0-.832 3.198c-.52 2.08-.78 3.137-.78 3.172.399.017.815.026 1.248.026h.234c1.127 0 1.933-.07 2.418-.208.503-.156.893-.546 1.17-1.17.104-.19.234-.564.39-1.118a.577.577 0 0 0 .026-.182 1.3 1.3 0 0 0 .026-.156l.052-.104c.018-.035.044-.052.078-.052a.492.492 0 0 1 .156-.026 1.095 1.095 0 0 1 .468 0 .29.29 0 0 1 .13.026c.035.017.052.034.052.052.018 0 .035.026.052.078l.078.078-.858 3.432c-.572 2.305-.884 3.475-.936 3.51-.052.052-.19.078-.416.078-.225 0-.364-.026-.416-.078-.104-.052-.112-.26-.026-.624.122-.45.182-.84.182-1.17 0-.503-.173-.823-.52-.962-.312-.139-1.161-.208-2.548-.208h-1.352c-.104.364-.433 1.655-.988 3.874-.537 2.201-.806 3.32-.806 3.354 0 .07.096.113.286.13.208 0 .902.009 2.08.026 1.63 0 2.704-.017 3.224-.052a6.765 6.765 0 0 0 1.56-.338 4.382 4.382 0 0 0 2.106-1.456c.572-.693 1.188-1.829 1.846-3.406.174-.381.286-.59.338-.624.052-.035.174-.052.364-.052.208 0 .338.017.39.052.104.07.156.165.156.286-1.82 4.402-2.773 6.647-2.86 6.734-.052.035-2.53.052-7.436.052h-6.552c-.624-.017-.944-.06-.962-.13v-.026a.454.454 0 0 1-.052-.13c0-.035.026-.156.078-.364.07-.277.139-.434.208-.468.07-.052.269-.078.598-.078.468 0 .988-.026 1.56-.078.243-.052.408-.156.494-.312.035-.087.65-2.522 1.846-7.306 1.214-4.784 1.82-7.21 1.82-7.28 0-.121-.034-.182-.104-.182-.138-.052-.598-.096-1.378-.13h-.806a1.188 1.188 0 0 1-.182-.208c0-.052.026-.2.078-.442.07-.312.156-.494.26-.546h14.404c.122.121.182.216.182.286 0 .087-.112 1.066-.338 2.938-.225 1.854-.346 2.8-.364 2.834-.034.121-.208.182-.52.182h-.312c-.121-.104-.182-.19-.182-.26Z\"\n />\n </svg>\n );\n case \"F\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M18.456 29.948c-.485 0-1.118.008-1.898.026h-1.664c-.208 0-.338-.044-.39-.13a.454.454 0 0 1-.052-.13c0-.035.026-.156.078-.364.07-.277.14-.434.208-.468.07-.052.27-.078.598-.078.468 0 .988-.026 1.56-.078.243-.052.408-.156.494-.312.035-.087.65-2.522 1.846-7.306 1.214-4.784 1.82-7.21 1.82-7.28 0-.121-.034-.182-.104-.182-.138-.052-.598-.096-1.378-.13h-.806a1.188 1.188 0 0 1-.182-.208c0-.052.026-.2.078-.442.07-.312.156-.494.26-.546h14.014c.122.121.182.216.182.286 0 .087-.112 1.066-.338 2.938-.225 1.854-.346 2.8-.364 2.834-.034.121-.208.182-.52.182h-.312c-.12-.104-.182-.19-.182-.26v-.104a.677.677 0 0 0 .026-.208c.018-.087.026-.174.026-.26.07-.503.104-1.006.104-1.508 0-1.248-.398-2.037-1.196-2.366a3.938 3.938 0 0 0-1.274-.286c-.485-.035-1.473-.052-2.964-.052-1.386.017-2.114.034-2.184.052-.138.052-.225.13-.26.234-.017.017-.312 1.152-.884 3.406l-.832 3.354h1.43c1.04-.018 1.612-.035 1.716-.052.572-.104.988-.286 1.248-.546.364-.312.668-.936.91-1.872a2.488 2.488 0 0 0 .078-.312c0-.035.01-.07.026-.104.018-.052.035-.078.052-.078l.104-.052a.492.492 0 0 1 .156-.026h.52c.122.087.182.173.182.26 0 .052-.277 1.187-.832 3.406-.537 2.218-.823 3.363-.858 3.432-.034.121-.208.182-.52.182h-.312c-.104-.087-.164-.156-.182-.208-.017-.07.01-.226.078-.468.122-.485.182-.901.182-1.248 0-.52-.216-.84-.65-.962-.312-.104-1.04-.156-2.184-.156h-1.43l-.832 3.302c-.554 2.15-.832 3.276-.832 3.38 0 .104.052.173.156.208.208.104.928.156 2.158.156h.65c.104.104.156.182.156.234.018.035 0 .19-.052.468-.069.225-.156.39-.26.494h-.442c-.71-.035-2.019-.052-3.926-.052Z\"\n />\n </svg>\n );\n case \"G\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M20.152 30.572c-2.045 0-3.735-.641-5.07-1.924-1.334-1.3-2.002-3.033-2.002-5.2 0-2.08.65-4.1 1.95-6.058a13.533 13.533 0 0 1 2.886-3.172 11.882 11.882 0 0 1 3.796-2.054c1.023-.312 1.959-.468 2.808-.468.624 0 .988.009 1.092.026 1.04.173 1.916.607 2.626 1.3a8.215 8.215 0 0 1 .468.624c.087.104.139.156.156.156.052 0 .286-.225.702-.676.122-.104.252-.225.39-.364l.416-.416c.139-.156.226-.251.26-.286l.39-.39h.156c.243 0 .364.06.364.182 0 .07-.277 1.257-.832 3.562-.624 2.41-.936 3.623-.936 3.64a.38.38 0 0 1-.13.182c-.052.017-.208.026-.468.026h-.416l-.156-.156c0-.035.018-.19.052-.468.035-.347.052-.728.052-1.144 0-1.439-.32-2.565-.962-3.38-.624-.832-1.525-1.248-2.704-1.248-.918 0-1.915.217-2.99.65-1.733.728-3.12 1.941-4.16 3.64-1.022 1.681-1.69 3.71-2.002 6.084-.034.312-.052.65-.052 1.014 0 .988.174 1.846.52 2.574.815 1.577 2.297 2.427 4.446 2.548h.156c.936 0 1.794-.2 2.574-.598.78-.399 1.318-.91 1.612-1.534.052-.139.182-.615.39-1.43.208-.832.312-1.291.312-1.378 0-.139-.121-.225-.364-.26-.225-.035-.736-.06-1.534-.078h-.962a1.193 1.193 0 0 1-.182-.208c0-.035.026-.2.078-.494.07-.225.156-.39.26-.494h.442c.694.035 1.907.052 3.64.052h1.612a55.257 55.257 0 0 1 1.326-.026c.243 0 .364.07.364.208 0 .052-.017.182-.052.39a1.823 1.823 0 0 0-.052.208.796.796 0 0 1-.052.156c0 .017-.017.052-.052.104a.17.17 0 0 1-.078.078.714.714 0 0 0-.156.026h-.26c-.346 0-.702.026-1.066.078a.468.468 0 0 0-.286.286l-.104.338c-.052.225-.147.59-.286 1.092-.121.485-.234.919-.338 1.3a36.88 36.88 0 0 0-.156.65 76.37 76.37 0 0 0-.13.572 5.985 5.985 0 0 1-.13.442 3.75 3.75 0 0 1-.104.39 2.39 2.39 0 0 1-.078.286 4.933 4.933 0 0 1-.052.234.654.654 0 0 1-.078.156.299.299 0 0 1-.052.078c-.017.017-.043.026-.078.026-.052 0-.104-.026-.156-.078-.156-.087-.372-.277-.65-.572-.26-.312-.433-.555-.52-.728 0-.017-.017-.009-.052.026a1.191 1.191 0 0 0-.156.104c-.572.537-1.326.97-2.262 1.3a8.785 8.785 0 0 1-2.938.494Z\"\n />\n </svg>\n );\n case \"H\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M33.842 12.268c.19 0 .312.018.364.052.052.035.078.104.078.208s-.017.226-.052.364c-.087.295-.173.468-.26.52h-.182a.765.765 0 0 0-.182.026h-.468c-.919.018-1.447.078-1.586.182a.458.458 0 0 0-.182.182c-.052.087-.684 2.548-1.898 7.384-1.196 4.819-1.794 7.254-1.794 7.306 0 .121.035.182.104.182.139.052.607.096 1.404.13h.806c.087.122.13.2.13.234.018.017 0 .174-.052.468-.07.226-.156.39-.26.494h-.39c-.641-.035-1.803-.052-3.484-.052-.433 0-1.022.009-1.768.026h-1.612c-.294 0-.442-.07-.442-.208 0-.017.009-.07.026-.156.018-.104.035-.182.052-.234.087-.33.174-.511.26-.546.07-.017.2-.026.39-.026H23c.468 0 .988-.026 1.56-.078.243-.052.408-.156.494-.312.052-.087.364-1.265.936-3.536.572-2.27.858-3.432.858-3.484 0-.017-1.256-.026-3.77-.026h-3.77l-.858 3.51c-.59 2.323-.884 3.527-.884 3.614 0 .104.026.165.078.182.122.052.598.096 1.43.13h.806c.087.122.13.2.13.234.017.017 0 .174-.052.468-.07.226-.156.39-.26.494h-.39c-.641-.035-1.802-.052-3.484-.052-.433 0-1.022.009-1.768.026h-1.612c-.295 0-.442-.078-.442-.234 0-.034.026-.156.078-.364.087-.33.174-.511.26-.546.07-.017.2-.026.39-.026h.156c.468 0 .988-.026 1.56-.078.243-.052.408-.156.494-.312.052-.07.676-2.479 1.872-7.228 1.196-4.75 1.794-7.254 1.794-7.514 0-.017-.009-.035-.026-.052-.017-.034-.043-.052-.078-.052l-.104-.052a.363.363 0 0 0-.156-.026.765.765 0 0 0-.182-.026h-.442a.79.79 0 0 0-.234-.026h-.26c-.416 0-.667-.008-.754-.026a.238.238 0 0 1-.182-.156c-.034-.052-.026-.208.026-.468.07-.295.148-.468.234-.52.035-.017.182-.026.442-.026.71.035 1.89.052 3.536.052h1.716a78.756 78.756 0 0 1 1.612-.026c.226 0 .355.052.39.156.035.052.026.208-.026.468-.086.295-.173.468-.26.52h-.182a.765.765 0 0 0-.182.026h-.468c-.918.018-1.447.078-1.586.182a.458.458 0 0 0-.182.182c-.052.07-.33 1.136-.832 3.198-.121.45-.251.953-.39 1.508s-.242.962-.312 1.222l-.104.39c0 .035 1.257.052 3.77.052h3.77l.026-.078c0-.052.269-1.118.806-3.198.485-1.993.728-3.06.728-3.198 0-.034-.017-.07-.052-.104-.017-.034-.052-.06-.104-.078a.577.577 0 0 0-.182-.026.79.79 0 0 0-.234-.026h-.286a1.388 1.388 0 0 0-.312-.026h-.312c-.624 0-.936-.087-.936-.26 0-.364.052-.624.156-.78.052-.086.2-.13.442-.13.312 0 .832.009 1.56.026a75.373 75.373 0 0 0 3.874 0 77.95 77.95 0 0 1 1.508-.026Z\"\n />\n </svg>\n );\n case \"I\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M17.392 29.974c-.294 0-.442-.078-.442-.234 0-.034.026-.156.078-.364.087-.33.174-.511.26-.546.052-.017.182-.026.39-.026h.156c1.058 0 1.716-.06 1.976-.182.018 0 .035-.009.052-.026.087-.035.182-.234.286-.598.104-.364.53-2.063 1.274-5.096.208-.78.364-1.395.468-1.846 1.214-4.853 1.82-7.297 1.82-7.332a.458.458 0 0 1-.052-.13c-.173-.104-.788-.156-1.846-.156h-.52c-.104-.087-.164-.156-.182-.208-.017-.07.01-.216.078-.442.052-.26.113-.425.182-.494.052-.035.2-.052.442-.052 1.248.035 2.514.052 3.796.052h1.43c1.11 0 1.742-.017 1.898-.052h.26c.122.121.182.217.182.286 0 .07-.026.19-.078.364-.052.26-.112.425-.182.494-.052.035-.25.052-.598.052-.537 0-1.092.026-1.664.078-.225.052-.39.139-.494.26-.052.07-.39 1.326-1.014 3.77s-1.23 4.88-1.82 7.306l-.884 3.614c0 .139.061.217.182.234.174.052.65.087 1.43.104h.832c.087.122.13.2.13.234.018.017 0 .174-.052.468-.069.226-.156.39-.26.494h-.416c-.64-.035-1.828-.052-3.562-.052-.433 0-1.048.009-1.846.026h-1.69Z\"\n />\n </svg>\n );\n case \"J\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M26.411 13.75c0-.208-.806-.312-2.418-.312h-.65c-.104-.087-.165-.156-.182-.208-.017-.07.009-.234.078-.494.07-.225.156-.39.26-.494h.442c.71.035 1.976.052 3.796.052h1.716a64.884 64.884 0 0 1 1.43-.026c.19 0 .295.043.312.13.035.07.052.113.052.13 0 .035-.026.156-.078.364-.07.277-.139.442-.208.494-.052.035-.208.052-.468.052h-.234c-.763 0-1.196.121-1.3.364-.07.226-.607 2.366-1.612 6.422-1.092 4.299-1.647 6.457-1.664 6.474-.364 1.058-1.083 1.968-2.158 2.73-1.075.763-2.297 1.144-3.666 1.144-1.057 0-1.924-.26-2.6-.78-.659-.537-.988-1.23-.988-2.08 0-.607.173-1.127.52-1.56.364-.45.84-.676 1.43-.676.78 0 1.213.382 1.3 1.144 0 .503-.147.927-.442 1.274a1.783 1.783 0 0 1-1.092.65c-.139.035-.208.07-.208.104 0 .018.06.087.182.208.45.503 1.1.754 1.95.754.659 0 1.3-.286 1.924-.858.641-.59 1.1-1.3 1.378-2.132.07-.208.615-2.375 1.638-6.5 1.04-4.125 1.56-6.249 1.56-6.37Z\"\n />\n </svg>\n );\n case \"K\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M18.378 13.672c0-.017-.009-.035-.026-.052-.018-.034-.044-.052-.078-.052l-.104-.052a.363.363 0 0 0-.156-.026.766.766 0 0 0-.182-.026h-.442a.79.79 0 0 0-.234-.026h-.26c-.59 0-.91-.06-.962-.182-.018-.052 0-.2.052-.442.086-.312.164-.494.234-.546.034-.017.182-.026.442-.026.71.035 1.889.052 3.536.052h1.716a78.746 78.746 0 0 1 1.612-.026c.294 0 .442.07.442.208 0 .087-.026.208-.078.364-.087.347-.165.529-.234.546-.07.035-.347.052-.832.052-.936.018-1.474.078-1.612.182a.457.457 0 0 0-.182.182l-2.106 8.268c.017 0 1.612-1.248 4.784-3.744 3.189-2.496 4.818-3.779 4.888-3.848.242-.242.364-.442.364-.598 0-.26-.217-.407-.65-.442-.278 0-.416-.095-.416-.286 0-.034.026-.156.078-.364a4.2 4.2 0 0 1 .13-.39c.052-.086.199-.13.442-.13.277 0 .736.009 1.378.026.658.018 1.196.026 1.612.026.936 0 1.577-.017 1.924-.052.26-.017.424-.009.494.026.086.018.13.095.13.234 0 .07-.035.217-.104.442-.052.208-.087.32-.104.338-.052.087-.217.13-.494.13a6.474 6.474 0 0 0-3.536 1.326l-.312.208c-.035.018-.928.71-2.678 2.08a486.183 486.183 0 0 0-2.652 2.08l.234.572c.156.381.398.962.728 1.742.329.78.632 1.517.91 2.21 1.3 3.068 1.993 4.654 2.08 4.758.034.035.078.07.13.104.242.174.684.269 1.326.286h.546c.086.122.13.2.13.234.017.017 0 .174-.052.468-.07.226-.156.39-.26.494h-.286a33.632 33.632 0 0 0-2.47-.078c-2.063 0-3.25.026-3.562.078h-.26a1.188 1.188 0 0 1-.182-.208c0-.052.026-.216.078-.494.052-.208.112-.346.182-.416.052-.052.164-.078.338-.078.866 0 1.3-.216 1.3-.65 0-.087-.512-1.343-1.534-3.77l-1.508-3.588-1.768 1.378-1.768 1.378-.598 2.418c-.399 1.595-.598 2.436-.598 2.522 0 .104.026.165.078.182.121.052.598.096 1.43.13h.806c.104.156.156.252.156.286 0 .277-.061.538-.182.78-.087.087-.226.13-.416.13-.295 0-.824-.009-1.586-.026a86.31 86.31 0 0 0-1.976-.026 83.8 83.8 0 0 0-1.924.026h-1.482c-.226 0-.364-.043-.416-.13a.455.455 0 0 1-.052-.13c0-.034.026-.156.078-.364.069-.277.138-.433.208-.468.069-.052.268-.078.598-.078.468 0 .988-.026 1.56-.078.242-.052.407-.156.494-.312.052-.07.676-2.479 1.872-7.228 1.196-4.75 1.794-7.254 1.794-7.514Z\"\n />\n </svg>\n );\n case \"L\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M20.561 13.672c0-.017-.008-.035-.026-.052-.017-.034-.043-.052-.078-.052l-.104-.052a.363.363 0 0 0-.156-.026.765.765 0 0 0-.182-.026h-.442a.79.79 0 0 0-.234-.026h-.26c-.416 0-.667-.008-.754-.026a.238.238 0 0 1-.182-.156c-.034-.052-.026-.208.026-.468.087-.33.165-.502.234-.52.052-.017.182-.026.39-.026a60.53 60.53 0 0 0 3.302.078h1.04c.451-.017.78-.026.988-.026h.936c.382-.017.668-.026.858-.026.208-.017.338-.026.39-.026h.312c.104.104.156.182.156.234.018.035 0 .19-.052.468-.069.243-.147.407-.234.494h-.988c-1.196.018-1.898.095-2.106.234-.12.07-.242.32-.364.754-.12.416-.702 2.696-1.742 6.838a996.167 996.167 0 0 1-1.586 6.448l-.234.936c0 .07.078.113.234.13.156 0 .668.009 1.534.026 1.3 0 2.22-.043 2.756-.13.555-.087 1.162-.32 1.82-.702a4.712 4.712 0 0 0 1.664-1.586c.434-.676.858-1.569 1.274-2.678.122-.346.217-.59.286-.728.087-.052.234-.078.442-.078h.338c.104.156.156.252.156.286 0 .035-.182.546-.546 1.534-.346.988-.719 2.037-1.118 3.146a63.854 63.854 0 0 0-.676 1.898c-.052.104-.095.165-.13.182-.052.035-2.288.052-6.708.052s-6.656-.017-6.708-.052a.247.247 0 0 1-.104-.208c0-.121.018-.242.052-.364.087-.33.174-.511.26-.546.07-.017.2-.026.39-.026h.156c.468 0 .988-.026 1.56-.078.243-.052.408-.156.494-.312.052-.07.676-2.479 1.872-7.228 1.196-4.75 1.794-7.254 1.794-7.514Z\"\n />\n </svg>\n );\n case \"M\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M16.335 30c-.242 0-.667-.009-1.274-.026a54.61 54.61 0 0 0-1.585-.026c-1.249 0-2.02.009-2.315.026-.415.017-.65.009-.701-.026-.105-.035-.157-.113-.157-.234 0-.034.026-.156.079-.364a4.2 4.2 0 0 1 .13-.39c.034-.104.225-.156.572-.156 1.248-.07 2.019-.416 2.314-1.04.069-.104.667-2.427 1.793-6.968 1.144-4.558 1.716-6.942 1.716-7.15 0-.07-.026-.104-.078-.104h-.052c-.173-.052-.623-.086-1.352-.104-.433 0-.693-.008-.78-.026a.314.314 0 0 1-.181-.182c-.018-.07-.01-.19.025-.364.104-.346.182-.537.234-.572.052-.035.936-.052 2.652-.052 1.37 0 2.159.009 2.366.026.226 0 .364.035.416.104.018.07.338 2.514.962 7.332.625 4.802.936 7.22.936 7.254 0 .018.105-.13.313-.442.208-.33.485-.771.832-1.326l1.222-1.924c.468-.728.953-1.49 1.456-2.288.502-.815 1.005-1.62 1.508-2.418l1.43-2.314c.468-.728.875-1.37 1.222-1.924.363-.572.65-1.031.857-1.378l.313-.494.078-.078a.785.785 0 0 0 .104-.078l.155-.052h2.496c1.665 0 2.523.017 2.575.052a.247.247 0 0 1 .103.208c0 .052-.026.19-.078.416a2.99 2.99 0 0 0-.078.364c-.069.104-.39.156-.962.156-.935.018-1.473.078-1.611.182a.457.457 0 0 0-.183.182c-.052.087-.684 2.54-1.898 7.358-1.195 4.819-1.793 7.254-1.793 7.306 0 .121.026.19.078.208.12.052.598.096 1.43.13h.805c.104.156.157.252.157.286 0 .277-.061.538-.182.78-.087.087-.226.13-.417.13-.294 0-.805-.009-1.534-.026a82.147 82.147 0 0 0-1.924-.026c-.537 0-1.16.009-1.872.026h-1.43c-.225 0-.364-.043-.416-.13-.034-.052-.026-.216.026-.494.07-.277.14-.433.209-.468.069-.052.268-.078.598-.078.468 0 .988-.026 1.56-.078.242-.052.407-.156.494-.312.034-.07.363-1.335.988-3.796.623-2.478 1.239-4.931 1.846-7.358.606-2.427.91-3.649.91-3.666-1.526 2.41-3.207 5.088-5.044 8.034l-5.122 8.138c-.157.156-.364.234-.625.234-.26 0-.416-.06-.468-.182-.052-.087-.39-2.565-1.014-7.436-.606-4.87-.962-7.74-1.066-8.606-2.34 9.273-3.51 13.997-3.51 14.17.104.572.729.858 1.872.858h.26c.104.087.165.165.182.234.018.07-.008.226-.078.468-.069.277-.138.433-.207.468-.07.017-.165.026-.287.026Z\"\n />\n </svg>\n );\n case \"N\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M12.76 29.974c-.26 0-.39-.078-.39-.234 0-.052.026-.19.078-.416.07-.225.113-.347.13-.364.035-.104.234-.156.598-.156 1.179-.052 1.942-.39 2.288-1.014.087-.156 1.292-4.914 3.614-14.274-.034-.017-.511-.043-1.43-.078-.52 0-.832-.008-.936-.026a.184.184 0 0 1-.156-.156c-.034-.052-.026-.208.026-.468.087-.312.165-.485.234-.52.035-.017.876-.026 2.522-.026 1.335 0 2.098.009 2.288.026.208 0 .33.043.364.13l1.378 3.25c.919 2.167 1.846 4.35 2.782 6.552.936 2.201 1.413 3.346 1.43 3.432l1.404-5.538c.919-3.657 1.378-5.607 1.378-5.85 0-.45-.554-.72-1.664-.806-.364 0-.563-.06-.598-.182-.034-.052-.026-.19.026-.416.018-.052.035-.113.052-.182a.713.713 0 0 0 .026-.156.299.299 0 0 1 .078-.182l.052-.052a.11.11 0 0 1 .078-.026h.13c.243 0 .676.017 1.3.052a62.89 62.89 0 0 0 1.664.026c.451 0 .962-.008 1.534-.026.59-.017.997-.026 1.222-.026.26 0 .39.087.39.26 0 .07-.034.217-.104.442-.052.208-.086.32-.104.338-.034.087-.225.13-.572.13-1.23.052-2.002.399-2.314 1.04l-3.874 15.34c-.034.121-.216.182-.546.182-.242 0-.39-.017-.442-.052L20.04 14.296c-2.253 9.03-3.38 13.58-3.38 13.65.104.572.728.858 1.872.858h.26c.104.087.165.165.182.234.018.052-.008.208-.078.468-.069.226-.156.39-.26.494h-.338c-.537-.035-1.473-.052-2.808-.052-.346 0-.823.009-1.43.026h-1.3Z\"\n />\n </svg>\n );\n case \"O\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M24.019 11.696h.442c.659 0 1.075.008 1.248.026 1.699.242 3.06.988 4.082 2.236 1.023 1.248 1.534 2.825 1.534 4.732 0 2.34-.754 4.558-2.262 6.656-.988 1.421-2.184 2.574-3.588 3.458-1.82 1.179-3.649 1.768-5.486 1.768-1.855 0-3.397-.59-4.628-1.768-1.317-1.283-1.976-2.999-1.976-5.148 0-.607.009-.997.026-1.17.312-2.375 1.317-4.559 3.016-6.552a16.549 16.549 0 0 1 1.56-1.56c1.924-1.595 3.935-2.488 6.032-2.678Zm4.628 5.928c0-1.317-.303-2.4-.91-3.25-.59-.85-1.413-1.378-2.47-1.586a3.627 3.627 0 0 0-.806-.078 3.99 3.99 0 0 0-.962.104c-1.075.19-2.089.676-3.042 1.456-.399.312-.875.789-1.43 1.43-.797 1.023-1.473 2.34-2.028 3.952-.555 1.595-.832 3.172-.832 4.732 0 1.248.243 2.305.728 3.172.503.866 1.196 1.447 2.08 1.742.45.139.875.208 1.274.208 1.057 0 2.097-.33 3.12-.988 2.063-1.352 3.57-3.57 4.524-6.656.503-1.647.754-3.06.754-4.238Z\"\n />\n </svg>\n );\n case \"P\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M21.121 13.672c0-.017-.009-.035-.026-.052-.017-.034-.043-.052-.078-.052l-.104-.052a.363.363 0 0 0-.156-.026.765.765 0 0 0-.182-.026h-.442a.79.79 0 0 0-.234-.026h-.26c-.433 0-.693-.008-.78-.026a.314.314 0 0 1-.182-.182c-.017-.07-.009-.19.026-.364.104-.346.182-.537.234-.572.052-.035 1.733-.052 5.044-.052 3.293.017 5.053.043 5.278.078 1.023.173 1.872.537 2.548 1.092.693.537 1.144 1.248 1.352 2.132.017.104.026.33.026.676 0 .434-.017.72-.052.858-.208.988-.763 1.924-1.664 2.808-1.196 1.179-2.739 1.924-4.628 2.236-.121.018-1.031.035-2.73.052h-2.47l-.78 3.094c-.52 2.01-.78 3.077-.78 3.198s.026.19.078.208c.121.052.598.096 1.43.13h.806c.104.156.156.252.156.286 0 .277-.06.538-.182.78-.087.087-.225.13-.416.13-.295 0-.823-.009-1.586-.026a86.304 86.304 0 0 0-1.976-.026 83.8 83.8 0 0 0-1.924.026h-1.482c-.225 0-.364-.043-.416-.13a.455.455 0 0 1-.052-.13c0-.034.026-.156.078-.364.07-.277.139-.433.208-.468.07-.052.269-.078.598-.078.468 0 .988-.026 1.56-.078.243-.052.407-.156.494-.312.052-.07.676-2.479 1.872-7.228 1.196-4.75 1.794-7.254 1.794-7.514Zm9.308 1.924c0-.659-.19-1.135-.572-1.43-.381-.312-.927-.537-1.638-.676-.121-.017-.815-.034-2.08-.052-.295 0-.598.009-.91.026h-1.066c-.225.018-.381.095-.468.234a79.01 79.01 0 0 0-.52 2.002c-.295 1.23-.59 2.427-.884 3.588-.295 1.162-.45 1.75-.468 1.768 0 .035.702.052 2.106.052 1.456-.017 2.253-.035 2.392-.052 1.161-.173 2.054-.59 2.678-1.248.468-.468.858-1.308 1.17-2.522.173-.71.26-1.274.26-1.69Z\"\n />\n </svg>\n );\n case \"Q\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M22.09 32.08c0-.19.01-.511.027-.962.034-.433.052-.71.052-.832v-.104l-.39.104c-.797.19-1.526.286-2.184.286-1.837 0-3.371-.59-4.602-1.768-1.318-1.283-1.976-2.999-1.976-5.148 0-.607.008-.997.026-1.17.312-2.375 1.317-4.559 3.016-6.552a16.573 16.573 0 0 1 1.56-1.56c1.924-1.595 3.934-2.488 6.032-2.678h.442c.659 0 1.075.008 1.248.026 1.698.242 3.06.988 4.082 2.236 1.023 1.248 1.534 2.825 1.534 4.732 0 2.322-.72 4.498-2.158 6.526-1.439 2.01-3.137 3.466-5.096 4.368l-.442.208v.13a.2.2 0 0 0 .026.078.489.489 0 0 1 .026.156c.017.07.035.13.052.182.156.676.355 1.144.598 1.404.242.26.633.39 1.17.39a2.86 2.86 0 0 0 1.794-.624c.537-.399.884-.875 1.04-1.43.104-.243.216-.364.338-.364.156 0 .251.078.286.234 0 .104-.06.355-.182.754-.71 2.097-1.673 3.45-2.886 4.056-.433.19-.867.286-1.3.286-.797 0-1.352-.26-1.664-.78-.312-.503-.468-1.23-.468-2.184Zm-1.351-6.11c.624 0 1.135.225 1.534.676.416.45.667 1.092.754 1.924l.338-.234c1.335-.919 2.41-2.193 3.224-3.822.832-1.63 1.378-3.484 1.638-5.564.017-.174.026-.546.026-1.118 0-2.028-.59-3.476-1.768-4.342-.676-.52-1.465-.78-2.366-.78-.832 0-1.681.216-2.548.65-1.56.763-2.86 2.054-3.9 3.874-1.04 1.802-1.69 3.83-1.95 6.084-.018.19-.026.546-.026 1.066 0 1.802.468 3.163 1.404 4.082.416.364.667.546.754.546v-.208c0-.78.303-1.447.91-2.002.624-.555 1.282-.832 1.976-.832Zm-.858 3.562a5.38 5.38 0 0 0 2.34-.546l-.026-.26c-.07-.953-.39-1.525-.962-1.716a3.178 3.178 0 0 0-.494-.052h-.156a.426.426 0 0 0-.104-.026c-.07 0-.182.026-.338.078a1.88 1.88 0 0 0-.91.624c-.26.294-.39.633-.39 1.014 0 .59.346.884 1.04.884Z\"\n />\n </svg>\n );\n case \"R\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M19.598 13.672c0-.017-.009-.035-.026-.052-.018-.034-.044-.052-.078-.052l-.104-.052a.363.363 0 0 0-.156-.026.766.766 0 0 0-.182-.026h-.442a.79.79 0 0 0-.234-.026h-.26c-.416 0-.668-.008-.754-.026a.237.237 0 0 1-.182-.156c-.035-.052-.026-.208.026-.468.086-.312.164-.485.234-.52.034-.017 1.542-.026 4.524-.026 2.981.017 4.593.043 4.836.078 1.577.226 2.773.763 3.588 1.612.641.694.962 1.465.962 2.314 0 .174-.035.434-.104.78-.399 1.543-1.673 2.79-3.822 3.744-.763.295-1.196.442-1.3.442l.182.13c1.161.659 1.742 1.612 1.742 2.86 0 .208-.044.763-.13 1.664a20.47 20.47 0 0 0-.13 2.054c0 .607.06 1.04.182 1.3.121.243.39.364.806.364.242 0 .398-.017.468-.052.658-.26 1.126-.84 1.404-1.742.086-.242.156-.39.208-.442.052-.052.182-.078.39-.078.346 0 .52.104.52.312 0 .312-.208.806-.624 1.482-.52.763-1.127 1.24-1.82 1.43-.139.035-.39.052-.754.052-1.803 0-2.973-.546-3.51-1.638-.156-.277-.243-.624-.26-1.04v-.442l.052-.39c.017-.139.034-.242.052-.312.017-.07.06-.216.13-.442a6.33 6.33 0 0 0 .156-.598c.26-.988.39-1.62.39-1.898 0-.867-.373-1.508-1.118-1.924-.26-.121-.477-.19-.65-.208-.174-.017-.789-.035-1.846-.052H20.17l-.832 3.38c-.572 2.288-.858 3.45-.858 3.484 0 .121.026.19.078.208.121.052.598.096 1.43.13h.806c.086.122.13.2.13.234.017.017 0 .174-.052.468-.07.226-.156.39-.26.494h-.39c-.624-.035-1.76-.052-3.406-.052-.416 0-.997.009-1.742.026h-1.638c-.295 0-.442-.078-.442-.234 0-.034.026-.156.078-.364.086-.33.173-.511.26-.546.069-.017.199-.026.39-.026h.156c.468 0 .988-.026 1.56-.078.242-.052.407-.156.494-.312.052-.07.676-2.479 1.872-7.228 1.196-4.75 1.794-7.254 1.794-7.514Zm8.502.676c-.364-.381-.841-.624-1.43-.728-.59-.121-1.43-.182-2.522-.182a8.5 8.5 0 0 0-.65.026h-.858c-.226.018-.382.095-.468.234-.018.052-.312 1.213-.884 3.484-.572 2.254-.858 3.398-.858 3.432 0 .017.598.026 1.794.026 1.352-.017 2.253-.078 2.704-.182 1.126-.19 1.993-.702 2.6-1.534.277-.398.511-.918.702-1.56.19-.659.286-1.248.286-1.768 0-.537-.139-.953-.416-1.248Z\"\n />\n </svg>\n );\n case \"S\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M28.405 16.48c0-1.179-.303-2.089-.91-2.73-.589-.641-1.447-.962-2.574-.962-.953 0-1.872.39-2.756 1.17-.866.78-1.3 1.707-1.3 2.782 0 .537.13.997.39 1.378.278.381.633.641 1.066.78.052.035.65.208 1.794.52a99.54 99.54 0 0 0 1.768.442c.26.07.59.243.988.52 1.04.745 1.56 1.855 1.56 3.328 0 .45-.069.936-.208 1.456a4.94 4.94 0 0 1-.52 1.43c-1.074 2.132-2.756 3.44-5.044 3.926a5.719 5.719 0 0 1-.884.052c-1.716 0-3.05-.477-4.004-1.43l-.26-.286-.728.806c-.485.537-.754.823-.806.858-.052.035-.138.052-.26.052-.225 0-.338-.07-.338-.208 0-.052.503-2.089 1.508-6.11.035-.104.208-.156.52-.156h.338c.087.087.13.147.13.182.018.017.01.156-.026.416a6.79 6.79 0 0 0-.13 1.326c.07 1.127.477 1.967 1.222 2.522.763.555 1.794.832 3.094.832.174 0 .382-.017.624-.052.815-.19 1.543-.624 2.184-1.3.66-.676 1.075-1.456 1.248-2.34.035-.139.052-.407.052-.806 0-1.11-.45-1.863-1.352-2.262-.104-.017-.728-.173-1.872-.468-1.144-.312-1.742-.485-1.794-.52a3.428 3.428 0 0 1-1.846-1.3c-.45-.659-.676-1.439-.676-2.34 0-.867.243-1.76.728-2.678.503-.936 1.101-1.655 1.794-2.158.884-.763 1.95-1.24 3.198-1.43.07-.017.165-.026.286-.026h.286c1.803 0 3.068.555 3.796 1.664l1.534-1.664h.104a.429.429 0 0 1 .13-.026c.226 0 .338.06.338.182 0 .121-.25 1.179-.754 3.172-.485 1.976-.754 2.99-.806 3.042-.052.052-.19.078-.416.078-.346 0-.52-.078-.52-.234 0-.104.01-.19.026-.26 0-.087.01-.269.026-.546a6.19 6.19 0 0 0 .052-.624Z\"\n />\n </svg>\n );\n case \"T\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M25.198 30c-.468 0-1.248-.009-2.34-.026a165.36 165.36 0 0 0-2.522-.026c-2.236 0-3.657.017-4.264.052h-.39a1.192 1.192 0 0 1-.182-.208c0-.052.026-.217.078-.494.07-.225.156-.39.26-.494h.728c1.04 0 1.742-.026 2.106-.078.295-.017.511-.07.65-.156.017-.017.035-.026.052-.026.087-.052.173-.225.26-.52.087-.312.433-1.673 1.04-4.082.295-1.179.537-2.14.728-2.886 1.213-4.767 1.82-7.202 1.82-7.306 0-.087-.251-.13-.754-.13h-.806c-1.161 0-1.924.052-2.288.156-.745.156-1.309.46-1.69.91-.468.52-.98 1.577-1.534 3.172-.121.381-.208.607-.26.676-.052.07-.173.104-.364.104h-.078c-.225 0-.364-.026-.416-.078-.052-.052-.078-.095-.078-.13 0-.104.26-.936.78-2.496a74.24 74.24 0 0 1 .962-2.86c.104-.33.217-.555.338-.676h12.168c2.323 0 3.484.043 3.484.13v.026l.026.026v.078c0 .104-.156 1.092-.468 2.964-.295 1.872-.45 2.817-.468 2.834 0 .052-.035.095-.104.13-.035.035-.165.052-.39.052h-.26a.424.424 0 0 0-.104-.026l-.078-.078a.781.781 0 0 0-.078-.104c0-.121.026-.355.078-.702.156-.936.234-1.62.234-2.054 0-.399-.052-.728-.156-.988-.104-.26-.225-.46-.364-.598-.121-.139-.355-.243-.702-.312a6.478 6.478 0 0 0-.858-.13 33.843 33.843 0 0 0-1.196-.052c-.797 0-1.309.017-1.534.052-.208.017-.355.078-.442.182-.017.017-.633 2.444-1.846 7.28-1.213 4.819-1.82 7.263-1.82 7.332 0 .121.113.2.338.234.243.07.893.113 1.95.13.59 0 .936.009 1.04.026.121.017.2.07.234.156.017.052 0 .2-.052.442-.07.312-.147.494-.234.546L25.38 30h-.182Z\"\n />\n </svg>\n );\n case \"U\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M17.078 26.36c0 .954.26 1.699.78 2.236.537.52 1.291.78 2.262.78 1.421 0 2.67-.46 3.744-1.378 1.092-.919 1.855-2.028 2.288-3.328 1.699-6.777 2.548-10.253 2.548-10.426 0-.45-.555-.72-1.664-.806-.364 0-.563-.06-.598-.182-.035-.052-.026-.19.026-.416.017-.052.035-.113.052-.182a.706.706 0 0 0 .026-.156.304.304 0 0 1 .078-.182l.052-.052c.017-.017.043-.026.078-.026h.13c.26 0 .71.017 1.352.052a51.568 51.568 0 0 0 3.224 0c.59-.017.997-.026 1.222-.026.26 0 .39.087.39.26 0 .07-.035.217-.104.442-.052.208-.087.32-.104.338-.052.087-.243.13-.572.13-1.23.052-2.002.399-2.314 1.04-.035.087-.468 1.76-1.3 5.018-.71 2.93-1.144 4.654-1.3 5.174-.52 1.543-1.465 2.912-2.834 4.108-1.37 1.196-2.895 1.794-4.576 1.794-1.404 0-2.583-.398-3.536-1.196-.953-.797-1.525-1.837-1.716-3.12a4.412 4.412 0 0 1-.026-.598c0-.399.017-.754.052-1.066.035-.156.269-1.118.702-2.886.45-1.785.884-3.536 1.3-5.252.433-1.716.65-2.643.65-2.782 0-.121-.494-.2-1.482-.234-.416 0-.667-.008-.754-.026a.238.238 0 0 1-.182-.156c-.035-.052-.026-.208.026-.468.07-.295.147-.468.234-.52.035-.017.182-.026.442-.026.71.035 1.89.052 3.536.052h1.716a78.767 78.767 0 0 1 1.612-.026c.225 0 .355.052.39.156.035.052.026.208-.026.468-.087.295-.173.468-.26.52h-.182a.766.766 0 0 0-.182.026h-.468c-.919.018-1.447.078-1.586.182a.458.458 0 0 0-.182.182c-.017.035-.26.954-.728 2.756a431.596 431.596 0 0 0-1.43 5.616c-.468 1.942-.72 3.085-.754 3.432a5.338 5.338 0 0 0-.052.754Z\"\n />\n </svg>\n );\n case \"V\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M15.955 13.438c-.121-.121-.182-.216-.182-.286 0-.138.043-.312.13-.52.087-.208.156-.338.208-.39h.286c.728.052 1.638.078 2.73.078 2.045 0 3.25-.026 3.614-.078H23c.104.104.156.182.156.234.017.035 0 .19-.052.468-.07.243-.147.407-.234.494h-.546c-.381.035-.641.052-.78.052-.503.087-.78.217-.832.39 0 .035.251 2.219.754 6.552.503 4.316.763 6.483.78 6.5l1.898-3.042a950.553 950.553 0 0 0 3.796-6.136 279.681 279.681 0 0 0 1.95-3.198c.087-.173.13-.303.13-.39 0-.399-.39-.641-1.17-.728-.33 0-.494-.087-.494-.26 0-.087.026-.208.078-.364.052-.242.104-.399.156-.468.052-.07.165-.104.338-.104.295 0 .763.009 1.404.026.659.018 1.144.026 1.456.026 1.196 0 1.95-.017 2.262-.052h.182c.121.121.182.217.182.286 0 .312-.078.59-.234.832-.052.052-.2.078-.442.078-.936.052-1.681.33-2.236.832l-.182.182c-.07.087-.113.139-.13.156a.99.99 0 0 1-.182.26c-6.379 10.348-9.62 15.548-9.724 15.6l-.13.078-.468.026c-.312 0-.494-.017-.546-.052-.07-.035-.104-.078-.104-.13-.052-.104-.39-2.877-1.014-8.32-.659-5.512-.997-8.294-1.014-8.346-.104-.19-.546-.286-1.326-.286h-.728Z\"\n />\n </svg>\n );\n case \"W\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M11.232 13.438c-.122-.121-.182-.216-.182-.286 0-.381.112-.684.338-.91h.312a37.18 37.18 0 0 0 2.6.078h.832c.38-.017.667-.026.858-.026h.806c.329-.017.58-.026.754-.026.173-.017.277-.026.312-.026h.26c.104.104.156.182.156.234.017.035 0 .19-.052.468-.07.243-.148.407-.234.494h-.546c-.503.018-.92.07-1.248.156-.26.104-.408.2-.442.286 0 .121.138 2.219.416 6.292.294 4.073.45 6.17.468 6.292 2.704-4.784 4.74-8.372 6.11-10.764l-.052-.962c-.052-.728-.14-1.118-.26-1.17-.104-.07-.468-.112-1.092-.13-.486 0-.746-.06-.78-.182-.035-.052-.026-.19.026-.416.086-.347.164-.537.234-.572.052-.017.32-.017.806 0 .589.035 1.412.052 2.47.052.502 0 1.092-.008 1.768-.026a68.319 68.319 0 0 1 1.456-.026c.294 0 .442.06.442.182 0 .07-.026.226-.078.468-.052.226-.087.347-.104.364-.035.104-.26.156-.676.156-.902.035-1.44.165-1.612.39-.052.052-.07.113-.052.182 0 .208.138 2.28.416 6.214.277 3.918.416 5.98.416 6.188l.052-.078a5.08 5.08 0 0 0 .156-.26c.086-.139.19-.303.312-.494.12-.208.268-.468.442-.78.19-.312.398-.667.624-1.066.225-.399.485-.867.78-1.404l1.014-1.742c2.236-3.934 3.37-5.954 3.406-6.058a.828.828 0 0 0 .052-.234c0-.277-.174-.485-.52-.624a2.459 2.459 0 0 0-1.066-.234c-.243 0-.364-.087-.364-.26 0-.052.017-.165.052-.338a.577.577 0 0 0 .026-.182.713.713 0 0 0 .026-.156l.052-.104a.17.17 0 0 1 .078-.078.29.29 0 0 1 .13-.026.677.677 0 0 1 .208-.026c.312 0 .788.009 1.43.026h1.43c1.144 0 1.88-.017 2.21-.052.242 0 .364.095.364.286 0 .104-.035.26-.104.468-.07.208-.122.33-.156.364-.052.052-.14.078-.26.078-1.092 0-1.933.407-2.522 1.222-.122.19-.191.295-.208.312l-4.394 7.696c-2.912 5.13-4.377 7.705-4.394 7.722-.104.122-.312.182-.624.182-.26 0-.425-.043-.494-.13-.052-.052-.226-2.184-.52-6.396-.278-4.23-.416-6.404-.416-6.526l-.312.468c-.382.642-1.491 2.574-3.328 5.798a403.24 403.24 0 0 1-1.794 3.146l-1.43 2.548c-.312.537-.477.815-.494.832-.104.173-.33.26-.676.26-.33 0-.512-.06-.546-.182 0-.052-.191-2.817-.572-8.294-.382-5.494-.581-8.25-.598-8.268-.035-.156-.122-.251-.26-.286-.14-.052-.477-.086-1.014-.104h-.624Z\"\n />\n </svg>\n );\n case \"X\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M12.326 30c-.277 0-.416-.095-.416-.286 0-.07.026-.208.078-.416.07-.242.13-.381.182-.416.052-.035.217-.06.494-.078 1.491-.052 2.661-.502 3.51-1.352.174-.173 1.18-1.265 3.016-3.276 1.838-2.028 2.748-3.05 2.73-3.068-1.889-4.819-2.877-7.271-2.964-7.358-.156-.19-.702-.294-1.638-.312h-.728a1.188 1.188 0 0 1-.182-.208c0-.052.026-.216.078-.494.07-.225.156-.39.26-.494h.364c.59.035 1.638.052 3.146.052h1.664a75.269 75.269 0 0 1 1.612-.026c.174 0 .286.018.338.052.052.018.078.078.078.182 0 .416-.06.685-.182.806-.034.087-.182.13-.442.13-.658.07-1.109.208-1.352.416l-.052.026c.78 1.907 1.448 3.588 2.002 5.044L25.3 17.39c.815-.884 1.456-1.595 1.924-2.132.382-.398.616-.667.702-.806a.625.625 0 0 0 .104-.416c-.052-.26-.26-.442-.624-.546a1.45 1.45 0 0 1-.338-.052c-.156 0-.268-.035-.338-.104-.069-.07-.069-.268 0-.598.07-.225.156-.39.26-.494h.312c.4.052 1.44.078 3.12.078 1.508 0 2.366-.026 2.574-.078h.208c.122.121.182.217.182.286 0 .139-.043.312-.13.52-.069.208-.13.338-.182.39h-.416c-1.334.052-2.426.425-3.276 1.118-.156.156-.25.243-.286.26a.465.465 0 0 1-.13.13c-.069.07-.849.928-2.34 2.574l-2.262 2.496c0 .018.27.72.806 2.106.555 1.37 1.118 2.765 1.69 4.186.572 1.422.893 2.167.962 2.236.174.156.702.243 1.586.26.607 0 .91.07.91.208 0 .19-.06.468-.182.832-.052.087-.19.13-.416.13h-1.378a68.88 68.88 0 0 0-1.794-.026c-.52 0-1.135.009-1.846.026H23.22c-.225 0-.364-.043-.416-.13-.034-.052-.026-.216.026-.494.07-.26.13-.407.182-.442.052-.052.182-.087.39-.104.312-.017.642-.086.988-.208.295-.139.442-.225.442-.26-.017 0-.424-1.014-1.222-3.042l-1.222-3.068c-.017 0-.84.902-2.47 2.704-1.612 1.785-2.426 2.695-2.444 2.73a.647.647 0 0 0-.208.468c0 .33.252.546.754.65.018 0 .07.009.156.026h.156c.208 0 .312.087.312.26 0 .104-.026.252-.078.442-.052.226-.104.364-.156.416-.052.035-.182.052-.39.052h-1.534a68.47 68.47 0 0 0-1.56-.026c-1.352 0-2.218.017-2.6.052Z\"\n />\n </svg>\n );\n case \"Y\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M29.994 12.294a40.338 40.338 0 0 0 2.912 0c.503-.035.85-.052 1.04-.052.226 0 .338.087.338.26 0 .052-.034.19-.104.416-.052.226-.086.347-.104.364-.034.104-.216.156-.546.156-1.248.087-2.262.52-3.042 1.3-.156.156-1.369 1.569-3.64 4.238l-3.354 3.926-.676 2.704c-.468 1.855-.702 2.825-.702 2.912 0 .19.59.286 1.768.286.295 0 .477.018.546.052.087.017.13.087.13.208 0 .364-.052.624-.156.78-.052.087-.199.13-.442.13h-1.56a82.14 82.14 0 0 0-1.924-.026c-.554 0-1.187.009-1.898.026h-1.482c-.294 0-.442-.06-.442-.182 0-.07.026-.216.078-.442.052-.242.087-.373.104-.39.035-.104.356-.156.962-.156.676-.017 1.118-.052 1.326-.104.226-.052.382-.165.468-.338.052-.086.304-1.022.754-2.808l.65-2.678c-.71-2.028-1.776-5.053-3.198-9.074a.973.973 0 0 0-.494-.286c-.156-.034-.537-.06-1.144-.078-.624 0-.936-.087-.936-.26 0-.035.026-.156.078-.364.07-.312.148-.494.234-.546.035-.017.156-.026.364-.026a45.9 45.9 0 0 0 2.834.078c2.115 0 3.337-.026 3.666-.078h.26c.104.104.156.182.156.234.018.035 0 .19-.052.468-.069.225-.156.39-.26.494h-.312c-.97 0-1.456.113-1.456.338 0 .087.434 1.37 1.3 3.848.867 2.462 1.309 3.7 1.326 3.718l.078-.078c.07-.07.174-.182.312-.338.139-.173.321-.381.546-.624.226-.26.503-.58.832-.962.33-.381.702-.823 1.118-1.326 1.855-2.166 2.843-3.336 2.964-3.51.156-.225.234-.416.234-.572 0-.277-.277-.442-.832-.494-.294 0-.442-.087-.442-.26 0-.035.018-.156.052-.364.052-.26.096-.416.13-.468.052-.07.174-.104.364-.104.243 0 .668.017 1.274.052Z\"\n />\n </svg>\n );\n case \"Z\":\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"40\"\n height=\"40\"\n fill=\"none\"\n viewBox=\"2 2 40 40\"\n >\n <path\n fill=\"currentColor\"\n d=\"M14.634 29.792c0-.26.052-.494.156-.702 0-.017 2.297-2.608 6.89-7.774a4794.75 4794.75 0 0 1 6.942-7.826l-.26-.052h-1.924c-1.56.018-2.41.035-2.548.052-1.317.174-2.349.615-3.094 1.326-.745.71-1.326 1.707-1.742 2.99l-.052.156-.052.156-.052.104v.078l-.026.052c-.052.087-.217.13-.494.13-.295 0-.468-.087-.52-.26l.832-2.808c.139-.45.277-.918.416-1.404.156-.485.269-.858.338-1.118.087-.26.13-.399.13-.416.052-.104.095-.165.13-.182.052-.035 2.08-.052 6.084-.052h6.006c.087.087.13.156.13.208 0 .035-.052.26-.156.676-9.152 10.313-13.737 15.487-13.754 15.522l-.078.078h2.314c1.647-.017 2.54-.034 2.678-.052 1.265-.156 2.262-.529 2.99-1.118.745-.59 1.36-1.517 1.846-2.782.121-.277.26-.676.416-1.196.139-.433.234-.693.286-.78.07-.086.182-.13.338-.13h.104c.364 0 .546.096.546.286 0 .07-.355 1.24-1.066 3.51-.71 2.27-1.11 3.432-1.196 3.484-.052.035-2.14.052-6.266.052-4.108 0-6.18-.017-6.214-.052-.052-.052-.078-.104-.078-.156Z\"\n />\n </svg>\n );\n\n case \"JUMP_OUT_PARENTHESES\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.9571 13.2929c.3905.3905.3905 1.0237 0 1.4142C11.6871 15.9771 11 17.9485 11 20c0 2.0515.6871 4.0229 1.9571 5.2929.3905.3905.3905 1.0237 0 1.4142-.3905.3905-1.0237.3905-1.4142 0C9.81292 24.9771 9 22.4485 9 20c0-2.4485.81292-4.9771 2.5429-6.7071.3905-.3905 1.0237-.3905 1.4142 0zm4.5858 0c.3905-.3905 1.0237-.3905 1.4142 0C20.6871 15.0229 21.5 17.5515 21.5 20c0 2.4485-.8129 4.9771-2.5429 6.7071-.3905.3905-1.0237.3905-1.4142 0-.3905-.3905-.3905-1.0237 0-1.4142C18.8129 24.0229 19.5 22.0515 19.5 20c0-2.0515-.6871-4.0229-1.9571-5.2929-.3905-.3905-.3905-1.0237 0-1.4142z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M25.5429 16.2929c.3905-.3905 1.0237-.3905 1.4142 0l3 3c.3905.3905.3905 1.0237 0 1.4142l-3 3c-.3905.3905-1.0237.3905-1.4142 0-.3905-.3905-.3905-1.0237 0-1.4142L26.8358 21H16.25c-.5523 0-1-.4477-1-1s.4477-1 1-1h10.5858l-1.2929-1.2929c-.3905-.3905-.3905-1.0237 0-1.4142z\"\n fill={semanticColor.core.foreground.instructive.default}\n />\n </svg>\n );\n case \"JUMP_OUT_EXPONENT\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.2929 15.2929c.3905-.3905 1.0237-.3905 1.4142 0L26 21.5858V20c0-.5523.4477-1 1-1s1 .4477 1 1v4.003c-.0004.1345-.0273.2627-.0759.3798-.0477.1152-.1178.2234-.2105.3177a.809004.809004 0 01-.0131.0131c-.1797.1765-.4259.2856-.6975.2864H23c-.5523 0-1-.4477-1-1s.4477-1 1-1h1.5858l-6.2929-6.2929c-.3905-.3905-.3905-1.0237 0-1.4142zM31 33c-.5523 0-1-.4477-1-1V16c0-.5523.4477-1 1-1s1 .4477 1 1v16c0 .5523-.4477 1-1 1z\"\n fill={semanticColor.core.foreground.instructive.default}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9 9c-.55228 0-1 .44772-1 1v6c0 .5523.44772 1 1 1h6c.5523 0 1-.4477 1-1v-6c0-.55228-.4477-1-1-1H9zm5 2h-4v4h4v-4z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"JUMP_OUT_BASE\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n style={{display: \"block\", transform: \"scale(1,-1)\"}}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.2929 15.2929c.3905-.3905 1.0237-.3905 1.4142 0L26 21.5858V20c0-.5523.4477-1 1-1s1 .4477 1 1v4.003c-.0004.1345-.0273.2627-.0759.3798-.0477.1152-.1178.2234-.2105.3177a.809004.809004 0 01-.0131.0131c-.1797.1765-.4259.2856-.6975.2864H23c-.5523 0-1-.4477-1-1s.4477-1 1-1h1.5858l-6.2929-6.2929c-.3905-.3905-.3905-1.0237 0-1.4142zM31 33c-.5523 0-1-.4477-1-1V16c0-.5523.4477-1 1-1s1 .4477 1 1v16c0 .5523-.4477 1-1 1z\"\n fill={semanticColor.core.foreground.instructive.default}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9 9c-.55228 0-1 .44772-1 1v6c0 .5523.44772 1 1 1h6c.5523 0 1-.4477 1-1v-6c0-.55228-.4477-1-1-1H9zm5 2h-4v4h4v-4z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n case \"JUMP_INTO_NUMERATOR\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9 11c.55228 0 1 .4477 1 1v16c0 .5523-.44772 1-1 1s-1-.4477-1-1V12c0-.5523.44772-1 1-1zm5 1c0-.5523.4477-1 1-1h3.9998c.0001 0 0 0 0 0 .1356 0 .2651.027.383.0759.1171.0484.2268.1201.3222.2149l.0042.0042c.1931.1942.29.448.2908.702V16c0 .5523-.4477 1-1 1s-1-.4477-1-1v-1.5858l-4.2929 4.2929c-.3905.3905-1.0237.3905-1.4142 0-.3905-.3905-.3905-1.0237 0-1.4142L16.5858 13H15c-.5523 0-1-.4477-1-1z\"\n fill={semanticColor.core.foreground.instructive.default}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M23 23c-.5523 0-1 .4477-1 1v6c0 .5523.4477 1 1 1h6c.5523 0 1-.4477 1-1v-6c0-.5523-.4477-1-1-1h-6zm5 2h-4v4h4v-4z\"\n fill=\"currentColor\"\n />\n <g clipPath=\"url(#clip0_874_41680)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 20c0-.5523.4477-1 1-1h10c.5523 0 1 .4477 1 1s-.4477 1-1 1H21c-.5523 0-1-.4477-1-1z\"\n fill=\"currentColor\"\n />\n </g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M23 9c-.5523 0-1 .44772-1 1v6c0 .5523.4477 1 1 1h6c.5523 0 1-.4477 1-1v-6c0-.55228-.4477-1-1-1h-6zm5 2h-4v4h4v-4z\"\n fill={semanticColor.core.foreground.instructive.default}\n />\n <defs>\n <clipPath id=\"clip0_874_41680\">\n <path\n transform=\"translate(20 19)\"\n d=\"M0 0h12v2H0z\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n case \"JUMP_OUT_NUMERATOR\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M26 13c.5523 0 1 .4477 1 1v11.5858l1.2929-1.2929c.3905-.3905 1.0237-.3905 1.4142 0 .3905.3905.3905 1.0237 0 1.4142l-3 3c-.3905.3905-1.0237.3905-1.4142 0l-3-3c-.3905-.3905-.3905-1.0237 0-1.4142.3905-.3905 1.0237-.3905 1.4142 0L25 25.5858V14c0-.5523.4477-1 1-1zM13 23c-.5523 0-1 .4477-1 1v6c0 .5523.4477 1 1 1h6c.5523 0 1-.4477 1-1v-6c0-.5523-.4477-1-1-1h-6zm5 2h-4v4h4v-4z\"\n fill={semanticColor.core.foreground.instructive.default}\n />\n <g clipPath=\"url(#clip0_874_41686)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 20c0-.5523.4477-1 1-1h10c.5523 0 1 .4477 1 1s-.4477 1-1 1H11c-.5523 0-1-.4477-1-1z\"\n fill=\"currentColor\"\n />\n </g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13 9c-.5523 0-1 .44772-1 1v6c0 .5523.4477 1 1 1h6c.5523 0 1-.4477 1-1v-6c0-.55228-.4477-1-1-1h-6zm5 2h-4v4h4v-4z\"\n fill=\"currentColor\"\n />\n <defs>\n <clipPath id=\"clip0_874_41686\">\n <path\n transform=\"translate(10 19)\"\n d=\"M0 0h12v2H0z\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n\n case \"JUMP_OUT_DENOMINATOR\":\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M31 11c.5523 0 1 .4477 1 1v16c0 .5523-.4477 1-1 1s-1-.4477-1-1V12c0-.5523.4477-1 1-1zm-9 9c0-.5523.4477-1 1-1h4c.5523 0 1 .4477 1 1v4c0 .5523-.4477 1-1 1s-1-.4477-1-1v-1.5858l-4.2929 4.2929c-.3905.3905-1.0237.3905-1.4142 0-.3905-.3905-.3905-1.0237 0-1.4142L24.5858 21H23c-.5523 0-1-.4477-1-1z\"\n fill={semanticColor.core.foreground.instructive.default}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11 23c-.5523 0-1 .4477-1 1v6c0 .5523.4477 1 1 1h6c.5523 0 1-.4477 1-1v-6c0-.5523-.4477-1-1-1h-6zm5 2h-4v4h4v-4z\"\n fill=\"currentColor\"\n />\n <g clipPath=\"url(#clip0_874_41692)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 20c0-.5523.44772-1 1-1h10c.5523 0 1 .4477 1 1s-.4477 1-1 1H9c-.55228 0-1-.4477-1-1z\"\n fill=\"currentColor\"\n />\n </g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11 9c-.5523 0-1 .44772-1 1v6c0 .5523.4477 1 1 1h6c.5523 0 1-.4477 1-1v-6c0-.55228-.4477-1-1-1h-6zm5 2h-4v4h4v-4z\"\n fill=\"currentColor\"\n />\n <defs>\n <clipPath id=\"clip0_874_41692\">\n <path\n transform=\"translate(8 19)\"\n d=\"M0 0h12v2H0z\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n\n case \"UP\":\n return (\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\">\n <g\n fill=\"none\"\n fillRule=\"evenodd\"\n transform=\"rotate(90 24 24)\"\n >\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n <path fill=\"none\" d=\"M12 12h24v24H12z\" />\n <path\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M22 18l-6 6 6 6M16 24h16\"\n />\n </g>\n </svg>\n );\n case \"DOWN\":\n return (\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\">\n <g\n fill=\"none\"\n fillRule=\"evenodd\"\n transform=\"rotate(270 24 24)\"\n >\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n <path fill=\"none\" d=\"M12 12h24v24H12z\" />\n <path\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M22 18l-6 6 6 6M16 24h16\"\n />\n </g>\n </svg>\n );\n case \"LEFT\":\n return (\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n <path fill=\"none\" d=\"M12 12h24v24H12z\" />\n <path\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M22 18l-6 6 6 6M16 24h16\"\n />\n </g>\n </svg>\n );\n case \"RIGHT\":\n return (\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\">\n <g\n fill=\"none\"\n fillRule=\"evenodd\"\n transform=\"rotate(180 24 24)\"\n >\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n <path fill=\"none\" d=\"M12 12h24v24H12z\" />\n <path\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M22 18l-6 6 6 6M16 24h16\"\n />\n </g>\n </svg>\n );\n default:\n // this line forces an exhaustive check of all keys;\n // if a key is not handled, the compiler will complain.\n const unhandledKey: never = id;\n throw new Error(`Unhandled key: ${unhandledKey}`);\n }\n}\n","import Clickable from \"@khanacademy/wonder-blocks-clickable\";\nimport {View} from \"@khanacademy/wonder-blocks-core\";\nimport {border, font, semanticColor} from \"@khanacademy/wonder-blocks-tokens\";\nimport {StyleSheet} from \"aphrodite\";\nimport * as React from \"react\";\n\nimport ButtonAsset from \"./button-assets\";\n\nimport type {KeyConfig, ClickKeyCallback} from \"../../types\";\nimport type {StyleType} from \"@khanacademy/wonder-blocks-core\";\n\nexport type KeypadButtonProps = {\n // 0 indexed [x, y] position in keypad CSS grid\n coord: readonly [number, number];\n keyConfig: KeyConfig;\n onClickKey: ClickKeyCallback;\n // Apply action button styles\n action?: boolean;\n // Apply secondary button styles\n secondary?: boolean;\n style?: StyleType;\n};\n\nexport const KeypadButton = ({\n coord,\n keyConfig,\n onClickKey,\n style,\n secondary,\n action,\n}: KeypadButtonProps): React.ReactElement => {\n // TODO(LEMS-4261): `action` is never passed by any caller — this branch\n // is currently unreachable. Revisit when/if the prop is wired up.\n const tintColor = secondary\n ? semanticColor.core.background.base.subtle\n : action\n ? semanticColor.core.background.neutral.subtle\n : undefined;\n\n return (\n <View\n style={{\n gridColumn: coord[0] + 1,\n gridRow: coord[1] + 1,\n ...style,\n }}\n // Unfortunately the CDOT and TIMES buttons are identical in the DOM\n // apart from the ICON SVG, so we need to use testId.\n testId={keyConfig.id}\n >\n <Clickable\n onClick={(e) => onClickKey(keyConfig.id, e)}\n onMouseDown={(e) =>\n // Prevent the default behavior of forcing the focus to the\n // button when it is clicked. This way, the focus can\n // remain on the input field-- for mouse only. The focus\n // should still shift for keyboard nav.\n // (The focus shift happens on mouse down, not on click.)\n e.preventDefault()\n }\n style={styles.clickable}\n aria-label={keyConfig.ariaLabel}\n >\n {({hovered, focused, pressed}) => {\n return (\n <View style={[styles.outerBoxBase]}>\n <View\n style={[\n styles.base,\n tintColor != null\n ? {background: tintColor}\n : undefined,\n hovered && styles.hovered,\n focused && styles.focused,\n pressed && styles.pressed,\n ]}\n >\n <ButtonAsset id={keyConfig.id} />\n </View>\n </View>\n );\n }}\n </Clickable>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n base: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n boxShadow: `0px 1px 0px ${semanticColor.core.shadow.chonky.neutral.subtle}`,\n boxSizing: \"border-box\",\n background: semanticColor.core.background.base.default,\n borderRadius: 4,\n border: `${border.width.medium} solid transparent`,\n outline: `${border.width.medium} solid transparent`,\n flex: 1,\n minBlockSize: 42,\n minInlineSize: 42,\n padding: 1,\n fontFamily: font.family.sans,\n },\n hovered: {\n borderColor: semanticColor.focus.inner,\n outlineColor: semanticColor.focus.outer,\n padding: 1,\n boxShadow: \"none\",\n },\n focused: {\n borderColor: semanticColor.focus.inner,\n outlineColor: semanticColor.focus.outer,\n padding: 0,\n boxShadow: \"none\",\n },\n pressed: {\n border: `${border.width.medium} solid ${semanticColor.core.border.instructive.strong}`,\n padding: 0,\n background: semanticColor.core.background.instructive.subtle,\n boxShadow: \"none\",\n },\n outerBoxBase: {\n padding: 1,\n height: \"100%\",\n width: \"100%\",\n boxSizing: \"border-box\",\n borderRadius: 7,\n border: `${border.width.medium} solid transparent`,\n },\n clickable: {\n width: \"100%\",\n height: \"100%\",\n boxSizing: \"border-box\",\n\n \":focus\": {\n outline: `none`,\n },\n },\n});\n","import Keys from \"../../../data/key-configs\";\nimport {CursorContext} from \"../../input/cursor-contexts\";\n\nimport type {MathInputStrings} from \"../../../strings\";\n\n// This is just a magic number, I just played around with it\n// until the transition from expanded -> regular -> expanded felt natural\nexport const expandedViewThreshold = 500;\n\n// This is a helper function that returns the correct context for the cursor\n// based on the cursorContext prop. It is used in the keypad to determine\n// which key to render as the \"jump out\" key.\nexport function getCursorContextConfig(\n strings: MathInputStrings,\n cursorContext?: (typeof CursorContext)[keyof typeof CursorContext],\n) {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (!cursorContext) {\n return null;\n }\n\n switch (cursorContext) {\n case CursorContext.NONE:\n return null;\n case CursorContext.IN_PARENS:\n return Keys(strings).JUMP_OUT_PARENTHESES;\n case CursorContext.IN_SUPER_SCRIPT:\n return Keys(strings).JUMP_OUT_EXPONENT;\n case CursorContext.IN_SUB_SCRIPT:\n return Keys(strings).JUMP_OUT_BASE;\n case CursorContext.IN_NUMERATOR:\n return Keys(strings).JUMP_OUT_NUMERATOR;\n case CursorContext.IN_DENOMINATOR:\n return Keys(strings).JUMP_OUT_DENOMINATOR;\n case CursorContext.BEFORE_FRACTION:\n return Keys(strings).JUMP_INTO_NUMERATOR;\n }\n}\n","import * as React from \"react\";\n\nimport KeyConfigs from \"../../../data/key-configs\";\nimport {useMathInputI18n} from \"../../i18n-context\";\nimport {KeypadButton} from \"../keypad-button\";\nimport {getCursorContextConfig} from \"../utils/get-cursor-context-config\";\n\nimport type {ClickKeyCallback} from \"../../../types\";\nimport type {CursorContext} from \"../../input/cursor-contexts\";\n\ntype Props = {\n onClickKey: ClickKeyCallback;\n cursorContext?: (typeof CursorContext)[keyof typeof CursorContext];\n};\n\nexport default function FractionsPage(props: Props) {\n const {onClickKey, cursorContext} = props;\n const {strings} = useMathInputI18n();\n const cursorKeyConfig = getCursorContextConfig(strings, cursorContext);\n // These keys are arranged sequentially so that tabbing follows numerical order. This\n // allows us to visually mimic a keypad without affecting a11y. The visual order of the\n // keys in the keypad is determined by their coordinates, not their order in the DOM.\n const Keys = KeyConfigs(strings);\n return (\n <>\n {/* Row 4 */}\n <KeypadButton\n keyConfig={Keys.NUM_1}\n onClickKey={onClickKey}\n coord={[0, 2]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_2}\n onClickKey={onClickKey}\n coord={[1, 2]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_3}\n onClickKey={onClickKey}\n coord={[2, 2]}\n />\n\n {/* Row 3 */}\n <KeypadButton\n keyConfig={Keys.NUM_4}\n onClickKey={onClickKey}\n coord={[0, 1]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_5}\n onClickKey={onClickKey}\n coord={[1, 1]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_6}\n onClickKey={onClickKey}\n coord={[2, 1]}\n />\n\n {/* Row 2 */}\n <KeypadButton\n keyConfig={Keys.NUM_7}\n onClickKey={onClickKey}\n coord={[0, 0]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_8}\n onClickKey={onClickKey}\n coord={[1, 0]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_9}\n onClickKey={onClickKey}\n coord={[2, 0]}\n />\n\n {/* Row 1 */}\n <KeypadButton\n keyConfig={Keys.NUM_0}\n onClickKey={onClickKey}\n coord={[0, 3]}\n />\n <KeypadButton\n keyConfig={Keys.DECIMAL}\n onClickKey={onClickKey}\n coord={[1, 3]}\n />\n <KeypadButton\n keyConfig={Keys.NEGATIVE}\n onClickKey={onClickKey}\n coord={[2, 3]}\n />\n {/* Side Column */}\n <KeypadButton\n keyConfig={Keys.PERCENT}\n onClickKey={onClickKey}\n coord={[3, 0]}\n secondary\n />\n <KeypadButton\n keyConfig={Keys.PI}\n onClickKey={onClickKey}\n coord={[3, 1]}\n secondary\n />\n <KeypadButton\n keyConfig={Keys.FRAC}\n onClickKey={onClickKey}\n coord={[3, 2]}\n secondary\n />\n {cursorKeyConfig && (\n <KeypadButton\n keyConfig={cursorKeyConfig}\n onClickKey={onClickKey}\n coord={[3, 3]}\n secondary\n />\n )}\n <KeypadButton\n keyConfig={Keys.BACKSPACE}\n onClickKey={onClickKey}\n coord={[4, 3]}\n secondary\n />\n </>\n );\n}\n","import Clickable from \"@khanacademy/wonder-blocks-clickable\";\nimport {View} from \"@khanacademy/wonder-blocks-core\";\nimport {border, semanticColor} from \"@khanacademy/wonder-blocks-tokens\";\nimport {StyleSheet} from \"aphrodite\";\nimport * as React from \"react\";\n\nimport ButtonAsset from \"./button-assets\";\n\nimport type {KeyConfig, ClickKeyCallback} from \"../../types\";\nimport type {KeypadKey} from \"@khanacademy/perseus-core\";\n\ntype KeypadButtonProps = {\n // 0 indexed [x, y] position in keypad CSS grid\n coord: readonly [number, number];\n keyConfig: KeyConfig;\n onClickKey: ClickKeyCallback;\n};\n\nfunction getStyles(key: KeypadKey) {\n switch (key) {\n case \"UP\":\n return styles.up;\n case \"RIGHT\":\n return styles.right;\n case \"DOWN\":\n return styles.down;\n case \"LEFT\":\n return styles.left;\n default:\n throw new Error(`Invalid key: ${key}`);\n }\n}\n\nexport default function NavigationButton({\n coord,\n keyConfig,\n onClickKey,\n}: KeypadButtonProps) {\n const key = keyConfig.id;\n const directionalStyles = getStyles(key);\n\n return (\n <View\n style={{\n gridColumn: coord[0] + 1,\n gridRow: coord[1] + 1,\n }}\n >\n <Clickable\n onClick={(e) => onClickKey(keyConfig.id, e)}\n style={styles.clickable}\n aria-label={keyConfig.ariaLabel}\n >\n {({hovered, focused, pressed}) => (\n <View style={styles.outerBoxBase}>\n <View\n style={[\n styles.base,\n directionalStyles,\n hovered && styles.hovered,\n focused && styles.focused,\n pressed && styles.pressed,\n ]}\n >\n <ButtonAsset id={keyConfig.id} />\n </View>\n </View>\n )}\n </Clickable>\n </View>\n );\n}\n\nconst borderRadiusPx = 4;\n\nconst styles = StyleSheet.create({\n clickable: {\n width: \"100%\",\n height: \"100%\",\n\n \":focus\": {\n outline: `none`,\n },\n },\n outerBoxBase: {\n height: \"100%\",\n width: \"100%\",\n },\n base: {\n boxShadow: `0px 1px 0px ${semanticColor.core.shadow.chonky.neutral.subtle}`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n background: semanticColor.core.background.base.default,\n borderWidth: 2,\n borderColor: semanticColor.core.border.knockout.default,\n },\n up: {\n borderStartStartRadius: borderRadiusPx,\n borderStartEndRadius: borderRadiusPx,\n },\n right: {\n borderStartEndRadius: borderRadiusPx,\n borderEndEndRadius: borderRadiusPx,\n },\n down: {\n borderEndStartRadius: borderRadiusPx,\n borderEndEndRadius: borderRadiusPx,\n },\n left: {\n borderStartStartRadius: borderRadiusPx,\n borderEndStartRadius: borderRadiusPx,\n },\n hovered: {\n borderColor: semanticColor.core.border.instructive.default,\n boxShadow: \"none\",\n },\n focused: {\n borderColor: semanticColor.core.border.instructive.default,\n boxShadow: \"none\",\n },\n pressed: {\n border: `${border.width.medium} solid ${semanticColor.core.border.instructive.strong}`,\n background: semanticColor.core.background.instructive.subtle,\n boxShadow: \"none\",\n },\n});\n","import {View} from \"@khanacademy/wonder-blocks-core\";\nimport {semanticColor} from \"@khanacademy/wonder-blocks-tokens\";\nimport {StyleSheet} from \"aphrodite\";\nimport * as React from \"react\";\n\nimport KeyConfigs from \"../../data/key-configs\";\nimport {useMathInputI18n} from \"../i18n-context\";\n\nimport NavigationButton from \"./navigation-button\";\n\nimport type {ClickKeyCallback} from \"../../types\";\n\ntype Props = {\n onClickKey: ClickKeyCallback;\n};\n\nexport default function NavigationPad(props: Props) {\n const {onClickKey} = props;\n const {strings} = useMathInputI18n();\n const Keys = KeyConfigs(strings);\n\n return (\n <View style={styles.container}>\n <View style={styles.grid}>\n <NavigationButton\n keyConfig={Keys.UP}\n onClickKey={onClickKey}\n coord={[1, 0]}\n />\n <NavigationButton\n keyConfig={Keys.RIGHT}\n onClickKey={onClickKey}\n coord={[2, 1]}\n />\n <NavigationButton\n keyConfig={Keys.DOWN}\n onClickKey={onClickKey}\n coord={[1, 2]}\n />\n <NavigationButton\n keyConfig={Keys.LEFT}\n onClickKey={onClickKey}\n coord={[0, 1]}\n />\n <View style={styles.spacer} />\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n paddingBlock: \"0\",\n paddingInline: \"1.5rem\",\n },\n grid: {\n width: 140,\n height: 140,\n display: \"grid\",\n gridTemplateColumns: \"repeat(3, 1fr)\",\n gridTemplateRows: \"repeat(3, 1fr)\",\n },\n spacer: {\n gridColumn: 2,\n gridRow: 2,\n background: semanticColor.core.background.base.default,\n },\n});\n","import * as React from \"react\";\n\nimport KeyConfigs from \"../../data/key-configs\";\nimport {convertDotToTimesByLocale} from \"../../utils\";\nimport {useMathInputI18n} from \"../i18n-context\";\n\nimport {KeypadButton} from \"./keypad-button\";\nimport {getCursorContextConfig} from \"./utils/get-cursor-context-config\";\n\nimport type {ClickKeyCallback, KeypadPageType} from \"../../types\";\nimport type {CursorContext} from \"../input/cursor-contexts\";\n\ntype Props = {\n onClickKey: ClickKeyCallback;\n selectedPage: KeypadPageType;\n cursorContext?: (typeof CursorContext)[keyof typeof CursorContext];\n convertDotToTimes?: boolean;\n divisionKey?: boolean;\n};\n\nexport default function SharedKeys(props: Props) {\n const {\n onClickKey,\n cursorContext,\n divisionKey,\n convertDotToTimes,\n selectedPage,\n } = props;\n const {strings, locale} = useMathInputI18n();\n const cursorKeyConfig = getCursorContextConfig(strings, cursorContext);\n const Keys = KeyConfigs(strings);\n\n // Fraction position depends on the page\n let fractionCoord: readonly [number, number] = [3, 0];\n if (selectedPage === \"Numbers\") {\n fractionCoord = [3, 1];\n } else if (selectedPage === \"Operators\") {\n fractionCoord = [3, 2];\n }\n\n return (\n <>\n <KeypadButton\n keyConfig={Keys.FRAC}\n onClickKey={onClickKey}\n coord={fractionCoord}\n secondary\n />\n <KeypadButton\n keyConfig={Keys.PLUS}\n onClickKey={onClickKey}\n coord={[4, 0]}\n secondary\n />\n <KeypadButton\n keyConfig={Keys.MINUS}\n onClickKey={onClickKey}\n coord={[5, 0]}\n secondary\n />\n {/* Row 2 */}\n <KeypadButton\n keyConfig={\n convertDotToTimesByLocale(locale, !!convertDotToTimes)\n ? Keys.TIMES\n : Keys.CDOT\n }\n onClickKey={onClickKey}\n coord={[4, 1]}\n secondary\n />\n {divisionKey && (\n <KeypadButton\n keyConfig={Keys.DIVIDE}\n onClickKey={onClickKey}\n coord={[5, 1]}\n secondary\n />\n )}\n\n {/* Row 3 */}\n <KeypadButton\n keyConfig={Keys.LEFT_PAREN}\n onClickKey={onClickKey}\n coord={[4, 2]}\n secondary\n />\n <KeypadButton\n keyConfig={Keys.RIGHT_PAREN}\n onClickKey={onClickKey}\n coord={[5, 2]}\n secondary\n />\n\n {/* Row 4 */}\n {cursorKeyConfig && (\n <KeypadButton\n keyConfig={cursorKeyConfig}\n onClickKey={onClickKey}\n coord={[4, 3]}\n secondary\n />\n )}\n <KeypadButton\n keyConfig={Keys.BACKSPACE}\n onClickKey={onClickKey}\n coord={[5, 3]}\n secondary\n />\n </>\n );\n}\n","import {View} from \"@khanacademy/wonder-blocks-core\";\nimport * as React from \"react\";\n\nimport NavigationPad from \"./navigation-pad\";\nimport styles from \"./render-keypad-panel.module.css\";\nimport SharedKeys from \"./shared-keys\";\n\nimport type {KeypadProps} from \"./keypad\";\nimport type {KeypadPageType} from \"../../types\";\n\nexport interface RenderKeyPadPanelProps\n extends Pick<\n KeypadProps,\n | \"fractionsOnly\"\n | \"onClickKey\"\n | \"cursorContext\"\n | \"convertDotToTimes\"\n | \"divisionKey\"\n | \"expandedView\"\n > {\n selectedPage: KeypadPageType;\n children: React.ReactNode;\n}\n\nexport function RenderKeyPadPanel({\n children,\n fractionsOnly,\n onClickKey,\n cursorContext,\n convertDotToTimes,\n divisionKey,\n expandedView,\n selectedPage,\n}: RenderKeyPadPanelProps) {\n // Use a different grid for our fraction keypad\n const gridStyle = fractionsOnly\n ? styles.fractionsGrid\n : styles.expressionGrid;\n\n return (\n <>\n <View\n className={`${styles.keypadGrid} ${gridStyle}`}\n aria-label=\"Keypad\"\n >\n {children}\n {!fractionsOnly && (\n <SharedKeys\n onClickKey={onClickKey}\n cursorContext={cursorContext}\n convertDotToTimes={convertDotToTimes}\n divisionKey={divisionKey}\n selectedPage={selectedPage}\n />\n )}\n </View>\n {expandedView && <NavigationPad onClickKey={onClickKey} />}\n </>\n );\n}\n","import {View} from \"@khanacademy/wonder-blocks-core\";\nimport IconButton from \"@khanacademy/wonder-blocks-icon-button\";\nimport {border, semanticColor, sizing} from \"@khanacademy/wonder-blocks-tokens\";\nimport xBold from \"@phosphor-icons/core/bold/x-bold.svg\";\nimport * as React from \"react\";\n\nimport FractionsPage from \"./keypad-pages/fractions-page\";\nimport styles from \"./keypad.module.css\";\nimport {RenderKeyPadPanel} from \"./render-keypad-panel\";\n\nimport type {KeypadProps} from \"./keypad\";\nimport type {KeypadPageType} from \"../../types\";\n\nexport type KeypadFractionsOnlyProps = Pick<\n KeypadProps,\n | \"fractionsOnly\"\n | \"onClickKey\"\n | \"cursorContext\"\n | \"convertDotToTimes\"\n | \"divisionKey\"\n | \"expandedView\"\n | \"showDismiss\"\n>;\n\n// Inline styles needed because CSS modules don't have enough specificity\n// to override Wonder Blocks View default styles\nconst keypadOuterContainerStyle = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n} as const;\n\n// Border and layout styles for expanded view (iPad landscape)\n// These are duplicated from keypad.module.css (.expanded-wrapper) but must be\n// inline styles because WonderBlocks View's default styles override CSS module classes\nconst expandedWrapperStyle = {\n borderWidth: border.width.thin,\n borderStyle: \"solid\",\n borderColor: semanticColor.core.border.neutral.subtle,\n maxWidth: 500,\n borderRadius: border.radius.radius_040,\n} as const;\n\nconst keypadInnerContainerStyle = {\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"nowrap\",\n backgroundColor: semanticColor.core.background.disabled.strong,\n // Even in RTL languages, math is LTR.\n // So we force this component to always render LTR\n direction: \"ltr\",\n} as const;\n\n// Header bar that mimics the Tabs component header area so the dismiss button can be added\nconst headerBarStyle = {\n display: \"flex\",\n alignItems: \"center\",\n paddingInline: sizing.size_080,\n paddingBlockStart: sizing.size_080,\n paddingBlockEnd: sizing.size_080,\n} as const;\n\nexport function KeypadFractionsOnly(props: KeypadFractionsOnlyProps) {\n const {onClickKey, cursorContext, expandedView, showDismiss} = props;\n const selectedPage: KeypadPageType = \"Fractions\";\n\n return (\n <View\n className={expandedView ? styles.keypadOuterContainer : \"\"}\n style={expandedView ? keypadOuterContainerStyle : undefined}\n >\n <View\n className={`${styles.wrapper} ${expandedView ? styles.expandedWrapper : \"\"}`}\n style={expandedView ? expandedWrapperStyle : undefined}\n >\n {/* Header bar with dismiss button - mimics Tabs header */}\n {showDismiss && (\n <View style={headerBarStyle}>\n <View style={{marginInlineStart: \"auto\"}}>\n <IconButton\n icon={xBold}\n kind=\"tertiary\"\n aria-label=\"Dismiss\"\n onClick={() => onClickKey(\"DISMISS\")}\n size=\"xsmall\"\n tabIndex={0}\n style={{\n color: semanticColor.core.foreground.neutral\n .default,\n }}\n />\n </View>\n </View>\n )}\n <View style={keypadInnerContainerStyle}>\n <RenderKeyPadPanel {...props} selectedPage={selectedPage}>\n <FractionsPage\n onClickKey={onClickKey}\n cursorContext={cursorContext}\n />\n </RenderKeyPadPanel>\n </View>\n </View>\n </View>\n );\n}\n","import * as React from \"react\";\n\nimport KeyConfigs from \"../../../data/key-configs\";\nimport {useMathInputI18n} from \"../../i18n-context\";\nimport {KeypadButton} from \"../keypad-button\";\n\nimport type {ClickKeyCallback} from \"../../../types\";\nimport type {KeypadKey} from \"@khanacademy/perseus-core\";\n\ntype Props = {\n extraKeys: ReadonlyArray<KeypadKey>;\n onClickKey: ClickKeyCallback;\n};\n\nconst columns = 3;\n\nexport default function ExtrasPage(props: Props) {\n const {extraKeys, onClickKey} = props;\n const {strings} = useMathInputI18n();\n const Keys = KeyConfigs(strings);\n return (\n <>\n {extraKeys.map((key, i) => {\n // Map 1D array to Cartesian coordinates\n const coordX = i % columns;\n const coordY = i / columns;\n return (\n <KeypadButton\n key={key}\n keyConfig={Keys[key]}\n onClickKey={onClickKey}\n coord={[coordX, coordY]}\n />\n );\n })}\n </>\n );\n}\n","import * as React from \"react\";\n\nimport KeyConfigs from \"../../../data/key-configs\";\nimport {useMathInputI18n} from \"../../i18n-context\";\nimport {KeypadButton} from \"../keypad-button\";\n\nimport type {ClickKeyCallback} from \"../../../types\";\n\ntype Props = {\n onClickKey: ClickKeyCallback;\n};\n\nexport default function GeometryPage(props: Props) {\n const {onClickKey} = props;\n const {strings} = useMathInputI18n();\n const Keys = KeyConfigs(strings);\n\n return (\n <>\n {/* Row 1 */}\n <KeypadButton\n keyConfig={Keys.SIN}\n onClickKey={onClickKey}\n coord={[0, 0]}\n />\n <KeypadButton\n keyConfig={Keys.COS}\n onClickKey={onClickKey}\n coord={[1, 0]}\n />\n <KeypadButton\n keyConfig={Keys.TAN}\n onClickKey={onClickKey}\n coord={[2, 0]}\n />\n </>\n );\n}\n","import * as React from \"react\";\n\nimport KeyConfigs from \"../../../data/key-configs\";\nimport {useMathInputI18n} from \"../../i18n-context\";\nimport {KeypadButton} from \"../keypad-button\";\n\nimport type {ClickKeyCallback} from \"../../../types\";\n\ntype Props = {\n onClickKey: ClickKeyCallback;\n scientific?: boolean;\n};\n\nexport default function NumbersPage({onClickKey, scientific}: Props) {\n const {strings} = useMathInputI18n();\n const Keys = KeyConfigs(strings);\n // These keys are arranged sequentially so that tabbing follows numerical order. This\n // allows us to visually mimic a keypad without affecting a11y. The visual order of the\n // keys in the keypad is determined by their coordinates, not their order in the DOM.\n return (\n <>\n {/* Row 4 */}\n <KeypadButton\n keyConfig={Keys.NUM_1}\n onClickKey={onClickKey}\n coord={[0, 2]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_2}\n onClickKey={onClickKey}\n coord={[1, 2]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_3}\n onClickKey={onClickKey}\n coord={[2, 2]}\n />\n\n {/* Row 3 */}\n <KeypadButton\n keyConfig={Keys.NUM_4}\n onClickKey={onClickKey}\n coord={[0, 1]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_5}\n onClickKey={onClickKey}\n coord={[1, 1]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_6}\n onClickKey={onClickKey}\n coord={[2, 1]}\n />\n\n {/* Row 2 */}\n <KeypadButton\n keyConfig={Keys.NUM_7}\n onClickKey={onClickKey}\n coord={[0, 0]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_8}\n onClickKey={onClickKey}\n coord={[1, 0]}\n />\n <KeypadButton\n keyConfig={Keys.NUM_9}\n onClickKey={onClickKey}\n coord={[2, 0]}\n />\n\n {/* Row 1 */}\n <KeypadButton\n keyConfig={Keys.NUM_0}\n onClickKey={onClickKey}\n coord={[0, 3]}\n />\n <KeypadButton\n keyConfig={Keys.DECIMAL}\n onClickKey={onClickKey}\n coord={[1, 3]}\n />\n <KeypadButton\n keyConfig={Keys.NEGATIVE}\n onClickKey={onClickKey}\n coord={[2, 3]}\n />\n <KeypadButton\n keyConfig={Keys.PERCENT}\n onClickKey={onClickKey}\n coord={[3, 0]}\n secondary\n />\n {scientific && (\n <KeypadButton\n keyConfig={Keys.EXP}\n onClickKey={onClickKey}\n coord={[3, 2]}\n secondary\n />\n )}\n </>\n );\n}\n","import * as React from \"react\";\n\nimport KeyConfigs from \"../../../data/key-configs\";\nimport {useMathInputI18n} from \"../../i18n-context\";\nimport {KeypadButton} from \"../keypad-button\";\n\nimport type {ClickKeyCallback} from \"../../../types\";\n\ntype Props = {\n onClickKey: ClickKeyCallback;\n preAlgebra?: boolean;\n logarithms?: boolean;\n basicRelations?: boolean;\n advancedRelations?: boolean;\n};\n\nexport default function OperatorsPage(props: Props) {\n const {\n onClickKey,\n preAlgebra,\n logarithms,\n basicRelations,\n advancedRelations,\n } = props;\n const {strings} = useMathInputI18n();\n const Keys = KeyConfigs(strings);\n\n return (\n <>\n {/* Row 1 */}\n {preAlgebra && (\n <>\n <KeypadButton\n keyConfig={Keys.EXP_2}\n onClickKey={onClickKey}\n coord={[0, 0]}\n />\n <KeypadButton\n keyConfig={Keys.EXP}\n onClickKey={onClickKey}\n coord={[1, 0]}\n />\n <KeypadButton\n keyConfig={Keys.SUB}\n onClickKey={onClickKey}\n coord={[3, 1]}\n />\n <KeypadButton\n keyConfig={Keys.SQRT}\n onClickKey={onClickKey}\n coord={[2, 0]}\n />\n <KeypadButton\n keyConfig={Keys.RADICAL}\n onClickKey={onClickKey}\n coord={[3, 0]}\n />\n </>\n )}\n\n {/* Row 2 */}\n {logarithms && (\n <>\n <KeypadButton\n keyConfig={Keys.LOG}\n onClickKey={onClickKey}\n coord={[0, 1]}\n />\n <KeypadButton\n keyConfig={Keys.LOG_N}\n onClickKey={onClickKey}\n coord={[1, 1]}\n />\n <KeypadButton\n keyConfig={Keys.LN}\n onClickKey={onClickKey}\n coord={[2, 1]}\n />\n </>\n )}\n\n {/* Row 3 */}\n {basicRelations && (\n <>\n <KeypadButton\n keyConfig={Keys.EQUAL}\n onClickKey={onClickKey}\n coord={[0, 2]}\n />\n <KeypadButton\n keyConfig={Keys.LT}\n onClickKey={onClickKey}\n coord={[1, 2]}\n />\n <KeypadButton\n keyConfig={Keys.GT}\n onClickKey={onClickKey}\n coord={[2, 2]}\n />\n </>\n )}\n\n {/* Row 4 */}\n {advancedRelations && (\n <>\n <KeypadButton\n keyConfig={Keys.NEQ}\n onClickKey={onClickKey}\n coord={[0, 3]}\n />\n <KeypadButton\n keyConfig={Keys.LEQ}\n onClickKey={onClickKey}\n coord={[1, 3]}\n />\n <KeypadButton\n keyConfig={Keys.GEQ}\n onClickKey={onClickKey}\n coord={[2, 3]}\n />\n </>\n )}\n </>\n );\n}\n","import {UnreachableCaseError} from \"@khanacademy/wonder-stuff-core\";\nimport * as React from \"react\";\n\nimport type {KeypadPageType} from \"../../types\";\n\ntype Props = {\n tintColor: string;\n type: KeypadPageType;\n};\n\nconst TabIconLabel = function ({tintColor, type}: Props): React.ReactElement {\n switch (type) {\n case \"Geometry\": {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.57584 7.09442c.35139-.16458.76626-.11103 1.06434.13737L26.6402 22.2318c.3234.2695.4434.7128.3001 1.1086C26.7969 23.7363 26.421 24 26 24H8c-.55228 0-1-.4477-1-1V8.00001c0-.38802.22446-.74101.57584-.90559zM9 10.1351V17h4c.5523 0 1 .4477 1 1v4h9.238L9 10.1351zM12 22v-3H9v3h3z\"\n fill={tintColor}\n />\n </svg>\n );\n }\n case \"Operators\": {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M29 6h1v1h-1V6zm-2 0c0-1.10457.8954-2 2-2h1c1.1046 0 2 .89543 2 2v1c0 1.10457-.8954 2-2 2h-1c-1.1046 0-2-.89543-2-2V6zm-15.8682.50386C11.3098 6.19229 11.6411 6 12 6h2c.5523 0 1 .44772 1 1s-.4477 1-1 1h-1.4197l-3.71206 6.4961c-.18297.3202-.52733.5137-.89599.5035-.36865-.0102-.70175-.2225-.86668-.5524l-2-4c-.24699-.49396-.04676-1.09464.44722-1.34163.49397-.24699 1.09465-.04676 1.34164.44722L8.0588 11.8815l3.073-5.37764zM7.70676 16.2925c.39072.3904.39103 1.0235.00069 1.4143-.42202.4224-.86362 1.0235-1.19588 1.659C6.17039 20.0184 6 20.601 6 21c0 .3789.17235.9897.51638 1.6649.33677.661.7685 1.2472 1.15148 1.5908.41106.3689.44528 1.0011.07643 1.4122-.36885.411-1.00109.4452-1.41215.0764-.61604-.5528-1.18431-1.3599-1.5978-2.1715C4.32813 22.7755 3.99999 21.8345 4 21c.00001-.8609.3301-1.7783.73917-2.5608.41798-.7995.97637-1.5684 1.55338-2.146.39033-.3907 1.0235-.391 1.41421-.0007zm3.58644 0c.3908-.3903 1.0239-.39 1.4143.0007.577.5776 1.1353 1.3465 1.5533 2.146C14.6699 19.2217 15 20.1391 15 21c0 .8345-.3281 1.7755-.7343 2.5728-.4135.8116-.9818 1.6187-1.5978 2.1715-.4111.3688-1.0433.3346-1.4122-.0764-.3688-.4111-.3346-1.0433.0764-1.4122.383-.3436.8148-.9298 1.1515-1.5908.344-.6752.5164-1.286.5164-1.6649 0-.399-.1704-.9816-.5116-1.6342-.3322-.6355-.7738-1.2366-1.1959-1.659-.3903-.3908-.39-1.0239.0007-1.4143zm16.6431 1.3564c.1939.5171-.0681 1.0935-.5852 1.2874L21.848 21l5.5031 2.0637c.5171.1939.7791.7703.5852 1.2874-.1939.5171-.7703.7791-1.2874.5852l-8-3C18.2586 21.79 18 21.4168 18 21c0-.4168.2586-.79.6489-.9363l8-3c.5171-.1939 1.0935.0681 1.2874.5852zM21 8v5h3V8h-3zm-1-2c-.5523 0-1 .44772-1 1v7c0 .5523.4477 1 1 1h5c.5523 0 1-.4477 1-1V7c0-.55228-.4477-1-1-1h-5z\"\n fill={tintColor}\n />\n </svg>\n );\n }\n case \"Numbers\": {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.4123 19.5794v1.421H4.71434v-1.421h2.016v-5.558c0-.1213.00233-.245.007-.371.00466-.126.01166-.2543.021-.385l-1.33 1.106c-.09334.07-.18434.1144-.273.133-.08867.0187-.17267.021-.252.007-.07934-.0186-.14934-.0466-.21-.084-.06067-.042-.10734-.084-.14-.126l-.609-.819 3.122-2.646h1.589v8.743h1.75696zm8.3801-.35c.21 0 .3734.0584.49.175.1214.1167.182.2707.182.462v1.134h-7.042v-.63c0-.1213.0257-.252.077-.392.0514-.1446.1377-.2753.259-.392l3.01-3.017c.2567-.2566.483-.5016.679-.735.196-.238.3594-.469.49-.693.1307-.2286.2287-.4596.294-.693.0654-.2333.098-.4783.098-.735 0-.4526-.1166-.7956-.35-1.029-.2333-.238-.5623-.357-.987-.357-.1866 0-.3593.028-.518.084-.154.0514-.294.1237-.42.217-.1213.0934-.2263.203-.315.329-.0886.126-.154.2637-.196.413-.084.2334-.1983.3897-.343.469-.14.0747-.3406.091-.602.049l-1.022-.182c.0747-.4946.2147-.9286.42-1.302.2054-.3733.462-.6836.77-.931.308-.2473.6604-.4316 1.057-.553.3967-.126.8237-.189 1.281-.189.4807 0 .917.0724 1.309.217.3967.14.735.3384 1.015.595.28.252.497.5577.651.917.154.3594.231.756.231 1.19 0 .3734-.0536.7187-.161 1.036-.1073.3174-.2543.6207-.441.91-.182.2847-.3943.5624-.637.833-.2426.2707-.4993.5437-.77.819l-2.156 2.205c.238-.07.4737-.1236.707-.161.2334-.042.4527-.063.658-.063h2.282zm2.6611-5.523c.0747-.4946.2147-.9286.42-1.302.2054-.3733.462-.6836.77-.931.308-.2473.658-.4316 1.05-.553.3967-.126.8237-.189 1.281-.189.4854 0 .9194.07 1.302.21.3874.1354.714.322.98.56.266.238.469.5157.609.833.1447.3174.217.658.217 1.022 0 .322-.035.6067-.105.854-.0653.2427-.1656.455-.301.637-.1306.182-.294.336-.49.462-.1913.126-.413.231-.665.315 1.1667.3827 1.75 1.1597 1.75 2.331 0 .518-.0956.9754-.287 1.372-.1913.392-.448.721-.77.987s-.6976.4667-1.127.602c-.4246.1307-.8703.196-1.337.196-.4946 0-.931-.056-1.309-.168-.378-.112-.7116-.28-1.001-.504-.2846-.224-.5296-.504-.735-.84-.2053-.3406-.385-.7373-.539-1.19l.854-.35c.224-.0933.4317-.119.623-.077.196.042.336.1447.42.308.0934.1774.1914.3407.294.49.1074.1494.2264.28.357.392.1307.1074.2777.1914.441.252.168.0607.3594.091.574.091.2707 0 .5064-.0443.707-.133.2007-.0886.3687-.203.504-.343.1354-.1446.2357-.3056.301-.483.07-.182.105-.3616.105-.539 0-.2333-.021-.4433-.063-.63-.042-.1913-.14-.3523-.294-.483-.1493-.1353-.3733-.238-.672-.308-.294-.0746-.6953-.112-1.204-.112v-1.358c.4247 0 .7724-.035 1.043-.105.2707-.07.483-.168.637-.294.154-.126.259-.2776.315-.455.0607-.1773.091-.371.091-.581 0-.4433-.1166-.7816-.35-1.015-.2286-.2333-.5553-.35-.98-.35-.1866 0-.3593.028-.518.084-.154.0514-.294.1237-.42.217-.1213.0934-.2263.203-.315.329-.0886.126-.154.2637-.196.413-.0886.2334-.203.3897-.343.469-.14.0747-.343.091-.609.049l-1.015-.182z\"\n fill={tintColor}\n />\n </svg>\n );\n }\n case \"Extras\": {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32\"\n height=\"32\"\n fill=\"none\"\n viewBox=\"0 0 32 32\"\n >\n <g clipPath=\"url(#a)\">\n <path\n fill={tintColor}\n fillRule=\"evenodd\"\n d=\"M6.127 10.454c.224-.032.403-.05.53-.05.591 0 1.137.153 1.63.459.398.239.713.529.94.872l.188-.248.005-.007.006-.006c.619-.703 1.347-1.07 2.178-1.07.691 0 1.269.204 1.71.626.454.403.686.91.686 1.51 0 .533-.156.994-.476 1.37-.312.383-.738.574-1.254.574-.345 0-.643-.101-.878-.317a1.1 1.1 0 0 1-.353-.843c0-.405.11-.76.342-1.051.153-.193.354-.352.596-.479a1.416 1.416 0 0 0-.492-.07c-.195 0-.316.016-.38.035-.53.226-.938.694-1.208 1.445l-.001.003c-.02.05-.085.289-.202.74-.115.443-.275 1.077-.481 1.901-.414 1.641-.633 2.547-.662 2.74l-.002.01a3.423 3.423 0 0 0-.067.673c0 .337.097.581.272.756.176.177.413.272.733.272.6 0 1.15-.247 1.657-.768.518-.549.864-1.146 1.044-1.791l.001-.004a1.2 1.2 0 0 1 .088-.224.368.368 0 0 1 .161-.164.564.564 0 0 1 .198-.056 2.19 2.19 0 0 1 .276-.014c.159 0 .305.016.42.064.059.025.12.063.167.122.05.063.073.137.073.213 0 .023-.004.048-.005.057a12.52 12.52 0 0 1-.046.245l-.004.015c-.281 1.026-.86 1.917-1.73 2.67l-.007.007c-.776.611-1.605.925-2.484.925-1.08 0-1.93-.45-2.53-1.33-.453.605-1.015 1.024-1.685 1.248l-.01.003-.011.002a3.23 3.23 0 0 1-.664.053c-.974 0-1.703-.35-2.13-1.078A2.05 2.05 0 0 1 2 19.437c0-.52.158-.975.478-1.349.326-.38.749-.572 1.252-.572.372 0 .69.091.913.31.224.218.318.531.318.898 0 .327-.078.621-.241.874a1.706 1.706 0 0 1-.707.597l-.018.009c.158.063.331.095.52.095.467 0 .902-.285 1.295-.966l.002-.005c.071-.115.185-.417.341-.938.154-.51.341-1.209.563-2.096v-.002c.095-.364.198-.767.31-1.21.11-.444.188-.78.235-1.014l.002-.013c.058-.216.098-.36.119-.425.077-.42.113-.709.113-.877 0-.342-.092-.588-.254-.762-.159-.171-.384-.267-.704-.267-.652 0-1.217.251-1.704.768l-.002.002A4.215 4.215 0 0 0 3.79 14.28a1.084 1.084 0 0 1-.065.207.41.41 0 0 1-.14.176l-.01.007-.012.006a.35.35 0 0 1-.104.03 1.16 1.16 0 0 1-.095.01 5.04 5.04 0 0 1-.275.006H2.67l-.061-.061c-.109-.11-.204-.247-.204-.41v-.015l.003-.015c.07-.472.335-1.05.768-1.723l.001-.002c.771-1.165 1.754-1.857 2.949-2.042h.002Z\"\n clipRule=\"evenodd\"\n />\n <path\n fill={tintColor}\n d=\"M21.084 10.284c.932-.008 2.301-.013 4.107-.013 1.325 0 2.327.003 3.007.007a75.812 75.812 0 0 1 .99.013c.025 0 .047.002.065.003h.002c.01 0 .04.003.067.01l.01.002.011.004c.201.07.37.183.488.347a.966.966 0 0 1 .169.574c0 .3-.078.568-.248.79-.168.221-.411.377-.708.479h-.002a1.01 1.01 0 0 1-.221.034 8.213 8.213 0 0 1-.35.016c-.29.008-.696.012-1.219.012h-1.39l-.038.223v.001c-.198 1.185-.295 2.156-.295 2.916 0 1.446.251 2.746.75 3.905l.004.007c.059.153.105.284.137.393.03.103.053.205.053.29 0 .359-.16.68-.44.961-.278.296-.63.445-1.041.445-.255 0-.492-.03-.654-.139l-.009-.006-.008-.006c-.126-.101-.236-.274-.338-.477l-.006-.012c-.331-.768-.49-1.722-.49-2.852 0-.595.007-1.002.025-1.212v-.005c.118-1.157.377-2.551.776-4.18v-.002c.024-.096.045-.18.061-.25h-1.948c-.008.038-.02.086-.034.143l-.002.007a35.14 35.14 0 0 0-.146.537c-.05.232-.1.448-.15.648v.001a230.673 230.673 0 0 1-1.312 4.936 41.285 41.285 0 0 1-.411 1.384c-.104.322-.19.557-.256.681-.115.262-.28.473-.5.617-.225.146-.49.212-.783.212-.449 0-.807-.173-1.006-.549l-.006-.011-.005-.012a1.37 1.37 0 0 1-.067-.486v-.326l.346-.745c1.24-2.61 2.136-4.858 2.695-6.747l.002-.008.094-.281h-.463c-.662 0-1.105.025-1.346.07-.198.04-.47.173-.824.43l-.007.005-.007.005c-.366.228-.69.542-.97.947-.044.069-.085.13-.125.18a.651.651 0 0 1-.141.136l-.027.017-.03.01a.8.8 0 0 1-.19.03c-.07.005-.156.008-.258.008-.17 0-.335-.021-.465-.09a.437.437 0 0 1-.216-.546c.014-.042.034-.086.057-.132.047-.093.113-.208.198-.343l.003-.005c1.147-1.745 2.311-2.774 3.508-2.96a2.345 2.345 0 0 1 .158-.015 60.295 60.295 0 0 1 1.369-.026Z\"\n />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path\n d=\"M0 0h28v11.457H0z\"\n transform=\"translate(2 10.271)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n }\n case \"Dismiss\": {\n return (\n <svg\n width=\"44\"\n height=\"44\"\n viewBox=\"0 0 44 44\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M28.7071 15.2929C28.3166 14.9024 27.6834 14.9024 27.2929 15.2929L22 20.5858L16.7071 15.2929C16.3166 14.9024 15.6834 14.9024 15.2929 15.2929C14.9024 15.6834 14.9024 16.3166 15.2929 16.7071L20.5858 22L15.2929 27.2929C14.9024 27.6834 14.9024 28.3166 15.2929 28.7071C15.6834 29.0976 16.3166 29.0976 16.7071 28.7071L22 23.4142L27.2929 28.7071C27.6834 29.0976 28.3166 29.0976 28.7071 28.7071C29.0976 28.3166 29.0976 27.6834 28.7071 27.2929L23.4142 22L28.7071 16.7071C29.0976 16.3166 29.0976 15.6834 28.7071 15.2929Z\"\n fill={tintColor}\n />\n </svg>\n );\n }\n\n case \"Fractions\":\n // The Fractions keypad is a special one that never displays anything\n // in the tabbar. Ideally, we'd separate the KeypadPageType from the\n // tab bar item types, but that's not easy given how the keypad manages\n // the selected page. For now, we'll just return a dummy SVG to satisfy\n // the types here.\n return (\n <svg\n width=\"44\"\n height=\"44\"\n viewBox=\"0 0 44 44\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n />\n );\n\n default: {\n // Ensure we handle all icon types\n throw new UnreachableCaseError(type);\n }\n }\n};\n\nexport default TabIconLabel;\n","import * as React from \"react\";\n\nimport ExtrasPage from \"../keypad-pages/extras-page\";\nimport FractionsPage from \"../keypad-pages/fractions-page\";\nimport GeometryPage from \"../keypad-pages/geometry-page\";\nimport NumbersPage from \"../keypad-pages/numbers-page\";\nimport OperatorsPage from \"../keypad-pages/operators-page\";\nimport {RenderKeyPadPanel} from \"../render-keypad-panel\";\nimport TabIconLabel from \"../tab-icon-label\";\n\nimport type {KeypadPageType} from \"../../../types\";\nimport type {KeypadProps} from \"../keypad\";\nimport type {TabItem} from \"@khanacademy/wonder-blocks-tabs\";\n\nexport function getAvailableTabs(\n props: KeypadProps,\n selectedPage: KeypadPageType,\n): Array<TabItem> {\n const {\n onClickKey,\n cursorContext,\n preAlgebra,\n logarithms,\n basicRelations,\n advancedRelations,\n scientific,\n extraKeys,\n } = props;\n\n const tabPanels = [\n {\n id: \"Fractions\",\n label: <TabIconLabel type=\"Fractions\" tintColor=\"currentColor\" />,\n panel: (\n <RenderKeyPadPanel {...props} selectedPage={selectedPage}>\n <FractionsPage\n onClickKey={onClickKey}\n cursorContext={cursorContext}\n />\n </RenderKeyPadPanel>\n ),\n \"aria-label\": \"Fractions\",\n },\n {\n id: \"Numbers\",\n label: <TabIconLabel type=\"Numbers\" tintColor=\"currentColor\" />,\n panel: (\n <RenderKeyPadPanel {...props} selectedPage={selectedPage}>\n <NumbersPage\n onClickKey={onClickKey}\n scientific={scientific}\n />\n </RenderKeyPadPanel>\n ),\n \"aria-label\": \"Numbers\",\n },\n {\n id: \"Extras\",\n label: <TabIconLabel type=\"Extras\" tintColor=\"currentColor\" />,\n panel: (\n <RenderKeyPadPanel {...props} selectedPage={selectedPage}>\n <ExtrasPage\n onClickKey={onClickKey}\n extraKeys={extraKeys ?? []}\n />\n </RenderKeyPadPanel>\n ),\n \"aria-label\": \"Extras\",\n },\n {\n id: \"Operators\",\n label: <TabIconLabel type=\"Operators\" tintColor=\"currentColor\" />,\n panel: (\n <RenderKeyPadPanel {...props} selectedPage={selectedPage}>\n <OperatorsPage\n onClickKey={onClickKey}\n preAlgebra={preAlgebra}\n logarithms={logarithms}\n basicRelations={basicRelations}\n advancedRelations={advancedRelations}\n />\n </RenderKeyPadPanel>\n ),\n \"aria-label\": \"Operators\",\n },\n {\n id: \"Geometry\",\n label: <TabIconLabel type=\"Geometry\" tintColor=\"currentColor\" />,\n panel: (\n <RenderKeyPadPanel {...props} selectedPage={selectedPage}>\n <GeometryPage onClickKey={onClickKey} />\n </RenderKeyPadPanel>\n ),\n \"aria-label\": \"Geometry\",\n },\n ];\n\n const tabIds: Array<KeypadPageType> = [\"Numbers\"];\n if (\n props.preAlgebra ||\n props.logarithms ||\n props.basicRelations ||\n props.advancedRelations\n ) {\n tabIds.push(\"Operators\");\n }\n if (props.trigonometry) {\n tabIds.push(\"Geometry\");\n }\n if (props.extraKeys?.length) {\n tabIds.push(\"Extras\");\n }\n\n // eslint-disable-next-line no-restricted-syntax\n return tabPanels.filter((tab) => tabIds.includes(tab.id as KeypadPageType));\n}\n","import {View} from \"@khanacademy/wonder-blocks-core\";\nimport IconButton from \"@khanacademy/wonder-blocks-icon-button\";\n// eslint-disable-next-line no-restricted-imports -- Intentionally using Tabs instead of ResponsiveTabs to avoid rendering a dropdown within a Popover\nimport {Tabs} from \"@khanacademy/wonder-blocks-tabs\";\nimport {border, semanticColor, sizing} from \"@khanacademy/wonder-blocks-tokens\";\nimport xBold from \"@phosphor-icons/core/bold/x-bold.svg\";\nimport * as React from \"react\";\nimport {useEffect} from \"react\";\n\nimport {KeypadFractionsOnly} from \"./keypad-fractions-only\";\nimport styles from \"./keypad.module.css\";\nimport {getAvailableTabs} from \"./utils/get-available-tabs\";\n\nimport type {ClickKeyCallback, KeypadPageType} from \"../../types\";\nimport type {CursorContext} from \"../input/cursor-contexts\";\nimport type {PerseusAnalyticsEvent, KeypadKey} from \"@khanacademy/perseus-core\";\n\nexport interface KeypadProps {\n extraKeys?: ReadonlyArray<KeypadKey>;\n cursorContext?: (typeof CursorContext)[keyof typeof CursorContext];\n showDismiss?: boolean;\n expandedView?: boolean;\n\n convertDotToTimes?: boolean;\n divisionKey?: boolean;\n trigonometry?: boolean;\n preAlgebra?: boolean;\n logarithms?: boolean;\n basicRelations?: boolean;\n advancedRelations?: boolean;\n fractionsOnly?: boolean;\n scientific?: boolean;\n\n onClickKey: ClickKeyCallback;\n onAnalyticsEvent: (\n event: Extract<\n PerseusAnalyticsEvent,\n {type: \"math-input:keypad-opened\" | \"math-input:keypad-closed\"}\n >,\n ) => void;\n}\n\n// Inline styles needed because CSS modules don't have enough specificity\n// to override Wonder Blocks View default styles\nconst keypadOuterContainerStyle = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n} as const;\n\n// Border and layout styles for expanded view (iPad landscape)\n// These are duplicated from keypad.module.css (.expanded-wrapper) but must be\n// inline styles because WonderBlocks View's default styles override CSS module classes\nconst expandedWrapperStyle = {\n borderWidth: border.width.thin,\n borderStyle: \"solid\",\n borderColor: semanticColor.core.border.neutral.subtle,\n maxWidth: 500,\n borderRadius: border.radius.radius_040,\n} as const;\n\nconst tabsStyles = {\n tab: {\n marginBlockStart: sizing.size_080,\n marginBlockEnd: sizing.size_080,\n },\n tablist: {\n gap: sizing.size_080,\n paddingInline: sizing.size_080,\n },\n tabPanel: {\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"nowrap\",\n backgroundColor: semanticColor.core.background.neutral.subtle,\n direction: \"ltr\",\n },\n} as const;\n\n// The main (v2) Keypad. Use this component to present an accessible, onscreen\n// keypad to learners for entering math expressions.\nexport default function Keypad({extraKeys = [], ...props}: KeypadProps) {\n const {\n onAnalyticsEvent,\n fractionsOnly,\n expandedView,\n showDismiss,\n onClickKey,\n } = props;\n // If we're using the Fractions keypad, we want to default select that page\n // Otherwise, we want to default to the Numbers page\n const defaultSelectedPage = fractionsOnly ? \"Fractions\" : \"Numbers\";\n const [selectedPage, setSelectedPage] =\n React.useState<KeypadPageType>(defaultSelectedPage);\n const [isMounted, setIsMounted] = React.useState<boolean>(false);\n\n // This useEffect is only used to ensure that we can test the keypad in storybook\n useEffect(() => {\n setSelectedPage(defaultSelectedPage);\n }, [fractionsOnly, defaultSelectedPage]);\n\n useEffect(() => {\n if (!isMounted) {\n onAnalyticsEvent({\n type: \"math-input:keypad-opened\",\n payload: {virtualKeypadVersion: \"MATH_INPUT_KEYPAD_V2\"},\n });\n setIsMounted(true);\n }\n return () => {\n if (isMounted) {\n onAnalyticsEvent({\n type: \"math-input:keypad-closed\",\n payload: {virtualKeypadVersion: \"MATH_INPUT_KEYPAD_V2\"},\n });\n setIsMounted(false);\n }\n };\n }, [onAnalyticsEvent, isMounted]);\n\n // We don't want to show any available tabs on the fraction keypad\n if (fractionsOnly) {\n return <KeypadFractionsOnly {...props} />;\n }\n\n // We don't want any tabs available on mobile fractions keypad\n // TODO(ivy): figure out how the getAvailableTabs influences mobile fractions keypad\n const availableTabs = getAvailableTabs({...props, extraKeys}, selectedPage);\n\n return (\n <View\n className={expandedView ? styles.keypadOuterContainer : \"\"}\n style={expandedView ? keypadOuterContainerStyle : undefined}\n >\n <View\n className={`${styles.wrapper} ${expandedView ? styles.expandedWrapper : \"\"}`}\n style={\n expandedView\n ? {...expandedWrapperStyle, position: \"relative\"}\n : {position: \"relative\"}\n }\n >\n {showDismiss && (\n <View\n style={{\n position: \"absolute\",\n insetBlockStart: sizing.size_120,\n // Using `insetInlineEnd` instead of `right`\n // to support RTL.\n insetInlineEnd: sizing.size_080,\n zIndex: 10,\n }}\n >\n <IconButton\n icon={xBold}\n kind=\"tertiary\"\n aria-label=\"Dismiss\"\n onClick={() => onClickKey(\"DISMISS\")}\n size=\"xsmall\"\n tabIndex={0}\n style={{\n color: semanticColor.core.foreground.neutral\n .default,\n }}\n />\n </View>\n )}\n <Tabs\n aria-label=\"Keypad\"\n tabs={availableTabs}\n selectedTabId={selectedPage}\n onTabSelected={(newSelectedPage: string) => {\n // eslint-disable-next-line no-restricted-syntax\n setSelectedPage(newSelectedPage as KeypadPageType);\n }}\n styles={tabsStyles}\n />\n </View>\n </View>\n );\n}\n","import {entries} from \"@khanacademy/wonder-stuff-core\";\nimport {StyleSheet, css} from \"aphrodite\";\n\nimport type {StyleType} from \"@khanacademy/wonder-blocks-core\";\nimport type {CSSProperties} from \"aphrodite\";\n\nfunction flatten(list?: StyleType): ReadonlyArray<CSSProperties> {\n const result: Array<CSSProperties> = [];\n\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (!list) {\n return result;\n }\n if (Array.isArray(list)) {\n for (const item of list) {\n result.push(...flatten(item));\n }\n } else {\n // eslint-disable-next-line no-restricted-syntax\n result.push(list as any);\n }\n\n return result;\n}\n\nexport function processStyleType(style?: StyleType): {\n className: string;\n style: Record<any, any>;\n} {\n const stylesheetStyles: Array<CSSProperties> = [];\n const inlineStyles: Array<CSSProperties> = [];\n\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (!style) {\n return {\n style: {},\n className: \"\",\n };\n }\n\n // Check to see if we should inline all the styles for snapshot tests.\n const shouldInlineStyles =\n typeof globalThis !== \"undefined\" &&\n globalThis.SNAPSHOT_INLINE_APHRODITE;\n\n flatten(style).forEach((child) => {\n // Check for aphrodite internal property\n // eslint-disable-next-line no-restricted-syntax\n const _definition = (child as any)._definition;\n if (_definition != null) {\n if (shouldInlineStyles) {\n const def: Record<string, any> = {};\n // React 16 complains about invalid keys in inline styles.\n // It doesn't accept kebab-case in media queries and instead\n // prefers camelCase.\n for (const [key, value] of entries(_definition)) {\n // This regex converts all instances of -{lowercaseLetter}\n // to the uppercase version of that letter, without the\n // leading dash.\n def[\n key.replace(/-[a-z]/g, (match) =>\n match[1].toUpperCase(),\n )\n ] = value;\n }\n inlineStyles.push(def);\n } else {\n stylesheetStyles.push(child);\n }\n } else {\n inlineStyles.push(child);\n }\n });\n\n const inlineStylesObject = Object.assign({}, ...inlineStyles);\n\n // TODO(somewhatabstract): When aphrodite no longer puts \"!important\" on\n // all the styles, remove this <ADD JIRA ISSUE HERE IF THIS PASSES REVIEW>\n // If we're not snapshotting styles, let's create a class for the inline\n // styles so that they can apply to the element even with aphrodite's\n // use of !important.\n if (inlineStyles.length > 0 && !shouldInlineStyles) {\n const inlineStylesStyleSheet = StyleSheet.create({\n inlineStyles: inlineStylesObject,\n });\n stylesheetStyles.push(inlineStylesStyleSheet.inlineStyles);\n }\n\n return {\n style: shouldInlineStyles ? inlineStylesObject : {},\n className: css(...stylesheetStyles),\n };\n}\n","import {withActionScheduler} from \"@khanacademy/wonder-blocks-timing\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport {processStyleType} from \"./util\";\n\nimport type {AnimationStyles} from \"./types\";\nimport type {WithActionSchedulerProps} from \"@khanacademy/wonder-blocks-timing\";\n\ntype ChildProps = {\n transitionStyles: AnimationStyles | (() => AnimationStyles);\n appearTimeout?: number; // default appearTimeout to be the same as enterTimeout\n enterTimeout?: number;\n leaveTimeout?: number;\n children: React.ReactNode;\n in?: boolean; // provided by TransitionGroup\n} & WithActionSchedulerProps;\n\ntype ChildState = {\n // Keeps track of whether we should render our children or not.\n status: \"mounted\" | \"unmounted\";\n};\n\nclass TransitionChild extends React.Component<ChildProps, ChildState> {\n // Each 2-tuple in the queue represents two classnames: one to remove and\n // one to add (in that order).\n classNameQueue: Array<[string, string]>;\n // We keep track of all of the current applied classes so that we can remove\n // them before a new transition starts in the case of the current transition\n // being interrupted.\n appliedClassNames: Set<string>;\n _isMounted = false;\n\n // The use of getDerivedStateFromProps here is to avoid an extra call to\n // setState if the component re-enters. This can happen if TransitionGroup\n // sets `in` from `false` to `true`.\n static getDerivedStateFromProps(\n {in: nextIn}: ChildProps,\n prevState: ChildState,\n ): Partial<ChildState> | null {\n if (nextIn && prevState.status === \"unmounted\") {\n return {status: \"mounted\"};\n }\n return null;\n }\n\n constructor(props: ChildProps) {\n super(props);\n\n this._isMounted = false;\n this.classNameQueue = [];\n this.appliedClassNames = new Set();\n\n this.state = {\n status: \"mounted\",\n };\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (typeof this.props.appearTimeout === \"number\") {\n this.transition(\"appear\", this.props.appearTimeout);\n } else {\n this.transition(\"enter\", this.props.enterTimeout);\n }\n }\n\n componentDidUpdate(oldProps: ChildProps, oldState: ChildState) {\n if (oldProps.in && !this.props.in) {\n this.transition(\"leave\", this.props.leaveTimeout);\n } else if (!oldProps.in && this.props.in) {\n this.transition(\"enter\", this.props.enterTimeout);\n }\n\n if (oldState.status !== \"mounted\" && this.state.status === \"mounted\") {\n // Remove the node from the DOM\n this.setState({status: \"unmounted\"});\n }\n }\n\n // NOTE: This will only get called when the parent TransitionGroup becomes\n // unmounted. This is because that component clones all of its children and\n // keeps them around so that they can be animated when leaving and also so\n // that the can be animated when re-rentering if that occurs.\n componentWillUnmount() {\n this._isMounted = false;\n this.props.schedule.clearAll();\n }\n\n removeAllClasses(node: Element) {\n for (const className of this.appliedClassNames) {\n this.removeClass(node, className);\n }\n }\n\n addClass = (elem: Element, className: string): void => {\n if (className) {\n elem.classList.add(className);\n this.appliedClassNames.add(className);\n }\n };\n\n removeClass = (elem: Element, className: string): void => {\n if (className) {\n elem.classList.remove(className);\n this.appliedClassNames.delete(className);\n }\n };\n\n transition(\n animationType: \"appear\" | \"enter\" | \"leave\",\n duration?: number | null,\n ) {\n const node = ReactDOM.findDOMNode(this);\n\n if (!(node instanceof Element)) {\n return;\n }\n\n // Remove any classes from previous transitions.\n this.removeAllClasses(node);\n\n // A previous transition may still be in progress so clear its timers.\n this.props.schedule.clearAll();\n\n const transitionStyles =\n typeof this.props.transitionStyles === \"function\"\n ? this.props.transitionStyles()\n : this.props.transitionStyles;\n\n const {className} = processStyleType(transitionStyles[animationType]);\n const {className: activeClassName} = processStyleType([\n transitionStyles[animationType],\n transitionStyles[animationType + \"Active\"],\n ]);\n\n // Put the node in the starting position.\n this.addClass(node, className);\n\n // Queue the component to show the \"active\" style.\n this.queueClass(className, activeClassName);\n\n // Unmount the children after the 'leave' transition has completed.\n if (animationType === \"leave\") {\n this.props.schedule.timeout(() => {\n if (this._isMounted) {\n this.setState({status: \"unmounted\"});\n }\n }, duration || 0);\n }\n }\n\n queueClass(removeClassName: string, addClassName: string) {\n this.classNameQueue.push([removeClassName, addClassName]);\n // Queue operation for after the next paint.\n this.props.schedule.timeout(this.flushClassNameQueue, 0);\n }\n\n flushClassNameQueue = () => {\n if (this._isMounted) {\n const node = ReactDOM.findDOMNode(this);\n if (node instanceof Element) {\n this.classNameQueue.forEach(\n ([removeClassName, addClassName]: [any, any]) => {\n // Remove the old class before adding a new class just\n // in case the new class is the same as the old one.\n this.removeClass(node, removeClassName);\n this.addClass(node, addClassName);\n },\n );\n }\n }\n\n // Remove all items in the Array.\n this.classNameQueue.length = 0;\n };\n\n render(): React.ReactNode {\n const {status} = this.state;\n\n if (status === \"unmounted\") {\n return null;\n }\n\n return this.props.children;\n }\n}\n\nexport default withActionScheduler(TransitionChild);\n","/**\n * Aphrodite doesn't play well with CSSTransition from react-transition-group,\n * which assumes that you have CSS classes and it can combine them arbitrarily.\n *\n * There are also some issue with react-transition-group that make it difficult\n * to work. Even if the CSS classes are defined ahead of time it makes no\n * guarantee that the start style will be applied by the browser before the\n * active style is applied. This can cause the first time a transition runs to\n * fail.\n *\n * AphroditeCSSTransitionGroup provides a wrapper around TransitionGroup to\n * address these issues.\n *\n * There are three types of transitions:\n * - appear: the time the child is added to the render tree\n * - enter: whenever the child is added to the render tree after \"appear\". If\n * no \"appear\" transition is specified then the \"enter\" transition will also\n * be used for the first time the child is added to the render tree.\n * - leave: whenever the child is removed from the render tree\n *\n * Each transition type has two states:\n * - base: e.g. css(enter)\n * - active: e.g. css(enter, enterActive)\n *\n * If \"done\" styles are not provided, the \"active\" style will remain on the\n * component after the animation has completed.\n *\n * Usage: TBD\n *\n * Limitations:\n * - This component only supports a single child whereas TransitionGroup supports\n * multiple children.\n * - We ignore inline styles that are provided as part of AnimationStyles.\n *\n * TODOs:\n * - (FEI-3211): Change the API for AphroditeCSSTransitionGroup so that it makes\n * bad states impossible.\n */\nimport * as React from \"react\";\nimport {TransitionGroup} from \"react-transition-group\";\n\nimport TransitionChild from \"./transition-child\";\n\nimport type {AnimationStyles} from \"./types\";\n\ntype Props = {\n // If a function is provided, that function will be called to retrieve the\n // current set of animation styles to be used when animating the children.\n transitionStyle: AnimationStyles | (() => AnimationStyles);\n transitionAppearTimeout?: number;\n transitionEnterTimeout?: number;\n transitionLeaveTimeout?: number;\n children?: React.ReactNode;\n};\n\nclass AphroditeCSSTransitionGroup extends React.Component<Props> {\n render(): React.ReactNode {\n const {children} = this.props;\n return (\n // `component={null}` prevents wrapping each child with a <div>\n // which can muck with certain layouts.\n <TransitionGroup component={null}>\n {React.Children.map(children, (child) => (\n <TransitionChild\n transitionStyles={this.props.transitionStyle}\n appearTimeout={this.props.transitionAppearTimeout}\n enterTimeout={this.props.transitionEnterTimeout}\n leaveTimeout={this.props.transitionLeaveTimeout}\n >\n {child}\n </TransitionChild>\n ))}\n </TransitionGroup>\n );\n }\n}\n\nexport default AphroditeCSSTransitionGroup;\n","import {View} from \"@khanacademy/wonder-blocks-core\";\nimport {semanticColor} from \"@khanacademy/wonder-blocks-tokens\";\nimport {StyleSheet} from \"aphrodite\";\nimport * as React from \"react\";\n\nimport AphroditeCssTransitionGroup from \"../aphrodite-css-transition-group\";\n\nimport Keypad from \"./keypad\";\nimport {expandedViewThreshold} from \"./utils/get-cursor-context-config\";\n\nimport type {Cursor, KeyHandler, KeypadAPI} from \"../../types\";\nimport type {\n AnalyticsEventHandlerFn,\n KeypadConfiguration,\n KeypadKey,\n} from \"@khanacademy/perseus-core\";\nimport type {StyleType} from \"@khanacademy/wonder-blocks-core\";\n\nconst AnimationDurationInMS = 200;\n\ntype Props = {\n onElementMounted?: (api: KeypadAPI | null) => void;\n onDismiss?: () => void;\n style?: StyleType;\n onAnalyticsEvent: AnalyticsEventHandlerFn;\n setKeypadActive: (keypadActive: boolean) => void;\n keypadActive: boolean;\n};\n\ntype State = {\n containerWidth: number;\n keypadConfig?: KeypadConfiguration;\n keyHandler?: KeyHandler;\n cursor?: Cursor;\n};\n\n/**\n * This is the v2 equivalent of v1's ProvidedKeypad. It follows the same\n * external API so that it can be hot-swapped with the v1 keypad and\n * is responsible for connecting the keypad with MathInput and the Renderer.\n *\n * Ideally this strategy of attaching methods on the class component for\n * other components to call will be replaced props/callbacks since React\n * doesn't support this type of code anymore (functional components\n * can't have methods attached to them).\n */\nclass MobileKeypadInternals\n extends React.Component<Props, State>\n implements KeypadAPI\n{\n _containerRef = React.createRef<HTMLDivElement>();\n _containerResizeObserver: ResizeObserver | null = null;\n _throttleResize = false;\n\n state: State = {\n containerWidth: 0,\n };\n\n componentDidMount() {\n this._resize();\n\n window.addEventListener(\"resize\", this._throttleResizeHandler);\n window.addEventListener(\n \"orientationchange\",\n this._throttleResizeHandler,\n );\n\n // LC-1213: some common older browsers (as of 2023-09-07)\n // don't support ResizeObserver\n if (\"ResizeObserver\" in window) {\n this._containerResizeObserver = new window.ResizeObserver(\n this._throttleResizeHandler,\n );\n\n if (this._containerRef.current) {\n this._containerResizeObserver.observe?.(\n this._containerRef.current,\n );\n }\n }\n\n this.props.onElementMounted?.({\n activate: this.activate,\n dismiss: this.dismiss,\n configure: this.configure,\n setCursor: this.setCursor,\n setKeyHandler: this.setKeyHandler,\n getDOMNode: this.getDOMNode,\n });\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this._throttleResizeHandler);\n window.removeEventListener(\n \"orientationchange\",\n this._throttleResizeHandler,\n );\n this._containerResizeObserver?.disconnect?.();\n\n // Clear consumers' reference (e.g. `KeypadContext.keypadElement`) so\n // they don't keep calling into an unmounted keypad.\n this.props.onElementMounted?.(null);\n }\n\n _resize = () => {\n const containerWidth = this._containerRef.current?.clientWidth || 0;\n this.setState({containerWidth});\n };\n\n _throttleResizeHandler = () => {\n if (this._throttleResize) {\n return;\n }\n\n this._throttleResize = true;\n\n setTimeout(() => {\n this._resize();\n this._throttleResize = false;\n }, 100);\n };\n\n activate: () => void = () => {\n this.props.setKeypadActive(true);\n };\n\n dismiss: () => void = () => {\n this.props.setKeypadActive(false);\n this.props.onDismiss?.();\n };\n\n configure: (configuration: KeypadConfiguration, cb: () => void) => void = (\n configuration,\n cb,\n ) => {\n this.setState({keypadConfig: configuration});\n\n // TODO(matthewc)[LC-1080]: this was brought in from v1's ProvidedKeypad.\n // We need to investigate whether we still need this.\n // HACK(charlie): In Perseus, triggering a focus causes the keypad to\n // animate into view and re-configure. We'd like to provide the option\n // to re-render the re-configured keypad before animating it into view,\n // to avoid jank in the animation. As such, we support passing a\n // callback into `configureKeypad`. However, implementing this properly\n // would require middleware, etc., so we just hack it on with\n // `setTimeout` for now.\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n setTimeout(() => cb && cb());\n };\n\n setCursor: (cursor: Cursor) => void = (cursor) => {\n this.setState({cursor});\n };\n\n setKeyHandler: (keyHandler: KeyHandler) => void = (keyHandler) => {\n this.setState({keyHandler});\n };\n\n getDOMNode: () => HTMLElement | null = () => {\n return this._containerRef.current;\n };\n\n _handleClickKey(key: KeypadKey) {\n if (key === \"DISMISS\") {\n this.dismiss();\n return;\n }\n\n const cursor = this.state.keyHandler?.(key);\n this.setState({cursor});\n }\n\n render(): React.ReactNode {\n const {keypadActive, style} = this.props;\n const {containerWidth, cursor, keypadConfig} = this.state;\n\n const containerStyle = [\n styles.keypadContainer,\n // styles passed as props\n ...(Array.isArray(style) ? style : [style]),\n ];\n\n const isExpression = keypadConfig?.keypadType === \"EXPRESSION\";\n const convertDotToTimes = keypadConfig?.times;\n\n return (\n <View style={containerStyle} ref={this._containerRef}>\n <AphroditeCssTransitionGroup\n transitionEnterTimeout={AnimationDurationInMS}\n transitionLeaveTimeout={AnimationDurationInMS}\n transitionStyle={{\n appear: {\n transform: \"translate3d(0, 100%, 0)\",\n transition: `${AnimationDurationInMS}ms ease-out`,\n },\n appearActive: {\n transform: \"translate3d(0, 100%, 0)\",\n },\n enter: {\n transform: \"translate3d(0, 50%, 0)\",\n transition: `${AnimationDurationInMS}ms ease-out`,\n },\n enterActive: {\n transform: \"translate3d(0, 0, 0)\",\n },\n leave: {\n transform: \"translate3d(0, 0, 0)\",\n transition: `${AnimationDurationInMS}ms ease-out`,\n },\n leaveActive: {\n transform: \"translate3d(0, 100%, 0)\",\n },\n }}\n >\n {keypadActive ? (\n <Keypad\n onAnalyticsEvent={this.props.onAnalyticsEvent}\n extraKeys={keypadConfig?.extraKeys}\n onClickKey={(key) => this._handleClickKey(key)}\n cursorContext={cursor?.context}\n fractionsOnly={!isExpression}\n convertDotToTimes={convertDotToTimes}\n divisionKey={isExpression}\n trigonometry={isExpression}\n preAlgebra={isExpression}\n logarithms={isExpression}\n basicRelations={isExpression}\n advancedRelations={isExpression}\n expandedView={\n containerWidth > expandedViewThreshold\n }\n showDismiss\n scientific={\n isExpression && keypadConfig?.scientific\n }\n />\n ) : null}\n </AphroditeCssTransitionGroup>\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n keypadContainer: {\n insetBlockEnd: 0,\n insetInlineStart: 0,\n insetInlineEnd: 0,\n position: \"fixed\",\n // Having the border will make the experience consistent with the desktop\n // keypad which has a border.\n borderStyle: \"solid\",\n borderWidth: 1,\n borderColor: semanticColor.core.border.neutral.subtle,\n },\n});\n\nexport default MobileKeypadInternals;\n","import {KeypadContext} from \"@khanacademy/keypad-context\";\nimport * as React from \"react\";\n\nimport MobileKeypadInternals from \"./mobile-keypad-internals\";\n\ntype Props = Omit<\n React.ComponentProps<typeof MobileKeypadInternals>,\n \"keypadActive\" | \"setKeypadActive\"\n>;\n\nexport function MobileKeypad(props: Props) {\n return (\n <KeypadContext.Consumer>\n {({keypadActive, setKeypadActive}) => (\n <MobileKeypadInternals\n {...props}\n keypadActive={keypadActive}\n setKeypadActive={setKeypadActive}\n />\n )}\n </KeypadContext.Consumer>\n );\n}\n","/**\n * React PropTypes that may be shared between components.\n */\n\nimport PropTypes from \"prop-types\";\n\n// NOTE(jared): This is no longer guaranteed to be React element\n// @deprecated Use `KeypadAPI` Typescript interface instead.\nexport const keypadElementPropType = PropTypes.shape({\n activate: PropTypes.func.isRequired,\n dismiss: PropTypes.func.isRequired,\n configure: PropTypes.func.isRequired,\n setCursor: PropTypes.func.isRequired,\n setKeyHandler: PropTypes.func.isRequired,\n getDOMNode: PropTypes.func.isRequired,\n});\n"],"names":["libName","libVersion","addLibraryVersionToPerseusDebug","require$$0","jsxRuntimeModule","require$$1","mockStrings","mathInputBox","fingerTap","before","obj","after","Baseline","Superscript","selected","labelValue","label","value","plus","minus","negative","times","divide","decimal","percent","cdot","equalsSign","notEqualsSign","greaterThanSign","lessThanSign","greaterThanOrEqualToSign","lessThanOrEqualSign","fractionExpressionInNumerator","fractionExcludingExpression","customExponent","subscript","square","cube","squareRoot","cubeRoot","radicalWithCustomRoot","leftParenthesis","rightParenthesis","naturalLog","logBase10","logCustomBase","sine","sin","cosine","cos","tangent","tan","pi","theta","upArrow","rightArrow","downArrow","leftArrow","navOutOfParentheses","navOutOfExponent","navOutOfBase","navIntoNumerator","navOutOfNumeratorIntoDenominator","navOutOfDenominator","delete","dismiss","MathInputI18nContext","React","createContext","process","env","NODE_ENV","STORYBOOK","strings","locale","MathInputI18nContextProvider","children","useMemo","_jsx","Provider","useMathInputI18n","useContext","cursorHandleRadiusPx","cursorHandleDistanceMultiplier","touchTargetRadiusPx","touchTargetHeightPx","touchTargetWidthPx","cursorRadiusPx","cursorHeightPx","cursorWidthPx","CursorHandle","Component","render","x","y","animateIntoPosition","props","animationStyle","transitionDuration","transitionProperty","transformString","outerStyle","position","zIndex","left","top","transform","width","height","touchAction","span","style","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","_jsxs","svg","fill","viewBox","filter","id","colorInterpolationFilters","filterUnits","feDropShadow","dx","dy","stdDeviation","floodColor","semanticColor","core","shadow","transparent","low","g","path","d","foreground","instructive","default","stroke","knockout","strokeWidth","defaultProps","visible","touchSlopPx","DragListener","attach","window","addEventListener","_scrollListener","_moveListener","_endAndCancelListener","detach","removeEventListener","constructor","onDrag","initialEvent","touchLocationsById","i","changedTouches","length","touch","identifier","clientX","clientY","evt","initialTouchLocation","touchLocation","squaredDist","squaredTouchSlop","MathFieldActionType","CursorContext","this","mathquill_minModule","CDOT_ONLY","TIMES_ONLY","convertDotToTimesByLocale","convertDotToTimes","includes","inJest","JEST_WORKER_ID","mathQuillInstance","MathQuill","getInterface","createBaseConfig","autoCommands","autoOperatorNames","join","charsThatBreakOutOfSupSub","supSubsRequireOperand","spaceBehavesLikeTab","createMathField","container","configCallback","baseConfig","config","mathField","MathField","setAriaLabel","setAriaStringsOverrideMap","SpeechRuleEngine","setup","then","SRE","setMathspeakOverride","texToSpeech","Numerals","GreekLetters","Letters","ValidLeaves","map","letter","toLowerCase","toUpperCase","mqNodeHasClass","node","className","_el","classList","contains","isFraction","isNumerator","isDenominator","isSubScript","isSuperScript","isParens","ctrlSeq","isLeaf","trim","isSquareRoot","blocks","isNthRoot","isNthRootIndex","isInsideLogIndex","cursor","grandparent","parent","command","maybeFindCommandBeforeParens","name","isInsideEmptyNode","L","MQ_END","R","selectNode","insLeftOf","startSelection","insRightOf","select","endSelection","maybeFindCommand","initialNode","commandCharRegex","commandStartRegex","commandEndSeq","validCommands","startNode","endNode","test","leftParenNode","getCursorContext","NONE","visitor","BEFORE_FRACTION","IN_PARENS","IN_NUMERATOR","IN_DENOMINATOR","IN_SUB_SCRIPT","IN_SUPER_SCRIPT","handleBackspaceInNthRoot","isAtLeftEnd","isRootEmpty","ends","keystroke","handleBackspaceInRootIndex","latex","reinsertionPoint","rootIsEmpty","textContent","write","replace","moveToLeftEnd","handleBackspaceInLogIndex","isLogBodyEmpty","handleBackspaceInsideParens","sub","insAtRightEnd","isEmpty","handleBackspaceAfterLigaturedSymbol","handleBackspace","selection","leftNode","handleLeftArrow","handleRightArrow","handleArrow","key","ArithmeticOperators","EqualityOperators","invalidPrefixes","insertBaseParens","precedingNode","shouldPrefixWithParens","handleExponent","insertedParens","cmd","Error","KeysForJumpContext","handleJumpOut","context","fractionNode","siblingDenominator","handleSubscript","buildGenericCallback","str","type","WRITE","mathQuill","CMD","KEYSTROKE","buildTranslatableFunctionCallback","supportedTranslations","defaultCommand","buildNormalFunctionCallback","getKeyTranslator","EXP","EXP_2","EXP_3","SUB","JUMP_OUT_PARENTHESES","JUMP_OUT_EXPONENT","JUMP_OUT_BASE","JUMP_INTO_NUMERATOR","JUMP_OUT_NUMERATOR","JUMP_OUT_DENOMINATOR","LEFT","RIGHT","LOG","LN","COS","SIN","TAN","CDOT","DECIMAL","getDecimalSeparator","DIVIDE","getDivideSymbolForTex","EQUAL","GEQ","GT","LEQ","LT","MINUS","NEGATIVE","NEQ","PERCENT","PERIOD","PLUS","TIMES","FRAC_INCLUSIVE","FRAC","LEFT_PAREN","RIGHT_PAREN","SQRT","PI","THETA","RADICAL","BACKSPACE","UP","DOWN","CUBE_ROOT","FRAC_EXCLUSIVE","shouldNavigateLeft","LOG_N","DISMISS","NUM_0","NUM_1","NUM_2","NUM_3","NUM_4","NUM_5","NUM_6","NUM_7","NUM_8","NUM_9","a","b","c","e","f","h","j","k","l","m","n","o","p","q","r","s","t","u","v","w","z","A","B","C","D","E","F","G","H","I","J","K","M","N","O","P","Q","S","T","U","V","W","X","Y","Z","MathWrapper","focus","show","blur","hide","pressKey","getCursor","translator","mobileKeyTranslator","callbacks","onSelectionChanged","contextForCursor","setCursorPosition","hitNode","el","document","elementFromPoint","hasAttribute","controller","root","pageX","body","scrollLeft","pageY","scrollTop","seek","onCursorMove","getSelection","getContent","setContent","mathFieldMount","ariaLabel","substituteTextarea","createElement","toolbarHeightPx","scrollIntoView","containerNode","keypadNode","containerBounds","getBoundingClientRect","containerBottomPx","bottom","containerTopPx","scrollNode","scrollingElement","desiredMarginPx","pageHeightPx","innerHeight","keypadHeightPx","clientHeight","keypadTopPx","scrollOffset","Math","min","constrainingFrictionFactor","MathInput","componentDidMount","_isMounted","_mathContainer","keypadElement","setCursor","_updateInputPadding","_container","ReactDOM","findDOMNode","_root","querySelector","_handleScroll","isWithinKeypadBounds","bounds","_getKeypadBounds","right","recordTouchStartOutside","state","focused","target","touchDidStartInOrBelowKeypad","getDOMNode","didTouchOutside","dragListener","didScroll","blurOnTouchEndOutside","onBlur","blurOnClickOutside","componentDidUpdate","prevProps","prevState","componentWillUnmount","Element","_findHitNode","points","elements","point","element","nonLeafElements","max","counts","elementsById","getAttribute","push","count","entries","_insertCursorAtClosestNode","hasChildNodes","insAtLeftEnd","_containerBounds","firstChildBounds","firstChild","lastChildBounds","lastChild","abs","_constrainToBound","friction","showInputFocusStyle","handle","innerStyle","inlineStyles","innerContainer","borderWidth","getBorderWidthPx","borderColor","border","KeypadContext","Consumer","keypadActive","setKeypadActive","View","styles","input","handleTouchStart","handleTouchMove","handleTouchEnd","onClick","handleClick","role","aria-label","div","tabIndex","ref","inputRef","onFocus","onKeyUp","handleKeyUp","onCursorHandleTouchStart","onCursorHandleTouchMove","onCursorHandleTouchEnd","onCursorHandleTouchCancel","padding","getInputInnerPadding","paddingTop","paddingRight","paddingBottom","paddingLeft","fontSize","fontSizePt","_updateCursorHandle","cursorBounds","cursorWidth","gapBelowCursor","inputInnerPadding","furthestRightCursorBound","furthestLeftCursorBound","cursorBoundsLeft","setState","_hideCursorHandle","setKeyHandler","hideCursor","onChange","setTimeout","maybeKeypadNode","stopPropagation","preventDefault","relativeX","relativeY","distanceAboveFingerToTrySelecting","adjustedY","domKeyToMathQuillKey","keyMap","_","mathQuillKey","normalBorderWidthPx","focusedBorderWidthPx","paddingInset","totalDesiredPadding","symbolaPaddingBottom","symbolaPaddingTop","cursorPadding","contextType","inputMaxWidth","numeralHeightPx","minHeightPx","minWidthPx","StyleSheet","create","display","verticalAlign","maxInlineSize","backgroundColor","background","base","minHeight","minWidth","maxWidth","boxSizing","borderStyle","neutral","borderRadius","color","strong","getDefaultOperatorFields","keyType","data","icon","getDefaultValueFields","getDefaultNumberFields","KeyConfigs","ButtonAsset","xmlns","data-testid","fillRule","clipRule","clipPath","circle","cx","cy","defs","getDivideSymbol","strokeLinecap","strokeLinejoin","unhandledKey","KeypadButton","coord","keyConfig","onClickKey","secondary","action","tintColor","subtle","undefined","gridColumn","gridRow","testId","Clickable","onMouseDown","clickable","hovered","pressed","outerBoxBase","justifyContent","alignItems","boxShadow","chonky","medium","outline","flex","minBlockSize","minInlineSize","fontFamily","font","family","sans","inner","outlineColor","outer","expandedViewThreshold","getCursorContextConfig","cursorContext","Keys","FractionsPage","cursorKeyConfig","_Fragment","getStyles","up","down","NavigationButton","directionalStyles","borderRadiusPx","borderStartStartRadius","borderStartEndRadius","borderEndEndRadius","borderEndStartRadius","NavigationPad","grid","spacer","paddingBlock","paddingInline","gridTemplateColumns","gridTemplateRows","SharedKeys","divisionKey","selectedPage","fractionCoord","RenderKeyPadPanel","fractionsOnly","expandedView","gridStyle","fractionsGrid","expressionGrid","keypadGrid","keypadOuterContainerStyle","expandedWrapperStyle","thin","radius","radius_040","keypadInnerContainerStyle","flexDirection","flexWrap","disabled","direction","headerBarStyle","sizing","size_080","paddingBlockStart","paddingBlockEnd","KeypadFractionsOnly","showDismiss","keypadOuterContainer","wrapper","expandedWrapper","marginInlineStart","IconButton","xBold","kind","size","columns","ExtrasPage","extraKeys","coordX","coordY","GeometryPage","NumbersPage","scientific","OperatorsPage","preAlgebra","logarithms","basicRelations","advancedRelations","TabIconLabel","UnreachableCaseError","getAvailableTabs","tabPanels","panel","tabIds","trigonometry","tab","tabsStyles","marginBlockStart","marginBlockEnd","tablist","gap","tabPanel","Keypad","onAnalyticsEvent","defaultSelectedPage","setSelectedPage","useState","isMounted","setIsMounted","useEffect","payload","virtualKeypadVersion","availableTabs","insetBlockStart","size_120","insetInlineEnd","Tabs","tabs","selectedTabId","onTabSelected","newSelectedPage","flatten","list","result","Array","isArray","item","processStyleType","stylesheetStyles","shouldInlineStyles","globalThis","SNAPSHOT_INLINE_APHRODITE","forEach","_definition","child","def","match","inlineStylesObject","Object","assign","inlineStylesStyleSheet","css","TransitionChild","getDerivedStateFromProps","in","nextIn","status","appearTimeout","transition","enterTimeout","oldProps","oldState","leaveTimeout","schedule","clearAll","removeAllClasses","appliedClassNames","removeClass","animationType","duration","transitionStyles","activeClassName","addClass","queueClass","timeout","removeClassName","addClassName","classNameQueue","flushClassNameQueue","elem","add","remove","Set","withActionScheduler","AphroditeCSSTransitionGroup","TransitionGroup","component","Children","transitionStyle","transitionAppearTimeout","transitionEnterTimeout","transitionLeaveTimeout","AnimationDurationInMS","MobileKeypadInternals","_resize","_throttleResizeHandler","_containerResizeObserver","ResizeObserver","_containerRef","current","observe","onElementMounted","activate","configure","disconnect","_handleClickKey","keyHandler","containerWidth","keypadConfig","containerStyle","keypadContainer","isExpression","keypadType","AphroditeCssTransitionGroup","appear","appearActive","enter","enterActive","leave","leaveActive","createRef","_throttleResize","clientWidth","onDismiss","configuration","cb","insetBlockEnd","insetInlineStart","MobileKeypad","keypadElementPropType","PropTypes","shape","func","isRequired"],"mappings":"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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC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AAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,M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","x_google_ignoreList":[1,2,3,11]}
|