@kingsimba/nc-ui 0.1.0 → 0.1.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.cjs","sources":["../node_modules/react-simple-code-editor/lib/index.js","../node_modules/prism-react-renderer/dist/index.mjs","../node_modules/js-yaml/dist/js-yaml.mjs","../src/components/YamlTextArea.tsx"],"sourcesContent":["\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = __importStar(require(\"react\"));\nvar KEYCODE_Y = 89;\nvar KEYCODE_Z = 90;\nvar KEYCODE_M = 77;\nvar KEYCODE_PARENS = 57;\nvar KEYCODE_BRACKETS = 219;\nvar KEYCODE_QUOTE = 222;\nvar KEYCODE_BACK_QUOTE = 192;\nvar HISTORY_LIMIT = 100;\nvar HISTORY_TIME_GAP = 3000;\nvar isWindows = typeof window !== 'undefined' &&\n 'navigator' in window &&\n /Win/i.test(navigator.platform);\nvar isMacLike = typeof window !== 'undefined' &&\n 'navigator' in window &&\n /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);\nvar className = 'npm__react-simple-code-editor__textarea';\nvar cssText = /* CSS */ \"\\n/**\\n * Reset the text fill color so that placeholder is visible\\n */\\n.\".concat(className, \":empty {\\n -webkit-text-fill-color: inherit !important;\\n}\\n\\n/**\\n * Hack to apply on some CSS on IE10 and IE11\\n */\\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\\n /**\\n * IE doesn't support '-webkit-text-fill-color'\\n * So we use 'color: transparent' to make the text transparent on IE\\n * Unlike other browsers, it doesn't affect caret color in IE\\n */\\n .\").concat(className, \" {\\n color: transparent !important;\\n }\\n\\n .\").concat(className, \"::selection {\\n background-color: #accef7 !important;\\n color: transparent !important;\\n }\\n}\\n\");\nvar Editor = React.forwardRef(function Editor(props, ref) {\n var autoFocus = props.autoFocus, disabled = props.disabled, form = props.form, highlight = props.highlight, _a = props.ignoreTabKey, ignoreTabKey = _a === void 0 ? false : _a, _b = props.insertSpaces, insertSpaces = _b === void 0 ? true : _b, maxLength = props.maxLength, minLength = props.minLength, name = props.name, onBlur = props.onBlur, onClick = props.onClick, onFocus = props.onFocus, onKeyDown = props.onKeyDown, onKeyUp = props.onKeyUp, onValueChange = props.onValueChange, _c = props.padding, padding = _c === void 0 ? 0 : _c, placeholder = props.placeholder, preClassName = props.preClassName, readOnly = props.readOnly, required = props.required, style = props.style, _d = props.tabSize, tabSize = _d === void 0 ? 2 : _d, textareaClassName = props.textareaClassName, textareaId = props.textareaId, value = props.value, rest = __rest(props, [\"autoFocus\", \"disabled\", \"form\", \"highlight\", \"ignoreTabKey\", \"insertSpaces\", \"maxLength\", \"minLength\", \"name\", \"onBlur\", \"onClick\", \"onFocus\", \"onKeyDown\", \"onKeyUp\", \"onValueChange\", \"padding\", \"placeholder\", \"preClassName\", \"readOnly\", \"required\", \"style\", \"tabSize\", \"textareaClassName\", \"textareaId\", \"value\"]);\n var historyRef = React.useRef({\n stack: [],\n offset: -1,\n });\n var inputRef = React.useRef(null);\n var _e = React.useState(true), capture = _e[0], setCapture = _e[1];\n var contentStyle = {\n paddingTop: typeof padding === 'object' ? padding.top : padding,\n paddingRight: typeof padding === 'object' ? padding.right : padding,\n paddingBottom: typeof padding === 'object' ? padding.bottom : padding,\n paddingLeft: typeof padding === 'object' ? padding.left : padding,\n };\n var highlighted = highlight(value);\n var getLines = function (text, position) {\n return text.substring(0, position).split('\\n');\n };\n var recordChange = React.useCallback(function (record, overwrite) {\n var _a, _b, _c;\n if (overwrite === void 0) { overwrite = false; }\n var _d = historyRef.current, stack = _d.stack, offset = _d.offset;\n if (stack.length && offset > -1) {\n // When something updates, drop the redo operations\n historyRef.current.stack = stack.slice(0, offset + 1);\n // Limit the number of operations to 100\n var count = historyRef.current.stack.length;\n if (count > HISTORY_LIMIT) {\n var extras = count - HISTORY_LIMIT;\n historyRef.current.stack = stack.slice(extras, count);\n historyRef.current.offset = Math.max(historyRef.current.offset - extras, 0);\n }\n }\n var timestamp = Date.now();\n if (overwrite) {\n var last = historyRef.current.stack[historyRef.current.offset];\n if (last && timestamp - last.timestamp < HISTORY_TIME_GAP) {\n // A previous entry exists and was in short interval\n // Match the last word in the line\n var re = /[^a-z0-9]([a-z0-9]+)$/i;\n // Get the previous line\n var previous = (_a = getLines(last.value, last.selectionStart)\n .pop()) === null || _a === void 0 ? void 0 : _a.match(re);\n // Get the current line\n var current = (_b = getLines(record.value, record.selectionStart)\n .pop()) === null || _b === void 0 ? void 0 : _b.match(re);\n if ((previous === null || previous === void 0 ? void 0 : previous[1]) && ((_c = current === null || current === void 0 ? void 0 : current[1]) === null || _c === void 0 ? void 0 : _c.startsWith(previous[1]))) {\n // The last word of the previous line and current line match\n // Overwrite previous entry so that undo will remove whole word\n historyRef.current.stack[historyRef.current.offset] = __assign(__assign({}, record), { timestamp: timestamp });\n return;\n }\n }\n }\n // Add the new operation to the stack\n historyRef.current.stack.push(__assign(__assign({}, record), { timestamp: timestamp }));\n historyRef.current.offset++;\n }, []);\n var recordCurrentState = React.useCallback(function () {\n var input = inputRef.current;\n if (!input)\n return;\n // Save current state of the input\n var value = input.value, selectionStart = input.selectionStart, selectionEnd = input.selectionEnd;\n recordChange({\n value: value,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd,\n });\n }, [recordChange]);\n var updateInput = function (record) {\n var input = inputRef.current;\n if (!input)\n return;\n // Update values and selection state\n input.value = record.value;\n input.selectionStart = record.selectionStart;\n input.selectionEnd = record.selectionEnd;\n onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(record.value);\n };\n var applyEdits = function (record) {\n // Save last selection state\n var input = inputRef.current;\n var last = historyRef.current.stack[historyRef.current.offset];\n if (last && input) {\n historyRef.current.stack[historyRef.current.offset] = __assign(__assign({}, last), { selectionStart: input.selectionStart, selectionEnd: input.selectionEnd });\n }\n // Save the changes\n recordChange(record);\n updateInput(record);\n };\n var undoEdit = function () {\n var _a = historyRef.current, stack = _a.stack, offset = _a.offset;\n // Get the previous edit\n var record = stack[offset - 1];\n if (record) {\n // Apply the changes and update the offset\n updateInput(record);\n historyRef.current.offset = Math.max(offset - 1, 0);\n }\n };\n var redoEdit = function () {\n var _a = historyRef.current, stack = _a.stack, offset = _a.offset;\n // Get the next edit\n var record = stack[offset + 1];\n if (record) {\n // Apply the changes and update the offset\n updateInput(record);\n historyRef.current.offset = Math.min(offset + 1, stack.length - 1);\n }\n };\n var handleKeyDown = function (e) {\n if (onKeyDown) {\n onKeyDown(e);\n if (e.defaultPrevented) {\n return;\n }\n }\n if (e.key === 'Escape') {\n e.currentTarget.blur();\n }\n var _a = e.currentTarget, value = _a.value, selectionStart = _a.selectionStart, selectionEnd = _a.selectionEnd;\n var tabCharacter = (insertSpaces ? ' ' : '\\t').repeat(tabSize);\n if (e.key === 'Tab' && !ignoreTabKey && capture) {\n // Prevent focus change\n e.preventDefault();\n if (e.shiftKey) {\n // Unindent selected lines\n var linesBeforeCaret = getLines(value, selectionStart);\n var startLine_1 = linesBeforeCaret.length - 1;\n var endLine_1 = getLines(value, selectionEnd).length - 1;\n var nextValue = value\n .split('\\n')\n .map(function (line, i) {\n if (i >= startLine_1 &&\n i <= endLine_1 &&\n line.startsWith(tabCharacter)) {\n return line.substring(tabCharacter.length);\n }\n return line;\n })\n .join('\\n');\n if (value !== nextValue) {\n var startLineText = linesBeforeCaret[startLine_1];\n applyEdits({\n value: nextValue,\n // Move the start cursor if first line in selection was modified\n // It was modified only if it started with a tab\n selectionStart: (startLineText === null || startLineText === void 0 ? void 0 : startLineText.startsWith(tabCharacter))\n ? selectionStart - tabCharacter.length\n : selectionStart,\n // Move the end cursor by total number of characters removed\n selectionEnd: selectionEnd - (value.length - nextValue.length),\n });\n }\n }\n else if (selectionStart !== selectionEnd) {\n // Indent selected lines\n var linesBeforeCaret = getLines(value, selectionStart);\n var startLine_2 = linesBeforeCaret.length - 1;\n var endLine_2 = getLines(value, selectionEnd).length - 1;\n var startLineText = linesBeforeCaret[startLine_2];\n applyEdits({\n value: value\n .split('\\n')\n .map(function (line, i) {\n if (i >= startLine_2 && i <= endLine_2) {\n return tabCharacter + line;\n }\n return line;\n })\n .join('\\n'),\n // Move the start cursor by number of characters added in first line of selection\n // Don't move it if it there was no text before cursor\n selectionStart: startLineText && /\\S/.test(startLineText)\n ? selectionStart + tabCharacter.length\n : selectionStart,\n // Move the end cursor by total number of characters added\n selectionEnd: selectionEnd + tabCharacter.length * (endLine_2 - startLine_2 + 1),\n });\n }\n else {\n var updatedSelection = selectionStart + tabCharacter.length;\n applyEdits({\n // Insert tab character at caret\n value: value.substring(0, selectionStart) +\n tabCharacter +\n value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection,\n });\n }\n }\n else if (e.key === 'Backspace') {\n var hasSelection = selectionStart !== selectionEnd;\n var textBeforeCaret = value.substring(0, selectionStart);\n if (textBeforeCaret.endsWith(tabCharacter) && !hasSelection) {\n // Prevent default delete behaviour\n e.preventDefault();\n var updatedSelection = selectionStart - tabCharacter.length;\n applyEdits({\n // Remove tab character at caret\n value: value.substring(0, selectionStart - tabCharacter.length) +\n value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection,\n });\n }\n }\n else if (e.key === 'Enter') {\n // Ignore selections\n if (selectionStart === selectionEnd) {\n // Get the current line\n var line = getLines(value, selectionStart).pop();\n var matches = line === null || line === void 0 ? void 0 : line.match(/^\\s+/);\n if (matches === null || matches === void 0 ? void 0 : matches[0]) {\n e.preventDefault();\n // Preserve indentation on inserting a new line\n var indent = '\\n' + matches[0];\n var updatedSelection = selectionStart + indent.length;\n applyEdits({\n // Insert indentation character at caret\n value: value.substring(0, selectionStart) +\n indent +\n value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection,\n });\n }\n }\n }\n else if (e.keyCode === KEYCODE_PARENS ||\n e.keyCode === KEYCODE_BRACKETS ||\n e.keyCode === KEYCODE_QUOTE ||\n e.keyCode === KEYCODE_BACK_QUOTE) {\n var chars = void 0;\n if (e.keyCode === KEYCODE_PARENS && e.shiftKey) {\n chars = ['(', ')'];\n }\n else if (e.keyCode === KEYCODE_BRACKETS) {\n if (e.shiftKey) {\n chars = ['{', '}'];\n }\n else {\n chars = ['[', ']'];\n }\n }\n else if (e.keyCode === KEYCODE_QUOTE) {\n if (e.shiftKey) {\n chars = ['\"', '\"'];\n }\n else {\n chars = [\"'\", \"'\"];\n }\n }\n else if (e.keyCode === KEYCODE_BACK_QUOTE && !e.shiftKey) {\n chars = ['`', '`'];\n }\n // If text is selected, wrap them in the characters\n if (selectionStart !== selectionEnd && chars) {\n e.preventDefault();\n applyEdits({\n value: value.substring(0, selectionStart) +\n chars[0] +\n value.substring(selectionStart, selectionEnd) +\n chars[1] +\n value.substring(selectionEnd),\n // Update caret position\n selectionStart: selectionStart,\n selectionEnd: selectionEnd + 2,\n });\n }\n }\n else if ((isMacLike\n ? // Trigger undo with ⌘+Z on Mac\n e.metaKey && e.keyCode === KEYCODE_Z\n : // Trigger undo with Ctrl+Z on other platforms\n e.ctrlKey && e.keyCode === KEYCODE_Z) &&\n !e.shiftKey &&\n !e.altKey) {\n e.preventDefault();\n undoEdit();\n }\n else if ((isMacLike\n ? // Trigger redo with ⌘+Shift+Z on Mac\n e.metaKey && e.keyCode === KEYCODE_Z && e.shiftKey\n : isWindows\n ? // Trigger redo with Ctrl+Y on Windows\n e.ctrlKey && e.keyCode === KEYCODE_Y\n : // Trigger redo with Ctrl+Shift+Z on other platforms\n e.ctrlKey && e.keyCode === KEYCODE_Z && e.shiftKey) &&\n !e.altKey) {\n e.preventDefault();\n redoEdit();\n }\n else if (e.keyCode === KEYCODE_M &&\n e.ctrlKey &&\n (isMacLike ? e.shiftKey : true)) {\n e.preventDefault();\n // Toggle capturing tab key so users can focus away\n setCapture(function (prev) { return !prev; });\n }\n };\n var handleChange = function (e) {\n var _a = e.currentTarget, value = _a.value, selectionStart = _a.selectionStart, selectionEnd = _a.selectionEnd;\n recordChange({\n value: value,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd,\n }, true);\n onValueChange(value);\n };\n React.useEffect(function () {\n recordCurrentState();\n }, [recordCurrentState]);\n React.useImperativeHandle(ref, function () {\n return {\n get session() {\n return {\n history: historyRef.current,\n };\n },\n set session(session) {\n historyRef.current = session.history;\n },\n };\n }, []);\n return (React.createElement(\"div\", __assign({}, rest, { style: __assign(__assign({}, styles.container), style) }),\n React.createElement(\"pre\", __assign({ className: preClassName, \"aria-hidden\": \"true\", style: __assign(__assign(__assign({}, styles.editor), styles.highlight), contentStyle) }, (typeof highlighted === 'string'\n ? { dangerouslySetInnerHTML: { __html: highlighted + '<br />' } }\n : { children: highlighted }))),\n React.createElement(\"textarea\", { ref: function (c) { return (inputRef.current = c); }, style: __assign(__assign(__assign({}, styles.editor), styles.textarea), contentStyle), className: className + (textareaClassName ? \" \".concat(textareaClassName) : ''), id: textareaId, value: value, onChange: handleChange, onKeyDown: handleKeyDown, onClick: onClick, onKeyUp: onKeyUp, onFocus: onFocus, onBlur: onBlur, disabled: disabled, form: form, maxLength: maxLength, minLength: minLength, name: name, placeholder: placeholder, readOnly: readOnly, required: required, autoFocus: autoFocus, autoCapitalize: \"off\", autoComplete: \"off\", autoCorrect: \"off\", spellCheck: false, \"data-gramm\": false }),\n React.createElement(\"style\", { dangerouslySetInnerHTML: { __html: cssText } })));\n});\nvar styles = {\n container: {\n position: 'relative',\n textAlign: 'left',\n boxSizing: 'border-box',\n padding: 0,\n overflow: 'hidden',\n },\n textarea: {\n position: 'absolute',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%',\n resize: 'none',\n color: 'inherit',\n overflow: 'hidden',\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n WebkitTextFillColor: 'transparent',\n },\n highlight: {\n position: 'relative',\n pointerEvents: 'none',\n },\n editor: {\n margin: 0,\n border: 0,\n background: 'none',\n boxSizing: 'inherit',\n display: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontStyle: 'inherit',\n fontVariantLigatures: 'inherit',\n fontWeight: 'inherit',\n letterSpacing: 'inherit',\n lineHeight: 'inherit',\n tabSize: 'inherit',\n textIndent: 'inherit',\n textRendering: 'inherit',\n textTransform: 'inherit',\n whiteSpace: 'pre-wrap',\n wordBreak: 'keep-all',\n overflowWrap: 'break-word',\n },\n};\nexports.default = Editor;\n//# sourceMappingURL=index.js.map","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\n// ../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\nvar require_prism = __commonJS({\n \"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\"(exports, module) {\n var Prism2 = function() {\n var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n var uniqueId = 0;\n var plainTextGrammar = {};\n var _ = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/\\u00a0/g, \" \");\n }\n },\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function(o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n },\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function(obj) {\n if (!obj[\"__id\"]) {\n Object.defineProperty(obj, \"__id\", { value: ++uniqueId });\n }\n return obj[\"__id\"];\n },\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone;\n var id;\n switch (_.util.type(o)) {\n case \"Object\":\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = /** @type {Record<string, any>} */\n {};\n visited[id] = clone;\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n return (\n /** @type {any} */\n clone\n );\n case \"Array\":\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = [];\n visited[id] = clone;\n /** @type {Array} */\n /** @type {any} */\n o.forEach(function(v, i) {\n clone[i] = deepClone(v, visited);\n });\n return (\n /** @type {any} */\n clone\n );\n default:\n return o;\n }\n },\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function(element) {\n while (element) {\n var m = lang.exec(element.className);\n if (m) {\n return m[1].toLowerCase();\n }\n element = element.parentElement;\n }\n return \"none\";\n },\n /**\n * Sets the Prism `language-xxxx` class of the given element.\n *\n * @param {Element} element\n * @param {string} language\n * @returns {void}\n */\n setLanguage: function(element, language) {\n element.className = element.className.replace(RegExp(lang, \"gi\"), \"\");\n element.classList.add(\"language-\" + language);\n },\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function(element, className, defaultActivation) {\n var no = \"no-\" + className;\n while (element) {\n var classList = element.classList;\n if (classList.contains(className)) {\n return true;\n }\n if (classList.contains(no)) {\n return false;\n }\n element = element.parentElement;\n }\n return !!defaultActivation;\n }\n },\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function(id, redef) {\n var lang2 = _.util.clone(_.languages[id]);\n for (var key in redef) {\n lang2[key] = redef[key];\n }\n return lang2;\n },\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function(inside, before, insert, root) {\n root = root || /** @type {any} */\n _.languages;\n var grammar = root[inside];\n var ret = {};\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n }\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token];\n }\n }\n }\n var old = root[inside];\n root[inside] = ret;\n _.languages.DFS(_.languages, function(key, value) {\n if (value === old && key != inside) {\n this[key] = ret;\n }\n });\n return ret;\n },\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {};\n var objId = _.util.objId;\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n var property = o[i];\n var propertyType = _.util.type(property);\n if (propertyType === \"Object\" && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, null, visited);\n } else if (propertyType === \"Array\" && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n /**\n * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function(text, grammar, language) {\n var env = {\n code: text,\n grammar,\n language\n };\n _.hooks.run(\"before-tokenize\", env);\n if (!env.grammar) {\n throw new Error('The language \"' + env.language + '\" has no grammar.');\n }\n env.tokens = _.tokenize(env.code, env.grammar);\n _.hooks.run(\"after-tokenize\", env);\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function(text, grammar) {\n var rest = grammar.rest;\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n delete grammar.rest;\n }\n var tokenList = new LinkedList();\n addAfter(tokenList, tokenList.head, text);\n matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n return toArray(tokenList);\n },\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function(name, callback) {\n var hooks2 = _.hooks.all;\n hooks2[name] = hooks2[name] || [];\n hooks2[name].push(callback);\n },\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function(name, env) {\n var callbacks = _.hooks.all[name];\n if (!callbacks || !callbacks.length) {\n return;\n }\n for (var i = 0, callback; callback = callbacks[i++]; ) {\n callback(env);\n }\n }\n },\n Token\n };\n function Token(type, content, alias, matchedStr) {\n this.type = type;\n this.content = content;\n this.alias = alias;\n this.length = (matchedStr || \"\").length | 0;\n }\n Token.stringify = function stringify(o, language) {\n if (typeof o == \"string\") {\n return o;\n }\n if (Array.isArray(o)) {\n var s = \"\";\n o.forEach(function(e) {\n s += stringify(e, language);\n });\n return s;\n }\n var env = {\n type: o.type,\n content: stringify(o.content, language),\n tag: \"span\",\n classes: [\"token\", o.type],\n attributes: {},\n language\n };\n var aliases = o.alias;\n if (aliases) {\n if (Array.isArray(aliases)) {\n Array.prototype.push.apply(env.classes, aliases);\n } else {\n env.classes.push(aliases);\n }\n }\n _.hooks.run(\"wrap\", env);\n var attributes = \"\";\n for (var name in env.attributes) {\n attributes += \" \" + name + '=\"' + (env.attributes[name] || \"\").replace(/\"/g, \"&quot;\") + '\"';\n }\n return \"<\" + env.tag + ' class=\"' + env.classes.join(\" \") + '\"' + attributes + \">\" + env.content + \"</\" + env.tag + \">\";\n };\n function matchPattern(pattern, pos, text, lookbehind) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n if (match && lookbehind && match[1]) {\n var lookbehindLength = match[1].length;\n match.index += lookbehindLength;\n match[0] = match[0].slice(lookbehindLength);\n }\n return match;\n }\n function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n var patterns = grammar[token];\n patterns = Array.isArray(patterns) ? patterns : [patterns];\n for (var j = 0; j < patterns.length; ++j) {\n if (rematch && rematch.cause == token + \",\" + j) {\n return;\n }\n var patternObj = patterns[j];\n var inside = patternObj.inside;\n var lookbehind = !!patternObj.lookbehind;\n var greedy = !!patternObj.greedy;\n var alias = patternObj.alias;\n if (greedy && !patternObj.pattern.global) {\n var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n patternObj.pattern = RegExp(patternObj.pattern.source, flags + \"g\");\n }\n var pattern = patternObj.pattern || patternObj;\n for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n if (rematch && pos >= rematch.reach) {\n break;\n }\n var str = currentNode.value;\n if (tokenList.length > text.length) {\n return;\n }\n if (str instanceof Token) {\n continue;\n }\n var removeCount = 1;\n var match;\n if (greedy) {\n match = matchPattern(pattern, pos, text, lookbehind);\n if (!match || match.index >= text.length) {\n break;\n }\n var from = match.index;\n var to = match.index + match[0].length;\n var p = pos;\n p += currentNode.value.length;\n while (from >= p) {\n currentNode = currentNode.next;\n p += currentNode.value.length;\n }\n p -= currentNode.value.length;\n pos = p;\n if (currentNode.value instanceof Token) {\n continue;\n }\n for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === \"string\"); k = k.next) {\n removeCount++;\n p += k.value.length;\n }\n removeCount--;\n str = text.slice(pos, p);\n match.index -= pos;\n } else {\n match = matchPattern(pattern, 0, str, lookbehind);\n if (!match) {\n continue;\n }\n }\n var from = match.index;\n var matchStr = match[0];\n var before = str.slice(0, from);\n var after = str.slice(from + matchStr.length);\n var reach = pos + str.length;\n if (rematch && reach > rematch.reach) {\n rematch.reach = reach;\n }\n var removeFrom = currentNode.prev;\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before);\n pos += before.length;\n }\n removeRange(tokenList, removeFrom, removeCount);\n var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n currentNode = addAfter(tokenList, removeFrom, wrapped);\n if (after) {\n addAfter(tokenList, currentNode, after);\n }\n if (removeCount > 1) {\n var nestedRematch = {\n cause: token + \",\" + j,\n reach\n };\n matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n if (rematch && nestedRematch.reach > rematch.reach) {\n rematch.reach = nestedRematch.reach;\n }\n }\n }\n }\n }\n }\n function LinkedList() {\n var head = { value: null, prev: null, next: null };\n var tail = { value: null, prev: head, next: null };\n head.next = tail;\n this.head = head;\n this.tail = tail;\n this.length = 0;\n }\n function addAfter(list, node, value) {\n var next = node.next;\n var newNode = { value, prev: node, next };\n node.next = newNode;\n next.prev = newNode;\n list.length++;\n return newNode;\n }\n function removeRange(list, node, count) {\n var next = node.next;\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next;\n }\n node.next = next;\n next.prev = node;\n list.length -= i;\n }\n function toArray(list) {\n var array = [];\n var node = list.head.next;\n while (node !== list.tail) {\n array.push(node.value);\n node = node.next;\n }\n return array;\n }\n return _;\n }();\n module.exports = Prism2;\n Prism2.default = Prism2;\n }\n});\n\n// src/prism-langs.ts\nvar Prism = __toESM(require_prism());\nPrism.languages.markup = { comment: { pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/, greedy: true }, prolog: { pattern: /<\\?[\\s\\S]+?\\?>/, greedy: true }, doctype: { pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i, greedy: true, inside: { \"internal-subset\": { pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/, lookbehind: true, greedy: true, inside: null }, string: { pattern: /\"[^\"]*\"|'[^']*'/, greedy: true }, punctuation: /^<!|>$|[[\\]]/, \"doctype-tag\": /^DOCTYPE/i, name: /[^\\s<>'\"]+/ } }, cdata: { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, greedy: true }, tag: { pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/, greedy: true, inside: { tag: { pattern: /^<\\/?[^\\s>\\/]+/, inside: { punctuation: /^<\\/?/, namespace: /^[^\\s>\\/:]+:/ } }, \"special-attr\": [], \"attr-value\": { pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, { pattern: /^(\\s*)[\"']|[\"']$/, lookbehind: true }] } }, punctuation: /\\/?>/, \"attr-name\": { pattern: /[^\\s>\\/]+/, inside: { namespace: /^[^\\s>\\/:]+:/ } } } }, entity: [{ pattern: /&[\\da-z]{1,8};/i, alias: \"named-entity\" }, /&#x?[\\da-f]{1,8};/i] }, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.languages.markup.doctype.inside[\"internal-subset\"].inside = Prism.languages.markup, Prism.hooks.add(\"wrap\", function(e) {\n \"entity\" === e.type && (e.attributes.title = e.content.replace(/&amp;/, \"&\"));\n}), Object.defineProperty(Prism.languages.markup.tag, \"addInlined\", { value: function(e, n) {\n var t = {}, t = (t[\"language-\" + n] = { pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i, lookbehind: true, inside: Prism.languages[n] }, t.cdata = /^<!\\[CDATA\\[|\\]\\]>$/i, { \"included-cdata\": { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, inside: t } }), n = (t[\"language-\" + n] = { pattern: /[\\s\\S]+/, inside: Prism.languages[n] }, {});\n n[e] = { pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function() {\n return e;\n }), \"i\"), lookbehind: true, greedy: true, inside: t }, Prism.languages.insertBefore(\"markup\", \"cdata\", n);\n} }), Object.defineProperty(Prism.languages.markup.tag, \"addAttribute\", { value: function(e, n) {\n Prism.languages.markup.tag.inside[\"special-attr\"].push({ pattern: RegExp(/(^|[\"'\\s])/.source + \"(?:\" + e + \")\" + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, \"i\"), lookbehind: true, inside: { \"attr-name\": /^[^\\s=]+/, \"attr-value\": { pattern: /=[\\s\\S]+/, inside: { value: { pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/, lookbehind: true, alias: [n, \"language-\" + n], inside: Prism.languages[n] }, punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, /\"|'/] } } } });\n} }), Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup, Prism.languages.xml = Prism.languages.extend(\"markup\", {}), Prism.languages.ssml = Prism.languages.xml, Prism.languages.atom = Prism.languages.xml, Prism.languages.rss = Prism.languages.xml, function(e) {\n var n = { pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/, alias: \"escape\" }, t = /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/, a = \"(?:[^\\\\\\\\-]|\" + t.source + \")\", a = RegExp(a + \"-\" + a), r = { pattern: /(<|')[^<>']+(?=[>']$)/, lookbehind: true, alias: \"variable\" };\n e.languages.regex = { \"char-class\": { pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/, lookbehind: true, inside: { \"char-class-negation\": { pattern: /(^\\[)\\^/, lookbehind: true, alias: \"operator\" }, \"char-class-punctuation\": { pattern: /^\\[|\\]$/, alias: \"punctuation\" }, range: { pattern: a, inside: { escape: t, \"range-punctuation\": { pattern: /-/, alias: \"operator\" } } }, \"special-escape\": n, \"char-set\": { pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, escape: t } }, \"special-escape\": n, \"char-set\": { pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, backreference: [{ pattern: /\\\\(?![123][0-7]{2})[1-9]/, alias: \"keyword\" }, { pattern: /\\\\k<[^<>']+>/, alias: \"keyword\", inside: { \"group-name\": r } }], anchor: { pattern: /[$^]|\\\\[ABbGZz]/, alias: \"function\" }, escape: t, group: [{ pattern: /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/, alias: \"punctuation\", inside: { \"group-name\": r } }, { pattern: /\\)/, alias: \"punctuation\" }], quantifier: { pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/, alias: \"number\" }, alternation: { pattern: /\\|/, alias: \"keyword\" } };\n}(Prism), Prism.languages.clike = { comment: [{ pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, lookbehind: true, greedy: true }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: true, greedy: true }], string: { pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, greedy: true }, \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i, lookbehind: true, inside: { punctuation: /[.\\\\]/ } }, keyword: /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/, boolean: /\\b(?:false|true)\\b/, function: /\\b\\w+(?=\\()/, number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i, operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/, punctuation: /[{}[\\];(),.:]/ }, Prism.languages.javascript = Prism.languages.extend(\"clike\", { \"class-name\": [Prism.languages.clike[\"class-name\"], { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/, lookbehind: true }], keyword: [{ pattern: /((?:^|\\})\\s*)catch\\b/, lookbehind: true }, { pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/, lookbehind: true }], function: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/, number: { pattern: RegExp(/(^|[^\\w$])/.source + \"(?:\" + /NaN|Infinity/.source + \"|\" + /0[bB][01]+(?:_[01]+)*n?/.source + \"|\" + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + \"|\" + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + \"|\" + /\\d+(?:_\\d+)*n/.source + \"|\" + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source + \")\" + /(?![\\w$])/.source), lookbehind: true }, operator: /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/ }), Prism.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/, Prism.languages.insertBefore(\"javascript\", \"keyword\", { regex: { pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + \"(?:\" + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + \"|\" + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + \")\" + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source), lookbehind: true, greedy: true, inside: { \"regex-source\": { pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/, lookbehind: true, alias: \"language-regex\", inside: Prism.languages.regex }, \"regex-delimiter\": /^\\/|\\/$/, \"regex-flags\": /^[a-z]+$/ } }, \"function-variable\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/, alias: \"function\" }, parameter: [{ pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/, lookbehind: true, inside: Prism.languages.javascript }], constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/ }), Prism.languages.insertBefore(\"javascript\", \"string\", { hashbang: { pattern: /^#!.*/, greedy: true, alias: \"comment\" }, \"template-string\": { pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/, greedy: true, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/, lookbehind: true, inside: { \"interpolation-punctuation\": { pattern: /^\\$\\{|\\}$/, alias: \"punctuation\" }, rest: Prism.languages.javascript } }, string: /[\\s\\S]+/ } }, \"string-property\": { pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m, lookbehind: true, greedy: true, alias: \"property\" } }), Prism.languages.insertBefore(\"javascript\", \"operator\", { \"literal-property\": { pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m, lookbehind: true, alias: \"property\" } }), Prism.languages.markup && (Prism.languages.markup.tag.addInlined(\"script\", \"javascript\"), Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, \"javascript\")), Prism.languages.js = Prism.languages.javascript, Prism.languages.actionscript = Prism.languages.extend(\"javascript\", { keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/, operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/ }), Prism.languages.actionscript[\"class-name\"].alias = \"function\", delete Prism.languages.actionscript.parameter, delete Prism.languages.actionscript[\"literal-property\"], Prism.languages.markup && Prism.languages.insertBefore(\"actionscript\", \"string\", { xml: { pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/, lookbehind: true, inside: Prism.languages.markup } }), function(e) {\n var n = /#(?!\\{).+/, t = { pattern: /#\\{[^}]+\\}/, alias: \"variable\" };\n e.languages.coffeescript = e.languages.extend(\"javascript\", { comment: n, string: [{ pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/, greedy: true }, { pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/, greedy: true, inside: { interpolation: t } }], keyword: /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/, \"class-member\": { pattern: /@(?!\\d)\\w+/, alias: \"variable\" } }), e.languages.insertBefore(\"coffeescript\", \"comment\", { \"multiline-comment\": { pattern: /###[\\s\\S]+?###/, alias: \"comment\" }, \"block-regex\": { pattern: /\\/{3}[\\s\\S]*?\\/{3}/, alias: \"regex\", inside: { comment: n, interpolation: t } } }), e.languages.insertBefore(\"coffeescript\", \"string\", { \"inline-javascript\": { pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/, inside: { delimiter: { pattern: /^`|`$/, alias: \"punctuation\" }, script: { pattern: /[\\s\\S]+/, alias: \"language-javascript\", inside: e.languages.javascript } } }, \"multiline-string\": [{ pattern: /'''[\\s\\S]*?'''/, greedy: true, alias: \"string\" }, { pattern: /\"\"\"[\\s\\S]*?\"\"\"/, greedy: true, alias: \"string\", inside: { interpolation: t } }] }), e.languages.insertBefore(\"coffeescript\", \"keyword\", { property: /(?!\\d)\\w+(?=\\s*:(?!:))/ }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n}(Prism), function(l) {\n var e = l.languages.javadoclike = { parameter: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m, lookbehind: true }, keyword: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m, lookbehind: true }, punctuation: /[{}]/ };\n Object.defineProperty(e, \"addSupport\", { value: function(e2, o) {\n (e2 = \"string\" == typeof e2 ? [e2] : e2).forEach(function(e3) {\n var n = function(e4) {\n e4.inside || (e4.inside = {}), e4.inside.rest = o;\n }, t = \"doc-comment\";\n if (a = l.languages[e3]) {\n var a, r = a[t];\n if ((r = r ? r : (a = l.languages.insertBefore(e3, \"comment\", { \"doc-comment\": { pattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/, lookbehind: true, alias: \"comment\" } }))[t]) instanceof RegExp && (r = a[t] = { pattern: r }), Array.isArray(r))\n for (var s = 0, i = r.length; s < i; s++)\n r[s] instanceof RegExp && (r[s] = { pattern: r[s] }), n(r[s]);\n else\n n(r);\n }\n });\n } }), e.addSupport([\"java\", \"javascript\", \"php\"], e);\n}(Prism), function(e) {\n var n = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/, n = (e.languages.css = { comment: /\\/\\*[\\s\\S]*?\\*\\//, atrule: { pattern: RegExp(\"@[\\\\w-](?:\" + /[^;{\\s\"']|\\s+(?!\\s)/.source + \"|\" + n.source + \")*?\" + /(?:;|(?=\\s*\\{))/.source), inside: { rule: /^@[\\w-]+/, \"selector-function-argument\": { pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/, lookbehind: true, alias: \"selector\" }, keyword: { pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/, lookbehind: true } } }, url: { pattern: RegExp(\"\\\\burl\\\\((?:\" + n.source + \"|\" + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + \")\\\\)\", \"i\"), greedy: true, inside: { function: /^url/i, punctuation: /^\\(|\\)$/, string: { pattern: RegExp(\"^\" + n.source + \"$\"), alias: \"url\" } } }, selector: { pattern: RegExp(`(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"'\\\\s]|\\\\s+(?![\\\\s{])|` + n.source + \")*(?=\\\\s*\\\\{)\"), lookbehind: true }, string: { pattern: n, greedy: true }, property: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i, lookbehind: true }, important: /!important\\b/i, function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i, lookbehind: true }, punctuation: /[(){};:,]/ }, e.languages.css.atrule.inside.rest = e.languages.css, e.languages.markup);\n n && (n.tag.addInlined(\"style\", \"css\"), n.tag.addAttribute(\"style\", \"css\"));\n}(Prism), function(e) {\n var n = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, n = (e.languages.css.selector = { pattern: e.languages.css.selector.pattern, lookbehind: true, inside: n = { \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/, \"pseudo-class\": /:[-\\w]+/, class: /\\.[-\\w]+/, id: /#[-\\w]+/, attribute: { pattern: RegExp(`\\\\[(?:[^[\\\\]\"']|` + n.source + \")*\\\\]\"), greedy: true, inside: { punctuation: /^\\[|\\]$/, \"case-sensitivity\": { pattern: /(\\s)[si]$/i, lookbehind: true, alias: \"keyword\" }, namespace: { pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/, lookbehind: true, inside: { punctuation: /\\|$/ } }, \"attr-name\": { pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/, lookbehind: true }, \"attr-value\": [n, { pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/, lookbehind: true }], operator: /[|~*^$]?=/ } }, \"n-th\": [{ pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/, lookbehind: true, inside: { number: /[\\dn]+/, operator: /[+-]/ } }, { pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i, lookbehind: true }], combinator: />|\\+|~|\\|\\|/, punctuation: /[(),]/ } }, e.languages.css.atrule.inside[\"selector-function-argument\"].inside = n, e.languages.insertBefore(\"css\", \"property\", { variable: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i, lookbehind: true } }), { pattern: /(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/, lookbehind: true }), t = { pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/, lookbehind: true };\n e.languages.insertBefore(\"css\", \"function\", { operator: { pattern: /(\\s)[+\\-*\\/](?=\\s)/, lookbehind: true }, hexcode: { pattern: /\\B#[\\da-f]{3,8}\\b/i, alias: \"color\" }, color: [{ pattern: /(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i, lookbehind: true }, { pattern: /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i, inside: { unit: n, number: t, function: /[\\w-]+(?=\\()/, punctuation: /[(),]/ } }], entity: /\\\\[\\da-f]{1,8}/i, unit: n, number: t });\n}(Prism), function(e) {\n var n = /[*&][^\\s[\\]{},]+/, t = /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/, a = \"(?:\" + t.source + \"(?:[ \t]+\" + n.source + \")?|\" + n.source + \"(?:[ \t]+\" + t.source + \")?)\", r = /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source;\n }), s = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;\n function i(e2, n2) {\n n2 = (n2 || \"\").replace(/m/g, \"\") + \"m\";\n var t2 = /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g, function() {\n return a;\n }).replace(/<<value>>/g, function() {\n return e2;\n });\n return RegExp(t2, n2);\n }\n e.languages.yaml = { scalar: { pattern: RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g, function() {\n return a;\n })), lookbehind: true, alias: \"string\" }, comment: /#.*/, key: { pattern: RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g, function() {\n return a;\n }).replace(/<<key>>/g, function() {\n return \"(?:\" + r + \"|\" + s + \")\";\n })), lookbehind: true, greedy: true, alias: \"atrule\" }, directive: { pattern: /(^[ \\t]*)%.+/m, lookbehind: true, alias: \"important\" }, datetime: { pattern: i(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source), lookbehind: true, alias: \"number\" }, boolean: { pattern: i(/false|true/.source, \"i\"), lookbehind: true, alias: \"important\" }, null: { pattern: i(/null|~/.source, \"i\"), lookbehind: true, alias: \"important\" }, string: { pattern: i(s), lookbehind: true, greedy: true }, number: { pattern: i(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source, \"i\"), lookbehind: true }, tag: t, important: n, punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./ }, e.languages.yml = e.languages.yaml;\n}(Prism), function(o) {\n var n = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n function e(e2) {\n return e2 = e2.replace(/<inner>/g, function() {\n return n;\n }), RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + \"(?:\" + e2 + \")\");\n }\n var t = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source, a = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function() {\n return t;\n }), r = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source, l = (o.languages.markdown = o.languages.extend(\"markup\", {}), o.languages.insertBefore(\"markdown\", \"prolog\", { \"front-matter-block\": { pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/, lookbehind: true, greedy: true, inside: { punctuation: /^---|---$/, \"front-matter\": { pattern: /\\S+(?:\\s+\\S+)*/, alias: [\"yaml\", \"language-yaml\"], inside: o.languages.yaml } } }, blockquote: { pattern: /^>(?:[\\t ]*>)*/m, alias: \"punctuation\" }, table: { pattern: RegExp(\"^\" + a + r + \"(?:\" + a + \")*\", \"m\"), inside: { \"table-data-rows\": { pattern: RegExp(\"^(\" + a + r + \")(?:\" + a + \")*$\"), lookbehind: true, inside: { \"table-data\": { pattern: RegExp(t), inside: o.languages.markdown }, punctuation: /\\|/ } }, \"table-line\": { pattern: RegExp(\"^(\" + a + \")\" + r + \"$\"), lookbehind: true, inside: { punctuation: /\\||:?-{3,}:?/ } }, \"table-header-row\": { pattern: RegExp(\"^\" + a + \"$\"), inside: { \"table-header\": { pattern: RegExp(t), alias: \"important\", inside: o.languages.markdown }, punctuation: /\\|/ } } } }, code: [{ pattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/, lookbehind: true, alias: \"keyword\" }, { pattern: /^```[\\s\\S]*?^```$/m, greedy: true, inside: { \"code-block\": { pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m, lookbehind: true }, \"code-language\": { pattern: /^(```).+/, lookbehind: true }, punctuation: /```/ } }], title: [{ pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m, alias: \"important\", inside: { punctuation: /==+$|--+$/ } }, { pattern: /(^\\s*)#.+/m, lookbehind: true, alias: \"important\", inside: { punctuation: /^#+|#+$/ } }], hr: { pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m, lookbehind: true, alias: \"punctuation\" }, list: { pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m, lookbehind: true, alias: \"punctuation\" }, \"url-reference\": { pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/, inside: { variable: { pattern: /^(!?\\[)[^\\]]+/, lookbehind: true }, string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/, punctuation: /^[\\[\\]!:]|[<>]/ }, alias: \"url\" }, bold: { pattern: e(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^..)[\\s\\S]+(?=..$)/, lookbehind: true, inside: {} }, punctuation: /\\*\\*|__/ } }, italic: { pattern: e(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^.)[\\s\\S]+(?=.$)/, lookbehind: true, inside: {} }, punctuation: /[*_]/ } }, strike: { pattern: e(/(~~?)(?:(?!~)<inner>)+\\2/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^~~?)[\\s\\S]+(?=\\1$)/, lookbehind: true, inside: {} }, punctuation: /~~?/ } }, \"code-snippet\": { pattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/, lookbehind: true, greedy: true, alias: [\"code\", \"keyword\"] }, url: { pattern: e(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source), lookbehind: true, greedy: true, inside: { operator: /^!/, content: { pattern: /(^\\[)[^\\]]+(?=\\])/, lookbehind: true, inside: {} }, variable: { pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/, lookbehind: true }, url: { pattern: /(^\\]\\()[^\\s)]+/, lookbehind: true }, string: { pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/, lookbehind: true } } } }), [\"url\", \"bold\", \"italic\", \"strike\"].forEach(function(n2) {\n [\"url\", \"bold\", \"italic\", \"strike\", \"code-snippet\"].forEach(function(e2) {\n n2 !== e2 && (o.languages.markdown[n2].inside.content.inside[e2] = o.languages.markdown[e2]);\n });\n }), o.hooks.add(\"after-tokenize\", function(e2) {\n \"markdown\" !== e2.language && \"md\" !== e2.language || !function e3(n2) {\n if (n2 && \"string\" != typeof n2)\n for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) {\n var r2, s = n2[t2];\n \"code\" !== s.type ? e3(s.content) : (r2 = s.content[1], s = s.content[3], r2 && s && \"code-language\" === r2.type && \"code-block\" === s.type && \"string\" == typeof r2.content && (r2 = r2.content.replace(/\\b#/g, \"sharp\").replace(/\\b\\+\\+/g, \"pp\"), r2 = \"language-\" + (r2 = (/[a-z][\\w-]*/i.exec(r2) || [\"\"])[0].toLowerCase()), s.alias ? \"string\" == typeof s.alias ? s.alias = [s.alias, r2] : s.alias.push(r2) : s.alias = [r2]));\n }\n }(e2.tokens);\n }), o.hooks.add(\"wrap\", function(e2) {\n if (\"code-block\" === e2.type) {\n for (var n2 = \"\", t2 = 0, a2 = e2.classes.length; t2 < a2; t2++) {\n var r2 = e2.classes[t2], r2 = /language-(.+)/.exec(r2);\n if (r2) {\n n2 = r2[1];\n break;\n }\n }\n var s, i = o.languages[n2];\n i ? e2.content = o.highlight(function(e3) {\n e3 = e3.replace(l, \"\");\n return e3 = e3.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function(e4, n3) {\n var t3;\n return \"#\" === (n3 = n3.toLowerCase())[0] ? (t3 = \"x\" === n3[1] ? parseInt(n3.slice(2), 16) : Number(n3.slice(1)), c(t3)) : u[n3] || e4;\n });\n }(e2.content), i, n2) : n2 && \"none\" !== n2 && o.plugins.autoloader && (s = \"md-\" + (/* @__PURE__ */ new Date()).valueOf() + \"-\" + Math.floor(1e16 * Math.random()), e2.attributes.id = s, o.plugins.autoloader.loadLanguages(n2, function() {\n var e3 = document.getElementById(s);\n e3 && (e3.innerHTML = o.highlight(e3.textContent, o.languages[n2], n2));\n }));\n }\n }), RegExp(o.languages.markup.tag.pattern.source, \"gi\")), u = { amp: \"&\", lt: \"<\", gt: \">\", quot: '\"' }, c = String.fromCodePoint || String.fromCharCode;\n o.languages.md = o.languages.markdown;\n}(Prism), Prism.languages.graphql = { comment: /#.*/, description: { pattern: /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i, greedy: true, alias: \"string\", inside: { \"language-markdown\": { pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/, lookbehind: true, inside: Prism.languages.markdown } } }, string: { pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/, greedy: true }, number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, boolean: /\\b(?:false|true)\\b/, variable: /\\$[a-z_]\\w*/i, directive: { pattern: /@[a-z_]\\w*/i, alias: \"function\" }, \"attr-name\": { pattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i, greedy: true }, \"atom-input\": { pattern: /\\b[A-Z]\\w*Input\\b/, alias: \"class-name\" }, scalar: /\\b(?:Boolean|Float|ID|Int|String)\\b/, constant: /\\b[A-Z][A-Z_\\d]*\\b/, \"class-name\": { pattern: /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/, lookbehind: true }, fragment: { pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, \"definition-mutation\": { pattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, \"definition-query\": { pattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, keyword: /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/, operator: /[!=|&]|\\.{3}/, \"property-query\": /\\w+(?=\\s*\\()/, object: /\\w+(?=\\s*\\{)/, punctuation: /[!(){}\\[\\]:=,]/, property: /\\w+/ }, Prism.hooks.add(\"after-tokenize\", function(e) {\n if (\"graphql\" === e.language)\n for (var i = e.tokens.filter(function(e2) {\n return \"string\" != typeof e2 && \"comment\" !== e2.type && \"scalar\" !== e2.type;\n }), o = 0; o < i.length; ) {\n var n = i[o++];\n if (\"keyword\" === n.type && \"mutation\" === n.content) {\n var t = [];\n if (p([\"definition-mutation\", \"punctuation\"]) && \"(\" === c(1).content) {\n o += 2;\n var a = d(/^\\($/, /^\\)$/);\n if (-1 === a)\n continue;\n for (; o < a; o++) {\n var r = c(0);\n \"variable\" === r.type && (g(r, \"variable-input\"), t.push(r.content));\n }\n o = a + 1;\n }\n if (p([\"punctuation\", \"property-query\"]) && \"{\" === c(0).content && (o++, g(c(0), \"property-mutation\"), 0 < t.length)) {\n var s = d(/^\\{$/, /^\\}$/);\n if (-1 !== s)\n for (var l = o; l < s; l++) {\n var u = i[l];\n \"variable\" === u.type && 0 <= t.indexOf(u.content) && g(u, \"variable-input\");\n }\n }\n }\n }\n function c(e2) {\n return i[o + e2];\n }\n function p(e2, n2) {\n n2 = n2 || 0;\n for (var t2 = 0; t2 < e2.length; t2++) {\n var a2 = c(t2 + n2);\n if (!a2 || a2.type !== e2[t2])\n return;\n }\n return 1;\n }\n function d(e2, n2) {\n for (var t2 = 1, a2 = o; a2 < i.length; a2++) {\n var r2 = i[a2], s2 = r2.content;\n if (\"punctuation\" === r2.type && \"string\" == typeof s2) {\n if (e2.test(s2))\n t2++;\n else if (n2.test(s2) && 0 === --t2)\n return a2;\n }\n }\n return -1;\n }\n function g(e2, n2) {\n var t2 = e2.alias;\n t2 ? Array.isArray(t2) || (e2.alias = t2 = [t2]) : e2.alias = t2 = [], t2.push(n2);\n }\n}), Prism.languages.sql = { comment: { pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/, lookbehind: true }, variable: [{ pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/, greedy: true }, /@[\\w.$]+/], string: { pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/, greedy: true, lookbehind: true }, identifier: { pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/, greedy: true, lookbehind: true, inside: { punctuation: /^`|`$/ } }, function: /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, keyword: /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i, boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i, number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i, operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i, punctuation: /[;[\\]()`,.]/ }, function(b) {\n var e = b.languages.javascript[\"template-string\"], t = e.pattern.source, m = e.inside.interpolation, f = m.inside[\"interpolation-punctuation\"], s = m.pattern.source;\n function n(e2, n2) {\n if (b.languages[e2])\n return { pattern: RegExp(\"((?:\" + n2 + \")\\\\s*)\" + t), lookbehind: true, greedy: true, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, \"embedded-code\": { pattern: /[\\s\\S]+/, alias: e2 } } };\n }\n function h(e2, n2, t2) {\n e2 = { code: e2, grammar: n2, language: t2 };\n return b.hooks.run(\"before-tokenize\", e2), e2.tokens = b.tokenize(e2.code, e2.grammar), b.hooks.run(\"after-tokenize\", e2), e2.tokens;\n }\n function l(a2, e2, r) {\n var n2 = b.tokenize(a2, { interpolation: { pattern: RegExp(s), lookbehind: true } }), p = 0, d = {}, n2 = h(n2.map(function(e3) {\n if (\"string\" == typeof e3)\n return e3;\n for (var n3, t2, e3 = e3.content; -1 !== a2.indexOf((t2 = p++, n3 = \"___\" + r.toUpperCase() + \"_\" + t2 + \"___\")); )\n ;\n return d[n3] = e3, n3;\n }).join(\"\"), e2, r), g = Object.keys(d);\n return p = 0, function e3(n3) {\n for (var t2 = 0; t2 < n3.length; t2++) {\n if (p >= g.length)\n return;\n var a3, r2, s2, i, o, l2, u2, c = n3[t2];\n \"string\" == typeof c || \"string\" == typeof c.content ? (a3 = g[p], -1 !== (u2 = (l2 = \"string\" == typeof c ? c : c.content).indexOf(a3)) && (++p, r2 = l2.substring(0, u2), o = d[a3], s2 = void 0, (i = {})[\"interpolation-punctuation\"] = f, 3 === (i = b.tokenize(o, i)).length && ((s2 = [1, 1]).push.apply(s2, h(i[1], b.languages.javascript, \"javascript\")), i.splice.apply(i, s2)), s2 = new b.Token(\"interpolation\", i, m.alias, o), i = l2.substring(u2 + a3.length), o = [], r2 && o.push(r2), o.push(s2), i && (e3(l2 = [i]), o.push.apply(o, l2)), \"string\" == typeof c ? (n3.splice.apply(n3, [t2, 1].concat(o)), t2 += o.length - 1) : c.content = o)) : (u2 = c.content, Array.isArray(u2) ? e3(u2) : e3([u2]));\n }\n }(n2), new b.Token(r, n2, \"language-\" + r, a2);\n }\n b.languages.javascript[\"template-string\"] = [n(\"css\", /\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source), n(\"html\", /\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source), n(\"svg\", /\\bsvg/.source), n(\"markdown\", /\\b(?:markdown|md)/.source), n(\"graphql\", /\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source), n(\"sql\", /\\bsql/.source), e].filter(Boolean);\n var a = { javascript: true, js: true, typescript: true, ts: true, jsx: true, tsx: true };\n function u(e2) {\n return \"string\" == typeof e2 ? e2 : Array.isArray(e2) ? e2.map(u).join(\"\") : u(e2.content);\n }\n b.hooks.add(\"after-tokenize\", function(e2) {\n e2.language in a && !function e3(n2) {\n for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) {\n var r, s2, i, o = n2[t2];\n \"string\" != typeof o && (r = o.content, Array.isArray(r) ? \"template-string\" === o.type ? (o = r[1], 3 === r.length && \"string\" != typeof o && \"embedded-code\" === o.type && (s2 = u(o), o = o.alias, o = Array.isArray(o) ? o[0] : o, i = b.languages[o]) && (r[1] = l(s2, i, o))) : e3(r) : \"string\" != typeof r && e3([r]));\n }\n }(e2.tokens);\n });\n}(Prism), function(e) {\n e.languages.typescript = e.languages.extend(\"javascript\", { \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, lookbehind: true, greedy: true, inside: null }, builtin: /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/ }), e.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/, /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/, /\\btype\\b(?=\\s*(?:[\\{*]|$))/), delete e.languages.typescript.parameter, delete e.languages.typescript[\"literal-property\"];\n var n = e.languages.extend(\"typescript\", {});\n delete n[\"class-name\"], e.languages.typescript[\"class-name\"].inside = n, e.languages.insertBefore(\"typescript\", \"function\", { decorator: { pattern: /@[$\\w\\xA0-\\uFFFF]+/, inside: { at: { pattern: /^@/, alias: \"operator\" }, function: /^[\\s\\S]+/ } }, \"generic-function\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/, greedy: true, inside: { function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: n } } } }), e.languages.ts = e.languages.typescript;\n}(Prism), function(e) {\n var n = e.languages.javascript, t = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source, a = \"(@(?:arg|argument|param|property)\\\\s+(?:\" + t + \"\\\\s+)?)\";\n e.languages.jsdoc = e.languages.extend(\"javadoclike\", { parameter: { pattern: RegExp(a + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source), lookbehind: true, inside: { punctuation: /\\./ } } }), e.languages.insertBefore(\"jsdoc\", \"keyword\", { \"optional-parameter\": { pattern: RegExp(a + /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source), lookbehind: true, inside: { parameter: { pattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/, lookbehind: true, inside: { punctuation: /\\./ } }, code: { pattern: /(=)[\\s\\S]*(?=\\]$)/, lookbehind: true, inside: n, alias: \"language-javascript\" }, punctuation: /[=[\\]]/ } }, \"class-name\": [{ pattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(/<TYPE>/g, function() {\n return t;\n })), lookbehind: true, inside: { punctuation: /\\./ } }, { pattern: RegExp(\"(@[a-z]+\\\\s+)\" + t), lookbehind: true, inside: { string: n.string, number: n.number, boolean: n.boolean, keyword: e.languages.typescript.keyword, operator: /=>|\\.\\.\\.|[&|?:*]/, punctuation: /[.,;=<>{}()[\\]]/ } }], example: { pattern: /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/, lookbehind: true, inside: { code: { pattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m, lookbehind: true, inside: n, alias: \"language-javascript\" } } } }), e.languages.javadoclike.addSupport(\"javascript\", e.languages.jsdoc);\n}(Prism), function(e) {\n e.languages.flow = e.languages.extend(\"javascript\", {}), e.languages.insertBefore(\"flow\", \"keyword\", { type: [{ pattern: /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\\b/, alias: \"class-name\" }] }), e.languages.flow[\"function-variable\"].pattern = /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore(\"flow\", \"operator\", { \"flow-punctuation\": { pattern: /\\{\\||\\|\\}/, alias: \"punctuation\" } }), Array.isArray(e.languages.flow.keyword) || (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({ pattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/, lookbehind: true }, { pattern: /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/, lookbehind: true });\n}(Prism), Prism.languages.n4js = Prism.languages.extend(\"javascript\", { keyword: /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/ }), Prism.languages.insertBefore(\"n4js\", \"constant\", { annotation: { pattern: /@+\\w+/, alias: \"operator\" } }), Prism.languages.n4jsd = Prism.languages.n4js, function(e) {\n function n(e2, n2) {\n return RegExp(e2.replace(/<ID>/g, function() {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source;\n }), n2);\n }\n e.languages.insertBefore(\"javascript\", \"function-variable\", { \"method-variable\": { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript[\"function-variable\"].pattern.source), lookbehind: true, alias: [\"function-variable\", \"method\", \"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"function\", { method: { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript.function.source), lookbehind: true, alias: [\"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"constant\", { \"known-class-name\": [{ pattern: /\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/, alias: \"class-name\" }, { pattern: /\\b(?:[A-Z]\\w*)Error\\b/, alias: \"class-name\" }] }), e.languages.insertBefore(\"javascript\", \"keyword\", { imports: { pattern: n(/(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/.source), lookbehind: true, inside: e.languages.javascript }, exports: { pattern: n(/(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/.source), lookbehind: true, inside: e.languages.javascript } }), e.languages.javascript.keyword.unshift({ pattern: /\\b(?:as|default|export|from|import)\\b/, alias: \"module\" }, { pattern: /\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/, alias: \"control-flow\" }, { pattern: /\\bnull\\b/, alias: [\"null\", \"nil\"] }, { pattern: /\\bundefined\\b/, alias: \"nil\" }), e.languages.insertBefore(\"javascript\", \"operator\", { spread: { pattern: /\\.{3}/, alias: \"operator\" }, arrow: { pattern: /=>/, alias: \"operator\" } }), e.languages.insertBefore(\"javascript\", \"punctuation\", { \"property-access\": { pattern: n(/(\\.\\s*)#?<ID>/.source), lookbehind: true }, \"maybe-class-name\": { pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/, lookbehind: true }, dom: { pattern: /\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/, alias: \"variable\" }, console: { pattern: /\\bconsole(?=\\s*\\.)/, alias: \"class-name\" } });\n for (var t = [\"function\", \"function-variable\", \"method\", \"method-variable\", \"property-access\"], a = 0; a < t.length; a++) {\n var r = t[a], s = e.languages.javascript[r], r = (s = \"RegExp\" === e.util.type(s) ? e.languages.javascript[r] = { pattern: s } : s).inside || {};\n (s.inside = r)[\"maybe-class-name\"] = /^[A-Z][\\s\\S]*/;\n }\n}(Prism), function(s) {\n var e = s.util.clone(s.languages.javascript), t = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source, a = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source, r = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source;\n function n(e2, n2) {\n return e2 = e2.replace(/<S>/g, function() {\n return t;\n }).replace(/<BRACES>/g, function() {\n return a;\n }).replace(/<SPREAD>/g, function() {\n return r;\n }), RegExp(e2, n2);\n }\n r = n(r).source, s.languages.jsx = s.languages.extend(\"markup\", e), s.languages.jsx.tag.pattern = n(/<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/.source), s.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/, s.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/, s.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/, s.languages.jsx.tag.inside.comment = e.comment, s.languages.insertBefore(\"inside\", \"attr-name\", { spread: { pattern: n(/<SPREAD>/.source), inside: s.languages.jsx } }, s.languages.jsx.tag), s.languages.insertBefore(\"inside\", \"special-attr\", { script: { pattern: n(/=<BRACES>/.source), alias: \"language-javascript\", inside: { \"script-punctuation\": { pattern: /^=(?=\\{)/, alias: \"punctuation\" }, rest: s.languages.jsx } } }, s.languages.jsx.tag);\n function i(e2) {\n for (var n2 = [], t2 = 0; t2 < e2.length; t2++) {\n var a2 = e2[t2], r2 = false;\n \"string\" != typeof a2 && (\"tag\" === a2.type && a2.content[0] && \"tag\" === a2.content[0].type ? \"</\" === a2.content[0].content[0].content ? 0 < n2.length && n2[n2.length - 1].tagName === o(a2.content[0].content[1]) && n2.pop() : \"/>\" !== a2.content[a2.content.length - 1].content && n2.push({ tagName: o(a2.content[0].content[1]), openedBraces: 0 }) : 0 < n2.length && \"punctuation\" === a2.type && \"{\" === a2.content ? n2[n2.length - 1].openedBraces++ : 0 < n2.length && 0 < n2[n2.length - 1].openedBraces && \"punctuation\" === a2.type && \"}\" === a2.content ? n2[n2.length - 1].openedBraces-- : r2 = true), (r2 || \"string\" == typeof a2) && 0 < n2.length && 0 === n2[n2.length - 1].openedBraces && (r2 = o(a2), t2 < e2.length - 1 && (\"string\" == typeof e2[t2 + 1] || \"plain-text\" === e2[t2 + 1].type) && (r2 += o(e2[t2 + 1]), e2.splice(t2 + 1, 1)), 0 < t2 && (\"string\" == typeof e2[t2 - 1] || \"plain-text\" === e2[t2 - 1].type) && (r2 = o(e2[t2 - 1]) + r2, e2.splice(t2 - 1, 1), t2--), e2[t2] = new s.Token(\"plain-text\", r2, null, r2)), a2.content && \"string\" != typeof a2.content && i(a2.content);\n }\n }\n var o = function(e2) {\n return e2 ? \"string\" == typeof e2 ? e2 : \"string\" == typeof e2.content ? e2.content : e2.content.map(o).join(\"\") : \"\";\n };\n s.hooks.add(\"after-tokenize\", function(e2) {\n \"jsx\" !== e2.language && \"tsx\" !== e2.language || i(e2.tokens);\n });\n}(Prism), function(e) {\n var n = e.util.clone(e.languages.typescript), n = (e.languages.tsx = e.languages.extend(\"jsx\", n), delete e.languages.tsx.parameter, delete e.languages.tsx[\"literal-property\"], e.languages.tsx.tag);\n n.pattern = RegExp(/(^|[^\\w$]|(?=<\\/))/.source + \"(?:\" + n.pattern.source + \")\", n.pattern.flags), n.lookbehind = true;\n}(Prism), Prism.languages.swift = { comment: { pattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/, lookbehind: true, greedy: true }, \"string-literal\": [{ pattern: RegExp(/(^|[^\"#])/.source + \"(?:\" + /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source + \"|\" + /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source + \")\" + /(?![\"#])/.source), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: true, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\\\($/, alias: \"punctuation\" }, punctuation: /\\\\(?=[\\r\\n])/, string: /[\\s\\S]+/ } }, { pattern: RegExp(/(^|[^\"#])(#+)/.source + \"(?:\" + /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source + \"|\" + /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source + \")\\\\2\"), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: true, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\#+\\($/, alias: \"punctuation\" }, string: /[\\s\\S]+/ } }], directive: { pattern: RegExp(/#/.source + \"(?:\" + /(?:elseif|if)\\b/.source + \"(?:[ \t]*\" + /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source + \")+|\" + /(?:else|endif)\\b/.source + \")\"), alias: \"property\", inside: { \"directive-name\": /^#\\w+/, boolean: /\\b(?:false|true)\\b/, number: /\\b\\d+(?:\\.\\d+)*\\b/, operator: /!|&&|\\|\\||[<>]=?/, punctuation: /[(),]/ } }, literal: { pattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/, alias: \"constant\" }, \"other-directive\": { pattern: /#\\w+\\b/, alias: \"property\" }, attribute: { pattern: /@\\w+/, alias: \"atrule\" }, \"function-definition\": { pattern: /(\\bfunc\\s+)\\w+/, lookbehind: true, alias: \"function\" }, label: { pattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/, lookbehind: true, alias: \"important\" }, keyword: /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/, boolean: /\\b(?:false|true)\\b/, nil: { pattern: /\\bnil\\b/, alias: \"constant\" }, \"short-argument\": /\\$\\d+\\b/, omit: { pattern: /\\b_\\b/, alias: \"keyword\" }, number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i, \"class-name\": /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/, operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/, punctuation: /[{}[\\]();,.:\\\\]/ }, Prism.languages.swift[\"string-literal\"].forEach(function(e) {\n e.inside.interpolation.inside = Prism.languages.swift;\n}), function(e) {\n e.languages.kotlin = e.languages.extend(\"clike\", { keyword: { pattern: /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/, lookbehind: true }, function: [{ pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/, greedy: true }, { pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/, lookbehind: true, greedy: true }], number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/, operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/ }), delete e.languages.kotlin[\"class-name\"];\n var n = { \"interpolation-punctuation\": { pattern: /^\\$\\{?|\\}$/, alias: \"punctuation\" }, expression: { pattern: /[\\s\\S]+/, inside: e.languages.kotlin } };\n e.languages.insertBefore(\"kotlin\", \"string\", { \"string-literal\": [{ pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/, alias: \"multiline\", inside: { interpolation: { pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, inside: n }, string: /[\\s\\S]+/ } }, { pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/, alias: \"singleline\", inside: { interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, lookbehind: true, inside: n }, string: /[\\s\\S]+/ } }], char: { pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/, greedy: true } }), delete e.languages.kotlin.string, e.languages.insertBefore(\"kotlin\", \"keyword\", { annotation: { pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/, alias: \"builtin\" } }), e.languages.insertBefore(\"kotlin\", \"function\", { label: { pattern: /\\b\\w+@|@\\w+\\b/, alias: \"symbol\" } }), e.languages.kt = e.languages.kotlin, e.languages.kts = e.languages.kotlin;\n}(Prism), Prism.languages.c = Prism.languages.extend(\"clike\", { comment: { pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: true }, string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: true }, \"class-name\": { pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/, lookbehind: true }, keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, number: /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i, operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/ }), Prism.languages.insertBefore(\"c\", \"string\", { char: { pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/, greedy: true } }), Prism.languages.insertBefore(\"c\", \"string\", { macro: { pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im, lookbehind: true, greedy: true, alias: \"property\", inside: { string: [{ pattern: /^(#\\s*include\\s*)<[^>]+>/, lookbehind: true }, Prism.languages.c.string], char: Prism.languages.c.char, comment: Prism.languages.c.comment, \"macro-name\": [{ pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i, lookbehind: true }, { pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i, lookbehind: true, alias: \"function\" }], directive: { pattern: /^(#\\s*)[a-z]+/, lookbehind: true, alias: \"keyword\" }, \"directive-hash\": /^#/, punctuation: /##|\\\\(?=[\\r\\n])/, expression: { pattern: /\\S[\\s\\S]*/, inside: Prism.languages.c } } } }), Prism.languages.insertBefore(\"c\", \"function\", { constant: /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/ }), delete Prism.languages.c.boolean, Prism.languages.objectivec = Prism.languages.extend(\"c\", { string: { pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: true }, keyword: /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/, operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/ }), delete Prism.languages.objectivec[\"class-name\"], Prism.languages.objc = Prism.languages.objectivec, Prism.languages.reason = Prism.languages.extend(\"clike\", { string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/, greedy: true }, \"class-name\": /\\b[A-Z]\\w*/, keyword: /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/, operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/ }), Prism.languages.insertBefore(\"reason\", \"class-name\", { char: { pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/, greedy: true }, constructor: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/, label: { pattern: /\\b[a-z]\\w*(?=::)/, alias: \"symbol\" } }), delete Prism.languages.reason.function, function(e) {\n for (var n = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source, t = 0; t < 2; t++)\n n = n.replace(/<self>/g, function() {\n return n;\n });\n n = n.replace(/<self>/g, function() {\n return /[^\\s\\S]/.source;\n }), e.languages.rust = { comment: [{ pattern: RegExp(/(^|[^\\\\])/.source + n), lookbehind: true, greedy: true }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: true, greedy: true }], string: { pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/, greedy: true }, char: { pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/, greedy: true }, attribute: { pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/, greedy: true, alias: \"attr-name\", inside: { string: null } }, \"closure-params\": { pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/, lookbehind: true, greedy: true, inside: { \"closure-punctuation\": { pattern: /^\\||\\|$/, alias: \"punctuation\" }, rest: null } }, \"lifetime-annotation\": { pattern: /'\\w+/, alias: \"symbol\" }, \"fragment-specifier\": { pattern: /(\\$\\w+:)[a-z]+/, lookbehind: true, alias: \"punctuation\" }, variable: /\\$\\w+/, \"function-definition\": { pattern: /(\\bfn\\s+)\\w+/, lookbehind: true, alias: \"function\" }, \"type-definition\": { pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/, lookbehind: true, alias: \"class-name\" }, \"module-declaration\": [{ pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/, lookbehind: true, alias: \"namespace\" }, { pattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/, lookbehind: true, alias: \"namespace\", inside: { punctuation: /::/ } }], keyword: [/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/, /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/], function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/, macro: { pattern: /\\b\\w+!/, alias: \"property\" }, constant: /\\b[A-Z_][A-Z_\\d]+\\b/, \"class-name\": /\\b[A-Z]\\w*\\b/, namespace: { pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/, inside: { punctuation: /::/ } }, number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/, boolean: /\\b(?:false|true)\\b/, punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/, operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/ }, e.languages.rust[\"closure-params\"].inside.rest = e.languages.rust, e.languages.rust.attribute.inside.string = e.languages.rust.string;\n}(Prism), Prism.languages.go = Prism.languages.extend(\"clike\", { string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/, lookbehind: true, greedy: true }, keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/, boolean: /\\b(?:_|false|iota|nil|true)\\b/, number: [/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i, /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i, /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i], operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./, builtin: /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/ }), Prism.languages.insertBefore(\"go\", \"string\", { char: { pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/, greedy: true } }), delete Prism.languages.go[\"class-name\"], function(e) {\n var n = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/, t = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function() {\n return n.source;\n });\n e.languages.cpp = e.languages.extend(\"c\", { \"class-name\": [{ pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function() {\n return n.source;\n })), lookbehind: true }, /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/], keyword: n, number: { pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i, greedy: true }, operator: />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/, boolean: /\\b(?:false|true)\\b/ }), e.languages.insertBefore(\"cpp\", \"string\", { module: { pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + \"(?:\" + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + \"|\" + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function() {\n return t;\n }) + \")\"), lookbehind: true, greedy: true, inside: { string: /^[<\"][\\s\\S]+/, operator: /:/, punctuation: /\\./ } }, \"raw-string\": { pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/, alias: \"string\", greedy: true } }), e.languages.insertBefore(\"cpp\", \"keyword\", { \"generic-function\": { pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i, inside: { function: /^\\w+/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: e.languages.cpp } } } }), e.languages.insertBefore(\"cpp\", \"operator\", { \"double-colon\": { pattern: /::/, alias: \"punctuation\" } }), e.languages.insertBefore(\"cpp\", \"class-name\", { \"base-clause\": { pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/, lookbehind: true, greedy: true, inside: e.languages.extend(\"cpp\", {}) } }), e.languages.insertBefore(\"inside\", \"double-colon\", { \"class-name\": /\\b[a-z_]\\w*\\b(?!\\s*::)/i }, e.languages.cpp[\"base-clause\"]);\n}(Prism), Prism.languages.python = { comment: { pattern: /(^|[^\\\\])#.*/, lookbehind: true, greedy: true }, \"string-interpolation\": { pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i, greedy: true, inside: { interpolation: { pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/, lookbehind: true, inside: { \"format-spec\": { pattern: /(:)[^:(){}]+(?=\\}$)/, lookbehind: true }, \"conversion-option\": { pattern: /![sra](?=[:}]$)/, alias: \"punctuation\" }, rest: null } }, string: /[\\s\\S]+/ } }, \"triple-quoted-string\": { pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i, greedy: true, alias: \"string\" }, string: { pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i, greedy: true }, function: { pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g, lookbehind: true }, \"class-name\": { pattern: /(\\bclass\\s+)\\w+/i, lookbehind: true }, decorator: { pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m, lookbehind: true, alias: [\"annotation\", \"punctuation\"], inside: { punctuation: /\\./ } }, keyword: /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/, builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/, boolean: /\\b(?:False|None|True)\\b/, number: /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i, operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/, punctuation: /[{}[\\];(),.:]/ }, Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python, Prism.languages.json = { property: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/, lookbehind: true, greedy: true }, string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/, lookbehind: true, greedy: true }, comment: { pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: true }, number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, punctuation: /[{}[\\],]/, operator: /:/, boolean: /\\b(?:false|true)\\b/, null: { pattern: /\\bnull\\b/, alias: \"keyword\" } }, Prism.languages.webmanifest = Prism.languages.json;\n\n// src/themes/index.ts\nvar themes_exports = {};\n__export(themes_exports, {\n dracula: () => dracula_default,\n duotoneDark: () => duotoneDark_default,\n duotoneLight: () => duotoneLight_default,\n github: () => github_default,\n gruvboxMaterialDark: () => gruvboxMaterialDark_default,\n gruvboxMaterialLight: () => gruvboxMaterialLight_default,\n jettwaveDark: () => jettwaveDark_default,\n jettwaveLight: () => jettwaveLight_default,\n nightOwl: () => nightOwl_default,\n nightOwlLight: () => nightOwlLight_default,\n oceanicNext: () => oceanicNext_default,\n okaidia: () => okaidia_default,\n oneDark: () => oneDark_default,\n oneLight: () => oneLight_default,\n palenight: () => palenight_default,\n shadesOfPurple: () => shadesOfPurple_default,\n synthwave84: () => synthwave84_default,\n ultramin: () => ultramin_default,\n vsDark: () => vsDark_default,\n vsLight: () => vsLight_default\n});\n\n// src/themes/dracula.ts\nvar theme = {\n plain: {\n color: \"#F8F8F2\",\n backgroundColor: \"#282A36\"\n },\n styles: [\n {\n types: [\"prolog\", \"constant\", \"builtin\"],\n style: {\n color: \"rgb(189, 147, 249)\"\n }\n },\n {\n types: [\"inserted\", \"function\"],\n style: {\n color: \"rgb(80, 250, 123)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgb(255, 85, 85)\"\n }\n },\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 184, 108)\"\n }\n },\n {\n types: [\"punctuation\", \"symbol\"],\n style: {\n color: \"rgb(248, 248, 242)\"\n }\n },\n {\n types: [\"string\", \"char\", \"tag\", \"selector\"],\n style: {\n color: \"rgb(255, 121, 198)\"\n }\n },\n {\n types: [\"keyword\", \"variable\"],\n style: {\n color: \"rgb(189, 147, 249)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(98, 114, 164)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(241, 250, 140)\"\n }\n }\n ]\n};\nvar dracula_default = theme;\n\n// src/themes/duotoneDark.ts\nvar theme2 = {\n plain: {\n backgroundColor: \"#2a2734\",\n color: \"#9a86fd\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#6c6783\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#e09142\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#9a86fd\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#eeebff\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#c4b9fe\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\",\n \"placeholder\",\n \"variable\"\n ],\n style: {\n color: \"#ffcc99\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#c4b9fe\"\n }\n }\n ]\n};\nvar duotoneDark_default = theme2;\n\n// src/themes/duotoneLight.ts\nvar theme3 = {\n plain: {\n backgroundColor: \"#faf8f5\",\n color: \"#728fcb\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#b6ad9a\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#063289\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#b29762\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#2d2006\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#896724\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\"\n ],\n style: {\n color: \"#728fcb\"\n }\n },\n {\n types: [\"placeholder\", \"variable\"],\n style: {\n color: \"#93abdc\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#896724\"\n }\n }\n ]\n};\nvar duotoneLight_default = theme3;\n\n// src/themes/github.ts\nvar theme4 = {\n plain: {\n color: \"#393A34\",\n backgroundColor: \"#f6f8fa\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#999988\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#e3116c\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#393A34\"\n }\n },\n {\n types: [\n \"entity\",\n \"url\",\n \"symbol\",\n \"number\",\n \"boolean\",\n \"variable\",\n \"constant\",\n \"property\",\n \"regex\",\n \"inserted\"\n ],\n style: {\n color: \"#36acaa\"\n }\n },\n {\n types: [\"atrule\", \"keyword\", \"attr-name\", \"selector\"],\n style: {\n color: \"#00a4db\"\n }\n },\n {\n types: [\"function\", \"deleted\", \"tag\"],\n style: {\n color: \"#d73a49\"\n }\n },\n {\n types: [\"function-variable\"],\n style: {\n color: \"#6f42c1\"\n }\n },\n {\n types: [\"tag\", \"selector\", \"keyword\"],\n style: {\n color: \"#00009f\"\n }\n }\n ]\n};\nvar github_default = theme4;\n\n// src/themes/nightOwl.ts\nvar theme5 = {\n plain: {\n color: \"#d6deeb\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(99, 119, 119)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(214, 222, 235)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(255, 203, 139)\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"rgb(127, 219, 202)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"property\"],\n style: {\n color: \"rgb(128, 203, 196)\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n }\n ]\n};\nvar nightOwl_default = theme5;\n\n// src/themes/nightOwlLight.ts\nvar theme6 = {\n plain: {\n color: \"#403f53\",\n backgroundColor: \"#FBFBFB\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(72, 118, 214)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(152, 159, 177)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"builtin\", \"char\", \"constant\", \"url\"],\n style: {\n color: \"rgb(72, 118, 214)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(201, 103, 101)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(170, 9, 130)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"function\", \"selector\", \"doctype\"],\n style: {\n color: \"rgb(153, 76, 195)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(17, 17, 17)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"operator\", \"property\", \"keyword\", \"namespace\"],\n style: {\n color: \"rgb(12, 150, 155)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(188, 84, 84)\"\n }\n }\n ]\n};\nvar nightOwlLight_default = theme6;\n\n// src/themes/oceanicNext.ts\nvar colors = {\n char: \"#D8DEE9\",\n comment: \"#999999\",\n keyword: \"#c5a5c5\",\n primitive: \"#5a9bcf\",\n string: \"#8dc891\",\n variable: \"#d7deea\",\n boolean: \"#ff8b50\",\n punctuation: \"#5FB3B3\",\n tag: \"#fc929e\",\n function: \"#79b6f2\",\n className: \"#FAC863\",\n method: \"#6699CC\",\n operator: \"#fc929e\"\n};\nvar theme7 = {\n plain: {\n backgroundColor: \"#282c34\",\n color: \"#ffffff\"\n },\n styles: [\n {\n types: [\"attr-name\"],\n style: {\n color: colors.keyword\n }\n },\n {\n types: [\"attr-value\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\n \"comment\",\n \"block-comment\",\n \"prolog\",\n \"doctype\",\n \"cdata\",\n \"shebang\"\n ],\n style: {\n color: colors.comment\n }\n },\n {\n types: [\n \"property\",\n \"number\",\n \"function-name\",\n \"constant\",\n \"symbol\",\n \"deleted\"\n ],\n style: {\n color: colors.primitive\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: colors.boolean\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: colors.tag\n }\n },\n {\n types: [\"string\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\"selector\", \"char\", \"builtin\", \"inserted\"],\n style: {\n color: colors.char\n }\n },\n {\n types: [\"function\"],\n style: {\n color: colors.function\n }\n },\n {\n types: [\"operator\", \"entity\", \"url\", \"variable\"],\n style: {\n color: colors.variable\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: colors.keyword\n }\n },\n {\n types: [\"atrule\", \"class-name\"],\n style: {\n color: colors.className\n }\n },\n {\n types: [\"important\"],\n style: {\n fontWeight: \"400\"\n }\n },\n {\n types: [\"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n }\n ]\n};\nvar oceanicNext_default = theme7;\n\n// src/themes/okaidia.ts\nvar theme8 = {\n plain: {\n color: \"#f8f8f2\",\n backgroundColor: \"#272822\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"#f92672\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#8292a2\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"#a6e22e\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"#e6db74\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"#a6e22e\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"#66d9ef\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\",\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"property\"],\n style: {\n color: \"#f92672\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#a6e22e !important\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"#8292a2\"\n }\n },\n {\n types: [\"rule\"],\n style: {\n color: \"#e6db74\"\n }\n }\n ]\n};\nvar okaidia_default = theme8;\n\n// src/themes/palenight.ts\nvar theme9 = {\n plain: {\n color: \"#bfc7d5\",\n backgroundColor: \"#292d3e\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(105, 112, 152)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"inserted\"],\n style: {\n color: \"rgb(195, 232, 141)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n types: [\"punctuation\", \"selector\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(191, 199, 213)\"\n }\n },\n {\n types: [\"class-name\", \"attr-name\"],\n style: {\n color: \"rgb(255, 203, 107)\"\n }\n },\n {\n types: [\"tag\", \"deleted\"],\n style: {\n color: \"rgb(255, 85, 114)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(137, 221, 255)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"rgb(221, 221, 221)\"\n }\n }\n ]\n};\nvar palenight_default = theme9;\n\n// src/themes/shadesOfPurple.ts\nvar theme10 = {\n plain: {\n color: \"#9EFEFF\",\n backgroundColor: \"#2D2A55\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(179, 98, 255)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"rgb(255, 255, 255)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(165, 255, 144)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"number\", \"boolean\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 180, 84)\"\n }\n },\n {\n types: [\n \"keyword\",\n \"operator\",\n \"property\",\n \"namespace\",\n \"tag\",\n \"selector\",\n \"doctype\"\n ],\n style: {\n color: \"rgb(255, 157, 0)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"rgb(250, 208, 0)\"\n }\n }\n ]\n};\nvar shadesOfPurple_default = theme10;\n\n// src/themes/synthwave84.ts\nvar theme11 = {\n plain: {\n backgroundColor: \"linear-gradient(to bottom, #2a2139 75%, #34294f)\",\n backgroundImage: \"#34294f\",\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n },\n styles: [\n {\n types: [\"comment\", \"block-comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#495495\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#ccc\"\n }\n },\n {\n types: [\n \"tag\",\n \"attr-name\",\n \"namespace\",\n \"number\",\n \"unit\",\n \"hexcode\",\n \"deleted\"\n ],\n style: {\n color: \"#e2777a\"\n }\n },\n {\n types: [\"property\", \"selector\"],\n style: {\n color: \"#72f1b8\",\n textShadow: \"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475\"\n }\n },\n {\n types: [\"function-name\"],\n style: {\n color: \"#6196cc\"\n }\n },\n {\n types: [\"boolean\", \"selector-id\", \"function\"],\n style: {\n color: \"#fdfdfd\",\n textShadow: \"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975\"\n }\n },\n {\n types: [\"class-name\", \"maybe-class-name\", \"builtin\"],\n style: {\n color: \"#fff5f6\",\n textShadow: \"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75\"\n }\n },\n {\n types: [\"constant\", \"symbol\"],\n style: {\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n }\n },\n {\n types: [\"important\", \"atrule\", \"keyword\", \"selector-class\"],\n style: {\n color: \"#f4eee4\",\n textShadow: \"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575\"\n }\n },\n {\n types: [\"string\", \"char\", \"attr-value\", \"regex\", \"variable\"],\n style: {\n color: \"#f87c32\"\n }\n },\n {\n types: [\"parameter\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\", \"url\"],\n style: {\n color: \"#67cdcc\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"ffffffee\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\"],\n style: {\n cursor: \"help\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"green\"\n }\n }\n ]\n};\nvar synthwave84_default = theme11;\n\n// src/themes/ultramin.ts\nvar theme12 = {\n plain: {\n color: \"#282a2e\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(197, 200, 198)\"\n }\n },\n {\n types: [\"string\", \"number\", \"builtin\", \"variable\"],\n style: {\n color: \"rgb(150, 152, 150)\"\n }\n },\n {\n types: [\"class-name\", \"function\", \"tag\", \"attr-name\"],\n style: {\n color: \"rgb(40, 42, 46)\"\n }\n }\n ]\n};\nvar ultramin_default = theme12;\n\n// src/themes/vsDark.ts\nvar theme13 = {\n plain: {\n color: \"#9CDCFE\",\n backgroundColor: \"#1E1E1E\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"rgb(0, 0, 128)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(106, 153, 85)\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"rgb(181, 206, 168)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(100, 102, 149)\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"rgb(156, 220, 254)\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"rgb(206, 145, 120)\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"rgb(215, 186, 125)\"\n }\n },\n {\n // Fix tag color\n types: [\"tag\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n // Fix tag color for HTML\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"rgb(212, 212, 212)\"\n }\n },\n {\n // Fix punctuation color for HTML\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"rgb(220, 220, 170)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"rgb(209, 105, 105)\"\n }\n }\n ]\n};\nvar vsDark_default = theme13;\n\n// src/themes/vsLight.ts\nvar theme14 = {\n plain: {\n color: \"#000000\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(0, 128, 0)\"\n }\n },\n {\n types: [\"builtin\"],\n style: {\n color: \"rgb(0, 112, 193)\"\n }\n },\n {\n types: [\"number\", \"variable\", \"inserted\"],\n style: {\n color: \"rgb(9, 134, 88)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(0, 0, 0)\"\n }\n },\n {\n types: [\"constant\", \"char\"],\n style: {\n color: \"rgb(129, 31, 63)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(128, 0, 0)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 0, 0)\"\n }\n },\n {\n types: [\"deleted\", \"string\"],\n style: {\n color: \"rgb(163, 21, 21)\"\n }\n },\n {\n types: [\"changed\", \"punctuation\"],\n style: {\n color: \"rgb(4, 81, 165)\"\n }\n },\n {\n types: [\"function\", \"keyword\"],\n style: {\n color: \"rgb(0, 0, 255)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(38, 127, 153)\"\n }\n }\n ]\n};\nvar vsLight_default = theme14;\n\n// src/themes/jettwaveDark.ts\nvar theme15 = {\n plain: {\n color: \"#f8fafc\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#569CD6\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#f8fafc\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#9CDCFE\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#cbd5e1\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#D4D4D4\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#7dd3fc\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n};\nvar jettwaveDark_default = theme15;\n\n// src/themes/jettwaveLight.ts\nvar theme16 = {\n plain: {\n color: \"#0f172a\",\n backgroundColor: \"#f1f5f9\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#0f172a\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#64748b\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#475569\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#0e7490\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n};\nvar jettwaveLight_default = theme16;\n\n// src/themes/oneDark.ts\nvar theme17 = {\n plain: {\n backgroundColor: \"hsl(220, 13%, 18%)\",\n color: \"hsl(220, 14%, 71%)\",\n textShadow: \"0 1px rgba(0, 0, 0, 0.3)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(220, 10%, 40%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"maybe-class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: { color: \"hsl(29, 54%, 61%)\" }\n },\n {\n types: [\"keyword\"],\n style: { color: \"hsl(286, 60%, 67%)\" }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(355, 65%, 65%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\"\n ],\n style: {\n color: \"hsl(95, 38%, 62%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(207, 82%, 66%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(187, 47%, 55%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n }\n ]\n};\nvar oneDark_default = theme17;\n\n// src/themes/oneLight.ts\nvar theme18 = {\n plain: {\n backgroundColor: \"hsl(230, 1%, 98%)\",\n color: \"hsl(230, 8%, 24%)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(230, 4%, 64%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: {\n color: \"hsl(35, 99%, 36%)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: \"hsl(301, 63%, 40%)\"\n }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(5, 74%, 59%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\",\n \"punctuation\"\n ],\n style: {\n color: \"hsl(119, 34%, 47%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(221, 87%, 60%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(198, 99%, 37%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n }\n ]\n};\nvar oneLight_default = theme18;\n\n// src/themes/gruvboxMaterialDark.ts\nvar theme19 = {\n plain: {\n color: \"#ebdbb2\",\n backgroundColor: \"#292828\"\n },\n styles: [\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\",\n \"function\"\n ],\n style: {\n color: \"#d8a657\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#7daea3\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#e78a4e\"\n }\n },\n {\n types: [\"attr-name\", \"char\", \"url\", \"regex\"],\n style: {\n color: \"#a9b665\"\n }\n },\n {\n types: [\"attr-value\", \"string\"],\n style: {\n color: \"#89b482\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#ea6962\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#d3869b\"\n }\n }\n ]\n};\nvar gruvboxMaterialDark_default = theme19;\n\n// src/themes/gruvboxMaterialLight.ts\nvar theme20 = {\n plain: {\n color: \"#654735\",\n backgroundColor: \"#f9f5d7\"\n },\n styles: [\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#af2528\"\n }\n },\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\"\n ],\n style: {\n color: \"#b4730e\"\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#477a5b\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#266b79\"\n }\n },\n {\n types: [\"function\", \"attr-name\", \"char\", \"url\"],\n style: {\n color: \"#72761e\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#b94c07\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#924f79\"\n }\n }\n ]\n};\nvar gruvboxMaterialLight_default = theme20;\n\n// src/index.ts\nimport { createElement } from \"react\";\n\n// src/components/useGetLineProps.ts\nimport { useCallback } from \"react\";\nimport clsx from \"clsx\";\nvar useGetLineProps = (themeDictionary) => useCallback(\n (_a) => {\n var _b = _a, { className, style, line } = _b, rest = __objRest(_b, [\"className\", \"style\", \"line\"]);\n const output = __spreadProps(__spreadValues({}, rest), {\n className: clsx(\"token-line\", className)\n });\n if (typeof themeDictionary === \"object\" && \"plain\" in themeDictionary)\n output.style = themeDictionary.plain;\n if (typeof style === \"object\")\n output.style = __spreadValues(__spreadValues({}, output.style || {}), style);\n return output;\n },\n [themeDictionary]\n);\n\n// src/components/useGetTokenProps.ts\nimport { useCallback as useCallback2 } from \"react\";\nimport clsx2 from \"clsx\";\nvar useGetTokenProps = (themeDictionary) => {\n const styleForToken = useCallback2(\n ({ types, empty }) => {\n if (themeDictionary == null)\n return void 0;\n else if (types.length === 1 && types[0] === \"plain\") {\n return empty != null ? { display: \"inline-block\" } : void 0;\n } else if (types.length === 1 && empty != null) {\n return themeDictionary[types[0]];\n }\n return Object.assign(\n empty != null ? { display: \"inline-block\" } : {},\n ...types.map((type) => themeDictionary[type])\n );\n },\n [themeDictionary]\n );\n return useCallback2(\n (_a) => {\n var _b = _a, { token, className, style } = _b, rest = __objRest(_b, [\"token\", \"className\", \"style\"]);\n const output = __spreadProps(__spreadValues({}, rest), {\n className: clsx2(\"token\", ...token.types, className),\n children: token.content,\n style: styleForToken(token)\n });\n if (style != null) {\n output.style = __spreadValues(__spreadValues({}, output.style || {}), style);\n }\n return output;\n },\n [styleForToken]\n );\n};\n\n// src/utils/normalizeTokens.ts\nvar newlineRe = /\\r\\n|\\r|\\n/;\nvar normalizeEmptyLines = (line) => {\n if (line.length === 0) {\n line.push({\n types: [\"plain\"],\n content: \"\\n\",\n empty: true\n });\n } else if (line.length === 1 && line[0].content === \"\") {\n line[0].content = \"\\n\";\n line[0].empty = true;\n }\n};\nvar appendTypes = (types, add) => {\n const typesSize = types.length;\n if (typesSize > 0 && types[typesSize - 1] === add) {\n return types;\n }\n return types.concat(add);\n};\nvar normalizeTokens = (tokens) => {\n const typeArrStack = [[]];\n const tokenArrStack = [tokens];\n const tokenArrIndexStack = [0];\n const tokenArrSizeStack = [tokens.length];\n let i = 0;\n let stackIndex = 0;\n let currentLine = [];\n const acc = [currentLine];\n while (stackIndex > -1) {\n while ((i = tokenArrIndexStack[stackIndex]++) < tokenArrSizeStack[stackIndex]) {\n let content;\n let types = typeArrStack[stackIndex];\n const tokenArr = tokenArrStack[stackIndex];\n const token = tokenArr[i];\n if (typeof token === \"string\") {\n types = stackIndex > 0 ? types : [\"plain\"];\n content = token;\n } else {\n types = appendTypes(types, token.type);\n if (token.alias) {\n types = appendTypes(types, token.alias);\n }\n content = token.content;\n }\n if (typeof content !== \"string\") {\n stackIndex++;\n typeArrStack.push(types);\n tokenArrStack.push(content);\n tokenArrIndexStack.push(0);\n tokenArrSizeStack.push(content.length);\n continue;\n }\n const splitByNewlines = content.split(newlineRe);\n const newlineCount = splitByNewlines.length;\n currentLine.push({\n types,\n content: splitByNewlines[0]\n });\n for (let i2 = 1; i2 < newlineCount; i2++) {\n normalizeEmptyLines(currentLine);\n acc.push(currentLine = []);\n currentLine.push({\n types,\n content: splitByNewlines[i2]\n });\n }\n }\n stackIndex--;\n typeArrStack.pop();\n tokenArrStack.pop();\n tokenArrIndexStack.pop();\n tokenArrSizeStack.pop();\n }\n normalizeEmptyLines(currentLine);\n return acc;\n};\nvar normalizeTokens_default = normalizeTokens;\n\n// src/components/useTokenize.ts\nimport { useMemo } from \"react\";\nvar useTokenize = ({ prism, code, grammar, language }) => {\n return useMemo(() => {\n if (grammar == null)\n return normalizeTokens_default([code]);\n const prismConfig = {\n code,\n grammar,\n language,\n tokens: []\n };\n prism.hooks.run(\"before-tokenize\", prismConfig);\n prismConfig.tokens = prism.tokenize(code, grammar);\n prism.hooks.run(\"after-tokenize\", prismConfig);\n return normalizeTokens_default(prismConfig.tokens);\n }, [\n code,\n grammar,\n language,\n // prism is a stable import\n prism\n ]);\n};\n\n// src/utils/themeToDict.ts\nvar themeToDict = (theme21, language) => {\n const { plain } = theme21;\n const themeDict = theme21.styles.reduce((acc, themeEntry) => {\n const { languages: languages2, style } = themeEntry;\n if (languages2 && !languages2.includes(language)) {\n return acc;\n }\n themeEntry.types.forEach((type) => {\n const accStyle = __spreadValues(__spreadValues({}, acc[type]), style);\n acc[type] = accStyle;\n });\n return acc;\n }, {});\n themeDict.root = plain;\n themeDict.plain = __spreadProps(__spreadValues({}, plain), { backgroundColor: void 0 });\n return themeDict;\n};\nvar themeToDict_default = themeToDict;\n\n// src/components/highlight.ts\nvar Highlight = ({\n children,\n language: _language,\n code,\n theme: theme21,\n prism\n}) => {\n const language = _language.toLowerCase();\n const themeDictionary = themeToDict_default(theme21, language);\n const getLineProps = useGetLineProps(themeDictionary);\n const getTokenProps = useGetTokenProps(themeDictionary);\n const grammar = prism.languages[language];\n const tokens = useTokenize({ prism, language, code, grammar });\n return children({\n tokens,\n className: `prism-code language-${language}`,\n style: themeDictionary != null ? themeDictionary.root : {},\n getLineProps,\n getTokenProps\n });\n};\n\n// src/index.ts\nvar Highlight2 = (props) => createElement(Highlight, __spreadProps(__spreadValues({}, props), {\n prism: props.prism || Prism,\n theme: props.theme || vsDark_default,\n code: props.code,\n language: props.language\n}));\nexport {\n Highlight2 as Highlight,\n Prism,\n normalizeTokens_default as normalizeTokens,\n themes_exports as themes,\n useTokenize\n};\n/*! Bundled license information:\n\nprismjs/prism.js:\n (**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n *)\n*/\n//# sourceMappingURL=index.mjs.map","\n/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */\nfunction isNothing(subject) {\n return (typeof subject === 'undefined') || (subject === null);\n}\n\n\nfunction isObject(subject) {\n return (typeof subject === 'object') && (subject !== null);\n}\n\n\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n\n return [ sequence ];\n}\n\n\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n\n if (source) {\n sourceKeys = Object.keys(source);\n\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n\nfunction repeat(string, count) {\n var result = '', cycle;\n\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n\n return result;\n}\n\n\nfunction isNegativeZero(number) {\n return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n}\n\n\nvar isNothing_1 = isNothing;\nvar isObject_1 = isObject;\nvar toArray_1 = toArray;\nvar repeat_1 = repeat;\nvar isNegativeZero_1 = isNegativeZero;\nvar extend_1 = extend;\n\nvar common = {\n\tisNothing: isNothing_1,\n\tisObject: isObject_1,\n\ttoArray: toArray_1,\n\trepeat: repeat_1,\n\tisNegativeZero: isNegativeZero_1,\n\textend: extend_1\n};\n\n// YAML error class. http://stackoverflow.com/questions/8458984\n\n\nfunction formatError(exception, compact) {\n var where = '', message = exception.reason || '(unknown reason)';\n\n if (!exception.mark) return message;\n\n if (exception.mark.name) {\n where += 'in \"' + exception.mark.name + '\" ';\n }\n\n where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')';\n\n if (!compact && exception.mark.snippet) {\n where += '\\n\\n' + exception.mark.snippet;\n }\n\n return message + ' ' + where;\n}\n\n\nfunction YAMLException$1(reason, mark) {\n // Super constructor\n Error.call(this);\n\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = formatError(this, false);\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n}\n\n\n// Inherit from Error\nYAMLException$1.prototype = Object.create(Error.prototype);\nYAMLException$1.prototype.constructor = YAMLException$1;\n\n\nYAMLException$1.prototype.toString = function toString(compact) {\n return this.name + ': ' + formatError(this, compact);\n};\n\n\nvar exception = YAMLException$1;\n\n// get snippet for a single line, respecting maxLength\nfunction getLine(buffer, lineStart, lineEnd, position, maxLineLength) {\n var head = '';\n var tail = '';\n var maxHalfLength = Math.floor(maxLineLength / 2) - 1;\n\n if (position - lineStart > maxHalfLength) {\n head = ' ... ';\n lineStart = position - maxHalfLength + head.length;\n }\n\n if (lineEnd - position > maxHalfLength) {\n tail = ' ...';\n lineEnd = position + maxHalfLength - tail.length;\n }\n\n return {\n str: head + buffer.slice(lineStart, lineEnd).replace(/\\t/g, '→') + tail,\n pos: position - lineStart + head.length // relative position\n };\n}\n\n\nfunction padStart(string, max) {\n return common.repeat(' ', max - string.length) + string;\n}\n\n\nfunction makeSnippet(mark, options) {\n options = Object.create(options || null);\n\n if (!mark.buffer) return null;\n\n if (!options.maxLength) options.maxLength = 79;\n if (typeof options.indent !== 'number') options.indent = 1;\n if (typeof options.linesBefore !== 'number') options.linesBefore = 3;\n if (typeof options.linesAfter !== 'number') options.linesAfter = 2;\n\n var re = /\\r?\\n|\\r|\\0/g;\n var lineStarts = [ 0 ];\n var lineEnds = [];\n var match;\n var foundLineNo = -1;\n\n while ((match = re.exec(mark.buffer))) {\n lineEnds.push(match.index);\n lineStarts.push(match.index + match[0].length);\n\n if (mark.position <= match.index && foundLineNo < 0) {\n foundLineNo = lineStarts.length - 2;\n }\n }\n\n if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;\n\n var result = '', i, line;\n var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;\n var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);\n\n for (i = 1; i <= options.linesBefore; i++) {\n if (foundLineNo - i < 0) break;\n line = getLine(\n mark.buffer,\n lineStarts[foundLineNo - i],\n lineEnds[foundLineNo - i],\n mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]),\n maxLineLength\n );\n result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) +\n ' | ' + line.str + '\\n' + result;\n }\n\n line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);\n result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) +\n ' | ' + line.str + '\\n';\n result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\\n';\n\n for (i = 1; i <= options.linesAfter; i++) {\n if (foundLineNo + i >= lineEnds.length) break;\n line = getLine(\n mark.buffer,\n lineStarts[foundLineNo + i],\n lineEnds[foundLineNo + i],\n mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]),\n maxLineLength\n );\n result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) +\n ' | ' + line.str + '\\n';\n }\n\n return result.replace(/\\n$/, '');\n}\n\n\nvar snippet = makeSnippet;\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'multi',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'representName',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type$1(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new exception('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.options = options; // keep original options in case user wants to extend this type later\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.representName = options['representName'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.multi = options['multi'] || false;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new exception('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nvar type = Type$1;\n\n/*eslint-disable max-len*/\n\n\n\n\n\nfunction compileList(schema, name) {\n var result = [];\n\n schema[name].forEach(function (currentType) {\n var newIndex = result.length;\n\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag &&\n previousType.kind === currentType.kind &&\n previousType.multi === currentType.multi) {\n\n newIndex = previousIndex;\n }\n });\n\n result[newIndex] = currentType;\n });\n\n return result;\n}\n\n\nfunction compileMap(/* lists... */) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {},\n multi: {\n scalar: [],\n sequence: [],\n mapping: [],\n fallback: []\n }\n }, index, length;\n\n function collectType(type) {\n if (type.multi) {\n result.multi[type.kind].push(type);\n result.multi['fallback'].push(type);\n } else {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n }\n\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n\n\nfunction Schema$1(definition) {\n return this.extend(definition);\n}\n\n\nSchema$1.prototype.extend = function extend(definition) {\n var implicit = [];\n var explicit = [];\n\n if (definition instanceof type) {\n // Schema.extend(type)\n explicit.push(definition);\n\n } else if (Array.isArray(definition)) {\n // Schema.extend([ type1, type2, ... ])\n explicit = explicit.concat(definition);\n\n } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {\n // Schema.extend({ explicit: [ type1, type2, ... ], implicit: [ type1, type2, ... ] })\n if (definition.implicit) implicit = implicit.concat(definition.implicit);\n if (definition.explicit) explicit = explicit.concat(definition.explicit);\n\n } else {\n throw new exception('Schema.extend argument should be a Type, [ Type ], ' +\n 'or a schema definition ({ implicit: [...], explicit: [...] })');\n }\n\n implicit.forEach(function (type$1) {\n if (!(type$1 instanceof type)) {\n throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n\n if (type$1.loadKind && type$1.loadKind !== 'scalar') {\n throw new exception('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n\n if (type$1.multi) {\n throw new exception('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.');\n }\n });\n\n explicit.forEach(function (type$1) {\n if (!(type$1 instanceof type)) {\n throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n });\n\n var result = Object.create(Schema$1.prototype);\n\n result.implicit = (this.implicit || []).concat(implicit);\n result.explicit = (this.explicit || []).concat(explicit);\n\n result.compiledImplicit = compileList(result, 'implicit');\n result.compiledExplicit = compileList(result, 'explicit');\n result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit);\n\n return result;\n};\n\n\nvar schema = Schema$1;\n\nvar str = new type('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function (data) { return data !== null ? data : ''; }\n});\n\nvar seq = new type('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function (data) { return data !== null ? data : []; }\n});\n\nvar map = new type('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function (data) { return data !== null ? data : {}; }\n});\n\nvar failsafe = new schema({\n explicit: [\n str,\n seq,\n map\n ]\n});\n\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n\n var max = data.length;\n\n return (max === 1 && data === '~') ||\n (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n}\n\nfunction constructYamlNull() {\n return null;\n}\n\nfunction isNull(object) {\n return object === null;\n}\n\nvar _null = new type('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function () { return '~'; },\n lowercase: function () { return 'null'; },\n uppercase: function () { return 'NULL'; },\n camelcase: function () { return 'Null'; },\n empty: function () { return ''; }\n },\n defaultStyle: 'lowercase'\n});\n\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n\n var max = data.length;\n\n return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n}\n\nfunction constructYamlBoolean(data) {\n return data === 'true' ||\n data === 'True' ||\n data === 'TRUE';\n}\n\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n}\n\nvar bool = new type('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function (object) { return object ? 'true' : 'false'; },\n uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n camelcase: function (object) { return object ? 'True' : 'False'; }\n },\n defaultStyle: 'lowercase'\n});\n\nfunction isHexCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n}\n\nfunction isOctCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n}\n\nfunction isDecCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n}\n\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n\n if (!max) return false;\n\n ch = data[index];\n\n // sign\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n\n if (ch === '0') {\n // 0\n if (index + 1 === max) return true;\n ch = data[++index];\n\n // base 2, base 8, base 16\n\n if (ch === 'b') {\n // base 2\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'x') {\n // base 16\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'o') {\n // base 8\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n }\n\n // base 10 (except 0)\n\n // value should not start with `_`;\n if (ch === '_') return false;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n\n // Should have digits and should not end with `_`\n if (!hasDigits || ch === '_') return false;\n\n return true;\n}\n\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch;\n\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n\n ch = value[0];\n\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n\n if (value === '0') return 0;\n\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value.slice(2), 16);\n if (value[1] === 'o') return sign * parseInt(value.slice(2), 8);\n }\n\n return sign * parseInt(value, 10);\n}\n\nfunction isInteger(object) {\n return (Object.prototype.toString.call(object)) === '[object Number]' &&\n (object % 1 === 0 && !common.isNegativeZero(object));\n}\n\nvar int = new type('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },\n octal: function (obj) { return obj >= 0 ? '0o' + obj.toString(8) : '-0o' + obj.toString(8).slice(1); },\n decimal: function (obj) { return obj.toString(10); },\n /* eslint-disable max-len */\n hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [ 2, 'bin' ],\n octal: [ 8, 'oct' ],\n decimal: [ 10, 'dec' ],\n hexadecimal: [ 16, 'hex' ]\n }\n});\n\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +\n // .2e4, .2\n // special case, seems not from spec\n '|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +\n // .inf\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n // .nan\n '|\\\\.(?:nan|NaN|NAN))$');\n\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n\n if (!YAML_FLOAT_PATTERN.test(data) ||\n // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === '_') {\n return false;\n }\n\n return true;\n}\n\nfunction constructYamlFloat(data) {\n var value, sign;\n\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n\n if (value === '.inf') {\n return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n } else if (value === '.nan') {\n return NaN;\n }\n return sign * parseFloat(value, 10);\n}\n\n\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\nfunction representYamlFloat(object, style) {\n var res;\n\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase': return '.nan';\n case 'uppercase': return '.NAN';\n case 'camelcase': return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '.inf';\n case 'uppercase': return '.INF';\n case 'camelcase': return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '-.inf';\n case 'uppercase': return '-.INF';\n case 'camelcase': return '-.Inf';\n }\n } else if (common.isNegativeZero(object)) {\n return '-0.0';\n }\n\n res = object.toString(10);\n\n // JS stringifier can build scientific format without dots: 5e-100,\n // while YAML requres dot: 5.e-100. Fix it with simple hack\n\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n}\n\nfunction isFloat(object) {\n return (Object.prototype.toString.call(object) === '[object Number]') &&\n (object % 1 !== 0 || common.isNegativeZero(object));\n}\n\nvar float = new type('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n});\n\nvar json = failsafe.extend({\n implicit: [\n _null,\n bool,\n int,\n float\n ]\n});\n\nvar core = json;\n\nvar YAML_DATE_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9])' + // [2] month\n '-([0-9][0-9])$'); // [3] day\n\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9]?)' + // [2] month\n '-([0-9][0-9]?)' + // [3] day\n '(?:[Tt]|[ \\\\t]+)' + // ...\n '([0-9][0-9]?)' + // [4] hour\n ':([0-9][0-9])' + // [5] minute\n ':([0-9][0-9])' + // [6] second\n '(?:\\\\.([0-9]*))?' + // [7] fraction\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0,\n delta = null, tz_hour, tz_minute, date;\n\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\n if (match === null) throw new Error('Date resolve error');\n\n // match: [1] year [2] month [3] day\n\n year = +(match[1]);\n month = +(match[2]) - 1; // JS month starts with 0\n day = +(match[3]);\n\n if (!match[4]) { // no hour\n return new Date(Date.UTC(year, month, day));\n }\n\n // match: [4] hour [5] minute [6] second [7] fraction\n\n hour = +(match[4]);\n minute = +(match[5]);\n second = +(match[6]);\n\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) { // milli-seconds\n fraction += '0';\n }\n fraction = +fraction;\n }\n\n // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\n if (match[9]) {\n tz_hour = +(match[10]);\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n if (match[9] === '-') delta = -delta;\n }\n\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\n if (delta) date.setTime(date.getTime() - delta);\n\n return date;\n}\n\nfunction representYamlTimestamp(object /*, style*/) {\n return object.toISOString();\n}\n\nvar timestamp = new type('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\n\nfunction resolveYamlMerge(data) {\n return data === '<<' || data === null;\n}\n\nvar merge = new type('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n});\n\n/*eslint-disable no-bitwise*/\n\n\n\n\n\n// [ 64, 65, 66 ] -> [ padding, CR, LF ]\nvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r';\n\n\nfunction resolveYamlBinary(data) {\n if (data === null) return false;\n\n var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;\n\n // Convert one by one.\n for (idx = 0; idx < max; idx++) {\n code = map.indexOf(data.charAt(idx));\n\n // Skip CR/LF\n if (code > 64) continue;\n\n // Fail on illegal characters\n if (code < 0) return false;\n\n bitlen += 6;\n }\n\n // If there are any bits left, source was corrupted\n return (bitlen % 8) === 0;\n}\n\nfunction constructYamlBinary(data) {\n var idx, tailbits,\n input = data.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n max = input.length,\n map = BASE64_MAP,\n bits = 0,\n result = [];\n\n // Collect by 6*4 bits (3 bytes)\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 4 === 0) && idx) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n }\n\n bits = (bits << 6) | map.indexOf(input.charAt(idx));\n }\n\n // Dump tail\n\n tailbits = (max % 4) * 6;\n\n if (tailbits === 0) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n } else if (tailbits === 18) {\n result.push((bits >> 10) & 0xFF);\n result.push((bits >> 2) & 0xFF);\n } else if (tailbits === 12) {\n result.push((bits >> 4) & 0xFF);\n }\n\n return new Uint8Array(result);\n}\n\nfunction representYamlBinary(object /*, style*/) {\n var result = '', bits = 0, idx, tail,\n max = object.length,\n map = BASE64_MAP;\n\n // Convert every three bytes to 4 ASCII characters.\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 3 === 0) && idx) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n }\n\n bits = (bits << 8) + object[idx];\n }\n\n // Dump tail\n\n tail = max % 3;\n\n if (tail === 0) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n } else if (tail === 2) {\n result += map[(bits >> 10) & 0x3F];\n result += map[(bits >> 4) & 0x3F];\n result += map[(bits << 2) & 0x3F];\n result += map[64];\n } else if (tail === 1) {\n result += map[(bits >> 2) & 0x3F];\n result += map[(bits << 4) & 0x3F];\n result += map[64];\n result += map[64];\n }\n\n return result;\n}\n\nfunction isBinary(obj) {\n return Object.prototype.toString.call(obj) === '[object Uint8Array]';\n}\n\nvar binary = new type('tag:yaml.org,2002:binary', {\n kind: 'scalar',\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n});\n\nvar _hasOwnProperty$3 = Object.prototype.hasOwnProperty;\nvar _toString$2 = Object.prototype.toString;\n\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n\n var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n object = data;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n\n if (_toString$2.call(pair) !== '[object Object]') return false;\n\n for (pairKey in pair) {\n if (_hasOwnProperty$3.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n\n if (!pairHasKey) return false;\n\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n\n return true;\n}\n\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n\nvar omap = new type('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\n\nvar _toString$1 = Object.prototype.toString;\n\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n if (_toString$1.call(pair) !== '[object Object]') return false;\n\n keys = Object.keys(pair);\n\n if (keys.length !== 1) return false;\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return true;\n}\n\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n keys = Object.keys(pair);\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return result;\n}\n\nvar pairs = new type('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\n\nvar _hasOwnProperty$2 = Object.prototype.hasOwnProperty;\n\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n\n var key, object = data;\n\n for (key in object) {\n if (_hasOwnProperty$2.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n\n return true;\n}\n\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n\nvar set = new type('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\n\nvar _default = core.extend({\n implicit: [\n timestamp,\n merge\n ],\n explicit: [\n binary,\n omap,\n pairs,\n set\n ]\n});\n\n/*eslint-disable max-len,no-use-before-define*/\n\n\n\n\n\n\n\nvar _hasOwnProperty$1 = Object.prototype.hasOwnProperty;\n\n\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\n\n\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\n\n\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction is_EOL(c) {\n return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n}\n\nfunction is_WHITE_SPACE(c) {\n return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n}\n\nfunction is_WS_OR_EOL(c) {\n return (c === 0x09/* Tab */) ||\n (c === 0x20/* Space */) ||\n (c === 0x0A/* LF */) ||\n (c === 0x0D/* CR */);\n}\n\nfunction is_FLOW_INDICATOR(c) {\n return c === 0x2C/* , */ ||\n c === 0x5B/* [ */ ||\n c === 0x5D/* ] */ ||\n c === 0x7B/* { */ ||\n c === 0x7D/* } */;\n}\n\nfunction fromHexCode(c) {\n var lc;\n\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n /*eslint-disable no-bitwise*/\n lc = c | 0x20;\n\n if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n return lc - 0x61 + 10;\n }\n\n return -1;\n}\n\nfunction escapedHexLen(c) {\n if (c === 0x78/* x */) { return 2; }\n if (c === 0x75/* u */) { return 4; }\n if (c === 0x55/* U */) { return 8; }\n return 0;\n}\n\nfunction fromDecimalCode(c) {\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n return -1;\n}\n\nfunction simpleEscapeSequence(c) {\n /* eslint-disable indent */\n return (c === 0x30/* 0 */) ? '\\x00' :\n (c === 0x61/* a */) ? '\\x07' :\n (c === 0x62/* b */) ? '\\x08' :\n (c === 0x74/* t */) ? '\\x09' :\n (c === 0x09/* Tab */) ? '\\x09' :\n (c === 0x6E/* n */) ? '\\x0A' :\n (c === 0x76/* v */) ? '\\x0B' :\n (c === 0x66/* f */) ? '\\x0C' :\n (c === 0x72/* r */) ? '\\x0D' :\n (c === 0x65/* e */) ? '\\x1B' :\n (c === 0x20/* Space */) ? ' ' :\n (c === 0x22/* \" */) ? '\\x22' :\n (c === 0x2F/* / */) ? '/' :\n (c === 0x5C/* \\ */) ? '\\x5C' :\n (c === 0x4E/* N */) ? '\\x85' :\n (c === 0x5F/* _ */) ? '\\xA0' :\n (c === 0x4C/* L */) ? '\\u2028' :\n (c === 0x50/* P */) ? '\\u2029' : '';\n}\n\nfunction charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n // Encode UTF-16 surrogate pair\n // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n return String.fromCharCode(\n ((c - 0x010000) >> 10) + 0xD800,\n ((c - 0x010000) & 0x03FF) + 0xDC00\n );\n}\n\n// set a property of a literal object, while protecting against prototype pollution,\n// see https://github.com/nodeca/js-yaml/issues/164 for more details\nfunction setProperty(object, key, value) {\n // used for this specific key only because Object.defineProperty is slow\n if (key === '__proto__') {\n Object.defineProperty(object, key, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value\n });\n } else {\n object[key] = value;\n }\n}\n\nvar simpleEscapeCheck = new Array(256); // integer, for fast access\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\n\n\nfunction State$1(input, options) {\n this.input = input;\n\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || _default;\n this.onWarning = options['onWarning'] || null;\n // (Hidden) Remove? makes the loader to expect YAML 1.1 documents\n // if such documents have no explicit %YAML directive\n this.legacy = options['legacy'] || false;\n\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n\n // position of first leading tab in the current line,\n // used to make sure there are no tabs in the indentation\n this.firstTabInLine = -1;\n\n this.documents = [];\n\n /*\n this.version;\n this.checkLineBreaks;\n this.tagMap;\n this.anchorMap;\n this.tag;\n this.anchor;\n this.kind;\n this.result;*/\n\n}\n\n\nfunction generateError(state, message) {\n var mark = {\n name: state.filename,\n buffer: state.input.slice(0, -1), // omit trailing \\0\n position: state.position,\n line: state.line,\n column: state.position - state.lineStart\n };\n\n mark.snippet = snippet(mark);\n\n return new exception(message, mark);\n}\n\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n\n\nvar directiveHandlers = {\n\n YAML: function handleYamlDirective(state, name, args) {\n\n var match, major, minor;\n\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n\n state.version = args[0];\n state.checkLineBreaks = (minor < 2);\n\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n\n TAG: function handleTagDirective(state, name, args) {\n\n var handle, prefix;\n\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n\n handle = args[0];\n prefix = args[1];\n\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n\n if (_hasOwnProperty$1.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n\n try {\n prefix = decodeURIComponent(prefix);\n } catch (err) {\n throwError(state, 'tag prefix is malformed: ' + prefix);\n }\n\n state.tagMap[handle] = prefix;\n }\n};\n\n\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n\n if (start < end) {\n _result = state.input.slice(start, end);\n\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 ||\n (0x20 <= _character && _character <= 0x10FFFF))) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n\n state.result += _result;\n }\n}\n\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n\n if (!common.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n\n sourceKeys = Object.keys(source);\n\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n\n if (!_hasOwnProperty$1.call(destination, key)) {\n setProperty(destination, key, source[key]);\n overridableKeys[key] = true;\n }\n }\n}\n\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode,\n startLine, startLineStart, startPos) {\n\n var index, quantity;\n\n // The output is a plain object here, so keys can only be strings.\n // We need to convert keyNode to a string, but doing so can hang the process\n // (deeply nested arrays that explode exponentially using aliases).\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, 'nested arrays are not supported inside keys');\n }\n\n if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {\n keyNode[index] = '[object Object]';\n }\n }\n }\n\n // Avoid code execution in load() via toString property\n // (still use its own toString for arrays, timestamps,\n // and whatever user schema extensions happen to have @@toStringTag)\n if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {\n keyNode = '[object Object]';\n }\n\n\n keyNode = String(keyNode);\n\n if (_result === null) {\n _result = {};\n }\n\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json &&\n !_hasOwnProperty$1.call(overridableKeys, keyNode) &&\n _hasOwnProperty$1.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.lineStart = startLineStart || state.lineStart;\n state.position = startPos || state.position;\n throwError(state, 'duplicated mapping key');\n }\n\n setProperty(_result, keyNode, valueNode);\n delete overridableKeys[keyNode];\n }\n\n return _result;\n}\n\nfunction readLineBreak(state) {\n var ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x0A/* LF */) {\n state.position++;\n } else if (ch === 0x0D/* CR */) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n\n state.line += 1;\n state.lineStart = state.position;\n state.firstTabInLine = -1;\n}\n\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n if (ch === 0x09/* Tab */ && state.firstTabInLine === -1) {\n state.firstTabInLine = state.position;\n }\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (allowComments && ch === 0x23/* # */) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n }\n\n if (is_EOL(ch)) {\n readLineBreak(state);\n\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n\n while (ch === 0x20/* Space */) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n\n return lineBreaks;\n}\n\nfunction testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n\n ch = state.input.charCodeAt(_position);\n\n // Condition state.position === state.lineStart is tested\n // in parent on each call, for efficiency. No needs to test here again.\n if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n ch === state.input.charCodeAt(_position + 1) &&\n ch === state.input.charCodeAt(_position + 2)) {\n\n _position += 3;\n\n ch = state.input.charCodeAt(_position);\n\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common.repeat('\\n', count - 1);\n }\n}\n\n\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (is_WS_OR_EOL(ch) ||\n is_FLOW_INDICATOR(ch) ||\n ch === 0x23/* # */ ||\n ch === 0x26/* & */ ||\n ch === 0x2A/* * */ ||\n ch === 0x21/* ! */ ||\n ch === 0x7C/* | */ ||\n ch === 0x3E/* > */ ||\n ch === 0x27/* ' */ ||\n ch === 0x22/* \" */ ||\n ch === 0x25/* % */ ||\n ch === 0x40/* @ */ ||\n ch === 0x60/* ` */) {\n return false;\n }\n\n if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n\n while (ch !== 0) {\n if (ch === 0x3A/* : */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n\n } else if (ch === 0x23/* # */) {\n preceding = state.input.charCodeAt(state.position - 1);\n\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n\n } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, captureEnd, false);\n\n if (state.result) {\n return true;\n }\n\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch,\n captureStart, captureEnd;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x27/* ' */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27/* ' */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x27/* ' */) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n}\n\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart,\n captureEnd,\n hexLength,\n hexResult,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x22/* \" */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22/* \" */) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n\n } else if (ch === 0x5C/* \\ */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n\n // TODO: rework to inline fn with no type cast?\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n\n state.result += charFromCodepoint(hexResult);\n\n state.position++;\n\n } else {\n throwError(state, 'unknown escape sequence');\n }\n\n captureStart = captureEnd = state.position;\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n}\n\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _lineStart,\n _pos,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = Object.create(null),\n keyNode,\n keyTag,\n valueNode,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x5B/* [ */) {\n terminator = 0x5D;/* ] */\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B/* { */) {\n terminator = 0x7D;/* } */\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n } else if (ch === 0x2C/* , */) {\n // \"flow collection entries can never be completely empty\", as per YAML 1.2, section 7.4\n throwError(state, \"expected the node content, but found ','\");\n }\n\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n\n if (ch === 0x3F/* ? */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n\n _line = state.line; // Save the current line.\n _lineStart = state.lineStart;\n _pos = state.position;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos));\n } else {\n _result.push(keyNode);\n }\n\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x2C/* , */) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a flow collection');\n}\n\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x7C/* | */) {\n folding = false;\n } else if (ch === 0x3E/* > */) {\n folding = true;\n } else {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n if (CHOMPING_CLIP === chomping) {\n chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n\n } else {\n break;\n }\n }\n\n if (is_WHITE_SPACE(ch)) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (is_WHITE_SPACE(ch));\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (!is_EOL(ch) && (ch !== 0));\n }\n }\n\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n\n ch = state.input.charCodeAt(state.position);\n\n while ((!detectedIndent || state.lineIndent < textIndent) &&\n (ch === 0x20/* Space */)) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n\n // End of the scalar.\n if (state.lineIndent < textIndent) {\n\n // Perform the chomping.\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) { // i.e. only if the scalar is not empty.\n state.result += '\\n';\n }\n }\n\n // Break this `while` cycle and go to the funciton's epilogue.\n break;\n }\n\n // Folded style: use fancy rules to handle line breaks.\n if (folding) {\n\n // Lines starting with white space characters (more-indented lines) are not folded.\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n // except for the first content line (cf. Example 8.1)\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\n // End of more-indented block.\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat('\\n', emptyLines + 1);\n\n // Just one line break - perceive as the same line.\n } else if (emptyLines === 0) {\n if (didReadContent) { // i.e. only if we have already read some scalar content.\n state.result += ' ';\n }\n\n // Several line breaks - perceive as different lines.\n } else {\n state.result += common.repeat('\\n', emptyLines);\n }\n\n // Literal style: just add exact number of line breaks between content lines.\n } else {\n // Keep all line breaks except the header line break.\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n\n while (!is_EOL(ch) && (ch !== 0)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, state.position, false);\n }\n\n return true;\n}\n\nfunction readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n\n // there is a leading tab before this token, so it can't be a block sequence/mapping;\n // it can still be flow sequence/mapping or a scalar\n if (state.firstTabInLine !== -1) return false;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n if (state.firstTabInLine !== -1) {\n state.position = state.firstTabInLine;\n throwError(state, 'tab characters must not be used in indentation');\n }\n\n if (ch !== 0x2D/* - */) {\n break;\n }\n\n following = state.input.charCodeAt(state.position + 1);\n\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n\n detected = true;\n state.position++;\n\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n}\n\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _keyLine,\n _keyLineStart,\n _keyPos,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = Object.create(null),\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n\n // there is a leading tab before this token, so it can't be a block sequence/mapping;\n // it can still be flow sequence/mapping or a scalar\n if (state.firstTabInLine !== -1) return false;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n if (!atExplicitKey && state.firstTabInLine !== -1) {\n state.position = state.firstTabInLine;\n throwError(state, 'tab characters must not be used in indentation');\n }\n\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line; // Save the current line.\n\n //\n // Explicit notation case. There are two separate blocks:\n // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n //\n if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\n if (ch === 0x3F/* ? */) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n\n } else if (atExplicitKey) {\n // i.e. 0x3A/* : */ === character after the explicit key.\n atExplicitKey = false;\n allowCompact = true;\n\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');\n }\n\n state.position += 1;\n ch = following;\n\n //\n // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n //\n } else {\n _keyLine = state.line;\n _keyLineStart = state.lineStart;\n _keyPos = state.position;\n\n if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n // Neither implicit nor explicit notation.\n // Reading is done. Go to the epilogue.\n break;\n }\n\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x3A/* : */) {\n ch = state.input.charCodeAt(++state.position);\n\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n }\n\n //\n // Common reading code for both explicit and implicit notations.\n //\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (atExplicitKey) {\n _keyLine = state.line;\n _keyLineStart = state.lineStart;\n _keyPos = state.position;\n }\n\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n //\n // Epilogue.\n //\n\n // Special case: last mapping's node contains only the key in explicit notation.\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n }\n\n // Expose the resulting mapping.\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n\n return detected;\n}\n\nfunction readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x21/* ! */) return false;\n\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x3C/* < */) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n\n } else if (ch === 0x21/* ! */) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n\n } else {\n tagHandle = '!';\n }\n\n _position = state.position;\n\n if (isVerbatim) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && ch !== 0x3E/* > */);\n\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\n if (ch === 0x21/* ! */) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n tagName = state.input.slice(_position, state.position);\n\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n\n try {\n tagName = decodeURIComponent(tagName);\n } catch (err) {\n throwError(state, 'tag name is malformed: ' + tagName);\n }\n\n if (isVerbatim) {\n state.tag = tagName;\n\n } else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n\n return true;\n}\n\nfunction readAnchorProperty(state) {\n var _position,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x26/* & */) return false;\n\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n\nfunction readAlias(state) {\n var _position, alias,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x2A/* * */) return false;\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n\n alias = state.input.slice(_position, state.position);\n\n if (!_hasOwnProperty$1.call(state.anchorMap, alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this<parent\n atNewLine = false,\n hasContent = false,\n typeIndex,\n typeQuantity,\n typeList,\n type,\n flowIndent,\n blockIndent;\n\n if (state.listener !== null) {\n state.listener('open', state);\n }\n\n state.tag = null;\n state.anchor = null;\n state.kind = null;\n state.result = null;\n\n allowBlockStyles = allowBlockScalars = allowBlockCollections =\n CONTEXT_BLOCK_OUT === nodeContext ||\n CONTEXT_BLOCK_IN === nodeContext;\n\n if (allowToSeek) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n\n blockIndent = state.position - state.lineStart;\n\n if (indentStatus === 1) {\n if (allowBlockCollections &&\n (readBlockSequence(state, blockIndent) ||\n readBlockMapping(state, blockIndent, flowIndent)) ||\n readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n readSingleQuotedScalar(state, flowIndent) ||\n readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n\n } else if (readAlias(state)) {\n hasContent = true;\n\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n // Special case: block sequences are allowed to have same indentation level as the parent.\n // http://www.yaml.org/spec/1.2/spec.html#id2799784\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n\n if (state.tag === null) {\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n\n } else if (state.tag === '?') {\n // Implicit resolving is not allowed for non-scalar types, and '?'\n // non-specific tag is only automatically assigned to plain scalars.\n //\n // We only need to check kind conformity in case user explicitly assigns '?'\n // tag, for example like this: \"!<?> [0]\"\n //\n if (state.result !== null && state.kind !== 'scalar') {\n throwError(state, 'unacceptable node kind for !<?> tag; it should be \"scalar\", not \"' + state.kind + '\"');\n }\n\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n\n if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (state.tag !== '!') {\n if (_hasOwnProperty$1.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n } else {\n // looking for multi type\n type = null;\n typeList = state.typeMap.multi[state.kind || 'fallback'];\n\n for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) {\n if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) {\n type = typeList[typeIndex];\n break;\n }\n }\n }\n\n if (!type) {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n\n if (!type.resolve(state.result, state.tag)) { // `state.result` updated in resolver if matched\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result, state.tag);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n }\n\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n\nfunction readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = Object.create(null);\n state.anchorMap = Object.create(null);\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n break;\n }\n\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && !is_EOL(ch));\n break;\n }\n\n if (is_EOL(ch)) break;\n\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n\n if (ch !== 0) readLineBreak(state);\n\n if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n\n skipSeparationSpace(state, true, -1);\n\n if (state.lineIndent === 0 &&\n state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n\n if (state.checkLineBreaks &&\n PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n\n state.documents.push(state.result);\n\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\n if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n\n if (state.position < (state.length - 1)) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n}\n\n\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n\n if (input.length !== 0) {\n\n // Add tailing `\\n` if not exists\n if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n input += '\\n';\n }\n\n // Strip BOM\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n\n var state = new State$1(input, options);\n\n var nullpos = input.indexOf('\\0');\n\n if (nullpos !== -1) {\n state.position = nullpos;\n throwError(state, 'null byte is not allowed in input');\n }\n\n // Use 0 as string terminator. That significantly simplifies bounds check.\n state.input += '\\0';\n\n while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n state.lineIndent += 1;\n state.position += 1;\n }\n\n while (state.position < (state.length - 1)) {\n readDocument(state);\n }\n\n return state.documents;\n}\n\n\nfunction loadAll$1(input, iterator, options) {\n if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n var documents = loadDocuments(input, options);\n\n if (typeof iterator !== 'function') {\n return documents;\n }\n\n for (var index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n\n\nfunction load$1(input, options) {\n var documents = loadDocuments(input, options);\n\n if (documents.length === 0) {\n /*eslint-disable no-undefined*/\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new exception('expected a single document in the stream, but found more');\n}\n\n\nvar loadAll_1 = loadAll$1;\nvar load_1 = load$1;\n\nvar loader = {\n\tloadAll: loadAll_1,\n\tload: load_1\n};\n\n/*eslint-disable no-use-before-define*/\n\n\n\n\n\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar CHAR_BOM = 0xFEFF;\nvar CHAR_TAB = 0x09; /* Tab */\nvar CHAR_LINE_FEED = 0x0A; /* LF */\nvar CHAR_CARRIAGE_RETURN = 0x0D; /* CR */\nvar CHAR_SPACE = 0x20; /* Space */\nvar CHAR_EXCLAMATION = 0x21; /* ! */\nvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\nvar CHAR_SHARP = 0x23; /* # */\nvar CHAR_PERCENT = 0x25; /* % */\nvar CHAR_AMPERSAND = 0x26; /* & */\nvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\nvar CHAR_ASTERISK = 0x2A; /* * */\nvar CHAR_COMMA = 0x2C; /* , */\nvar CHAR_MINUS = 0x2D; /* - */\nvar CHAR_COLON = 0x3A; /* : */\nvar CHAR_EQUALS = 0x3D; /* = */\nvar CHAR_GREATER_THAN = 0x3E; /* > */\nvar CHAR_QUESTION = 0x3F; /* ? */\nvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\nvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\nvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\nvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\nvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\nvar CHAR_VERTICAL_LINE = 0x7C; /* | */\nvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\nvar ESCAPE_SEQUENCES = {};\n\nESCAPE_SEQUENCES[0x00] = '\\\\0';\nESCAPE_SEQUENCES[0x07] = '\\\\a';\nESCAPE_SEQUENCES[0x08] = '\\\\b';\nESCAPE_SEQUENCES[0x09] = '\\\\t';\nESCAPE_SEQUENCES[0x0A] = '\\\\n';\nESCAPE_SEQUENCES[0x0B] = '\\\\v';\nESCAPE_SEQUENCES[0x0C] = '\\\\f';\nESCAPE_SEQUENCES[0x0D] = '\\\\r';\nESCAPE_SEQUENCES[0x1B] = '\\\\e';\nESCAPE_SEQUENCES[0x22] = '\\\\\"';\nESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\nESCAPE_SEQUENCES[0x85] = '\\\\N';\nESCAPE_SEQUENCES[0xA0] = '\\\\_';\nESCAPE_SEQUENCES[0x2028] = '\\\\L';\nESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n];\n\nvar DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\\.[0-9_]*)?$/;\n\nfunction compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n\n if (map === null) return {};\n\n result = {};\n keys = Object.keys(map);\n\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n\n result[tag] = style;\n }\n\n return result;\n}\n\nfunction encodeHex(character) {\n var string, handle, length;\n\n string = character.toString(16).toUpperCase();\n\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new exception('code point within a string may not be greater than 0xFFFFFFFF');\n }\n\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n}\n\n\nvar QUOTING_TYPE_SINGLE = 1,\n QUOTING_TYPE_DOUBLE = 2;\n\nfunction State(options) {\n this.schema = options['schema'] || _default;\n this.indent = Math.max(1, (options['indent'] || 2));\n this.noArrayIndent = options['noArrayIndent'] || false;\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n this.condenseFlow = options['condenseFlow'] || false;\n this.quotingType = options['quotingType'] === '\"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE;\n this.forceQuotes = options['forceQuotes'] || false;\n this.replacer = typeof options['replacer'] === 'function' ? options['replacer'] : null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n\n this.tag = null;\n this.result = '';\n\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n\n// Indents every line in a string. Empty lines (\\n only) are not indented.\nfunction indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n\n if (line.length && line !== '\\n') result += ind;\n\n result += line;\n }\n\n return result;\n}\n\nfunction generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n}\n\nfunction testImplicitResolving(state, str) {\n var index, length, type;\n\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n\n if (type.resolve(str)) {\n return true;\n }\n }\n\n return false;\n}\n\n// [33] s-white ::= s-space | s-tab\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n\n// Returns true if the character can be printed without escaping.\n// From YAML 1.2: \"any allowed characters known to be non-printable\n// should also be escaped. [However,] This isn’t mandatory\"\n// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\nfunction isPrintable(c) {\n return (0x00020 <= c && c <= 0x00007E)\n || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n || ((0x0E000 <= c && c <= 0x00FFFD) && c !== CHAR_BOM)\n || (0x10000 <= c && c <= 0x10FFFF);\n}\n\n// [34] ns-char ::= nb-char - s-white\n// [27] nb-char ::= c-printable - b-char - c-byte-order-mark\n// [26] b-char ::= b-line-feed | b-carriage-return\n// Including s-white (for some reason, examples doesn't match specs in this aspect)\n// ns-char ::= c-printable - b-line-feed - b-carriage-return - c-byte-order-mark\nfunction isNsCharOrWhitespace(c) {\n return isPrintable(c)\n && c !== CHAR_BOM\n // - b-char\n && c !== CHAR_CARRIAGE_RETURN\n && c !== CHAR_LINE_FEED;\n}\n\n// [127] ns-plain-safe(c) ::= c = flow-out ⇒ ns-plain-safe-out\n// c = flow-in ⇒ ns-plain-safe-in\n// c = block-key ⇒ ns-plain-safe-out\n// c = flow-key ⇒ ns-plain-safe-in\n// [128] ns-plain-safe-out ::= ns-char\n// [129] ns-plain-safe-in ::= ns-char - c-flow-indicator\n// [130] ns-plain-char(c) ::= ( ns-plain-safe(c) - “:” - “#” )\n// | ( /* An ns-char preceding */ “#” )\n// | ( “:” /* Followed by an ns-plain-safe(c) */ )\nfunction isPlainSafe(c, prev, inblock) {\n var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c);\n var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c);\n return (\n // ns-plain-safe\n inblock ? // c = flow-in\n cIsNsCharOrWhitespace\n : cIsNsCharOrWhitespace\n // - c-flow-indicator\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n )\n // ns-plain-char\n && c !== CHAR_SHARP // false on '#'\n && !(prev === CHAR_COLON && !cIsNsChar) // false on ': '\n || (isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP) // change to true on '[^ ]#'\n || (prev === CHAR_COLON && cIsNsChar); // change to true on ':[^ ]'\n}\n\n// Simplified test for values allowed as the first character in plain style.\nfunction isPlainSafeFirst(c) {\n // Uses a subset of ns-char - c-indicator\n // where ns-char = nb-char - s-white.\n // No support of ( ( “?” | “:” | “-” ) /* Followed by an ns-plain-safe(c)) */ ) part\n return isPrintable(c) && c !== CHAR_BOM\n && !isWhitespace(c) // - s-white\n // - (c-indicator ::=\n // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n && c !== CHAR_MINUS\n && c !== CHAR_QUESTION\n && c !== CHAR_COLON\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “\"”\n && c !== CHAR_SHARP\n && c !== CHAR_AMPERSAND\n && c !== CHAR_ASTERISK\n && c !== CHAR_EXCLAMATION\n && c !== CHAR_VERTICAL_LINE\n && c !== CHAR_EQUALS\n && c !== CHAR_GREATER_THAN\n && c !== CHAR_SINGLE_QUOTE\n && c !== CHAR_DOUBLE_QUOTE\n // | “%” | “@” | “`”)\n && c !== CHAR_PERCENT\n && c !== CHAR_COMMERCIAL_AT\n && c !== CHAR_GRAVE_ACCENT;\n}\n\n// Simplified test for values allowed as the last character in plain style.\nfunction isPlainSafeLast(c) {\n // just not whitespace or colon, it will be checked to be plain character later\n return !isWhitespace(c) && c !== CHAR_COLON;\n}\n\n// Same as 'string'.codePointAt(pos), but works in older browsers.\nfunction codePointAt(string, pos) {\n var first = string.charCodeAt(pos), second;\n if (first >= 0xD800 && first <= 0xDBFF && pos + 1 < string.length) {\n second = string.charCodeAt(pos + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\n\n// Determines whether block indentation indicator is required.\nfunction needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n}\n\nvar STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n\n// Determines which scalar styles are possible and returns the preferred style.\n// lineWidth = -1 => no limit.\n// Pre-conditions: str.length > 0.\n// Post-conditions:\n// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth,\n testAmbiguousType, quotingType, forceQuotes, inblock) {\n\n var i;\n var char = 0;\n var prevChar = null;\n var hasLineBreak = false;\n var hasFoldableLine = false; // only checked if shouldTrackWidth\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1; // count the first line correctly\n var plain = isPlainSafeFirst(codePointAt(string, 0))\n && isPlainSafeLast(codePointAt(string, string.length - 1));\n\n if (singleLineOnly || forceQuotes) {\n // Case: no block styles.\n // Check for disallowed characters to rule out plain and single.\n for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) {\n char = codePointAt(string, i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char, prevChar, inblock);\n prevChar = char;\n }\n } else {\n // Case: block styles permitted.\n for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) {\n char = codePointAt(string, i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n // Check if any line can be folded.\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n // Foldable line = too long, and not more-indented.\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' ');\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char, prevChar, inblock);\n prevChar = char;\n }\n // in case the end is missing a \\n\n hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' '));\n }\n // Although every style can represent \\n without escaping, prefer block styles\n // for multiline, since they're more readable and they don't add empty lines.\n // Also prefer folding a super-long line.\n if (!hasLineBreak && !hasFoldableLine) {\n // Strings interpretable as another type have to be quoted;\n // e.g. the string 'true' vs. the boolean true.\n if (plain && !forceQuotes && !testAmbiguousType(string)) {\n return STYLE_PLAIN;\n }\n return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;\n }\n // Edge case: block indentation indicator can only have one digit.\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n // At this point we know block styles are valid.\n // Prefer literal style unless we want to fold.\n if (!forceQuotes) {\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n }\n return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;\n}\n\n// Note: line breaking/folding is implemented for only the folded style.\n// NB. We drop the last trailing newline (if any) of a returned block scalar\n// since the dumper adds its own newline. This always works:\n// • No ending newline => unaffected; already using strip \"-\" chomping.\n// • Ending newline => removed then restored.\n// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\nfunction writeScalar(state, string, level, iskey, inblock) {\n state.dump = (function () {\n if (string.length === 0) {\n return state.quotingType === QUOTING_TYPE_DOUBLE ? '\"\"' : \"''\";\n }\n if (!state.noCompatMode) {\n if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) {\n return state.quotingType === QUOTING_TYPE_DOUBLE ? ('\"' + string + '\"') : (\"'\" + string + \"'\");\n }\n }\n\n var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n // As indentation gets deeper, let the width decrease monotonically\n // to the lower bound min(state.lineWidth, 40).\n // Note that this implies\n // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n // This behaves better than a constant minimum width which disallows narrower options,\n // or an indent threshold which causes the width to suddenly increase.\n var lineWidth = state.lineWidth === -1\n ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\n // Without knowing if keys are implicit/explicit, assume implicit for safety.\n var singleLineOnly = iskey\n // No block styles in flow mode.\n || (state.flowLevel > -1 && level >= state.flowLevel);\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth,\n testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) {\n\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string) + '\"';\n default:\n throw new exception('impossible error: invalid scalar style');\n }\n }());\n}\n\n// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';\n\n // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : (clip ? '' : '-');\n\n return indentIndicator + chomp + '\\n';\n}\n\n// (See the note for writeScalar.)\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n}\n\n// Note: a long line without a suitable break point will exceed the width limit.\n// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\nfunction foldString(string, width) {\n // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n // unless they're before or after a more-indented line, or at the very\n // beginning or end, in which case $k$ maps to $k$.\n // Therefore, parse each chunk as newline(s) followed by a content line.\n var lineRe = /(\\n+)([^\\n]*)/g;\n\n // first line (possibly an empty line)\n var result = (function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }());\n // If we haven't reached the first content line yet, don't add an extra \\n.\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n\n // rest of the lines\n var match;\n while ((match = lineRe.exec(string))) {\n var prefix = match[1], line = match[2];\n moreIndented = (line[0] === ' ');\n result += prefix\n + (!prevMoreIndented && !moreIndented && line !== ''\n ? '\\n' : '')\n + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n\n return result;\n}\n\n// Greedy line breaking.\n// Picks the longest line under the limit each time,\n// otherwise settles for the shortest line over the limit.\n// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\nfunction foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n\n // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n var match;\n // start is an inclusive index. end, curr, and next are exclusive.\n var start = 0, end, curr = 0, next = 0;\n var result = '';\n\n // Invariants: 0 <= start <= length-1.\n // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n // Inside the loop:\n // A match implies length >= 2, so curr and next are <= length-2.\n while ((match = breakRe.exec(line))) {\n next = match.index;\n // maintain invariant: curr - start <= width\n if (next - start > width) {\n end = (curr > start) ? curr : next; // derive end <= length-2\n result += '\\n' + line.slice(start, end);\n // skip the space that was output as \\n\n start = end + 1; // derive start <= length-1\n }\n curr = next;\n }\n\n // By the invariants, start <= length-1, so there is something left over.\n // It is either the whole string or a part starting from non-whitespace.\n result += '\\n';\n // Insert a break if the remainder is too long and there is a break available.\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n\n return result.slice(1); // drop extra \\n joiner\n}\n\n// Escapes a double-quoted string.\nfunction escapeString(string) {\n var result = '';\n var char = 0;\n var escapeSeq;\n\n for (var i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) {\n char = codePointAt(string, i);\n escapeSeq = ESCAPE_SEQUENCES[char];\n\n if (!escapeSeq && isPrintable(char)) {\n result += string[i];\n if (char >= 0x10000) result += string[i + 1];\n } else {\n result += escapeSeq || encodeHex(char);\n }\n }\n\n return result;\n}\n\nfunction writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length,\n value;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n value = object[index];\n\n if (state.replacer) {\n value = state.replacer.call(object, String(index), value);\n }\n\n // Write only valid elements, put null instead of invalid elements.\n if (writeNode(state, level, value, false, false) ||\n (typeof value === 'undefined' &&\n writeNode(state, level, null, false, false))) {\n\n if (_result !== '') _result += ',' + (!state.condenseFlow ? ' ' : '');\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n}\n\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length,\n value;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n value = object[index];\n\n if (state.replacer) {\n value = state.replacer.call(object, String(index), value);\n }\n\n // Write only valid elements, put null instead of invalid elements.\n if (writeNode(state, level + 1, value, true, true, false, true) ||\n (typeof value === 'undefined' &&\n writeNode(state, level + 1, null, true, true, false, true))) {\n\n if (!compact || _result !== '') {\n _result += generateNextLine(state, level);\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += '-';\n } else {\n _result += '- ';\n }\n\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = _result || '[]'; // Empty sequence if no valid values.\n}\n\nfunction writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\n pairBuffer = '';\n if (_result !== '') pairBuffer += ', ';\n\n if (state.condenseFlow) pairBuffer += '\"';\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (state.replacer) {\n objectValue = state.replacer.call(object, objectKey, objectValue);\n }\n\n if (!writeNode(state, level, objectKey, false, false)) {\n continue; // Skip this pair because of invalid key;\n }\n\n if (state.dump.length > 1024) pairBuffer += '? ';\n\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : '') + ':' + (state.condenseFlow ? '' : ' ');\n\n if (!writeNode(state, level, objectValue, false, false)) {\n continue; // Skip this pair because of invalid value.\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n}\n\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n\n // Allow sorting keys so that the output file is deterministic\n if (state.sortKeys === true) {\n // Default sorting\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n // Custom sort function\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n // Something is wrong\n throw new exception('sortKeys must be a boolean or a function');\n }\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (!compact || _result !== '') {\n pairBuffer += generateNextLine(state, level);\n }\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (state.replacer) {\n objectValue = state.replacer.call(object, objectKey, objectValue);\n }\n\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue; // Skip this pair because of invalid key.\n }\n\n explicitPair = (state.tag !== null && state.tag !== '?') ||\n (state.dump && state.dump.length > 1024);\n\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n\n pairBuffer += state.dump;\n\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue; // Skip this pair because of invalid value.\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n}\n\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n\n if ((type.instanceOf || type.predicate) &&\n (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n (!type.predicate || type.predicate(object))) {\n\n if (explicit) {\n if (type.multi && type.representName) {\n state.tag = type.representName(object);\n } else {\n state.tag = type.tag;\n }\n } else {\n state.tag = '?';\n }\n\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new exception('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n\n state.dump = _result;\n }\n\n return true;\n }\n }\n\n return false;\n}\n\n// Serializes `object` and writes it to global `result`.\n// Returns true on success, or false on invalid object.\n//\nfunction writeNode(state, level, object, block, compact, iskey, isblockseq) {\n state.tag = null;\n state.dump = object;\n\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n\n var type = _toString.call(state.dump);\n var inblock = block;\n var tagStr;\n\n if (block) {\n block = (state.flowLevel < 0 || state.flowLevel > level);\n }\n\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n\n if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n compact = false;\n }\n\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && (Object.keys(state.dump).length !== 0)) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n if (block && (state.dump.length !== 0)) {\n if (state.noArrayIndent && !isblockseq && level > 0) {\n writeBlockSequence(state, level - 1, state.dump, compact);\n } else {\n writeBlockSequence(state, level, state.dump, compact);\n }\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey, inblock);\n }\n } else if (type === '[object Undefined]') {\n return false;\n } else {\n if (state.skipInvalid) return false;\n throw new exception('unacceptable kind of an object to dump ' + type);\n }\n\n if (state.tag !== null && state.tag !== '?') {\n // Need to encode all characters except those allowed by the spec:\n //\n // [35] ns-dec-digit ::= [#x30-#x39] /* 0-9 */\n // [36] ns-hex-digit ::= ns-dec-digit\n // | [#x41-#x46] /* A-F */ | [#x61-#x66] /* a-f */\n // [37] ns-ascii-letter ::= [#x41-#x5A] /* A-Z */ | [#x61-#x7A] /* a-z */\n // [38] ns-word-char ::= ns-dec-digit | ns-ascii-letter | “-”\n // [39] ns-uri-char ::= “%” ns-hex-digit ns-hex-digit | ns-word-char | “#”\n // | “;” | “/” | “?” | “:” | “@” | “&” | “=” | “+” | “$” | “,”\n // | “_” | “.” | “!” | “~” | “*” | “'” | “(” | “)” | “[” | “]”\n //\n // Also need to encode '!' because it has special meaning (end of tag prefix).\n //\n tagStr = encodeURI(\n state.tag[0] === '!' ? state.tag.slice(1) : state.tag\n ).replace(/!/g, '%21');\n\n if (state.tag[0] === '!') {\n tagStr = '!' + tagStr;\n } else if (tagStr.slice(0, 18) === 'tag:yaml.org,2002:') {\n tagStr = '!!' + tagStr.slice(18);\n } else {\n tagStr = '!<' + tagStr + '>';\n }\n\n state.dump = tagStr + ' ' + state.dump;\n }\n }\n\n return true;\n}\n\nfunction getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n\n inspectNode(object, objects, duplicatesIndexes);\n\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList,\n index,\n length;\n\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n\nfunction dump$1(input, options) {\n options = options || {};\n\n var state = new State(options);\n\n if (!state.noRefs) getDuplicateReferences(input, state);\n\n var value = input;\n\n if (state.replacer) {\n value = state.replacer.call({ '': value }, '', value);\n }\n\n if (writeNode(state, 0, value, true, true)) return state.dump + '\\n';\n\n return '';\n}\n\nvar dump_1 = dump$1;\n\nvar dumper = {\n\tdump: dump_1\n};\n\nfunction renamed(from, to) {\n return function () {\n throw new Error('Function yaml.' + from + ' is removed in js-yaml 4. ' +\n 'Use yaml.' + to + ' instead, which is now safe by default.');\n };\n}\n\n\nvar Type = type;\nvar Schema = schema;\nvar FAILSAFE_SCHEMA = failsafe;\nvar JSON_SCHEMA = json;\nvar CORE_SCHEMA = core;\nvar DEFAULT_SCHEMA = _default;\nvar load = loader.load;\nvar loadAll = loader.loadAll;\nvar dump = dumper.dump;\nvar YAMLException = exception;\n\n// Re-export all types in case user wants to create custom schema\nvar types = {\n binary: binary,\n float: float,\n map: map,\n null: _null,\n pairs: pairs,\n set: set,\n timestamp: timestamp,\n bool: bool,\n int: int,\n merge: merge,\n omap: omap,\n seq: seq,\n str: str\n};\n\n// Removed functions from JS-YAML 3.0.x\nvar safeLoad = renamed('safeLoad', 'load');\nvar safeLoadAll = renamed('safeLoadAll', 'loadAll');\nvar safeDump = renamed('safeDump', 'dump');\n\nvar jsYaml = {\n\tType: Type,\n\tSchema: Schema,\n\tFAILSAFE_SCHEMA: FAILSAFE_SCHEMA,\n\tJSON_SCHEMA: JSON_SCHEMA,\n\tCORE_SCHEMA: CORE_SCHEMA,\n\tDEFAULT_SCHEMA: DEFAULT_SCHEMA,\n\tload: load,\n\tloadAll: loadAll,\n\tdump: dump,\n\tYAMLException: YAMLException,\n\ttypes: types,\n\tsafeLoad: safeLoad,\n\tsafeLoadAll: safeLoadAll,\n\tsafeDump: safeDump\n};\n\nexport { CORE_SCHEMA, DEFAULT_SCHEMA, FAILSAFE_SCHEMA, JSON_SCHEMA, Schema, Type, YAMLException, jsYaml as default, dump, load, loadAll, safeDump, safeLoad, safeLoadAll, types };\n","import React, { useCallback, useEffect, useRef, useState, useMemo } from 'react';\nimport Editor from 'react-simple-code-editor';\nimport { Highlight, themes, Prism } from 'prism-react-renderer';\nimport yaml from 'js-yaml';\n\n// Add YAML language support to Prism\n// Define YAML grammar directly to avoid global Prism dependency issues\nif (!Prism.languages.yaml) {\n Prism.languages.yaml = {\n scalar: {\n pattern:\n /([\\-:]\\s*(?:![^\\s]+)?[ \\t]*[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/,\n lookbehind: true,\n alias: 'string',\n },\n comment: /#.*/,\n key: {\n pattern:\n /(\\s*(?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:![^\\s]+)?[ \\t]*)[^\\r\\n{[\\]},#\\s]+?(?=\\s*:\\s)/,\n lookbehind: true,\n alias: 'atrule',\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: true,\n alias: 'tag',\n },\n datetime: {\n pattern:\n /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?)(?=[ \\t]*(?:$|,|\\]|\\}))/m,\n lookbehind: true,\n alias: 'number',\n },\n boolean: {\n pattern:\n /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:false|true)(?=[ \\t]*(?:$|,|\\]|\\}|[\\r\\n]))/im,\n lookbehind: true,\n alias: 'boolean',\n },\n null: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:null|~)(?=[ \\t]*(?:$|,|\\]|\\}|[\\r\\n]))/im,\n lookbehind: true,\n alias: 'constant',\n },\n string: {\n pattern:\n /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(\"|')(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/m,\n lookbehind: true,\n greedy: true,\n },\n number: {\n pattern:\n /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)(?=[ \\t]*(?:$|,|\\]|\\}|[\\r\\n]))/im,\n lookbehind: true,\n },\n tag: /![^\\s]+/,\n anchor: /[&*][\\w]+/,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./,\n };\n}\n\ninterface YamlTextAreaProps {\n value: string;\n onChange: (value: string) => void;\n onValidationChange?: (isValid: boolean, error?: string) => void;\n readOnly?: boolean;\n minHeight?: number;\n maxHeight?: number;\n debounceMs?: number;\n style?: React.CSSProperties;\n}\n\ninterface YamlError {\n line: number;\n message: string;\n}\n\nexport function YamlTextArea({\n value,\n onChange,\n onValidationChange,\n readOnly = false,\n minHeight = 100,\n maxHeight,\n debounceMs = 500,\n style = {},\n}: YamlTextAreaProps) {\n const [error, setError] = useState<YamlError | null>(null);\n const validationTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const onValidationChangeRef = useRef(onValidationChange);\n const isUserInputRef = useRef(false);\n\n // Keep callback ref up to date\n onValidationChangeRef.current = onValidationChange;\n\n // Validate YAML and extract error line\n const validateYaml = useCallback((yamlString: string): YamlError | null => {\n if (!yamlString.trim()) return null;\n try {\n yaml.load(yamlString);\n return null;\n } catch (e: any) {\n const mark = e.mark;\n return {\n line: mark?.line !== undefined ? mark.line + 1 : 1,\n message: e.message || 'Invalid YAML',\n };\n }\n }, []);\n\n // Set error state and notify parent\n const setValidationState = useCallback((err: YamlError | null) => {\n setError(err);\n onValidationChangeRef.current?.(!err, err?.message);\n }, []);\n\n // Handle input change\n const handleChange = useCallback(\n (newValue: string) => {\n if (readOnly) return;\n\n isUserInputRef.current = true;\n\n // Clear existing timeout and start new debounced validation\n if (validationTimeoutRef.current) {\n clearTimeout(validationTimeoutRef.current);\n }\n validationTimeoutRef.current = setTimeout(() => {\n setValidationState(validateYaml(newValue));\n validationTimeoutRef.current = null;\n }, debounceMs);\n\n onChange(newValue);\n },\n [onChange, validateYaml, setValidationState, debounceMs, readOnly]\n );\n\n // Cleanup timeout on unmount\n useEffect(() => {\n return () => {\n if (validationTimeoutRef.current) {\n clearTimeout(validationTimeoutRef.current);\n }\n };\n }, []);\n\n // Re-validate when value prop changes from parent (not user input)\n useEffect(() => {\n if (isUserInputRef.current) {\n isUserInputRef.current = false;\n return;\n }\n\n // Prop changed from parent - validate immediately\n if (validationTimeoutRef.current) {\n clearTimeout(validationTimeoutRef.current);\n validationTimeoutRef.current = null;\n }\n setValidationState(validateYaml(value));\n }, [value, validateYaml, setValidationState]);\n\n // Count lines for line numbers\n const lineCount = useMemo(() => {\n return value.split('\\n').length;\n }, [value]);\n\n // Generate line numbers\n const lineNumbers = useMemo(() => {\n return Array.from({ length: lineCount }, (_, i) => i + 1).join('\\n');\n }, [lineCount]);\n\n // Determine if we're in dark mode by checking CSS variable\n const [isDark, setIsDark] = useState(false);\n useEffect(() => {\n const checkDark = () => {\n const bg = getComputedStyle(document.documentElement).getPropertyValue('--bg').trim();\n // Simple heuristic: if background is dark, we're in dark mode\n setIsDark(bg.startsWith('#0') || bg.startsWith('#1') || bg.startsWith('#2') || bg.startsWith('#3'));\n };\n checkDark();\n // Listen for theme changes\n const observer = new MutationObserver(checkDark);\n observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class', 'data-theme'] });\n return () => observer.disconnect();\n }, []);\n\n const theme = isDark ? themes.vsDark : themes.vsLight;\n\n // Re-create highlight function when theme changes\n const highlightWithTheme = useCallback(\n (code: string) => (\n <Highlight theme={theme} code={code} language=\"yaml\">\n {({ tokens, getLineProps, getTokenProps }) => (\n <>\n {tokens.map((line, i) => {\n const lineNumber = i + 1;\n const isErrorLine = error?.line === lineNumber;\n return (\n <div\n key={i}\n {...getLineProps({ line })}\n style={{\n background: isErrorLine ? 'var(--danger-bg, rgba(220, 53, 69, 0.15))' : undefined,\n textDecoration: isErrorLine ? 'underline wavy var(--danger)' : undefined,\n }}\n >\n {line.map((token, key) => {\n const props = getTokenProps({ token });\n // Add CSS class based on token type for theme-aware coloring\n const tokenClass = token.types.map(t => `nc-token-${t}`).join(' ');\n return (\n <span\n key={key}\n {...props}\n className={tokenClass}\n />\n );\n })}\n </div>\n );\n })}\n </>\n )}\n </Highlight>\n ),\n [error, theme]\n );\n\n const editorContainerRef = useRef<HTMLDivElement>(null);\n const lineNumbersRef = useRef<HTMLDivElement>(null);\n\n const handleEditorScroll = () => {\n if (editorContainerRef.current && lineNumbersRef.current) {\n lineNumbersRef.current.scrollTop = editorContainerRef.current.scrollTop;\n }\n };\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: 4, ...style }}>\n {/* CSS to prevent wrapping in editor */}\n <style>{`\n .yaml-editor-container,\n .yaml-editor-container * {\n white-space: pre !important;\n overflow-wrap: normal !important;\n word-wrap: normal !important;\n word-break: keep-all !important;\n }\n .yaml-editor-container textarea,\n .yaml-editor-container pre {\n white-space: pre !important;\n overflow-wrap: normal !important;\n word-wrap: normal !important;\n word-break: keep-all !important;\n overflow-x: visible !important;\n }\n `}</style>\n <div\n style={{\n display: 'flex',\n border: `1px solid ${error ? 'var(--nc-danger)' : 'var(--nc-border)'}`,\n borderRadius: 4,\n overflow: 'hidden',\n background: 'var(--nc-bg-secondary)',\n minHeight,\n maxHeight,\n }}\n >\n {/* Line numbers gutter */}\n <div\n ref={lineNumbersRef}\n style={{\n padding: '10px 8px',\n paddingRight: 12,\n background: 'var(--nc-bg-tertiary)',\n borderRight: '1px solid var(--nc-border)',\n color: 'var(--nc-text-weak)',\n fontFamily: 'Consolas, Monaco, \"Courier New\", monospace',\n fontSize: 13,\n lineHeight: '1.5',\n textAlign: 'right',\n userSelect: 'none',\n whiteSpace: 'pre',\n minWidth: 40,\n overflow: 'hidden',\n }}\n >\n {lineNumbers}\n </div>\n\n {/* Editor */}\n <div ref={editorContainerRef} className=\"yaml-editor-container\" style={{ flex: 1, overflowX: 'auto', overflowY: 'auto' }} onScroll={handleEditorScroll}>\n <Editor\n value={value}\n onValueChange={handleChange}\n highlight={highlightWithTheme}\n padding={10}\n readOnly={readOnly}\n style={{\n fontFamily: 'Consolas, Monaco, \"Courier New\", monospace',\n fontSize: 13,\n lineHeight: '1.5',\n minHeight: minHeight - 2,\n background: 'transparent',\n whiteSpace: 'pre',\n minWidth: 'max-content',\n }}\n textareaClassName=\"yaml-editor-textarea\"\n />\n </div>\n </div>\n\n {/* Error message */}\n {error && (\n <div\n style={{\n color: 'var(--danger)',\n fontSize: 12,\n padding: '4px 8px',\n background: 'var(--danger-bg, rgba(220, 53, 69, 0.1))',\n borderRadius: 4,\n }}\n >\n Line {error.line}: {error.message}\n </div>\n )}\n </div>\n );\n}\n\n// Default export for lazy loading\nexport default YamlTextArea;\n"],"names":["__assign","this","t","s","i","n","p","__createBinding","o","m","k","k2","desc","__setModuleDefault","v","__importStar","mod","result","__rest","e","lib","React","require$$0","KEYCODE_Y","KEYCODE_Z","KEYCODE_M","KEYCODE_PARENS","KEYCODE_BRACKETS","KEYCODE_QUOTE","KEYCODE_BACK_QUOTE","HISTORY_LIMIT","HISTORY_TIME_GAP","isWindows","isMacLike","className","cssText","Editor","props","ref","autoFocus","disabled","form","highlight","_a","ignoreTabKey","_b","insertSpaces","maxLength","minLength","name","onBlur","onClick","onFocus","onKeyDown","onKeyUp","onValueChange","_c","padding","placeholder","preClassName","readOnly","required","style","_d","tabSize","textareaClassName","textareaId","value","rest","historyRef","inputRef","_e","capture","setCapture","contentStyle","highlighted","getLines","text","position","recordChange","record","overwrite","stack","offset","count","extras","timestamp","last","re","previous","current","recordCurrentState","input","selectionStart","selectionEnd","updateInput","applyEdits","undoEdit","redoEdit","handleKeyDown","tabCharacter","linesBeforeCaret","startLine_1","endLine_1","nextValue","line","startLineText","startLine_2","endLine_2","updatedSelection","hasSelection","textBeforeCaret","matches","indent","chars","prev","handleChange","session","styles","c","_default","__create","__defProp","__defProps","__getOwnPropDesc","__getOwnPropDescs","__getOwnPropNames","__getOwnPropSymbols","__getProtoOf","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","__spreadValues","a","b","prop","__spreadProps","__objRest","source","exclude","target","__commonJS","cb","__export","all","__copyProps","to","from","except","__toESM","isNodeMode","require_prism","exports","module","Prism2","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","deepClone","visited","clone","id","element","language","defaultActivation","no","classList","redef","lang2","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","callback","type","objId","property","propertyType","env","tokenList","LinkedList","addAfter","matchGrammar","toArray","hooks2","callbacks","content","alias","matchedStr","stringify","aliases","attributes","matchPattern","pattern","pos","lookbehind","match","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","str","removeCount","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","node","next","newNode","array","Prism","l","e2","e3","e4","r","n2","t2","a2","r2","n3","t3","u","d","g","s2","f","h","a3","l2","u2","themes_exports","dracula_default","duotoneDark_default","duotoneLight_default","github_default","gruvboxMaterialDark_default","gruvboxMaterialLight_default","jettwaveDark_default","jettwaveLight_default","nightOwl_default","nightOwlLight_default","oceanicNext_default","okaidia_default","oneDark_default","oneLight_default","palenight_default","shadesOfPurple_default","synthwave84_default","ultramin_default","vsDark_default","vsLight_default","theme","theme2","theme3","theme4","theme5","theme6","colors","theme7","theme8","theme9","theme10","theme11","theme12","theme13","theme14","theme15","theme16","theme17","theme18","theme19","theme20","useGetLineProps","themeDictionary","useCallback","output","clsx","useGetTokenProps","styleForToken","useCallback2","types","empty","clsx2","newlineRe","normalizeEmptyLines","appendTypes","add","typesSize","normalizeTokens","typeArrStack","tokenArrStack","tokenArrIndexStack","tokenArrSizeStack","stackIndex","currentLine","acc","splitByNewlines","newlineCount","i2","normalizeTokens_default","useTokenize","prism","code","useMemo","prismConfig","themeToDict","theme21","plain","themeDict","themeEntry","languages2","accStyle","themeToDict_default","Highlight","children","_language","getLineProps","getTokenProps","Highlight2","createElement","isNothing","subject","isObject","sequence","extend","index","length","sourceKeys","repeat","string","cycle","isNegativeZero","number","isNothing_1","isObject_1","toArray_1","repeat_1","isNegativeZero_1","extend_1","common","formatError","exception","compact","where","message","YAMLException$1","reason","mark","getLine","buffer","lineStart","lineEnd","maxLineLength","maxHalfLength","padStart","max","makeSnippet","options","lineStarts","lineEnds","foundLineNo","lineNoLength","snippet","TYPE_CONSTRUCTOR_OPTIONS","YAML_NODE_KINDS","compileStyleAliases","map","Type$1","tag","data","compileList","schema","currentType","newIndex","previousType","previousIndex","compileMap","collectType","Schema$1","definition","implicit","explicit","type$1","seq","failsafe","resolveYamlNull","constructYamlNull","isNull","object","_null","resolveYamlBoolean","constructYamlBoolean","isBoolean","bool","isHexCode","isOctCode","isDecCode","resolveYamlInteger","hasDigits","ch","constructYamlInteger","sign","isInteger","int","YAML_FLOAT_PATTERN","resolveYamlFloat","constructYamlFloat","SCIENTIFIC_WITHOUT_DOT","representYamlFloat","res","isFloat","float","json","core","YAML_DATE_REGEXP","YAML_TIMESTAMP_REGEXP","resolveYamlTimestamp","constructYamlTimestamp","year","month","day","hour","minute","second","fraction","delta","tz_hour","tz_minute","date","representYamlTimestamp","resolveYamlMerge","merge","BASE64_MAP","resolveYamlBinary","idx","bitlen","constructYamlBinary","tailbits","bits","representYamlBinary","isBinary","binary","_hasOwnProperty$3","_toString$2","resolveYamlOmap","objectKeys","pair","pairKey","pairHasKey","constructYamlOmap","omap","_toString$1","resolveYamlPairs","keys","constructYamlPairs","pairs","_hasOwnProperty$2","resolveYamlSet","constructYamlSet","set","_hasOwnProperty$1","CONTEXT_FLOW_IN","CONTEXT_FLOW_OUT","CONTEXT_BLOCK_IN","CONTEXT_BLOCK_OUT","CHOMPING_CLIP","CHOMPING_STRIP","CHOMPING_KEEP","PATTERN_NON_PRINTABLE","PATTERN_NON_ASCII_LINE_BREAKS","PATTERN_FLOW_INDICATORS","PATTERN_TAG_HANDLE","PATTERN_TAG_URI","_class","is_EOL","is_WHITE_SPACE","is_WS_OR_EOL","is_FLOW_INDICATOR","fromHexCode","lc","escapedHexLen","fromDecimalCode","simpleEscapeSequence","charFromCodepoint","setProperty","simpleEscapeCheck","simpleEscapeMap","State$1","generateError","state","throwError","throwWarning","directiveHandlers","args","major","minor","handle","prefix","captureSegment","start","end","checkJson","_position","_length","_character","_result","mergeMappings","destination","overridableKeys","quantity","storeMappingPair","keyTag","keyNode","valueNode","startLine","startLineStart","readLineBreak","skipSeparationSpace","allowComments","checkIndent","lineBreaks","testDocumentSeparator","writeFoldedLines","readPlainScalar","nodeIndent","withinFlowCollection","preceding","following","captureStart","captureEnd","hasPendingContent","_line","_lineStart","_lineIndent","_kind","readSingleQuotedScalar","readDoubleQuotedScalar","hexLength","hexResult","tmp","readFlowCollection","readNext","_pos","_tag","_anchor","terminator","isPair","isExplicitPair","isMapping","composeNode","readBlockScalar","folding","chomping","didReadContent","detectedIndent","textIndent","emptyLines","atMoreIndented","readBlockSequence","detected","readBlockMapping","flowIndent","allowCompact","_keyLine","_keyLineStart","_keyPos","atExplicitKey","readTagProperty","isVerbatim","isNamed","tagHandle","tagName","readAnchorProperty","readAlias","parentIndent","nodeContext","allowToSeek","allowBlockStyles","allowBlockScalars","allowBlockCollections","indentStatus","atNewLine","hasContent","typeIndex","typeQuantity","typeList","blockIndent","readDocument","documentStart","directiveName","directiveArgs","hasDirectives","loadDocuments","nullpos","loadAll$1","iterator","documents","load$1","loadAll_1","load_1","loader","_toString","_hasOwnProperty","CHAR_BOM","CHAR_TAB","CHAR_LINE_FEED","CHAR_CARRIAGE_RETURN","CHAR_SPACE","CHAR_EXCLAMATION","CHAR_DOUBLE_QUOTE","CHAR_SHARP","CHAR_PERCENT","CHAR_AMPERSAND","CHAR_SINGLE_QUOTE","CHAR_ASTERISK","CHAR_COMMA","CHAR_MINUS","CHAR_COLON","CHAR_EQUALS","CHAR_GREATER_THAN","CHAR_QUESTION","CHAR_COMMERCIAL_AT","CHAR_LEFT_SQUARE_BRACKET","CHAR_RIGHT_SQUARE_BRACKET","CHAR_GRAVE_ACCENT","CHAR_LEFT_CURLY_BRACKET","CHAR_VERTICAL_LINE","CHAR_RIGHT_CURLY_BRACKET","ESCAPE_SEQUENCES","DEPRECATED_BOOLEANS_SYNTAX","DEPRECATED_BASE60_SYNTAX","compileStyleMap","encodeHex","character","QUOTING_TYPE_SINGLE","QUOTING_TYPE_DOUBLE","State","indentString","spaces","ind","generateNextLine","level","testImplicitResolving","isWhitespace","isPrintable","isNsCharOrWhitespace","isPlainSafe","inblock","cIsNsCharOrWhitespace","cIsNsChar","isPlainSafeFirst","isPlainSafeLast","codePointAt","first","needIndentIndicator","leadingSpaceRe","STYLE_PLAIN","STYLE_SINGLE","STYLE_LITERAL","STYLE_FOLDED","STYLE_DOUBLE","chooseScalarStyle","singleLineOnly","indentPerLevel","lineWidth","testAmbiguousType","quotingType","forceQuotes","char","prevChar","hasLineBreak","hasFoldableLine","shouldTrackWidth","previousLineBreak","writeScalar","iskey","testAmbiguity","blockHeader","dropEndingNewline","foldString","escapeString","indentIndicator","clip","keep","chomp","width","lineRe","nextLF","foldLine","prevMoreIndented","moreIndented","breakRe","curr","escapeSeq","writeFlowSequence","writeNode","writeBlockSequence","writeFlowMapping","objectKeyList","objectKey","objectValue","pairBuffer","writeBlockMapping","explicitPair","detectType","block","isblockseq","tagStr","objectOrArray","duplicateIndex","duplicate","getDuplicateReferences","objects","duplicatesIndexes","inspectNode","dump$1","dump_1","dumper","renamed","Type","Schema","FAILSAFE_SCHEMA","JSON_SCHEMA","CORE_SCHEMA","DEFAULT_SCHEMA","load","loadAll","dump","YAMLException","safeLoad","safeLoadAll","safeDump","jsYaml","YamlTextArea","onChange","onValidationChange","minHeight","maxHeight","debounceMs","error","setError","useState","validationTimeoutRef","useRef","onValidationChangeRef","isUserInputRef","validateYaml","yamlString","yaml","setValidationState","err","newValue","useEffect","lineCount","lineNumbers","isDark","setIsDark","checkDark","bg","observer","themes","highlightWithTheme","jsx","Fragment","lineNumber","isErrorLine","tokenClass","editorContainerRef","lineNumbersRef","handleEditorScroll","jsxs"],"mappings":"8TACIA,EAAYC,IAAQA,GAAK,UAAa,UAAY,CAClD,OAAAD,EAAW,OAAO,QAAU,SAASE,EAAG,CACpC,QAASC,EAAGC,EAAI,EAAGC,EAAI,UAAU,OAAQD,EAAIC,EAAGD,IAAK,CACjDD,EAAI,UAAUC,CAAC,EACf,QAASE,KAAKH,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAGG,CAAC,IAC1DJ,EAAEI,CAAC,EAAIH,EAAEG,CAAC,EAC1B,CACQ,OAAOJ,CACf,EACWF,EAAS,MAAM,KAAM,SAAS,CACzC,EACIO,GAAmBN,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAASO,EAAGC,EAAGC,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBH,EAAGC,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACH,EAAE,WAAaG,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOH,EAAEC,CAAC,CAAE,CAAE,GAE7D,OAAO,eAAeF,EAAGG,EAAIC,CAAI,CACrC,EAAM,SAASJ,EAAGC,EAAGC,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BF,EAAEG,CAAE,EAAIF,EAAEC,CAAC,CACf,GACIG,GAAsBZ,IAAQA,GAAK,qBAAwB,OAAO,OAAU,SAASO,EAAGM,EAAG,CAC3F,OAAO,eAAeN,EAAG,UAAW,CAAE,WAAY,GAAM,MAAOM,EAAG,CACtE,EAAK,SAASN,EAAGM,EAAG,CAChBN,EAAE,QAAaM,CACnB,GACIC,GAAgBd,IAAQA,GAAK,cAAiB,SAAUe,EAAK,CAC7D,GAAIA,GAAOA,EAAI,WAAY,OAAOA,EAClC,IAAIC,EAAS,CAAA,EACb,GAAID,GAAO,KAAM,QAASN,KAAKM,EAASN,IAAM,WAAa,OAAO,UAAU,eAAe,KAAKM,EAAKN,CAAC,GAAGH,GAAgBU,EAAQD,EAAKN,CAAC,EACvI,OAAAG,GAAmBI,EAAQD,CAAG,EACvBC,CACX,EACIC,GAAUjB,IAAQA,GAAK,QAAW,SAAUE,EAAGgB,EAAG,CAClD,IAAI,EAAI,CAAA,EACR,QAASb,KAAKH,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAGG,CAAC,GAAKa,EAAE,QAAQb,CAAC,EAAI,IAC9E,EAAEA,CAAC,EAAIH,EAAEG,CAAC,GACd,GAAIH,GAAK,MAAQ,OAAO,OAAO,uBAA0B,WACrD,QAASC,EAAI,EAAGE,EAAI,OAAO,sBAAsBH,CAAC,EAAGC,EAAIE,EAAE,OAAQF,IAC3De,EAAE,QAAQb,EAAEF,CAAC,CAAC,EAAI,GAAK,OAAO,UAAU,qBAAqB,KAAKD,EAAGG,EAAEF,CAAC,CAAC,IACzE,EAAEE,EAAEF,CAAC,CAAC,EAAID,EAAEG,EAAEF,CAAC,CAAC,GAE5B,OAAO,CACX,EACA,OAAO,eAAegB,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,IAAIC,EAAQN,GAAaO,CAAgB,EACrCC,GAAY,GACZC,GAAY,GACZC,GAAY,GACZC,GAAiB,GACjBC,GAAmB,IACnBC,GAAgB,IAChBC,GAAqB,IACrBC,GAAgB,IAChBC,GAAmB,IACnBC,GAAY,OAAO,OAAW,KAC9B,cAAe,QACf,OAAO,KAAK,UAAU,QAAQ,EAC9BC,GAAY,OAAO,OAAW,KAC9B,cAAe,QACf,0BAA0B,KAAK,UAAU,QAAQ,EACjDC,GAAY,0CACZC,GAAoB;AAAA;AAAA;AAAA;AAAA,GAA6E,OAAOD,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAoZ,EAAE,OAAOA,GAAW;AAAA;AAAA;AAAA;AAAA,IAAoD,EAAE,OAAOA,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA,CAAwG,EAC3sBE,GAASf,EAAM,WAAW,SAAgBgB,EAAOC,EAAK,CACtD,IAAIC,EAAYF,EAAM,UAAWG,EAAWH,EAAM,SAAUI,EAAOJ,EAAM,KAAMK,EAAYL,EAAM,UAAWM,EAAKN,EAAM,aAAcO,EAAeD,IAAO,OAAS,GAAQA,EAAIE,EAAKR,EAAM,aAAcS,EAAeD,IAAO,OAAS,GAAOA,EAAIE,EAAYV,EAAM,UAAWW,EAAYX,EAAM,UAAWY,EAAOZ,EAAM,KAAMa,EAASb,EAAM,OAAQc,EAAUd,EAAM,QAASe,EAAUf,EAAM,QAASgB,EAAYhB,EAAM,UAAWiB,EAAUjB,EAAM,QAASkB,EAAgBlB,EAAM,cAAemB,EAAKnB,EAAM,QAASoB,EAAUD,IAAO,OAAS,EAAIA,EAAIE,EAAcrB,EAAM,YAAasB,EAAetB,EAAM,aAAcuB,EAAWvB,EAAM,SAAUwB,EAAWxB,EAAM,SAAUyB,EAAQzB,EAAM,MAAO0B,EAAK1B,EAAM,QAAS2B,EAAUD,IAAO,OAAS,EAAIA,EAAIE,GAAoB5B,EAAM,kBAAmB6B,EAAa7B,EAAM,WAAY8B,EAAQ9B,EAAM,MAAO+B,GAAOlD,GAAOmB,EAAO,CAAC,YAAa,WAAY,OAAQ,YAAa,eAAgB,eAAgB,YAAa,YAAa,OAAQ,SAAU,UAAW,UAAW,YAAa,UAAW,gBAAiB,UAAW,cAAe,eAAgB,WAAY,WAAY,QAAS,UAAW,oBAAqB,aAAc,OAAO,CAAC,EAC5oCgC,EAAahD,EAAM,OAAO,CAC1B,MAAO,CAAA,EACP,OAAQ,EAChB,CAAK,EACGiD,EAAWjD,EAAM,OAAO,IAAI,EAC5BkD,GAAKlD,EAAM,SAAS,EAAI,EAAGmD,EAAUD,GAAG,CAAC,EAAGE,GAAaF,GAAG,CAAC,EAC7DG,GAAe,CACf,WAAY,OAAOjB,GAAY,SAAWA,EAAQ,IAAMA,EACxD,aAAc,OAAOA,GAAY,SAAWA,EAAQ,MAAQA,EAC5D,cAAe,OAAOA,GAAY,SAAWA,EAAQ,OAASA,EAC9D,YAAa,OAAOA,GAAY,SAAWA,EAAQ,KAAOA,CAClE,EACQkB,GAAcjC,EAAUyB,CAAK,EAC7BS,GAAW,SAAUC,EAAMC,EAAU,CACrC,OAAOD,EAAK,UAAU,EAAGC,CAAQ,EAAE,MAAM;AAAA,CAAI,CACrD,EACQC,GAAe1D,EAAM,YAAY,SAAU2D,EAAQC,EAAW,CAC9D,IAAItC,EAAIE,EAAIW,EACRyB,IAAc,SAAUA,EAAY,IACxC,IAAIlB,EAAKM,EAAW,QAASa,GAAQnB,EAAG,MAAOoB,GAASpB,EAAG,OAC3D,GAAImB,GAAM,QAAUC,GAAS,GAAI,CAE7Bd,EAAW,QAAQ,MAAQa,GAAM,MAAM,EAAGC,GAAS,CAAC,EAEpD,IAAIC,GAAQf,EAAW,QAAQ,MAAM,OACrC,GAAIe,GAAQtD,GAAe,CACvB,IAAIuD,GAASD,GAAQtD,GACrBuC,EAAW,QAAQ,MAAQa,GAAM,MAAMG,GAAQD,EAAK,EACpDf,EAAW,QAAQ,OAAS,KAAK,IAAIA,EAAW,QAAQ,OAASgB,GAAQ,CAAC,CAC1F,CACA,CACQ,IAAIC,GAAY,KAAK,IAAG,EACxB,GAAIL,EAAW,CACX,IAAIM,GAAOlB,EAAW,QAAQ,MAAMA,EAAW,QAAQ,MAAM,EAC7D,GAAIkB,IAAQD,GAAYC,GAAK,UAAYxD,GAAkB,CAGvD,IAAIyD,GAAK,yBAELC,GAAY9C,EAAKiC,GAASW,GAAK,MAAOA,GAAK,cAAc,EACxD,IAAG,KAAQ,MAAQ5C,IAAO,OAAS,OAASA,EAAG,MAAM6C,EAAE,EAExDE,IAAW7C,EAAK+B,GAASI,EAAO,MAAOA,EAAO,cAAc,EAC3D,IAAG,KAAQ,MAAQnC,IAAO,OAAS,OAASA,EAAG,MAAM2C,EAAE,EAC5D,GAAKC,GAAa,MAAuCA,EAAS,CAAC,IAAQ,GAAAjC,EAAKkC,IAAY,KAA6B,OAASA,GAAQ,CAAC,KAAO,MAAQlC,IAAO,SAAkBA,EAAG,WAAWiC,EAAS,CAAC,CAAC,GAAI,CAG5MpB,EAAW,QAAQ,MAAMA,EAAW,QAAQ,MAAM,EAAIrE,EAASA,EAAS,CAAA,EAAIgF,CAAM,EAAG,CAAE,UAAWM,EAAS,CAAE,EAC7G,MACpB,CACA,CACA,CAEQjB,EAAW,QAAQ,MAAM,KAAKrE,EAASA,EAAS,CAAA,EAAIgF,CAAM,EAAG,CAAE,UAAWM,EAAS,CAAE,CAAC,EACtFjB,EAAW,QAAQ,QAC3B,EAAO,CAAA,CAAE,EACDsB,GAAqBtE,EAAM,YAAY,UAAY,CACnD,IAAIuE,EAAQtB,EAAS,QACrB,GAAKsB,EAGL,KAAIzB,EAAQyB,EAAM,MAAOC,EAAiBD,EAAM,eAAgBE,EAAeF,EAAM,aACrFb,GAAa,CACT,MAAOZ,EACP,eAAgB0B,EAChB,aAAcC,CAC1B,CAAS,EACT,EAAO,CAACf,EAAY,CAAC,EACbgB,GAAc,SAAUf,EAAQ,CAChC,IAAIY,EAAQtB,EAAS,QAChBsB,IAGLA,EAAM,MAAQZ,EAAO,MACrBY,EAAM,eAAiBZ,EAAO,eAC9BY,EAAM,aAAeZ,EAAO,aAC5BzB,GAAkB,MAA4CA,EAAcyB,EAAO,KAAK,EAChG,EACQgB,GAAa,SAAUhB,EAAQ,CAE/B,IAAIY,EAAQtB,EAAS,QACjBiB,EAAOlB,EAAW,QAAQ,MAAMA,EAAW,QAAQ,MAAM,EACzDkB,GAAQK,IACRvB,EAAW,QAAQ,MAAMA,EAAW,QAAQ,MAAM,EAAIrE,EAASA,EAAS,CAAA,EAAIuF,CAAI,EAAG,CAAE,eAAgBK,EAAM,eAAgB,aAAcA,EAAM,aAAc,GAGjKb,GAAaC,CAAM,EACnBe,GAAYf,CAAM,CAC1B,EACQiB,GAAW,UAAY,CACvB,IAAItD,EAAK0B,EAAW,QAASa,EAAQvC,EAAG,MAAOwC,EAASxC,EAAG,OAEvDqC,EAASE,EAAMC,EAAS,CAAC,EACzBH,IAEAe,GAAYf,CAAM,EAClBX,EAAW,QAAQ,OAAS,KAAK,IAAIc,EAAS,EAAG,CAAC,EAE9D,EACQe,GAAW,UAAY,CACvB,IAAIvD,EAAK0B,EAAW,QAASa,EAAQvC,EAAG,MAAOwC,EAASxC,EAAG,OAEvDqC,EAASE,EAAMC,EAAS,CAAC,EACzBH,IAEAe,GAAYf,CAAM,EAClBX,EAAW,QAAQ,OAAS,KAAK,IAAIc,EAAS,EAAGD,EAAM,OAAS,CAAC,EAE7E,EACQiB,GAAgB,SAAUhF,EAAG,CAC7B,GAAI,EAAAkC,IACAA,EAAUlC,CAAC,EACPA,EAAE,mBAIV,CAAIA,EAAE,MAAQ,UACVA,EAAE,cAAc,KAAI,EAExB,IAAIwB,EAAKxB,EAAE,cAAegD,EAAQxB,EAAG,MAAOkD,EAAiBlD,EAAG,eAAgBmD,EAAenD,EAAG,aAC9FyD,GAAgBtD,EAAe,IAAM,KAAM,OAAOkB,CAAO,EAC7D,GAAI7C,EAAE,MAAQ,OAAS,CAACyB,GAAgB4B,EAGpC,GADArD,EAAE,eAAc,EACZA,EAAE,SAAU,CAEZ,IAAIkF,GAAmBzB,GAAST,EAAO0B,CAAc,EACjDS,GAAcD,GAAiB,OAAS,EACxCE,GAAY3B,GAAST,EAAO2B,CAAY,EAAE,OAAS,EACnDU,GAAYrC,EACX,MAAM;AAAA,CAAI,EACV,IAAI,SAAUsC,GAAMrG,GAAG,CACxB,OAAIA,IAAKkG,IACLlG,IAAKmG,IACLE,GAAK,WAAWL,CAAY,EACrBK,GAAK,UAAUL,EAAa,MAAM,EAEtCK,EAC3B,CAAiB,EACI,KAAK;AAAA,CAAI,EACd,GAAItC,IAAUqC,GAAW,CACrB,IAAIE,GAAgBL,GAAiBC,EAAW,EAChDN,GAAW,CACP,MAAOQ,GAGP,eAAiBE,IAAkB,MAA4CA,GAAc,WAAWN,CAAY,EAC9GP,EAAiBO,EAAa,OAC9BP,EAEN,aAAcC,GAAgB3B,EAAM,OAASqC,GAAU,OAC/E,CAAqB,CACrB,CACA,SACqBX,IAAmBC,EAAc,CAEtC,IAAIO,GAAmBzB,GAAST,EAAO0B,CAAc,EACjDc,GAAcN,GAAiB,OAAS,EACxCO,GAAYhC,GAAST,EAAO2B,CAAY,EAAE,OAAS,EACnDY,GAAgBL,GAAiBM,EAAW,EAChDX,GAAW,CACP,MAAO7B,EACF,MAAM;AAAA,CAAI,EACV,IAAI,SAAUsC,GAAMrG,GAAG,CACxB,OAAIA,IAAKuG,IAAevG,IAAKwG,GAClBR,EAAeK,GAEnBA,EAC/B,CAAqB,EACI,KAAK;AAAA,CAAI,EAGd,eAAgBC,IAAiB,KAAK,KAAKA,EAAa,EAClDb,EAAiBO,EAAa,OAC9BP,EAEN,aAAcC,EAAeM,EAAa,QAAUQ,GAAYD,GAAc,EAClG,CAAiB,CACjB,KACiB,CACD,IAAIE,EAAmBhB,EAAiBO,EAAa,OACrDJ,GAAW,CAEP,MAAO7B,EAAM,UAAU,EAAG0B,CAAc,EACpCO,EACAjC,EAAM,UAAU2B,CAAY,EAEhC,eAAgBe,EAChB,aAAcA,CAClC,CAAiB,CACjB,SAEiB1F,EAAE,MAAQ,YAAa,CAC5B,IAAI2F,GAAejB,IAAmBC,EAClCiB,GAAkB5C,EAAM,UAAU,EAAG0B,CAAc,EACvD,GAAIkB,GAAgB,SAASX,CAAY,GAAK,CAACU,GAAc,CAEzD3F,EAAE,eAAc,EAChB,IAAI0F,EAAmBhB,EAAiBO,EAAa,OACrDJ,GAAW,CAEP,MAAO7B,EAAM,UAAU,EAAG0B,EAAiBO,EAAa,MAAM,EAC1DjC,EAAM,UAAU2B,CAAY,EAEhC,eAAgBe,EAChB,aAAcA,CAClC,CAAiB,CACjB,CACA,SACiB1F,EAAE,MAAQ,SAEf,GAAI0E,IAAmBC,EAAc,CAEjC,IAAIW,GAAO7B,GAAST,EAAO0B,CAAc,EAAE,IAAG,EAC1CmB,GAAUP,IAAS,KAA0B,OAASA,GAAK,MAAM,MAAM,EAC3E,GAAIO,IAAY,MAAsCA,GAAQ,CAAC,EAAG,CAC9D7F,EAAE,eAAc,EAEhB,IAAI8F,GAAS;AAAA,EAAOD,GAAQ,CAAC,EACzBH,EAAmBhB,EAAiBoB,GAAO,OAC/CjB,GAAW,CAEP,MAAO7B,EAAM,UAAU,EAAG0B,CAAc,EACpCoB,GACA9C,EAAM,UAAU2B,CAAY,EAEhC,eAAgBe,EAChB,aAAcA,CACtC,CAAqB,CACrB,CACA,UAEiB1F,EAAE,UAAYO,IACnBP,EAAE,UAAYQ,IACdR,EAAE,UAAYS,IACdT,EAAE,UAAYU,GAAoB,CAClC,IAAIqF,GAAQ,OACR/F,EAAE,UAAYO,IAAkBP,EAAE,SAClC+F,GAAQ,CAAC,IAAK,GAAG,EAEZ/F,EAAE,UAAYQ,GACfR,EAAE,SACF+F,GAAQ,CAAC,IAAK,GAAG,EAGjBA,GAAQ,CAAC,IAAK,GAAG,EAGhB/F,EAAE,UAAYS,GACfT,EAAE,SACF+F,GAAQ,CAAC,IAAK,GAAG,EAGjBA,GAAQ,CAAC,IAAK,GAAG,EAGhB/F,EAAE,UAAYU,IAAsB,CAACV,EAAE,WAC5C+F,GAAQ,CAAC,IAAK,GAAG,GAGjBrB,IAAmBC,GAAgBoB,KACnC/F,EAAE,eAAc,EAChB6E,GAAW,CACP,MAAO7B,EAAM,UAAU,EAAG0B,CAAc,EACpCqB,GAAM,CAAC,EACP/C,EAAM,UAAU0B,EAAgBC,CAAY,EAC5CoB,GAAM,CAAC,EACP/C,EAAM,UAAU2B,CAAY,EAEhC,eAAgBD,EAChB,aAAcC,EAAe,CACjD,CAAiB,EAEjB,MACkB7D,GAEFd,EAAE,SAAWA,EAAE,UAAYK,GAE3BL,EAAE,SAAWA,EAAE,UAAYK,KAC/B,CAACL,EAAE,UACH,CAACA,EAAE,QACHA,EAAE,eAAc,EAChB8E,GAAQ,IAEFhE,GAEFd,EAAE,SAAWA,EAAE,UAAYK,IAAaL,EAAE,SAC5Ca,GAEMb,EAAE,SAAWA,EAAE,UAAYI,GAE3BJ,EAAE,SAAWA,EAAE,UAAYK,IAAaL,EAAE,WAClD,CAACA,EAAE,QACHA,EAAE,eAAc,EAChB+E,GAAQ,GAEH/E,EAAE,UAAYM,IACnBN,EAAE,UACD,CAAAc,IAAYd,EAAE,YACfA,EAAE,eAAc,EAEhBsD,GAAW,SAAU0C,GAAM,CAAE,MAAO,CAACA,EAAK,CAAE,GAExD,EACQC,GAAe,SAAUjG,EAAG,CAC5B,IAAIwB,EAAKxB,EAAE,cAAegD,EAAQxB,EAAG,MAAOkD,EAAiBlD,EAAG,eAAgBmD,EAAenD,EAAG,aAClGoC,GAAa,CACT,MAAOZ,EACP,eAAgB0B,EAChB,aAAcC,CAC1B,EAAW,EAAI,EACPvC,EAAcY,CAAK,CAC3B,EACI,OAAA9C,EAAM,UAAU,UAAY,CACxBsE,GAAkB,CAC1B,EAAO,CAACA,EAAkB,CAAC,EACvBtE,EAAM,oBAAoBiB,EAAK,UAAY,CACvC,MAAO,CACH,IAAI,SAAU,CACV,MAAO,CACH,QAAS+B,EAAW,OACxC,CACA,EACY,IAAI,QAAQgD,EAAS,CACjBhD,EAAW,QAAUgD,EAAQ,OAC7C,CACA,CACA,EAAO,CAAA,CAAE,EACGhG,EAAM,cAAc,MAAOrB,EAAS,CAAA,EAAIoE,GAAM,CAAE,MAAOpE,EAASA,EAAS,CAAA,EAAIsH,GAAO,SAAS,EAAGxD,CAAK,EAAG,EAC5GzC,EAAM,cAAc,MAAOrB,EAAS,CAAE,UAAW2D,EAAc,cAAe,OAAQ,MAAO3D,EAASA,EAASA,EAAS,CAAA,EAAIsH,GAAO,MAAM,EAAGA,GAAO,SAAS,EAAG5C,EAAY,GAAM,OAAOC,IAAgB,SAClM,CAAE,wBAAyB,CAAE,OAAQA,GAAc,QAAQ,CAAE,EAC7D,CAAE,SAAUA,EAAW,EAAI,EACjCtD,EAAM,cAAc,WAAY,CAAE,IAAK,SAAUkG,EAAG,CAAE,OAAQjD,EAAS,QAAUiD,CAAG,EAAI,MAAOvH,EAASA,EAASA,EAAS,CAAA,EAAIsH,GAAO,MAAM,EAAGA,GAAO,QAAQ,EAAG5C,EAAY,EAAG,UAAWxC,IAAa+B,GAAoB,IAAI,OAAOA,EAAiB,EAAI,IAAK,GAAIC,EAAY,MAAOC,EAAO,SAAUiD,GAAc,UAAWjB,GAAe,QAAShD,EAAS,QAASG,EAAS,QAASF,EAAS,OAAQF,EAAQ,SAAUV,EAAU,KAAMC,EAAM,UAAWM,EAAW,UAAWC,EAAW,KAAMC,EAAM,YAAaS,EAAa,SAAUE,EAAU,SAAUC,EAAU,UAAWtB,EAAW,eAAgB,MAAO,aAAc,MAAO,YAAa,MAAO,WAAY,GAAO,aAAc,GAAO,EAC9qBlB,EAAM,cAAc,QAAS,CAAE,wBAAyB,CAAE,OAAQc,EAAO,CAAE,CAAE,CAAC,CACtF,CAAC,EACGmF,GAAS,CACT,UAAW,CACP,SAAU,WACV,UAAW,OACX,UAAW,aACX,QAAS,EACT,SAAU,QAClB,EACI,SAAU,CACN,SAAU,WACV,IAAK,EACL,KAAM,EACN,OAAQ,OACR,MAAO,OACP,OAAQ,OACR,MAAO,UACP,SAAU,SACV,oBAAqB,YACrB,oBAAqB,cACrB,oBAAqB,aAC7B,EACI,UAAW,CACP,SAAU,WACV,cAAe,MACvB,EACI,OAAQ,CACJ,OAAQ,EACR,OAAQ,EACR,WAAY,OACZ,UAAW,UACX,QAAS,UACT,WAAY,UACZ,SAAU,UACV,UAAW,UACX,qBAAsB,UACtB,WAAY,UACZ,cAAe,UACf,WAAY,UACZ,QAAS,UACT,WAAY,UACZ,cAAe,UACf,cAAe,UACf,WAAY,WACZ,UAAW,WACX,aAAc,YACtB,CACA,EACAE,GAAApG,GAAA,QAAkBgB,GCjcdqF,GAAW,OAAO,OAClBC,GAAY,OAAO,eACnBC,GAAa,OAAO,iBACpBC,GAAmB,OAAO,yBAC1BC,GAAoB,OAAO,0BAC3BC,GAAoB,OAAO,oBAC3BC,GAAsB,OAAO,sBAC7BC,GAAe,OAAO,eACtBC,GAAe,OAAO,UAAU,eAChCC,GAAe,OAAO,UAAU,qBAChCC,GAAkB,CAACC,EAAKC,EAAKlE,IAAUkE,KAAOD,EAAMV,GAAUU,EAAKC,EAAK,CAAE,WAAY,GAAM,aAAc,GAAM,SAAU,GAAM,MAAAlE,CAAK,CAAE,EAAIiE,EAAIC,CAAG,EAAIlE,EACtJmE,GAAiB,CAACC,EAAGC,IAAM,CAC7B,QAASC,KAAQD,IAAMA,EAAI,CAAA,GACrBP,GAAa,KAAKO,EAAGC,CAAI,GAC3BN,GAAgBI,EAAGE,EAAMD,EAAEC,CAAI,CAAC,EACpC,GAAIV,GACF,QAASU,KAAQV,GAAoBS,CAAC,EAChCN,GAAa,KAAKM,EAAGC,CAAI,GAC3BN,GAAgBI,EAAGE,EAAMD,EAAEC,CAAI,CAAC,EAEtC,OAAOF,CACT,EACIG,GAAgB,CAACH,EAAGC,IAAMb,GAAWY,EAAGV,GAAkBW,CAAC,CAAC,EAC5DG,GAAY,CAACC,EAAQC,IAAY,CACnC,IAAIC,EAAS,CAAA,EACb,QAASL,KAAQG,EACXX,GAAa,KAAKW,EAAQH,CAAI,GAAKI,EAAQ,QAAQJ,CAAI,EAAI,IAC7DK,EAAOL,CAAI,EAAIG,EAAOH,CAAI,GAC9B,GAAIG,GAAU,MAAQb,GACpB,QAASU,KAAQV,GAAoBa,CAAM,EACrCC,EAAQ,QAAQJ,CAAI,EAAI,GAAKP,GAAa,KAAKU,EAAQH,CAAI,IAC7DK,EAAOL,CAAI,EAAIG,EAAOH,CAAI,GAEhC,OAAOK,CACT,EACIC,GAAa,CAACC,EAAIhI,IAAQ,UAAqB,CACjD,OAAOA,MAAWgI,EAAGlB,GAAkBkB,CAAE,EAAE,CAAC,CAAC,IAAIhI,EAAM,CAAE,QAAS,EAAE,GAAI,QAASA,CAAG,EAAGA,EAAI,OAC7F,EACIiI,GAAW,CAACH,EAAQI,IAAQ,CAC9B,QAASjG,KAAQiG,EACfxB,GAAUoB,EAAQ7F,EAAM,CAAE,IAAKiG,EAAIjG,CAAI,EAAG,WAAY,GAAM,CAChE,EACIkG,GAAc,CAACC,EAAIC,EAAMC,EAAQ1I,IAAS,CAC5C,GAAIyI,GAAQ,OAAOA,GAAS,UAAY,OAAOA,GAAS,WACtD,QAAShB,KAAOP,GAAkBuB,CAAI,EAChC,CAACpB,GAAa,KAAKmB,EAAIf,CAAG,GAAKA,IAAQiB,GACzC5B,GAAU0B,EAAIf,EAAK,CAAE,IAAK,IAAMgB,EAAKhB,CAAG,EAAG,WAAY,EAAEzH,EAAOgH,GAAiByB,EAAMhB,CAAG,IAAMzH,EAAK,WAAY,EAEvH,OAAOwI,CACT,EACIG,GAAU,CAACvI,EAAKwI,EAAYV,KAAYA,EAAS9H,GAAO,KAAOyG,GAASO,GAAahH,CAAG,CAAC,EAAI,CAAA,EAAImI,GAKrF,CAACnI,GAAO,CAACA,EAAI,WAAa0G,GAAUoB,EAAQ,UAAW,CAAE,MAAO9H,EAAK,WAAY,EAAI,CAAE,EAAI8H,EACzG9H,CACF,GAGIyI,GAAgBV,GAAW,CAC7B,8GAA8GW,EAASC,EAAQ,CAC7H,IAAIC,EAAS,UAAW,CACtB,IAAIC,EAAO,0CACPC,EAAW,EACXC,EAAmB,CAAA,EACnBC,EAAI,CAUN,KAAM,CACJ,OAAQ,SAASC,EAAOC,EAAQ,CAC9B,OAAIA,aAAkBC,EACb,IAAIA,EAAMD,EAAO,KAAMD,EAAOC,EAAO,OAAO,EAAGA,EAAO,KAAK,EACzD,MAAM,QAAQA,CAAM,EACtBA,EAAO,IAAID,CAAM,EAEjBC,EAAO,QAAQ,KAAM,OAAO,EAAE,QAAQ,KAAM,MAAM,EAAE,QAAQ,UAAW,GAAG,CAErF,EAiBA,KAAM,SAAS1J,EAAG,CAChB,OAAO,OAAO,UAAU,SAAS,KAAKA,CAAC,EAAE,MAAM,EAAG,EAAE,CACtD,EAOA,MAAO,SAAS4H,EAAK,CACnB,OAAKA,EAAI,MACP,OAAO,eAAeA,EAAK,OAAQ,CAAE,MAAO,EAAE0B,EAAU,EAEnD1B,EAAI,IACb,EAWA,MAAO,SAASgC,EAAU5J,EAAG6J,EAAS,CACpCA,EAAUA,GAAW,CAAA,EACrB,IAAIC,EACAC,EACJ,OAAQP,EAAE,KAAK,KAAKxJ,CAAC,EAAC,CACpB,IAAK,SAEH,GADA+J,EAAKP,EAAE,KAAK,MAAMxJ,CAAC,EACf6J,EAAQE,CAAE,EACZ,OAAOF,EAAQE,CAAE,EAEnBD,EACA,CAAA,EACAD,EAAQE,CAAE,EAAID,EACd,QAASjC,KAAO7H,EACVA,EAAE,eAAe6H,CAAG,IACtBiC,EAAMjC,CAAG,EAAI+B,EAAU5J,EAAE6H,CAAG,EAAGgC,CAAO,GAG1C,OAEEC,EAEJ,IAAK,QAEH,OADAC,EAAKP,EAAE,KAAK,MAAMxJ,CAAC,EACf6J,EAAQE,CAAE,EACLF,EAAQE,CAAE,GAEnBD,EAAQ,CAAA,EACRD,EAAQE,CAAE,EAAID,EAGd9J,EAAE,QAAQ,SAASM,EAAGV,EAAG,CACvBkK,EAAMlK,CAAC,EAAIgK,EAAUtJ,EAAGuJ,CAAO,CACjC,CAAC,EAGCC,GAEJ,QACE,OAAO9J,CACvB,CACU,EASA,YAAa,SAASgK,EAAS,CAC7B,KAAOA,GAAS,CACd,IAAI/J,EAAIoJ,EAAK,KAAKW,EAAQ,SAAS,EACnC,GAAI/J,EACF,OAAOA,EAAE,CAAC,EAAE,YAAW,EAEzB+J,EAAUA,EAAQ,aACpB,CACA,MAAO,MACT,EAQA,YAAa,SAASA,EAASC,EAAU,CACvCD,EAAQ,UAAYA,EAAQ,UAAU,QAAQ,OAAOX,EAAM,IAAI,EAAG,EAAE,EACpEW,EAAQ,UAAU,IAAI,YAAcC,CAAQ,CAC9C,EAoBA,SAAU,SAASD,EAAStI,EAAWwI,EAAmB,CAExD,QADIC,EAAK,MAAQzI,EACVsI,GAAS,CACd,IAAII,EAAYJ,EAAQ,UACxB,GAAII,EAAU,SAAS1I,CAAS,EAC9B,MAAO,GAET,GAAI0I,EAAU,SAASD,CAAE,EACvB,MAAO,GAETH,EAAUA,EAAQ,aACpB,CACA,MAAO,CAAC,CAACE,CACX,CACV,EAQQ,UAAW,CAIT,MAAOX,EACP,UAAWA,EACX,KAAMA,EACN,IAAKA,EA6BL,OAAQ,SAASQ,EAAIM,EAAO,CAC1B,IAAIC,EAAQd,EAAE,KAAK,MAAMA,EAAE,UAAUO,CAAE,CAAC,EACxC,QAASlC,KAAOwC,EACdC,EAAMzC,CAAG,EAAIwC,EAAMxC,CAAG,EAExB,OAAOyC,CACT,EA4EA,aAAc,SAASC,EAAQC,EAAQC,EAAQC,EAAM,CACnDA,EAAOA,GACPlB,EAAE,UACF,IAAImB,EAAUD,EAAKH,CAAM,EACrBK,EAAM,CAAA,EACV,QAASC,KAASF,EAChB,GAAIA,EAAQ,eAAeE,CAAK,EAAG,CACjC,GAAIA,GAASL,EACX,QAASM,KAAYL,EACfA,EAAO,eAAeK,CAAQ,IAChCF,EAAIE,CAAQ,EAAIL,EAAOK,CAAQ,GAIhCL,EAAO,eAAeI,CAAK,IAC9BD,EAAIC,CAAK,EAAIF,EAAQE,CAAK,EAE9B,CAEF,IAAIE,EAAML,EAAKH,CAAM,EACrB,OAAAG,EAAKH,CAAM,EAAIK,EACfpB,EAAE,UAAU,IAAIA,EAAE,UAAW,SAAS3B,EAAKlE,EAAO,CAC5CA,IAAUoH,GAAOlD,GAAO0C,IAC1B,KAAK1C,CAAG,EAAI+C,EAEhB,CAAC,EACMA,CACT,EAEA,IAAK,SAASI,EAAIhL,EAAGiL,EAAUC,EAAMrB,EAAS,CAC5CA,EAAUA,GAAW,CAAA,EACrB,IAAIsB,EAAQ3B,EAAE,KAAK,MACnB,QAAS5J,KAAKI,EACZ,GAAIA,EAAE,eAAeJ,CAAC,EAAG,CACvBqL,EAAS,KAAKjL,EAAGJ,EAAGI,EAAEJ,CAAC,EAAGsL,GAAQtL,CAAC,EACnC,IAAIwL,EAAWpL,EAAEJ,CAAC,EACdyL,EAAe7B,EAAE,KAAK,KAAK4B,CAAQ,EACnCC,IAAiB,UAAY,CAACxB,EAAQsB,EAAMC,CAAQ,CAAC,GACvDvB,EAAQsB,EAAMC,CAAQ,CAAC,EAAI,GAC3BJ,EAAII,EAAUH,EAAU,KAAMpB,CAAO,GAC5BwB,IAAiB,SAAW,CAACxB,EAAQsB,EAAMC,CAAQ,CAAC,IAC7DvB,EAAQsB,EAAMC,CAAQ,CAAC,EAAI,GAC3BJ,EAAII,EAAUH,EAAUrL,EAAGiK,CAAO,EAEtC,CAEJ,CACV,EACQ,QAAS,CAAA,EAqBT,UAAW,SAASxF,EAAMsG,EAASV,EAAU,CAC3C,IAAIqB,EAAM,CACR,KAAMjH,EACN,QAAAsG,EACA,SAAAV,CACZ,EAEU,GADAT,EAAE,MAAM,IAAI,kBAAmB8B,CAAG,EAC9B,CAACA,EAAI,QACP,MAAM,IAAI,MAAM,iBAAmBA,EAAI,SAAW,mBAAmB,EAEvE,OAAAA,EAAI,OAAS9B,EAAE,SAAS8B,EAAI,KAAMA,EAAI,OAAO,EAC7C9B,EAAE,MAAM,IAAI,iBAAkB8B,CAAG,EAC1B3B,EAAM,UAAUH,EAAE,KAAK,OAAO8B,EAAI,MAAM,EAAGA,EAAI,QAAQ,CAChE,EAyBA,SAAU,SAASjH,EAAMsG,EAAS,CAChC,IAAI/G,EAAO+G,EAAQ,KACnB,GAAI/G,EAAM,CACR,QAASiH,KAASjH,EAChB+G,EAAQE,CAAK,EAAIjH,EAAKiH,CAAK,EAE7B,OAAOF,EAAQ,IACjB,CACA,IAAIY,EAAY,IAAIC,EACpB,OAAAC,EAASF,EAAWA,EAAU,KAAMlH,CAAI,EACxCqH,EAAarH,EAAMkH,EAAWZ,EAASY,EAAU,KAAM,CAAC,EACjDI,EAAQJ,CAAS,CAC1B,EAMA,MAAO,CACL,IAAK,CAAA,EAaL,IAAK,SAAS9I,EAAMwI,EAAU,CAC5B,IAAIW,EAASpC,EAAE,MAAM,IACrBoC,EAAOnJ,CAAI,EAAImJ,EAAOnJ,CAAI,GAAK,CAAA,EAC/BmJ,EAAOnJ,CAAI,EAAE,KAAKwI,CAAQ,CAC5B,EAUA,IAAK,SAASxI,EAAM6I,EAAK,CACvB,IAAIO,EAAYrC,EAAE,MAAM,IAAI/G,CAAI,EAChC,GAAI,GAACoJ,GAAa,CAACA,EAAU,QAG7B,QAASjM,EAAI,EAAGqL,EAAUA,EAAWY,EAAUjM,GAAG,GAChDqL,EAASK,CAAG,CAEhB,CACV,EACQ,MAAA3B,CACR,EACM,SAASA,EAAMuB,EAAMY,EAASC,EAAOC,EAAY,CAC/C,KAAK,KAAOd,EACZ,KAAK,QAAUY,EACf,KAAK,MAAQC,EACb,KAAK,QAAUC,GAAc,IAAI,OAAS,CAC5C,CACArC,EAAM,UAAY,SAASsC,EAAUjM,EAAGiK,EAAU,CAChD,GAAI,OAAOjK,GAAK,SACd,OAAOA,EAET,GAAI,MAAM,QAAQA,CAAC,EAAG,CACpB,IAAIL,EAAI,GACR,OAAAK,EAAE,QAAQ,SAASW,EAAG,CACpBhB,GAAKsM,EAAUtL,EAAGsJ,CAAQ,CAC5B,CAAC,EACMtK,CACT,CACA,IAAI2L,EAAM,CACR,KAAMtL,EAAE,KACR,QAASiM,EAAUjM,EAAE,QAASiK,CAAQ,EACtC,IAAK,OACL,QAAS,CAAC,QAASjK,EAAE,IAAI,EACzB,WAAY,CAAA,EACZ,SAAAiK,CACV,EACYiC,EAAUlM,EAAE,MACZkM,IACE,MAAM,QAAQA,CAAO,EACvB,MAAM,UAAU,KAAK,MAAMZ,EAAI,QAASY,CAAO,EAE/CZ,EAAI,QAAQ,KAAKY,CAAO,GAG5B1C,EAAE,MAAM,IAAI,OAAQ8B,CAAG,EACvB,IAAIa,EAAa,GACjB,QAAS1J,KAAQ6I,EAAI,WACnBa,GAAc,IAAM1J,EAAO,MAAQ6I,EAAI,WAAW7I,CAAI,GAAK,IAAI,QAAQ,KAAM,QAAQ,EAAI,IAE3F,MAAO,IAAM6I,EAAI,IAAM,WAAaA,EAAI,QAAQ,KAAK,GAAG,EAAI,IAAMa,EAAa,IAAMb,EAAI,QAAU,KAAOA,EAAI,IAAM,GACtH,EACA,SAASc,EAAaC,EAASC,EAAKjI,EAAMkI,EAAY,CACpDF,EAAQ,UAAYC,EACpB,IAAIE,EAAQH,EAAQ,KAAKhI,CAAI,EAC7B,GAAImI,GAASD,GAAcC,EAAM,CAAC,EAAG,CACnC,IAAIC,EAAmBD,EAAM,CAAC,EAAE,OAChCA,EAAM,OAASC,EACfD,EAAM,CAAC,EAAIA,EAAM,CAAC,EAAE,MAAMC,CAAgB,CAC5C,CACA,OAAOD,CACT,CACA,SAASd,EAAarH,EAAMkH,EAAWZ,EAAS+B,EAAWC,EAAUC,EAAS,CAC5E,QAAS/B,KAASF,EAChB,GAAI,GAACA,EAAQ,eAAeE,CAAK,GAAK,CAACF,EAAQE,CAAK,GAGpD,KAAIgC,EAAWlC,EAAQE,CAAK,EAC5BgC,EAAW,MAAM,QAAQA,CAAQ,EAAIA,EAAW,CAACA,CAAQ,EACzD,QAASC,EAAI,EAAGA,EAAID,EAAS,OAAQ,EAAEC,EAAG,CACxC,GAAIF,GAAWA,EAAQ,OAAS/B,EAAQ,IAAMiC,EAC5C,OAEF,IAAIC,EAAaF,EAASC,CAAC,EACvBvC,EAASwC,EAAW,OACpBR,EAAa,CAAC,CAACQ,EAAW,WAC1BC,EAAS,CAAC,CAACD,EAAW,OACtBhB,EAAQgB,EAAW,MACvB,GAAIC,GAAU,CAACD,EAAW,QAAQ,OAAQ,CACxC,IAAIE,EAAQF,EAAW,QAAQ,SAAQ,EAAG,MAAM,WAAW,EAAE,CAAC,EAC9DA,EAAW,QAAU,OAAOA,EAAW,QAAQ,OAAQE,EAAQ,GAAG,CACpE,CAEA,QADIZ,GAAUU,EAAW,SAAWA,EAC3BG,EAAcR,EAAU,KAAMJ,EAAMK,EAAUO,IAAgB3B,EAAU,MAC3E,EAAAqB,GAAWN,GAAOM,EAAQ,OADuDN,GAAOY,EAAY,MAAM,OAAQA,EAAcA,EAAY,KAAM,CAItJ,IAAIC,GAAMD,EAAY,MACtB,GAAI3B,EAAU,OAASlH,EAAK,OAC1B,OAEF,GAAI,EAAA8I,cAAexD,GAGnB,KAAIyD,EAAc,EACdZ,EACJ,GAAIQ,EAAQ,CAEV,GADAR,EAAQJ,EAAaC,GAASC,EAAKjI,EAAMkI,CAAU,EAC/C,CAACC,GAASA,EAAM,OAASnI,EAAK,OAChC,MAEF,IAAIwE,GAAO2D,EAAM,MACb5D,GAAK4D,EAAM,MAAQA,EAAM,CAAC,EAAE,OAC5B1M,EAAIwM,EAER,IADAxM,GAAKoN,EAAY,MAAM,OAChBrE,IAAQ/I,GACboN,EAAcA,EAAY,KAC1BpN,GAAKoN,EAAY,MAAM,OAIzB,GAFApN,GAAKoN,EAAY,MAAM,OACvBZ,EAAMxM,EACFoN,EAAY,iBAAiBvD,EAC/B,SAEF,QAASzJ,GAAIgN,EAAahN,KAAMqL,EAAU,OAASzL,EAAI8I,IAAM,OAAO1I,GAAE,OAAU,UAAWA,GAAIA,GAAE,KAC/FkN,IACAtN,GAAKI,GAAE,MAAM,OAEfkN,IACAD,GAAM9I,EAAK,MAAMiI,EAAKxM,CAAC,EACvB0M,EAAM,OAASF,CACjB,SACEE,EAAQJ,EAAaC,GAAS,EAAGc,GAAKZ,CAAU,EAC5C,CAACC,EACH,SAGJ,IAAI3D,GAAO2D,EAAM,MACba,GAAWb,EAAM,CAAC,EAClBhC,GAAS2C,GAAI,MAAM,EAAGtE,EAAI,EAC1ByE,GAAQH,GAAI,MAAMtE,GAAOwE,GAAS,MAAM,EACxCE,GAAQjB,EAAMa,GAAI,OAClBP,GAAWW,GAAQX,EAAQ,QAC7BA,EAAQ,MAAQW,IAElB,IAAIC,GAAaN,EAAY,KACzB1C,KACFgD,GAAa/B,EAASF,EAAWiC,GAAYhD,EAAM,EACnD8B,GAAO9B,GAAO,QAEhBiD,EAAYlC,EAAWiC,GAAYJ,CAAW,EAC9C,IAAIM,GAAU,IAAI/D,EAAMkB,EAAON,EAASf,EAAE,SAAS6D,GAAU9C,CAAM,EAAI8C,GAAUtB,EAAOsB,EAAQ,EAKhG,GAJAH,EAAczB,EAASF,EAAWiC,GAAYE,EAAO,EACjDJ,IACF7B,EAASF,EAAW2B,EAAaI,EAAK,EAEpCF,EAAc,EAAG,CACnB,IAAIO,GAAgB,CAClB,MAAO9C,EAAQ,IAAMiC,EACrB,MAAAS,EAClB,EACgB7B,EAAarH,EAAMkH,EAAWZ,EAASuC,EAAY,KAAMZ,EAAKqB,EAAa,EACvEf,GAAWe,GAAc,MAAQf,EAAQ,QAC3CA,EAAQ,MAAQe,GAAc,MAElC,EACF,CACF,EAEJ,CACA,SAASnC,GAAa,CACpB,IAAIoC,EAAO,CAAE,MAAO,KAAM,KAAM,KAAM,KAAM,IAAI,EAC5CC,EAAO,CAAE,MAAO,KAAM,KAAMD,EAAM,KAAM,IAAI,EAChDA,EAAK,KAAOC,EACZ,KAAK,KAAOD,EACZ,KAAK,KAAOC,EACZ,KAAK,OAAS,CAChB,CACA,SAASpC,EAASqC,EAAMC,EAAMpK,EAAO,CACnC,IAAIqK,EAAOD,EAAK,KACZE,EAAU,CAAE,MAAAtK,EAAO,KAAMoK,EAAM,KAAAC,CAAI,EACvC,OAAAD,EAAK,KAAOE,EACZD,EAAK,KAAOC,EACZH,EAAK,SACEG,CACT,CACA,SAASR,EAAYK,EAAMC,EAAMnJ,EAAO,CAEtC,QADIoJ,EAAOD,EAAK,KACPnO,EAAI,EAAGA,EAAIgF,GAASoJ,IAASF,EAAK,KAAMlO,IAC/CoO,EAAOA,EAAK,KAEdD,EAAK,KAAOC,EACZA,EAAK,KAAOD,EACZD,EAAK,QAAUlO,CACjB,CACA,SAAS+L,EAAQmC,EAAM,CAGrB,QAFII,EAAQ,CAAA,EACRH,EAAOD,EAAK,KAAK,KACdC,IAASD,EAAK,MACnBI,EAAM,KAAKH,EAAK,KAAK,EACrBA,EAAOA,EAAK,KAEd,OAAOG,CACT,CACA,OAAO1E,CACT,EAAC,EACDL,EAAO,QAAUC,EACjBA,EAAO,QAAUA,CACnB,CACF,CAAC,EAGG+E,EAAQpF,GAAQE,IAAe,EACnCkF,EAAM,UAAU,OAAS,CAAE,QAAS,CAAE,QAAS,8BAA+B,OAAQ,EAAI,EAAI,OAAQ,CAAE,QAAS,iBAAkB,OAAQ,EAAI,EAAI,QAAS,CAAE,QAAS,uHAAwH,OAAQ,GAAM,OAAQ,CAAE,kBAAmB,CAAE,QAAS,6BAA8B,WAAY,GAAM,OAAQ,GAAM,OAAQ,IAAI,EAAI,OAAQ,CAAE,QAAS,kBAAmB,OAAQ,EAAI,EAAI,YAAa,eAAgB,cAAe,YAAa,KAAM,YAAY,CAAE,EAAI,MAAO,CAAE,QAAS,4BAA6B,OAAQ,EAAI,EAAI,IAAK,CAAE,QAAS,uHAAwH,OAAQ,GAAM,OAAQ,CAAE,IAAK,CAAE,QAAS,iBAAkB,OAAQ,CAAE,YAAa,QAAS,UAAW,cAAc,CAAE,EAAI,eAAgB,CAAA,EAAI,aAAc,CAAE,QAAS,qCAAsC,OAAQ,CAAE,YAAa,CAAC,CAAE,QAAS,KAAM,MAAO,aAAa,EAAI,CAAE,QAAS,mBAAoB,WAAY,EAAI,CAAE,CAAC,CAAE,EAAI,YAAa,OAAQ,YAAa,CAAE,QAAS,YAAa,OAAQ,CAAE,UAAW,cAAc,CAAE,CAAE,CAAE,EAAI,OAAQ,CAAC,CAAE,QAAS,kBAAmB,MAAO,cAAc,EAAI,oBAAoB,CAAC,EAAIA,EAAM,UAAU,OAAO,IAAI,OAAO,YAAY,EAAE,OAAO,OAASA,EAAM,UAAU,OAAO,OAAQA,EAAM,UAAU,OAAO,QAAQ,OAAO,iBAAiB,EAAE,OAASA,EAAM,UAAU,OAAQA,EAAM,MAAM,IAAI,OAAQ,SAAS,EAAG,CACp8C,EAAE,OAAf,WAAwB,EAAE,WAAW,MAAQ,EAAE,QAAQ,QAAQ,QAAS,GAAG,EAC7E,CAAC,EAAG,OAAO,eAAeA,EAAM,UAAU,OAAO,IAAK,aAAc,CAAE,MAAO,SAAS,EAAGtO,EAAG,CAC1F,IAAI,EAAI,CAAA,EAAI,GAAK,EAAE,YAAcA,CAAC,EAAI,CAAE,QAAS,oCAAqC,WAAY,GAAM,OAAQsO,EAAM,UAAUtO,CAAC,CAAC,EAAI,EAAE,MAAQ,uBAAwB,CAAE,iBAAkB,CAAE,QAAS,4BAA6B,OAAQ,CAAC,IAAOA,GAAK,EAAE,YAAcA,CAAC,EAAI,CAAE,QAAS,UAAW,OAAQsO,EAAM,UAAUtO,CAAC,CAAC,EAAI,IAClUA,EAAE,CAAC,EAAI,CAAE,QAAS,OAAO,wFAAwF,OAAO,QAAQ,MAAO,UAAW,CAChJ,OAAO,CACT,CAAC,EAAG,GAAG,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAC,EAAIsO,EAAM,UAAU,aAAa,SAAU,QAAStO,CAAC,CAC1G,CAAC,CAAE,EAAG,OAAO,eAAesO,EAAM,UAAU,OAAO,IAAK,eAAgB,CAAE,MAAO,SAAS,EAAG,EAAG,CAC9FA,EAAM,UAAU,OAAO,IAAI,OAAO,cAAc,EAAE,KAAK,CAAE,QAAS,OAAO,aAAa,OAAS,MAAQ,EAAI,IAAM,iDAAiD,OAAQ,GAAG,EAAG,WAAY,GAAM,OAAQ,CAAE,YAAa,WAAY,aAAc,CAAE,QAAS,WAAY,OAAQ,CAAE,MAAO,CAAE,QAAS,yCAA0C,WAAY,GAAM,MAAO,CAAC,EAAG,YAAc,CAAC,EAAG,OAAQA,EAAM,UAAU,CAAC,CAAC,EAAI,YAAa,CAAC,CAAE,QAAS,KAAM,MAAO,aAAa,EAAI,KAAK,CAAC,CAAE,CAAE,CAAE,CAAE,CACpe,CAAC,CAAE,EAAGA,EAAM,UAAU,KAAOA,EAAM,UAAU,OAAQA,EAAM,UAAU,OAASA,EAAM,UAAU,OAAQA,EAAM,UAAU,IAAMA,EAAM,UAAU,OAAQA,EAAM,UAAU,IAAMA,EAAM,UAAU,OAAO,SAAU,EAAE,EAAGA,EAAM,UAAU,KAAOA,EAAM,UAAU,IAAKA,EAAM,UAAU,KAAOA,EAAM,UAAU,IAAKA,EAAM,UAAU,IAAMA,EAAM,UAAU,IAAK,SAAS,EAAG,CAC7V,IAAI,EAAI,CAAE,QAAS,uBAAwB,MAAO,QAAQ,EAAI,EAAI,6FAA8F,EAAI,eAAiB,EAAE,OAAS,IAAK,EAAI,OAAO,EAAI,IAAM,CAAC,EAAG,EAAI,CAAE,QAAS,wBAAyB,WAAY,GAAM,MAAO,UAAU,EACzS,EAAE,UAAU,MAAQ,CAAE,aAAc,CAAE,QAAS,kDAAmD,WAAY,GAAM,OAAQ,CAAE,sBAAuB,CAAE,QAAS,UAAW,WAAY,GAAM,MAAO,UAAU,EAAI,yBAA0B,CAAE,QAAS,UAAW,MAAO,aAAa,EAAI,MAAO,CAAE,QAAS,EAAG,OAAQ,CAAE,OAAQ,EAAG,oBAAqB,CAAE,QAAS,IAAK,MAAO,UAAU,EAAI,EAAI,iBAAkB,EAAG,WAAY,CAAE,QAAS,yBAA0B,MAAO,YAAY,EAAI,OAAQ,CAAC,CAAE,EAAI,iBAAkB,EAAG,WAAY,CAAE,QAAS,4BAA6B,MAAO,YAAY,EAAI,cAAe,CAAC,CAAE,QAAS,2BAA4B,MAAO,SAAS,EAAI,CAAE,QAAS,eAAgB,MAAO,UAAW,OAAQ,CAAE,aAAc,EAAG,CAAE,EAAG,OAAQ,CAAE,QAAS,kBAAmB,MAAO,YAAc,OAAQ,EAAG,MAAO,CAAC,CAAE,QAAS,8EAA+E,MAAO,cAAe,OAAQ,CAAE,aAAc,CAAC,CAAE,EAAI,CAAE,QAAS,KAAM,MAAO,cAAe,EAAG,WAAY,CAAE,QAAS,kCAAmC,MAAO,QAAQ,EAAI,YAAa,CAAE,QAAS,KAAM,MAAO,SAAS,CAAE,CAC5mC,EAAEA,CAAK,EAAGA,EAAM,UAAU,MAAQ,CAAE,QAAS,CAAC,CAAE,QAAS,kCAAmC,WAAY,GAAM,OAAQ,EAAI,EAAI,CAAE,QAAS,mBAAoB,WAAY,GAAM,OAAQ,GAAM,EAAG,OAAQ,CAAE,QAAS,iDAAkD,OAAQ,EAAI,EAAI,aAAc,CAAE,QAAS,2FAA4F,WAAY,GAAM,OAAQ,CAAE,YAAa,OAAO,CAAE,EAAI,QAAS,6GAA8G,QAAS,qBAAsB,SAAU,cAAe,OAAQ,4DAA6D,SAAU,+CAAgD,YAAa,eAAe,EAAIA,EAAM,UAAU,WAAaA,EAAM,UAAU,OAAO,QAAS,CAAE,aAAc,CAACA,EAAM,UAAU,MAAM,YAAY,EAAG,CAAE,QAAS,0GAA2G,WAAY,EAAI,CAAE,EAAG,QAAS,CAAC,CAAE,QAAS,uBAAwB,WAAY,EAAI,EAAI,CAAE,QAAS,mdAAod,WAAY,GAAM,EAAG,SAAU,oGAAqG,OAAQ,CAAE,QAAS,OAAO,aAAa,OAAS,MAAQ,eAAe,OAAS,IAAM,0BAA0B,OAAS,IAAM,4BAA4B,OAAS,IAAM,sCAAsC,OAAS,IAAM,gBAAgB,OAAS,IAAM,oFAAoF,OAAS,IAAM,YAAY,MAAM,EAAG,WAAY,EAAI,EAAI,SAAU,2FAA2F,CAAE,EAAGA,EAAM,UAAU,WAAW,YAAY,EAAE,CAAC,EAAE,QAAU,uEAAwEA,EAAM,UAAU,aAAa,aAAc,UAAW,CAAE,MAAO,CAAE,QAAS,OAAO,0DAA0D,OAAS,KAAK,OAAS,MAAQ,iEAAiE,OAAS,IAAM,qIAAqI,OAAS,IAAM,kEAAkE,MAAM,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,eAAgB,CAAE,QAAS,4BAA6B,WAAY,GAAM,MAAO,iBAAkB,OAAQA,EAAM,UAAU,OAAS,kBAAmB,UAAW,cAAe,WAAY,EAAI,oBAAqB,CAAE,QAAS,gMAAiM,MAAO,UAAU,EAAI,UAAW,CAAC,CAAE,QAAS,sIAAuI,WAAY,GAAM,OAAQA,EAAM,UAAU,YAAc,CAAE,QAAS,qFAAsF,WAAY,GAAM,OAAQA,EAAM,UAAU,UAAU,EAAI,CAAE,QAAS,kEAAmE,WAAY,GAAM,OAAQA,EAAM,UAAU,UAAU,EAAI,CAAE,QAAS,8eAA+e,WAAY,GAAM,OAAQA,EAAM,UAAU,WAAY,EAAG,SAAU,4BAA6B,EAAGA,EAAM,UAAU,aAAa,aAAc,SAAU,CAAE,SAAU,CAAE,QAAS,QAAS,OAAQ,GAAM,MAAO,WAAa,kBAAmB,CAAE,QAAS,2EAA4E,OAAQ,GAAM,OAAQ,CAAE,uBAAwB,CAAE,QAAS,QAAS,MAAO,QAAQ,EAAI,cAAe,CAAE,QAAS,mEAAoE,WAAY,GAAM,OAAQ,CAAE,4BAA6B,CAAE,QAAS,YAAa,MAAO,aAAa,EAAI,KAAMA,EAAM,UAAU,UAAU,CAAE,EAAI,OAAQ,SAAS,GAAM,kBAAmB,CAAE,QAAS,4EAA6E,WAAY,GAAM,OAAQ,GAAM,MAAO,UAAU,CAAE,CAAE,EAAGA,EAAM,UAAU,aAAa,aAAc,WAAY,CAAE,mBAAoB,CAAE,QAAS,oFAAqF,WAAY,GAAM,MAAO,UAAU,CAAE,CAAE,EAAGA,EAAM,UAAU,SAAWA,EAAM,UAAU,OAAO,IAAI,WAAW,SAAU,YAAY,EAAGA,EAAM,UAAU,OAAO,IAAI,aAAa,yNAAyN,OAAQ,YAAY,GAAIA,EAAM,UAAU,GAAKA,EAAM,UAAU,WAAYA,EAAM,UAAU,aAAeA,EAAM,UAAU,OAAO,aAAc,CAAE,QAAS,uUAAwU,SAAU,4DAA6D,EAAGA,EAAM,UAAU,aAAa,YAAY,EAAE,MAAQ,WAAY,OAAOA,EAAM,UAAU,aAAa,UAAW,OAAOA,EAAM,UAAU,aAAa,kBAAkB,EAAGA,EAAM,UAAU,QAAUA,EAAM,UAAU,aAAa,eAAgB,SAAU,CAAE,IAAK,CAAE,QAAS,4EAA6E,WAAY,GAAM,OAAQA,EAAM,UAAU,MAAM,CAAE,CAAE,EAAG,SAAS,EAAG,CACjgN,IAAI,EAAI,YAAa,EAAI,CAAE,QAAS,aAAc,MAAO,UAAU,EACnE,EAAE,UAAU,aAAe,EAAE,UAAU,OAAO,aAAc,CAAE,QAAS,EAAG,OAAQ,CAAC,CAAE,QAAS,yBAA0B,OAAQ,EAAI,EAAI,CAAE,QAAS,yBAA0B,OAAQ,GAAM,OAAQ,CAAE,cAAe,CAAC,CAAE,CAAE,EAAG,QAAS,mSAAoS,eAAgB,CAAE,QAAS,aAAc,MAAO,UAAU,CAAE,CAAE,EAAG,EAAE,UAAU,aAAa,eAAgB,UAAW,CAAE,oBAAqB,CAAE,QAAS,iBAAkB,MAAO,SAAS,EAAI,cAAe,CAAE,QAAS,qBAAsB,MAAO,QAAS,OAAQ,CAAE,QAAS,EAAG,cAAe,CAAC,CAAE,CAAE,CAAE,EAAG,EAAE,UAAU,aAAa,eAAgB,SAAU,CAAE,oBAAqB,CAAE,QAAS,yBAA0B,OAAQ,CAAE,UAAW,CAAE,QAAS,QAAS,MAAO,aAAa,EAAI,OAAQ,CAAE,QAAS,UAAW,MAAO,sBAAuB,OAAQ,EAAE,UAAU,UAAU,CAAE,CAAE,EAAI,mBAAoB,CAAC,CAAE,QAAS,iBAAkB,OAAQ,GAAM,MAAO,QAAQ,EAAI,CAAE,QAAS,iBAAkB,OAAQ,GAAM,MAAO,SAAU,OAAQ,CAAE,cAAe,CAAC,CAAE,CAAE,CAAC,CAAE,EAAG,EAAE,UAAU,aAAa,eAAgB,UAAW,CAAE,SAAU,wBAAwB,CAAE,EAAG,OAAO,EAAE,UAAU,aAAa,iBAAiB,EAAG,EAAE,UAAU,OAAS,EAAE,UAAU,YAC96C,EAAEA,CAAK,EAAG,SAASC,EAAG,CACpB,IAAIzN,EAAIyN,EAAE,UAAU,YAAc,CAAE,UAAW,CAAE,QAAS,iEAAkE,WAAY,IAAQ,QAAS,CAAE,QAAS,wDAAyD,WAAY,EAAI,EAAI,YAAa,MAAM,EACpQ,OAAO,eAAezN,EAAG,aAAc,CAAE,MAAO,SAAS0N,EAAIrO,EAAG,EAC7DqO,EAAiB,OAAOA,GAAnB,SAAwB,CAACA,CAAE,EAAIA,GAAI,QAAQ,SAASC,EAAI,CAC5D,IAAIzO,EAAI,SAAS0O,EAAI,CACnBA,EAAG,SAAWA,EAAG,OAAS,CAAA,GAAKA,EAAG,OAAO,KAAOvO,CAClD,EAAGN,EAAI,cACP,GAAIqI,EAAIqG,EAAE,UAAUE,CAAE,EAAG,CACvB,IAAIvG,EAAGyG,EAAIzG,EAAErI,CAAC,EACd,IAAK8O,EAAIA,IAASzG,EAAIqG,EAAE,UAAU,aAAaE,EAAI,UAAW,CAAE,cAAe,CAAE,QAAS,wCAAyC,WAAY,GAAM,MAAO,SAAS,CAAE,CAAE,GAAG5O,CAAC,aAAc,SAAW8O,EAAIzG,EAAErI,CAAC,EAAI,CAAE,QAAS8O,CAAC,GAAK,MAAM,QAAQA,CAAC,EAC/O,QAAS7O,EAAI,EAAGC,EAAI4O,EAAE,OAAQ7O,EAAIC,EAAGD,IACnC6O,EAAE7O,CAAC,YAAa,SAAW6O,EAAE7O,CAAC,EAAI,CAAE,QAAS6O,EAAE7O,CAAC,CAAC,GAAKE,EAAE2O,EAAE7O,CAAC,CAAC,OAE9DE,EAAE2O,CAAC,CACP,CACF,CAAC,CACH,CAAC,CAAE,EAAG7N,EAAE,WAAW,CAAC,OAAQ,aAAc,KAAK,EAAGA,CAAC,CACrD,EAAEwN,CAAK,EAAG,SAAS,EAAG,CACpB,IAAI,EAAI,8EAA+E,GAAK,EAAE,UAAU,IAAM,CAAE,QAAS,mBAAoB,OAAQ,CAAE,QAAS,OAAO,aAAe,sBAAsB,OAAS,IAAM,EAAE,OAAS,MAAQ,kBAAkB,MAAM,EAAG,OAAQ,CAAE,KAAM,WAAY,6BAA8B,CAAE,QAAS,4FAA6F,WAAY,GAAM,MAAO,UAAU,EAAI,QAAS,CAAE,QAAS,yCAA0C,WAAY,EAAI,CAAE,CAAE,EAAI,IAAK,CAAE,QAAS,OAAO,eAAiB,EAAE,OAAS,IAAM,8BAA8B,OAAS,OAAQ,GAAG,EAAG,OAAQ,GAAM,OAAQ,CAAE,SAAU,QAAS,YAAa,UAAW,OAAQ,CAAE,QAAS,OAAO,IAAM,EAAE,OAAS,GAAG,EAAG,MAAO,KAAK,CAAE,CAAE,EAAI,SAAU,CAAE,QAAS,OAAO,oDAAsD,EAAE,OAAS,eAAe,EAAG,WAAY,EAAI,EAAI,OAAQ,CAAE,QAAS,EAAG,OAAQ,IAAQ,SAAU,CAAE,QAAS,oFAAqF,WAAY,EAAI,EAAI,UAAW,gBAAiB,SAAU,CAAE,QAAS,kCAAmC,WAAY,EAAI,EAAI,YAAa,WAAW,EAAI,EAAE,UAAU,IAAI,OAAO,OAAO,KAAO,EAAE,UAAU,IAAK,EAAE,UAAU,QAC3wC,IAAM,EAAE,IAAI,WAAW,QAAS,KAAK,EAAG,EAAE,IAAI,aAAa,QAAS,KAAK,EAC3E,EAAEA,CAAK,EAAG,SAAS,EAAG,CACpB,IAAI,EAAI,gDAAiD,GAAK,EAAE,UAAU,IAAI,SAAW,CAAE,QAAS,EAAE,UAAU,IAAI,SAAS,QAAS,WAAY,GAAM,OAAQ,EAAI,CAAE,iBAAkB,+DAAgE,eAAgB,UAAW,MAAO,WAAY,GAAI,UAAW,UAAW,CAAE,QAAS,OAAO,mBAAqB,EAAE,OAAS,OAAO,EAAG,OAAQ,GAAM,OAAQ,CAAE,YAAa,UAAW,mBAAoB,CAAE,QAAS,aAAc,WAAY,GAAM,MAAO,SAAS,EAAI,UAAW,CAAE,QAAS,4CAA6C,WAAY,GAAM,OAAQ,CAAE,YAAa,KAAK,CAAE,EAAI,YAAa,CAAE,QAAS,oCAAqC,WAAY,EAAI,EAAI,aAAc,CAAC,EAAG,CAAE,QAAS,4CAA6C,WAAY,EAAI,CAAE,EAAG,SAAU,WAAW,CAAE,EAAI,OAAQ,CAAC,CAAE,QAAS,kDAAmD,WAAY,GAAM,OAAQ,CAAE,OAAQ,SAAU,SAAU,MAAM,CAAE,EAAI,CAAE,QAAS,gCAAiC,WAAY,EAAI,CAAE,EAAG,WAAY,cAAe,YAAa,OAAO,CAAE,EAAI,EAAE,UAAU,IAAI,OAAO,OAAO,4BAA4B,EAAE,OAAS,EAAG,EAAE,UAAU,aAAa,MAAO,WAAY,CAAE,SAAU,CAAE,QAAS,8EAA+E,WAAY,EAAI,CAAE,CAAE,EAAG,CAAE,QAAS,+BAAgC,WAAY,EAAI,GAAK,EAAI,CAAE,QAAS,uCAAwC,WAAY,EAAI,EAC17C,EAAE,UAAU,aAAa,MAAO,WAAY,CAAE,SAAU,CAAE,QAAS,qBAAsB,WAAY,EAAI,EAAI,QAAS,CAAE,QAAS,qBAAsB,MAAO,OAAO,EAAI,MAAO,CAAC,CAAE,QAAS,k7CAAm7C,WAAY,EAAI,EAAI,CAAE,QAAS,4JAA6J,OAAQ,CAAE,KAAM,EAAG,OAAQ,EAAG,SAAU,eAAgB,YAAa,QAAS,CAAE,EAAG,OAAQ,kBAAmB,KAAM,EAAG,OAAQ,EAAG,CAC/6D,EAAEA,CAAK,EAAG,SAAS,EAAG,CACpB,IAAI,EAAI,mBAAoB,EAAI,mFAAoF,EAAI,MAAQ,EAAE,OAAS,WAAa,EAAE,OAAS,MAAQ,EAAE,OAAS,WAAa,EAAE,OAAS,MAAO,EAAI,kJAAkJ,OAAO,QAAQ,WAAY,UAAW,CAC/Y,MAAO,2EAA2E,MACpF,CAAC,EAAGxO,EAAI,8CAA8C,OACtD,SAAS,EAAE0O,EAAII,EAAI,CACjBA,GAAMA,GAAM,IAAI,QAAQ,KAAM,EAAE,EAAI,IACpC,IAAIC,EAAK,yFAAyF,OAAO,QAAQ,YAAa,UAAW,CACvI,OAAO,CACT,CAAC,EAAE,QAAQ,aAAc,UAAW,CAClC,OAAOL,CACT,CAAC,EACD,OAAO,OAAOK,EAAID,CAAE,CACtB,CACA,EAAE,UAAU,KAAO,CAAE,OAAQ,CAAE,QAAS,OAAO,6FAA6F,OAAO,QAAQ,YAAa,UAAW,CACjL,OAAO,CACT,CAAC,CAAC,EAAG,WAAY,GAAM,MAAO,QAAQ,EAAI,QAAS,MAAO,IAAK,CAAE,QAAS,OAAO,kEAAkE,OAAO,QAAQ,YAAa,UAAW,CACxL,OAAO,CACT,CAAC,EAAE,QAAQ,WAAY,UAAW,CAChC,MAAO,MAAQ,EAAI,IAAM9O,EAAI,GAC/B,CAAC,CAAC,EAAG,WAAY,GAAM,OAAQ,GAAM,MAAO,UAAY,UAAW,CAAE,QAAS,gBAAiB,WAAY,GAAM,MAAO,WAAW,EAAI,SAAU,CAAE,QAAS,EAAE,sJAAsJ,MAAM,EAAG,WAAY,GAAM,MAAO,QAAQ,EAAI,QAAS,CAAE,QAAS,EAAE,aAAa,OAAQ,GAAG,EAAG,WAAY,GAAM,MAAO,WAAW,EAAI,KAAM,CAAE,QAAS,EAAE,SAAS,OAAQ,GAAG,EAAG,WAAY,GAAM,MAAO,WAAW,EAAI,OAAQ,CAAE,QAAS,EAAEA,CAAC,EAAG,WAAY,GAAM,OAAQ,EAAI,EAAI,OAAQ,CAAE,QAAS,EAAE,iFAAiF,OAAQ,GAAG,EAAG,WAAY,IAAQ,IAAK,EAAG,UAAW,EAAG,YAAa,6BAA+B,EAAE,UAAU,IAAM,EAAE,UAAU,IAClzB,EAAEwO,CAAK,EAAG,SAASnO,EAAG,CACpB,IAAI,EAAI,2CAA2C,OACnD,SAASW,EAAE0N,EAAI,CACb,OAAOA,EAAKA,EAAG,QAAQ,WAAY,UAAW,CAC5C,OAAO,CACT,CAAC,EAAG,OAAO,0BAA0B,OAAS,MAAQA,EAAK,GAAG,CAChE,CACA,IAAI3O,EAAI,4DAA4D,OAAQqI,EAAI,+CAA+C,OAAO,QAAQ,MAAO,UAAW,CAC9J,OAAOrI,CACT,CAAC,EAAG8O,EAAI,sEAAsE,OAAQJ,GAAKpO,EAAE,UAAU,SAAWA,EAAE,UAAU,OAAO,SAAU,CAAA,CAAE,EAAGA,EAAE,UAAU,aAAa,WAAY,SAAU,CAAE,qBAAsB,CAAE,QAAS,kDAAmD,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,YAAa,YAAa,eAAgB,CAAE,QAAS,iBAAkB,MAAO,CAAC,OAAQ,eAAe,EAAG,OAAQA,EAAE,UAAU,IAAI,CAAE,GAAM,WAAY,CAAE,QAAS,kBAAmB,MAAO,aAAa,EAAI,MAAO,CAAE,QAAS,OAAO,IAAM+H,EAAIyG,EAAI,MAAQzG,EAAI,KAAM,GAAG,EAAG,OAAQ,CAAE,kBAAmB,CAAE,QAAS,OAAO,KAAOA,EAAIyG,EAAI,OAASzG,EAAI,KAAK,EAAG,WAAY,GAAM,OAAQ,CAAE,aAAc,CAAE,QAAS,OAAOrI,CAAC,EAAG,OAAQM,EAAE,UAAU,QAAQ,EAAI,YAAa,IAAI,CAAE,EAAI,aAAc,CAAE,QAAS,OAAO,KAAO+H,EAAI,IAAMyG,EAAI,GAAG,EAAG,WAAY,GAAM,OAAQ,CAAE,YAAa,cAAc,CAAE,EAAI,mBAAoB,CAAE,QAAS,OAAO,IAAMzG,EAAI,GAAG,EAAG,OAAQ,CAAE,eAAgB,CAAE,QAAS,OAAOrI,CAAC,EAAG,MAAO,YAAa,OAAQM,EAAE,UAAU,QAAQ,EAAI,YAAa,IAAI,CAAE,EAAI,EAAI,KAAM,CAAC,CAAE,QAAS,uFAAwF,WAAY,GAAM,MAAO,WAAa,CAAE,QAAS,qBAAsB,OAAQ,GAAM,OAAQ,CAAE,aAAc,CAAE,QAAS,qDAAsD,WAAY,EAAI,EAAI,gBAAiB,CAAE,QAAS,WAAY,WAAY,EAAI,EAAI,YAAa,KAAK,CAAE,CAAE,EAAG,MAAO,CAAC,CAAE,QAAS,0CAA2C,MAAO,YAAa,OAAQ,CAAE,YAAa,WAAW,CAAE,EAAI,CAAE,QAAS,aAAc,WAAY,GAAM,MAAO,YAAa,OAAQ,CAAE,YAAa,SAAS,EAAI,EAAG,GAAI,CAAE,QAAS,wCAAyC,WAAY,GAAM,MAAO,aAAa,EAAI,KAAM,CAAE,QAAS,mCAAoC,WAAY,GAAM,MAAO,aAAa,EAAI,gBAAiB,CAAE,QAAS,qHAAsH,OAAQ,CAAE,SAAU,CAAE,QAAS,gBAAiB,WAAY,EAAI,EAAI,OAAQ,+DAAgE,YAAa,gBAAgB,EAAI,MAAO,KAAK,EAAI,KAAM,CAAE,QAASW,EAAE,kGAAkG,MAAM,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,QAAS,CAAE,QAAS,sBAAuB,WAAY,GAAM,OAAQ,CAAA,GAAM,YAAa,SAAS,CAAE,EAAI,OAAQ,CAAE,QAASA,EAAE,kGAAkG,MAAM,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,QAAS,CAAE,QAAS,oBAAqB,WAAY,GAAM,OAAQ,CAAA,CAAE,EAAI,YAAa,MAAM,GAAM,OAAQ,CAAE,QAASA,EAAE,2BAA2B,MAAM,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,QAAS,CAAE,QAAS,uBAAwB,WAAY,GAAM,OAAQ,EAAE,EAAI,YAAa,KAAK,CAAE,EAAI,eAAgB,CAAE,QAAS,mEAAoE,WAAY,GAAM,OAAQ,GAAM,MAAO,CAAC,OAAQ,SAAS,CAAC,EAAI,IAAK,CAAE,QAASA,EAAE,mGAAmG,MAAM,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,SAAU,KAAM,QAAS,CAAE,QAAS,oBAAqB,WAAY,GAAM,OAAQ,CAAA,CAAE,EAAI,SAAU,CAAE,QAAS,6BAA8B,WAAY,IAAQ,IAAK,CAAE,QAAS,iBAAkB,WAAY,EAAI,EAAI,OAAQ,CAAE,QAAS,oCAAqC,WAAY,EAAI,CAAE,EAAI,CAAE,EAAG,CAAC,MAAO,OAAQ,SAAU,QAAQ,EAAE,QAAQ,SAAS8N,EAAI,CAC5jH,CAAC,MAAO,OAAQ,SAAU,SAAU,cAAc,EAAE,QAAQ,SAASJ,EAAI,CACvEI,IAAOJ,IAAOrO,EAAE,UAAU,SAASyO,CAAE,EAAE,OAAO,QAAQ,OAAOJ,CAAE,EAAIrO,EAAE,UAAU,SAASqO,CAAE,EAC5F,CAAC,CACH,CAAC,EAAGrO,EAAE,MAAM,IAAI,iBAAkB,SAASqO,EAAI,CAC9BA,EAAG,WAAlB,YAAuCA,EAAG,WAAZ,MAAyB,SAASC,EAAGG,EAAI,CACrE,GAAIA,GAAkB,OAAOA,GAAnB,SACR,QAASC,EAAK,EAAGC,EAAKF,EAAG,OAAQC,EAAKC,EAAID,IAAM,CAC9C,IAAIE,EAAIjP,EAAI8O,EAAGC,CAAE,EACN/O,EAAE,OAAb,OAAoB2O,EAAG3O,EAAE,OAAO,GAAKiP,EAAKjP,EAAE,QAAQ,CAAC,EAAGA,EAAIA,EAAE,QAAQ,CAAC,EAAGiP,GAAMjP,GAAyBiP,EAAG,OAAvB,iBAAgDjP,EAAE,OAAnB,cAAuC,OAAOiP,EAAG,SAAtB,WAAkCA,EAAKA,EAAG,QAAQ,QAAQ,OAAQ,OAAO,EAAE,QAAQ,UAAW,IAAI,EAAGA,EAAK,aAAeA,GAAM,eAAe,KAAKA,CAAE,GAAK,CAAC,EAAE,GAAG,CAAC,EAAE,YAAW,GAAKjP,EAAE,MAAoB,OAAOA,EAAE,OAArB,SAA6BA,EAAE,MAAQ,CAACA,EAAE,MAAOiP,CAAE,EAAIjP,EAAE,MAAM,KAAKiP,CAAE,EAAIjP,EAAE,MAAQ,CAACiP,CAAE,GACra,CACJ,EAAEP,EAAG,MAAM,CACb,CAAC,EAAGrO,EAAE,MAAM,IAAI,OAAQ,SAASqO,EAAI,CACnC,GAAqBA,EAAG,OAApB,aAA0B,CAC5B,QAASI,EAAK,GAAIC,EAAK,EAAGC,EAAKN,EAAG,QAAQ,OAAQK,EAAKC,EAAID,IAAM,CAC/D,IAAIE,EAAKP,EAAG,QAAQK,CAAE,EAAGE,EAAK,gBAAgB,KAAKA,CAAE,EACrD,GAAIA,EAAI,CACNH,EAAKG,EAAG,CAAC,EACT,KACF,CACF,CACA,IAAIjP,EAAGC,EAAII,EAAE,UAAUyO,CAAE,EACzB7O,EAAIyO,EAAG,QAAUrO,EAAE,UAAU,SAASsO,EAAI,CACxC,OAAAA,EAAKA,EAAG,QAAQF,EAAG,EAAE,EACdE,EAAKA,EAAG,QAAQ,gCAAiC,SAASC,EAAIM,EAAI,CACvE,IAAIC,EACJ,OAAgBD,EAAKA,EAAG,YAAW,GAAI,CAAC,IAAjC,KAAsCC,EAAaD,EAAG,CAAC,IAAZ,IAAgB,SAASA,EAAG,MAAM,CAAC,EAAG,EAAE,EAAI,OAAOA,EAAG,MAAM,CAAC,CAAC,EAAG9H,EAAE+H,CAAE,GAAKC,EAAEF,CAAE,GAAKN,CACvI,CAAC,CACH,EAAEF,EAAG,OAAO,EAAGzO,EAAG6O,CAAE,EAAIA,GAAiBA,IAAX,QAAiBzO,EAAE,QAAQ,aAAeL,EAAI,MAAyB,IAAI,OAAQ,QAAO,EAAK,IAAM,KAAK,MAAM,KAAO,KAAK,OAAM,CAAE,EAAG0O,EAAG,WAAW,GAAK1O,EAAGK,EAAE,QAAQ,WAAW,cAAcyO,EAAI,UAAW,CAC3O,IAAIH,EAAK,SAAS,eAAe3O,CAAC,EAClC2O,IAAOA,EAAG,UAAYtO,EAAE,UAAUsO,EAAG,YAAatO,EAAE,UAAUyO,CAAE,EAAGA,CAAE,EACvE,CAAC,EACH,CACF,CAAC,EAAG,OAAOzO,EAAE,UAAU,OAAO,IAAI,QAAQ,OAAQ,IAAI,GAAI+O,EAAI,CAAE,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,KAAM,GAAG,EAAIhI,EAAI,OAAO,eAAiB,OAAO,aAC5I/G,EAAE,UAAU,GAAKA,EAAE,UAAU,QAC/B,EAAEmO,CAAK,EAAGA,EAAM,UAAU,QAAU,CAAE,QAAS,MAAO,YAAa,CAAE,QAAS,mEAAoE,OAAQ,GAAM,MAAO,SAAU,OAAQ,CAAE,oBAAqB,CAAE,QAAS,kCAAmC,WAAY,GAAM,OAAQA,EAAM,UAAU,QAAQ,CAAE,GAAM,OAAQ,CAAE,QAAS,iDAAkD,OAAQ,EAAI,EAAI,OAAQ,2CAA4C,QAAS,qBAAsB,SAAU,eAAgB,UAAW,CAAE,QAAS,cAAe,MAAO,UAAU,EAAI,YAAa,CAAE,QAAS,iEAAkE,OAAQ,EAAI,EAAI,aAAc,CAAE,QAAS,oBAAqB,MAAO,YAAY,EAAI,OAAQ,sCAAuC,SAAU,qBAAsB,aAAc,CAAE,QAAS,kFAAmF,WAAY,EAAI,EAAI,SAAU,CAAE,QAAS,+CAAgD,WAAY,GAAM,MAAO,UAAU,EAAI,sBAAuB,CAAE,QAAS,8BAA+B,WAAY,GAAM,MAAO,UAAU,EAAI,mBAAoB,CAAE,QAAS,2BAA4B,WAAY,GAAM,MAAO,UAAU,EAAI,QAAS,uIAAwI,SAAU,eAAgB,iBAAkB,eAAgB,OAAQ,eAAgB,YAAa,iBAAkB,SAAU,OAASA,EAAM,MAAM,IAAI,iBAAkB,SAAS,EAAG,CAC3iD,GAAkB,EAAE,WAAhB,UACF,QAASvO,EAAI,EAAE,OAAO,OAAO,SAASyO,EAAI,CACxC,OAAmB,OAAOA,GAAnB,UAAuCA,EAAG,OAAjB,WAAsCA,EAAG,OAAhB,QAC3D,CAAC,EAAGrO,EAAI,EAAGA,EAAIJ,EAAE,QAAU,CACzB,IAAIC,EAAID,EAAEI,GAAG,EACb,GAAkBH,EAAE,OAAhB,WAAuCA,EAAE,UAAjB,WAA0B,CACpD,IAAIH,EAAI,CAAA,EACR,GAAI,EAAE,CAAC,sBAAuB,aAAa,CAAC,GAAaqH,EAAE,CAAC,EAAE,UAAb,IAAsB,CACrE/G,GAAK,EACL,IAAI+H,EAAIiH,EAAE,OAAQ,MAAM,EACxB,GAAWjH,IAAP,GACF,SACF,KAAO/H,EAAI+H,EAAG/H,IAAK,CACjB,IAAIwO,EAAIzH,EAAE,CAAC,EACIyH,EAAE,OAAjB,aAA0BS,EAAET,EAAG,gBAAgB,EAAG9O,EAAE,KAAK8O,EAAE,OAAO,EACpE,CACAxO,EAAI+H,EAAI,CACV,CACA,GAAI,EAAE,CAAC,cAAe,gBAAgB,CAAC,GAAahB,EAAE,CAAC,EAAE,UAAb,MAAyB/G,IAAKiP,EAAElI,EAAE,CAAC,EAAG,mBAAmB,EAAG,EAAIrH,EAAE,QAAS,CACrH,IAAIC,EAAIqP,EAAE,OAAQ,MAAM,EACxB,GAAWrP,IAAP,GACF,QAASyO,EAAIpO,EAAGoO,EAAIzO,EAAGyO,IAAK,CAC1B,IAAIW,EAAInP,EAAEwO,CAAC,EACIW,EAAE,OAAjB,YAAyB,GAAKrP,EAAE,QAAQqP,EAAE,OAAO,GAAKE,EAAEF,EAAG,gBAAgB,CAC7E,CACJ,CACF,CACF,CACF,SAAShI,EAAEsH,EAAI,CACb,OAAOzO,EAAEI,EAAIqO,CAAE,CACjB,CACA,SAAS,EAAEA,EAAII,EAAI,CACjBA,EAAKA,GAAM,EACX,QAASC,EAAK,EAAGA,EAAKL,EAAG,OAAQK,IAAM,CACrC,IAAIC,EAAK5H,EAAE2H,EAAKD,CAAE,EAClB,GAAI,CAACE,GAAMA,EAAG,OAASN,EAAGK,CAAE,EAC1B,MACJ,CACA,MAAO,EACT,CACA,SAASM,EAAEX,EAAII,EAAI,CACjB,QAASC,EAAK,EAAGC,EAAK3O,EAAG2O,EAAK/O,EAAE,OAAQ+O,IAAM,CAC5C,IAAIC,EAAKhP,EAAE+O,CAAE,EAAGO,EAAKN,EAAG,QACxB,GAAsBA,EAAG,OAArB,eAAyC,OAAOM,GAAnB,UAC/B,GAAIb,EAAG,KAAKa,CAAE,EACZR,YACOD,EAAG,KAAKS,CAAE,GAAW,EAAER,IAAR,EACtB,OAAOC,EAEb,CACA,MAAO,EACT,CACA,SAASM,EAAEZ,EAAII,EAAI,CACjB,IAAIC,EAAKL,EAAG,MACZK,EAAK,MAAM,QAAQA,CAAE,IAAML,EAAG,MAAQK,EAAK,CAACA,CAAE,GAAKL,EAAG,MAAQK,EAAK,CAAA,EAAIA,EAAG,KAAKD,CAAE,CACnF,CACF,CAAC,EAAGN,EAAM,UAAU,IAAM,CAAE,QAAS,CAAE,QAAS,gDAAiD,WAAY,EAAI,EAAI,SAAU,CAAC,CAAE,QAAS,sCAAuC,OAAQ,EAAI,EAAI,UAAU,EAAG,OAAQ,CAAE,QAAS,kDAAmD,OAAQ,GAAM,WAAY,EAAI,EAAI,WAAY,CAAE,QAAS,sCAAuC,OAAQ,GAAM,WAAY,GAAM,OAAQ,CAAE,YAAa,OAAO,CAAE,EAAI,SAAU,4FAA6F,QAAS,u9EAAw9E,QAAS,2BAA4B,OAAQ,4CAA6C,SAAU,+HAAgI,YAAa,aAAa,EAAI,SAASnG,EAAG,CAC7wG,IAAIrH,EAAIqH,EAAE,UAAU,WAAW,iBAAiB,EAAG,EAAIrH,EAAE,QAAQ,OAAQV,EAAIU,EAAE,OAAO,cAAewO,EAAIlP,EAAE,OAAO,2BAA2B,EAAGN,EAAIM,EAAE,QAAQ,OAC9J,SAASJ,EAAEwO,EAAII,EAAI,CACjB,GAAIzG,EAAE,UAAUqG,CAAE,EAChB,MAAO,CAAE,QAAS,OAAO,OAASI,EAAK,SAAW,CAAC,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,uBAAwB,CAAE,QAAS,QAAS,MAAO,QAAQ,EAAI,gBAAiB,CAAE,QAAS,UAAW,MAAOJ,CAAE,CAAE,CAAE,CACvN,CACA,SAASe,EAAEf,EAAII,EAAIC,EAAI,CACrB,OAAAL,EAAK,CAAE,KAAMA,EAAI,QAASI,EAAI,SAAUC,CAAE,EACnC1G,EAAE,MAAM,IAAI,kBAAmBqG,CAAE,EAAGA,EAAG,OAASrG,EAAE,SAASqG,EAAG,KAAMA,EAAG,OAAO,EAAGrG,EAAE,MAAM,IAAI,iBAAkBqG,CAAE,EAAGA,EAAG,MAChI,CACA,SAASD,EAAEO,EAAIN,EAAIG,EAAG,CACpB,IAAIC,EAAKzG,EAAE,SAAS2G,EAAI,CAAE,cAAe,CAAE,QAAS,OAAOhP,CAAC,EAAG,WAAY,EAAI,CAAE,CAAE,EAAGG,EAAI,EAAGkP,EAAI,CAAA,EAAIP,EAAKW,EAAEX,EAAG,IAAI,SAASH,EAAI,CAC9H,GAAgB,OAAOA,GAAnB,SACF,OAAOA,EACT,QAASO,EAAIH,EAAIJ,EAAKA,EAAG,QAAgBK,EAAG,SAASD,EAAK5O,IAAK+O,EAAK,MAAQL,EAAE,cAAgB,IAAME,EAAK,MAAK,IAA5E,IAChC,CACF,OAAOM,EAAEH,CAAE,EAAIP,EAAIO,CACrB,CAAC,EAAE,KAAK,EAAE,EAAGR,EAAIG,CAAC,EAAGS,EAAI,OAAO,KAAKD,CAAC,EACtC,OAAOlP,EAAI,EAAG,SAASwO,EAAGO,EAAI,CAC5B,QAASH,EAAK,EAAGA,EAAKG,EAAG,OAAQH,IAAM,CACrC,GAAI5O,GAAKmP,EAAE,OACT,OACF,IAAII,EAAIT,EAAIM,EAAItP,EAAGI,EAAGsP,EAAIC,EAAIxI,EAAI8H,EAAGH,CAAE,EAC3B,OAAO3H,GAAnB,UAAoC,OAAOA,EAAE,SAArB,UAAgCsI,EAAKJ,EAAEnP,CAAC,GAAWyP,GAAMD,EAAiB,OAAOvI,GAAnB,SAAuBA,EAAIA,EAAE,SAAS,QAAQsI,CAAE,KAAnE,KAA0E,EAAEvP,EAAG8O,EAAKU,EAAG,UAAU,EAAGC,CAAE,EAAGvP,EAAIgP,EAAEK,CAAE,EAAGH,EAAK,QAAStP,EAAI,CAAA,GAAI,2BAA2B,EAAIuP,GAAUvP,EAAIoI,EAAE,SAAShI,EAAGJ,CAAC,GAAG,SAA7B,KAAyCsP,EAAK,CAAC,EAAG,CAAC,GAAG,KAAK,MAAMA,EAAIE,EAAExP,EAAE,CAAC,EAAGoI,EAAE,UAAU,WAAY,YAAY,CAAC,EAAGpI,EAAE,OAAO,MAAMA,EAAGsP,CAAE,GAAIA,EAAK,IAAIlH,EAAE,MAAM,gBAAiBpI,EAAGK,EAAE,MAAOD,CAAC,EAAGJ,EAAI0P,EAAG,UAAUC,EAAKF,EAAG,MAAM,EAAGrP,EAAI,CAAA,EAAI4O,GAAM5O,EAAE,KAAK4O,CAAE,EAAG5O,EAAE,KAAKkP,CAAE,EAAGtP,IAAM0O,EAAGgB,EAAK,CAAC1P,CAAC,CAAC,EAAGI,EAAE,KAAK,MAAMA,EAAGsP,CAAE,GAAgB,OAAOvI,GAAnB,UAAwB8H,EAAG,OAAO,MAAMA,EAAI,CAACH,EAAI,CAAC,EAAE,OAAO1O,CAAC,CAAC,EAAG0O,GAAM1O,EAAE,OAAS,GAAK+G,EAAE,QAAU/G,KAAOuP,EAAKxI,EAAE,QAAS,MAAM,QAAQwI,CAAE,EAAIjB,EAAGiB,CAAE,EAAIjB,EAAG,CAACiB,CAAE,CAAC,EAC/rB,CACF,EAAEd,CAAE,EAAG,IAAIzG,EAAE,MAAMwG,EAAGC,EAAI,YAAcD,EAAGG,CAAE,CAC/C,CACA3G,EAAE,UAAU,WAAW,iBAAiB,EAAI,CAACnI,EAAE,MAAO,0HAA0H,MAAM,EAAGA,EAAE,OAAQ,yCAAyC,MAAM,EAAGA,EAAE,MAAO,QAAQ,MAAM,EAAGA,EAAE,WAAY,oBAAoB,MAAM,EAAGA,EAAE,UAAW,6CAA6C,MAAM,EAAGA,EAAE,MAAO,QAAQ,MAAM,EAAGc,CAAC,EAAE,OAAO,OAAO,EACxa,IAAIoH,EAAI,CAAE,WAAY,GAAM,GAAI,GAAM,WAAY,GAAM,GAAI,GAAM,IAAK,GAAM,IAAK,EAAI,EACtF,SAASgH,EAAEV,EAAI,CACb,OAAmB,OAAOA,GAAnB,SAAwBA,EAAK,MAAM,QAAQA,CAAE,EAAIA,EAAG,IAAIU,CAAC,EAAE,KAAK,EAAE,EAAIA,EAAEV,EAAG,OAAO,CAC3F,CACArG,EAAE,MAAM,IAAI,iBAAkB,SAASqG,EAAI,CACzCA,EAAG,YAAYtG,GAAM,SAASuG,EAAGG,EAAI,CACnC,QAASC,EAAK,EAAGC,EAAKF,EAAG,OAAQC,EAAKC,EAAID,IAAM,CAC9C,IAAIF,EAAGU,EAAItP,EAAGI,EAAIyO,EAAGC,CAAE,EACX,OAAO1O,GAAnB,WAAyBwO,EAAIxO,EAAE,QAAS,MAAM,QAAQwO,CAAC,EAA0BxO,EAAE,OAAxB,mBAAgCA,EAAIwO,EAAE,CAAC,EAASA,EAAE,SAAR,GAA8B,OAAOxO,GAAnB,UAA4CA,EAAE,OAAtB,kBAA+BkP,EAAKH,EAAE/O,CAAC,EAAGA,EAAIA,EAAE,MAAOA,EAAI,MAAM,QAAQA,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAGJ,EAAIoI,EAAE,UAAUhI,CAAC,KAAOwO,EAAE,CAAC,EAAIJ,EAAEc,EAAItP,EAAGI,CAAC,IAAMsO,EAAGE,CAAC,EAAgB,OAAOA,GAAnB,UAAwBF,EAAG,CAACE,CAAC,CAAC,EAC9T,CACF,EAAEH,EAAG,MAAM,CACb,CAAC,CACH,EAAEF,CAAK,EAAG,SAAS,EAAG,CACpB,EAAE,UAAU,WAAa,EAAE,UAAU,OAAO,aAAc,CAAE,aAAc,CAAE,QAAS,+KAAgL,WAAY,GAAM,OAAQ,GAAM,OAAQ,IAAI,EAAI,QAAS,uFAAuF,CAAE,EAAG,EAAE,UAAU,WAAW,QAAQ,KAAK,qDAAsD,2FAA4F,4BAA4B,EAAG,OAAO,EAAE,UAAU,WAAW,UAAW,OAAO,EAAE,UAAU,WAAW,kBAAkB,EACxsB,IAAI,EAAI,EAAE,UAAU,OAAO,aAAc,CAAA,CAAE,EAC3C,OAAO,EAAE,YAAY,EAAG,EAAE,UAAU,WAAW,YAAY,EAAE,OAAS,EAAG,EAAE,UAAU,aAAa,aAAc,WAAY,CAAE,UAAW,CAAE,QAAS,qBAAsB,OAAQ,CAAE,GAAI,CAAE,QAAS,KAAM,MAAO,UAAU,EAAI,SAAU,UAAU,GAAM,mBAAoB,CAAE,QAAS,yGAA0G,OAAQ,GAAM,OAAQ,CAAE,SAAU,4DAA6D,QAAS,CAAE,QAAS,WAAY,MAAO,aAAc,OAAQ,CAAC,CAAE,CAAE,CAAE,CAAE,EAAG,EAAE,UAAU,GAAK,EAAE,UAAU,UACxkB,EAAEA,CAAK,EAAG,SAAS,EAAG,CACpB,IAAI,EAAI,EAAE,UAAU,WAAY,EAAI,2CAA2C,OAAQ,EAAI,2CAA6C,EAAI,UAC5I,EAAE,UAAU,MAAQ,EAAE,UAAU,OAAO,cAAe,CAAE,UAAW,CAAE,QAAS,OAAO,EAAI,uCAAuC,MAAM,EAAG,WAAY,GAAM,OAAQ,CAAE,YAAa,KAAM,CAAE,CAAE,EAAG,EAAE,UAAU,aAAa,QAAS,UAAW,CAAE,qBAAsB,CAAE,QAAS,OAAO,EAAI,wDAAwD,MAAM,EAAG,WAAY,GAAM,OAAQ,CAAE,UAAW,CAAE,QAAS,2BAA4B,WAAY,GAAM,OAAQ,CAAE,YAAa,IAAI,CAAE,EAAI,KAAM,CAAE,QAAS,oBAAqB,WAAY,GAAM,OAAQ,EAAG,MAAO,qBAAqB,EAAI,YAAa,SAAU,EAAI,aAAc,CAAC,CAAE,QAAS,OAAO,mHAAmH,OAAO,QAAQ,UAAW,UAAW,CACjxB,OAAO,CACT,CAAC,CAAC,EAAG,WAAY,GAAM,OAAQ,CAAE,YAAa,IAAI,CAAE,EAAI,CAAE,QAAS,OAAO,gBAAkB,CAAC,EAAG,WAAY,GAAM,OAAQ,CAAE,OAAQ,EAAE,OAAQ,OAAQ,EAAE,OAAQ,QAAS,EAAE,QAAS,QAAS,EAAE,UAAU,WAAW,QAAS,SAAU,oBAAqB,YAAa,iBAAiB,CAAE,CAAE,EAAG,QAAS,CAAE,QAAS,yEAA0E,WAAY,GAAM,OAAQ,CAAE,KAAM,CAAE,QAAS,4BAA6B,WAAY,GAAM,OAAQ,EAAG,MAAO,qBAAqB,CAAE,CAAE,CAAE,CAAE,EAAG,EAAE,UAAU,YAAY,WAAW,aAAc,EAAE,UAAU,KAAK,CACjlB,EAAEA,CAAK,EAAG,SAAS,EAAG,CACpB,EAAE,UAAU,KAAO,EAAE,UAAU,OAAO,aAAc,EAAE,EAAG,EAAE,UAAU,aAAa,OAAQ,UAAW,CAAE,KAAM,CAAC,CAAE,QAAS,gFAAiF,MAAO,YAAY,CAAE,CAAC,CAAE,EAAG,EAAE,UAAU,KAAK,mBAAmB,EAAE,QAAU,uKAAwK,OAAO,EAAE,UAAU,KAAK,UAAW,EAAE,UAAU,aAAa,OAAQ,WAAY,CAAE,mBAAoB,CAAE,QAAS,YAAa,MAAO,cAAe,CAAE,EAAG,MAAM,QAAQ,EAAE,UAAU,KAAK,OAAO,IAAM,EAAE,UAAU,KAAK,QAAU,CAAC,EAAE,UAAU,KAAK,OAAO,GAAI,EAAE,UAAU,KAAK,QAAQ,QAAQ,CAAE,QAAS,kDAAmD,WAAY,IAAQ,CAAE,QAAS,wGAAyG,WAAY,GAAM,CACr7B,EAAEA,CAAK,EAAGA,EAAM,UAAU,KAAOA,EAAM,UAAU,OAAO,aAAc,CAAE,QAAS,iXAAiX,CAAE,EAAGA,EAAM,UAAU,aAAa,OAAQ,WAAY,CAAE,WAAY,CAAE,QAAS,QAAS,MAAO,WAAY,CAAE,EAAGA,EAAM,UAAU,MAAQA,EAAM,UAAU,KAAM,SAAS,EAAG,CAC1mB,SAAS,EAAEE,EAAII,EAAI,CACjB,OAAO,OAAOJ,EAAG,QAAQ,QAAS,UAAW,CAC3C,MAAO,yDAAyD,MAClE,CAAC,EAAGI,CAAE,CACR,CACA,EAAE,UAAU,aAAa,aAAc,oBAAqB,CAAE,kBAAmB,CAAE,QAAS,OAAO,YAAc,EAAE,UAAU,WAAW,mBAAmB,EAAE,QAAQ,MAAM,EAAG,WAAY,GAAM,MAAO,CAAC,oBAAqB,SAAU,WAAY,iBAAiB,CAAC,EAAI,EAAG,EAAE,UAAU,aAAa,aAAc,WAAY,CAAE,OAAQ,CAAE,QAAS,OAAO,YAAc,EAAE,UAAU,WAAW,SAAS,MAAM,EAAG,WAAY,GAAM,MAAO,CAAC,WAAY,iBAAiB,EAAG,CAAE,EAAG,EAAE,UAAU,aAAa,aAAc,WAAY,CAAE,mBAAoB,CAAC,CAAE,QAAS,yOAA0O,MAAO,YAAY,EAAI,CAAE,QAAS,wBAAyB,MAAO,YAAY,CAAE,CAAC,CAAE,EAAG,EAAE,UAAU,aAAa,aAAc,UAAW,CAAE,QAAS,CAAE,QAAS,EAAE,4GAA4G,MAAM,EAAG,WAAY,GAAM,OAAQ,EAAE,UAAU,UAAU,EAAI,QAAS,CAAE,QAAS,EAAE,mEAAmE,MAAM,EAAG,WAAY,GAAM,OAAQ,EAAE,UAAU,UAAU,EAAI,EAAG,EAAE,UAAU,WAAW,QAAQ,QAAQ,CAAE,QAAS,wCAAyC,MAAO,QAAQ,EAAI,CAAE,QAAS,gGAAiG,MAAO,gBAAkB,CAAE,QAAS,WAAY,MAAO,CAAC,OAAQ,KAAK,GAAK,CAAE,QAAS,gBAAiB,MAAO,KAAK,CAAE,EAAG,EAAE,UAAU,aAAa,aAAc,WAAY,CAAE,OAAQ,CAAE,QAAS,QAAS,MAAO,YAAc,MAAO,CAAE,QAAS,KAAM,MAAO,UAAU,CAAE,CAAE,EAAG,EAAE,UAAU,aAAa,aAAc,cAAe,CAAE,kBAAmB,CAAE,QAAS,EAAE,gBAAgB,MAAM,EAAG,WAAY,IAAQ,mBAAoB,CAAE,QAAS,8CAA+C,WAAY,EAAI,EAAI,IAAK,CAAE,QAAS,kFAAmF,MAAO,UAAU,EAAI,QAAS,CAAE,QAAS,qBAAsB,MAAO,YAAY,EAAI,EACznE,QAAS,EAAI,CAAC,WAAY,oBAAqB,SAAU,kBAAmB,iBAAiB,EAAG,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,CACxH,IAAID,EAAI,EAAE,CAAC,EAAG7O,EAAI,EAAE,UAAU,WAAW6O,CAAC,EAAGA,GAAK7O,EAAiB,EAAE,KAAK,KAAKA,CAAC,IAA1B,SAA8B,EAAE,UAAU,WAAW6O,CAAC,EAAI,CAAE,QAAS7O,CAAC,EAAKA,GAAG,QAAU,CAAA,GAC7IA,EAAE,OAAS6O,GAAG,kBAAkB,EAAI,eACvC,CACF,EAAEL,CAAK,EAAG,SAASxO,EAAG,CACpB,IAAIgB,EAAIhB,EAAE,KAAK,MAAMA,EAAE,UAAU,UAAU,EAAG,EAAI,+CAA+C,OAAQ,EAAI,+CAA+C,OAAQ,EAAI,uCAAuC,OAC/M,SAASE,EAAEwO,EAAII,EAAI,CACjB,OAAOJ,EAAKA,EAAG,QAAQ,OAAQ,UAAW,CACxC,OAAO,CACT,CAAC,EAAE,QAAQ,YAAa,UAAW,CACjC,OAAO,CACT,CAAC,EAAE,QAAQ,YAAa,UAAW,CACjC,OAAO,CACT,CAAC,EAAG,OAAOA,EAAII,CAAE,CACnB,CACA,EAAI5O,EAAE,CAAC,EAAE,OAAQF,EAAE,UAAU,IAAMA,EAAE,UAAU,OAAO,SAAUgB,CAAC,EAAGhB,EAAE,UAAU,IAAI,IAAI,QAAUE,EAAE,wIAAwI,MAAM,EAAGF,EAAE,UAAU,IAAI,IAAI,OAAO,IAAI,QAAU,iBAAkBA,EAAE,UAAU,IAAI,IAAI,OAAO,YAAY,EAAE,QAAU,qEAAsEA,EAAE,UAAU,IAAI,IAAI,OAAO,IAAI,OAAO,YAAY,EAAI,4BAA6BA,EAAE,UAAU,IAAI,IAAI,OAAO,QAAUgB,EAAE,QAAShB,EAAE,UAAU,aAAa,SAAU,YAAa,CAAE,OAAQ,CAAE,QAASE,EAAE,WAAW,MAAM,EAAG,OAAQF,EAAE,UAAU,GAAG,CAAE,EAAIA,EAAE,UAAU,IAAI,GAAG,EAAGA,EAAE,UAAU,aAAa,SAAU,eAAgB,CAAE,OAAQ,CAAE,QAASE,EAAE,YAAY,MAAM,EAAG,MAAO,sBAAuB,OAAQ,CAAE,qBAAsB,CAAE,QAAS,WAAY,MAAO,aAAa,EAAI,KAAMF,EAAE,UAAU,GAAG,CAAE,CAAE,EAAIA,EAAE,UAAU,IAAI,GAAG,EACt7B,SAAS,EAAE0O,EAAI,CACb,QAASI,EAAK,CAAA,EAAIC,EAAK,EAAGA,EAAKL,EAAG,OAAQK,IAAM,CAC9C,IAAIC,EAAKN,EAAGK,CAAE,EAAGE,EAAK,GACV,OAAOD,GAAnB,WAAoCA,EAAG,OAAb,OAAqBA,EAAG,QAAQ,CAAC,GAAeA,EAAG,QAAQ,CAAC,EAAE,OAAxB,MAAwCA,EAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAlC,KAA4C,EAAIF,EAAG,QAAUA,EAAGA,EAAG,OAAS,CAAC,EAAE,UAAYzO,EAAE2O,EAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAKF,EAAG,IAAG,EAAcE,EAAG,QAAQA,EAAG,QAAQ,OAAS,CAAC,EAAE,UAA3C,MAAsDF,EAAG,KAAK,CAAE,QAASzO,EAAE2O,EAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAG,aAAc,CAAC,CAAE,EAAI,EAAIF,EAAG,QAA4BE,EAAG,OAArB,eAAqCA,EAAG,UAAX,IAAqBF,EAAGA,EAAG,OAAS,CAAC,EAAE,eAAiB,EAAIA,EAAG,QAAU,EAAIA,EAAGA,EAAG,OAAS,CAAC,EAAE,cAAkCE,EAAG,OAArB,eAAqCA,EAAG,UAAX,IAAqBF,EAAGA,EAAG,OAAS,CAAC,EAAE,eAAiBG,EAAK,KAAQA,GAAkB,OAAOD,GAAnB,WAA0B,EAAIF,EAAG,QAAgBA,EAAGA,EAAG,OAAS,CAAC,EAAE,eAAxB,IAAyCG,EAAK5O,EAAE2O,CAAE,EAAGD,EAAKL,EAAG,OAAS,IAAkB,OAAOA,EAAGK,EAAK,CAAC,GAA5B,UAAkDL,EAAGK,EAAK,CAAC,EAAE,OAA5B,gBAAsCE,GAAM5O,EAAEqO,EAAGK,EAAK,CAAC,CAAC,EAAGL,EAAG,OAAOK,EAAK,EAAG,CAAC,GAAI,EAAIA,IAAmB,OAAOL,EAAGK,EAAK,CAAC,GAA5B,UAAkDL,EAAGK,EAAK,CAAC,EAAE,OAA5B,gBAAsCE,EAAK5O,EAAEqO,EAAGK,EAAK,CAAC,CAAC,EAAIE,EAAIP,EAAG,OAAOK,EAAK,EAAG,CAAC,EAAGA,KAAOL,EAAGK,CAAE,EAAI,IAAI/O,EAAE,MAAM,aAAciP,EAAI,KAAMA,CAAE,GAAID,EAAG,SAAuB,OAAOA,EAAG,SAAtB,UAAiC,EAAEA,EAAG,OAAO,CACtkC,CACF,CACA,IAAI3O,EAAI,SAASqO,EAAI,CACnB,OAAOA,EAAiB,OAAOA,GAAnB,SAAwBA,EAAiB,OAAOA,EAAG,SAAtB,SAAgCA,EAAG,QAAUA,EAAG,QAAQ,IAAIrO,CAAC,EAAE,KAAK,EAAE,EAAI,EACrH,EACAL,EAAE,MAAM,IAAI,iBAAkB,SAAS0O,EAAI,CAC/BA,EAAG,WAAb,OAAmCA,EAAG,WAAb,OAAyB,EAAEA,EAAG,MAAM,CAC/D,CAAC,CACH,EAAEF,CAAK,EAAG,SAAS,EAAG,CACpB,IAAI,EAAI,EAAE,KAAK,MAAM,EAAE,UAAU,UAAU,EAAG,GAAK,EAAE,UAAU,IAAM,EAAE,UAAU,OAAO,MAAO,CAAC,EAAG,OAAO,EAAE,UAAU,IAAI,UAAW,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAG,EAAE,UAAU,IAAI,KACjM,EAAE,QAAU,OAAO,qBAAqB,OAAS,MAAQ,EAAE,QAAQ,OAAS,IAAK,EAAE,QAAQ,KAAK,EAAG,EAAE,WAAa,EACpH,EAAEA,CAAK,EAAGA,EAAM,UAAU,MAAQ,CAAE,QAAS,CAAE,QAAS,uFAAwF,WAAY,GAAM,OAAQ,IAAQ,iBAAkB,CAAC,CAAE,QAAS,OAAO,YAAY,OAAS,MAAQ,8DAA8D,OAAS,IAAM,iEAAiE,OAAS,IAAM,WAAW,MAAM,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,cAAe,CAAE,QAAS,oCAAqC,WAAY,GAAM,OAAQ,IAAI,EAAI,4BAA6B,CAAE,QAAS,YAAa,MAAO,aAAa,EAAI,YAAa,eAAgB,OAAQ,SAAS,CAAE,EAAI,CAAE,QAAS,OAAO,gBAAgB,OAAS,MAAQ,gEAAgE,OAAS,IAAM,2DAA2D,OAAS,MAAM,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,cAAe,CAAE,QAAS,sCAAuC,WAAY,GAAM,OAAQ,IAAI,EAAI,4BAA6B,CAAE,QAAS,cAAe,MAAO,aAAa,EAAI,OAAQ,SAAS,CAAE,CAAE,EAAG,UAAW,CAAE,QAAS,OAAO,IAAI,OAAS,MAAQ,kBAAkB,OAAS,WAAa,8GAA8G,OAAS,MAAQ,mBAAmB,OAAS,GAAG,EAAG,MAAO,WAAY,OAAQ,CAAE,iBAAkB,QAAS,QAAS,qBAAsB,OAAQ,oBAAqB,SAAU,mBAAoB,YAAa,QAAS,EAAI,QAAS,CAAE,QAAS,2FAA4F,MAAO,UAAU,EAAI,kBAAmB,CAAE,QAAS,SAAU,MAAO,UAAU,EAAI,UAAW,CAAE,QAAS,OAAQ,MAAO,QAAQ,EAAI,sBAAuB,CAAE,QAAS,iBAAkB,WAAY,GAAM,MAAO,UAAU,EAAI,MAAO,CAAE,QAAS,2EAA4E,WAAY,GAAM,MAAO,aAAe,QAAS,unBAAwnB,QAAS,qBAAsB,IAAK,CAAE,QAAS,UAAW,MAAO,UAAU,EAAI,iBAAkB,UAAW,KAAM,CAAE,QAAS,QAAS,MAAO,WAAa,OAAQ,kFAAmF,aAAc,kCAAmC,SAAU,wBAAyB,SAAU,sCAAuC,SAAU,0CAA2C,YAAa,iBAAiB,EAAIA,EAAM,UAAU,MAAM,gBAAgB,EAAE,QAAQ,SAAS,EAAG,CAC3nG,EAAE,OAAO,cAAc,OAASA,EAAM,UAAU,KAClD,CAAC,EAAG,SAAS,EAAG,CACd,EAAE,UAAU,OAAS,EAAE,UAAU,OAAO,QAAS,CAAE,QAAS,CAAE,QAAS,2bAA4b,WAAY,EAAI,EAAI,SAAU,CAAC,CAAE,QAAS,iCAAkC,OAAQ,EAAI,EAAI,CAAE,QAAS,mCAAoC,WAAY,GAAM,OAAQ,GAAM,EAAG,OAAQ,kIAAmI,SAAU,uGAAwG,EAAG,OAAO,EAAE,UAAU,OAAO,YAAY,EACv9B,IAAI,EAAI,CAAE,4BAA6B,CAAE,QAAS,aAAc,MAAO,aAAa,EAAI,WAAY,CAAE,QAAS,UAAW,OAAQ,EAAE,UAAU,OAAQ,EACtJ,EAAE,UAAU,aAAa,SAAU,SAAU,CAAE,iBAAkB,CAAC,CAAE,QAAS,2CAA4C,MAAO,YAAa,OAAQ,CAAE,cAAe,CAAE,QAAS,8BAA+B,OAAQ,GAAK,OAAQ,SAAS,CAAE,EAAI,CAAE,QAAS,iDAAkD,MAAO,aAAc,OAAQ,CAAE,cAAe,CAAE,QAAS,qDAAsD,WAAY,GAAM,OAAQ,CAAC,EAAI,OAAQ,UAAW,CAAE,EAAG,KAAM,CAAE,QAAS,6CAA8C,OAAQ,GAAM,CAAE,EAAG,OAAO,EAAE,UAAU,OAAO,OAAQ,EAAE,UAAU,aAAa,SAAU,UAAW,CAAE,WAAY,CAAE,QAAS,sCAAuC,MAAO,SAAS,CAAE,CAAE,EAAG,EAAE,UAAU,aAAa,SAAU,WAAY,CAAE,MAAO,CAAE,QAAS,gBAAiB,MAAO,QAAQ,CAAE,CAAE,EAAG,EAAE,UAAU,GAAK,EAAE,UAAU,OAAQ,EAAE,UAAU,IAAM,EAAE,UAAU,MAC/3B,EAAEA,CAAK,EAAGA,EAAM,UAAU,EAAIA,EAAM,UAAU,OAAO,QAAS,CAAE,QAAS,CAAE,QAAS,sEAAuE,OAAQ,EAAI,EAAI,OAAQ,CAAE,QAAS,sCAAuC,OAAQ,EAAI,EAAI,aAAc,CAAE,QAAS,mFAAoF,WAAY,EAAI,EAAI,QAAS,oVAAqV,SAAU,wBAAyB,OAAQ,oHAAqH,SAAU,kDAAmD,EAAGA,EAAM,UAAU,aAAa,IAAK,SAAU,CAAE,KAAM,CAAE,QAAS,2CAA4C,OAAQ,EAAI,CAAE,CAAE,EAAGA,EAAM,UAAU,aAAa,IAAK,SAAU,CAAE,MAAO,CAAE,QAAS,4FAA6F,WAAY,GAAM,OAAQ,GAAM,MAAO,WAAY,OAAQ,CAAE,OAAQ,CAAC,CAAE,QAAS,2BAA4B,WAAY,EAAI,EAAIA,EAAM,UAAU,EAAE,MAAM,EAAG,KAAMA,EAAM,UAAU,EAAE,KAAM,QAASA,EAAM,UAAU,EAAE,QAAS,aAAc,CAAC,CAAE,QAAS,+BAAgC,WAAY,IAAQ,CAAE,QAAS,+BAAgC,WAAY,GAAM,MAAO,UAAU,CAAE,EAAG,UAAW,CAAE,QAAS,gBAAiB,WAAY,GAAM,MAAO,SAAS,EAAI,iBAAkB,KAAM,YAAa,kBAAmB,WAAY,CAAE,QAAS,YAAa,OAAQA,EAAM,UAAU,CAAC,EAAI,CAAE,CAAE,EAAGA,EAAM,UAAU,aAAa,IAAK,WAAY,CAAE,SAAU,4HAA4H,CAAE,EAAG,OAAOA,EAAM,UAAU,EAAE,QAASA,EAAM,UAAU,WAAaA,EAAM,UAAU,OAAO,IAAK,CAAE,OAAQ,CAAE,QAAS,wCAAyC,OAAQ,EAAI,EAAI,QAAS,wYAAyY,SAAU,uDAAuD,CAAE,EAAG,OAAOA,EAAM,UAAU,WAAW,YAAY,EAAGA,EAAM,UAAU,KAAOA,EAAM,UAAU,WAAYA,EAAM,UAAU,OAASA,EAAM,UAAU,OAAO,QAAS,CAAE,OAAQ,CAAE,QAAS,sCAAuC,OAAQ,EAAI,EAAI,aAAc,aAAc,QAAS,4RAA6R,SAAU,qGAAqG,CAAE,EAAGA,EAAM,UAAU,aAAa,SAAU,aAAc,CAAE,KAAM,CAAE,QAAS,gEAAiE,OAAQ,EAAI,EAAI,YAAa,wBAAyB,MAAO,CAAE,QAAS,mBAAoB,MAAO,QAAQ,CAAE,CAAE,EAAG,OAAOA,EAAM,UAAU,OAAO,SAAU,SAAS,EAAG,CACniH,QAAS,EAAI,8CAA8C,OAAQ,EAAI,EAAG,EAAI,EAAG,IAC/E,EAAI,EAAE,QAAQ,UAAW,UAAW,CAClC,OAAO,CACT,CAAC,EACH,EAAI,EAAE,QAAQ,UAAW,UAAW,CAClC,MAAO,UAAU,MACnB,CAAC,EAAG,EAAE,UAAU,KAAO,CAAE,QAAS,CAAC,CAAE,QAAS,OAAO,YAAY,OAAS,CAAC,EAAG,WAAY,GAAM,OAAQ,EAAI,EAAI,CAAE,QAAS,mBAAoB,WAAY,GAAM,OAAQ,EAAI,CAAE,EAAG,OAAQ,CAAE,QAAS,wDAAyD,OAAQ,EAAI,EAAI,KAAM,CAAE,QAAS,2EAA4E,OAAQ,EAAI,EAAI,UAAW,CAAE,QAAS,8CAA+C,OAAQ,GAAM,MAAO,YAAa,OAAQ,CAAE,OAAQ,IAAI,GAAM,iBAAkB,CAAE,QAAS,2DAA4D,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,sBAAuB,CAAE,QAAS,UAAW,MAAO,aAAa,EAAI,KAAM,IAAI,CAAE,EAAI,sBAAuB,CAAE,QAAS,OAAQ,MAAO,QAAQ,EAAI,qBAAsB,CAAE,QAAS,iBAAkB,WAAY,GAAM,MAAO,aAAa,EAAI,SAAU,QAAS,sBAAuB,CAAE,QAAS,eAAgB,WAAY,GAAM,MAAO,UAAU,EAAI,kBAAmB,CAAE,QAAS,6CAA8C,WAAY,GAAM,MAAO,cAAgB,qBAAsB,CAAC,CAAE,QAAS,qCAAsC,WAAY,GAAM,MAAO,WAAW,EAAI,CAAE,QAAS,wFAAyF,WAAY,GAAM,MAAO,YAAa,OAAQ,CAAE,YAAa,IAAI,CAAE,CAAE,EAAG,QAAS,CAAC,8RAA+R,8DAA8D,EAAG,SAAU,kCAAmC,MAAO,CAAE,QAAS,SAAU,MAAO,UAAU,EAAI,SAAU,sBAAuB,aAAc,eAAgB,UAAW,CAAE,QAAS,6DAA8D,OAAQ,CAAE,YAAa,IAAI,CAAE,EAAI,OAAQ,6KAA8K,QAAS,qBAAsB,YAAa,mCAAoC,SAAU,uDAAyD,EAAE,UAAU,KAAK,gBAAgB,EAAE,OAAO,KAAO,EAAE,UAAU,KAAM,EAAE,UAAU,KAAK,UAAU,OAAO,OAAS,EAAE,UAAU,KAAK,MACn7E,EAAEA,CAAK,EAAGA,EAAM,UAAU,GAAKA,EAAM,UAAU,OAAO,QAAS,CAAE,OAAQ,CAAE,QAAS,yCAA0C,WAAY,GAAM,OAAQ,EAAI,EAAI,QAAS,sKAAuK,QAAS,gCAAiC,OAAQ,CAAC,+BAAgC,gFAAiF,oEAAoE,EAAG,SAAU,wFAAyF,QAAS,0LAA0L,CAAE,EAAGA,EAAM,UAAU,aAAa,KAAM,SAAU,CAAE,KAAM,CAAE,QAAS,6BAA8B,OAAQ,EAAI,CAAE,CAAE,EAAG,OAAOA,EAAM,UAAU,GAAG,YAAY,EAAG,SAAS,EAAG,CAC1gC,IAAI,EAAI,osBAAqsB,EAAI,uCAAuC,OAAO,QAAQ,aAAc,UAAW,CAC9xB,OAAO,EAAE,MACX,CAAC,EACD,EAAE,UAAU,IAAM,EAAE,UAAU,OAAO,IAAK,CAAE,aAAc,CAAC,CAAE,QAAS,OAAO,gEAAgE,OAAO,QAAQ,aAAc,UAAW,CACnL,OAAO,EAAE,MACX,CAAC,CAAC,EAAG,WAAY,EAAI,EAAI,iCAAkC,oCAAqC,gEAAgE,EAAG,QAAS,EAAG,OAAQ,CAAE,QAAS,iJAAkJ,OAAQ,EAAI,EAAI,SAAU,yHAA0H,QAAS,oBAAoB,CAAE,EAAG,EAAE,UAAU,aAAa,MAAO,SAAU,CAAE,OAAQ,CAAE,QAAS,OAAO,2BAA2B,OAAS,MAAQ,mDAAmD,OAAS,IAAM,kDAAkD,OAAO,QAAQ,cAAe,UAAW,CACvxB,OAAO,CACT,CAAC,EAAI,GAAG,EAAG,WAAY,GAAM,OAAQ,GAAM,OAAQ,CAAE,OAAQ,eAAgB,SAAU,IAAK,YAAa,KAAM,EAAI,aAAc,CAAE,QAAS,oCAAqC,MAAO,SAAU,OAAQ,EAAI,EAAI,EAAG,EAAE,UAAU,aAAa,MAAO,UAAW,CAAE,mBAAoB,CAAE,QAAS,8DAA+D,OAAQ,CAAE,SAAU,OAAQ,QAAS,CAAE,QAAS,WAAY,MAAO,aAAc,OAAQ,EAAE,UAAU,GAAG,CAAE,EAAI,CAAE,EAAG,EAAE,UAAU,aAAa,MAAO,WAAY,CAAE,eAAgB,CAAE,QAAS,KAAM,MAAO,aAAa,CAAE,CAAE,EAAG,EAAE,UAAU,aAAa,MAAO,aAAc,CAAE,cAAe,CAAE,QAAS,6EAA8E,WAAY,GAAM,OAAQ,GAAM,OAAQ,EAAE,UAAU,OAAO,MAAO,CAAA,CAAE,CAAC,CAAE,CAAE,EAAG,EAAE,UAAU,aAAa,SAAU,eAAgB,CAAE,aAAc,yBAAyB,EAAI,EAAE,UAAU,IAAI,aAAa,CAAC,CACj6B,EAAEA,CAAK,EAAGA,EAAM,UAAU,OAAS,CAAE,QAAS,CAAE,QAAS,eAAgB,WAAY,GAAM,OAAQ,IAAQ,uBAAwB,CAAE,QAAS,sEAAuE,OAAQ,GAAM,OAAQ,CAAE,cAAe,CAAE,QAAS,sFAAuF,WAAY,GAAM,OAAQ,CAAE,cAAe,CAAE,QAAS,sBAAuB,WAAY,IAAQ,oBAAqB,CAAE,QAAS,kBAAmB,MAAO,aAAa,EAAI,KAAM,IAAI,CAAE,EAAI,OAAQ,SAAS,CAAE,EAAI,uBAAwB,CAAE,QAAS,uCAAwC,OAAQ,GAAM,MAAO,QAAQ,EAAI,OAAQ,CAAE,QAAS,mDAAoD,OAAQ,EAAI,EAAI,SAAU,CAAE,QAAS,4CAA6C,WAAY,EAAI,EAAI,aAAc,CAAE,QAAS,mBAAoB,WAAY,IAAQ,UAAW,CAAE,QAAS,2BAA4B,WAAY,GAAM,MAAO,CAAC,aAAc,aAAa,EAAG,OAAQ,CAAE,YAAa,IAAI,CAAE,EAAI,QAAS,wNAAyN,QAAS,shBAAuhB,QAAS,0BAA2B,OAAQ,mJAAoJ,SAAU,uDAAwD,YAAa,eAAe,EAAIA,EAAM,UAAU,OAAO,sBAAsB,EAAE,OAAO,cAAc,OAAO,KAAOA,EAAM,UAAU,OAAQA,EAAM,UAAU,GAAKA,EAAM,UAAU,OAAQA,EAAM,UAAU,KAAO,CAAE,SAAU,CAAE,QAAS,yCAA0C,WAAY,GAAM,OAAQ,EAAI,EAAI,OAAQ,CAAE,QAAS,yCAA0C,WAAY,GAAM,OAAQ,IAAQ,QAAS,CAAE,QAAS,gCAAiC,OAAQ,EAAI,EAAI,OAAQ,qCAAsC,YAAa,WAAY,SAAU,IAAK,QAAS,qBAAsB,KAAM,CAAE,QAAS,WAAY,MAAO,SAAS,GAAMA,EAAM,UAAU,YAAcA,EAAM,UAAU,KAGrsF,IAAIqB,GAAiB,CAAA,EACrB/G,GAAS+G,GAAgB,CACvB,QAAS,IAAMC,GACf,YAAa,IAAMC,GACnB,aAAc,IAAMC,GACpB,OAAQ,IAAMC,GACd,oBAAqB,IAAMC,GAC3B,qBAAsB,IAAMC,GAC5B,aAAc,IAAMC,GACpB,cAAe,IAAMC,GACrB,SAAU,IAAMC,GAChB,cAAe,IAAMC,GACrB,YAAa,IAAMC,GACnB,QAAS,IAAMC,GACf,QAAS,IAAMC,GACf,SAAU,IAAMC,GAChB,UAAW,IAAMC,GACjB,eAAgB,IAAMC,GACtB,YAAa,IAAMC,GACnB,SAAU,IAAMC,GAChB,OAAQ,IAAMC,GACd,QAAS,IAAMC,EACjB,CAAC,EAGD,IAAIC,GAAQ,CACV,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,SAAU,WAAY,SAAS,EACvC,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,UAAU,EAC9B,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,kBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,cAAe,QAAQ,EAC/B,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,OAAQ,MAAO,UAAU,EAC3C,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,UAAU,EAC7B,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,oBACf,CACA,CACA,CACA,EACIpB,GAAkBoB,GAGlBC,GAAS,CACX,MAAO,CACL,gBAAiB,UACjB,MAAO,SACX,EACE,OAAQ,CACN,CACE,MAAO,CAAC,UAAW,SAAU,UAAW,QAAS,aAAa,EAC9D,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,QAAS,EACjB,CACA,EACI,CACE,MAAO,CAAC,MAAO,WAAY,QAAQ,EACnC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,UAAU,EAC9B,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,WAAY,WAAW,EACzC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CACL,UACA,SACA,SACA,MACA,aACA,UACA,UACA,YACA,OACA,YACA,QACA,SACA,cACA,UACR,EACM,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,mBAAoB,cAC5B,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,mBAAoB,WAC5B,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,YAAa,MAAM,EAC3B,MAAO,CACL,WAAY,MACpB,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,SACf,CACA,CACA,CACA,EACIpB,GAAsBoB,GAGtBC,GAAS,CACX,MAAO,CACL,gBAAiB,UACjB,MAAO,SACX,EACE,OAAQ,CACN,CACE,MAAO,CAAC,UAAW,SAAU,UAAW,QAAS,aAAa,EAC9D,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,QAAS,EACjB,CACA,EACI,CACE,MAAO,CAAC,MAAO,WAAY,QAAQ,EACnC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,UAAU,EAC9B,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,WAAY,WAAW,EACzC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CACL,UACA,SACA,SACA,MACA,aACA,UACA,UACA,YACA,OACA,YACA,QACA,QACR,EACM,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,cAAe,UAAU,EACjC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,mBAAoB,cAC5B,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,mBAAoB,WAC5B,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,YAAa,MAAM,EAC3B,MAAO,CACL,WAAY,MACpB,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,SACf,CACA,CACA,CACA,EACIpB,GAAuBoB,GAGvBC,GAAS,CACX,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,UAAW,SAAU,UAAW,OAAO,EAC/C,MAAO,CACL,MAAO,UACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,QAAS,EACjB,CACA,EACI,CACE,MAAO,CAAC,SAAU,YAAY,EAC9B,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,cAAe,UAAU,EACjC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CACL,SACA,MACA,SACA,SACA,UACA,WACA,WACA,WACA,QACA,UACR,EACM,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,UAAW,YAAa,UAAU,EACpD,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,UAAW,KAAK,EACpC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,mBAAmB,EAC3B,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,MAAO,WAAY,SAAS,EACpC,MAAO,CACL,MAAO,SACf,CACA,CACA,CACA,EACIpB,GAAiBoB,GAGjBC,GAAS,CACX,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,0BACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,WAAY,WAAW,EAC/B,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,oBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAU,KAAK,EACvB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,OAAQ,WAAY,UAAU,EACjD,MAAO,CACL,MAAO,oBACf,CACA,EACI,CAGE,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,SAAS,EAC7B,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,MAAO,WAAY,SAAS,EACpC,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,oBACf,CACA,CACA,CACA,EACIhB,GAAmBgB,GAGnBC,GAAS,CACX,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,0BACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,WAAY,WAAW,EAC/B,MAAO,CACL,MAAO,oBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAU,UAAW,OAAQ,WAAY,KAAK,EACtD,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,MAAO,kBACf,CACA,EACI,CAGE,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,WAAY,SAAS,EACzC,MAAO,CACL,MAAO,oBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,MAAO,iBACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,WAAY,UAAW,WAAW,EACtD,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,kBACf,CACA,CACA,CACA,EACIhB,GAAwBgB,GAGxBC,EAAS,CACX,KAAM,UACN,QAAS,UACT,QAAS,UACT,UAAW,UACX,OAAQ,UACR,SAAU,UACV,QAAS,UAET,IAAK,UACL,SAAU,UACV,UAAW,SAGb,EACIC,GAAS,CACX,MAAO,CACL,gBAAiB,UACjB,MAAO,SACX,EACE,OAAQ,CACN,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAOD,EAAO,OACtB,CACA,EACI,CACE,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,MAAOA,EAAO,MACtB,CACA,EACI,CACE,MAAO,CACL,UACA,gBACA,SACA,UACA,QACA,SACR,EACM,MAAO,CACL,MAAOA,EAAO,OACtB,CACA,EACI,CACE,MAAO,CACL,WACA,SACA,gBACA,WACA,SACA,SACR,EACM,MAAO,CACL,MAAOA,EAAO,SACtB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAOA,EAAO,OACtB,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,MAAO,CACL,MAAOA,EAAO,GACtB,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,MAAOA,EAAO,MACtB,CACA,EACI,CACE,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,MAAOA,EAAO,MACtB,CACA,EACI,CACE,MAAO,CAAC,WAAY,OAAQ,UAAW,UAAU,EACjD,MAAO,CACL,MAAOA,EAAO,IACtB,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAOA,EAAO,QACtB,CACA,EACI,CACE,MAAO,CAAC,WAAY,SAAU,MAAO,UAAU,EAC/C,MAAO,CACL,MAAOA,EAAO,QACtB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAOA,EAAO,OACtB,CACA,EACI,CACE,MAAO,CAAC,SAAU,YAAY,EAC9B,MAAO,CACL,MAAOA,EAAO,SACtB,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,WAAY,KACpB,CACA,EACI,CACE,MAAO,CAAC,MAAM,EACd,MAAO,CACL,WAAY,MACpB,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,QAAS,EACjB,CACA,CACA,CACA,EACIhB,GAAsBiB,GAGtBC,GAAS,CACX,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,UACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,UACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAU,KAAK,EACvB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,OAAQ,WAAY,WAAY,YAAY,EAC/D,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,SAAS,EAC7B,MAAO,CACL,MAAO,UACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,MAAO,WAAY,SAAS,EACpC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,qBACP,QAAS,EACjB,CACA,EACI,CACE,MAAO,CAAC,MAAO,UAAU,EACzB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,MAAM,EACd,MAAO,CACL,MAAO,SACf,CACA,CACA,CACA,EACIjB,GAAkBiB,GAGlBC,GAAS,CACX,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAU,UAAU,EAC5B,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,OAAQ,WAAY,UAAU,EACjD,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,cAAe,UAAU,EACjC,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,aAAc,WAAW,EACjC,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,MAAO,SAAS,EACxB,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,qBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,MAAO,CACL,MAAO,oBACf,CACA,CACA,CACA,EACIf,GAAoBe,GAGpBC,GAAU,CACZ,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,yBACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,oBACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,KAAK,EACvB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,SAAS,EAC3B,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CACL,UACA,WACA,WACA,YACA,MACA,WACA,SACR,EACM,MAAO,CACL,MAAO,kBACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,OAAQ,WAAY,WAAY,YAAY,EAC/D,MAAO,CACL,MAAO,kBACf,CACA,CACA,CACA,EACIf,GAAyBe,GAGzBC,GAAU,CACZ,MAAO,CACL,gBAAiB,mDACjB,gBAAiB,UACjB,MAAO,UACP,WAAY,oDAChB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,UAAW,gBAAiB,SAAU,UAAW,OAAO,EAChE,MAAO,CACL,MAAO,UACP,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,MAAO,MACf,CACA,EACI,CACE,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AAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,UAAW,CAAC,QAAQ,EACpB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,cAAe,UAAU,EACjC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,aAAa,EACrB,UAAW,CAAC,QAAQ,EACpB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,MAAM,EACd,MAAO,CACL,MAAO,SACf,CACA,CACA,CACA,EACI7B,GAAuB6B,GAGvBC,GAAU,CACZ,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,UAAW,UAAW,2BAA2B,EACpE,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,UAAU,EAC5B,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,YAAa,UAAU,EAC/B,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,SAAU,aAAc,sBAAsB,EACjE,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,UAAW,CAAC,QAAQ,EACpB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,cAAe,UAAU,EACjC,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,aAAa,EACrB,UAAW,CAAC,QAAQ,EACpB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,MAAM,EACd,MAAO,CACL,MAAO,SACf,CACA,CACA,CACA,EACI7B,GAAwB6B,GAGxBC,GAAU,CACZ,MAAO,CACL,gBAAiB,qBACjB,MAAO,qBACP,WAAY,0BAChB,EACE,OAAQ,CACN,CACE,MAAO,CAAC,UAAW,SAAU,OAAO,EACpC,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,cAAe,QAAQ,EAC1C,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CACL,YACA,aACA,mBACA,UACA,WACA,SACA,QACR,EACM,MAAO,CAAE,MAAO,mBAAmB,CACzC,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CAAE,MAAO,oBAAoB,CAC1C,EACI,CACE,MAAO,CAAC,WAAY,MAAO,SAAU,UAAW,WAAW,EAC3D,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CACL,WACA,SACA,OACA,UACA,WACA,QACA,YACR,EACM,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,WAAY,UAAU,EAC1C,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,mBAAoB,cAC5B,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,mBAAoB,WAC5B,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,YAAa,MAAM,EAC3B,MAAO,CACL,WAAY,MACpB,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,oBACf,CACA,CACA,CACA,EACIzB,GAAkByB,GAGlBC,GAAU,CACZ,MAAO,CACL,gBAAiB,oBACjB,MAAO,mBACX,EACE,OAAQ,CACN,CACE,MAAO,CAAC,UAAW,SAAU,OAAO,EACpC,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,cAAe,QAAQ,EAC1C,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CACL,YACA,aACA,UACA,WACA,SACA,QACR,EACM,MAAO,CACL,MAAO,mBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,MAAO,SAAU,UAAW,WAAW,EAC3D,MAAO,CACL,MAAO,kBACf,CACA,EACI,CACE,MAAO,CACL,WACA,SACA,OACA,UACA,WACA,QACA,aACA,aACR,EACM,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,WAAY,UAAU,EAC1C,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,MAAO,CACL,MAAO,oBACf,CACA,EACI,CACE,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,mBAAoB,cAC5B,CACA,EACI,CACE,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,mBAAoB,WAC5B,CACA,EACI,CACE,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,UAAW,QACnB,CACA,EACI,CACE,MAAO,CAAC,YAAa,MAAM,EAC3B,MAAO,CACL,WAAY,MACpB,CACA,EACI,CACE,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,MAAO,mBACf,CACA,CACA,CACA,EACIzB,GAAmByB,GAGnBC,GAAU,CACZ,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CACL,UACA,aACA,mBACA,WACA,UACA,UACA,UACR,EACM,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,iBAAiB,EACzB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,YAAa,OAAQ,MAAO,OAAO,EAC3C,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,aAAc,QAAQ,EAC9B,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,SAAU,QAAS,WAAY,UAAU,EAC5D,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CACL,YACA,UACA,UACA,WACA,YACA,SACA,WACA,WACA,SACR,EACM,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,SAAU,QAAQ,EACpC,MAAO,CACL,MAAO,SACf,CACA,CACA,CACA,EACInC,GAA8BmC,GAG9BC,GAAU,CACZ,MAAO,CACL,MAAO,UACP,gBAAiB,SACrB,EACE,OAAQ,CACN,CACE,MAAO,CACL,YACA,UACA,UACA,WACA,YACA,SACA,WACA,WACA,SACR,EACM,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CACL,UACA,aACA,mBACA,WACA,UACA,SACR,EACM,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,YAAY,EAC9B,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,iBAAiB,EACzB,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,WAAY,YAAa,OAAQ,KAAK,EAC9C,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,KAAK,EACb,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,UAAW,SAAU,QAAS,WAAY,UAAU,EAC5D,MAAO,CACL,MAAO,SACf,CACA,EACI,CACE,MAAO,CAAC,SAAU,SAAU,QAAQ,EACpC,MAAO,CACL,MAAO,SACf,CACA,CACA,CACA,EACInC,GAA+BmC,GAQ/BC,GAAmBC,GAAoBC,EAAAA,YACxCjQ,GAAO,CACN,IAAIE,EAAKF,EAAI,CAAE,UAAAT,EAAW,MAAA4B,EAAO,KAAA2C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","x_google_ignoreList":[0,1,2]}