All Downloads are FREE. Search and download functionalities are using the official Maven repository.

[email protected] Maven / Gradle / Ivy

Go to download

Simple and complete React DOM testing utilities that encourage good testing practices.

The newest version!
{"version":3,"file":"react.pure.umd.js","sources":["../../node_modules/pretty-format/node_modules/ansi-styles/index.js","../../node_modules/pretty-format/build/collections.js","../../node_modules/pretty-format/build/plugins/AsymmetricMatcher.js","../../node_modules/ansi-regex/index.js","../../node_modules/pretty-format/build/plugins/ConvertAnsi.js","../../node_modules/pretty-format/build/plugins/DOMCollection.js","../../node_modules/pretty-format/build/plugins/lib/escapeHTML.js","../../node_modules/pretty-format/build/plugins/lib/markup.js","../../node_modules/pretty-format/build/plugins/DOMElement.js","../../node_modules/pretty-format/build/plugins/Immutable.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/cjs/react-is.development.js","../../node_modules/react-is/index.js","../../node_modules/pretty-format/build/plugins/ReactElement.js","../../node_modules/pretty-format/build/plugins/ReactTestComponent.js","../../node_modules/pretty-format/build/index.js","../../node_modules/dom-accessibility-api/dist/polyfills/array.from.mjs","../../node_modules/dom-accessibility-api/dist/polyfills/SetLike.mjs","../../node_modules/dom-accessibility-api/dist/getRole.mjs","../../node_modules/dom-accessibility-api/dist/util.mjs","../../node_modules/dom-accessibility-api/dist/accessible-name-and-description.mjs","../../node_modules/dom-accessibility-api/dist/accessible-description.mjs","../../node_modules/dom-accessibility-api/dist/accessible-name.mjs","../../node_modules/aria-query/lib/ariaPropsMap.js","../../node_modules/aria-query/lib/domMap.js","../../node_modules/aria-query/lib/etc/roles/abstract/commandRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/compositeRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/inputRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/landmarkRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/rangeRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/roletypeRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/sectionRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/sectionheadRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/selectRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/structureRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/widgetRole.js","../../node_modules/aria-query/lib/etc/roles/abstract/windowRole.js","../../node_modules/aria-query/lib/etc/roles/ariaAbstractRoles.js","../../node_modules/aria-query/lib/etc/roles/literal/alertRole.js","../../node_modules/aria-query/lib/etc/roles/literal/alertdialogRole.js","../../node_modules/aria-query/lib/etc/roles/literal/applicationRole.js","../../node_modules/aria-query/lib/etc/roles/literal/articleRole.js","../../node_modules/aria-query/lib/etc/roles/literal/bannerRole.js","../../node_modules/aria-query/lib/etc/roles/literal/blockquoteRole.js","../../node_modules/aria-query/lib/etc/roles/literal/buttonRole.js","../../node_modules/aria-query/lib/etc/roles/literal/captionRole.js","../../node_modules/aria-query/lib/etc/roles/literal/cellRole.js","../../node_modules/aria-query/lib/etc/roles/literal/checkboxRole.js","../../node_modules/aria-query/lib/etc/roles/literal/codeRole.js","../../node_modules/aria-query/lib/etc/roles/literal/columnheaderRole.js","../../node_modules/aria-query/lib/etc/roles/literal/comboboxRole.js","../../node_modules/aria-query/lib/etc/roles/literal/complementaryRole.js","../../node_modules/aria-query/lib/etc/roles/literal/contentinfoRole.js","../../node_modules/aria-query/lib/etc/roles/literal/definitionRole.js","../../node_modules/aria-query/lib/etc/roles/literal/deletionRole.js","../../node_modules/aria-query/lib/etc/roles/literal/dialogRole.js","../../node_modules/aria-query/lib/etc/roles/literal/directoryRole.js","../../node_modules/aria-query/lib/etc/roles/literal/documentRole.js","../../node_modules/aria-query/lib/etc/roles/literal/emphasisRole.js","../../node_modules/aria-query/lib/etc/roles/literal/feedRole.js","../../node_modules/aria-query/lib/etc/roles/literal/figureRole.js","../../node_modules/aria-query/lib/etc/roles/literal/formRole.js","../../node_modules/aria-query/lib/etc/roles/literal/genericRole.js","../../node_modules/aria-query/lib/etc/roles/literal/gridRole.js","../../node_modules/aria-query/lib/etc/roles/literal/gridcellRole.js","../../node_modules/aria-query/lib/etc/roles/literal/groupRole.js","../../node_modules/aria-query/lib/etc/roles/literal/headingRole.js","../../node_modules/aria-query/lib/etc/roles/literal/imgRole.js","../../node_modules/aria-query/lib/etc/roles/literal/insertionRole.js","../../node_modules/aria-query/lib/etc/roles/literal/linkRole.js","../../node_modules/aria-query/lib/etc/roles/literal/listRole.js","../../node_modules/aria-query/lib/etc/roles/literal/listboxRole.js","../../node_modules/aria-query/lib/etc/roles/literal/listitemRole.js","../../node_modules/aria-query/lib/etc/roles/literal/logRole.js","../../node_modules/aria-query/lib/etc/roles/literal/mainRole.js","../../node_modules/aria-query/lib/etc/roles/literal/marqueeRole.js","../../node_modules/aria-query/lib/etc/roles/literal/mathRole.js","../../node_modules/aria-query/lib/etc/roles/literal/menuRole.js","../../node_modules/aria-query/lib/etc/roles/literal/menubarRole.js","../../node_modules/aria-query/lib/etc/roles/literal/menuitemRole.js","../../node_modules/aria-query/lib/etc/roles/literal/menuitemcheckboxRole.js","../../node_modules/aria-query/lib/etc/roles/literal/menuitemradioRole.js","../../node_modules/aria-query/lib/etc/roles/literal/meterRole.js","../../node_modules/aria-query/lib/etc/roles/literal/navigationRole.js","../../node_modules/aria-query/lib/etc/roles/literal/noneRole.js","../../node_modules/aria-query/lib/etc/roles/literal/noteRole.js","../../node_modules/aria-query/lib/etc/roles/literal/optionRole.js","../../node_modules/aria-query/lib/etc/roles/literal/paragraphRole.js","../../node_modules/aria-query/lib/etc/roles/literal/presentationRole.js","../../node_modules/aria-query/lib/etc/roles/literal/progressbarRole.js","../../node_modules/aria-query/lib/etc/roles/literal/radioRole.js","../../node_modules/aria-query/lib/etc/roles/literal/radiogroupRole.js","../../node_modules/aria-query/lib/etc/roles/literal/regionRole.js","../../node_modules/aria-query/lib/etc/roles/literal/rowRole.js","../../node_modules/aria-query/lib/etc/roles/literal/rowgroupRole.js","../../node_modules/aria-query/lib/etc/roles/literal/rowheaderRole.js","../../node_modules/aria-query/lib/etc/roles/literal/scrollbarRole.js","../../node_modules/aria-query/lib/etc/roles/literal/searchRole.js","../../node_modules/aria-query/lib/etc/roles/literal/searchboxRole.js","../../node_modules/aria-query/lib/etc/roles/literal/separatorRole.js","../../node_modules/aria-query/lib/etc/roles/literal/sliderRole.js","../../node_modules/aria-query/lib/etc/roles/literal/spinbuttonRole.js","../../node_modules/aria-query/lib/etc/roles/literal/statusRole.js","../../node_modules/aria-query/lib/etc/roles/literal/strongRole.js","../../node_modules/aria-query/lib/etc/roles/literal/subscriptRole.js","../../node_modules/aria-query/lib/etc/roles/literal/superscriptRole.js","../../node_modules/aria-query/lib/etc/roles/literal/switchRole.js","../../node_modules/aria-query/lib/etc/roles/literal/tabRole.js","../../node_modules/aria-query/lib/etc/roles/literal/tableRole.js","../../node_modules/aria-query/lib/etc/roles/literal/tablistRole.js","../../node_modules/aria-query/lib/etc/roles/literal/tabpanelRole.js","../../node_modules/aria-query/lib/etc/roles/literal/termRole.js","../../node_modules/aria-query/lib/etc/roles/literal/textboxRole.js","../../node_modules/aria-query/lib/etc/roles/literal/timeRole.js","../../node_modules/aria-query/lib/etc/roles/literal/timerRole.js","../../node_modules/aria-query/lib/etc/roles/literal/toolbarRole.js","../../node_modules/aria-query/lib/etc/roles/literal/tooltipRole.js","../../node_modules/aria-query/lib/etc/roles/literal/treeRole.js","../../node_modules/aria-query/lib/etc/roles/literal/treegridRole.js","../../node_modules/aria-query/lib/etc/roles/literal/treeitemRole.js","../../node_modules/aria-query/lib/etc/roles/ariaLiteralRoles.js","../../node_modules/aria-query/lib/etc/roles/dpub/docAbstractRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docAcknowledgmentsRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docAfterwordRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docAppendixRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docBacklinkRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docBiblioentryRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docBibliographyRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docBibliorefRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docChapterRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docColophonRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docConclusionRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docCoverRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docCreditRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docCreditsRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docDedicationRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docEndnoteRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docEndnotesRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docEpigraphRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docEpilogueRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docErrataRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docExampleRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docFootnoteRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docForewordRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docGlossaryRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docGlossrefRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docIndexRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docIntroductionRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docNoterefRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docNoticeRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docPagebreakRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docPagelistRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docPartRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docPrefaceRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docPrologueRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docPullquoteRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docQnaRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docSubtitleRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docTipRole.js","../../node_modules/aria-query/lib/etc/roles/dpub/docTocRole.js","../../node_modules/aria-query/lib/etc/roles/ariaDpubRoles.js","../../node_modules/aria-query/lib/rolesMap.js","../../node_modules/aria-query/lib/elementRoleMap.js","../../node_modules/aria-query/lib/roleElementMap.js","../../node_modules/aria-query/lib/index.js","../../node_modules/lz-string/libs/lz-string.js","../../node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js","../../src/act-compat.js","../../src/fire-event.js","../../src/pure.js"],"sourcesContent":["'use strict';\n\nconst ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\toverline: [53, 55],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue: (red, green, blue) => {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16 +\n\t\t\t\t\t(36 * Math.round(red / 255 * 5)) +\n\t\t\t\t\t(6 * Math.round(green / 255 * 5)) +\n\t\t\t\t\tMath.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue: hex => {\n\t\t\t\tconst matches = /(?[a-f\\d]{6}|[a-f\\d]{3})/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet {colorString} = matches.groups;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = colorString.split('').map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false\n\t\t}\n\t});\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.printIteratorEntries = printIteratorEntries;\nexports.printIteratorValues = printIteratorValues;\nexports.printListItems = printListItems;\nexports.printObjectProperties = printObjectProperties;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nconst getKeysOfEnumerableProperties = (object, compareKeys) => {\n  const keys = Object.keys(object).sort(compareKeys);\n\n  if (Object.getOwnPropertySymbols) {\n    Object.getOwnPropertySymbols(object).forEach(symbol => {\n      if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {\n        keys.push(symbol);\n      }\n    });\n  }\n\n  return keys;\n};\n/**\n * Return entries (for example, of a map)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\n\nfunction printIteratorEntries(\n  iterator,\n  config,\n  indentation,\n  depth,\n  refs,\n  printer, // Too bad, so sad that separator for ECMAScript Map has been ' => '\n  // What a distracting diff if you change a data structure to/from\n  // ECMAScript Object or Immutable.Map/OrderedMap which use the default.\n  separator = ': '\n) {\n  let result = '';\n  let current = iterator.next();\n\n  if (!current.done) {\n    result += config.spacingOuter;\n    const indentationNext = indentation + config.indent;\n\n    while (!current.done) {\n      const name = printer(\n        current.value[0],\n        config,\n        indentationNext,\n        depth,\n        refs\n      );\n      const value = printer(\n        current.value[1],\n        config,\n        indentationNext,\n        depth,\n        refs\n      );\n      result += indentationNext + name + separator + value;\n      current = iterator.next();\n\n      if (!current.done) {\n        result += ',' + config.spacingInner;\n      } else if (!config.min) {\n        result += ',';\n      }\n    }\n\n    result += config.spacingOuter + indentation;\n  }\n\n  return result;\n}\n/**\n * Return values (for example, of a set)\n * with spacing, indentation, and comma\n * without surrounding punctuation (braces or brackets)\n */\n\nfunction printIteratorValues(\n  iterator,\n  config,\n  indentation,\n  depth,\n  refs,\n  printer\n) {\n  let result = '';\n  let current = iterator.next();\n\n  if (!current.done) {\n    result += config.spacingOuter;\n    const indentationNext = indentation + config.indent;\n\n    while (!current.done) {\n      result +=\n        indentationNext +\n        printer(current.value, config, indentationNext, depth, refs);\n      current = iterator.next();\n\n      if (!current.done) {\n        result += ',' + config.spacingInner;\n      } else if (!config.min) {\n        result += ',';\n      }\n    }\n\n    result += config.spacingOuter + indentation;\n  }\n\n  return result;\n}\n/**\n * Return items (for example, of an array)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, brackets)\n **/\n\nfunction printListItems(list, config, indentation, depth, refs, printer) {\n  let result = '';\n\n  if (list.length) {\n    result += config.spacingOuter;\n    const indentationNext = indentation + config.indent;\n\n    for (let i = 0; i < list.length; i++) {\n      result += indentationNext;\n\n      if (i in list) {\n        result += printer(list[i], config, indentationNext, depth, refs);\n      }\n\n      if (i < list.length - 1) {\n        result += ',' + config.spacingInner;\n      } else if (!config.min) {\n        result += ',';\n      }\n    }\n\n    result += config.spacingOuter + indentation;\n  }\n\n  return result;\n}\n/**\n * Return properties of an object\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\n\nfunction printObjectProperties(val, config, indentation, depth, refs, printer) {\n  let result = '';\n  const keys = getKeysOfEnumerableProperties(val, config.compareKeys);\n\n  if (keys.length) {\n    result += config.spacingOuter;\n    const indentationNext = indentation + config.indent;\n\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      const name = printer(key, config, indentationNext, depth, refs);\n      const value = printer(val[key], config, indentationNext, depth, refs);\n      result += indentationNext + name + ': ' + value;\n\n      if (i < keys.length - 1) {\n        result += ',' + config.spacingInner;\n      } else if (!config.min) {\n        result += ',';\n      }\n    }\n\n    result += config.spacingOuter + indentation;\n  }\n\n  return result;\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _collections = require('../collections');\n\nvar global = (function () {\n  if (typeof globalThis !== 'undefined') {\n    return globalThis;\n  } else if (typeof global !== 'undefined') {\n    return global;\n  } else if (typeof self !== 'undefined') {\n    return self;\n  } else if (typeof window !== 'undefined') {\n    return window;\n  } else {\n    return Function('return this')();\n  }\n})();\n\nvar Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;\nconst asymmetricMatcher =\n  typeof Symbol === 'function' && Symbol.for\n    ? Symbol.for('jest.asymmetricMatcher')\n    : 0x1357a5;\nconst SPACE = ' ';\n\nconst serialize = (val, config, indentation, depth, refs, printer) => {\n  const stringedValue = val.toString();\n\n  if (\n    stringedValue === 'ArrayContaining' ||\n    stringedValue === 'ArrayNotContaining'\n  ) {\n    if (++depth > config.maxDepth) {\n      return '[' + stringedValue + ']';\n    }\n\n    return (\n      stringedValue +\n      SPACE +\n      '[' +\n      (0, _collections.printListItems)(\n        val.sample,\n        config,\n        indentation,\n        depth,\n        refs,\n        printer\n      ) +\n      ']'\n    );\n  }\n\n  if (\n    stringedValue === 'ObjectContaining' ||\n    stringedValue === 'ObjectNotContaining'\n  ) {\n    if (++depth > config.maxDepth) {\n      return '[' + stringedValue + ']';\n    }\n\n    return (\n      stringedValue +\n      SPACE +\n      '{' +\n      (0, _collections.printObjectProperties)(\n        val.sample,\n        config,\n        indentation,\n        depth,\n        refs,\n        printer\n      ) +\n      '}'\n    );\n  }\n\n  if (\n    stringedValue === 'StringMatching' ||\n    stringedValue === 'StringNotMatching'\n  ) {\n    return (\n      stringedValue +\n      SPACE +\n      printer(val.sample, config, indentation, depth, refs)\n    );\n  }\n\n  if (\n    stringedValue === 'StringContaining' ||\n    stringedValue === 'StringNotContaining'\n  ) {\n    return (\n      stringedValue +\n      SPACE +\n      printer(val.sample, config, indentation, depth, refs)\n    );\n  }\n\n  return val.toAsymmetricMatcher();\n};\n\nexports.serialize = serialize;\n\nconst test = val => val && val.$$typeof === asymmetricMatcher;\n\nexports.test = test;\nconst plugin = {\n  serialize,\n  test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _ansiRegex = _interopRequireDefault(require('ansi-regex'));\n\nvar _ansiStyles = _interopRequireDefault(require('ansi-styles'));\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {default: obj};\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nconst toHumanReadableAnsi = text =>\n  text.replace((0, _ansiRegex.default)(), match => {\n    switch (match) {\n      case _ansiStyles.default.red.close:\n      case _ansiStyles.default.green.close:\n      case _ansiStyles.default.cyan.close:\n      case _ansiStyles.default.gray.close:\n      case _ansiStyles.default.white.close:\n      case _ansiStyles.default.yellow.close:\n      case _ansiStyles.default.bgRed.close:\n      case _ansiStyles.default.bgGreen.close:\n      case _ansiStyles.default.bgYellow.close:\n      case _ansiStyles.default.inverse.close:\n      case _ansiStyles.default.dim.close:\n      case _ansiStyles.default.bold.close:\n      case _ansiStyles.default.reset.open:\n      case _ansiStyles.default.reset.close:\n        return '';\n\n      case _ansiStyles.default.red.open:\n        return '';\n\n      case _ansiStyles.default.green.open:\n        return '';\n\n      case _ansiStyles.default.cyan.open:\n        return '';\n\n      case _ansiStyles.default.gray.open:\n        return '';\n\n      case _ansiStyles.default.white.open:\n        return '';\n\n      case _ansiStyles.default.yellow.open:\n        return '';\n\n      case _ansiStyles.default.bgRed.open:\n        return '';\n\n      case _ansiStyles.default.bgGreen.open:\n        return '';\n\n      case _ansiStyles.default.bgYellow.open:\n        return '';\n\n      case _ansiStyles.default.inverse.open:\n        return '';\n\n      case _ansiStyles.default.dim.open:\n        return '';\n\n      case _ansiStyles.default.bold.open:\n        return '';\n\n      default:\n        return '';\n    }\n  });\n\nconst test = val =>\n  typeof val === 'string' && !!val.match((0, _ansiRegex.default)());\n\nexports.test = test;\n\nconst serialize = (val, config, indentation, depth, refs, printer) =>\n  printer(toHumanReadableAnsi(val), config, indentation, depth, refs);\n\nexports.serialize = serialize;\nconst plugin = {\n  serialize,\n  test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _collections = require('../collections');\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* eslint-disable local/ban-types-eventually */\nconst SPACE = ' ';\nconst OBJECT_NAMES = ['DOMStringMap', 'NamedNodeMap'];\nconst ARRAY_REGEXP = /^(HTML\\w*Collection|NodeList)$/;\n\nconst testName = name =>\n  OBJECT_NAMES.indexOf(name) !== -1 || ARRAY_REGEXP.test(name);\n\nconst test = val =>\n  val &&\n  val.constructor &&\n  !!val.constructor.name &&\n  testName(val.constructor.name);\n\nexports.test = test;\n\nconst isNamedNodeMap = collection =>\n  collection.constructor.name === 'NamedNodeMap';\n\nconst serialize = (collection, config, indentation, depth, refs, printer) => {\n  const name = collection.constructor.name;\n\n  if (++depth > config.maxDepth) {\n    return '[' + name + ']';\n  }\n\n  return (\n    (config.min ? '' : name + SPACE) +\n    (OBJECT_NAMES.indexOf(name) !== -1\n      ? '{' +\n        (0, _collections.printObjectProperties)(\n          isNamedNodeMap(collection)\n            ? Array.from(collection).reduce((props, attribute) => {\n                props[attribute.name] = attribute.value;\n                return props;\n              }, {})\n            : {...collection},\n          config,\n          indentation,\n          depth,\n          refs,\n          printer\n        ) +\n        '}'\n      : '[' +\n        (0, _collections.printListItems)(\n          Array.from(collection),\n          config,\n          indentation,\n          depth,\n          refs,\n          printer\n        ) +\n        ']')\n  );\n};\n\nexports.serialize = serialize;\nconst plugin = {\n  serialize,\n  test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.default = escapeHTML;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nfunction escapeHTML(str) {\n  return str.replace(//g, '>');\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.printText =\n  exports.printProps =\n  exports.printElementAsLeaf =\n  exports.printElement =\n  exports.printComment =\n  exports.printChildren =\n    void 0;\n\nvar _escapeHTML = _interopRequireDefault(require('./escapeHTML'));\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {default: obj};\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// Return empty string if keys is empty.\nconst printProps = (keys, props, config, indentation, depth, refs, printer) => {\n  const indentationNext = indentation + config.indent;\n  const colors = config.colors;\n  return keys\n    .map(key => {\n      const value = props[key];\n      let printed = printer(value, config, indentationNext, depth, refs);\n\n      if (typeof value !== 'string') {\n        if (printed.indexOf('\\n') !== -1) {\n          printed =\n            config.spacingOuter +\n            indentationNext +\n            printed +\n            config.spacingOuter +\n            indentation;\n        }\n\n        printed = '{' + printed + '}';\n      }\n\n      return (\n        config.spacingInner +\n        indentation +\n        colors.prop.open +\n        key +\n        colors.prop.close +\n        '=' +\n        colors.value.open +\n        printed +\n        colors.value.close\n      );\n    })\n    .join('');\n}; // Return empty string if children is empty.\n\nexports.printProps = printProps;\n\nconst printChildren = (children, config, indentation, depth, refs, printer) =>\n  children\n    .map(\n      child =>\n        config.spacingOuter +\n        indentation +\n        (typeof child === 'string'\n          ? printText(child, config)\n          : printer(child, config, indentation, depth, refs))\n    )\n    .join('');\n\nexports.printChildren = printChildren;\n\nconst printText = (text, config) => {\n  const contentColor = config.colors.content;\n  return (\n    contentColor.open + (0, _escapeHTML.default)(text) + contentColor.close\n  );\n};\n\nexports.printText = printText;\n\nconst printComment = (comment, config) => {\n  const commentColor = config.colors.comment;\n  return (\n    commentColor.open +\n    '' +\n    commentColor.close\n  );\n}; // Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\n\nexports.printComment = printComment;\n\nconst printElement = (\n  type,\n  printedProps,\n  printedChildren,\n  config,\n  indentation\n) => {\n  const tagColor = config.colors.tag;\n  return (\n    tagColor.open +\n    '<' +\n    type +\n    (printedProps &&\n      tagColor.close +\n        printedProps +\n        config.spacingOuter +\n        indentation +\n        tagColor.open) +\n    (printedChildren\n      ? '>' +\n        tagColor.close +\n        printedChildren +\n        config.spacingOuter +\n        indentation +\n        tagColor.open +\n        '' +\n    tagColor.close\n  );\n};\n\nexports.printElement = printElement;\n\nconst printElementAsLeaf = (type, config) => {\n  const tagColor = config.colors.tag;\n  return (\n    tagColor.open +\n    '<' +\n    type +\n    tagColor.close +\n    ' …' +\n    tagColor.open +\n    ' />' +\n    tagColor.close\n  );\n};\n\nexports.printElementAsLeaf = printElementAsLeaf;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _markup = require('./lib/markup');\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^((HTML|SVG)\\w*)?Element$/;\n\nconst testHasAttribute = val => {\n  try {\n    return typeof val.hasAttribute === 'function' && val.hasAttribute('is');\n  } catch {\n    return false;\n  }\n};\n\nconst testNode = val => {\n  const constructorName = val.constructor.name;\n  const {nodeType, tagName} = val;\n  const isCustomElement =\n    (typeof tagName === 'string' && tagName.includes('-')) ||\n    testHasAttribute(val);\n  return (\n    (nodeType === ELEMENT_NODE &&\n      (ELEMENT_REGEXP.test(constructorName) || isCustomElement)) ||\n    (nodeType === TEXT_NODE && constructorName === 'Text') ||\n    (nodeType === COMMENT_NODE && constructorName === 'Comment') ||\n    (nodeType === FRAGMENT_NODE && constructorName === 'DocumentFragment')\n  );\n};\n\nconst test = val => {\n  var _val$constructor;\n\n  return (\n    (val === null || val === void 0\n      ? void 0\n      : (_val$constructor = val.constructor) === null ||\n        _val$constructor === void 0\n      ? void 0\n      : _val$constructor.name) && testNode(val)\n  );\n};\n\nexports.test = test;\n\nfunction nodeIsText(node) {\n  return node.nodeType === TEXT_NODE;\n}\n\nfunction nodeIsComment(node) {\n  return node.nodeType === COMMENT_NODE;\n}\n\nfunction nodeIsFragment(node) {\n  return node.nodeType === FRAGMENT_NODE;\n}\n\nconst serialize = (node, config, indentation, depth, refs, printer) => {\n  if (nodeIsText(node)) {\n    return (0, _markup.printText)(node.data, config);\n  }\n\n  if (nodeIsComment(node)) {\n    return (0, _markup.printComment)(node.data, config);\n  }\n\n  const type = nodeIsFragment(node)\n    ? 'DocumentFragment'\n    : node.tagName.toLowerCase();\n\n  if (++depth > config.maxDepth) {\n    return (0, _markup.printElementAsLeaf)(type, config);\n  }\n\n  return (0, _markup.printElement)(\n    type,\n    (0, _markup.printProps)(\n      nodeIsFragment(node)\n        ? []\n        : Array.from(node.attributes)\n            .map(attr => attr.name)\n            .sort(),\n      nodeIsFragment(node)\n        ? {}\n        : Array.from(node.attributes).reduce((props, attribute) => {\n            props[attribute.name] = attribute.value;\n            return props;\n          }, {}),\n      config,\n      indentation + config.indent,\n      depth,\n      refs,\n      printer\n    ),\n    (0, _markup.printChildren)(\n      Array.prototype.slice.call(node.childNodes || node.children),\n      config,\n      indentation + config.indent,\n      depth,\n      refs,\n      printer\n    ),\n    config,\n    indentation\n  );\n};\n\nexports.serialize = serialize;\nconst plugin = {\n  serialize,\n  test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _collections = require('../collections');\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// SENTINEL constants are from https://github.com/facebook/immutable-js\nconst IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\nconst IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\nconst IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\nconst IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\nconst IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\nconst IS_RECORD_SENTINEL = '@@__IMMUTABLE_RECORD__@@'; // immutable v4\n\nconst IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\nconst IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\nconst IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\n\nconst getImmutableName = name => 'Immutable.' + name;\n\nconst printAsLeaf = name => '[' + name + ']';\n\nconst SPACE = ' ';\nconst LAZY = '…'; // Seq is lazy if it calls a method like filter\n\nconst printImmutableEntries = (\n  val,\n  config,\n  indentation,\n  depth,\n  refs,\n  printer,\n  type\n) =>\n  ++depth > config.maxDepth\n    ? printAsLeaf(getImmutableName(type))\n    : getImmutableName(type) +\n      SPACE +\n      '{' +\n      (0, _collections.printIteratorEntries)(\n        val.entries(),\n        config,\n        indentation,\n        depth,\n        refs,\n        printer\n      ) +\n      '}'; // Record has an entries method because it is a collection in immutable v3.\n// Return an iterator for Immutable Record from version v3 or v4.\n\nfunction getRecordEntries(val) {\n  let i = 0;\n  return {\n    next() {\n      if (i < val._keys.length) {\n        const key = val._keys[i++];\n        return {\n          done: false,\n          value: [key, val.get(key)]\n        };\n      }\n\n      return {\n        done: true,\n        value: undefined\n      };\n    }\n  };\n}\n\nconst printImmutableRecord = (\n  val,\n  config,\n  indentation,\n  depth,\n  refs,\n  printer\n) => {\n  // _name property is defined only for an Immutable Record instance\n  // which was constructed with a second optional descriptive name arg\n  const name = getImmutableName(val._name || 'Record');\n  return ++depth > config.maxDepth\n    ? printAsLeaf(name)\n    : name +\n        SPACE +\n        '{' +\n        (0, _collections.printIteratorEntries)(\n          getRecordEntries(val),\n          config,\n          indentation,\n          depth,\n          refs,\n          printer\n        ) +\n        '}';\n};\n\nconst printImmutableSeq = (val, config, indentation, depth, refs, printer) => {\n  const name = getImmutableName('Seq');\n\n  if (++depth > config.maxDepth) {\n    return printAsLeaf(name);\n  }\n\n  if (val[IS_KEYED_SENTINEL]) {\n    return (\n      name +\n      SPACE +\n      '{' + // from Immutable collection of entries or from ECMAScript object\n      (val._iter || val._object\n        ? (0, _collections.printIteratorEntries)(\n            val.entries(),\n            config,\n            indentation,\n            depth,\n            refs,\n            printer\n          )\n        : LAZY) +\n      '}'\n    );\n  }\n\n  return (\n    name +\n    SPACE +\n    '[' +\n    (val._iter || // from Immutable collection of values\n    val._array || // from ECMAScript array\n    val._collection || // from ECMAScript collection in immutable v4\n    val._iterable // from ECMAScript collection in immutable v3\n      ? (0, _collections.printIteratorValues)(\n          val.values(),\n          config,\n          indentation,\n          depth,\n          refs,\n          printer\n        )\n      : LAZY) +\n    ']'\n  );\n};\n\nconst printImmutableValues = (\n  val,\n  config,\n  indentation,\n  depth,\n  refs,\n  printer,\n  type\n) =>\n  ++depth > config.maxDepth\n    ? printAsLeaf(getImmutableName(type))\n    : getImmutableName(type) +\n      SPACE +\n      '[' +\n      (0, _collections.printIteratorValues)(\n        val.values(),\n        config,\n        indentation,\n        depth,\n        refs,\n        printer\n      ) +\n      ']';\n\nconst serialize = (val, config, indentation, depth, refs, printer) => {\n  if (val[IS_MAP_SENTINEL]) {\n    return printImmutableEntries(\n      val,\n      config,\n      indentation,\n      depth,\n      refs,\n      printer,\n      val[IS_ORDERED_SENTINEL] ? 'OrderedMap' : 'Map'\n    );\n  }\n\n  if (val[IS_LIST_SENTINEL]) {\n    return printImmutableValues(\n      val,\n      config,\n      indentation,\n      depth,\n      refs,\n      printer,\n      'List'\n    );\n  }\n\n  if (val[IS_SET_SENTINEL]) {\n    return printImmutableValues(\n      val,\n      config,\n      indentation,\n      depth,\n      refs,\n      printer,\n      val[IS_ORDERED_SENTINEL] ? 'OrderedSet' : 'Set'\n    );\n  }\n\n  if (val[IS_STACK_SENTINEL]) {\n    return printImmutableValues(\n      val,\n      config,\n      indentation,\n      depth,\n      refs,\n      printer,\n      'Stack'\n    );\n  }\n\n  if (val[IS_SEQ_SENTINEL]) {\n    return printImmutableSeq(val, config, indentation, depth, refs, printer);\n  } // For compatibility with immutable v3 and v4, let record be the default.\n\n  return printImmutableRecord(val, config, indentation, depth, refs, printer);\n}; // Explicitly comparing sentinel properties to true avoids false positive\n// when mock identity-obj-proxy returns the key as the value for any key.\n\nexports.serialize = serialize;\n\nconst test = val =>\n  val &&\n  (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);\n\nexports.test = test;\nconst plugin = {\n  serialize,\n  test\n};\nvar _default = plugin;\nexports.default = _default;\n","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","/** @license React v17.0.2\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nvar REACT_FRAGMENT_TYPE = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_BLOCK_TYPE = 0xead9;\nvar REACT_SERVER_BLOCK_TYPE = 0xeada;\nvar REACT_FUNDAMENTAL_TYPE = 0xead5;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_OPAQUE_ID_TYPE = 0xeae0;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n  var symbolFor = Symbol.for;\n  REACT_ELEMENT_TYPE = symbolFor('react.element');\n  REACT_PORTAL_TYPE = symbolFor('react.portal');\n  REACT_FRAGMENT_TYPE = symbolFor('react.fragment');\n  REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n  REACT_PROFILER_TYPE = symbolFor('react.profiler');\n  REACT_PROVIDER_TYPE = symbolFor('react.provider');\n  REACT_CONTEXT_TYPE = symbolFor('react.context');\n  REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n  REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n  REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n  REACT_MEMO_TYPE = symbolFor('react.memo');\n  REACT_LAZY_TYPE = symbolFor('react.lazy');\n  REACT_BLOCK_TYPE = symbolFor('react.block');\n  REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');\n  REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');\n  REACT_SCOPE_TYPE = symbolFor('react.scope');\n  REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');\n  REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n  REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n  REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n}\n\n// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\nfunction isValidElementType(type) {\n  if (typeof type === 'string' || typeof type === 'function') {\n    return true;\n  } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n  if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {\n    return true;\n  }\n\n  if (typeof type === 'object' && type !== null) {\n    if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n          case REACT_SUSPENSE_LIST_TYPE:\n            return type;\n\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_LAZY_TYPE:\n              case REACT_MEMO_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n\n              default:\n                return $$typeof;\n            }\n\n        }\n\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n      console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n    }\n  }\n\n  return false;\n}\nfunction isConcurrentMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n      hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n      console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n    }\n  }\n\n  return false;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar ReactIs = _interopRequireWildcard(require('react-is'));\n\nvar _markup = require('./lib/markup');\n\nfunction _getRequireWildcardCache(nodeInterop) {\n  if (typeof WeakMap !== 'function') return null;\n  var cacheBabelInterop = new WeakMap();\n  var cacheNodeInterop = new WeakMap();\n  return (_getRequireWildcardCache = function (nodeInterop) {\n    return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n  })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n  if (!nodeInterop && obj && obj.__esModule) {\n    return obj;\n  }\n  if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {\n    return {default: obj};\n  }\n  var cache = _getRequireWildcardCache(nodeInterop);\n  if (cache && cache.has(obj)) {\n    return cache.get(obj);\n  }\n  var newObj = {};\n  var hasPropertyDescriptor =\n    Object.defineProperty && Object.getOwnPropertyDescriptor;\n  for (var key in obj) {\n    if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) {\n      var desc = hasPropertyDescriptor\n        ? Object.getOwnPropertyDescriptor(obj, key)\n        : null;\n      if (desc && (desc.get || desc.set)) {\n        Object.defineProperty(newObj, key, desc);\n      } else {\n        newObj[key] = obj[key];\n      }\n    }\n  }\n  newObj.default = obj;\n  if (cache) {\n    cache.set(obj, newObj);\n  }\n  return newObj;\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// Given element.props.children, or subtree during recursive traversal,\n// return flattened array of children.\nconst getChildren = (arg, children = []) => {\n  if (Array.isArray(arg)) {\n    arg.forEach(item => {\n      getChildren(item, children);\n    });\n  } else if (arg != null && arg !== false) {\n    children.push(arg);\n  }\n\n  return children;\n};\n\nconst getType = element => {\n  const type = element.type;\n\n  if (typeof type === 'string') {\n    return type;\n  }\n\n  if (typeof type === 'function') {\n    return type.displayName || type.name || 'Unknown';\n  }\n\n  if (ReactIs.isFragment(element)) {\n    return 'React.Fragment';\n  }\n\n  if (ReactIs.isSuspense(element)) {\n    return 'React.Suspense';\n  }\n\n  if (typeof type === 'object' && type !== null) {\n    if (ReactIs.isContextProvider(element)) {\n      return 'Context.Provider';\n    }\n\n    if (ReactIs.isContextConsumer(element)) {\n      return 'Context.Consumer';\n    }\n\n    if (ReactIs.isForwardRef(element)) {\n      if (type.displayName) {\n        return type.displayName;\n      }\n\n      const functionName = type.render.displayName || type.render.name || '';\n      return functionName !== ''\n        ? 'ForwardRef(' + functionName + ')'\n        : 'ForwardRef';\n    }\n\n    if (ReactIs.isMemo(element)) {\n      const functionName =\n        type.displayName || type.type.displayName || type.type.name || '';\n      return functionName !== '' ? 'Memo(' + functionName + ')' : 'Memo';\n    }\n  }\n\n  return 'UNDEFINED';\n};\n\nconst getPropKeys = element => {\n  const {props} = element;\n  return Object.keys(props)\n    .filter(key => key !== 'children' && props[key] !== undefined)\n    .sort();\n};\n\nconst serialize = (element, config, indentation, depth, refs, printer) =>\n  ++depth > config.maxDepth\n    ? (0, _markup.printElementAsLeaf)(getType(element), config)\n    : (0, _markup.printElement)(\n        getType(element),\n        (0, _markup.printProps)(\n          getPropKeys(element),\n          element.props,\n          config,\n          indentation + config.indent,\n          depth,\n          refs,\n          printer\n        ),\n        (0, _markup.printChildren)(\n          getChildren(element.props.children),\n          config,\n          indentation + config.indent,\n          depth,\n          refs,\n          printer\n        ),\n        config,\n        indentation\n      );\n\nexports.serialize = serialize;\n\nconst test = val => val != null && ReactIs.isElement(val);\n\nexports.test = test;\nconst plugin = {\n  serialize,\n  test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _markup = require('./lib/markup');\n\nvar global = (function () {\n  if (typeof globalThis !== 'undefined') {\n    return globalThis;\n  } else if (typeof global !== 'undefined') {\n    return global;\n  } else if (typeof self !== 'undefined') {\n    return self;\n  } else if (typeof window !== 'undefined') {\n    return window;\n  } else {\n    return Function('return this')();\n  }\n})();\n\nvar Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;\nconst testSymbol =\n  typeof Symbol === 'function' && Symbol.for\n    ? Symbol.for('react.test.json')\n    : 0xea71357;\n\nconst getPropKeys = object => {\n  const {props} = object;\n  return props\n    ? Object.keys(props)\n        .filter(key => props[key] !== undefined)\n        .sort()\n    : [];\n};\n\nconst serialize = (object, config, indentation, depth, refs, printer) =>\n  ++depth > config.maxDepth\n    ? (0, _markup.printElementAsLeaf)(object.type, config)\n    : (0, _markup.printElement)(\n        object.type,\n        object.props\n          ? (0, _markup.printProps)(\n              getPropKeys(object),\n              object.props,\n              config,\n              indentation + config.indent,\n              depth,\n              refs,\n              printer\n            )\n          : '',\n        object.children\n          ? (0, _markup.printChildren)(\n              object.children,\n              config,\n              indentation + config.indent,\n              depth,\n              refs,\n              printer\n            )\n          : '',\n        config,\n        indentation\n      );\n\nexports.serialize = serialize;\n\nconst test = val => val && val.$$typeof === testSymbol;\n\nexports.test = test;\nconst plugin = {\n  serialize,\n  test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports.default = exports.DEFAULT_OPTIONS = void 0;\nexports.format = format;\nexports.plugins = void 0;\n\nvar _ansiStyles = _interopRequireDefault(require('ansi-styles'));\n\nvar _collections = require('./collections');\n\nvar _AsymmetricMatcher = _interopRequireDefault(\n  require('./plugins/AsymmetricMatcher')\n);\n\nvar _ConvertAnsi = _interopRequireDefault(require('./plugins/ConvertAnsi'));\n\nvar _DOMCollection = _interopRequireDefault(require('./plugins/DOMCollection'));\n\nvar _DOMElement = _interopRequireDefault(require('./plugins/DOMElement'));\n\nvar _Immutable = _interopRequireDefault(require('./plugins/Immutable'));\n\nvar _ReactElement = _interopRequireDefault(require('./plugins/ReactElement'));\n\nvar _ReactTestComponent = _interopRequireDefault(\n  require('./plugins/ReactTestComponent')\n);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {default: obj};\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* eslint-disable local/ban-types-eventually */\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\n/**\n * Explicitly comparing typeof constructor to function avoids undefined as name\n * when mock identity-obj-proxy returns the key as the value for any key.\n */\n\nconst getConstructorName = val =>\n  (typeof val.constructor === 'function' && val.constructor.name) || 'Object';\n/* global window */\n\n/** Is val is equal to global window object? Works even if it does not exist :) */\n\nconst isWindow = val => typeof window !== 'undefined' && val === window;\n\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/gi;\n\nclass PrettyFormatPluginError extends Error {\n  constructor(message, stack) {\n    super(message);\n    this.stack = stack;\n    this.name = this.constructor.name;\n  }\n}\n\nfunction isToStringedArrayType(toStringed) {\n  return (\n    toStringed === '[object Array]' ||\n    toStringed === '[object ArrayBuffer]' ||\n    toStringed === '[object DataView]' ||\n    toStringed === '[object Float32Array]' ||\n    toStringed === '[object Float64Array]' ||\n    toStringed === '[object Int8Array]' ||\n    toStringed === '[object Int16Array]' ||\n    toStringed === '[object Int32Array]' ||\n    toStringed === '[object Uint8Array]' ||\n    toStringed === '[object Uint8ClampedArray]' ||\n    toStringed === '[object Uint16Array]' ||\n    toStringed === '[object Uint32Array]'\n  );\n}\n\nfunction printNumber(val) {\n  return Object.is(val, -0) ? '-0' : String(val);\n}\n\nfunction printBigInt(val) {\n  return String(`${val}n`);\n}\n\nfunction printFunction(val, printFunctionName) {\n  if (!printFunctionName) {\n    return '[Function]';\n  }\n\n  return '[Function ' + (val.name || 'anonymous') + ']';\n}\n\nfunction printSymbol(val) {\n  return String(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n}\n\nfunction printError(val) {\n  return '[' + errorToString.call(val) + ']';\n}\n/**\n * The first port of call for printing an object, handles most of the\n * data-types in JS.\n */\n\nfunction printBasicValue(val, printFunctionName, escapeRegex, escapeString) {\n  if (val === true || val === false) {\n    return '' + val;\n  }\n\n  if (val === undefined) {\n    return 'undefined';\n  }\n\n  if (val === null) {\n    return 'null';\n  }\n\n  const typeOf = typeof val;\n\n  if (typeOf === 'number') {\n    return printNumber(val);\n  }\n\n  if (typeOf === 'bigint') {\n    return printBigInt(val);\n  }\n\n  if (typeOf === 'string') {\n    if (escapeString) {\n      return '\"' + val.replace(/\"|\\\\/g, '\\\\$&') + '\"';\n    }\n\n    return '\"' + val + '\"';\n  }\n\n  if (typeOf === 'function') {\n    return printFunction(val, printFunctionName);\n  }\n\n  if (typeOf === 'symbol') {\n    return printSymbol(val);\n  }\n\n  const toStringed = toString.call(val);\n\n  if (toStringed === '[object WeakMap]') {\n    return 'WeakMap {}';\n  }\n\n  if (toStringed === '[object WeakSet]') {\n    return 'WeakSet {}';\n  }\n\n  if (\n    toStringed === '[object Function]' ||\n    toStringed === '[object GeneratorFunction]'\n  ) {\n    return printFunction(val, printFunctionName);\n  }\n\n  if (toStringed === '[object Symbol]') {\n    return printSymbol(val);\n  }\n\n  if (toStringed === '[object Date]') {\n    return isNaN(+val) ? 'Date { NaN }' : toISOString.call(val);\n  }\n\n  if (toStringed === '[object Error]') {\n    return printError(val);\n  }\n\n  if (toStringed === '[object RegExp]') {\n    if (escapeRegex) {\n      // https://github.com/benjamingr/RegExp.escape/blob/main/polyfill.js\n      return regExpToString.call(val).replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n    }\n\n    return regExpToString.call(val);\n  }\n\n  if (val instanceof Error) {\n    return printError(val);\n  }\n\n  return null;\n}\n/**\n * Handles more complex objects ( such as objects with circular references.\n * maps and sets etc )\n */\n\nfunction printComplexValue(\n  val,\n  config,\n  indentation,\n  depth,\n  refs,\n  hasCalledToJSON\n) {\n  if (refs.indexOf(val) !== -1) {\n    return '[Circular]';\n  }\n\n  refs = refs.slice();\n  refs.push(val);\n  const hitMaxDepth = ++depth > config.maxDepth;\n  const min = config.min;\n\n  if (\n    config.callToJSON &&\n    !hitMaxDepth &&\n    val.toJSON &&\n    typeof val.toJSON === 'function' &&\n    !hasCalledToJSON\n  ) {\n    return printer(val.toJSON(), config, indentation, depth, refs, true);\n  }\n\n  const toStringed = toString.call(val);\n\n  if (toStringed === '[object Arguments]') {\n    return hitMaxDepth\n      ? '[Arguments]'\n      : (min ? '' : 'Arguments ') +\n          '[' +\n          (0, _collections.printListItems)(\n            val,\n            config,\n            indentation,\n            depth,\n            refs,\n            printer\n          ) +\n          ']';\n  }\n\n  if (isToStringedArrayType(toStringed)) {\n    return hitMaxDepth\n      ? '[' + val.constructor.name + ']'\n      : (min\n          ? ''\n          : !config.printBasicPrototype && val.constructor.name === 'Array'\n          ? ''\n          : val.constructor.name + ' ') +\n          '[' +\n          (0, _collections.printListItems)(\n            val,\n            config,\n            indentation,\n            depth,\n            refs,\n            printer\n          ) +\n          ']';\n  }\n\n  if (toStringed === '[object Map]') {\n    return hitMaxDepth\n      ? '[Map]'\n      : 'Map {' +\n          (0, _collections.printIteratorEntries)(\n            val.entries(),\n            config,\n            indentation,\n            depth,\n            refs,\n            printer,\n            ' => '\n          ) +\n          '}';\n  }\n\n  if (toStringed === '[object Set]') {\n    return hitMaxDepth\n      ? '[Set]'\n      : 'Set {' +\n          (0, _collections.printIteratorValues)(\n            val.values(),\n            config,\n            indentation,\n            depth,\n            refs,\n            printer\n          ) +\n          '}';\n  } // Avoid failure to serialize global window object in jsdom test environment.\n  // For example, not even relevant if window is prop of React element.\n\n  return hitMaxDepth || isWindow(val)\n    ? '[' + getConstructorName(val) + ']'\n    : (min\n        ? ''\n        : !config.printBasicPrototype && getConstructorName(val) === 'Object'\n        ? ''\n        : getConstructorName(val) + ' ') +\n        '{' +\n        (0, _collections.printObjectProperties)(\n          val,\n          config,\n          indentation,\n          depth,\n          refs,\n          printer\n        ) +\n        '}';\n}\n\nfunction isNewPlugin(plugin) {\n  return plugin.serialize != null;\n}\n\nfunction printPlugin(plugin, val, config, indentation, depth, refs) {\n  let printed;\n\n  try {\n    printed = isNewPlugin(plugin)\n      ? plugin.serialize(val, config, indentation, depth, refs, printer)\n      : plugin.print(\n          val,\n          valChild => printer(valChild, config, indentation, depth, refs),\n          str => {\n            const indentationNext = indentation + config.indent;\n            return (\n              indentationNext +\n              str.replace(NEWLINE_REGEXP, '\\n' + indentationNext)\n            );\n          },\n          {\n            edgeSpacing: config.spacingOuter,\n            min: config.min,\n            spacing: config.spacingInner\n          },\n          config.colors\n        );\n  } catch (error) {\n    throw new PrettyFormatPluginError(error.message, error.stack);\n  }\n\n  if (typeof printed !== 'string') {\n    throw new Error(\n      `pretty-format: Plugin must return type \"string\" but instead returned \"${typeof printed}\".`\n    );\n  }\n\n  return printed;\n}\n\nfunction findPlugin(plugins, val) {\n  for (let p = 0; p < plugins.length; p++) {\n    try {\n      if (plugins[p].test(val)) {\n        return plugins[p];\n      }\n    } catch (error) {\n      throw new PrettyFormatPluginError(error.message, error.stack);\n    }\n  }\n\n  return null;\n}\n\nfunction printer(val, config, indentation, depth, refs, hasCalledToJSON) {\n  const plugin = findPlugin(config.plugins, val);\n\n  if (plugin !== null) {\n    return printPlugin(plugin, val, config, indentation, depth, refs);\n  }\n\n  const basicResult = printBasicValue(\n    val,\n    config.printFunctionName,\n    config.escapeRegex,\n    config.escapeString\n  );\n\n  if (basicResult !== null) {\n    return basicResult;\n  }\n\n  return printComplexValue(\n    val,\n    config,\n    indentation,\n    depth,\n    refs,\n    hasCalledToJSON\n  );\n}\n\nconst DEFAULT_THEME = {\n  comment: 'gray',\n  content: 'reset',\n  prop: 'yellow',\n  tag: 'cyan',\n  value: 'green'\n};\nconst DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);\nconst DEFAULT_OPTIONS = {\n  callToJSON: true,\n  compareKeys: undefined,\n  escapeRegex: false,\n  escapeString: true,\n  highlight: false,\n  indent: 2,\n  maxDepth: Infinity,\n  min: false,\n  plugins: [],\n  printBasicPrototype: true,\n  printFunctionName: true,\n  theme: DEFAULT_THEME\n};\nexports.DEFAULT_OPTIONS = DEFAULT_OPTIONS;\n\nfunction validateOptions(options) {\n  Object.keys(options).forEach(key => {\n    if (!DEFAULT_OPTIONS.hasOwnProperty(key)) {\n      throw new Error(`pretty-format: Unknown option \"${key}\".`);\n    }\n  });\n\n  if (options.min && options.indent !== undefined && options.indent !== 0) {\n    throw new Error(\n      'pretty-format: Options \"min\" and \"indent\" cannot be used together.'\n    );\n  }\n\n  if (options.theme !== undefined) {\n    if (options.theme === null) {\n      throw new Error('pretty-format: Option \"theme\" must not be null.');\n    }\n\n    if (typeof options.theme !== 'object') {\n      throw new Error(\n        `pretty-format: Option \"theme\" must be of type \"object\" but instead received \"${typeof options.theme}\".`\n      );\n    }\n  }\n}\n\nconst getColorsHighlight = options =>\n  DEFAULT_THEME_KEYS.reduce((colors, key) => {\n    const value =\n      options.theme && options.theme[key] !== undefined\n        ? options.theme[key]\n        : DEFAULT_THEME[key];\n    const color = value && _ansiStyles.default[value];\n\n    if (\n      color &&\n      typeof color.close === 'string' &&\n      typeof color.open === 'string'\n    ) {\n      colors[key] = color;\n    } else {\n      throw new Error(\n        `pretty-format: Option \"theme\" has a key \"${key}\" whose value \"${value}\" is undefined in ansi-styles.`\n      );\n    }\n\n    return colors;\n  }, Object.create(null));\n\nconst getColorsEmpty = () =>\n  DEFAULT_THEME_KEYS.reduce((colors, key) => {\n    colors[key] = {\n      close: '',\n      open: ''\n    };\n    return colors;\n  }, Object.create(null));\n\nconst getPrintFunctionName = options =>\n  options && options.printFunctionName !== undefined\n    ? options.printFunctionName\n    : DEFAULT_OPTIONS.printFunctionName;\n\nconst getEscapeRegex = options =>\n  options && options.escapeRegex !== undefined\n    ? options.escapeRegex\n    : DEFAULT_OPTIONS.escapeRegex;\n\nconst getEscapeString = options =>\n  options && options.escapeString !== undefined\n    ? options.escapeString\n    : DEFAULT_OPTIONS.escapeString;\n\nconst getConfig = options => {\n  var _options$printBasicPr;\n\n  return {\n    callToJSON:\n      options && options.callToJSON !== undefined\n        ? options.callToJSON\n        : DEFAULT_OPTIONS.callToJSON,\n    colors:\n      options && options.highlight\n        ? getColorsHighlight(options)\n        : getColorsEmpty(),\n    compareKeys:\n      options && typeof options.compareKeys === 'function'\n        ? options.compareKeys\n        : DEFAULT_OPTIONS.compareKeys,\n    escapeRegex: getEscapeRegex(options),\n    escapeString: getEscapeString(options),\n    indent:\n      options && options.min\n        ? ''\n        : createIndent(\n            options && options.indent !== undefined\n              ? options.indent\n              : DEFAULT_OPTIONS.indent\n          ),\n    maxDepth:\n      options && options.maxDepth !== undefined\n        ? options.maxDepth\n        : DEFAULT_OPTIONS.maxDepth,\n    min:\n      options && options.min !== undefined ? options.min : DEFAULT_OPTIONS.min,\n    plugins:\n      options && options.plugins !== undefined\n        ? options.plugins\n        : DEFAULT_OPTIONS.plugins,\n    printBasicPrototype:\n      (_options$printBasicPr =\n        options === null || options === void 0\n          ? void 0\n          : options.printBasicPrototype) !== null &&\n      _options$printBasicPr !== void 0\n        ? _options$printBasicPr\n        : true,\n    printFunctionName: getPrintFunctionName(options),\n    spacingInner: options && options.min ? ' ' : '\\n',\n    spacingOuter: options && options.min ? '' : '\\n'\n  };\n};\n\nfunction createIndent(indent) {\n  return new Array(indent + 1).join(' ');\n}\n/**\n * Returns a presentation string of your `val` object\n * @param val any potential JavaScript object\n * @param options Custom settings\n */\n\nfunction format(val, options) {\n  if (options) {\n    validateOptions(options);\n\n    if (options.plugins) {\n      const plugin = findPlugin(options.plugins, val);\n\n      if (plugin !== null) {\n        return printPlugin(plugin, val, getConfig(options), '', 0, []);\n      }\n    }\n  }\n\n  const basicResult = printBasicValue(\n    val,\n    getPrintFunctionName(options),\n    getEscapeRegex(options),\n    getEscapeString(options)\n  );\n\n  if (basicResult !== null) {\n    return basicResult;\n  }\n\n  return printComplexValue(val, getConfig(options), '', 0, []);\n}\n\nconst plugins = {\n  AsymmetricMatcher: _AsymmetricMatcher.default,\n  ConvertAnsi: _ConvertAnsi.default,\n  DOMCollection: _DOMCollection.default,\n  DOMElement: _DOMElement.default,\n  Immutable: _Immutable.default,\n  ReactElement: _ReactElement.default,\n  ReactTestComponent: _ReactTestComponent.default\n};\nexports.plugins = plugins;\nvar _default = format;\nexports.default = _default;\n","/**\n * @source {https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill}\n * but without thisArg (too hard to type, no need to `this`)\n */\nvar toStr = Object.prototype.toString;\n\nfunction isCallable(fn) {\n  return typeof fn === \"function\" || toStr.call(fn) === \"[object Function]\";\n}\n\nfunction toInteger(value) {\n  var number = Number(value);\n\n  if (isNaN(number)) {\n    return 0;\n  }\n\n  if (number === 0 || !isFinite(number)) {\n    return number;\n  }\n\n  return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));\n}\n\nvar maxSafeInteger = Math.pow(2, 53) - 1;\n\nfunction toLength(value) {\n  var len = toInteger(value);\n  return Math.min(Math.max(len, 0), maxSafeInteger);\n}\n/**\n * Creates an array from an iterable object.\n * @param iterable An iterable object to convert to an array.\n */\n\n\n/**\n * Creates an array from an iterable object.\n * @param iterable An iterable object to convert to an array.\n * @param mapfn A mapping function to call on every element of the array.\n * @param thisArg Value of 'this' used to invoke the mapfn.\n */\nexport default function arrayFrom(arrayLike, mapFn) {\n  // 1. Let C be the this value.\n  // edit(@eps1lon): we're not calling it as Array.from\n  var C = Array; // 2. Let items be ToObject(arrayLike).\n\n  var items = Object(arrayLike); // 3. ReturnIfAbrupt(items).\n\n  if (arrayLike == null) {\n    throw new TypeError(\"Array.from requires an array-like object - not null or undefined\");\n  } // 4. If mapfn is undefined, then let mapping be false.\n  // const mapFn = arguments.length > 1 ? arguments[1] : void undefined;\n\n\n  if (typeof mapFn !== \"undefined\") {\n    // 5. else\n    // 5. a If IsCallable(mapfn) is false, throw a TypeError exception.\n    if (!isCallable(mapFn)) {\n      throw new TypeError(\"Array.from: when provided, the second argument must be a function\");\n    }\n  } // 10. Let lenValue be Get(items, \"length\").\n  // 11. Let len be ToLength(lenValue).\n\n\n  var len = toLength(items.length); // 13. If IsConstructor(C) is true, then\n  // 13. a. Let A be the result of calling the [[Construct]] internal method\n  // of C with an argument list containing the single item len.\n  // 14. a. Else, Let A be ArrayCreate(len).\n\n  var A = isCallable(C) ? Object(new C(len)) : new Array(len); // 16. Let k be 0.\n\n  var k = 0; // 17. Repeat, while k < len… (also steps a - h)\n\n  var kValue;\n\n  while (k < len) {\n    kValue = items[k];\n\n    if (mapFn) {\n      A[k] = mapFn(kValue, k);\n    } else {\n      A[k] = kValue;\n    }\n\n    k += 1;\n  } // 18. Let putStatus be Put(A, \"length\", len, true).\n\n\n  A.length = len; // 20. Return A.\n\n  return A;\n}\n//# sourceMappingURL=array.from.mjs.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// for environments without Set we fallback to arrays with unique members\nvar SetLike = /*#__PURE__*/function () {\n  function SetLike() {\n    var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n    _classCallCheck(this, SetLike);\n\n    _defineProperty(this, \"items\", void 0);\n\n    this.items = items;\n  }\n\n  _createClass(SetLike, [{\n    key: \"add\",\n    value: function add(value) {\n      if (this.has(value) === false) {\n        this.items.push(value);\n      }\n\n      return this;\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      this.items = [];\n    }\n  }, {\n    key: \"delete\",\n    value: function _delete(value) {\n      var previousLength = this.items.length;\n      this.items = this.items.filter(function (item) {\n        return item !== value;\n      });\n      return previousLength !== this.items.length;\n    }\n  }, {\n    key: \"forEach\",\n    value: function forEach(callbackfn) {\n      var _this = this;\n\n      this.items.forEach(function (item) {\n        callbackfn(item, item, _this);\n      });\n    }\n  }, {\n    key: \"has\",\n    value: function has(value) {\n      return this.items.indexOf(value) !== -1;\n    }\n  }, {\n    key: \"size\",\n    get: function get() {\n      return this.items.length;\n    }\n  }]);\n\n  return SetLike;\n}();\n\nexport default typeof Set === \"undefined\" ? Set : SetLike;\n//# sourceMappingURL=SetLike.mjs.map","// https://w3c.github.io/html-aria/#document-conformance-requirements-for-use-of-aria-attributes-in-html\n\n/**\n * Safe Element.localName for all supported environments\n * @param element\n */\nexport function getLocalName(element) {\n  var _element$localName;\n\n  return (// eslint-disable-next-line no-restricted-properties -- actual guard for environments without localName\n    (_element$localName = element.localName) !== null && _element$localName !== void 0 ? _element$localName : // eslint-disable-next-line no-restricted-properties -- required for the fallback\n    element.tagName.toLowerCase()\n  );\n}\nvar localNameToRoleMappings = {\n  article: \"article\",\n  aside: \"complementary\",\n  button: \"button\",\n  datalist: \"listbox\",\n  dd: \"definition\",\n  details: \"group\",\n  dialog: \"dialog\",\n  dt: \"term\",\n  fieldset: \"group\",\n  figure: \"figure\",\n  // WARNING: Only with an accessible name\n  form: \"form\",\n  footer: \"contentinfo\",\n  h1: \"heading\",\n  h2: \"heading\",\n  h3: \"heading\",\n  h4: \"heading\",\n  h5: \"heading\",\n  h6: \"heading\",\n  header: \"banner\",\n  hr: \"separator\",\n  html: \"document\",\n  legend: \"legend\",\n  li: \"listitem\",\n  math: \"math\",\n  main: \"main\",\n  menu: \"list\",\n  nav: \"navigation\",\n  ol: \"list\",\n  optgroup: \"group\",\n  // WARNING: Only in certain context\n  option: \"option\",\n  output: \"status\",\n  progress: \"progressbar\",\n  // WARNING: Only with an accessible name\n  section: \"region\",\n  summary: \"button\",\n  table: \"table\",\n  tbody: \"rowgroup\",\n  textarea: \"textbox\",\n  tfoot: \"rowgroup\",\n  // WARNING: Only in certain context\n  td: \"cell\",\n  th: \"columnheader\",\n  thead: \"rowgroup\",\n  tr: \"row\",\n  ul: \"list\"\n};\nvar prohibitedAttributes = {\n  caption: new Set([\"aria-label\", \"aria-labelledby\"]),\n  code: new Set([\"aria-label\", \"aria-labelledby\"]),\n  deletion: new Set([\"aria-label\", \"aria-labelledby\"]),\n  emphasis: new Set([\"aria-label\", \"aria-labelledby\"]),\n  generic: new Set([\"aria-label\", \"aria-labelledby\", \"aria-roledescription\"]),\n  insertion: new Set([\"aria-label\", \"aria-labelledby\"]),\n  paragraph: new Set([\"aria-label\", \"aria-labelledby\"]),\n  presentation: new Set([\"aria-label\", \"aria-labelledby\"]),\n  strong: new Set([\"aria-label\", \"aria-labelledby\"]),\n  subscript: new Set([\"aria-label\", \"aria-labelledby\"]),\n  superscript: new Set([\"aria-label\", \"aria-labelledby\"])\n};\n/**\n *\n * @param element\n * @param role The role used for this element. This is specified to control whether you want to use the implicit or explicit role.\n */\n\nfunction hasGlobalAriaAttributes(element, role) {\n  // https://rawgit.com/w3c/aria/stable/#global_states\n  // commented attributes are deprecated\n  return [\"aria-atomic\", \"aria-busy\", \"aria-controls\", \"aria-current\", \"aria-describedby\", \"aria-details\", // \"disabled\",\n  \"aria-dropeffect\", // \"errormessage\",\n  \"aria-flowto\", \"aria-grabbed\", // \"haspopup\",\n  \"aria-hidden\", // \"invalid\",\n  \"aria-keyshortcuts\", \"aria-label\", \"aria-labelledby\", \"aria-live\", \"aria-owns\", \"aria-relevant\", \"aria-roledescription\"].some(function (attributeName) {\n    var _prohibitedAttributes;\n\n    return element.hasAttribute(attributeName) && !((_prohibitedAttributes = prohibitedAttributes[role]) !== null && _prohibitedAttributes !== void 0 && _prohibitedAttributes.has(attributeName));\n  });\n}\n\nfunction ignorePresentationalRole(element, implicitRole) {\n  // https://rawgit.com/w3c/aria/stable/#conflict_resolution_presentation_none\n  return hasGlobalAriaAttributes(element, implicitRole);\n}\n\nexport default function getRole(element) {\n  var explicitRole = getExplicitRole(element);\n\n  if (explicitRole === null || explicitRole === \"presentation\") {\n    var implicitRole = getImplicitRole(element);\n\n    if (explicitRole !== \"presentation\" || ignorePresentationalRole(element, implicitRole || \"\")) {\n      return implicitRole;\n    }\n  }\n\n  return explicitRole;\n}\n\nfunction getImplicitRole(element) {\n  var mappedByTag = localNameToRoleMappings[getLocalName(element)];\n\n  if (mappedByTag !== undefined) {\n    return mappedByTag;\n  }\n\n  switch (getLocalName(element)) {\n    case \"a\":\n    case \"area\":\n    case \"link\":\n      if (element.hasAttribute(\"href\")) {\n        return \"link\";\n      }\n\n      break;\n\n    case \"img\":\n      if (element.getAttribute(\"alt\") === \"\" && !ignorePresentationalRole(element, \"img\")) {\n        return \"presentation\";\n      }\n\n      return \"img\";\n\n    case \"input\":\n      {\n        var _ref = element,\n            type = _ref.type;\n\n        switch (type) {\n          case \"button\":\n          case \"image\":\n          case \"reset\":\n          case \"submit\":\n            return \"button\";\n\n          case \"checkbox\":\n          case \"radio\":\n            return type;\n\n          case \"range\":\n            return \"slider\";\n\n          case \"email\":\n          case \"tel\":\n          case \"text\":\n          case \"url\":\n            if (element.hasAttribute(\"list\")) {\n              return \"combobox\";\n            }\n\n            return \"textbox\";\n\n          case \"search\":\n            if (element.hasAttribute(\"list\")) {\n              return \"combobox\";\n            }\n\n            return \"searchbox\";\n\n          case \"number\":\n            return \"spinbutton\";\n\n          default:\n            return null;\n        }\n      }\n\n    case \"select\":\n      if (element.hasAttribute(\"multiple\") || element.size > 1) {\n        return \"listbox\";\n      }\n\n      return \"combobox\";\n  }\n\n  return null;\n}\n\nfunction getExplicitRole(element) {\n  var role = element.getAttribute(\"role\");\n\n  if (role !== null) {\n    var explicitRole = role.trim().split(\" \")[0]; // String.prototype.split(sep, limit) will always return an array with at least one member\n    // as long as limit is either undefined or > 0\n\n    if (explicitRole.length > 0) {\n      return explicitRole;\n    }\n  }\n\n  return null;\n}\n//# sourceMappingURL=getRole.mjs.map","export { getLocalName } from \"./getRole.mjs\";\nimport getRole, { getLocalName } from \"./getRole.mjs\";\nexport function isElement(node) {\n  return node !== null && node.nodeType === node.ELEMENT_NODE;\n}\nexport function isHTMLTableCaptionElement(node) {\n  return isElement(node) && getLocalName(node) === \"caption\";\n}\nexport function isHTMLInputElement(node) {\n  return isElement(node) && getLocalName(node) === \"input\";\n}\nexport function isHTMLOptGroupElement(node) {\n  return isElement(node) && getLocalName(node) === \"optgroup\";\n}\nexport function isHTMLSelectElement(node) {\n  return isElement(node) && getLocalName(node) === \"select\";\n}\nexport function isHTMLTableElement(node) {\n  return isElement(node) && getLocalName(node) === \"table\";\n}\nexport function isHTMLTextAreaElement(node) {\n  return isElement(node) && getLocalName(node) === \"textarea\";\n}\nexport function safeWindow(node) {\n  var _ref = node.ownerDocument === null ? node : node.ownerDocument,\n      defaultView = _ref.defaultView;\n\n  if (defaultView === null) {\n    throw new TypeError(\"no window available\");\n  }\n\n  return defaultView;\n}\nexport function isHTMLFieldSetElement(node) {\n  return isElement(node) && getLocalName(node) === \"fieldset\";\n}\nexport function isHTMLLegendElement(node) {\n  return isElement(node) && getLocalName(node) === \"legend\";\n}\nexport function isHTMLSlotElement(node) {\n  return isElement(node) && getLocalName(node) === \"slot\";\n}\nexport function isSVGElement(node) {\n  return isElement(node) && node.ownerSVGElement !== undefined;\n}\nexport function isSVGSVGElement(node) {\n  return isElement(node) && getLocalName(node) === \"svg\";\n}\nexport function isSVGTitleElement(node) {\n  return isSVGElement(node) && getLocalName(node) === \"title\";\n}\n/**\n *\n * @param {Node} node -\n * @param {string} attributeName -\n * @returns {Element[]} -\n */\n\nexport function queryIdRefs(node, attributeName) {\n  if (isElement(node) && node.hasAttribute(attributeName)) {\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute check\n    var ids = node.getAttribute(attributeName).split(\" \"); // Browsers that don't support shadow DOM won't have getRootNode\n\n    var root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n    return ids.map(function (id) {\n      return root.getElementById(id);\n    }).filter(function (element) {\n      return element !== null;\n    } // TODO: why does this not narrow?\n    );\n  }\n\n  return [];\n}\nexport function hasAnyConcreteRoles(node, roles) {\n  if (isElement(node)) {\n    return roles.indexOf(getRole(node)) !== -1;\n  }\n\n  return false;\n}\n//# sourceMappingURL=util.mjs.map","/**\n * implements https://w3c.github.io/accname/\n */\nimport ArrayFrom from \"./polyfills/array.from.mjs\";\nimport SetLike from \"./polyfills/SetLike.mjs\";\nimport { hasAnyConcreteRoles, isElement, isHTMLTableCaptionElement, isHTMLInputElement, isHTMLSelectElement, isHTMLTextAreaElement, safeWindow, isHTMLFieldSetElement, isHTMLLegendElement, isHTMLOptGroupElement, isHTMLTableElement, isHTMLSlotElement, isSVGSVGElement, isSVGTitleElement, queryIdRefs, getLocalName } from \"./util.mjs\";\n/**\n *  A string of characters where all carriage returns, newlines, tabs, and form-feeds are replaced with a single space, and multiple spaces are reduced to a single space. The string contains only character data; it does not contain any markup.\n */\n\n/**\n *\n * @param {string} string -\n * @returns {FlatString} -\n */\nfunction asFlatString(s) {\n  return s.trim().replace(/\\s\\s+/g, \" \");\n}\n/**\n *\n * @param node -\n * @param options - These are not optional to prevent accidentally calling it without options in `computeAccessibleName`\n * @returns {boolean} -\n */\n\n\nfunction isHidden(node, getComputedStyleImplementation) {\n  if (!isElement(node)) {\n    return false;\n  }\n\n  if (node.hasAttribute(\"hidden\") || node.getAttribute(\"aria-hidden\") === \"true\") {\n    return true;\n  }\n\n  var style = getComputedStyleImplementation(node);\n  return style.getPropertyValue(\"display\") === \"none\" || style.getPropertyValue(\"visibility\") === \"hidden\";\n}\n/**\n * @param {Node} node -\n * @returns {boolean} - As defined in step 2E of https://w3c.github.io/accname/#mapping_additional_nd_te\n */\n\n\nfunction isControl(node) {\n  return hasAnyConcreteRoles(node, [\"button\", \"combobox\", \"listbox\", \"textbox\"]) || hasAbstractRole(node, \"range\");\n}\n\nfunction hasAbstractRole(node, role) {\n  if (!isElement(node)) {\n    return false;\n  }\n\n  switch (role) {\n    case \"range\":\n      return hasAnyConcreteRoles(node, [\"meter\", \"progressbar\", \"scrollbar\", \"slider\", \"spinbutton\"]);\n\n    default:\n      throw new TypeError(\"No knowledge about abstract role '\".concat(role, \"'. This is likely a bug :(\"));\n  }\n}\n/**\n * element.querySelectorAll but also considers owned tree\n * @param element\n * @param selectors\n */\n\n\nfunction querySelectorAllSubtree(element, selectors) {\n  var elements = ArrayFrom(element.querySelectorAll(selectors));\n  queryIdRefs(element, \"aria-owns\").forEach(function (root) {\n    // babel transpiles this assuming an iterator\n    elements.push.apply(elements, ArrayFrom(root.querySelectorAll(selectors)));\n  });\n  return elements;\n}\n\nfunction querySelectedOptions(listbox) {\n  if (isHTMLSelectElement(listbox)) {\n    // IE11 polyfill\n    return listbox.selectedOptions || querySelectorAllSubtree(listbox, \"[selected]\");\n  }\n\n  return querySelectorAllSubtree(listbox, '[aria-selected=\"true\"]');\n}\n\nfunction isMarkedPresentational(node) {\n  return hasAnyConcreteRoles(node, [\"none\", \"presentation\"]);\n}\n/**\n * Elements specifically listed in html-aam\n *\n * We don't need this for `label` or `legend` elements.\n * Their implicit roles already allow \"naming from content\".\n *\n * sources:\n *\n * - https://w3c.github.io/html-aam/#table-element\n */\n\n\nfunction isNativeHostLanguageTextAlternativeElement(node) {\n  return isHTMLTableCaptionElement(node);\n}\n/**\n * https://w3c.github.io/aria/#namefromcontent\n */\n\n\nfunction allowsNameFromContent(node) {\n  return hasAnyConcreteRoles(node, [\"button\", \"cell\", \"checkbox\", \"columnheader\", \"gridcell\", \"heading\", \"label\", \"legend\", \"link\", \"menuitem\", \"menuitemcheckbox\", \"menuitemradio\", \"option\", \"radio\", \"row\", \"rowheader\", \"switch\", \"tab\", \"tooltip\", \"treeitem\"]);\n}\n/**\n * TODO https://github.com/eps1lon/dom-accessibility-api/issues/100\n */\n\n\nfunction isDescendantOfNativeHostLanguageTextAlternativeElement( // eslint-disable-next-line @typescript-eslint/no-unused-vars -- not implemented yet\nnode) {\n  return false;\n}\n/**\n * TODO https://github.com/eps1lon/dom-accessibility-api/issues/101\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars -- not implemented yet\n\n\nfunction computeTooltipAttributeValue(node) {\n  return null;\n}\n\nfunction getValueOfTextbox(element) {\n  if (isHTMLInputElement(element) || isHTMLTextAreaElement(element)) {\n    return element.value;\n  } // https://github.com/eps1lon/dom-accessibility-api/issues/4\n\n\n  return element.textContent || \"\";\n}\n\nfunction getTextualContent(declaration) {\n  var content = declaration.getPropertyValue(\"content\");\n\n  if (/^[\"'].*[\"']$/.test(content)) {\n    return content.slice(1, -1);\n  }\n\n  return \"\";\n}\n/**\n * https://html.spec.whatwg.org/multipage/forms.html#category-label\n * TODO: form-associated custom elements\n * @param element\n */\n\n\nfunction isLabelableElement(element) {\n  var localName = getLocalName(element);\n  return localName === \"button\" || localName === \"input\" && element.getAttribute(\"type\") !== \"hidden\" || localName === \"meter\" || localName === \"output\" || localName === \"progress\" || localName === \"select\" || localName === \"textarea\";\n}\n/**\n * > [...], then the first such descendant in tree order is the label element's labeled control.\n * -- https://html.spec.whatwg.org/multipage/forms.html#labeled-control\n * @param element\n */\n\n\nfunction findLabelableElement(element) {\n  if (isLabelableElement(element)) {\n    return element;\n  }\n\n  var labelableElement = null;\n  element.childNodes.forEach(function (childNode) {\n    if (labelableElement === null && isElement(childNode)) {\n      var descendantLabelableElement = findLabelableElement(childNode);\n\n      if (descendantLabelableElement !== null) {\n        labelableElement = descendantLabelableElement;\n      }\n    }\n  });\n  return labelableElement;\n}\n/**\n * Polyfill of HTMLLabelElement.control\n * https://html.spec.whatwg.org/multipage/forms.html#labeled-control\n * @param label\n */\n\n\nfunction getControlOfLabel(label) {\n  if (label.control !== undefined) {\n    return label.control;\n  }\n\n  var htmlFor = label.getAttribute(\"for\");\n\n  if (htmlFor !== null) {\n    return label.ownerDocument.getElementById(htmlFor);\n  }\n\n  return findLabelableElement(label);\n}\n/**\n * Polyfill of HTMLInputElement.labels\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/labels\n * @param element\n */\n\n\nfunction getLabels(element) {\n  var labelsProperty = element.labels;\n\n  if (labelsProperty === null) {\n    return labelsProperty;\n  }\n\n  if (labelsProperty !== undefined) {\n    return ArrayFrom(labelsProperty);\n  } // polyfill\n\n\n  if (!isLabelableElement(element)) {\n    return null;\n  }\n\n  var document = element.ownerDocument;\n  return ArrayFrom(document.querySelectorAll(\"label\")).filter(function (label) {\n    return getControlOfLabel(label) === element;\n  });\n}\n/**\n * Gets the contents of a slot used for computing the accname\n * @param slot\n */\n\n\nfunction getSlotContents(slot) {\n  // Computing the accessible name for elements containing slots is not\n  // currently defined in the spec. This implementation reflects the\n  // behavior of NVDA 2020.2/Firefox 81 and iOS VoiceOver/Safari 13.6.\n  var assignedNodes = slot.assignedNodes();\n\n  if (assignedNodes.length === 0) {\n    // if no nodes are assigned to the slot, it displays the default content\n    return ArrayFrom(slot.childNodes);\n  }\n\n  return assignedNodes;\n}\n/**\n * implements https://w3c.github.io/accname/#mapping_additional_nd_te\n * @param root\n * @param options\n * @returns\n */\n\n\nexport function computeTextAlternative(root) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var consultedNodes = new SetLike();\n  var window = safeWindow(root);\n  var _options$compute = options.compute,\n      compute = _options$compute === void 0 ? \"name\" : _options$compute,\n      _options$computedStyl = options.computedStyleSupportsPseudoElements,\n      computedStyleSupportsPseudoElements = _options$computedStyl === void 0 ? options.getComputedStyle !== undefined : _options$computedStyl,\n      _options$getComputedS = options.getComputedStyle,\n      getComputedStyle = _options$getComputedS === void 0 ? window.getComputedStyle.bind(window) : _options$getComputedS,\n      _options$hidden = options.hidden,\n      hidden = _options$hidden === void 0 ? false : _options$hidden; // 2F.i\n\n  function computeMiscTextAlternative(node, context) {\n    var accumulatedText = \"\";\n\n    if (isElement(node) && computedStyleSupportsPseudoElements) {\n      var pseudoBefore = getComputedStyle(node, \"::before\");\n      var beforeContent = getTextualContent(pseudoBefore);\n      accumulatedText = \"\".concat(beforeContent, \" \").concat(accumulatedText);\n    } // FIXME: Including aria-owns is not defined in the spec\n    // But it is required in the web-platform-test\n\n\n    var childNodes = isHTMLSlotElement(node) ? getSlotContents(node) : ArrayFrom(node.childNodes).concat(queryIdRefs(node, \"aria-owns\"));\n    childNodes.forEach(function (child) {\n      var result = computeTextAlternative(child, {\n        isEmbeddedInLabel: context.isEmbeddedInLabel,\n        isReferenced: false,\n        recursion: true\n      }); // TODO: Unclear why display affects delimiter\n      // see https://github.com/w3c/accname/issues/3\n\n      var display = isElement(child) ? getComputedStyle(child).getPropertyValue(\"display\") : \"inline\";\n      var separator = display !== \"inline\" ? \" \" : \"\"; // trailing separator for wpt tests\n\n      accumulatedText += \"\".concat(separator).concat(result).concat(separator);\n    });\n\n    if (isElement(node) && computedStyleSupportsPseudoElements) {\n      var pseudoAfter = getComputedStyle(node, \"::after\");\n      var afterContent = getTextualContent(pseudoAfter);\n      accumulatedText = \"\".concat(accumulatedText, \" \").concat(afterContent);\n    }\n\n    return accumulatedText.trim();\n  }\n\n  function computeElementTextAlternative(node) {\n    if (!isElement(node)) {\n      return null;\n    }\n    /**\n     *\n     * @param element\n     * @param attributeName\n     * @returns A string non-empty string or `null`\n     */\n\n\n    function useAttribute(element, attributeName) {\n      var attribute = element.getAttributeNode(attributeName);\n\n      if (attribute !== null && !consultedNodes.has(attribute) && attribute.value.trim() !== \"\") {\n        consultedNodes.add(attribute);\n        return attribute.value;\n      }\n\n      return null;\n    } // https://w3c.github.io/html-aam/#fieldset-and-legend-elements\n\n\n    if (isHTMLFieldSetElement(node)) {\n      consultedNodes.add(node);\n      var children = ArrayFrom(node.childNodes);\n\n      for (var i = 0; i < children.length; i += 1) {\n        var child = children[i];\n\n        if (isHTMLLegendElement(child)) {\n          return computeTextAlternative(child, {\n            isEmbeddedInLabel: false,\n            isReferenced: false,\n            recursion: false\n          });\n        }\n      }\n    } else if (isHTMLTableElement(node)) {\n      // https://w3c.github.io/html-aam/#table-element\n      consultedNodes.add(node);\n\n      var _children = ArrayFrom(node.childNodes);\n\n      for (var _i = 0; _i < _children.length; _i += 1) {\n        var _child = _children[_i];\n\n        if (isHTMLTableCaptionElement(_child)) {\n          return computeTextAlternative(_child, {\n            isEmbeddedInLabel: false,\n            isReferenced: false,\n            recursion: false\n          });\n        }\n      }\n    } else if (isSVGSVGElement(node)) {\n      // https://www.w3.org/TR/svg-aam-1.0/\n      consultedNodes.add(node);\n\n      var _children2 = ArrayFrom(node.childNodes);\n\n      for (var _i2 = 0; _i2 < _children2.length; _i2 += 1) {\n        var _child2 = _children2[_i2];\n\n        if (isSVGTitleElement(_child2)) {\n          return _child2.textContent;\n        }\n      }\n\n      return null;\n    } else if (getLocalName(node) === \"img\" || getLocalName(node) === \"area\") {\n      // https://w3c.github.io/html-aam/#area-element\n      // https://w3c.github.io/html-aam/#img-element\n      var nameFromAlt = useAttribute(node, \"alt\");\n\n      if (nameFromAlt !== null) {\n        return nameFromAlt;\n      }\n    } else if (isHTMLOptGroupElement(node)) {\n      var nameFromLabel = useAttribute(node, \"label\");\n\n      if (nameFromLabel !== null) {\n        return nameFromLabel;\n      }\n    }\n\n    if (isHTMLInputElement(node) && (node.type === \"button\" || node.type === \"submit\" || node.type === \"reset\")) {\n      // https://w3c.github.io/html-aam/#input-type-text-input-type-password-input-type-search-input-type-tel-input-type-email-input-type-url-and-textarea-element-accessible-description-computation\n      var nameFromValue = useAttribute(node, \"value\");\n\n      if (nameFromValue !== null) {\n        return nameFromValue;\n      } // TODO: l10n\n\n\n      if (node.type === \"submit\") {\n        return \"Submit\";\n      } // TODO: l10n\n\n\n      if (node.type === \"reset\") {\n        return \"Reset\";\n      }\n    }\n\n    var labels = getLabels(node);\n\n    if (labels !== null && labels.length !== 0) {\n      consultedNodes.add(node);\n      return ArrayFrom(labels).map(function (element) {\n        return computeTextAlternative(element, {\n          isEmbeddedInLabel: true,\n          isReferenced: false,\n          recursion: true\n        });\n      }).filter(function (label) {\n        return label.length > 0;\n      }).join(\" \");\n    } // https://w3c.github.io/html-aam/#input-type-image-accessible-name-computation\n    // TODO: wpt test consider label elements but html-aam does not mention them\n    // We follow existing implementations over spec\n\n\n    if (isHTMLInputElement(node) && node.type === \"image\") {\n      var _nameFromAlt = useAttribute(node, \"alt\");\n\n      if (_nameFromAlt !== null) {\n        return _nameFromAlt;\n      }\n\n      var nameFromTitle = useAttribute(node, \"title\");\n\n      if (nameFromTitle !== null) {\n        return nameFromTitle;\n      } // TODO: l10n\n\n\n      return \"Submit Query\";\n    }\n\n    if (hasAnyConcreteRoles(node, [\"button\"])) {\n      // https://www.w3.org/TR/html-aam-1.0/#button-element\n      var nameFromSubTree = computeMiscTextAlternative(node, {\n        isEmbeddedInLabel: false,\n        isReferenced: false\n      });\n\n      if (nameFromSubTree !== \"\") {\n        return nameFromSubTree;\n      }\n\n      return useAttribute(node, \"title\");\n    }\n\n    return useAttribute(node, \"title\");\n  }\n\n  function computeTextAlternative(current, context) {\n    if (consultedNodes.has(current)) {\n      return \"\";\n    } // 2A\n\n\n    if (!hidden && isHidden(current, getComputedStyle) && !context.isReferenced) {\n      consultedNodes.add(current);\n      return \"\";\n    } // 2B\n\n\n    var labelElements = queryIdRefs(current, \"aria-labelledby\");\n\n    if (compute === \"name\" && !context.isReferenced && labelElements.length > 0) {\n      return labelElements.map(function (element) {\n        return computeTextAlternative(element, {\n          isEmbeddedInLabel: context.isEmbeddedInLabel,\n          isReferenced: true,\n          // thais isn't recursion as specified, otherwise we would skip\n          // `aria-label` in\n          //  1 && arguments[1] !== undefined ? arguments[1] : {};\n  var description = queryIdRefs(root, \"aria-describedby\").map(function (element) {\n    return computeTextAlternative(element, _objectSpread(_objectSpread({}, options), {}, {\n      compute: \"description\"\n    }));\n  }).join(\" \"); // TODO: Technically we need to make sure that node wasn't used for the accessible name\n  //       This causes `description_1.0_combobox-focusable-manual` to fail\n  //\n  // https://www.w3.org/TR/html-aam-1.0/#accessible-name-and-description-computation\n  // says for so many elements to use the `title` that we assume all elements are considered\n\n  if (description === \"\") {\n    var title = root.getAttribute(\"title\");\n    description = title === null ? \"\" : title;\n  }\n\n  return description;\n}\n//# sourceMappingURL=accessible-description.mjs.map","import { computeTextAlternative } from \"./accessible-name-and-description.mjs\";\nimport { hasAnyConcreteRoles } from \"./util.mjs\";\n/**\n * https://w3c.github.io/aria/#namefromprohibited\n */\n\nfunction prohibitsNaming(node) {\n  return hasAnyConcreteRoles(node, [\"caption\", \"code\", \"deletion\", \"emphasis\", \"generic\", \"insertion\", \"paragraph\", \"presentation\", \"strong\", \"subscript\", \"superscript\"]);\n}\n/**\n * implements https://w3c.github.io/accname/#mapping_additional_nd_name\n * @param root\n * @param options\n * @returns\n */\n\n\nexport function computeAccessibleName(root) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  if (prohibitsNaming(root)) {\n    return \"\";\n  }\n\n  return computeTextAlternative(root, options);\n}\n//# sourceMappingURL=accessible-name.mjs.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar properties = [['aria-activedescendant', {\n  'type': 'id'\n}], ['aria-atomic', {\n  'type': 'boolean'\n}], ['aria-autocomplete', {\n  'type': 'token',\n  'values': ['inline', 'list', 'both', 'none']\n}], ['aria-busy', {\n  'type': 'boolean'\n}], ['aria-checked', {\n  'type': 'tristate'\n}], ['aria-colcount', {\n  type: 'integer'\n}], ['aria-colindex', {\n  type: 'integer'\n}], ['aria-colspan', {\n  type: 'integer'\n}], ['aria-controls', {\n  'type': 'idlist'\n}], ['aria-current', {\n  type: 'token',\n  values: ['page', 'step', 'location', 'date', 'time', true, false]\n}], ['aria-describedby', {\n  'type': 'idlist'\n}], ['aria-details', {\n  'type': 'id'\n}], ['aria-disabled', {\n  'type': 'boolean'\n}], ['aria-dropeffect', {\n  'type': 'tokenlist',\n  'values': ['copy', 'execute', 'link', 'move', 'none', 'popup']\n}], ['aria-errormessage', {\n  'type': 'id'\n}], ['aria-expanded', {\n  'type': 'boolean',\n  'allowundefined': true\n}], ['aria-flowto', {\n  'type': 'idlist'\n}], ['aria-grabbed', {\n  'type': 'boolean',\n  'allowundefined': true\n}], ['aria-haspopup', {\n  'type': 'token',\n  'values': [false, true, 'menu', 'listbox', 'tree', 'grid', 'dialog']\n}], ['aria-hidden', {\n  'type': 'boolean',\n  'allowundefined': true\n}], ['aria-invalid', {\n  'type': 'token',\n  'values': ['grammar', false, 'spelling', true]\n}], ['aria-keyshortcuts', {\n  type: 'string'\n}], ['aria-label', {\n  'type': 'string'\n}], ['aria-labelledby', {\n  'type': 'idlist'\n}], ['aria-level', {\n  'type': 'integer'\n}], ['aria-live', {\n  'type': 'token',\n  'values': ['assertive', 'off', 'polite']\n}], ['aria-modal', {\n  type: 'boolean'\n}], ['aria-multiline', {\n  'type': 'boolean'\n}], ['aria-multiselectable', {\n  'type': 'boolean'\n}], ['aria-orientation', {\n  'type': 'token',\n  'values': ['vertical', 'undefined', 'horizontal']\n}], ['aria-owns', {\n  'type': 'idlist'\n}], ['aria-placeholder', {\n  type: 'string'\n}], ['aria-posinset', {\n  'type': 'integer'\n}], ['aria-pressed', {\n  'type': 'tristate'\n}], ['aria-readonly', {\n  'type': 'boolean'\n}], ['aria-relevant', {\n  'type': 'tokenlist',\n  'values': ['additions', 'all', 'removals', 'text']\n}], ['aria-required', {\n  'type': 'boolean'\n}], ['aria-roledescription', {\n  type: 'string'\n}], ['aria-rowcount', {\n  type: 'integer'\n}], ['aria-rowindex', {\n  type: 'integer'\n}], ['aria-rowspan', {\n  type: 'integer'\n}], ['aria-selected', {\n  'type': 'boolean',\n  'allowundefined': true\n}], ['aria-setsize', {\n  'type': 'integer'\n}], ['aria-sort', {\n  'type': 'token',\n  'values': ['ascending', 'descending', 'none', 'other']\n}], ['aria-valuemax', {\n  'type': 'number'\n}], ['aria-valuemin', {\n  'type': 'number'\n}], ['aria-valuenow', {\n  'type': 'number'\n}], ['aria-valuetext', {\n  'type': 'string'\n}]];\nvar ariaPropsMap = {\n  entries: function entries() {\n    return properties;\n  },\n  get: function get(key) {\n    var item = properties.find(function (tuple) {\n      return tuple[0] === key ? true : false;\n    });\n    return item && item[1];\n  },\n  has: function has(key) {\n    return !!this.get(key);\n  },\n  keys: function keys() {\n    return properties.map(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 1),\n          key = _ref2[0];\n\n      return key;\n    });\n  },\n  values: function values() {\n    return properties.map(function (_ref3) {\n      var _ref4 = _slicedToArray(_ref3, 2),\n          values = _ref4[1];\n\n      return values;\n    });\n  }\n};\nvar _default = ariaPropsMap;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar dom = [['a', {\n  reserved: false\n}], ['abbr', {\n  reserved: false\n}], ['acronym', {\n  reserved: false\n}], ['address', {\n  reserved: false\n}], ['applet', {\n  reserved: false\n}], ['area', {\n  reserved: false\n}], ['article', {\n  reserved: false\n}], ['aside', {\n  reserved: false\n}], ['audio', {\n  reserved: false\n}], ['b', {\n  reserved: false\n}], ['base', {\n  reserved: true\n}], ['bdi', {\n  reserved: false\n}], ['bdo', {\n  reserved: false\n}], ['big', {\n  reserved: false\n}], ['blink', {\n  reserved: false\n}], ['blockquote', {\n  reserved: false\n}], ['body', {\n  reserved: false\n}], ['br', {\n  reserved: false\n}], ['button', {\n  reserved: false\n}], ['canvas', {\n  reserved: false\n}], ['caption', {\n  reserved: false\n}], ['center', {\n  reserved: false\n}], ['cite', {\n  reserved: false\n}], ['code', {\n  reserved: false\n}], ['col', {\n  reserved: true\n}], ['colgroup', {\n  reserved: true\n}], ['content', {\n  reserved: false\n}], ['data', {\n  reserved: false\n}], ['datalist', {\n  reserved: false\n}], ['dd', {\n  reserved: false\n}], ['del', {\n  reserved: false\n}], ['details', {\n  reserved: false\n}], ['dfn', {\n  reserved: false\n}], ['dialog', {\n  reserved: false\n}], ['dir', {\n  reserved: false\n}], ['div', {\n  reserved: false\n}], ['dl', {\n  reserved: false\n}], ['dt', {\n  reserved: false\n}], ['em', {\n  reserved: false\n}], ['embed', {\n  reserved: false\n}], ['fieldset', {\n  reserved: false\n}], ['figcaption', {\n  reserved: false\n}], ['figure', {\n  reserved: false\n}], ['font', {\n  reserved: false\n}], ['footer', {\n  reserved: false\n}], ['form', {\n  reserved: false\n}], ['frame', {\n  reserved: false\n}], ['frameset', {\n  reserved: false\n}], ['h1', {\n  reserved: false\n}], ['h2', {\n  reserved: false\n}], ['h3', {\n  reserved: false\n}], ['h4', {\n  reserved: false\n}], ['h5', {\n  reserved: false\n}], ['h6', {\n  reserved: false\n}], ['head', {\n  reserved: true\n}], ['header', {\n  reserved: false\n}], ['hgroup', {\n  reserved: false\n}], ['hr', {\n  reserved: false\n}], ['html', {\n  reserved: true\n}], ['i', {\n  reserved: false\n}], ['iframe', {\n  reserved: false\n}], ['img', {\n  reserved: false\n}], ['input', {\n  reserved: false\n}], ['ins', {\n  reserved: false\n}], ['kbd', {\n  reserved: false\n}], ['keygen', {\n  reserved: false\n}], ['label', {\n  reserved: false\n}], ['legend', {\n  reserved: false\n}], ['li', {\n  reserved: false\n}], ['link', {\n  reserved: true\n}], ['main', {\n  reserved: false\n}], ['map', {\n  reserved: false\n}], ['mark', {\n  reserved: false\n}], ['marquee', {\n  reserved: false\n}], ['menu', {\n  reserved: false\n}], ['menuitem', {\n  reserved: false\n}], ['meta', {\n  reserved: true\n}], ['meter', {\n  reserved: false\n}], ['nav', {\n  reserved: false\n}], ['noembed', {\n  reserved: true\n}], ['noscript', {\n  reserved: true\n}], ['object', {\n  reserved: false\n}], ['ol', {\n  reserved: false\n}], ['optgroup', {\n  reserved: false\n}], ['option', {\n  reserved: false\n}], ['output', {\n  reserved: false\n}], ['p', {\n  reserved: false\n}], ['param', {\n  reserved: true\n}], ['picture', {\n  reserved: true\n}], ['pre', {\n  reserved: false\n}], ['progress', {\n  reserved: false\n}], ['q', {\n  reserved: false\n}], ['rp', {\n  reserved: false\n}], ['rt', {\n  reserved: false\n}], ['rtc', {\n  reserved: false\n}], ['ruby', {\n  reserved: false\n}], ['s', {\n  reserved: false\n}], ['samp', {\n  reserved: false\n}], ['script', {\n  reserved: true\n}], ['section', {\n  reserved: false\n}], ['select', {\n  reserved: false\n}], ['small', {\n  reserved: false\n}], ['source', {\n  reserved: true\n}], ['spacer', {\n  reserved: false\n}], ['span', {\n  reserved: false\n}], ['strike', {\n  reserved: false\n}], ['strong', {\n  reserved: false\n}], ['style', {\n  reserved: true\n}], ['sub', {\n  reserved: false\n}], ['summary', {\n  reserved: false\n}], ['sup', {\n  reserved: false\n}], ['table', {\n  reserved: false\n}], ['tbody', {\n  reserved: false\n}], ['td', {\n  reserved: false\n}], ['textarea', {\n  reserved: false\n}], ['tfoot', {\n  reserved: false\n}], ['th', {\n  reserved: false\n}], ['thead', {\n  reserved: false\n}], ['time', {\n  reserved: false\n}], ['title', {\n  reserved: true\n}], ['tr', {\n  reserved: false\n}], ['track', {\n  reserved: true\n}], ['tt', {\n  reserved: false\n}], ['u', {\n  reserved: false\n}], ['ul', {\n  reserved: false\n}], ['var', {\n  reserved: false\n}], ['video', {\n  reserved: false\n}], ['wbr', {\n  reserved: false\n}], ['xmp', {\n  reserved: false\n}]];\nvar domMap = {\n  entries: function entries() {\n    return dom;\n  },\n  get: function get(key) {\n    var item = dom.find(function (tuple) {\n      return tuple[0] === key ? true : false;\n    });\n    return item && item[1];\n  },\n  has: function has(key) {\n    return !!this.get(key);\n  },\n  keys: function keys() {\n    return dom.map(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 1),\n          key = _ref2[0];\n\n      return key;\n    });\n  },\n  values: function values() {\n    return dom.map(function (_ref3) {\n      var _ref4 = _slicedToArray(_ref3, 2),\n          values = _ref4[1];\n\n      return values;\n    });\n  }\n};\nvar _default = domMap;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar commandRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'menuitem'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget']]\n};\nvar _default = commandRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar compositeRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-activedescendant': null,\n    'aria-disabled': null\n  },\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget']]\n};\nvar _default = compositeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar inputRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'input'\n    },\n    module: 'XForms'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget']]\n};\nvar _default = inputRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar landmarkRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = landmarkRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar rangeRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-valuemax': null,\n    'aria-valuemin': null,\n    'aria-valuenow': null\n  },\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure']]\n};\nvar _default = rangeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar roletypeRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: [],\n  prohibitedProps: [],\n  props: {\n    'aria-atomic': null,\n    'aria-busy': null,\n    'aria-controls': null,\n    'aria-current': null,\n    'aria-describedby': null,\n    'aria-details': null,\n    'aria-dropeffect': null,\n    'aria-flowto': null,\n    'aria-grabbed': null,\n    'aria-hidden': null,\n    'aria-keyshortcuts': null,\n    'aria-label': null,\n    'aria-labelledby': null,\n    'aria-live': null,\n    'aria-owns': null,\n    'aria-relevant': null,\n    'aria-roledescription': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'rel'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'role'\n    },\n    module: 'XHTML'\n  }, {\n    concept: {\n      name: 'type'\n    },\n    module: 'Dublin Core'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: []\n};\nvar _default = roletypeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar sectionRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: [],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'frontmatter'\n    },\n    module: 'DTB'\n  }, {\n    concept: {\n      name: 'level'\n    },\n    module: 'DTB'\n  }, {\n    concept: {\n      name: 'level'\n    },\n    module: 'SMIL'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure']]\n};\nvar _default = sectionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar sectionheadRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure']]\n};\nvar _default = sectionheadRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar selectRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-orientation': null\n  },\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite'], ['roletype', 'structure', 'section', 'group']]\n};\nvar _default = selectRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar structureRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: [],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype']]\n};\nvar _default = structureRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar widgetRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: [],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype']]\n};\nvar _default = widgetRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar windowRole = {\n  abstract: true,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-modal': null\n  },\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype']]\n};\nvar _default = windowRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _commandRole = _interopRequireDefault(require(\"./abstract/commandRole\"));\n\nvar _compositeRole = _interopRequireDefault(require(\"./abstract/compositeRole\"));\n\nvar _inputRole = _interopRequireDefault(require(\"./abstract/inputRole\"));\n\nvar _landmarkRole = _interopRequireDefault(require(\"./abstract/landmarkRole\"));\n\nvar _rangeRole = _interopRequireDefault(require(\"./abstract/rangeRole\"));\n\nvar _roletypeRole = _interopRequireDefault(require(\"./abstract/roletypeRole\"));\n\nvar _sectionRole = _interopRequireDefault(require(\"./abstract/sectionRole\"));\n\nvar _sectionheadRole = _interopRequireDefault(require(\"./abstract/sectionheadRole\"));\n\nvar _selectRole = _interopRequireDefault(require(\"./abstract/selectRole\"));\n\nvar _structureRole = _interopRequireDefault(require(\"./abstract/structureRole\"));\n\nvar _widgetRole = _interopRequireDefault(require(\"./abstract/widgetRole\"));\n\nvar _windowRole = _interopRequireDefault(require(\"./abstract/windowRole\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaAbstractRoles = [['command', _commandRole.default], ['composite', _compositeRole.default], ['input', _inputRole.default], ['landmark', _landmarkRole.default], ['range', _rangeRole.default], ['roletype', _roletypeRole.default], ['section', _sectionRole.default], ['sectionhead', _sectionheadRole.default], ['select', _selectRole.default], ['structure', _structureRole.default], ['widget', _widgetRole.default], ['window', _windowRole.default]];\nvar _default = ariaAbstractRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar alertRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-atomic': 'true',\n    'aria-live': 'assertive'\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'alert'\n    },\n    module: 'XForms'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = alertRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar alertdialogRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'alert'\n    },\n    module: 'XForms'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'alert'], ['roletype', 'window', 'dialog']]\n};\nvar _default = alertdialogRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar applicationRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-activedescendant': null,\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'Device Independence Delivery Unit'\n    }\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure']]\n};\nvar _default = applicationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar articleRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-posinset': null,\n    'aria-setsize': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'article'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'document']]\n};\nvar _default = articleRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar bannerRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      constraints: ['direct descendant of document'],\n      name: 'header'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = bannerRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar blockquoteRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = blockquoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar buttonRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-pressed': null\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'aria-pressed'\n      }, {\n        name: 'type',\n        value: 'checkbox'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        name: 'aria-expanded',\n        value: 'false'\n      }],\n      name: 'summary'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        name: 'aria-expanded',\n        value: 'true'\n      }],\n      constraints: ['direct descendant of details element with the open attribute defined'],\n      name: 'summary'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        name: 'type',\n        value: 'button'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        name: 'type',\n        value: 'image'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        name: 'type',\n        value: 'reset'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        name: 'type',\n        value: 'submit'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'button'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'trigger'\n    },\n    module: 'XForms'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'command']]\n};\nvar _default = buttonRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar captionRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: ['figure', 'grid', 'table'],\n  requiredContextRole: ['figure', 'grid', 'table'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = captionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar cellRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-colindex': null,\n    'aria-colspan': null,\n    'aria-rowindex': null,\n    'aria-rowspan': null\n  },\n  relatedConcepts: [{\n    concept: {\n      constraints: ['descendant of table'],\n      name: 'td'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: ['row'],\n  requiredContextRole: ['row'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = cellRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar checkboxRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-checked': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-invalid': null,\n    'aria-readonly': null,\n    'aria-required': null\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        name: 'type',\n        value: 'checkbox'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'option'\n    },\n    module: 'ARIA'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-checked': null\n  },\n  superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = checkboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar codeRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = codeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar columnheaderRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-sort': null\n  },\n  relatedConcepts: [{\n    attributes: [{\n      name: 'scope',\n      value: 'col'\n    }],\n    concept: {\n      name: 'th'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: ['row'],\n  requiredContextRole: ['row'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'cell'], ['roletype', 'structure', 'section', 'cell', 'gridcell'], ['roletype', 'widget', 'gridcell'], ['roletype', 'structure', 'sectionhead']]\n};\nvar _default = columnheaderRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar comboboxRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-activedescendant': null,\n    'aria-autocomplete': null,\n    'aria-errormessage': null,\n    'aria-invalid': null,\n    'aria-readonly': null,\n    'aria-required': null,\n    'aria-expanded': 'false',\n    'aria-haspopup': 'listbox'\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'email'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'search'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'tel'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'text'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'url'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'url'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['undefined'],\n        name: 'multiple'\n      }, {\n        constraints: ['undefined'],\n        name: 'size'\n      }],\n      name: 'select'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['undefined'],\n        name: 'multiple'\n      }, {\n        name: 'size',\n        value: 1\n      }],\n      name: 'select'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'select'\n    },\n    module: 'XForms'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-controls': null,\n    'aria-expanded': 'false'\n  },\n  superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = comboboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar complementaryRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'aside'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = complementaryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar contentinfoRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      constraints: ['direct descendant of document'],\n      name: 'footer'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = contentinfoRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar definitionRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'dd'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = definitionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar deletionRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = deletionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar dialogRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'dialog'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'window']]\n};\nvar _default = dialogRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar directoryRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    module: 'DAISY Guide'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'list']]\n};\nvar _default = directoryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar documentRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'Device Independence Delivery Unit'\n    }\n  }, {\n    concept: {\n      name: 'body'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure']]\n};\nvar _default = documentRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar emphasisRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = emphasisRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar feedRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['article']],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'list']]\n};\nvar _default = feedRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar figureRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'figure'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = figureRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar formRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'aria-label'\n      }],\n      name: 'form'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'aria-labelledby'\n      }],\n      name: 'form'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'name'\n      }],\n      name: 'form'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = formRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar genericRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'span'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'div'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure']]\n};\nvar _default = genericRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar gridRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-multiselectable': null,\n    'aria-readonly': null\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        name: 'role',\n        value: 'grid'\n      }],\n      name: 'table'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['row'], ['row', 'rowgroup']],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite'], ['roletype', 'structure', 'section', 'table']]\n};\nvar _default = gridRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar gridcellRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null,\n    'aria-readonly': null,\n    'aria-required': null,\n    'aria-selected': null\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        name: 'role',\n        value: 'gridcell'\n      }],\n      name: 'td'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: ['row'],\n  requiredContextRole: ['row'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'cell'], ['roletype', 'widget']]\n};\nvar _default = gridcellRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar groupRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-activedescendant': null,\n    'aria-disabled': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'details'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'fieldset'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'optgroup'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = groupRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar headingRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-level': '2'\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'h1'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'h2'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'h3'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'h4'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'h5'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'h6'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-level': '2'\n  },\n  superClass: [['roletype', 'structure', 'sectionhead']]\n};\nvar _default = headingRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar imgRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'alt'\n      }],\n      name: 'img'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['undefined'],\n        name: 'alt'\n      }],\n      name: 'img'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'imggroup'\n    },\n    module: 'DTB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = imgRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar insertionRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = insertionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar linkRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-expanded': null,\n    'aria-haspopup': null\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        name: 'href'\n      }],\n      name: 'a'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        name: 'href'\n      }],\n      name: 'area'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        name: 'href'\n      }],\n      name: 'link'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'command']]\n};\nvar _default = linkRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar listRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'menu'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'ol'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'ul'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['listitem']],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = listRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar listboxRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-invalid': null,\n    'aria-multiselectable': null,\n    'aria-readonly': null,\n    'aria-required': null,\n    'aria-orientation': 'vertical'\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        constraints: ['>1'],\n        name: 'size'\n      }, {\n        name: 'multiple'\n      }],\n      name: 'select'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['>1'],\n        name: 'size'\n      }],\n      name: 'select'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        name: 'multiple'\n      }],\n      name: 'select'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'datalist'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'list'\n    },\n    module: 'ARIA'\n  }, {\n    concept: {\n      name: 'select'\n    },\n    module: 'XForms'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['option', 'group'], ['option']],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = listboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar listitemRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-level': null,\n    'aria-posinset': null,\n    'aria-setsize': null\n  },\n  relatedConcepts: [{\n    concept: {\n      constraints: ['direct descendant of ol, ul or menu'],\n      name: 'li'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'item'\n    },\n    module: 'XForms'\n  }],\n  requireContextRole: ['directory', 'list'],\n  requiredContextRole: ['directory', 'list'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = listitemRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar logRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-live': 'polite'\n  },\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = logRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar mainRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'main'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = mainRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar marqueeRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = marqueeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar mathRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'math'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = mathRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar menuRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-orientation': 'vertical'\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'MENU'\n    },\n    module: 'JAPI'\n  }, {\n    concept: {\n      name: 'list'\n    },\n    module: 'ARIA'\n  }, {\n    concept: {\n      name: 'select'\n    },\n    module: 'XForms'\n  }, {\n    concept: {\n      name: 'sidebar'\n    },\n    module: 'DTB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['menuitem', 'group'], ['menuitemradio', 'group'], ['menuitemcheckbox', 'group'], ['menuitem'], ['menuitemcheckbox'], ['menuitemradio']],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = menuRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar menubarRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-orientation': 'horizontal'\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'toolbar'\n    },\n    module: 'ARIA'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['menuitem', 'group'], ['menuitemradio', 'group'], ['menuitemcheckbox', 'group'], ['menuitem'], ['menuitemcheckbox'], ['menuitemradio']],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite', 'select', 'menu'], ['roletype', 'structure', 'section', 'group', 'select', 'menu']]\n};\nvar _default = menubarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar menuitemRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-posinset': null,\n    'aria-setsize': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'MENU_ITEM'\n    },\n    module: 'JAPI'\n  }, {\n    concept: {\n      name: 'listitem'\n    },\n    module: 'ARIA'\n  }, {\n    concept: {\n      name: 'menuitem'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'option'\n    },\n    module: 'ARIA'\n  }],\n  requireContextRole: ['group', 'menu', 'menubar'],\n  requiredContextRole: ['group', 'menu', 'menubar'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'command']]\n};\nvar _default = menuitemRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar menuitemcheckboxRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'menuitem'\n    },\n    module: 'ARIA'\n  }],\n  requireContextRole: ['group', 'menu', 'menubar'],\n  requiredContextRole: ['group', 'menu', 'menubar'],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-checked': null\n  },\n  superClass: [['roletype', 'widget', 'input', 'checkbox'], ['roletype', 'widget', 'command', 'menuitem']]\n};\nvar _default = menuitemcheckboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar menuitemradioRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'menuitem'\n    },\n    module: 'ARIA'\n  }],\n  requireContextRole: ['group', 'menu', 'menubar'],\n  requiredContextRole: ['group', 'menu', 'menubar'],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-checked': null\n  },\n  superClass: [['roletype', 'widget', 'input', 'checkbox', 'menuitemcheckbox'], ['roletype', 'widget', 'command', 'menuitem', 'menuitemcheckbox'], ['roletype', 'widget', 'input', 'radio']]\n};\nvar _default = menuitemradioRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar meterRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-valuetext': null,\n    'aria-valuemax': '100',\n    'aria-valuemin': '0'\n  },\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-valuenow': null\n  },\n  superClass: [['roletype', 'structure', 'range']]\n};\nvar _default = meterRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar navigationRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'nav'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = navigationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar noneRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: [],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: []\n};\nvar _default = noneRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar noteRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = noteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar optionRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-checked': null,\n    'aria-posinset': null,\n    'aria-setsize': null,\n    'aria-selected': 'false'\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'item'\n    },\n    module: 'XForms'\n  }, {\n    concept: {\n      name: 'listitem'\n    },\n    module: 'ARIA'\n  }, {\n    concept: {\n      name: 'option'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-selected': 'false'\n  },\n  superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = optionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar paragraphRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = paragraphRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar presentationRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure']]\n};\nvar _default = presentationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar progressbarRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-valuetext': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'progress'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'status'\n    },\n    module: 'ARIA'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'range'], ['roletype', 'widget']]\n};\nvar _default = progressbarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar radioRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-checked': null,\n    'aria-posinset': null,\n    'aria-setsize': null\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        name: 'type',\n        value: 'radio'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-checked': null\n  },\n  superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = radioRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar radiogroupRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-invalid': null,\n    'aria-readonly': null,\n    'aria-required': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'list'\n    },\n    module: 'ARIA'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['radio']],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = radiogroupRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar regionRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'aria-label'\n      }],\n      name: 'section'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['set'],\n        name: 'aria-labelledby'\n      }],\n      name: 'section'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'Device Independence Glossart perceivable unit'\n    }\n  }, {\n    concept: {\n      name: 'frame'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = regionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar rowRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-colindex': null,\n    'aria-expanded': null,\n    'aria-level': null,\n    'aria-posinset': null,\n    'aria-rowindex': null,\n    'aria-selected': null,\n    'aria-setsize': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'tr'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: ['grid', 'rowgroup', 'table', 'treegrid'],\n  requiredContextRole: ['grid', 'rowgroup', 'table', 'treegrid'],\n  requiredOwnedElements: [['cell'], ['columnheader'], ['gridcell'], ['rowheader']],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'group'], ['roletype', 'widget']]\n};\nvar _default = rowRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar rowgroupRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'tbody'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'tfoot'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'thead'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: ['grid', 'table', 'treegrid'],\n  requiredContextRole: ['grid', 'table', 'treegrid'],\n  requiredOwnedElements: [['row']],\n  requiredProps: {},\n  superClass: [['roletype', 'structure']]\n};\nvar _default = rowgroupRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar rowheaderRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-sort': null\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        name: 'scope',\n        value: 'row'\n      }],\n      name: 'th'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: ['row'],\n  requiredContextRole: ['row'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'cell'], ['roletype', 'structure', 'section', 'cell', 'gridcell'], ['roletype', 'widget', 'gridcell'], ['roletype', 'structure', 'sectionhead']]\n};\nvar _default = rowheaderRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar scrollbarRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-valuetext': null,\n    'aria-orientation': 'vertical',\n    'aria-valuemax': '100',\n    'aria-valuemin': '0'\n  },\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-controls': null,\n    'aria-valuenow': null\n  },\n  superClass: [['roletype', 'structure', 'range'], ['roletype', 'widget']]\n};\nvar _default = scrollbarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar searchRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = searchRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar searchboxRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        constraints: ['undefined'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'search'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'input', 'textbox']]\n};\nvar _default = searchboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar separatorRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-orientation': 'horizontal',\n    'aria-valuemax': '100',\n    'aria-valuemin': '0',\n    'aria-valuenow': null,\n    'aria-valuetext': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'hr'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure']]\n};\nvar _default = separatorRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar sliderRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-haspopup': null,\n    'aria-invalid': null,\n    'aria-readonly': null,\n    'aria-valuetext': null,\n    'aria-orientation': 'horizontal',\n    'aria-valuemax': '100',\n    'aria-valuemin': '0'\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        name: 'type',\n        value: 'range'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-valuenow': null\n  },\n  superClass: [['roletype', 'widget', 'input'], ['roletype', 'structure', 'range']]\n};\nvar _default = sliderRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar spinbuttonRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-invalid': null,\n    'aria-readonly': null,\n    'aria-required': null,\n    'aria-valuetext': null,\n    'aria-valuenow': '0'\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        name: 'type',\n        value: 'number'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite'], ['roletype', 'widget', 'input'], ['roletype', 'structure', 'range']]\n};\nvar _default = spinbuttonRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar statusRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-atomic': 'true',\n    'aria-live': 'polite'\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'output'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = statusRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar strongRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = strongRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar subscriptRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = subscriptRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar superscriptRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['prohibited'],\n  prohibitedProps: ['aria-label', 'aria-labelledby'],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = superscriptRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar switchRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'button'\n    },\n    module: 'ARIA'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-checked': null\n  },\n  superClass: [['roletype', 'widget', 'input', 'checkbox']]\n};\nvar _default = switchRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar tabRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-posinset': null,\n    'aria-setsize': null,\n    'aria-selected': 'false'\n  },\n  relatedConcepts: [],\n  requireContextRole: ['tablist'],\n  requiredContextRole: ['tablist'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'sectionhead'], ['roletype', 'widget']]\n};\nvar _default = tabRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar tableRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-colcount': null,\n    'aria-rowcount': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'table'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['row'], ['row', 'rowgroup']],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = tableRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar tablistRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-level': null,\n    'aria-multiselectable': null,\n    'aria-orientation': 'horizontal'\n  },\n  relatedConcepts: [{\n    module: 'DAISY',\n    concept: {\n      name: 'guide'\n    }\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['tab']],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite']]\n};\nvar _default = tablistRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar tabpanelRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = tabpanelRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar termRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'dfn'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'dt'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = termRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar textboxRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-activedescendant': null,\n    'aria-autocomplete': null,\n    'aria-errormessage': null,\n    'aria-haspopup': null,\n    'aria-invalid': null,\n    'aria-multiline': null,\n    'aria-placeholder': null,\n    'aria-readonly': null,\n    'aria-required': null\n  },\n  relatedConcepts: [{\n    concept: {\n      attributes: [{\n        constraints: ['undefined'],\n        name: 'type'\n      }, {\n        constraints: ['undefined'],\n        name: 'list'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['undefined'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'email'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['undefined'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'tel'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['undefined'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'text'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      attributes: [{\n        constraints: ['undefined'],\n        name: 'list'\n      }, {\n        name: 'type',\n        value: 'url'\n      }],\n      name: 'input'\n    },\n    module: 'HTML'\n  }, {\n    concept: {\n      name: 'input'\n    },\n    module: 'XForms'\n  }, {\n    concept: {\n      name: 'textarea'\n    },\n    module: 'HTML'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = textboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar timeRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = timeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar timerRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'status']]\n};\nvar _default = timerRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar toolbarRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-orientation': 'horizontal'\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'menubar'\n    },\n    module: 'ARIA'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'group']]\n};\nvar _default = toolbarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar tooltipRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = tooltipRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar treeRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-invalid': null,\n    'aria-multiselectable': null,\n    'aria-required': null,\n    'aria-orientation': 'vertical'\n  },\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['treeitem', 'group'], ['treeitem']],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = treeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar treegridRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['row'], ['row', 'rowgroup']],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'composite', 'grid'], ['roletype', 'structure', 'section', 'table', 'grid'], ['roletype', 'widget', 'composite', 'select', 'tree'], ['roletype', 'structure', 'section', 'group', 'select', 'tree']]\n};\nvar _default = treegridRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar treeitemRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-expanded': null,\n    'aria-haspopup': null\n  },\n  relatedConcepts: [],\n  requireContextRole: ['group', 'tree'],\n  requiredContextRole: ['group', 'tree'],\n  requiredOwnedElements: [],\n  requiredProps: {\n    'aria-selected': null\n  },\n  superClass: [['roletype', 'structure', 'section', 'listitem'], ['roletype', 'widget', 'input', 'option']]\n};\nvar _default = treeitemRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _alertRole = _interopRequireDefault(require(\"./literal/alertRole\"));\n\nvar _alertdialogRole = _interopRequireDefault(require(\"./literal/alertdialogRole\"));\n\nvar _applicationRole = _interopRequireDefault(require(\"./literal/applicationRole\"));\n\nvar _articleRole = _interopRequireDefault(require(\"./literal/articleRole\"));\n\nvar _bannerRole = _interopRequireDefault(require(\"./literal/bannerRole\"));\n\nvar _blockquoteRole = _interopRequireDefault(require(\"./literal/blockquoteRole\"));\n\nvar _buttonRole = _interopRequireDefault(require(\"./literal/buttonRole\"));\n\nvar _captionRole = _interopRequireDefault(require(\"./literal/captionRole\"));\n\nvar _cellRole = _interopRequireDefault(require(\"./literal/cellRole\"));\n\nvar _checkboxRole = _interopRequireDefault(require(\"./literal/checkboxRole\"));\n\nvar _codeRole = _interopRequireDefault(require(\"./literal/codeRole\"));\n\nvar _columnheaderRole = _interopRequireDefault(require(\"./literal/columnheaderRole\"));\n\nvar _comboboxRole = _interopRequireDefault(require(\"./literal/comboboxRole\"));\n\nvar _complementaryRole = _interopRequireDefault(require(\"./literal/complementaryRole\"));\n\nvar _contentinfoRole = _interopRequireDefault(require(\"./literal/contentinfoRole\"));\n\nvar _definitionRole = _interopRequireDefault(require(\"./literal/definitionRole\"));\n\nvar _deletionRole = _interopRequireDefault(require(\"./literal/deletionRole\"));\n\nvar _dialogRole = _interopRequireDefault(require(\"./literal/dialogRole\"));\n\nvar _directoryRole = _interopRequireDefault(require(\"./literal/directoryRole\"));\n\nvar _documentRole = _interopRequireDefault(require(\"./literal/documentRole\"));\n\nvar _emphasisRole = _interopRequireDefault(require(\"./literal/emphasisRole\"));\n\nvar _feedRole = _interopRequireDefault(require(\"./literal/feedRole\"));\n\nvar _figureRole = _interopRequireDefault(require(\"./literal/figureRole\"));\n\nvar _formRole = _interopRequireDefault(require(\"./literal/formRole\"));\n\nvar _genericRole = _interopRequireDefault(require(\"./literal/genericRole\"));\n\nvar _gridRole = _interopRequireDefault(require(\"./literal/gridRole\"));\n\nvar _gridcellRole = _interopRequireDefault(require(\"./literal/gridcellRole\"));\n\nvar _groupRole = _interopRequireDefault(require(\"./literal/groupRole\"));\n\nvar _headingRole = _interopRequireDefault(require(\"./literal/headingRole\"));\n\nvar _imgRole = _interopRequireDefault(require(\"./literal/imgRole\"));\n\nvar _insertionRole = _interopRequireDefault(require(\"./literal/insertionRole\"));\n\nvar _linkRole = _interopRequireDefault(require(\"./literal/linkRole\"));\n\nvar _listRole = _interopRequireDefault(require(\"./literal/listRole\"));\n\nvar _listboxRole = _interopRequireDefault(require(\"./literal/listboxRole\"));\n\nvar _listitemRole = _interopRequireDefault(require(\"./literal/listitemRole\"));\n\nvar _logRole = _interopRequireDefault(require(\"./literal/logRole\"));\n\nvar _mainRole = _interopRequireDefault(require(\"./literal/mainRole\"));\n\nvar _marqueeRole = _interopRequireDefault(require(\"./literal/marqueeRole\"));\n\nvar _mathRole = _interopRequireDefault(require(\"./literal/mathRole\"));\n\nvar _menuRole = _interopRequireDefault(require(\"./literal/menuRole\"));\n\nvar _menubarRole = _interopRequireDefault(require(\"./literal/menubarRole\"));\n\nvar _menuitemRole = _interopRequireDefault(require(\"./literal/menuitemRole\"));\n\nvar _menuitemcheckboxRole = _interopRequireDefault(require(\"./literal/menuitemcheckboxRole\"));\n\nvar _menuitemradioRole = _interopRequireDefault(require(\"./literal/menuitemradioRole\"));\n\nvar _meterRole = _interopRequireDefault(require(\"./literal/meterRole\"));\n\nvar _navigationRole = _interopRequireDefault(require(\"./literal/navigationRole\"));\n\nvar _noneRole = _interopRequireDefault(require(\"./literal/noneRole\"));\n\nvar _noteRole = _interopRequireDefault(require(\"./literal/noteRole\"));\n\nvar _optionRole = _interopRequireDefault(require(\"./literal/optionRole\"));\n\nvar _paragraphRole = _interopRequireDefault(require(\"./literal/paragraphRole\"));\n\nvar _presentationRole = _interopRequireDefault(require(\"./literal/presentationRole\"));\n\nvar _progressbarRole = _interopRequireDefault(require(\"./literal/progressbarRole\"));\n\nvar _radioRole = _interopRequireDefault(require(\"./literal/radioRole\"));\n\nvar _radiogroupRole = _interopRequireDefault(require(\"./literal/radiogroupRole\"));\n\nvar _regionRole = _interopRequireDefault(require(\"./literal/regionRole\"));\n\nvar _rowRole = _interopRequireDefault(require(\"./literal/rowRole\"));\n\nvar _rowgroupRole = _interopRequireDefault(require(\"./literal/rowgroupRole\"));\n\nvar _rowheaderRole = _interopRequireDefault(require(\"./literal/rowheaderRole\"));\n\nvar _scrollbarRole = _interopRequireDefault(require(\"./literal/scrollbarRole\"));\n\nvar _searchRole = _interopRequireDefault(require(\"./literal/searchRole\"));\n\nvar _searchboxRole = _interopRequireDefault(require(\"./literal/searchboxRole\"));\n\nvar _separatorRole = _interopRequireDefault(require(\"./literal/separatorRole\"));\n\nvar _sliderRole = _interopRequireDefault(require(\"./literal/sliderRole\"));\n\nvar _spinbuttonRole = _interopRequireDefault(require(\"./literal/spinbuttonRole\"));\n\nvar _statusRole = _interopRequireDefault(require(\"./literal/statusRole\"));\n\nvar _strongRole = _interopRequireDefault(require(\"./literal/strongRole\"));\n\nvar _subscriptRole = _interopRequireDefault(require(\"./literal/subscriptRole\"));\n\nvar _superscriptRole = _interopRequireDefault(require(\"./literal/superscriptRole\"));\n\nvar _switchRole = _interopRequireDefault(require(\"./literal/switchRole\"));\n\nvar _tabRole = _interopRequireDefault(require(\"./literal/tabRole\"));\n\nvar _tableRole = _interopRequireDefault(require(\"./literal/tableRole\"));\n\nvar _tablistRole = _interopRequireDefault(require(\"./literal/tablistRole\"));\n\nvar _tabpanelRole = _interopRequireDefault(require(\"./literal/tabpanelRole\"));\n\nvar _termRole = _interopRequireDefault(require(\"./literal/termRole\"));\n\nvar _textboxRole = _interopRequireDefault(require(\"./literal/textboxRole\"));\n\nvar _timeRole = _interopRequireDefault(require(\"./literal/timeRole\"));\n\nvar _timerRole = _interopRequireDefault(require(\"./literal/timerRole\"));\n\nvar _toolbarRole = _interopRequireDefault(require(\"./literal/toolbarRole\"));\n\nvar _tooltipRole = _interopRequireDefault(require(\"./literal/tooltipRole\"));\n\nvar _treeRole = _interopRequireDefault(require(\"./literal/treeRole\"));\n\nvar _treegridRole = _interopRequireDefault(require(\"./literal/treegridRole\"));\n\nvar _treeitemRole = _interopRequireDefault(require(\"./literal/treeitemRole\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaLiteralRoles = [['alert', _alertRole.default], ['alertdialog', _alertdialogRole.default], ['application', _applicationRole.default], ['article', _articleRole.default], ['banner', _bannerRole.default], ['blockquote', _blockquoteRole.default], ['button', _buttonRole.default], ['caption', _captionRole.default], ['cell', _cellRole.default], ['checkbox', _checkboxRole.default], ['code', _codeRole.default], ['columnheader', _columnheaderRole.default], ['combobox', _comboboxRole.default], ['complementary', _complementaryRole.default], ['contentinfo', _contentinfoRole.default], ['definition', _definitionRole.default], ['deletion', _deletionRole.default], ['dialog', _dialogRole.default], ['directory', _directoryRole.default], ['document', _documentRole.default], ['emphasis', _emphasisRole.default], ['feed', _feedRole.default], ['figure', _figureRole.default], ['form', _formRole.default], ['generic', _genericRole.default], ['grid', _gridRole.default], ['gridcell', _gridcellRole.default], ['group', _groupRole.default], ['heading', _headingRole.default], ['img', _imgRole.default], ['insertion', _insertionRole.default], ['link', _linkRole.default], ['list', _listRole.default], ['listbox', _listboxRole.default], ['listitem', _listitemRole.default], ['log', _logRole.default], ['main', _mainRole.default], ['marquee', _marqueeRole.default], ['math', _mathRole.default], ['menu', _menuRole.default], ['menubar', _menubarRole.default], ['menuitem', _menuitemRole.default], ['menuitemcheckbox', _menuitemcheckboxRole.default], ['menuitemradio', _menuitemradioRole.default], ['meter', _meterRole.default], ['navigation', _navigationRole.default], ['none', _noneRole.default], ['note', _noteRole.default], ['option', _optionRole.default], ['paragraph', _paragraphRole.default], ['presentation', _presentationRole.default], ['progressbar', _progressbarRole.default], ['radio', _radioRole.default], ['radiogroup', _radiogroupRole.default], ['region', _regionRole.default], ['row', _rowRole.default], ['rowgroup', _rowgroupRole.default], ['rowheader', _rowheaderRole.default], ['scrollbar', _scrollbarRole.default], ['search', _searchRole.default], ['searchbox', _searchboxRole.default], ['separator', _separatorRole.default], ['slider', _sliderRole.default], ['spinbutton', _spinbuttonRole.default], ['status', _statusRole.default], ['strong', _strongRole.default], ['subscript', _subscriptRole.default], ['superscript', _superscriptRole.default], ['switch', _switchRole.default], ['tab', _tabRole.default], ['table', _tableRole.default], ['tablist', _tablistRole.default], ['tabpanel', _tabpanelRole.default], ['term', _termRole.default], ['textbox', _textboxRole.default], ['time', _timeRole.default], ['timer', _timerRole.default], ['toolbar', _toolbarRole.default], ['tooltip', _tooltipRole.default], ['tree', _treeRole.default], ['treegrid', _treegridRole.default], ['treeitem', _treeitemRole.default]];\nvar _default = ariaLiteralRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docAbstractRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'abstract [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docAbstractRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docAcknowledgmentsRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'acknowledgments [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docAcknowledgmentsRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docAfterwordRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'afterword [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docAfterwordRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docAppendixRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'appendix [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docAppendixRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docBacklinkRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'content'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'referrer [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docBacklinkRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docBiblioentryRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'EPUB biblioentry [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: ['doc-bibliography'],\n  requiredContextRole: ['doc-bibliography'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'listitem']]\n};\nvar _default = docBiblioentryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docBibliographyRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'bibliography [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['doc-biblioentry']],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docBibliographyRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docBibliorefRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'biblioref [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docBibliorefRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docChapterRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'chapter [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docChapterRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docColophonRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'colophon [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docColophonRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docConclusionRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'conclusion [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docConclusionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docCoverRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'cover [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'img']]\n};\nvar _default = docCoverRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docCreditRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'credit [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docCreditRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docCreditsRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'credits [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docCreditsRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docDedicationRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'dedication [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docDedicationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docEndnoteRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'rearnote [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: ['doc-endnotes'],\n  requiredContextRole: ['doc-endnotes'],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'listitem']]\n};\nvar _default = docEndnoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docEndnotesRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'rearnotes [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['doc-endnote']],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docEndnotesRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docEpigraphRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'epigraph [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docEpigraphRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docEpilogueRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'epilogue [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docEpilogueRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docErrataRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'errata [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docErrataRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docExampleRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docExampleRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docFootnoteRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'footnote [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docFootnoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docForewordRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'foreword [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docForewordRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docGlossaryRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'glossary [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [['definition'], ['term']],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docGlossaryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docGlossrefRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'glossref [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docGlossrefRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docIndexRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'index [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark', 'navigation']]\n};\nvar _default = docIndexRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docIntroductionRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'introduction [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docIntroductionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docNoterefRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author', 'contents'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'noteref [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docNoterefRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docNoticeRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'notice [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'note']]\n};\nvar _default = docNoticeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docPagebreakRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: true,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'pagebreak [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'separator']]\n};\nvar _default = docPagebreakRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docPagelistRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'page-list [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark', 'navigation']]\n};\nvar _default = docPagelistRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docPartRole = {\n  abstract: false,\n  accessibleNameRequired: true,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'part [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docPartRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docPrefaceRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'preface [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docPrefaceRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docPrologueRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'prologue [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docPrologueRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docPullquoteRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {},\n  relatedConcepts: [{\n    concept: {\n      name: 'pullquote [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['none']]\n};\nvar _default = docPullquoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docQnaRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'qna [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docQnaRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docSubtitleRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'subtitle [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'sectionhead']]\n};\nvar _default = docSubtitleRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docTipRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'help [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'note']]\n};\nvar _default = docTipRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar docTocRole = {\n  abstract: false,\n  accessibleNameRequired: false,\n  baseConcepts: [],\n  childrenPresentational: false,\n  nameFrom: ['author'],\n  prohibitedProps: [],\n  props: {\n    'aria-disabled': null,\n    'aria-errormessage': null,\n    'aria-expanded': null,\n    'aria-haspopup': null,\n    'aria-invalid': null\n  },\n  relatedConcepts: [{\n    concept: {\n      name: 'toc [EPUB-SSV]'\n    },\n    module: 'EPUB'\n  }],\n  requireContextRole: [],\n  requiredContextRole: [],\n  requiredOwnedElements: [],\n  requiredProps: {},\n  superClass: [['roletype', 'structure', 'section', 'landmark', 'navigation']]\n};\nvar _default = docTocRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _docAbstractRole = _interopRequireDefault(require(\"./dpub/docAbstractRole\"));\n\nvar _docAcknowledgmentsRole = _interopRequireDefault(require(\"./dpub/docAcknowledgmentsRole\"));\n\nvar _docAfterwordRole = _interopRequireDefault(require(\"./dpub/docAfterwordRole\"));\n\nvar _docAppendixRole = _interopRequireDefault(require(\"./dpub/docAppendixRole\"));\n\nvar _docBacklinkRole = _interopRequireDefault(require(\"./dpub/docBacklinkRole\"));\n\nvar _docBiblioentryRole = _interopRequireDefault(require(\"./dpub/docBiblioentryRole\"));\n\nvar _docBibliographyRole = _interopRequireDefault(require(\"./dpub/docBibliographyRole\"));\n\nvar _docBibliorefRole = _interopRequireDefault(require(\"./dpub/docBibliorefRole\"));\n\nvar _docChapterRole = _interopRequireDefault(require(\"./dpub/docChapterRole\"));\n\nvar _docColophonRole = _interopRequireDefault(require(\"./dpub/docColophonRole\"));\n\nvar _docConclusionRole = _interopRequireDefault(require(\"./dpub/docConclusionRole\"));\n\nvar _docCoverRole = _interopRequireDefault(require(\"./dpub/docCoverRole\"));\n\nvar _docCreditRole = _interopRequireDefault(require(\"./dpub/docCreditRole\"));\n\nvar _docCreditsRole = _interopRequireDefault(require(\"./dpub/docCreditsRole\"));\n\nvar _docDedicationRole = _interopRequireDefault(require(\"./dpub/docDedicationRole\"));\n\nvar _docEndnoteRole = _interopRequireDefault(require(\"./dpub/docEndnoteRole\"));\n\nvar _docEndnotesRole = _interopRequireDefault(require(\"./dpub/docEndnotesRole\"));\n\nvar _docEpigraphRole = _interopRequireDefault(require(\"./dpub/docEpigraphRole\"));\n\nvar _docEpilogueRole = _interopRequireDefault(require(\"./dpub/docEpilogueRole\"));\n\nvar _docErrataRole = _interopRequireDefault(require(\"./dpub/docErrataRole\"));\n\nvar _docExampleRole = _interopRequireDefault(require(\"./dpub/docExampleRole\"));\n\nvar _docFootnoteRole = _interopRequireDefault(require(\"./dpub/docFootnoteRole\"));\n\nvar _docForewordRole = _interopRequireDefault(require(\"./dpub/docForewordRole\"));\n\nvar _docGlossaryRole = _interopRequireDefault(require(\"./dpub/docGlossaryRole\"));\n\nvar _docGlossrefRole = _interopRequireDefault(require(\"./dpub/docGlossrefRole\"));\n\nvar _docIndexRole = _interopRequireDefault(require(\"./dpub/docIndexRole\"));\n\nvar _docIntroductionRole = _interopRequireDefault(require(\"./dpub/docIntroductionRole\"));\n\nvar _docNoterefRole = _interopRequireDefault(require(\"./dpub/docNoterefRole\"));\n\nvar _docNoticeRole = _interopRequireDefault(require(\"./dpub/docNoticeRole\"));\n\nvar _docPagebreakRole = _interopRequireDefault(require(\"./dpub/docPagebreakRole\"));\n\nvar _docPagelistRole = _interopRequireDefault(require(\"./dpub/docPagelistRole\"));\n\nvar _docPartRole = _interopRequireDefault(require(\"./dpub/docPartRole\"));\n\nvar _docPrefaceRole = _interopRequireDefault(require(\"./dpub/docPrefaceRole\"));\n\nvar _docPrologueRole = _interopRequireDefault(require(\"./dpub/docPrologueRole\"));\n\nvar _docPullquoteRole = _interopRequireDefault(require(\"./dpub/docPullquoteRole\"));\n\nvar _docQnaRole = _interopRequireDefault(require(\"./dpub/docQnaRole\"));\n\nvar _docSubtitleRole = _interopRequireDefault(require(\"./dpub/docSubtitleRole\"));\n\nvar _docTipRole = _interopRequireDefault(require(\"./dpub/docTipRole\"));\n\nvar _docTocRole = _interopRequireDefault(require(\"./dpub/docTocRole\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaDpubRoles = [['doc-abstract', _docAbstractRole.default], ['doc-acknowledgments', _docAcknowledgmentsRole.default], ['doc-afterword', _docAfterwordRole.default], ['doc-appendix', _docAppendixRole.default], ['doc-backlink', _docBacklinkRole.default], ['doc-biblioentry', _docBiblioentryRole.default], ['doc-bibliography', _docBibliographyRole.default], ['doc-biblioref', _docBibliorefRole.default], ['doc-chapter', _docChapterRole.default], ['doc-colophon', _docColophonRole.default], ['doc-conclusion', _docConclusionRole.default], ['doc-cover', _docCoverRole.default], ['doc-credit', _docCreditRole.default], ['doc-credits', _docCreditsRole.default], ['doc-dedication', _docDedicationRole.default], ['doc-endnote', _docEndnoteRole.default], ['doc-endnotes', _docEndnotesRole.default], ['doc-epigraph', _docEpigraphRole.default], ['doc-epilogue', _docEpilogueRole.default], ['doc-errata', _docErrataRole.default], ['doc-example', _docExampleRole.default], ['doc-footnote', _docFootnoteRole.default], ['doc-foreword', _docForewordRole.default], ['doc-glossary', _docGlossaryRole.default], ['doc-glossref', _docGlossrefRole.default], ['doc-index', _docIndexRole.default], ['doc-introduction', _docIntroductionRole.default], ['doc-noteref', _docNoterefRole.default], ['doc-notice', _docNoticeRole.default], ['doc-pagebreak', _docPagebreakRole.default], ['doc-pagelist', _docPagelistRole.default], ['doc-part', _docPartRole.default], ['doc-preface', _docPrefaceRole.default], ['doc-prologue', _docPrologueRole.default], ['doc-pullquote', _docPullquoteRole.default], ['doc-qna', _docQnaRole.default], ['doc-subtitle', _docSubtitleRole.default], ['doc-tip', _docTipRole.default], ['doc-toc', _docTocRole.default]];\nvar _default = ariaDpubRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _ariaAbstractRoles = _interopRequireDefault(require(\"./etc/roles/ariaAbstractRoles\"));\n\nvar _ariaLiteralRoles = _interopRequireDefault(require(\"./etc/roles/ariaLiteralRoles\"));\n\nvar _ariaDpubRoles = _interopRequireDefault(require(\"./etc/roles/ariaDpubRoles\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar roles = [].concat(_ariaAbstractRoles.default, _ariaLiteralRoles.default, _ariaDpubRoles.default);\nroles.forEach(function (_ref) {\n  var _ref2 = _slicedToArray(_ref, 2),\n      roleDefinition = _ref2[1];\n\n  // Conglomerate the properties\n  var _iterator = _createForOfIteratorHelper(roleDefinition.superClass),\n      _step;\n\n  try {\n    for (_iterator.s(); !(_step = _iterator.n()).done;) {\n      var superClassIter = _step.value;\n\n      var _iterator2 = _createForOfIteratorHelper(superClassIter),\n          _step2;\n\n      try {\n        var _loop = function _loop() {\n          var superClassName = _step2.value;\n          var superClassRoleTuple = roles.find(function (_ref3) {\n            var _ref4 = _slicedToArray(_ref3, 1),\n                name = _ref4[0];\n\n            return name === superClassName;\n          });\n\n          if (superClassRoleTuple) {\n            var superClassDefinition = superClassRoleTuple[1];\n\n            for (var _i2 = 0, _Object$keys = Object.keys(superClassDefinition.props); _i2 < _Object$keys.length; _i2++) {\n              var prop = _Object$keys[_i2];\n\n              if ( // $FlowIssue Accessing the hasOwnProperty on the Object prototype is fine.\n              !Object.prototype.hasOwnProperty.call(roleDefinition.props, prop)) {\n                Object.assign(roleDefinition.props, _defineProperty({}, prop, superClassDefinition.props[prop]));\n              }\n            }\n          }\n        };\n\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          _loop();\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n    }\n  } catch (err) {\n    _iterator.e(err);\n  } finally {\n    _iterator.f();\n  }\n});\nvar rolesMap = {\n  entries: function entries() {\n    return roles;\n  },\n  get: function get(key) {\n    var item = roles.find(function (tuple) {\n      return tuple[0] === key ? true : false;\n    });\n    return item && item[1];\n  },\n  has: function has(key) {\n    return !!this.get(key);\n  },\n  keys: function keys() {\n    return roles.map(function (_ref5) {\n      var _ref6 = _slicedToArray(_ref5, 1),\n          key = _ref6[0];\n\n      return key;\n    });\n  },\n  values: function values() {\n    return roles.map(function (_ref7) {\n      var _ref8 = _slicedToArray(_ref7, 2),\n          values = _ref8[1];\n\n      return values;\n    });\n  }\n};\nvar _default = rolesMap;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _rolesMap = _interopRequireDefault(require(\"./rolesMap\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elementRoles = [];\n\nvar keys = _rolesMap.default.keys();\n\nfor (var i = 0; i < keys.length; i++) {\n  var _key = keys[i];\n\n  var role = _rolesMap.default.get(_key);\n\n  if (role) {\n    var concepts = [].concat(role.baseConcepts, role.relatedConcepts);\n\n    for (var k = 0; k < concepts.length; k++) {\n      var relation = concepts[k];\n\n      if (relation.module === 'HTML') {\n        var concept = relation.concept;\n\n        if (concept) {\n          (function () {\n            var conceptStr = JSON.stringify(concept);\n            var elementRoleRelation = elementRoles.find(function (relation) {\n              return JSON.stringify(relation[0]) === conceptStr;\n            });\n            var roles = void 0;\n\n            if (elementRoleRelation) {\n              roles = elementRoleRelation[1];\n            } else {\n              roles = [];\n            }\n\n            var isUnique = true;\n\n            for (var _i = 0; _i < roles.length; _i++) {\n              if (roles[_i] === _key) {\n                isUnique = false;\n                break;\n              }\n            }\n\n            if (isUnique) {\n              roles.push(_key);\n            }\n\n            elementRoles.push([concept, roles]);\n          })();\n        }\n      }\n    }\n  }\n}\n\nvar elementRoleMap = {\n  entries: function entries() {\n    return elementRoles;\n  },\n  get: function get(key) {\n    var item = elementRoles.find(function (tuple) {\n      return JSON.stringify(tuple[0]) === JSON.stringify(key) ? true : false;\n    });\n    return item && item[1];\n  },\n  has: function has(key) {\n    return !!this.get(key);\n  },\n  keys: function keys() {\n    return elementRoles.map(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 1),\n          key = _ref2[0];\n\n      return key;\n    });\n  },\n  values: function values() {\n    return elementRoles.map(function (_ref3) {\n      var _ref4 = _slicedToArray(_ref3, 2),\n          values = _ref4[1];\n\n      return values;\n    });\n  }\n};\nvar _default = elementRoleMap;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _rolesMap = _interopRequireDefault(require(\"./rolesMap\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar roleElement = [];\n\nvar keys = _rolesMap.default.keys();\n\nvar _loop = function _loop(i) {\n  var key = keys[i];\n\n  var role = _rolesMap.default.get(key);\n\n  if (role) {\n    var concepts = [].concat(role.baseConcepts, role.relatedConcepts);\n\n    for (var k = 0; k < concepts.length; k++) {\n      var relation = concepts[k];\n\n      if (relation.module === 'HTML') {\n        var concept = relation.concept;\n\n        if (concept) {\n          var roleElementRelation = roleElement.find(function (item) {\n            return item[0] === key;\n          });\n          var relationConcepts = void 0;\n\n          if (roleElementRelation) {\n            relationConcepts = roleElementRelation[1];\n          } else {\n            relationConcepts = [];\n          }\n\n          relationConcepts.push(concept);\n          roleElement.push([key, relationConcepts]);\n        }\n      }\n    }\n  }\n};\n\nfor (var i = 0; i < keys.length; i++) {\n  _loop(i);\n}\n\nvar roleElementMap = {\n  entries: function entries() {\n    return roleElement;\n  },\n  get: function get(key) {\n    var item = roleElement.find(function (tuple) {\n      return tuple[0] === key ? true : false;\n    });\n    return item && item[1];\n  },\n  has: function has(key) {\n    return !!this.get(key);\n  },\n  keys: function keys() {\n    return roleElement.map(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 1),\n          key = _ref2[0];\n\n      return key;\n    });\n  },\n  values: function values() {\n    return roleElement.map(function (_ref3) {\n      var _ref4 = _slicedToArray(_ref3, 2),\n          values = _ref4[1];\n\n      return values;\n    });\n  }\n};\nvar _default = roleElementMap;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.roles = exports.roleElements = exports.elementRoles = exports.dom = exports.aria = void 0;\n\nvar _ariaPropsMap = _interopRequireDefault(require(\"./ariaPropsMap\"));\n\nvar _domMap = _interopRequireDefault(require(\"./domMap\"));\n\nvar _rolesMap = _interopRequireDefault(require(\"./rolesMap\"));\n\nvar _elementRoleMap = _interopRequireDefault(require(\"./elementRoleMap\"));\n\nvar _roleElementMap = _interopRequireDefault(require(\"./roleElementMap\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar aria = _ariaPropsMap.default;\nexports.aria = aria;\nvar dom = _domMap.default;\nexports.dom = dom;\nvar roles = _rolesMap.default;\nexports.roles = roles;\nvar elementRoles = _elementRoleMap.default;\nexports.elementRoles = elementRoles;\nvar roleElements = _roleElementMap.default;\nexports.roleElements = roleElements;","// Copyright (c) 2013 Pieroxy \n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.4\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n  if (!baseReverseDic[alphabet]) {\n    baseReverseDic[alphabet] = {};\n    for (var i=0 ; i>> 8;\n      buf[i*2+1] = current_value % 256;\n    }\n    return buf;\n  },\n\n  //decompress from uint8array (UCS-2 big endian format)\n  decompressFromUint8Array:function (compressed) {\n    if (compressed===null || compressed===undefined){\n        return LZString.decompress(compressed);\n    } else {\n        var buf=new Array(compressed.length/2); // 2 bytes per character\n        for (var i=0, TotalLen=buf.length; i> 1;\n            }\n          } else {\n            value = 1;\n            for (i=0 ; i> 1;\n            }\n          }\n          context_enlargeIn--;\n          if (context_enlargeIn == 0) {\n            context_enlargeIn = Math.pow(2, context_numBits);\n            context_numBits++;\n          }\n          delete context_dictionaryToCreate[context_w];\n        } else {\n          value = context_dictionary[context_w];\n          for (i=0 ; i> 1;\n          }\n\n\n        }\n        context_enlargeIn--;\n        if (context_enlargeIn == 0) {\n          context_enlargeIn = Math.pow(2, context_numBits);\n          context_numBits++;\n        }\n        // Add wc to the dictionary.\n        context_dictionary[context_wc] = context_dictSize++;\n        context_w = String(context_c);\n      }\n    }\n\n    // Output the code for w.\n    if (context_w !== \"\") {\n      if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n        if (context_w.charCodeAt(0)<256) {\n          for (i=0 ; i> 1;\n          }\n        } else {\n          value = 1;\n          for (i=0 ; i> 1;\n          }\n        }\n        context_enlargeIn--;\n        if (context_enlargeIn == 0) {\n          context_enlargeIn = Math.pow(2, context_numBits);\n          context_numBits++;\n        }\n        delete context_dictionaryToCreate[context_w];\n      } else {\n        value = context_dictionary[context_w];\n        for (i=0 ; i> 1;\n        }\n\n\n      }\n      context_enlargeIn--;\n      if (context_enlargeIn == 0) {\n        context_enlargeIn = Math.pow(2, context_numBits);\n        context_numBits++;\n      }\n    }\n\n    // Mark the end of the stream\n    value = 2;\n    for (i=0 ; i> 1;\n    }\n\n    // Flush the last char\n    while (true) {\n      context_data_val = (context_data_val << 1);\n      if (context_data_position == bitsPerChar-1) {\n        context_data.push(getCharFromInt(context_data_val));\n        break;\n      }\n      else context_data_position++;\n    }\n    return context_data.join('');\n  },\n\n  decompress: function (compressed) {\n    if (compressed == null) return \"\";\n    if (compressed == \"\") return null;\n    return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n  },\n\n  _decompress: function (length, resetValue, getNextValue) {\n    var dictionary = [],\n        next,\n        enlargeIn = 4,\n        dictSize = 4,\n        numBits = 3,\n        entry = \"\",\n        result = [],\n        i,\n        w,\n        bits, resb, maxpower, power,\n        c,\n        data = {val:getNextValue(0), position:resetValue, index:1};\n\n    for (i = 0; i < 3; i += 1) {\n      dictionary[i] = i;\n    }\n\n    bits = 0;\n    maxpower = Math.pow(2,2);\n    power=1;\n    while (power!=maxpower) {\n      resb = data.val & data.position;\n      data.position >>= 1;\n      if (data.position == 0) {\n        data.position = resetValue;\n        data.val = getNextValue(data.index++);\n      }\n      bits |= (resb>0 ? 1 : 0) * power;\n      power <<= 1;\n    }\n\n    switch (next = bits) {\n      case 0:\n          bits = 0;\n          maxpower = Math.pow(2,8);\n          power=1;\n          while (power!=maxpower) {\n            resb = data.val & data.position;\n            data.position >>= 1;\n            if (data.position == 0) {\n              data.position = resetValue;\n              data.val = getNextValue(data.index++);\n            }\n            bits |= (resb>0 ? 1 : 0) * power;\n            power <<= 1;\n          }\n        c = f(bits);\n        break;\n      case 1:\n          bits = 0;\n          maxpower = Math.pow(2,16);\n          power=1;\n          while (power!=maxpower) {\n            resb = data.val & data.position;\n            data.position >>= 1;\n            if (data.position == 0) {\n              data.position = resetValue;\n              data.val = getNextValue(data.index++);\n            }\n            bits |= (resb>0 ? 1 : 0) * power;\n            power <<= 1;\n          }\n        c = f(bits);\n        break;\n      case 2:\n        return \"\";\n    }\n    dictionary[3] = c;\n    w = c;\n    result.push(c);\n    while (true) {\n      if (data.index > length) {\n        return \"\";\n      }\n\n      bits = 0;\n      maxpower = Math.pow(2,numBits);\n      power=1;\n      while (power!=maxpower) {\n        resb = data.val & data.position;\n        data.position >>= 1;\n        if (data.position == 0) {\n          data.position = resetValue;\n          data.val = getNextValue(data.index++);\n        }\n        bits |= (resb>0 ? 1 : 0) * power;\n        power <<= 1;\n      }\n\n      switch (c = bits) {\n        case 0:\n          bits = 0;\n          maxpower = Math.pow(2,8);\n          power=1;\n          while (power!=maxpower) {\n            resb = data.val & data.position;\n            data.position >>= 1;\n            if (data.position == 0) {\n              data.position = resetValue;\n              data.val = getNextValue(data.index++);\n            }\n            bits |= (resb>0 ? 1 : 0) * power;\n            power <<= 1;\n          }\n\n          dictionary[dictSize++] = f(bits);\n          c = dictSize-1;\n          enlargeIn--;\n          break;\n        case 1:\n          bits = 0;\n          maxpower = Math.pow(2,16);\n          power=1;\n          while (power!=maxpower) {\n            resb = data.val & data.position;\n            data.position >>= 1;\n            if (data.position == 0) {\n              data.position = resetValue;\n              data.val = getNextValue(data.index++);\n            }\n            bits |= (resb>0 ? 1 : 0) * power;\n            power <<= 1;\n          }\n          dictionary[dictSize++] = f(bits);\n          c = dictSize-1;\n          enlargeIn--;\n          break;\n        case 2:\n          return result.join('');\n      }\n\n      if (enlargeIn == 0) {\n        enlargeIn = Math.pow(2, numBits);\n        numBits++;\n      }\n\n      if (dictionary[c]) {\n        entry = dictionary[c];\n      } else {\n        if (c === dictSize) {\n          entry = w + w.charAt(0);\n        } else {\n          return null;\n        }\n      }\n      result.push(entry);\n\n      // Add w+entry[0] to the dictionary.\n      dictionary[dictSize++] = w + entry.charAt(0);\n      enlargeIn--;\n\n      w = entry;\n\n      if (enlargeIn == 0) {\n        enlargeIn = Math.pow(2, numBits);\n        numBits++;\n      }\n\n    }\n  }\n};\n  return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n  define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n  module.exports = LZString\n}\n","import * as prettyFormat from 'pretty-format';\nexport { prettyFormat };\nimport { computeAccessibleName, computeAccessibleDescription } from 'dom-accessibility-api';\nimport { elementRoles, roles, roleElements } from 'aria-query';\nimport lzString from 'lz-string';\n\n/**\n * Source: https://github.com/facebook/jest/blob/e7bb6a1e26ffab90611b2593912df15b69315611/packages/pretty-format/src/plugins/DOMElement.ts\n */\n\n/* eslint-disable -- trying to stay as close to the original as possible */\n\n/* istanbul ignore file */\nfunction escapeHTML(str) {\n  return str.replace(//g, '>');\n} // Return empty string if keys is empty.\n\n\nconst printProps = (keys, props, config, indentation, depth, refs, printer) => {\n  const indentationNext = indentation + config.indent;\n  const colors = config.colors;\n  return keys.map(key => {\n    const value = props[key];\n    let printed = printer(value, config, indentationNext, depth, refs);\n\n    if (typeof value !== 'string') {\n      if (printed.indexOf('\\n') !== -1) {\n        printed = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation;\n      }\n\n      printed = '{' + printed + '}';\n    }\n\n    return config.spacingInner + indentation + colors.prop.open + key + colors.prop.close + '=' + colors.value.open + printed + colors.value.close;\n  }).join('');\n}; // https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType#node_type_constants\n\n\nconst NodeTypeTextNode = 3; // Return empty string if children is empty.\n\nconst printChildren = (children, config, indentation, depth, refs, printer) => children.map(child => {\n  const printedChild = typeof child === 'string' ? printText(child, config) : printer(child, config, indentation, depth, refs);\n\n  if (printedChild === '' && typeof child === 'object' && child !== null && child.nodeType !== NodeTypeTextNode) {\n    // A plugin serialized this Node to '' meaning we should ignore it.\n    return '';\n  }\n\n  return config.spacingOuter + indentation + printedChild;\n}).join('');\n\nconst printText = (text, config) => {\n  const contentColor = config.colors.content;\n  return contentColor.open + escapeHTML(text) + contentColor.close;\n};\n\nconst printComment = (comment, config) => {\n  const commentColor = config.colors.comment;\n  return commentColor.open + '' + commentColor.close;\n}; // Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\n\n\nconst printElement = (type, printedProps, printedChildren, config, indentation) => {\n  const tagColor = config.colors.tag;\n  return tagColor.open + '<' + type + (printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open) + (printedChildren ? '>' + tagColor.close + printedChildren + config.spacingOuter + indentation + tagColor.open + '' + tagColor.close;\n};\n\nconst printElementAsLeaf = (type, config) => {\n  const tagColor = config.colors.tag;\n  return tagColor.open + '<' + type + tagColor.close + ' …' + tagColor.open + ' />' + tagColor.close;\n};\n\nconst ELEMENT_NODE$1 = 1;\nconst TEXT_NODE$1 = 3;\nconst COMMENT_NODE$1 = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^((HTML|SVG)\\w*)?Element$/;\n\nconst testNode = val => {\n  const constructorName = val.constructor.name;\n  const {\n    nodeType,\n    tagName\n  } = val;\n  const isCustomElement = typeof tagName === 'string' && tagName.includes('-') || typeof val.hasAttribute === 'function' && val.hasAttribute('is');\n  return nodeType === ELEMENT_NODE$1 && (ELEMENT_REGEXP.test(constructorName) || isCustomElement) || nodeType === TEXT_NODE$1 && constructorName === 'Text' || nodeType === COMMENT_NODE$1 && constructorName === 'Comment' || nodeType === FRAGMENT_NODE && constructorName === 'DocumentFragment';\n};\n\nfunction nodeIsText(node) {\n  return node.nodeType === TEXT_NODE$1;\n}\n\nfunction nodeIsComment(node) {\n  return node.nodeType === COMMENT_NODE$1;\n}\n\nfunction nodeIsFragment(node) {\n  return node.nodeType === FRAGMENT_NODE;\n}\n\nfunction createDOMElementFilter(filterNode) {\n  return {\n    test: val => {\n      var _val$constructor2;\n\n      return (val == null ? void 0 : (_val$constructor2 = val.constructor) == null ? void 0 : _val$constructor2.name) && testNode(val);\n    },\n    serialize: (node, config, indentation, depth, refs, printer) => {\n      if (nodeIsText(node)) {\n        return printText(node.data, config);\n      }\n\n      if (nodeIsComment(node)) {\n        return printComment(node.data, config);\n      }\n\n      const type = nodeIsFragment(node) ? \"DocumentFragment\" : node.tagName.toLowerCase();\n\n      if (++depth > config.maxDepth) {\n        return printElementAsLeaf(type, config);\n      }\n\n      return printElement(type, printProps(nodeIsFragment(node) ? [] : Array.from(node.attributes).map(attr => attr.name).sort(), nodeIsFragment(node) ? {} : Array.from(node.attributes).reduce((props, attribute) => {\n        props[attribute.name] = attribute.value;\n        return props;\n      }, {}), config, indentation + config.indent, depth, refs, printer), printChildren(Array.prototype.slice.call(node.childNodes || node.children).filter(filterNode), config, indentation + config.indent, depth, refs, printer), config, indentation);\n    }\n  };\n}\n\n// We try to load node dependencies\nlet chalk = null;\nlet readFileSync = null;\nlet codeFrameColumns = null;\n\ntry {\n  const nodeRequire = module && module.require;\n  readFileSync = nodeRequire.call(module, 'fs').readFileSync;\n  codeFrameColumns = nodeRequire.call(module, '@babel/code-frame').codeFrameColumns;\n  chalk = nodeRequire.call(module, 'chalk');\n} catch {// We're in a browser environment\n} // frame has the form \"at myMethod (location/to/my/file.js:10:2)\"\n\n\nfunction getCodeFrame(frame) {\n  const locationStart = frame.indexOf('(') + 1;\n  const locationEnd = frame.indexOf(')');\n  const frameLocation = frame.slice(locationStart, locationEnd);\n  const frameLocationElements = frameLocation.split(':');\n  const [filename, line, column] = [frameLocationElements[0], parseInt(frameLocationElements[1], 10), parseInt(frameLocationElements[2], 10)];\n  let rawFileContents = '';\n\n  try {\n    rawFileContents = readFileSync(filename, 'utf-8');\n  } catch {\n    return '';\n  }\n\n  const codeFrame = codeFrameColumns(rawFileContents, {\n    start: {\n      line,\n      column\n    }\n  }, {\n    highlightCode: true,\n    linesBelow: 0\n  });\n  return chalk.dim(frameLocation) + \"\\n\" + codeFrame + \"\\n\";\n}\n\nfunction getUserCodeFrame() {\n  // If we couldn't load dependencies, we can't generate the user trace\n\n  /* istanbul ignore next */\n  if (!readFileSync || !codeFrameColumns) {\n    return '';\n  }\n\n  const err = new Error();\n  const firstClientCodeFrame = err.stack.split('\\n').slice(1) // Remove first line which has the form \"Error: TypeError\"\n  .find(frame => !frame.includes('node_modules/')); // Ignore frames from 3rd party libraries\n\n  return getCodeFrame(firstClientCodeFrame);\n}\n\n// Constant node.nodeType for text nodes, see:\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType#Node_type_constants\nconst TEXT_NODE = 3;\n\nfunction jestFakeTimersAreEnabled() {\n  /* istanbul ignore else */\n  if (typeof jest !== 'undefined' && jest !== null) {\n    return (// legacy timers\n      setTimeout._isMockFunction === true || // modern timers\n      Object.prototype.hasOwnProperty.call(setTimeout, 'clock')\n    );\n  } // istanbul ignore next\n\n\n  return false;\n}\n\nfunction getDocument() {\n  /* istanbul ignore if */\n  if (typeof window === 'undefined') {\n    throw new Error('Could not find default container');\n  }\n\n  return window.document;\n}\n\nfunction getWindowFromNode(node) {\n  if (node.defaultView) {\n    // node is document\n    return node.defaultView;\n  } else if (node.ownerDocument && node.ownerDocument.defaultView) {\n    // node is a DOM node\n    return node.ownerDocument.defaultView;\n  } else if (node.window) {\n    // node is window\n    return node.window;\n  } else if (node.ownerDocument && node.ownerDocument.defaultView === null) {\n    throw new Error(\"It looks like the window object is not available for the provided node.\");\n  } else if (node.then instanceof Function) {\n    throw new Error(\"It looks like you passed a Promise object instead of a DOM node. Did you do something like `fireEvent.click(screen.findBy...` when you meant to use a `getBy` query `fireEvent.click(screen.getBy...`, or await the findBy query `fireEvent.click(await screen.findBy...`?\");\n  } else if (Array.isArray(node)) {\n    throw new Error(\"It looks like you passed an Array instead of a DOM node. Did you do something like `fireEvent.click(screen.getAllBy...` when you meant to use a `getBy` query `fireEvent.click(screen.getBy...`?\");\n  } else if (typeof node.debug === 'function' && typeof node.logTestingPlaygroundURL === 'function') {\n    throw new Error(\"It looks like you passed a `screen` object. Did you do something like `fireEvent.click(screen, ...` when you meant to use a query, e.g. `fireEvent.click(screen.getBy..., `?\");\n  } else {\n    // The user passed something unusual to a calling function\n    throw new Error(\"The given node is not an Element, the node type is: \" + typeof node + \".\");\n  }\n}\n\nfunction checkContainerType(container) {\n  if (!container || !(typeof container.querySelector === 'function') || !(typeof container.querySelectorAll === 'function')) {\n    throw new TypeError(\"Expected container to be an Element, a Document or a DocumentFragment but got \" + getTypeName(container) + \".\");\n  }\n\n  function getTypeName(object) {\n    if (typeof object === 'object') {\n      return object === null ? 'null' : object.constructor.name;\n    }\n\n    return typeof object;\n  }\n}\n\nconst inNode = () => typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined;\n\nconst {\n  DOMCollection\n} = prettyFormat.plugins; // https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType#node_type_constants\n\nconst ELEMENT_NODE = 1;\nconst COMMENT_NODE = 8; // https://github.com/facebook/jest/blob/615084195ae1ae61ddd56162c62bbdda17587569/packages/pretty-format/src/plugins/DOMElement.ts#L50\n\nfunction filterCommentsAndDefaultIgnoreTagsTags(value) {\n  return value.nodeType !== COMMENT_NODE && (value.nodeType !== ELEMENT_NODE || !value.matches(getConfig().defaultIgnore));\n}\n\nfunction prettyDOM(dom, maxLength, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  if (!dom) {\n    dom = getDocument().body;\n  }\n\n  if (typeof maxLength !== 'number') {\n    maxLength = typeof process !== 'undefined' && process.env.DEBUG_PRINT_LIMIT || 7000;\n  }\n\n  if (maxLength === 0) {\n    return '';\n  }\n\n  if (dom.documentElement) {\n    dom = dom.documentElement;\n  }\n\n  let domTypeName = typeof dom;\n\n  if (domTypeName === 'object') {\n    domTypeName = dom.constructor.name;\n  } else {\n    // To don't fall with `in` operator\n    dom = {};\n  }\n\n  if (!('outerHTML' in dom)) {\n    throw new TypeError(\"Expected an element or document but got \" + domTypeName);\n  }\n\n  const {\n    filterNode = filterCommentsAndDefaultIgnoreTagsTags,\n    ...prettyFormatOptions\n  } = options;\n  const debugContent = prettyFormat.format(dom, {\n    plugins: [createDOMElementFilter(filterNode), DOMCollection],\n    printFunctionName: false,\n    highlight: inNode(),\n    ...prettyFormatOptions\n  });\n  return maxLength !== undefined && dom.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + \"...\" : debugContent;\n}\n\nconst logDOM = function () {\n  const userCodeFrame = getUserCodeFrame();\n\n  if (userCodeFrame) {\n    console.log(prettyDOM(...arguments) + \"\\n\\n\" + userCodeFrame);\n  } else {\n    console.log(prettyDOM(...arguments));\n  }\n};\n\n// It would be cleaner for this to live inside './queries', but\n// other parts of the code assume that all exports from\n// './queries' are query functions.\nlet config = {\n  testIdAttribute: 'data-testid',\n  asyncUtilTimeout: 1000,\n  // asyncWrapper and advanceTimersWrapper is to support React's async `act` function.\n  // forcing react-testing-library to wrap all async functions would've been\n  // a total nightmare (consider wrapping every findBy* query and then also\n  // updating `within` so those would be wrapped too. Total nightmare).\n  // so we have this config option that's really only intended for\n  // react-testing-library to use. For that reason, this feature will remain\n  // undocumented.\n  asyncWrapper: cb => cb(),\n  unstable_advanceTimersWrapper: cb => cb(),\n  eventWrapper: cb => cb(),\n  // default value for the `hidden` option in `ByRole` queries\n  defaultHidden: false,\n  // default value for the `ignore` option in `ByText` queries\n  defaultIgnore: 'script, style',\n  // showOriginalStackTrace flag to show the full error stack traces for async errors\n  showOriginalStackTrace: false,\n  // throw errors w/ suggestions for better queries. Opt in so off by default.\n  throwSuggestions: false,\n\n  // called when getBy* queries fail. (message, container) => Error\n  getElementError(message, container) {\n    const prettifiedDOM = prettyDOM(container);\n    const error = new Error([message, \"Ignored nodes: comments, \" + config.defaultIgnore + \"\\n\" + prettifiedDOM].filter(Boolean).join('\\n\\n'));\n    error.name = 'TestingLibraryElementError';\n    return error;\n  },\n\n  _disableExpensiveErrorDiagnostics: false,\n  computedStyleSupportsPseudoElements: false\n};\nfunction runWithExpensiveErrorDiagnosticsDisabled(callback) {\n  try {\n    config._disableExpensiveErrorDiagnostics = true;\n    return callback();\n  } finally {\n    config._disableExpensiveErrorDiagnostics = false;\n  }\n}\nfunction configure(newConfig) {\n  if (typeof newConfig === 'function') {\n    // Pass the existing config out to the provided function\n    // and accept a delta in return\n    newConfig = newConfig(config);\n  } // Merge the incoming config delta\n\n\n  config = { ...config,\n    ...newConfig\n  };\n}\nfunction getConfig() {\n  return config;\n}\n\nconst labelledNodeNames = ['button', 'meter', 'output', 'progress', 'select', 'textarea', 'input'];\n\nfunction getTextContent(node) {\n  if (labelledNodeNames.includes(node.nodeName.toLowerCase())) {\n    return '';\n  }\n\n  if (node.nodeType === TEXT_NODE) return node.textContent;\n  return Array.from(node.childNodes).map(childNode => getTextContent(childNode)).join('');\n}\n\nfunction getLabelContent(element) {\n  let textContent;\n\n  if (element.tagName.toLowerCase() === 'label') {\n    textContent = getTextContent(element);\n  } else {\n    textContent = element.value || element.textContent;\n  }\n\n  return textContent;\n} // Based on https://github.com/eps1lon/dom-accessibility-api/pull/352\n\n\nfunction getRealLabels(element) {\n  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- types are not aware of older browsers that don't implement `labels`\n  if (element.labels !== undefined) {\n    var _labels;\n\n    return (_labels = element.labels) != null ? _labels : [];\n  }\n\n  if (!isLabelable(element)) return [];\n  const labels = element.ownerDocument.querySelectorAll('label');\n  return Array.from(labels).filter(label => label.control === element);\n}\n\nfunction isLabelable(element) {\n  return /BUTTON|METER|OUTPUT|PROGRESS|SELECT|TEXTAREA/.test(element.tagName) || element.tagName === 'INPUT' && element.getAttribute('type') !== 'hidden';\n}\n\nfunction getLabels(container, element, _temp) {\n  let {\n    selector = '*'\n  } = _temp === void 0 ? {} : _temp;\n  const ariaLabelledBy = element.getAttribute('aria-labelledby');\n  const labelsId = ariaLabelledBy ? ariaLabelledBy.split(' ') : [];\n  return labelsId.length ? labelsId.map(labelId => {\n    const labellingElement = container.querySelector(\"[id=\\\"\" + labelId + \"\\\"]\");\n    return labellingElement ? {\n      content: getLabelContent(labellingElement),\n      formControl: null\n    } : {\n      content: '',\n      formControl: null\n    };\n  }) : Array.from(getRealLabels(element)).map(label => {\n    const textToMatch = getLabelContent(label);\n    const formControlSelector = 'button, input, meter, output, progress, select, textarea';\n    const labelledFormControl = Array.from(label.querySelectorAll(formControlSelector)).filter(formControlElement => formControlElement.matches(selector))[0];\n    return {\n      content: textToMatch,\n      formControl: labelledFormControl\n    };\n  });\n}\n\nfunction assertNotNullOrUndefined(matcher) {\n  if (matcher === null || matcher === undefined) {\n    throw new Error( // eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- implicitly converting `T` to `string`\n    \"It looks like \" + matcher + \" was passed instead of a matcher. Did you do something like getByText(\" + matcher + \")?\");\n  }\n}\n\nfunction fuzzyMatches(textToMatch, node, matcher, normalizer) {\n  if (typeof textToMatch !== 'string') {\n    return false;\n  }\n\n  assertNotNullOrUndefined(matcher);\n  const normalizedText = normalizer(textToMatch);\n\n  if (typeof matcher === 'string' || typeof matcher === 'number') {\n    return normalizedText.toLowerCase().includes(matcher.toString().toLowerCase());\n  } else if (typeof matcher === 'function') {\n    return matcher(normalizedText, node);\n  } else {\n    return matchRegExp(matcher, normalizedText);\n  }\n}\n\nfunction matches(textToMatch, node, matcher, normalizer) {\n  if (typeof textToMatch !== 'string') {\n    return false;\n  }\n\n  assertNotNullOrUndefined(matcher);\n  const normalizedText = normalizer(textToMatch);\n\n  if (matcher instanceof Function) {\n    return matcher(normalizedText, node);\n  } else if (matcher instanceof RegExp) {\n    return matchRegExp(matcher, normalizedText);\n  } else {\n    return normalizedText === String(matcher);\n  }\n}\n\nfunction getDefaultNormalizer(_temp) {\n  let {\n    trim = true,\n    collapseWhitespace = true\n  } = _temp === void 0 ? {} : _temp;\n  return text => {\n    let normalizedText = text;\n    normalizedText = trim ? normalizedText.trim() : normalizedText;\n    normalizedText = collapseWhitespace ? normalizedText.replace(/\\s+/g, ' ') : normalizedText;\n    return normalizedText;\n  };\n}\n/**\n * Constructs a normalizer to pass to functions in matches.js\n * @param {boolean|undefined} trim The user-specified value for `trim`, without\n * any defaulting having been applied\n * @param {boolean|undefined} collapseWhitespace The user-specified value for\n * `collapseWhitespace`, without any defaulting having been applied\n * @param {Function|undefined} normalizer The user-specified normalizer\n * @returns {Function} A normalizer\n */\n\n\nfunction makeNormalizer(_ref) {\n  let {\n    trim,\n    collapseWhitespace,\n    normalizer\n  } = _ref;\n\n  if (!normalizer) {\n    // No custom normalizer specified. Just use default.\n    return getDefaultNormalizer({\n      trim,\n      collapseWhitespace\n    });\n  }\n\n  if (typeof trim !== 'undefined' || typeof collapseWhitespace !== 'undefined') {\n    // They've also specified a value for trim or collapseWhitespace\n    throw new Error('trim and collapseWhitespace are not supported with a normalizer. ' + 'If you want to use the default trim and collapseWhitespace logic in your normalizer, ' + 'use \"getDefaultNormalizer({trim, collapseWhitespace})\" and compose that into your normalizer');\n  }\n\n  return normalizer;\n}\n\nfunction matchRegExp(matcher, text) {\n  const match = matcher.test(text);\n\n  if (matcher.global && matcher.lastIndex !== 0) {\n    console.warn(\"To match all elements we had to reset the lastIndex of the RegExp because the global flag is enabled. We encourage to remove the global flag from the RegExp.\");\n    matcher.lastIndex = 0;\n  }\n\n  return match;\n}\n\nfunction getNodeText(node) {\n  if (node.matches('input[type=submit], input[type=button], input[type=reset]')) {\n    return node.value;\n  }\n\n  return Array.from(node.childNodes).filter(child => child.nodeType === TEXT_NODE && Boolean(child.textContent)).map(c => c.textContent).join('');\n}\n\nconst elementRoleList = buildElementRoleList(elementRoles);\n/**\n * @param {Element} element -\n * @returns {boolean} - `true` if `element` and its subtree are inaccessible\n */\n\nfunction isSubtreeInaccessible(element) {\n  if (element.hidden === true) {\n    return true;\n  }\n\n  if (element.getAttribute('aria-hidden') === 'true') {\n    return true;\n  }\n\n  const window = element.ownerDocument.defaultView;\n\n  if (window.getComputedStyle(element).display === 'none') {\n    return true;\n  }\n\n  return false;\n}\n/**\n * Partial implementation https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion\n * which should only be used for elements with a non-presentational role i.e.\n * `role=\"none\"` and `role=\"presentation\"` will not be excluded.\n *\n * Implements aria-hidden semantics (i.e. parent overrides child)\n * Ignores \"Child Presentational: True\" characteristics\n *\n * @param {Element} element -\n * @param {object} [options] -\n * @param {function (element: Element): boolean} options.isSubtreeInaccessible -\n * can be used to return cached results from previous isSubtreeInaccessible calls\n * @returns {boolean} true if excluded, otherwise false\n */\n\n\nfunction isInaccessible(element, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  const {\n    isSubtreeInaccessible: isSubtreeInaccessibleImpl = isSubtreeInaccessible\n  } = options;\n  const window = element.ownerDocument.defaultView; // since visibility is inherited we can exit early\n\n  if (window.getComputedStyle(element).visibility === 'hidden') {\n    return true;\n  }\n\n  let currentElement = element;\n\n  while (currentElement) {\n    if (isSubtreeInaccessibleImpl(currentElement)) {\n      return true;\n    }\n\n    currentElement = currentElement.parentElement;\n  }\n\n  return false;\n}\n\nfunction getImplicitAriaRoles(currentNode) {\n  // eslint bug here:\n  // eslint-disable-next-line no-unused-vars\n  for (const {\n    match,\n    roles\n  } of elementRoleList) {\n    if (match(currentNode)) {\n      return [...roles];\n    }\n  }\n\n  return [];\n}\n\nfunction buildElementRoleList(elementRolesMap) {\n  function makeElementSelector(_ref) {\n    let {\n      name,\n      attributes\n    } = _ref;\n    return \"\" + name + attributes.map(_ref2 => {\n      let {\n        name: attributeName,\n        value,\n        constraints = []\n      } = _ref2;\n      const shouldNotExist = constraints.indexOf('undefined') !== -1;\n\n      if (shouldNotExist) {\n        return \":not([\" + attributeName + \"])\";\n      } else if (value) {\n        return \"[\" + attributeName + \"=\\\"\" + value + \"\\\"]\";\n      } else {\n        return \"[\" + attributeName + \"]\";\n      }\n    }).join('');\n  }\n\n  function getSelectorSpecificity(_ref3) {\n    let {\n      attributes = []\n    } = _ref3;\n    return attributes.length;\n  }\n\n  function bySelectorSpecificity(_ref4, _ref5) {\n    let {\n      specificity: leftSpecificity\n    } = _ref4;\n    let {\n      specificity: rightSpecificity\n    } = _ref5;\n    return rightSpecificity - leftSpecificity;\n  }\n\n  function match(element) {\n    let {\n      attributes = []\n    } = element; // https://github.com/testing-library/dom-testing-library/issues/814\n\n    const typeTextIndex = attributes.findIndex(attribute => attribute.value && attribute.name === 'type' && attribute.value === 'text');\n\n    if (typeTextIndex >= 0) {\n      // not using splice to not mutate the attributes array\n      attributes = [...attributes.slice(0, typeTextIndex), ...attributes.slice(typeTextIndex + 1)];\n    }\n\n    const selector = makeElementSelector({ ...element,\n      attributes\n    });\n    return node => {\n      if (typeTextIndex >= 0 && node.type !== 'text') {\n        return false;\n      }\n\n      return node.matches(selector);\n    };\n  }\n\n  let result = []; // eslint bug here:\n  // eslint-disable-next-line no-unused-vars\n\n  for (const [element, roles] of elementRolesMap.entries()) {\n    result = [...result, {\n      match: match(element),\n      roles: Array.from(roles),\n      specificity: getSelectorSpecificity(element)\n    }];\n  }\n\n  return result.sort(bySelectorSpecificity);\n}\n\nfunction getRoles(container, _temp) {\n  let {\n    hidden = false\n  } = _temp === void 0 ? {} : _temp;\n\n  function flattenDOM(node) {\n    return [node, ...Array.from(node.children).reduce((acc, child) => [...acc, ...flattenDOM(child)], [])];\n  }\n\n  return flattenDOM(container).filter(element => {\n    return hidden === false ? isInaccessible(element) === false : true;\n  }).reduce((acc, node) => {\n    let roles = []; // TODO: This violates html-aria which does not allow any role on every element\n\n    if (node.hasAttribute('role')) {\n      roles = node.getAttribute('role').split(' ').slice(0, 1);\n    } else {\n      roles = getImplicitAriaRoles(node);\n    }\n\n    return roles.reduce((rolesAcc, role) => Array.isArray(rolesAcc[role]) ? { ...rolesAcc,\n      [role]: [...rolesAcc[role], node]\n    } : { ...rolesAcc,\n      [role]: [node]\n    }, acc);\n  }, {});\n}\n\nfunction prettyRoles(dom, _ref6) {\n  let {\n    hidden,\n    includeDescription\n  } = _ref6;\n  const roles = getRoles(dom, {\n    hidden\n  }); // We prefer to skip generic role, we don't recommend it\n\n  return Object.entries(roles).filter(_ref7 => {\n    let [role] = _ref7;\n    return role !== 'generic';\n  }).map(_ref8 => {\n    let [role, elements] = _ref8;\n    const delimiterBar = '-'.repeat(50);\n    const elementsString = elements.map(el => {\n      const nameString = \"Name \\\"\" + computeAccessibleName(el, {\n        computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n      }) + \"\\\":\\n\";\n      const domString = prettyDOM(el.cloneNode(false));\n\n      if (includeDescription) {\n        const descriptionString = \"Description \\\"\" + computeAccessibleDescription(el, {\n          computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n        }) + \"\\\":\\n\";\n        return \"\" + nameString + descriptionString + domString;\n      }\n\n      return \"\" + nameString + domString;\n    }).join('\\n\\n');\n    return role + \":\\n\\n\" + elementsString + \"\\n\\n\" + delimiterBar;\n  }).join('\\n');\n}\n\nconst logRoles = function (dom, _temp2) {\n  let {\n    hidden = false\n  } = _temp2 === void 0 ? {} : _temp2;\n  return console.log(prettyRoles(dom, {\n    hidden\n  }));\n};\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)selected, undefined if not selectable\n */\n\n\nfunction computeAriaSelected(element) {\n  // implicit value from html-aam mappings: https://www.w3.org/TR/html-aam-1.0/#html-attribute-state-and-property-mappings\n  // https://www.w3.org/TR/html-aam-1.0/#details-id-97\n  if (element.tagName === 'OPTION') {\n    return element.selected;\n  } // explicit value\n\n\n  return checkBooleanAttribute(element, 'aria-selected');\n}\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)checked, undefined if not checked-able\n */\n\n\nfunction computeAriaChecked(element) {\n  // implicit value from html-aam mappings: https://www.w3.org/TR/html-aam-1.0/#html-attribute-state-and-property-mappings\n  // https://www.w3.org/TR/html-aam-1.0/#details-id-56\n  // https://www.w3.org/TR/html-aam-1.0/#details-id-67\n  if ('indeterminate' in element && element.indeterminate) {\n    return undefined;\n  }\n\n  if ('checked' in element) {\n    return element.checked;\n  } // explicit value\n\n\n  return checkBooleanAttribute(element, 'aria-checked');\n}\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)pressed, undefined if not press-able\n */\n\n\nfunction computeAriaPressed(element) {\n  // https://www.w3.org/TR/wai-aria-1.1/#aria-pressed\n  return checkBooleanAttribute(element, 'aria-pressed');\n}\n/**\n * @param {Element} element -\n * @returns {boolean | string | null} -\n */\n\n\nfunction computeAriaCurrent(element) {\n  var _ref9, _checkBooleanAttribut;\n\n  // https://www.w3.org/TR/wai-aria-1.1/#aria-current\n  return (_ref9 = (_checkBooleanAttribut = checkBooleanAttribute(element, 'aria-current')) != null ? _checkBooleanAttribut : element.getAttribute('aria-current')) != null ? _ref9 : false;\n}\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)expanded, undefined if not expand-able\n */\n\n\nfunction computeAriaExpanded(element) {\n  // https://www.w3.org/TR/wai-aria-1.1/#aria-expanded\n  return checkBooleanAttribute(element, 'aria-expanded');\n}\n\nfunction checkBooleanAttribute(element, attribute) {\n  const attributeValue = element.getAttribute(attribute);\n\n  if (attributeValue === 'true') {\n    return true;\n  }\n\n  if (attributeValue === 'false') {\n    return false;\n  }\n\n  return undefined;\n}\n/**\n * @param {Element} element -\n * @returns {number | undefined} - number if implicit heading or aria-level present, otherwise undefined\n */\n\n\nfunction computeHeadingLevel(element) {\n  // https://w3c.github.io/html-aam/#el-h1-h6\n  // https://w3c.github.io/html-aam/#el-h1-h6\n  const implicitHeadingLevels = {\n    H1: 1,\n    H2: 2,\n    H3: 3,\n    H4: 4,\n    H5: 5,\n    H6: 6\n  }; // explicit aria-level value\n  // https://www.w3.org/TR/wai-aria-1.2/#aria-level\n\n  const ariaLevelAttribute = element.getAttribute('aria-level') && Number(element.getAttribute('aria-level'));\n  return ariaLevelAttribute || implicitHeadingLevels[element.tagName];\n}\n\nconst normalize = getDefaultNormalizer();\n\nfunction escapeRegExp(string) {\n  return string.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n}\n\nfunction getRegExpMatcher(string) {\n  return new RegExp(escapeRegExp(string.toLowerCase()), 'i');\n}\n\nfunction makeSuggestion(queryName, element, content, _ref) {\n  let {\n    variant,\n    name\n  } = _ref;\n  let warning = '';\n  const queryOptions = {};\n  const queryArgs = [['Role', 'TestId'].includes(queryName) ? content : getRegExpMatcher(content)];\n\n  if (name) {\n    queryOptions.name = getRegExpMatcher(name);\n  }\n\n  if (queryName === 'Role' && isInaccessible(element)) {\n    queryOptions.hidden = true;\n    warning = \"Element is inaccessible. This means that the element and all its children are invisible to screen readers.\\n    If you are using the aria-hidden prop, make sure this is the right choice for your case.\\n    \";\n  }\n\n  if (Object.keys(queryOptions).length > 0) {\n    queryArgs.push(queryOptions);\n  }\n\n  const queryMethod = variant + \"By\" + queryName;\n  return {\n    queryName,\n    queryMethod,\n    queryArgs,\n    variant,\n    warning,\n\n    toString() {\n      if (warning) {\n        console.warn(warning);\n      }\n\n      let [text, options] = queryArgs;\n      text = typeof text === 'string' ? \"'\" + text + \"'\" : text;\n      options = options ? \", { \" + Object.entries(options).map(_ref2 => {\n        let [k, v] = _ref2;\n        return k + \": \" + v;\n      }).join(', ') + \" }\" : '';\n      return queryMethod + \"(\" + text + options + \")\";\n    }\n\n  };\n}\n\nfunction canSuggest(currentMethod, requestedMethod, data) {\n  return data && (!requestedMethod || requestedMethod.toLowerCase() === currentMethod.toLowerCase());\n}\n\nfunction getSuggestedQuery(element, variant, method) {\n  var _element$getAttribute, _getImplicitAriaRoles;\n\n  if (variant === void 0) {\n    variant = 'get';\n  }\n\n  // don't create suggestions for script and style elements\n  if (element.matches(getConfig().defaultIgnore)) {\n    return undefined;\n  } //We prefer to suggest something else if the role is generic\n\n\n  const role = (_element$getAttribute = element.getAttribute('role')) != null ? _element$getAttribute : (_getImplicitAriaRoles = getImplicitAriaRoles(element)) == null ? void 0 : _getImplicitAriaRoles[0];\n\n  if (role !== 'generic' && canSuggest('Role', method, role)) {\n    return makeSuggestion('Role', element, role, {\n      variant,\n      name: computeAccessibleName(element, {\n        computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n      })\n    });\n  }\n\n  const labelText = getLabels(document, element).map(label => label.content).join(' ');\n\n  if (canSuggest('LabelText', method, labelText)) {\n    return makeSuggestion('LabelText', element, labelText, {\n      variant\n    });\n  }\n\n  const placeholderText = element.getAttribute('placeholder');\n\n  if (canSuggest('PlaceholderText', method, placeholderText)) {\n    return makeSuggestion('PlaceholderText', element, placeholderText, {\n      variant\n    });\n  }\n\n  const textContent = normalize(getNodeText(element));\n\n  if (canSuggest('Text', method, textContent)) {\n    return makeSuggestion('Text', element, textContent, {\n      variant\n    });\n  }\n\n  if (canSuggest('DisplayValue', method, element.value)) {\n    return makeSuggestion('DisplayValue', element, normalize(element.value), {\n      variant\n    });\n  }\n\n  const alt = element.getAttribute('alt');\n\n  if (canSuggest('AltText', method, alt)) {\n    return makeSuggestion('AltText', element, alt, {\n      variant\n    });\n  }\n\n  const title = element.getAttribute('title');\n\n  if (canSuggest('Title', method, title)) {\n    return makeSuggestion('Title', element, title, {\n      variant\n    });\n  }\n\n  const testId = element.getAttribute(getConfig().testIdAttribute);\n\n  if (canSuggest('TestId', method, testId)) {\n    return makeSuggestion('TestId', element, testId, {\n      variant\n    });\n  }\n\n  return undefined;\n}\n\n// closer to their code (because async stack traces are hard to follow).\n\nfunction copyStackTrace(target, source) {\n  target.stack = source.stack.replace(source.message, target.message);\n}\n\nfunction waitFor(callback, _ref) {\n  let {\n    container = getDocument(),\n    timeout = getConfig().asyncUtilTimeout,\n    showOriginalStackTrace = getConfig().showOriginalStackTrace,\n    stackTraceError,\n    interval = 50,\n    onTimeout = error => {\n      error.message = getConfig().getElementError(error.message, container).message;\n      return error;\n    },\n    mutationObserverOptions = {\n      subtree: true,\n      childList: true,\n      attributes: true,\n      characterData: true\n    }\n  } = _ref;\n\n  if (typeof callback !== 'function') {\n    throw new TypeError('Received `callback` arg must be a function');\n  }\n\n  return new Promise(async (resolve, reject) => {\n    let lastError, intervalId, observer;\n    let finished = false;\n    let promiseStatus = 'idle';\n    const overallTimeoutTimer = setTimeout(handleTimeout, timeout);\n    const usingJestFakeTimers = jestFakeTimersAreEnabled();\n\n    if (usingJestFakeTimers) {\n      const {\n        unstable_advanceTimersWrapper: advanceTimersWrapper\n      } = getConfig();\n      checkCallback(); // this is a dangerous rule to disable because it could lead to an\n      // infinite loop. However, eslint isn't smart enough to know that we're\n      // setting finished inside `onDone` which will be called when we're done\n      // waiting or when we've timed out.\n      // eslint-disable-next-line no-unmodified-loop-condition\n\n      while (!finished) {\n        if (!jestFakeTimersAreEnabled()) {\n          const error = new Error(\"Changed from using fake timers to real timers while using waitFor. This is not allowed and will result in very strange behavior. Please ensure you're awaiting all async things your test is doing before changing to real timers. For more info, please go to https://github.com/testing-library/dom-testing-library/issues/830\");\n          if (!showOriginalStackTrace) copyStackTrace(error, stackTraceError);\n          reject(error);\n          return;\n        } // we *could* (maybe should?) use `advanceTimersToNextTimer` but it's\n        // possible that could make this loop go on forever if someone is using\n        // third party code that's setting up recursive timers so rapidly that\n        // the user's timer's don't get a chance to resolve. So we'll advance\n        // by an interval instead. (We have a test for this case).\n\n\n        advanceTimersWrapper(() => {\n          jest.advanceTimersByTime(interval);\n        }); // It's really important that checkCallback is run *before* we flush\n        // in-flight promises. To be honest, I'm not sure why, and I can't quite\n        // think of a way to reproduce the problem in a test, but I spent\n        // an entire day banging my head against a wall on this.\n\n        checkCallback();\n\n        if (finished) {\n          break;\n        } // In this rare case, we *need* to wait for in-flight promises\n        // to resolve before continuing. We don't need to take advantage\n        // of parallelization so we're fine.\n        // https://stackoverflow.com/a/59243586/971592\n        // eslint-disable-next-line no-await-in-loop\n\n\n        await advanceTimersWrapper(async () => {\n          await new Promise(r => {\n            setTimeout(r, 0);\n            jest.advanceTimersByTime(0);\n          });\n        });\n      }\n    } else {\n      try {\n        checkContainerType(container);\n      } catch (e) {\n        reject(e);\n        return;\n      }\n\n      intervalId = setInterval(checkRealTimersCallback, interval);\n      const {\n        MutationObserver\n      } = getWindowFromNode(container);\n      observer = new MutationObserver(checkRealTimersCallback);\n      observer.observe(container, mutationObserverOptions);\n      checkCallback();\n    }\n\n    function onDone(error, result) {\n      finished = true;\n      clearTimeout(overallTimeoutTimer);\n\n      if (!usingJestFakeTimers) {\n        clearInterval(intervalId);\n        observer.disconnect();\n      }\n\n      if (error) {\n        reject(error);\n      } else {\n        resolve(result);\n      }\n    }\n\n    function checkRealTimersCallback() {\n      if (jestFakeTimersAreEnabled()) {\n        const error = new Error(\"Changed from using real timers to fake timers while using waitFor. This is not allowed and will result in very strange behavior. Please ensure you're awaiting all async things your test is doing before changing to fake timers. For more info, please go to https://github.com/testing-library/dom-testing-library/issues/830\");\n        if (!showOriginalStackTrace) copyStackTrace(error, stackTraceError);\n        return reject(error);\n      } else {\n        return checkCallback();\n      }\n    }\n\n    function checkCallback() {\n      if (promiseStatus === 'pending') return;\n\n      try {\n        const result = runWithExpensiveErrorDiagnosticsDisabled(callback);\n\n        if (typeof (result == null ? void 0 : result.then) === 'function') {\n          promiseStatus = 'pending';\n          result.then(resolvedValue => {\n            promiseStatus = 'resolved';\n            onDone(null, resolvedValue);\n          }, rejectedValue => {\n            promiseStatus = 'rejected';\n            lastError = rejectedValue;\n          });\n        } else {\n          onDone(null, result);\n        } // If `callback` throws, wait for the next mutation, interval, or timeout.\n\n      } catch (error) {\n        // Save the most recent callback error to reject the promise with it in the event of a timeout\n        lastError = error;\n      }\n    }\n\n    function handleTimeout() {\n      let error;\n\n      if (lastError) {\n        error = lastError;\n\n        if (!showOriginalStackTrace && error.name === 'TestingLibraryElementError') {\n          copyStackTrace(error, stackTraceError);\n        }\n      } else {\n        error = new Error('Timed out in waitFor.');\n\n        if (!showOriginalStackTrace) {\n          copyStackTrace(error, stackTraceError);\n        }\n      }\n\n      onDone(onTimeout(error), null);\n    }\n  });\n}\n\nfunction waitForWrapper(callback, options) {\n  // create the error here so its stack trace is as close to the\n  // calling code as possible\n  const stackTraceError = new Error('STACK_TRACE_MESSAGE');\n  return getConfig().asyncWrapper(() => waitFor(callback, {\n    stackTraceError,\n    ...options\n  }));\n}\n/*\neslint\n  max-lines-per-function: [\"error\", {\"max\": 200}],\n*/\n\nfunction getElementError(message, container) {\n  return getConfig().getElementError(message, container);\n}\n\nfunction getMultipleElementsFoundError(message, container) {\n  return getElementError(message + \"\\n\\n(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)).\", container);\n}\n\nfunction queryAllByAttribute(attribute, container, text, _temp) {\n  let {\n    exact = true,\n    collapseWhitespace,\n    trim,\n    normalizer\n  } = _temp === void 0 ? {} : _temp;\n  const matcher = exact ? matches : fuzzyMatches;\n  const matchNormalizer = makeNormalizer({\n    collapseWhitespace,\n    trim,\n    normalizer\n  });\n  return Array.from(container.querySelectorAll(\"[\" + attribute + \"]\")).filter(node => matcher(node.getAttribute(attribute), node, text, matchNormalizer));\n}\n\nfunction queryByAttribute(attribute, container, text, options) {\n  const els = queryAllByAttribute(attribute, container, text, options);\n\n  if (els.length > 1) {\n    throw getMultipleElementsFoundError(\"Found multiple elements by [\" + attribute + \"=\" + text + \"]\", container);\n  }\n\n  return els[0] || null;\n} // this accepts a query function and returns a function which throws an error\n// if more than one elements is returned, otherwise it returns the first\n// element or null\n\n\nfunction makeSingleQuery(allQuery, getMultipleError) {\n  return function (container) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    const els = allQuery(container, ...args);\n\n    if (els.length > 1) {\n      const elementStrings = els.map(element => getElementError(null, element).message).join('\\n\\n');\n      throw getMultipleElementsFoundError(getMultipleError(container, ...args) + \"\\n\\nHere are the matching elements:\\n\\n\" + elementStrings, container);\n    }\n\n    return els[0] || null;\n  };\n}\n\nfunction getSuggestionError(suggestion, container) {\n  return getConfig().getElementError(\"A better query is available, try this:\\n\" + suggestion.toString() + \"\\n\", container);\n} // this accepts a query function and returns a function which throws an error\n// if an empty list of elements is returned\n\n\nfunction makeGetAllQuery(allQuery, getMissingError) {\n  return function (container) {\n    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n      args[_key2 - 1] = arguments[_key2];\n    }\n\n    const els = allQuery(container, ...args);\n\n    if (!els.length) {\n      throw getConfig().getElementError(getMissingError(container, ...args), container);\n    }\n\n    return els;\n  };\n} // this accepts a getter query function and returns a function which calls\n// waitFor and passing a function which invokes the getter.\n\n\nfunction makeFindQuery(getter) {\n  return (container, text, options, waitForOptions) => {\n    return waitForWrapper(() => {\n      return getter(container, text, options);\n    }, {\n      container,\n      ...waitForOptions\n    });\n  };\n}\n\nconst wrapSingleQueryWithSuggestion = (query, queryAllByName, variant) => function (container) {\n  for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n    args[_key3 - 1] = arguments[_key3];\n  }\n\n  const element = query(container, ...args);\n  const [{\n    suggest = getConfig().throwSuggestions\n  } = {}] = args.slice(-1);\n\n  if (element && suggest) {\n    const suggestion = getSuggestedQuery(element, variant);\n\n    if (suggestion && !queryAllByName.endsWith(suggestion.queryName)) {\n      throw getSuggestionError(suggestion.toString(), container);\n    }\n  }\n\n  return element;\n};\n\nconst wrapAllByQueryWithSuggestion = (query, queryAllByName, variant) => function (container) {\n  for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n    args[_key4 - 1] = arguments[_key4];\n  }\n\n  const els = query(container, ...args);\n  const [{\n    suggest = getConfig().throwSuggestions\n  } = {}] = args.slice(-1);\n\n  if (els.length && suggest) {\n    // get a unique list of all suggestion messages.  We are only going to make a suggestion if\n    // all the suggestions are the same\n    const uniqueSuggestionMessages = [...new Set(els.map(element => {\n      var _getSuggestedQuery;\n\n      return (_getSuggestedQuery = getSuggestedQuery(element, variant)) == null ? void 0 : _getSuggestedQuery.toString();\n    }))];\n\n    if ( // only want to suggest if all the els have the same suggestion.\n    uniqueSuggestionMessages.length === 1 && !queryAllByName.endsWith( // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- TODO: Can this be null at runtime?\n    getSuggestedQuery(els[0], variant).queryName)) {\n      throw getSuggestionError(uniqueSuggestionMessages[0], container);\n    }\n  }\n\n  return els;\n}; // TODO: This deviates from the published declarations\n// However, the implementation always required a dyadic (after `container`) not variadic `queryAllBy` considering the implementation of `makeFindQuery`\n// This is at least statically true and can be verified by accepting `QueryMethod`\n\n\nfunction buildQueries(queryAllBy, getMultipleError, getMissingError) {\n  const queryBy = wrapSingleQueryWithSuggestion(makeSingleQuery(queryAllBy, getMultipleError), queryAllBy.name, 'query');\n  const getAllBy = makeGetAllQuery(queryAllBy, getMissingError);\n  const getBy = makeSingleQuery(getAllBy, getMultipleError);\n  const getByWithSuggestions = wrapSingleQueryWithSuggestion(getBy, queryAllBy.name, 'get');\n  const getAllWithSuggestions = wrapAllByQueryWithSuggestion(getAllBy, queryAllBy.name.replace('query', 'get'), 'getAll');\n  const findAllBy = makeFindQuery(wrapAllByQueryWithSuggestion(getAllBy, queryAllBy.name, 'findAll'));\n  const findBy = makeFindQuery(wrapSingleQueryWithSuggestion(getBy, queryAllBy.name, 'find'));\n  return [queryBy, getAllWithSuggestions, getByWithSuggestions, findAllBy, findBy];\n}\n\nvar queryHelpers = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  getElementError: getElementError,\n  wrapAllByQueryWithSuggestion: wrapAllByQueryWithSuggestion,\n  wrapSingleQueryWithSuggestion: wrapSingleQueryWithSuggestion,\n  getMultipleElementsFoundError: getMultipleElementsFoundError,\n  queryAllByAttribute: queryAllByAttribute,\n  queryByAttribute: queryByAttribute,\n  makeSingleQuery: makeSingleQuery,\n  makeGetAllQuery: makeGetAllQuery,\n  makeFindQuery: makeFindQuery,\n  buildQueries: buildQueries\n});\n\nfunction queryAllLabels(container) {\n  return Array.from(container.querySelectorAll('label,input')).map(node => {\n    return {\n      node,\n      textToMatch: getLabelContent(node)\n    };\n  }).filter(_ref => {\n    let {\n      textToMatch\n    } = _ref;\n    return textToMatch !== null;\n  });\n}\n\nconst queryAllLabelsByText = function (container, text, _temp) {\n  let {\n    exact = true,\n    trim,\n    collapseWhitespace,\n    normalizer\n  } = _temp === void 0 ? {} : _temp;\n  const matcher = exact ? matches : fuzzyMatches;\n  const matchNormalizer = makeNormalizer({\n    collapseWhitespace,\n    trim,\n    normalizer\n  });\n  const textToMatchByLabels = queryAllLabels(container);\n  return textToMatchByLabels.filter(_ref2 => {\n    let {\n      node,\n      textToMatch\n    } = _ref2;\n    return matcher(textToMatch, node, text, matchNormalizer);\n  }).map(_ref3 => {\n    let {\n      node\n    } = _ref3;\n    return node;\n  });\n};\n\nconst queryAllByLabelText = function (container, text, _temp2) {\n  let {\n    selector = '*',\n    exact = true,\n    collapseWhitespace,\n    trim,\n    normalizer\n  } = _temp2 === void 0 ? {} : _temp2;\n  checkContainerType(container);\n  const matcher = exact ? matches : fuzzyMatches;\n  const matchNormalizer = makeNormalizer({\n    collapseWhitespace,\n    trim,\n    normalizer\n  });\n  const matchingLabelledElements = Array.from(container.querySelectorAll('*')).filter(element => {\n    return getRealLabels(element).length || element.hasAttribute('aria-labelledby');\n  }).reduce((labelledElements, labelledElement) => {\n    const labelList = getLabels(container, labelledElement, {\n      selector\n    });\n    labelList.filter(label => Boolean(label.formControl)).forEach(label => {\n      if (matcher(label.content, label.formControl, text, matchNormalizer) && label.formControl) labelledElements.push(label.formControl);\n    });\n    const labelsValue = labelList.filter(label => Boolean(label.content)).map(label => label.content);\n    if (matcher(labelsValue.join(' '), labelledElement, text, matchNormalizer)) labelledElements.push(labelledElement);\n\n    if (labelsValue.length > 1) {\n      labelsValue.forEach((labelValue, index) => {\n        if (matcher(labelValue, labelledElement, text, matchNormalizer)) labelledElements.push(labelledElement);\n        const labelsFiltered = [...labelsValue];\n        labelsFiltered.splice(index, 1);\n\n        if (labelsFiltered.length > 1) {\n          if (matcher(labelsFiltered.join(' '), labelledElement, text, matchNormalizer)) labelledElements.push(labelledElement);\n        }\n      });\n    }\n\n    return labelledElements;\n  }, []).concat(queryAllByAttribute('aria-label', container, text, {\n    exact,\n    normalizer: matchNormalizer\n  }));\n  return Array.from(new Set(matchingLabelledElements)).filter(element => element.matches(selector));\n}; // the getAll* query would normally look like this:\n// const getAllByLabelText = makeGetAllQuery(\n//   queryAllByLabelText,\n//   (c, text) => `Unable to find a label with the text of: ${text}`,\n// )\n// however, we can give a more helpful error message than the generic one,\n// so we're writing this one out by hand.\n\n\nconst getAllByLabelText = function (container, text) {\n  for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n    rest[_key - 2] = arguments[_key];\n  }\n\n  const els = queryAllByLabelText(container, text, ...rest);\n\n  if (!els.length) {\n    const labels = queryAllLabelsByText(container, text, ...rest);\n\n    if (labels.length) {\n      const tagNames = labels.map(label => getTagNameOfElementAssociatedWithLabelViaFor(container, label)).filter(tagName => !!tagName);\n\n      if (tagNames.length) {\n        throw getConfig().getElementError(tagNames.map(tagName => \"Found a label with the text of: \" + text + \", however the element associated with this label (<\" + tagName + \" />) is non-labellable [https://html.spec.whatwg.org/multipage/forms.html#category-label]. If you really need to label a <\" + tagName + \" />, you can use aria-label or aria-labelledby instead.\").join('\\n\\n'), container);\n      } else {\n        throw getConfig().getElementError(\"Found a label with the text of: \" + text + \", however no form control was found associated to that label. Make sure you're using the \\\"for\\\" attribute or \\\"aria-labelledby\\\" attribute correctly.\", container);\n      }\n    } else {\n      throw getConfig().getElementError(\"Unable to find a label with the text of: \" + text, container);\n    }\n  }\n\n  return els;\n};\n\nfunction getTagNameOfElementAssociatedWithLabelViaFor(container, label) {\n  const htmlFor = label.getAttribute('for');\n\n  if (!htmlFor) {\n    return null;\n  }\n\n  const element = container.querySelector(\"[id=\\\"\" + htmlFor + \"\\\"]\");\n  return element ? element.tagName.toLowerCase() : null;\n} // the reason mentioned above is the same reason we're not using buildQueries\n\n\nconst getMultipleError$7 = (c, text) => \"Found multiple elements with the text of: \" + text;\n\nconst queryByLabelText = wrapSingleQueryWithSuggestion(makeSingleQuery(queryAllByLabelText, getMultipleError$7), queryAllByLabelText.name, 'query');\nconst getByLabelText = makeSingleQuery(getAllByLabelText, getMultipleError$7);\nconst findAllByLabelText = makeFindQuery(wrapAllByQueryWithSuggestion(getAllByLabelText, getAllByLabelText.name, 'findAll'));\nconst findByLabelText = makeFindQuery(wrapSingleQueryWithSuggestion(getByLabelText, getAllByLabelText.name, 'find'));\nconst getAllByLabelTextWithSuggestions = wrapAllByQueryWithSuggestion(getAllByLabelText, getAllByLabelText.name, 'getAll');\nconst getByLabelTextWithSuggestions = wrapSingleQueryWithSuggestion(getByLabelText, getAllByLabelText.name, 'get');\nconst queryAllByLabelTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByLabelText, queryAllByLabelText.name, 'queryAll');\n\nconst queryAllByPlaceholderText = function () {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  checkContainerType(args[0]);\n  return queryAllByAttribute('placeholder', ...args);\n};\n\nconst getMultipleError$6 = (c, text) => \"Found multiple elements with the placeholder text of: \" + text;\n\nconst getMissingError$6 = (c, text) => \"Unable to find an element with the placeholder text of: \" + text;\n\nconst queryAllByPlaceholderTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByPlaceholderText, queryAllByPlaceholderText.name, 'queryAll');\nconst [queryByPlaceholderText, getAllByPlaceholderText, getByPlaceholderText, findAllByPlaceholderText, findByPlaceholderText] = buildQueries(queryAllByPlaceholderText, getMultipleError$6, getMissingError$6);\n\nconst queryAllByText = function (container, text, _temp) {\n  let {\n    selector = '*',\n    exact = true,\n    collapseWhitespace,\n    trim,\n    ignore = getConfig().defaultIgnore,\n    normalizer\n  } = _temp === void 0 ? {} : _temp;\n  checkContainerType(container);\n  const matcher = exact ? matches : fuzzyMatches;\n  const matchNormalizer = makeNormalizer({\n    collapseWhitespace,\n    trim,\n    normalizer\n  });\n  let baseArray = [];\n\n  if (typeof container.matches === 'function' && container.matches(selector)) {\n    baseArray = [container];\n  }\n\n  return [...baseArray, ...Array.from(container.querySelectorAll(selector))] // TODO: `matches` according lib.dom.d.ts can get only `string` but according our code it can handle also boolean :)\n  .filter(node => !ignore || !node.matches(ignore)).filter(node => matcher(getNodeText(node), node, text, matchNormalizer));\n};\n\nconst getMultipleError$5 = (c, text) => \"Found multiple elements with the text: \" + text;\n\nconst getMissingError$5 = function (c, text, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  const {\n    collapseWhitespace,\n    trim,\n    normalizer\n  } = options;\n  const matchNormalizer = makeNormalizer({\n    collapseWhitespace,\n    trim,\n    normalizer\n  });\n  const normalizedText = matchNormalizer(text.toString());\n  const isNormalizedDifferent = normalizedText !== text.toString();\n  return \"Unable to find an element with the text: \" + (isNormalizedDifferent ? normalizedText + \" (normalized from '\" + text + \"')\" : text) + \". This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\";\n};\n\nconst queryAllByTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByText, queryAllByText.name, 'queryAll');\nconst [queryByText, getAllByText, getByText, findAllByText, findByText] = buildQueries(queryAllByText, getMultipleError$5, getMissingError$5);\n\nconst queryAllByDisplayValue = function (container, value, _temp) {\n  let {\n    exact = true,\n    collapseWhitespace,\n    trim,\n    normalizer\n  } = _temp === void 0 ? {} : _temp;\n  checkContainerType(container);\n  const matcher = exact ? matches : fuzzyMatches;\n  const matchNormalizer = makeNormalizer({\n    collapseWhitespace,\n    trim,\n    normalizer\n  });\n  return Array.from(container.querySelectorAll(\"input,textarea,select\")).filter(node => {\n    if (node.tagName === 'SELECT') {\n      const selectedOptions = Array.from(node.options).filter(option => option.selected);\n      return selectedOptions.some(optionNode => matcher(getNodeText(optionNode), optionNode, value, matchNormalizer));\n    } else {\n      return matcher(node.value, node, value, matchNormalizer);\n    }\n  });\n};\n\nconst getMultipleError$4 = (c, value) => \"Found multiple elements with the display value: \" + value + \".\";\n\nconst getMissingError$4 = (c, value) => \"Unable to find an element with the display value: \" + value + \".\";\n\nconst queryAllByDisplayValueWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByDisplayValue, queryAllByDisplayValue.name, 'queryAll');\nconst [queryByDisplayValue, getAllByDisplayValue, getByDisplayValue, findAllByDisplayValue, findByDisplayValue] = buildQueries(queryAllByDisplayValue, getMultipleError$4, getMissingError$4);\n\nconst VALID_TAG_REGEXP = /^(img|input|area|.+-.+)$/i;\n\nconst queryAllByAltText = function (container, alt, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  checkContainerType(container);\n  return queryAllByAttribute('alt', container, alt, options).filter(node => VALID_TAG_REGEXP.test(node.tagName));\n};\n\nconst getMultipleError$3 = (c, alt) => \"Found multiple elements with the alt text: \" + alt;\n\nconst getMissingError$3 = (c, alt) => \"Unable to find an element with the alt text: \" + alt;\n\nconst queryAllByAltTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByAltText, queryAllByAltText.name, 'queryAll');\nconst [queryByAltText, getAllByAltText, getByAltText, findAllByAltText, findByAltText] = buildQueries(queryAllByAltText, getMultipleError$3, getMissingError$3);\n\nconst isSvgTitle = node => {\n  var _node$parentElement;\n\n  return node.tagName.toLowerCase() === 'title' && ((_node$parentElement = node.parentElement) == null ? void 0 : _node$parentElement.tagName.toLowerCase()) === 'svg';\n};\n\nconst queryAllByTitle = function (container, text, _temp) {\n  let {\n    exact = true,\n    collapseWhitespace,\n    trim,\n    normalizer\n  } = _temp === void 0 ? {} : _temp;\n  checkContainerType(container);\n  const matcher = exact ? matches : fuzzyMatches;\n  const matchNormalizer = makeNormalizer({\n    collapseWhitespace,\n    trim,\n    normalizer\n  });\n  return Array.from(container.querySelectorAll('[title], svg > title')).filter(node => matcher(node.getAttribute('title'), node, text, matchNormalizer) || isSvgTitle(node) && matcher(getNodeText(node), node, text, matchNormalizer));\n};\n\nconst getMultipleError$2 = (c, title) => \"Found multiple elements with the title: \" + title + \".\";\n\nconst getMissingError$2 = (c, title) => \"Unable to find an element with the title: \" + title + \".\";\n\nconst queryAllByTitleWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByTitle, queryAllByTitle.name, 'queryAll');\nconst [queryByTitle, getAllByTitle, getByTitle, findAllByTitle, findByTitle] = buildQueries(queryAllByTitle, getMultipleError$2, getMissingError$2);\n\nfunction queryAllByRole(container, role, _temp) {\n  let {\n    exact = true,\n    collapseWhitespace,\n    hidden = getConfig().defaultHidden,\n    name,\n    description,\n    trim,\n    normalizer,\n    queryFallbacks = false,\n    selected,\n    checked,\n    pressed,\n    current,\n    level,\n    expanded\n  } = _temp === void 0 ? {} : _temp;\n  checkContainerType(container);\n  const matcher = exact ? matches : fuzzyMatches;\n  const matchNormalizer = makeNormalizer({\n    collapseWhitespace,\n    trim,\n    normalizer\n  });\n\n  if (selected !== undefined) {\n    var _allRoles$get;\n\n    // guard against unknown roles\n    if (((_allRoles$get = roles.get(role)) == null ? void 0 : _allRoles$get.props['aria-selected']) === undefined) {\n      throw new Error(\"\\\"aria-selected\\\" is not supported on role \\\"\" + role + \"\\\".\");\n    }\n  }\n\n  if (checked !== undefined) {\n    var _allRoles$get2;\n\n    // guard against unknown roles\n    if (((_allRoles$get2 = roles.get(role)) == null ? void 0 : _allRoles$get2.props['aria-checked']) === undefined) {\n      throw new Error(\"\\\"aria-checked\\\" is not supported on role \\\"\" + role + \"\\\".\");\n    }\n  }\n\n  if (pressed !== undefined) {\n    var _allRoles$get3;\n\n    // guard against unknown roles\n    if (((_allRoles$get3 = roles.get(role)) == null ? void 0 : _allRoles$get3.props['aria-pressed']) === undefined) {\n      throw new Error(\"\\\"aria-pressed\\\" is not supported on role \\\"\" + role + \"\\\".\");\n    }\n  }\n\n  if (current !== undefined) {\n    var _allRoles$get4;\n\n    /* istanbul ignore next */\n    // guard against unknown roles\n    // All currently released ARIA versions support `aria-current` on all roles.\n    // Leaving this for symetry and forward compatibility\n    if (((_allRoles$get4 = roles.get(role)) == null ? void 0 : _allRoles$get4.props['aria-current']) === undefined) {\n      throw new Error(\"\\\"aria-current\\\" is not supported on role \\\"\" + role + \"\\\".\");\n    }\n  }\n\n  if (level !== undefined) {\n    // guard against using `level` option with any role other than `heading`\n    if (role !== 'heading') {\n      throw new Error(\"Role \\\"\" + role + \"\\\" cannot have \\\"level\\\" property.\");\n    }\n  }\n\n  if (expanded !== undefined) {\n    var _allRoles$get5;\n\n    // guard against unknown roles\n    if (((_allRoles$get5 = roles.get(role)) == null ? void 0 : _allRoles$get5.props['aria-expanded']) === undefined) {\n      throw new Error(\"\\\"aria-expanded\\\" is not supported on role \\\"\" + role + \"\\\".\");\n    }\n  }\n\n  const subtreeIsInaccessibleCache = new WeakMap();\n\n  function cachedIsSubtreeInaccessible(element) {\n    if (!subtreeIsInaccessibleCache.has(element)) {\n      subtreeIsInaccessibleCache.set(element, isSubtreeInaccessible(element));\n    }\n\n    return subtreeIsInaccessibleCache.get(element);\n  }\n\n  return Array.from(container.querySelectorAll( // Only query elements that can be matched by the following filters\n  makeRoleSelector(role, exact, normalizer ? matchNormalizer : undefined))).filter(node => {\n    const isRoleSpecifiedExplicitly = node.hasAttribute('role');\n\n    if (isRoleSpecifiedExplicitly) {\n      const roleValue = node.getAttribute('role');\n\n      if (queryFallbacks) {\n        return roleValue.split(' ').filter(Boolean).some(text => matcher(text, node, role, matchNormalizer));\n      } // if a custom normalizer is passed then let normalizer handle the role value\n\n\n      if (normalizer) {\n        return matcher(roleValue, node, role, matchNormalizer);\n      } // other wise only send the first word to match\n\n\n      const [firstWord] = roleValue.split(' ');\n      return matcher(firstWord, node, role, matchNormalizer);\n    }\n\n    const implicitRoles = getImplicitAriaRoles(node);\n    return implicitRoles.some(implicitRole => matcher(implicitRole, node, role, matchNormalizer));\n  }).filter(element => {\n    if (selected !== undefined) {\n      return selected === computeAriaSelected(element);\n    }\n\n    if (checked !== undefined) {\n      return checked === computeAriaChecked(element);\n    }\n\n    if (pressed !== undefined) {\n      return pressed === computeAriaPressed(element);\n    }\n\n    if (current !== undefined) {\n      return current === computeAriaCurrent(element);\n    }\n\n    if (expanded !== undefined) {\n      return expanded === computeAriaExpanded(element);\n    }\n\n    if (level !== undefined) {\n      return level === computeHeadingLevel(element);\n    } // don't care if aria attributes are unspecified\n\n\n    return true;\n  }).filter(element => {\n    if (name === undefined) {\n      // Don't care\n      return true;\n    }\n\n    return matches(computeAccessibleName(element, {\n      computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n    }), element, name, text => text);\n  }).filter(element => {\n    if (description === undefined) {\n      // Don't care\n      return true;\n    }\n\n    return matches(computeAccessibleDescription(element, {\n      computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n    }), element, description, text => text);\n  }).filter(element => {\n    return hidden === false ? isInaccessible(element, {\n      isSubtreeInaccessible: cachedIsSubtreeInaccessible\n    }) === false : true;\n  });\n}\n\nfunction makeRoleSelector(role, exact, customNormalizer) {\n  var _roleElements$get;\n\n  if (typeof role !== 'string') {\n    // For non-string role parameters we can not determine the implicitRoleSelectors.\n    return '*';\n  }\n\n  const explicitRoleSelector = exact && !customNormalizer ? \"*[role~=\\\"\" + role + \"\\\"]\" : '*[role]';\n  const roleRelations = (_roleElements$get = roleElements.get(role)) != null ? _roleElements$get : new Set();\n  const implicitRoleSelectors = new Set(Array.from(roleRelations).map(_ref => {\n    let {\n      name\n    } = _ref;\n    return name;\n  })); // Current transpilation config sometimes assumes `...` is always applied to arrays.\n  // `...` is equivalent to `Array.prototype.concat` for arrays.\n  // If you replace this code with `[explicitRoleSelector, ...implicitRoleSelectors]`, make sure every transpilation target retains the `...` in favor of `Array.prototype.concat`.\n\n  return [explicitRoleSelector].concat(Array.from(implicitRoleSelectors)).join(',');\n}\n\nconst getNameHint = name => {\n  let nameHint = '';\n\n  if (name === undefined) {\n    nameHint = '';\n  } else if (typeof name === 'string') {\n    nameHint = \" and name \\\"\" + name + \"\\\"\";\n  } else {\n    nameHint = \" and name `\" + name + \"`\";\n  }\n\n  return nameHint;\n};\n\nconst getMultipleError$1 = function (c, role, _temp2) {\n  let {\n    name\n  } = _temp2 === void 0 ? {} : _temp2;\n  return \"Found multiple elements with the role \\\"\" + role + \"\\\"\" + getNameHint(name);\n};\n\nconst getMissingError$1 = function (container, role, _temp3) {\n  let {\n    hidden = getConfig().defaultHidden,\n    name,\n    description\n  } = _temp3 === void 0 ? {} : _temp3;\n\n  if (getConfig()._disableExpensiveErrorDiagnostics) {\n    return \"Unable to find role=\\\"\" + role + \"\\\"\" + getNameHint(name);\n  }\n\n  let roles = '';\n  Array.from(container.children).forEach(childElement => {\n    roles += prettyRoles(childElement, {\n      hidden,\n      includeDescription: description !== undefined\n    });\n  });\n  let roleMessage;\n\n  if (roles.length === 0) {\n    if (hidden === false) {\n      roleMessage = 'There are no accessible roles. But there might be some inaccessible roles. ' + 'If you wish to access them, then set the `hidden` option to `true`. ' + 'Learn more about this here: https://testing-library.com/docs/dom-testing-library/api-queries#byrole';\n    } else {\n      roleMessage = 'There are no available roles.';\n    }\n  } else {\n    roleMessage = (\"\\nHere are the \" + (hidden === false ? 'accessible' : 'available') + \" roles:\\n\\n  \" + roles.replace(/\\n/g, '\\n  ').replace(/\\n\\s\\s\\n/g, '\\n\\n') + \"\\n\").trim();\n  }\n\n  let nameHint = '';\n\n  if (name === undefined) {\n    nameHint = '';\n  } else if (typeof name === 'string') {\n    nameHint = \" and name \\\"\" + name + \"\\\"\";\n  } else {\n    nameHint = \" and name `\" + name + \"`\";\n  }\n\n  let descriptionHint = '';\n\n  if (description === undefined) {\n    descriptionHint = '';\n  } else if (typeof description === 'string') {\n    descriptionHint = \" and description \\\"\" + description + \"\\\"\";\n  } else {\n    descriptionHint = \" and description `\" + description + \"`\";\n  }\n\n  return (\"\\nUnable to find an \" + (hidden === false ? 'accessible ' : '') + \"element with the role \\\"\" + role + \"\\\"\" + nameHint + descriptionHint + \"\\n\\n\" + roleMessage).trim();\n};\n\nconst queryAllByRoleWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByRole, queryAllByRole.name, 'queryAll');\nconst [queryByRole, getAllByRole, getByRole, findAllByRole, findByRole] = buildQueries(queryAllByRole, getMultipleError$1, getMissingError$1);\n\nconst getTestIdAttribute = () => getConfig().testIdAttribute;\n\nconst queryAllByTestId = function () {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  checkContainerType(args[0]);\n  return queryAllByAttribute(getTestIdAttribute(), ...args);\n};\n\nconst getMultipleError = (c, id) => \"Found multiple elements by: [\" + getTestIdAttribute() + \"=\\\"\" + id + \"\\\"]\";\n\nconst getMissingError = (c, id) => \"Unable to find an element by: [\" + getTestIdAttribute() + \"=\\\"\" + id + \"\\\"]\";\n\nconst queryAllByTestIdWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByTestId, queryAllByTestId.name, 'queryAll');\nconst [queryByTestId, getAllByTestId, getByTestId, findAllByTestId, findByTestId] = buildQueries(queryAllByTestId, getMultipleError, getMissingError);\n\nvar queries = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  queryAllByLabelText: queryAllByLabelTextWithSuggestions,\n  queryByLabelText: queryByLabelText,\n  getAllByLabelText: getAllByLabelTextWithSuggestions,\n  getByLabelText: getByLabelTextWithSuggestions,\n  findAllByLabelText: findAllByLabelText,\n  findByLabelText: findByLabelText,\n  queryByPlaceholderText: queryByPlaceholderText,\n  queryAllByPlaceholderText: queryAllByPlaceholderTextWithSuggestions,\n  getByPlaceholderText: getByPlaceholderText,\n  getAllByPlaceholderText: getAllByPlaceholderText,\n  findAllByPlaceholderText: findAllByPlaceholderText,\n  findByPlaceholderText: findByPlaceholderText,\n  queryByText: queryByText,\n  queryAllByText: queryAllByTextWithSuggestions,\n  getByText: getByText,\n  getAllByText: getAllByText,\n  findAllByText: findAllByText,\n  findByText: findByText,\n  queryByDisplayValue: queryByDisplayValue,\n  queryAllByDisplayValue: queryAllByDisplayValueWithSuggestions,\n  getByDisplayValue: getByDisplayValue,\n  getAllByDisplayValue: getAllByDisplayValue,\n  findAllByDisplayValue: findAllByDisplayValue,\n  findByDisplayValue: findByDisplayValue,\n  queryByAltText: queryByAltText,\n  queryAllByAltText: queryAllByAltTextWithSuggestions,\n  getByAltText: getByAltText,\n  getAllByAltText: getAllByAltText,\n  findAllByAltText: findAllByAltText,\n  findByAltText: findByAltText,\n  queryByTitle: queryByTitle,\n  queryAllByTitle: queryAllByTitleWithSuggestions,\n  getByTitle: getByTitle,\n  getAllByTitle: getAllByTitle,\n  findAllByTitle: findAllByTitle,\n  findByTitle: findByTitle,\n  queryByRole: queryByRole,\n  queryAllByRole: queryAllByRoleWithSuggestions,\n  getAllByRole: getAllByRole,\n  getByRole: getByRole,\n  findAllByRole: findAllByRole,\n  findByRole: findByRole,\n  queryByTestId: queryByTestId,\n  queryAllByTestId: queryAllByTestIdWithSuggestions,\n  getByTestId: getByTestId,\n  getAllByTestId: getAllByTestId,\n  findAllByTestId: findAllByTestId,\n  findByTestId: findByTestId\n});\n\n/**\n * @typedef {{[key: string]: Function}} FuncMap\n */\n\n/**\n * @param {HTMLElement} element container\n * @param {FuncMap} queries object of functions\n * @param {Object} initialValue for reducer\n * @returns {FuncMap} returns object of functions bound to container\n */\n\nfunction getQueriesForElement(element, queries$1, initialValue) {\n  if (queries$1 === void 0) {\n    queries$1 = queries;\n  }\n\n  if (initialValue === void 0) {\n    initialValue = {};\n  }\n\n  return Object.keys(queries$1).reduce((helpers, key) => {\n    const fn = queries$1[key];\n    helpers[key] = fn.bind(null, element);\n    return helpers;\n  }, initialValue);\n}\n\nconst isRemoved = result => !result || Array.isArray(result) && !result.length; // Check if the element is not present.\n// As the name implies, waitForElementToBeRemoved should check `present` --> `removed`\n\n\nfunction initialCheck(elements) {\n  if (isRemoved(elements)) {\n    throw new Error('The element(s) given to waitForElementToBeRemoved are already removed. waitForElementToBeRemoved requires that the element(s) exist(s) before waiting for removal.');\n  }\n}\n\nasync function waitForElementToBeRemoved(callback, options) {\n  // created here so we get a nice stacktrace\n  const timeoutError = new Error('Timed out in waitForElementToBeRemoved.');\n\n  if (typeof callback !== 'function') {\n    initialCheck(callback);\n    const elements = Array.isArray(callback) ? callback : [callback];\n    const getRemainingElements = elements.map(element => {\n      let parent = element.parentElement;\n      if (parent === null) return () => null;\n\n      while (parent.parentElement) parent = parent.parentElement;\n\n      return () => parent.contains(element) ? element : null;\n    });\n\n    callback = () => getRemainingElements.map(c => c()).filter(Boolean);\n  }\n\n  initialCheck(callback());\n  return waitForWrapper(() => {\n    let result;\n\n    try {\n      result = callback();\n    } catch (error) {\n      if (error.name === 'TestingLibraryElementError') {\n        return undefined;\n      }\n\n      throw error;\n    }\n\n    if (!isRemoved(result)) {\n      throw timeoutError;\n    }\n\n    return undefined;\n  }, options);\n}\n/*\neslint\n  require-await: \"off\"\n*/\n\nconst eventMap = {\n  // Clipboard Events\n  copy: {\n    EventType: 'ClipboardEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  cut: {\n    EventType: 'ClipboardEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  paste: {\n    EventType: 'ClipboardEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  // Composition Events\n  compositionEnd: {\n    EventType: 'CompositionEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  compositionStart: {\n    EventType: 'CompositionEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  compositionUpdate: {\n    EventType: 'CompositionEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  // Keyboard Events\n  keyDown: {\n    EventType: 'KeyboardEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      charCode: 0,\n      composed: true\n    }\n  },\n  keyPress: {\n    EventType: 'KeyboardEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      charCode: 0,\n      composed: true\n    }\n  },\n  keyUp: {\n    EventType: 'KeyboardEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      charCode: 0,\n      composed: true\n    }\n  },\n  // Focus Events\n  focus: {\n    EventType: 'FocusEvent',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false,\n      composed: true\n    }\n  },\n  blur: {\n    EventType: 'FocusEvent',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false,\n      composed: true\n    }\n  },\n  focusIn: {\n    EventType: 'FocusEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    }\n  },\n  focusOut: {\n    EventType: 'FocusEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    }\n  },\n  // Form Events\n  change: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: true,\n      cancelable: false\n    }\n  },\n  input: {\n    EventType: 'InputEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    }\n  },\n  invalid: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: true\n    }\n  },\n  submit: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true\n    }\n  },\n  reset: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true\n    }\n  },\n  // Mouse Events\n  click: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      button: 0,\n      composed: true\n    }\n  },\n  contextMenu: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  dblClick: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  drag: {\n    EventType: 'DragEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  dragEnd: {\n    EventType: 'DragEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    }\n  },\n  dragEnter: {\n    EventType: 'DragEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  dragExit: {\n    EventType: 'DragEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    }\n  },\n  dragLeave: {\n    EventType: 'DragEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    }\n  },\n  dragOver: {\n    EventType: 'DragEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  dragStart: {\n    EventType: 'DragEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  drop: {\n    EventType: 'DragEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  mouseDown: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  mouseEnter: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false,\n      composed: true\n    }\n  },\n  mouseLeave: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false,\n      composed: true\n    }\n  },\n  mouseMove: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  mouseOut: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  mouseOver: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  mouseUp: {\n    EventType: 'MouseEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  // Selection Events\n  select: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: true,\n      cancelable: false\n    }\n  },\n  // Touch Events\n  touchCancel: {\n    EventType: 'TouchEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    }\n  },\n  touchEnd: {\n    EventType: 'TouchEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  touchMove: {\n    EventType: 'TouchEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  touchStart: {\n    EventType: 'TouchEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  // UI Events\n  resize: {\n    EventType: 'UIEvent',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  scroll: {\n    EventType: 'UIEvent',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  // Wheel Events\n  wheel: {\n    EventType: 'WheelEvent',\n    defaultInit: {\n      bubbles: true,\n      cancelable: true,\n      composed: true\n    }\n  },\n  // Media Events\n  abort: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  canPlay: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  canPlayThrough: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  durationChange: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  emptied: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  encrypted: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  ended: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  loadedData: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  loadedMetadata: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  loadStart: {\n    EventType: 'ProgressEvent',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  pause: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  play: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  playing: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  progress: {\n    EventType: 'ProgressEvent',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  rateChange: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  seeked: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  seeking: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  stalled: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  suspend: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  timeUpdate: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  volumeChange: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  waiting: {\n    EventType: 'Event',\n    defaultInit: {\n      bubbles: false,\n      cancelable: false\n    }\n  },\n  // Events\n  load: {\n    // TODO: load events can be UIEvent or Event depending on what generated them\n    // This is were this abstraction breaks down.\n    // But the common targets are ,