1 line
No EOL
2 MiB
1 line
No EOL
2 MiB
{"version":3,"file":"axe-SSuQgRHN.js","sources":["../../node_modules/axe-core/axe.js"],"sourcesContent":["/*! axe v4.9.1\n * Copyright (c) 2015 - 2024 Deque Systems, Inc.\n *\n * Your use of this Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n *\n * This entire copyright notice must appear in every copy of this file you\n * distribute or in any file that contains substantial portions of this source\n * code.\n */\n(function axeFunction(window) {\n var global = window;\n var document = window.document;\n 'use strict';\n function _typeof(o) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(o) {\n return typeof o;\n } : function(o) {\n return o && 'function' == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? 'symbol' : typeof o;\n }, _typeof(o);\n }\n var axe = axe || {};\n axe.version = '4.9.1';\n if (typeof define === 'function' && define.amd) {\n define('axe-core', [], function() {\n return axe;\n });\n }\n if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object' && module.exports && typeof axeFunction.toString === 'function') {\n axe.source = '(' + axeFunction.toString() + ')(typeof window === \"object\" ? window : this);';\n module.exports = axe;\n }\n if (typeof window.getComputedStyle === 'function') {\n window.axe = axe;\n }\n var commons;\n function SupportError(error) {\n this.name = 'SupportError';\n this.cause = error.cause;\n this.message = '`'.concat(error.cause, '` - feature unsupported in your environment.');\n if (error.ruleId) {\n this.ruleId = error.ruleId;\n this.message += ' Skipping '.concat(this.ruleId, ' rule.');\n }\n this.stack = new Error().stack;\n }\n SupportError.prototype = Object.create(Error.prototype);\n SupportError.prototype.constructor = SupportError;\n 'use strict';\n var _excluded = [ 'node' ], _excluded2 = [ 'relatedNodes' ], _excluded3 = [ 'node' ], _excluded4 = [ 'variant' ], _excluded5 = [ 'matches' ], _excluded6 = [ 'chromium' ], _excluded7 = [ 'noImplicit' ], _excluded8 = [ 'noPresentational' ], _excluded9 = [ 'precision', 'format', 'inGamut' ], _excluded10 = [ 'space' ], _excluded11 = [ 'algorithm' ], _excluded12 = [ 'method' ], _excluded13 = [ 'maxDeltaE', 'deltaEMethod', 'steps', 'maxSteps' ], _excluded14 = [ 'node' ], _excluded15 = [ 'environmentData' ], _excluded16 = [ 'environmentData' ], _excluded17 = [ 'environmentData' ], _excluded18 = [ 'environmentData' ], _excluded19 = [ 'environmentData' ];\n function _toArray(arr) {\n return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _construct(t, e, r) {\n if (_isNativeReflectConstruct()) {\n return Reflect.construct.apply(null, arguments);\n }\n var o = [ null ];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && _setPrototypeOf(p, r.prototype), p;\n }\n function _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n }\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === 'object' || typeof call === 'function')) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError('Derived constructors may only return object or undefined');\n }\n return _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError('this hasn\\'t been initialised - super() hasn\\'t been called');\n }\n return self;\n }\n function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n }\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function');\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, 'prototype', {\n writable: false\n });\n if (superClass) {\n _setPrototypeOf(subClass, superClass);\n }\n }\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n function _classPrivateFieldInitSpec(obj, privateMap, value) {\n _checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n }\n function _classPrivateMethodInitSpec(obj, privateSet) {\n _checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n }\n function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError('Cannot initialize the same private elements twice on an object');\n }\n }\n function _classPrivateFieldGet(s, a) {\n return s.get(_assertClassBrand(s, a));\n }\n function _classPrivateFieldSet(s, a, r) {\n return s.set(_assertClassBrand(s, a), r), r;\n }\n function _assertClassBrand(e, t, n) {\n if ('function' == typeof e ? e === t : e.has(t)) {\n return arguments.length < 3 ? t : n;\n }\n throw new TypeError('Private element is not present on this object');\n }\n function _objectWithoutProperties(source, excluded) {\n if (source == null) {\n return {};\n }\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) {\n continue;\n }\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\n continue;\n }\n target[key] = source[key];\n }\n }\n return target;\n }\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) {\n return {};\n }\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) {\n continue;\n }\n target[key] = source[key];\n }\n return target;\n }\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n function _nonIterableSpread() {\n throw new TypeError('Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n }\n function _iterableToArray(iter) {\n if (typeof Symbol !== 'undefined' && iter[Symbol.iterator] != null || iter['@@iterator'] != null) {\n return Array.from(iter);\n }\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n return _arrayLikeToArray(arr);\n }\n }\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n function _nonIterableRest() {\n throw new TypeError('Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n }\n function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : 'undefined' != typeof Symbol && r[Symbol.iterator] || r['@@iterator'];\n if (null != t) {\n var e, n, i, u, a = [], f = !0, o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) {\n return;\n }\n f = !1;\n } else {\n for (;!(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) {}\n }\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t['return'] && (u = t['return'](), Object(u) !== u)) {\n return;\n }\n } finally {\n if (o) {\n throw n;\n }\n }\n }\n return a;\n }\n }\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) {\n return arr;\n }\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor) {\n descriptor.writable = true;\n }\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) {\n _defineProperties(Constructor.prototype, protoProps);\n }\n if (staticProps) {\n _defineProperties(Constructor, staticProps);\n }\n Object.defineProperty(Constructor, 'prototype', {\n writable: false\n });\n return Constructor;\n }\n function _toPropertyKey(t) {\n var i = _toPrimitive(t, 'string');\n return 'symbol' == _typeof(i) ? i : i + '';\n }\n function _toPrimitive(t, r) {\n if ('object' != _typeof(t) || !t) {\n return t;\n }\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || 'default');\n if ('object' != _typeof(i)) {\n return i;\n }\n throw new TypeError('@@toPrimitive must return a primitive value.');\n }\n return ('string' === r ? String : Number)(t);\n }\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== 'undefined' && o[Symbol.iterator] || o['@@iterator'];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === 'number') {\n if (it) {\n o = it;\n }\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) {\n return {\n done: true\n };\n }\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError('Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n }\n var normalCompletion = true, didErr = false, err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it['return'] != null) {\n it['return']();\n }\n } finally {\n if (didErr) {\n throw err;\n }\n }\n }\n };\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) {\n return;\n }\n if (typeof o === 'string') {\n return _arrayLikeToArray(o, minLen);\n }\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === 'Object' && o.constructor) {\n n = o.constructor.name;\n }\n if (n === 'Map' || n === 'Set') {\n return Array.from(o);\n }\n if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\n return _arrayLikeToArray(o, minLen);\n }\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) {\n len = arr.length;\n }\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n }\n function _typeof(o) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(o) {\n return typeof o;\n } : function(o) {\n return o && 'function' == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? 'symbol' : typeof o;\n }, _typeof(o);\n }\n (function(_Class_brand, _path, _space, _r, _g, _b, _red, _green, _blue, _Class3_brand) {\n var __create = Object.create;\n var __defProp = Object.defineProperty;\n var __getProtoOf = Object.getPrototypeOf;\n var __hasOwnProp = Object.prototype.hasOwnProperty;\n var __getOwnPropNames = Object.getOwnPropertyNames;\n var __getOwnPropDesc = Object.getOwnPropertyDescriptor;\n var __defNormalProp = function __defNormalProp(obj, key, value) {\n return key in obj ? __defProp(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: value\n }) : obj[key] = value;\n };\n var __markAsModule = function __markAsModule(target) {\n return __defProp(target, '__esModule', {\n value: true\n });\n };\n var __commonJS = function __commonJS(cb, mod) {\n return function() {\n return mod || cb((mod = {\n exports: {}\n }).exports, mod), mod.exports;\n };\n };\n var __export = function __export(target, all) {\n for (var name in all) {\n __defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n }\n };\n var __exportStar = function __exportStar(target, module, desc) {\n if (module && _typeof(module) === 'object' || typeof module === 'function') {\n var _iterator = _createForOfIteratorHelper(__getOwnPropNames(module)), _step;\n try {\n var _loop = function _loop() {\n var key = _step.value;\n if (!__hasOwnProp.call(target, key) && key !== 'default') {\n __defProp(target, key, {\n get: function get() {\n return module[key];\n },\n enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable\n });\n }\n };\n for (_iterator.s(); !(_step = _iterator.n()).done; ) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n return target;\n };\n var __toModule = function __toModule(module) {\n return __exportStar(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, 'default', module && module.__esModule && 'default' in module ? {\n get: function get() {\n return module['default'];\n },\n enumerable: true\n } : {\n value: module,\n enumerable: true\n })), module);\n };\n var __publicField = function __publicField(obj, key, value) {\n __defNormalProp(obj, _typeof(key) !== 'symbol' ? key + '' : key, value);\n return value;\n };\n var require_noop = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function() {};\n });\n var require_is_value = __commonJS(function(exports, module) {\n 'use strict';\n var _undefined = require_noop()();\n module.exports = function(val) {\n return val !== _undefined && val !== null;\n };\n });\n var require_normalize_options = __commonJS(function(exports, module) {\n 'use strict';\n var isValue = require_is_value();\n var forEach = Array.prototype.forEach;\n var create = Object.create;\n var process2 = function process2(src, obj) {\n var key;\n for (key in src) {\n obj[key] = src[key];\n }\n };\n module.exports = function(opts1) {\n var result = create(null);\n forEach.call(arguments, function(options) {\n if (!isValue(options)) {\n return;\n }\n process2(Object(options), result);\n });\n return result;\n };\n });\n var require_is_implemented = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function() {\n var sign = Math.sign;\n if (typeof sign !== 'function') {\n return false;\n }\n return sign(10) === 1 && sign(-20) === -1;\n };\n });\n var require_shim = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(value) {\n value = Number(value);\n if (isNaN(value) || value === 0) {\n return value;\n }\n return value > 0 ? 1 : -1;\n };\n });\n var require_sign = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = require_is_implemented()() ? Math.sign : require_shim();\n });\n var require_to_integer = __commonJS(function(exports, module) {\n 'use strict';\n var sign = require_sign();\n var abs = Math.abs;\n var floor = Math.floor;\n module.exports = function(value) {\n if (isNaN(value)) {\n return 0;\n }\n value = Number(value);\n if (value === 0 || !isFinite(value)) {\n return value;\n }\n return sign(value) * floor(abs(value));\n };\n });\n var require_to_pos_integer = __commonJS(function(exports, module) {\n 'use strict';\n var toInteger = require_to_integer();\n var max2 = Math.max;\n module.exports = function(value) {\n return max2(0, toInteger(value));\n };\n });\n var require_resolve_length = __commonJS(function(exports, module) {\n 'use strict';\n var toPosInt = require_to_pos_integer();\n module.exports = function(optsLength, fnLength, isAsync) {\n var length;\n if (isNaN(optsLength)) {\n length = fnLength;\n if (!(length >= 0)) {\n return 1;\n }\n if (isAsync && length) {\n return length - 1;\n }\n return length;\n }\n if (optsLength === false) {\n return false;\n }\n return toPosInt(optsLength);\n };\n });\n var require_valid_callable = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(fn) {\n if (typeof fn !== 'function') {\n throw new TypeError(fn + ' is not a function');\n }\n return fn;\n };\n });\n var require_valid_value = __commonJS(function(exports, module) {\n 'use strict';\n var isValue = require_is_value();\n module.exports = function(value) {\n if (!isValue(value)) {\n throw new TypeError('Cannot use null or undefined');\n }\n return value;\n };\n });\n var require_iterate = __commonJS(function(exports, module) {\n 'use strict';\n var callable = require_valid_callable();\n var value = require_valid_value();\n var bind = Function.prototype.bind;\n var call = Function.prototype.call;\n var keys = Object.keys;\n var objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n module.exports = function(method, defVal) {\n return function(obj, cb) {\n var list, thisArg = arguments[2], compareFn = arguments[3];\n obj = Object(value(obj));\n callable(cb);\n list = keys(obj);\n if (compareFn) {\n list.sort(typeof compareFn === 'function' ? bind.call(compareFn, obj) : void 0);\n }\n if (typeof method !== 'function') {\n method = list[method];\n }\n return call.call(method, list, function(key, index) {\n if (!objPropertyIsEnumerable.call(obj, key)) {\n return defVal;\n }\n return call.call(cb, thisArg, obj[key], key, obj, index);\n });\n };\n };\n });\n var require_for_each = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = require_iterate()('forEach');\n });\n var require_registered_extensions = __commonJS(function() {\n 'use strict';\n });\n var require_is_implemented2 = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function() {\n var assign = Object.assign, obj;\n if (typeof assign !== 'function') {\n return false;\n }\n obj = {\n foo: 'raz'\n };\n assign(obj, {\n bar: 'dwa'\n }, {\n trzy: 'trzy'\n });\n return obj.foo + obj.bar + obj.trzy === 'razdwatrzy';\n };\n });\n var require_is_implemented3 = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function() {\n try {\n Object.keys('primitive');\n return true;\n } catch (e) {\n return false;\n }\n };\n });\n var require_shim2 = __commonJS(function(exports, module) {\n 'use strict';\n var isValue = require_is_value();\n var keys = Object.keys;\n module.exports = function(object) {\n return keys(isValue(object) ? Object(object) : object);\n };\n });\n var require_keys = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = require_is_implemented3()() ? Object.keys : require_shim2();\n });\n var require_shim3 = __commonJS(function(exports, module) {\n 'use strict';\n var keys = require_keys();\n var value = require_valid_value();\n var max2 = Math.max;\n module.exports = function(dest, src) {\n var error, i, length = max2(arguments.length, 2), assign;\n dest = Object(value(dest));\n assign = function assign(key) {\n try {\n dest[key] = src[key];\n } catch (e) {\n if (!error) {\n error = e;\n }\n }\n };\n for (i = 1; i < length; ++i) {\n src = arguments[i];\n keys(src).forEach(assign);\n }\n if (error !== void 0) {\n throw error;\n }\n return dest;\n };\n });\n var require_assign = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = require_is_implemented2()() ? Object.assign : require_shim3();\n });\n var require_is_object = __commonJS(function(exports, module) {\n 'use strict';\n var isValue = require_is_value();\n var map = {\n function: true,\n object: true\n };\n module.exports = function(value) {\n return isValue(value) && map[_typeof(value)] || false;\n };\n });\n var require_custom = __commonJS(function(exports, module) {\n 'use strict';\n var assign = require_assign();\n var isObject = require_is_object();\n var isValue = require_is_value();\n var captureStackTrace = Error.captureStackTrace;\n module.exports = function(message) {\n var err2 = new Error(message), code = arguments[1], ext = arguments[2];\n if (!isValue(ext)) {\n if (isObject(code)) {\n ext = code;\n code = null;\n }\n }\n if (isValue(ext)) {\n assign(err2, ext);\n }\n if (isValue(code)) {\n err2.code = code;\n }\n if (captureStackTrace) {\n captureStackTrace(err2, module.exports);\n }\n return err2;\n };\n });\n var require_mixin = __commonJS(function(exports, module) {\n 'use strict';\n var value = require_valid_value();\n var defineProperty = Object.defineProperty;\n var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var getOwnPropertyNames = Object.getOwnPropertyNames;\n var getOwnPropertySymbols = Object.getOwnPropertySymbols;\n module.exports = function(target, source) {\n var error, sourceObject = Object(value(source));\n target = Object(value(target));\n getOwnPropertyNames(sourceObject).forEach(function(name) {\n try {\n defineProperty(target, name, getOwnPropertyDescriptor(source, name));\n } catch (e) {\n error = e;\n }\n });\n if (typeof getOwnPropertySymbols === 'function') {\n getOwnPropertySymbols(sourceObject).forEach(function(symbol) {\n try {\n defineProperty(target, symbol, getOwnPropertyDescriptor(source, symbol));\n } catch (e) {\n error = e;\n }\n });\n }\n if (error !== void 0) {\n throw error;\n }\n return target;\n };\n });\n var require_define_length = __commonJS(function(exports, module) {\n 'use strict';\n var toPosInt = require_to_pos_integer();\n var test = function test(arg1, arg2) {\n return arg2;\n };\n var desc;\n var defineProperty;\n var generate;\n var mixin;\n try {\n Object.defineProperty(test, 'length', {\n configurable: true,\n writable: false,\n enumerable: false,\n value: 1\n });\n } catch (ignore) {}\n if (test.length === 1) {\n desc = {\n configurable: true,\n writable: false,\n enumerable: false\n };\n defineProperty = Object.defineProperty;\n module.exports = function(fn, length) {\n length = toPosInt(length);\n if (fn.length === length) {\n return fn;\n }\n desc.value = length;\n return defineProperty(fn, 'length', desc);\n };\n } else {\n mixin = require_mixin();\n generate = function() {\n var cache2 = [];\n return function(length) {\n var args, i = 0;\n if (cache2[length]) {\n return cache2[length];\n }\n args = [];\n while (length--) {\n args.push('a' + (++i).toString(36));\n }\n return new Function('fn', 'return function (' + args.join(', ') + ') { return fn.apply(this, arguments); };');\n };\n }();\n module.exports = function(src, length) {\n var target;\n length = toPosInt(length);\n if (src.length === length) {\n return src;\n }\n target = generate(length)(src);\n try {\n mixin(target, src);\n } catch (ignore) {}\n return target;\n };\n }\n });\n var require_is = __commonJS(function(exports, module) {\n 'use strict';\n var _undefined = void 0;\n module.exports = function(value) {\n return value !== _undefined && value !== null;\n };\n });\n var require_is2 = __commonJS(function(exports, module) {\n 'use strict';\n var isValue = require_is();\n var possibleTypes = {\n object: true,\n function: true,\n undefined: true\n };\n module.exports = function(value) {\n if (!isValue(value)) {\n return false;\n }\n return hasOwnProperty.call(possibleTypes, _typeof(value));\n };\n });\n var require_is3 = __commonJS(function(exports, module) {\n 'use strict';\n var isObject = require_is2();\n module.exports = function(value) {\n if (!isObject(value)) {\n return false;\n }\n try {\n if (!value.constructor) {\n return false;\n }\n return value.constructor.prototype === value;\n } catch (error) {\n return false;\n }\n };\n });\n var require_is4 = __commonJS(function(exports, module) {\n 'use strict';\n var isPrototype = require_is3();\n module.exports = function(value) {\n if (typeof value !== 'function') {\n return false;\n }\n if (!hasOwnProperty.call(value, 'length')) {\n return false;\n }\n try {\n if (typeof value.length !== 'number') {\n return false;\n }\n if (typeof value.call !== 'function') {\n return false;\n }\n if (typeof value.apply !== 'function') {\n return false;\n }\n } catch (error) {\n return false;\n }\n return !isPrototype(value);\n };\n });\n var require_is5 = __commonJS(function(exports, module) {\n 'use strict';\n var isFunction = require_is4();\n var classRe = /^\\s*class[\\s{/}]/;\n var functionToString = Function.prototype.toString;\n module.exports = function(value) {\n if (!isFunction(value)) {\n return false;\n }\n if (classRe.test(functionToString.call(value))) {\n return false;\n }\n return true;\n };\n });\n var require_is_implemented4 = __commonJS(function(exports, module) {\n 'use strict';\n var str = 'razdwatrzy';\n module.exports = function() {\n if (typeof str.contains !== 'function') {\n return false;\n }\n return str.contains('dwa') === true && str.contains('foo') === false;\n };\n });\n var require_shim4 = __commonJS(function(exports, module) {\n 'use strict';\n var indexOf = String.prototype.indexOf;\n module.exports = function(searchString) {\n return indexOf.call(this, searchString, arguments[1]) > -1;\n };\n });\n var require_contains = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = require_is_implemented4()() ? String.prototype.contains : require_shim4();\n });\n var require_d = __commonJS(function(exports, module) {\n 'use strict';\n var isValue = require_is();\n var isPlainFunction = require_is5();\n var assign = require_assign();\n var normalizeOpts = require_normalize_options();\n var contains3 = require_contains();\n var d2 = module.exports = function(dscr, value) {\n var c4, e, w, options, desc;\n if (arguments.length < 2 || typeof dscr !== 'string') {\n options = value;\n value = dscr;\n dscr = null;\n } else {\n options = arguments[2];\n }\n if (isValue(dscr)) {\n c4 = contains3.call(dscr, 'c');\n e = contains3.call(dscr, 'e');\n w = contains3.call(dscr, 'w');\n } else {\n c4 = w = true;\n e = false;\n }\n desc = {\n value: value,\n configurable: c4,\n enumerable: e,\n writable: w\n };\n return !options ? desc : assign(normalizeOpts(options), desc);\n };\n d2.gs = function(dscr, get2, set2) {\n var c4, e, options, desc;\n if (typeof dscr !== 'string') {\n options = set2;\n set2 = get2;\n get2 = dscr;\n dscr = null;\n } else {\n options = arguments[3];\n }\n if (!isValue(get2)) {\n get2 = void 0;\n } else if (!isPlainFunction(get2)) {\n options = get2;\n get2 = set2 = void 0;\n } else if (!isValue(set2)) {\n set2 = void 0;\n } else if (!isPlainFunction(set2)) {\n options = set2;\n set2 = void 0;\n }\n if (isValue(dscr)) {\n c4 = contains3.call(dscr, 'c');\n e = contains3.call(dscr, 'e');\n } else {\n c4 = true;\n e = false;\n }\n desc = {\n get: get2,\n set: set2,\n configurable: c4,\n enumerable: e\n };\n return !options ? desc : assign(normalizeOpts(options), desc);\n };\n });\n var require_event_emitter = __commonJS(function(exports, module) {\n 'use strict';\n var d2 = require_d();\n var callable = require_valid_callable();\n var apply = Function.prototype.apply;\n var call = Function.prototype.call;\n var create = Object.create;\n var defineProperty = Object.defineProperty;\n var defineProperties = Object.defineProperties;\n var hasOwnProperty2 = Object.prototype.hasOwnProperty;\n var descriptor = {\n configurable: true,\n enumerable: false,\n writable: true\n };\n var on;\n var once;\n var off;\n var emit;\n var methods;\n var descriptors;\n var base;\n on = function on(type2, listener) {\n var data;\n callable(listener);\n if (!hasOwnProperty2.call(this, '__ee__')) {\n data = descriptor.value = create(null);\n defineProperty(this, '__ee__', descriptor);\n descriptor.value = null;\n } else {\n data = this.__ee__;\n }\n if (!data[type2]) {\n data[type2] = listener;\n } else if (_typeof(data[type2]) === 'object') {\n data[type2].push(listener);\n } else {\n data[type2] = [ data[type2], listener ];\n }\n return this;\n };\n once = function once(type2, listener) {\n var _once, self2;\n callable(listener);\n self2 = this;\n on.call(this, type2, _once = function once2() {\n off.call(self2, type2, _once);\n apply.call(listener, this, arguments);\n });\n _once.__eeOnceListener__ = listener;\n return this;\n };\n off = function off(type2, listener) {\n var data, listeners, candidate, i;\n callable(listener);\n if (!hasOwnProperty2.call(this, '__ee__')) {\n return this;\n }\n data = this.__ee__;\n if (!data[type2]) {\n return this;\n }\n listeners = data[type2];\n if (_typeof(listeners) === 'object') {\n for (i = 0; candidate = listeners[i]; ++i) {\n if (candidate === listener || candidate.__eeOnceListener__ === listener) {\n if (listeners.length === 2) {\n data[type2] = listeners[i ? 0 : 1];\n } else {\n listeners.splice(i, 1);\n }\n }\n }\n } else {\n if (listeners === listener || listeners.__eeOnceListener__ === listener) {\n delete data[type2];\n }\n }\n return this;\n };\n emit = function emit(type2) {\n var i, l, listener, listeners, args;\n if (!hasOwnProperty2.call(this, '__ee__')) {\n return;\n }\n listeners = this.__ee__[type2];\n if (!listeners) {\n return;\n }\n if (_typeof(listeners) === 'object') {\n l = arguments.length;\n args = new Array(l - 1);\n for (i = 1; i < l; ++i) {\n args[i - 1] = arguments[i];\n }\n listeners = listeners.slice();\n for (i = 0; listener = listeners[i]; ++i) {\n apply.call(listener, this, args);\n }\n } else {\n switch (arguments.length) {\n case 1:\n call.call(listeners, this);\n break;\n\n case 2:\n call.call(listeners, this, arguments[1]);\n break;\n\n case 3:\n call.call(listeners, this, arguments[1], arguments[2]);\n break;\n\n default:\n l = arguments.length;\n args = new Array(l - 1);\n for (i = 1; i < l; ++i) {\n args[i - 1] = arguments[i];\n }\n apply.call(listeners, this, args);\n }\n }\n };\n methods = {\n on: on,\n once: once,\n off: off,\n emit: emit\n };\n descriptors = {\n on: d2(on),\n once: d2(once),\n off: d2(off),\n emit: d2(emit)\n };\n base = defineProperties({}, descriptors);\n module.exports = exports = function exports(o) {\n return o == null ? create(base) : defineProperties(Object(o), descriptors);\n };\n exports.methods = methods;\n });\n var require_is_implemented5 = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function() {\n var from = Array.from, arr, result;\n if (typeof from !== 'function') {\n return false;\n }\n arr = [ 'raz', 'dwa' ];\n result = from(arr);\n return Boolean(result && result !== arr && result[1] === 'dwa');\n };\n });\n var require_is_implemented6 = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function() {\n if ((typeof globalThis === 'undefined' ? 'undefined' : _typeof(globalThis)) !== 'object') {\n return false;\n }\n if (!globalThis) {\n return false;\n }\n return globalThis.Array === Array;\n };\n });\n var require_implementation = __commonJS(function(exports, module) {\n var naiveFallback = function naiveFallback() {\n if ((typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self) {\n return self;\n }\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window) {\n return window;\n }\n throw new Error('Unable to resolve global `this`');\n };\n module.exports = function() {\n if (this) {\n return this;\n }\n try {\n Object.defineProperty(Object.prototype, '__global__', {\n get: function get() {\n return this;\n },\n configurable: true\n });\n } catch (error) {\n return naiveFallback();\n }\n try {\n if (!__global__) {\n return naiveFallback();\n }\n return __global__;\n } finally {\n delete Object.prototype.__global__;\n }\n }();\n });\n var require_global_this = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = require_is_implemented6()() ? globalThis : require_implementation();\n });\n var require_is_implemented7 = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global_this();\n var validTypes = {\n object: true,\n symbol: true\n };\n module.exports = function() {\n var Symbol2 = global2.Symbol;\n var symbol;\n if (typeof Symbol2 !== 'function') {\n return false;\n }\n symbol = Symbol2('test symbol');\n try {\n String(symbol);\n } catch (e) {\n return false;\n }\n if (!validTypes[_typeof(Symbol2.iterator)]) {\n return false;\n }\n if (!validTypes[_typeof(Symbol2.toPrimitive)]) {\n return false;\n }\n if (!validTypes[_typeof(Symbol2.toStringTag)]) {\n return false;\n }\n return true;\n };\n });\n var require_is_symbol = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(value) {\n if (!value) {\n return false;\n }\n if (_typeof(value) === 'symbol') {\n return true;\n }\n if (!value.constructor) {\n return false;\n }\n if (value.constructor.name !== 'Symbol') {\n return false;\n }\n return value[value.constructor.toStringTag] === 'Symbol';\n };\n });\n var require_validate_symbol = __commonJS(function(exports, module) {\n 'use strict';\n var isSymbol = require_is_symbol();\n module.exports = function(value) {\n if (!isSymbol(value)) {\n throw new TypeError(value + ' is not a symbol');\n }\n return value;\n };\n });\n var require_generate_name = __commonJS(function(exports, module) {\n 'use strict';\n var d2 = require_d();\n var create = Object.create;\n var defineProperty = Object.defineProperty;\n var objPrototype = Object.prototype;\n var created = create(null);\n module.exports = function(desc) {\n var postfix = 0, name, ie11BugWorkaround;\n while (created[desc + (postfix || '')]) {\n ++postfix;\n }\n desc += postfix || '';\n created[desc] = true;\n name = '@@' + desc;\n defineProperty(objPrototype, name, d2.gs(null, function(value) {\n if (ie11BugWorkaround) {\n return;\n }\n ie11BugWorkaround = true;\n defineProperty(this, name, d2(value));\n ie11BugWorkaround = false;\n }));\n return name;\n };\n });\n var require_standard_symbols = __commonJS(function(exports, module) {\n 'use strict';\n var d2 = require_d();\n var NativeSymbol = require_global_this().Symbol;\n module.exports = function(SymbolPolyfill) {\n return Object.defineProperties(SymbolPolyfill, {\n hasInstance: d2('', NativeSymbol && NativeSymbol.hasInstance || SymbolPolyfill('hasInstance')),\n isConcatSpreadable: d2('', NativeSymbol && NativeSymbol.isConcatSpreadable || SymbolPolyfill('isConcatSpreadable')),\n iterator: d2('', NativeSymbol && NativeSymbol.iterator || SymbolPolyfill('iterator')),\n match: d2('', NativeSymbol && NativeSymbol.match || SymbolPolyfill('match')),\n replace: d2('', NativeSymbol && NativeSymbol.replace || SymbolPolyfill('replace')),\n search: d2('', NativeSymbol && NativeSymbol.search || SymbolPolyfill('search')),\n species: d2('', NativeSymbol && NativeSymbol.species || SymbolPolyfill('species')),\n split: d2('', NativeSymbol && NativeSymbol.split || SymbolPolyfill('split')),\n toPrimitive: d2('', NativeSymbol && NativeSymbol.toPrimitive || SymbolPolyfill('toPrimitive')),\n toStringTag: d2('', NativeSymbol && NativeSymbol.toStringTag || SymbolPolyfill('toStringTag')),\n unscopables: d2('', NativeSymbol && NativeSymbol.unscopables || SymbolPolyfill('unscopables'))\n });\n };\n });\n var require_symbol_registry = __commonJS(function(exports, module) {\n 'use strict';\n var d2 = require_d();\n var validateSymbol = require_validate_symbol();\n var registry = Object.create(null);\n module.exports = function(SymbolPolyfill) {\n return Object.defineProperties(SymbolPolyfill, {\n for: d2(function(key) {\n if (registry[key]) {\n return registry[key];\n }\n return registry[key] = SymbolPolyfill(String(key));\n }),\n keyFor: d2(function(symbol) {\n var key;\n validateSymbol(symbol);\n for (key in registry) {\n if (registry[key] === symbol) {\n return key;\n }\n }\n return void 0;\n })\n });\n };\n });\n var require_polyfill = __commonJS(function(exports, module) {\n 'use strict';\n var d2 = require_d();\n var validateSymbol = require_validate_symbol();\n var NativeSymbol = require_global_this().Symbol;\n var generateName = require_generate_name();\n var setupStandardSymbols = require_standard_symbols();\n var setupSymbolRegistry = require_symbol_registry();\n var create = Object.create;\n var defineProperties = Object.defineProperties;\n var defineProperty = Object.defineProperty;\n var SymbolPolyfill;\n var HiddenSymbol;\n var isNativeSafe;\n if (typeof NativeSymbol === 'function') {\n try {\n String(NativeSymbol());\n isNativeSafe = true;\n } catch (ignore) {}\n } else {\n NativeSymbol = null;\n }\n HiddenSymbol = function Symbol2(description) {\n if (this instanceof HiddenSymbol) {\n throw new TypeError('Symbol is not a constructor');\n }\n return SymbolPolyfill(description);\n };\n module.exports = SymbolPolyfill = function Symbol2(description) {\n var symbol;\n if (this instanceof Symbol2) {\n throw new TypeError('Symbol is not a constructor');\n }\n if (isNativeSafe) {\n return NativeSymbol(description);\n }\n symbol = create(HiddenSymbol.prototype);\n description = description === void 0 ? '' : String(description);\n return defineProperties(symbol, {\n __description__: d2('', description),\n __name__: d2('', generateName(description))\n });\n };\n setupStandardSymbols(SymbolPolyfill);\n setupSymbolRegistry(SymbolPolyfill);\n defineProperties(HiddenSymbol.prototype, {\n constructor: d2(SymbolPolyfill),\n toString: d2('', function() {\n return this.__name__;\n })\n });\n defineProperties(SymbolPolyfill.prototype, {\n toString: d2(function() {\n return 'Symbol (' + validateSymbol(this).__description__ + ')';\n }),\n valueOf: d2(function() {\n return validateSymbol(this);\n })\n });\n defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d2('', function() {\n var symbol = validateSymbol(this);\n if (_typeof(symbol) === 'symbol') {\n return symbol;\n }\n return symbol.toString();\n }));\n defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d2('c', 'Symbol'));\n defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toStringTag, d2('c', SymbolPolyfill.prototype[SymbolPolyfill.toStringTag]));\n defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toPrimitive, d2('c', SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive]));\n });\n var require_es6_symbol = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = require_is_implemented7()() ? require_global_this().Symbol : require_polyfill();\n });\n var require_is_arguments = __commonJS(function(exports, module) {\n 'use strict';\n var objToString = Object.prototype.toString;\n var id = objToString.call(function() {\n return arguments;\n }());\n module.exports = function(value) {\n return objToString.call(value) === id;\n };\n });\n var require_is_function = __commonJS(function(exports, module) {\n 'use strict';\n var objToString = Object.prototype.toString;\n var isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);\n module.exports = function(value) {\n return typeof value === 'function' && isFunctionStringTag(objToString.call(value));\n };\n });\n var require_is_string = __commonJS(function(exports, module) {\n 'use strict';\n var objToString = Object.prototype.toString;\n var id = objToString.call('');\n module.exports = function(value) {\n return typeof value === 'string' || value && _typeof(value) === 'object' && (value instanceof String || objToString.call(value) === id) || false;\n };\n });\n var require_shim5 = __commonJS(function(exports, module) {\n 'use strict';\n var iteratorSymbol = require_es6_symbol().iterator;\n var isArguments = require_is_arguments();\n var isFunction = require_is_function();\n var toPosInt = require_to_pos_integer();\n var callable = require_valid_callable();\n var validValue = require_valid_value();\n var isValue = require_is_value();\n var isString2 = require_is_string();\n var isArray = Array.isArray;\n var call = Function.prototype.call;\n var desc = {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n };\n var defineProperty = Object.defineProperty;\n module.exports = function(arrayLike) {\n var mapFn = arguments[1], thisArg = arguments[2], Context2, i, j, arr, length, code, iterator, result, getIterator, value;\n arrayLike = Object(validValue(arrayLike));\n if (isValue(mapFn)) {\n callable(mapFn);\n }\n if (!this || this === Array || !isFunction(this)) {\n if (!mapFn) {\n if (isArguments(arrayLike)) {\n length = arrayLike.length;\n if (length !== 1) {\n return Array.apply(null, arrayLike);\n }\n arr = new Array(1);\n arr[0] = arrayLike[0];\n return arr;\n }\n if (isArray(arrayLike)) {\n arr = new Array(length = arrayLike.length);\n for (i = 0; i < length; ++i) {\n arr[i] = arrayLike[i];\n }\n return arr;\n }\n }\n arr = [];\n } else {\n Context2 = this;\n }\n if (!isArray(arrayLike)) {\n if ((getIterator = arrayLike[iteratorSymbol]) !== void 0) {\n iterator = callable(getIterator).call(arrayLike);\n if (Context2) {\n arr = new Context2();\n }\n result = iterator.next();\n i = 0;\n while (!result.done) {\n value = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;\n if (Context2) {\n desc.value = value;\n defineProperty(arr, i, desc);\n } else {\n arr[i] = value;\n }\n result = iterator.next();\n ++i;\n }\n length = i;\n } else if (isString2(arrayLike)) {\n length = arrayLike.length;\n if (Context2) {\n arr = new Context2();\n }\n for (i = 0, j = 0; i < length; ++i) {\n value = arrayLike[i];\n if (i + 1 < length) {\n code = value.charCodeAt(0);\n if (code >= 55296 && code <= 56319) {\n value += arrayLike[++i];\n }\n }\n value = mapFn ? call.call(mapFn, thisArg, value, j) : value;\n if (Context2) {\n desc.value = value;\n defineProperty(arr, j, desc);\n } else {\n arr[j] = value;\n }\n ++j;\n }\n length = j;\n }\n }\n if (length === void 0) {\n length = toPosInt(arrayLike.length);\n if (Context2) {\n arr = new Context2(length);\n }\n for (i = 0; i < length; ++i) {\n value = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];\n if (Context2) {\n desc.value = value;\n defineProperty(arr, i, desc);\n } else {\n arr[i] = value;\n }\n }\n }\n if (Context2) {\n desc.value = null;\n arr.length = length;\n }\n return arr;\n };\n });\n var require_from = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = require_is_implemented5()() ? Array.from : require_shim5();\n });\n var require_to_array = __commonJS(function(exports, module) {\n 'use strict';\n var from = require_from();\n var isArray = Array.isArray;\n module.exports = function(arrayLike) {\n return isArray(arrayLike) ? arrayLike : from(arrayLike);\n };\n });\n var require_resolve_resolve = __commonJS(function(exports, module) {\n 'use strict';\n var toArray2 = require_to_array();\n var isValue = require_is_value();\n var callable = require_valid_callable();\n var slice = Array.prototype.slice;\n var resolveArgs;\n resolveArgs = function resolveArgs(args) {\n return this.map(function(resolve, i) {\n return resolve ? resolve(args[i]) : args[i];\n }).concat(slice.call(args, this.length));\n };\n module.exports = function(resolvers) {\n resolvers = toArray2(resolvers);\n resolvers.forEach(function(resolve) {\n if (isValue(resolve)) {\n callable(resolve);\n }\n });\n return resolveArgs.bind(resolvers);\n };\n });\n var require_resolve_normalize = __commonJS(function(exports, module) {\n 'use strict';\n var callable = require_valid_callable();\n module.exports = function(userNormalizer) {\n var normalizer;\n if (typeof userNormalizer === 'function') {\n return {\n set: userNormalizer,\n get: userNormalizer\n };\n }\n normalizer = {\n get: callable(userNormalizer.get)\n };\n if (userNormalizer.set !== void 0) {\n normalizer.set = callable(userNormalizer.set);\n if (userNormalizer['delete']) {\n normalizer['delete'] = callable(userNormalizer['delete']);\n }\n if (userNormalizer.clear) {\n normalizer.clear = callable(userNormalizer.clear);\n }\n return normalizer;\n }\n normalizer.set = normalizer.get;\n return normalizer;\n };\n });\n var require_configure_map = __commonJS(function(exports, module) {\n 'use strict';\n var customError = require_custom();\n var defineLength = require_define_length();\n var d2 = require_d();\n var ee = require_event_emitter().methods;\n var resolveResolve = require_resolve_resolve();\n var resolveNormalize = require_resolve_normalize();\n var apply = Function.prototype.apply;\n var call = Function.prototype.call;\n var create = Object.create;\n var defineProperties = Object.defineProperties;\n var _on = ee.on;\n var emit = ee.emit;\n module.exports = function(original, length, options) {\n var cache2 = create(null), conf, memLength, get2, set2, del, _clear, extDel, extGet, extHas, normalizer, getListeners, setListeners, deleteListeners, memoized, resolve;\n if (length !== false) {\n memLength = length;\n } else if (isNaN(original.length)) {\n memLength = 1;\n } else {\n memLength = original.length;\n }\n if (options.normalizer) {\n normalizer = resolveNormalize(options.normalizer);\n get2 = normalizer.get;\n set2 = normalizer.set;\n del = normalizer['delete'];\n _clear = normalizer.clear;\n }\n if (options.resolvers != null) {\n resolve = resolveResolve(options.resolvers);\n }\n if (get2) {\n memoized = defineLength(function(arg) {\n var id, result, args = arguments;\n if (resolve) {\n args = resolve(args);\n }\n id = get2(args);\n if (id !== null) {\n if (hasOwnProperty.call(cache2, id)) {\n if (getListeners) {\n conf.emit('get', id, args, this);\n }\n return cache2[id];\n }\n }\n if (args.length === 1) {\n result = call.call(original, this, args[0]);\n } else {\n result = apply.call(original, this, args);\n }\n if (id === null) {\n id = get2(args);\n if (id !== null) {\n throw customError('Circular invocation', 'CIRCULAR_INVOCATION');\n }\n id = set2(args);\n } else if (hasOwnProperty.call(cache2, id)) {\n throw customError('Circular invocation', 'CIRCULAR_INVOCATION');\n }\n cache2[id] = result;\n if (setListeners) {\n conf.emit('set', id, null, result);\n }\n return result;\n }, memLength);\n } else if (length === 0) {\n memoized = function memoized() {\n var result;\n if (hasOwnProperty.call(cache2, 'data')) {\n if (getListeners) {\n conf.emit('get', 'data', arguments, this);\n }\n return cache2.data;\n }\n if (arguments.length) {\n result = apply.call(original, this, arguments);\n } else {\n result = call.call(original, this);\n }\n if (hasOwnProperty.call(cache2, 'data')) {\n throw customError('Circular invocation', 'CIRCULAR_INVOCATION');\n }\n cache2.data = result;\n if (setListeners) {\n conf.emit('set', 'data', null, result);\n }\n return result;\n };\n } else {\n memoized = function memoized(arg) {\n var result, args = arguments, id;\n if (resolve) {\n args = resolve(arguments);\n }\n id = String(args[0]);\n if (hasOwnProperty.call(cache2, id)) {\n if (getListeners) {\n conf.emit('get', id, args, this);\n }\n return cache2[id];\n }\n if (args.length === 1) {\n result = call.call(original, this, args[0]);\n } else {\n result = apply.call(original, this, args);\n }\n if (hasOwnProperty.call(cache2, id)) {\n throw customError('Circular invocation', 'CIRCULAR_INVOCATION');\n }\n cache2[id] = result;\n if (setListeners) {\n conf.emit('set', id, null, result);\n }\n return result;\n };\n }\n conf = {\n original: original,\n memoized: memoized,\n profileName: options.profileName,\n get: function get(args) {\n if (resolve) {\n args = resolve(args);\n }\n if (get2) {\n return get2(args);\n }\n return String(args[0]);\n },\n has: function has(id) {\n return hasOwnProperty.call(cache2, id);\n },\n delete: function _delete(id) {\n var result;\n if (!hasOwnProperty.call(cache2, id)) {\n return;\n }\n if (del) {\n del(id);\n }\n result = cache2[id];\n delete cache2[id];\n if (deleteListeners) {\n conf.emit('delete', id, result);\n }\n },\n clear: function clear() {\n var oldCache = cache2;\n if (_clear) {\n _clear();\n }\n cache2 = create(null);\n conf.emit('clear', oldCache);\n },\n on: function on(type2, listener) {\n if (type2 === 'get') {\n getListeners = true;\n } else if (type2 === 'set') {\n setListeners = true;\n } else if (type2 === 'delete') {\n deleteListeners = true;\n }\n return _on.call(this, type2, listener);\n },\n emit: emit,\n updateEnv: function updateEnv() {\n original = conf.original;\n }\n };\n if (get2) {\n extDel = defineLength(function(arg) {\n var id, args = arguments;\n if (resolve) {\n args = resolve(args);\n }\n id = get2(args);\n if (id === null) {\n return;\n }\n conf['delete'](id);\n }, memLength);\n } else if (length === 0) {\n extDel = function extDel() {\n return conf['delete']('data');\n };\n } else {\n extDel = function extDel(arg) {\n if (resolve) {\n arg = resolve(arguments)[0];\n }\n return conf['delete'](arg);\n };\n }\n extGet = defineLength(function() {\n var id, args = arguments;\n if (length === 0) {\n return cache2.data;\n }\n if (resolve) {\n args = resolve(args);\n }\n if (get2) {\n id = get2(args);\n } else {\n id = String(args[0]);\n }\n return cache2[id];\n });\n extHas = defineLength(function() {\n var id, args = arguments;\n if (length === 0) {\n return conf.has('data');\n }\n if (resolve) {\n args = resolve(args);\n }\n if (get2) {\n id = get2(args);\n } else {\n id = String(args[0]);\n }\n if (id === null) {\n return false;\n }\n return conf.has(id);\n });\n defineProperties(memoized, {\n __memoized__: d2(true),\n delete: d2(extDel),\n clear: d2(conf.clear),\n _get: d2(extGet),\n _has: d2(extHas)\n });\n return conf;\n };\n });\n var require_plain = __commonJS(function(exports, module) {\n 'use strict';\n var callable = require_valid_callable();\n var forEach = require_for_each();\n var extensions = require_registered_extensions();\n var configure4 = require_configure_map();\n var resolveLength = require_resolve_length();\n module.exports = function self2(fn) {\n var options, length, conf;\n callable(fn);\n options = Object(arguments[1]);\n if (options.async && options.promise) {\n throw new Error('Options \\'async\\' and \\'promise\\' cannot be used together');\n }\n if (hasOwnProperty.call(fn, '__memoized__') && !options.force) {\n return fn;\n }\n length = resolveLength(options.length, fn.length, options.async && extensions.async);\n conf = configure4(fn, length, options);\n forEach(extensions, function(extFn, name) {\n if (options[name]) {\n extFn(options[name], conf, options);\n }\n });\n if (self2.__profiler__) {\n self2.__profiler__(conf);\n }\n conf.updateEnv();\n return conf.memoized;\n };\n });\n var require_primitive = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(args) {\n var id, i, length = args.length;\n if (!length) {\n return '\\x02';\n }\n id = String(args[i = 0]);\n while (--length) {\n id += '\\x01' + args[++i];\n }\n return id;\n };\n });\n var require_get_primitive_fixed = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(length) {\n if (!length) {\n return function() {\n return '';\n };\n }\n return function(args) {\n var id = String(args[0]), i = 0, currentLength = length;\n while (--currentLength) {\n id += '\\x01' + args[++i];\n }\n return id;\n };\n };\n });\n var require_is_implemented8 = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function() {\n var numberIsNaN = Number.isNaN;\n if (typeof numberIsNaN !== 'function') {\n return false;\n }\n return !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34);\n };\n });\n var require_shim6 = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(value) {\n return value !== value;\n };\n });\n var require_is_nan = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = require_is_implemented8()() ? Number.isNaN : require_shim6();\n });\n var require_e_index_of = __commonJS(function(exports, module) {\n 'use strict';\n var numberIsNaN = require_is_nan();\n var toPosInt = require_to_pos_integer();\n var value = require_valid_value();\n var indexOf = Array.prototype.indexOf;\n var objHasOwnProperty = Object.prototype.hasOwnProperty;\n var abs = Math.abs;\n var floor = Math.floor;\n module.exports = function(searchElement) {\n var i, length, fromIndex, val;\n if (!numberIsNaN(searchElement)) {\n return indexOf.apply(this, arguments);\n }\n length = toPosInt(value(this).length);\n fromIndex = arguments[1];\n if (isNaN(fromIndex)) {\n fromIndex = 0;\n } else if (fromIndex >= 0) {\n fromIndex = floor(fromIndex);\n } else {\n fromIndex = toPosInt(this.length) - floor(abs(fromIndex));\n }\n for (i = fromIndex; i < length; ++i) {\n if (objHasOwnProperty.call(this, i)) {\n val = this[i];\n if (numberIsNaN(val)) {\n return i;\n }\n }\n }\n return -1;\n };\n });\n var require_get = __commonJS(function(exports, module) {\n 'use strict';\n var indexOf = require_e_index_of();\n var create = Object.create;\n module.exports = function() {\n var lastId = 0, map = [], cache2 = create(null);\n return {\n get: function get(args) {\n var index = 0, set2 = map, i, length = args.length;\n if (length === 0) {\n return set2[length] || null;\n }\n if (set2 = set2[length]) {\n while (index < length - 1) {\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n return null;\n }\n set2 = set2[1][i];\n ++index;\n }\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n return null;\n }\n return set2[1][i] || null;\n }\n return null;\n },\n set: function set(args) {\n var index = 0, set2 = map, i, length = args.length;\n if (length === 0) {\n set2[length] = ++lastId;\n } else {\n if (!set2[length]) {\n set2[length] = [ [], [] ];\n }\n set2 = set2[length];\n while (index < length - 1) {\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n i = set2[0].push(args[index]) - 1;\n set2[1].push([ [], [] ]);\n }\n set2 = set2[1][i];\n ++index;\n }\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n i = set2[0].push(args[index]) - 1;\n }\n set2[1][i] = ++lastId;\n }\n cache2[lastId] = args;\n return lastId;\n },\n delete: function _delete(id) {\n var index = 0, set2 = map, i, args = cache2[id], length = args.length, path = [];\n if (length === 0) {\n delete set2[length];\n } else if (set2 = set2[length]) {\n while (index < length - 1) {\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n return;\n }\n path.push(set2, i);\n set2 = set2[1][i];\n ++index;\n }\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n return;\n }\n id = set2[1][i];\n set2[0].splice(i, 1);\n set2[1].splice(i, 1);\n while (!set2[0].length && path.length) {\n i = path.pop();\n set2 = path.pop();\n set2[0].splice(i, 1);\n set2[1].splice(i, 1);\n }\n }\n delete cache2[id];\n },\n clear: function clear() {\n map = [];\n cache2 = create(null);\n }\n };\n };\n });\n var require_get_1 = __commonJS(function(exports, module) {\n 'use strict';\n var indexOf = require_e_index_of();\n module.exports = function() {\n var lastId = 0, argsMap = [], cache2 = [];\n return {\n get: function get(args) {\n var index = indexOf.call(argsMap, args[0]);\n return index === -1 ? null : cache2[index];\n },\n set: function set(args) {\n argsMap.push(args[0]);\n cache2.push(++lastId);\n return lastId;\n },\n delete: function _delete(id) {\n var index = indexOf.call(cache2, id);\n if (index !== -1) {\n argsMap.splice(index, 1);\n cache2.splice(index, 1);\n }\n },\n clear: function clear() {\n argsMap = [];\n cache2 = [];\n }\n };\n };\n });\n var require_get_fixed = __commonJS(function(exports, module) {\n 'use strict';\n var indexOf = require_e_index_of();\n var create = Object.create;\n module.exports = function(length) {\n var lastId = 0, map = [ [], [] ], cache2 = create(null);\n return {\n get: function get(args) {\n var index = 0, set2 = map, i;\n while (index < length - 1) {\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n return null;\n }\n set2 = set2[1][i];\n ++index;\n }\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n return null;\n }\n return set2[1][i] || null;\n },\n set: function set(args) {\n var index = 0, set2 = map, i;\n while (index < length - 1) {\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n i = set2[0].push(args[index]) - 1;\n set2[1].push([ [], [] ]);\n }\n set2 = set2[1][i];\n ++index;\n }\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n i = set2[0].push(args[index]) - 1;\n }\n set2[1][i] = ++lastId;\n cache2[lastId] = args;\n return lastId;\n },\n delete: function _delete(id) {\n var index = 0, set2 = map, i, path = [], args = cache2[id];\n while (index < length - 1) {\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n return;\n }\n path.push(set2, i);\n set2 = set2[1][i];\n ++index;\n }\n i = indexOf.call(set2[0], args[index]);\n if (i === -1) {\n return;\n }\n id = set2[1][i];\n set2[0].splice(i, 1);\n set2[1].splice(i, 1);\n while (!set2[0].length && path.length) {\n i = path.pop();\n set2 = path.pop();\n set2[0].splice(i, 1);\n set2[1].splice(i, 1);\n }\n delete cache2[id];\n },\n clear: function clear() {\n map = [ [], [] ];\n cache2 = create(null);\n }\n };\n };\n });\n var require_map = __commonJS(function(exports, module) {\n 'use strict';\n var callable = require_valid_callable();\n var forEach = require_for_each();\n var call = Function.prototype.call;\n module.exports = function(obj, cb) {\n var result = {}, thisArg = arguments[2];\n callable(cb);\n forEach(obj, function(value, key, targetObj, index) {\n result[key] = call.call(cb, thisArg, value, key, targetObj, index);\n });\n return result;\n };\n });\n var require_next_tick = __commonJS(function(exports, module) {\n 'use strict';\n var ensureCallable = function ensureCallable(fn) {\n if (typeof fn !== 'function') {\n throw new TypeError(fn + ' is not a function');\n }\n return fn;\n };\n var byObserver = function byObserver(Observer) {\n var node = document.createTextNode(''), queue2, currentQueue, i = 0;\n new Observer(function() {\n var callback;\n if (!queue2) {\n if (!currentQueue) {\n return;\n }\n queue2 = currentQueue;\n } else if (currentQueue) {\n queue2 = currentQueue.concat(queue2);\n }\n currentQueue = queue2;\n queue2 = null;\n if (typeof currentQueue === 'function') {\n callback = currentQueue;\n currentQueue = null;\n callback();\n return;\n }\n node.data = i = ++i % 2;\n while (currentQueue) {\n callback = currentQueue.shift();\n if (!currentQueue.length) {\n currentQueue = null;\n }\n callback();\n }\n }).observe(node, {\n characterData: true\n });\n return function(fn) {\n ensureCallable(fn);\n if (queue2) {\n if (typeof queue2 === 'function') {\n queue2 = [ queue2, fn ];\n } else {\n queue2.push(fn);\n }\n return;\n }\n queue2 = fn;\n node.data = i = ++i % 2;\n };\n };\n module.exports = function() {\n if ((typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process && typeof process.nextTick === 'function') {\n return process.nextTick;\n }\n if (typeof queueMicrotask === 'function') {\n return function(cb) {\n queueMicrotask(ensureCallable(cb));\n };\n }\n if ((typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object' && document) {\n if (typeof MutationObserver === 'function') {\n return byObserver(MutationObserver);\n }\n if (typeof WebKitMutationObserver === 'function') {\n return byObserver(WebKitMutationObserver);\n }\n }\n if (typeof setImmediate === 'function') {\n return function(cb) {\n setImmediate(ensureCallable(cb));\n };\n }\n if (typeof setTimeout === 'function' || (typeof setTimeout === 'undefined' ? 'undefined' : _typeof(setTimeout)) === 'object') {\n return function(cb) {\n setTimeout(ensureCallable(cb), 0);\n };\n }\n return null;\n }();\n });\n var require_async = __commonJS(function() {\n 'use strict';\n var aFrom = require_from();\n var objectMap = require_map();\n var mixin = require_mixin();\n var defineLength = require_define_length();\n var nextTick = require_next_tick();\n var slice = Array.prototype.slice;\n var apply = Function.prototype.apply;\n var create = Object.create;\n require_registered_extensions().async = function(tbi, conf) {\n var waiting = create(null), cache2 = create(null), base = conf.memoized, original = conf.original, currentCallback, currentContext, currentArgs;\n conf.memoized = defineLength(function(arg) {\n var args = arguments, last2 = args[args.length - 1];\n if (typeof last2 === 'function') {\n currentCallback = last2;\n args = slice.call(args, 0, -1);\n }\n return base.apply(currentContext = this, currentArgs = args);\n }, base);\n try {\n mixin(conf.memoized, base);\n } catch (ignore) {}\n conf.on('get', function(id) {\n var cb, context, args;\n if (!currentCallback) {\n return;\n }\n if (waiting[id]) {\n if (typeof waiting[id] === 'function') {\n waiting[id] = [ waiting[id], currentCallback ];\n } else {\n waiting[id].push(currentCallback);\n }\n currentCallback = null;\n return;\n }\n cb = currentCallback;\n context = currentContext;\n args = currentArgs;\n currentCallback = currentContext = currentArgs = null;\n nextTick(function() {\n var data;\n if (hasOwnProperty.call(cache2, id)) {\n data = cache2[id];\n conf.emit('getasync', id, args, context);\n apply.call(cb, data.context, data.args);\n } else {\n currentCallback = cb;\n currentContext = context;\n currentArgs = args;\n base.apply(context, args);\n }\n });\n });\n conf.original = function() {\n var args, cb, origCb, result;\n if (!currentCallback) {\n return apply.call(original, this, arguments);\n }\n args = aFrom(arguments);\n cb = function self2(err2) {\n var cb2, args2, id = self2.id;\n if (id == null) {\n nextTick(apply.bind(self2, this, arguments));\n return void 0;\n }\n delete self2.id;\n cb2 = waiting[id];\n delete waiting[id];\n if (!cb2) {\n return void 0;\n }\n args2 = aFrom(arguments);\n if (conf.has(id)) {\n if (err2) {\n conf['delete'](id);\n } else {\n cache2[id] = {\n context: this,\n args: args2\n };\n conf.emit('setasync', id, typeof cb2 === 'function' ? 1 : cb2.length);\n }\n }\n if (typeof cb2 === 'function') {\n result = apply.call(cb2, this, args2);\n } else {\n cb2.forEach(function(cb3) {\n result = apply.call(cb3, this, args2);\n }, this);\n }\n return result;\n };\n origCb = currentCallback;\n currentCallback = currentContext = currentArgs = null;\n args.push(cb);\n result = apply.call(original, this, args);\n cb.cb = origCb;\n currentCallback = cb;\n return result;\n };\n conf.on('set', function(id) {\n if (!currentCallback) {\n conf['delete'](id);\n return;\n }\n if (waiting[id]) {\n if (typeof waiting[id] === 'function') {\n waiting[id] = [ waiting[id], currentCallback.cb ];\n } else {\n waiting[id].push(currentCallback.cb);\n }\n } else {\n waiting[id] = currentCallback.cb;\n }\n delete currentCallback.cb;\n currentCallback.id = id;\n currentCallback = null;\n });\n conf.on('delete', function(id) {\n var result;\n if (hasOwnProperty.call(waiting, id)) {\n return;\n }\n if (!cache2[id]) {\n return;\n }\n result = cache2[id];\n delete cache2[id];\n conf.emit('deleteasync', id, slice.call(result.args, 1));\n });\n conf.on('clear', function() {\n var oldCache = cache2;\n cache2 = create(null);\n conf.emit('clearasync', objectMap(oldCache, function(data) {\n return slice.call(data.args, 1);\n }));\n });\n };\n });\n var require_primitive_set = __commonJS(function(exports, module) {\n 'use strict';\n var forEach = Array.prototype.forEach;\n var create = Object.create;\n module.exports = function(arg) {\n var set2 = create(null);\n forEach.call(arguments, function(name) {\n set2[name] = true;\n });\n return set2;\n };\n });\n var require_is_callable = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(obj) {\n return typeof obj === 'function';\n };\n });\n var require_validate_stringifiable = __commonJS(function(exports, module) {\n 'use strict';\n var isCallable = require_is_callable();\n module.exports = function(stringifiable) {\n try {\n if (stringifiable && isCallable(stringifiable.toString)) {\n return stringifiable.toString();\n }\n return String(stringifiable);\n } catch (e) {\n throw new TypeError('Passed argument cannot be stringifed');\n }\n };\n });\n var require_validate_stringifiable_value = __commonJS(function(exports, module) {\n 'use strict';\n var ensureValue = require_valid_value();\n var stringifiable = require_validate_stringifiable();\n module.exports = function(value) {\n return stringifiable(ensureValue(value));\n };\n });\n var require_safe_to_string = __commonJS(function(exports, module) {\n 'use strict';\n var isCallable = require_is_callable();\n module.exports = function(value) {\n try {\n if (value && isCallable(value.toString)) {\n return value.toString();\n }\n return String(value);\n } catch (e) {\n return '<Non-coercible to string value>';\n }\n };\n });\n var require_to_short_string_representation = __commonJS(function(exports, module) {\n 'use strict';\n var safeToString = require_safe_to_string();\n var reNewLine = /[\\n\\r\\u2028\\u2029]/g;\n module.exports = function(value) {\n var string = safeToString(value);\n if (string.length > 100) {\n string = string.slice(0, 99) + '\\u2026';\n }\n string = string.replace(reNewLine, function(_char) {\n return JSON.stringify(_char).slice(1, -1);\n });\n return string;\n };\n });\n var require_is_promise = __commonJS(function(exports, module) {\n module.exports = isPromise;\n module.exports['default'] = isPromise;\n function isPromise(obj) {\n return !!obj && (_typeof(obj) === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n }\n });\n var require_promise = __commonJS(function() {\n 'use strict';\n var objectMap = require_map();\n var primitiveSet = require_primitive_set();\n var ensureString = require_validate_stringifiable_value();\n var toShortString = require_to_short_string_representation();\n var isPromise = require_is_promise();\n var nextTick = require_next_tick();\n var create = Object.create;\n var supportedModes = primitiveSet('then', 'then:finally', 'done', 'done:finally');\n require_registered_extensions().promise = function(mode, conf) {\n var waiting = create(null), cache2 = create(null), promises = create(null);\n if (mode === true) {\n mode = null;\n } else {\n mode = ensureString(mode);\n if (!supportedModes[mode]) {\n throw new TypeError('\\'' + toShortString(mode) + '\\' is not valid promise mode');\n }\n }\n conf.on('set', function(id, ignore, promise) {\n var isFailed = false;\n if (!isPromise(promise)) {\n cache2[id] = promise;\n conf.emit('setasync', id, 1);\n return;\n }\n waiting[id] = 1;\n promises[id] = promise;\n var onSuccess = function onSuccess(result) {\n var count = waiting[id];\n if (isFailed) {\n throw new Error('Memoizee error: Detected unordered then|done & finally resolution, which in turn makes proper detection of success/failure impossible (when in \\'done:finally\\' mode)\\nConsider to rely on \\'then\\' or \\'done\\' mode instead.');\n }\n if (!count) {\n return;\n }\n delete waiting[id];\n cache2[id] = result;\n conf.emit('setasync', id, count);\n };\n var onFailure = function onFailure() {\n isFailed = true;\n if (!waiting[id]) {\n return;\n }\n delete waiting[id];\n delete promises[id];\n conf['delete'](id);\n };\n var resolvedMode = mode;\n if (!resolvedMode) {\n resolvedMode = 'then';\n }\n if (resolvedMode === 'then') {\n var nextTickFailure = function nextTickFailure() {\n nextTick(onFailure);\n };\n promise = promise.then(function(result) {\n nextTick(onSuccess.bind(this, result));\n }, nextTickFailure);\n if (typeof promise['finally'] === 'function') {\n promise['finally'](nextTickFailure);\n }\n } else if (resolvedMode === 'done') {\n if (typeof promise.done !== 'function') {\n throw new Error('Memoizee error: Retrieved promise does not implement \\'done\\' in \\'done\\' mode');\n }\n promise.done(onSuccess, onFailure);\n } else if (resolvedMode === 'done:finally') {\n if (typeof promise.done !== 'function') {\n throw new Error('Memoizee error: Retrieved promise does not implement \\'done\\' in \\'done:finally\\' mode');\n }\n if (typeof promise['finally'] !== 'function') {\n throw new Error('Memoizee error: Retrieved promise does not implement \\'finally\\' in \\'done:finally\\' mode');\n }\n promise.done(onSuccess);\n promise['finally'](onFailure);\n }\n });\n conf.on('get', function(id, args, context) {\n var promise;\n if (waiting[id]) {\n ++waiting[id];\n return;\n }\n promise = promises[id];\n var emit = function emit() {\n conf.emit('getasync', id, args, context);\n };\n if (isPromise(promise)) {\n if (typeof promise.done === 'function') {\n promise.done(emit);\n } else {\n promise.then(function() {\n nextTick(emit);\n });\n }\n } else {\n emit();\n }\n });\n conf.on('delete', function(id) {\n delete promises[id];\n if (waiting[id]) {\n delete waiting[id];\n return;\n }\n if (!hasOwnProperty.call(cache2, id)) {\n return;\n }\n var result = cache2[id];\n delete cache2[id];\n conf.emit('deleteasync', id, [ result ]);\n });\n conf.on('clear', function() {\n var oldCache = cache2;\n cache2 = create(null);\n waiting = create(null);\n promises = create(null);\n conf.emit('clearasync', objectMap(oldCache, function(data) {\n return [ data ];\n }));\n });\n };\n });\n var require_dispose = __commonJS(function() {\n 'use strict';\n var callable = require_valid_callable();\n var forEach = require_for_each();\n var extensions = require_registered_extensions();\n var apply = Function.prototype.apply;\n extensions.dispose = function(dispose, conf, options) {\n var del;\n callable(dispose);\n if (options.async && extensions.async || options.promise && extensions.promise) {\n conf.on('deleteasync', del = function del(id, resultArray) {\n apply.call(dispose, null, resultArray);\n });\n conf.on('clearasync', function(cache2) {\n forEach(cache2, function(result, id) {\n del(id, result);\n });\n });\n return;\n }\n conf.on('delete', del = function del(id, result) {\n dispose(result);\n });\n conf.on('clear', function(cache2) {\n forEach(cache2, function(result, id) {\n del(id, result);\n });\n });\n };\n });\n var require_max_timeout = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = 2147483647;\n });\n var require_valid_timeout = __commonJS(function(exports, module) {\n 'use strict';\n var toPosInt = require_to_pos_integer();\n var maxTimeout = require_max_timeout();\n module.exports = function(value) {\n value = toPosInt(value);\n if (value > maxTimeout) {\n throw new TypeError(value + ' exceeds maximum possible timeout');\n }\n return value;\n };\n });\n var require_max_age = __commonJS(function() {\n 'use strict';\n var aFrom = require_from();\n var forEach = require_for_each();\n var nextTick = require_next_tick();\n var isPromise = require_is_promise();\n var timeout = require_valid_timeout();\n var extensions = require_registered_extensions();\n var noop3 = Function.prototype;\n var max2 = Math.max;\n var min = Math.min;\n var create = Object.create;\n extensions.maxAge = function(maxAge, conf, options) {\n var timeouts, postfix, preFetchAge, preFetchTimeouts;\n maxAge = timeout(maxAge);\n if (!maxAge) {\n return;\n }\n timeouts = create(null);\n postfix = options.async && extensions.async || options.promise && extensions.promise ? 'async' : '';\n conf.on('set' + postfix, function(id) {\n timeouts[id] = setTimeout(function() {\n conf['delete'](id);\n }, maxAge);\n if (typeof timeouts[id].unref === 'function') {\n timeouts[id].unref();\n }\n if (!preFetchTimeouts) {\n return;\n }\n if (preFetchTimeouts[id]) {\n if (preFetchTimeouts[id] !== 'nextTick') {\n clearTimeout(preFetchTimeouts[id]);\n }\n }\n preFetchTimeouts[id] = setTimeout(function() {\n delete preFetchTimeouts[id];\n }, preFetchAge);\n if (typeof preFetchTimeouts[id].unref === 'function') {\n preFetchTimeouts[id].unref();\n }\n });\n conf.on('delete' + postfix, function(id) {\n clearTimeout(timeouts[id]);\n delete timeouts[id];\n if (!preFetchTimeouts) {\n return;\n }\n if (preFetchTimeouts[id] !== 'nextTick') {\n clearTimeout(preFetchTimeouts[id]);\n }\n delete preFetchTimeouts[id];\n });\n if (options.preFetch) {\n if (options.preFetch === true || isNaN(options.preFetch)) {\n preFetchAge = .333;\n } else {\n preFetchAge = max2(min(Number(options.preFetch), 1), 0);\n }\n if (preFetchAge) {\n preFetchTimeouts = {};\n preFetchAge = (1 - preFetchAge) * maxAge;\n conf.on('get' + postfix, function(id, args, context) {\n if (!preFetchTimeouts[id]) {\n preFetchTimeouts[id] = 'nextTick';\n nextTick(function() {\n var result;\n if (preFetchTimeouts[id] !== 'nextTick') {\n return;\n }\n delete preFetchTimeouts[id];\n conf['delete'](id);\n if (options.async) {\n args = aFrom(args);\n args.push(noop3);\n }\n result = conf.memoized.apply(context, args);\n if (options.promise) {\n if (isPromise(result)) {\n if (typeof result.done === 'function') {\n result.done(noop3, noop3);\n } else {\n result.then(noop3, noop3);\n }\n }\n }\n });\n }\n });\n }\n }\n conf.on('clear' + postfix, function() {\n forEach(timeouts, function(id) {\n clearTimeout(id);\n });\n timeouts = {};\n if (preFetchTimeouts) {\n forEach(preFetchTimeouts, function(id) {\n if (id !== 'nextTick') {\n clearTimeout(id);\n }\n });\n preFetchTimeouts = {};\n }\n });\n };\n });\n var require_lru_queue = __commonJS(function(exports, module) {\n 'use strict';\n var toPosInt = require_to_pos_integer();\n var create = Object.create;\n var hasOwnProperty2 = Object.prototype.hasOwnProperty;\n module.exports = function(limit) {\n var size = 0, base = 1, queue2 = create(null), map = create(null), index = 0, del;\n limit = toPosInt(limit);\n return {\n hit: function hit(id) {\n var oldIndex = map[id], nuIndex = ++index;\n queue2[nuIndex] = id;\n map[id] = nuIndex;\n if (!oldIndex) {\n ++size;\n if (size <= limit) {\n return;\n }\n id = queue2[base];\n del(id);\n return id;\n }\n delete queue2[oldIndex];\n if (base !== oldIndex) {\n return;\n }\n while (!hasOwnProperty2.call(queue2, ++base)) {\n continue;\n }\n },\n delete: del = function del(id) {\n var oldIndex = map[id];\n if (!oldIndex) {\n return;\n }\n delete queue2[oldIndex];\n delete map[id];\n --size;\n if (base !== oldIndex) {\n return;\n }\n if (!size) {\n index = 0;\n base = 1;\n return;\n }\n while (!hasOwnProperty2.call(queue2, ++base)) {\n continue;\n }\n },\n clear: function clear() {\n size = 0;\n base = 1;\n queue2 = create(null);\n map = create(null);\n index = 0;\n }\n };\n };\n });\n var require_max = __commonJS(function() {\n 'use strict';\n var toPosInteger = require_to_pos_integer();\n var lruQueue = require_lru_queue();\n var extensions = require_registered_extensions();\n extensions.max = function(max2, conf, options) {\n var postfix, queue2, hit;\n max2 = toPosInteger(max2);\n if (!max2) {\n return;\n }\n queue2 = lruQueue(max2);\n postfix = options.async && extensions.async || options.promise && extensions.promise ? 'async' : '';\n conf.on('set' + postfix, hit = function hit(id) {\n id = queue2.hit(id);\n if (id === void 0) {\n return;\n }\n conf['delete'](id);\n });\n conf.on('get' + postfix, hit);\n conf.on('delete' + postfix, queue2['delete']);\n conf.on('clear' + postfix, queue2.clear);\n };\n });\n var require_ref_counter = __commonJS(function() {\n 'use strict';\n var d2 = require_d();\n var extensions = require_registered_extensions();\n var create = Object.create;\n var defineProperties = Object.defineProperties;\n extensions.refCounter = function(ignore, conf, options) {\n var cache2, postfix;\n cache2 = create(null);\n postfix = options.async && extensions.async || options.promise && extensions.promise ? 'async' : '';\n conf.on('set' + postfix, function(id, length) {\n cache2[id] = length || 1;\n });\n conf.on('get' + postfix, function(id) {\n ++cache2[id];\n });\n conf.on('delete' + postfix, function(id) {\n delete cache2[id];\n });\n conf.on('clear' + postfix, function() {\n cache2 = {};\n });\n defineProperties(conf.memoized, {\n deleteRef: d2(function() {\n var id = conf.get(arguments);\n if (id === null) {\n return null;\n }\n if (!cache2[id]) {\n return null;\n }\n if (!--cache2[id]) {\n conf['delete'](id);\n return true;\n }\n return false;\n }),\n getRefCount: d2(function() {\n var id = conf.get(arguments);\n if (id === null) {\n return 0;\n }\n if (!cache2[id]) {\n return 0;\n }\n return cache2[id];\n })\n });\n };\n });\n var require_memoizee = __commonJS(function(exports, module) {\n 'use strict';\n var normalizeOpts = require_normalize_options();\n var resolveLength = require_resolve_length();\n var plain = require_plain();\n module.exports = function(fn) {\n var options = normalizeOpts(arguments[1]), length;\n if (!options.normalizer) {\n length = options.length = resolveLength(options.length, fn.length, options.async);\n if (length !== 0) {\n if (options.primitive) {\n if (length === false) {\n options.normalizer = require_primitive();\n } else if (length > 1) {\n options.normalizer = require_get_primitive_fixed()(length);\n }\n } else if (length === false) {\n options.normalizer = require_get()();\n } else if (length === 1) {\n options.normalizer = require_get_1()();\n } else {\n options.normalizer = require_get_fixed()(length);\n }\n }\n }\n if (options.async) {\n require_async();\n }\n if (options.promise) {\n require_promise();\n }\n if (options.dispose) {\n require_dispose();\n }\n if (options.maxAge) {\n require_max_age();\n }\n if (options.max) {\n require_max();\n }\n if (options.refCounter) {\n require_ref_counter();\n }\n return plain(fn, options);\n };\n });\n var require_utils = __commonJS(function(exports) {\n 'use strict';\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n function isIdentStart(c4) {\n return c4 >= 'a' && c4 <= 'z' || c4 >= 'A' && c4 <= 'Z' || c4 === '-' || c4 === '_';\n }\n exports.isIdentStart = isIdentStart;\n function isIdent(c4) {\n return c4 >= 'a' && c4 <= 'z' || c4 >= 'A' && c4 <= 'Z' || c4 >= '0' && c4 <= '9' || c4 === '-' || c4 === '_';\n }\n exports.isIdent = isIdent;\n function isHex(c4) {\n return c4 >= 'a' && c4 <= 'f' || c4 >= 'A' && c4 <= 'F' || c4 >= '0' && c4 <= '9';\n }\n exports.isHex = isHex;\n function escapeIdentifier(s) {\n var len = s.length;\n var result = '';\n var i = 0;\n while (i < len) {\n var chr = s.charAt(i);\n if (exports.identSpecialChars[chr]) {\n result += '\\\\' + chr;\n } else {\n if (!(chr === '_' || chr === '-' || chr >= 'A' && chr <= 'Z' || chr >= 'a' && chr <= 'z' || i !== 0 && chr >= '0' && chr <= '9')) {\n var charCode = chr.charCodeAt(0);\n if ((charCode & 63488) === 55296) {\n var extraCharCode = s.charCodeAt(i++);\n if ((charCode & 64512) !== 55296 || (extraCharCode & 64512) !== 56320) {\n throw Error('UCS-2(decode): illegal sequence');\n }\n charCode = ((charCode & 1023) << 10) + (extraCharCode & 1023) + 65536;\n }\n result += '\\\\' + charCode.toString(16) + ' ';\n } else {\n result += chr;\n }\n }\n i++;\n }\n return result;\n }\n exports.escapeIdentifier = escapeIdentifier;\n function escapeStr(s) {\n var len = s.length;\n var result = '';\n var i = 0;\n var replacement;\n while (i < len) {\n var chr = s.charAt(i);\n if (chr === '\"') {\n chr = '\\\\\"';\n } else if (chr === '\\\\') {\n chr = '\\\\\\\\';\n } else if ((replacement = exports.strReplacementsRev[chr]) !== void 0) {\n chr = replacement;\n }\n result += chr;\n i++;\n }\n return '\"' + result + '\"';\n }\n exports.escapeStr = escapeStr;\n exports.identSpecialChars = {\n '!': true,\n '\"': true,\n '#': true,\n $: true,\n '%': true,\n '&': true,\n '\\'': true,\n '(': true,\n ')': true,\n '*': true,\n '+': true,\n ',': true,\n '.': true,\n '/': true,\n ';': true,\n '<': true,\n '=': true,\n '>': true,\n '?': true,\n '@': true,\n '[': true,\n '\\\\': true,\n ']': true,\n '^': true,\n '`': true,\n '{': true,\n '|': true,\n '}': true,\n '~': true\n };\n exports.strReplacementsRev = {\n '\\n': '\\\\n',\n '\\r': '\\\\r',\n '\\t': '\\\\t',\n '\\f': '\\\\f',\n '\\v': '\\\\v'\n };\n exports.singleQuoteEscapeChars = {\n n: '\\n',\n r: '\\r',\n t: '\\t',\n f: '\\f',\n '\\\\': '\\\\',\n '\\'': '\\''\n };\n exports.doubleQuotesEscapeChars = {\n n: '\\n',\n r: '\\r',\n t: '\\t',\n f: '\\f',\n '\\\\': '\\\\',\n '\"': '\"'\n };\n });\n var require_parser_context = __commonJS(function(exports) {\n 'use strict';\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n var utils_1 = require_utils();\n function parseCssSelector(str, pos, pseudos, attrEqualityMods, ruleNestingOperators, substitutesEnabled) {\n var l = str.length;\n var chr = '';\n function getStr(quote, escapeTable) {\n var result = '';\n pos++;\n chr = str.charAt(pos);\n while (pos < l) {\n if (chr === quote) {\n pos++;\n return result;\n } else if (chr === '\\\\') {\n pos++;\n chr = str.charAt(pos);\n var esc = void 0;\n if (chr === quote) {\n result += quote;\n } else if ((esc = escapeTable[chr]) !== void 0) {\n result += esc;\n } else if (utils_1.isHex(chr)) {\n var hex = chr;\n pos++;\n chr = str.charAt(pos);\n while (utils_1.isHex(chr)) {\n hex += chr;\n pos++;\n chr = str.charAt(pos);\n }\n if (chr === ' ') {\n pos++;\n chr = str.charAt(pos);\n }\n result += String.fromCharCode(parseInt(hex, 16));\n continue;\n } else {\n result += chr;\n }\n } else {\n result += chr;\n }\n pos++;\n chr = str.charAt(pos);\n }\n return result;\n }\n function getIdent() {\n var result = '';\n chr = str.charAt(pos);\n while (pos < l) {\n if (utils_1.isIdent(chr)) {\n result += chr;\n } else if (chr === '\\\\') {\n pos++;\n if (pos >= l) {\n throw Error('Expected symbol but end of file reached.');\n }\n chr = str.charAt(pos);\n if (utils_1.identSpecialChars[chr]) {\n result += chr;\n } else if (utils_1.isHex(chr)) {\n var hex = chr;\n pos++;\n chr = str.charAt(pos);\n while (utils_1.isHex(chr)) {\n hex += chr;\n pos++;\n chr = str.charAt(pos);\n }\n if (chr === ' ') {\n pos++;\n chr = str.charAt(pos);\n }\n result += String.fromCharCode(parseInt(hex, 16));\n continue;\n } else {\n result += chr;\n }\n } else {\n return result;\n }\n pos++;\n chr = str.charAt(pos);\n }\n return result;\n }\n function skipWhitespace() {\n chr = str.charAt(pos);\n var result = false;\n while (chr === ' ' || chr === '\\t' || chr === '\\n' || chr === '\\r' || chr === '\\f') {\n result = true;\n pos++;\n chr = str.charAt(pos);\n }\n return result;\n }\n function parse3() {\n var res = parseSelector();\n if (pos < l) {\n throw Error('Rule expected but \"' + str.charAt(pos) + '\" found.');\n }\n return res;\n }\n function parseSelector() {\n var selector = parseSingleSelector();\n if (!selector) {\n return null;\n }\n var res = selector;\n chr = str.charAt(pos);\n while (chr === ',') {\n pos++;\n skipWhitespace();\n if (res.type !== 'selectors') {\n res = {\n type: 'selectors',\n selectors: [ selector ]\n };\n }\n selector = parseSingleSelector();\n if (!selector) {\n throw Error('Rule expected after \",\".');\n }\n res.selectors.push(selector);\n }\n return res;\n }\n function parseSingleSelector() {\n skipWhitespace();\n var selector = {\n type: 'ruleSet'\n };\n var rule = parseRule();\n if (!rule) {\n return null;\n }\n var currentRule = selector;\n while (rule) {\n rule.type = 'rule';\n currentRule.rule = rule;\n currentRule = rule;\n skipWhitespace();\n chr = str.charAt(pos);\n if (pos >= l || chr === ',' || chr === ')') {\n break;\n }\n if (ruleNestingOperators[chr]) {\n var op = chr;\n pos++;\n skipWhitespace();\n rule = parseRule();\n if (!rule) {\n throw Error('Rule expected after \"' + op + '\".');\n }\n rule.nestingOperator = op;\n } else {\n rule = parseRule();\n if (rule) {\n rule.nestingOperator = null;\n }\n }\n }\n return selector;\n }\n function parseRule() {\n var rule = null;\n while (pos < l) {\n chr = str.charAt(pos);\n if (chr === '*') {\n pos++;\n (rule = rule || {}).tagName = '*';\n } else if (utils_1.isIdentStart(chr) || chr === '\\\\') {\n (rule = rule || {}).tagName = getIdent();\n } else if (chr === '.') {\n pos++;\n rule = rule || {};\n (rule.classNames = rule.classNames || []).push(getIdent());\n } else if (chr === '#') {\n pos++;\n (rule = rule || {}).id = getIdent();\n } else if (chr === '[') {\n pos++;\n skipWhitespace();\n var attr = {\n name: getIdent()\n };\n skipWhitespace();\n if (chr === ']') {\n pos++;\n } else {\n var operator = '';\n if (attrEqualityMods[chr]) {\n operator = chr;\n pos++;\n chr = str.charAt(pos);\n }\n if (pos >= l) {\n throw Error('Expected \"=\" but end of file reached.');\n }\n if (chr !== '=') {\n throw Error('Expected \"=\" but \"' + chr + '\" found.');\n }\n attr.operator = operator + '=';\n pos++;\n skipWhitespace();\n var attrValue = '';\n attr.valueType = 'string';\n if (chr === '\"') {\n attrValue = getStr('\"', utils_1.doubleQuotesEscapeChars);\n } else if (chr === '\\'') {\n attrValue = getStr('\\'', utils_1.singleQuoteEscapeChars);\n } else if (substitutesEnabled && chr === '$') {\n pos++;\n attrValue = getIdent();\n attr.valueType = 'substitute';\n } else {\n while (pos < l) {\n if (chr === ']') {\n break;\n }\n attrValue += chr;\n pos++;\n chr = str.charAt(pos);\n }\n attrValue = attrValue.trim();\n }\n skipWhitespace();\n if (pos >= l) {\n throw Error('Expected \"]\" but end of file reached.');\n }\n if (chr !== ']') {\n throw Error('Expected \"]\" but \"' + chr + '\" found.');\n }\n pos++;\n attr.value = attrValue;\n }\n rule = rule || {};\n (rule.attrs = rule.attrs || []).push(attr);\n } else if (chr === ':') {\n pos++;\n var pseudoName = getIdent();\n var pseudo = {\n name: pseudoName\n };\n if (chr === '(') {\n pos++;\n var value = '';\n skipWhitespace();\n if (pseudos[pseudoName] === 'selector') {\n pseudo.valueType = 'selector';\n value = parseSelector();\n } else {\n pseudo.valueType = pseudos[pseudoName] || 'string';\n if (chr === '\"') {\n value = getStr('\"', utils_1.doubleQuotesEscapeChars);\n } else if (chr === '\\'') {\n value = getStr('\\'', utils_1.singleQuoteEscapeChars);\n } else if (substitutesEnabled && chr === '$') {\n pos++;\n value = getIdent();\n pseudo.valueType = 'substitute';\n } else {\n while (pos < l) {\n if (chr === ')') {\n break;\n }\n value += chr;\n pos++;\n chr = str.charAt(pos);\n }\n value = value.trim();\n }\n skipWhitespace();\n }\n if (pos >= l) {\n throw Error('Expected \")\" but end of file reached.');\n }\n if (chr !== ')') {\n throw Error('Expected \")\" but \"' + chr + '\" found.');\n }\n pos++;\n pseudo.value = value;\n }\n rule = rule || {};\n (rule.pseudos = rule.pseudos || []).push(pseudo);\n } else {\n break;\n }\n }\n return rule;\n }\n return parse3();\n }\n exports.parseCssSelector = parseCssSelector;\n });\n var require_render = __commonJS(function(exports) {\n 'use strict';\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n var utils_1 = require_utils();\n function renderEntity(entity) {\n var res = '';\n switch (entity.type) {\n case 'ruleSet':\n var currentEntity = entity.rule;\n var parts = [];\n while (currentEntity) {\n if (currentEntity.nestingOperator) {\n parts.push(currentEntity.nestingOperator);\n }\n parts.push(renderEntity(currentEntity));\n currentEntity = currentEntity.rule;\n }\n res = parts.join(' ');\n break;\n\n case 'selectors':\n res = entity.selectors.map(renderEntity).join(', ');\n break;\n\n case 'rule':\n if (entity.tagName) {\n if (entity.tagName === '*') {\n res = '*';\n } else {\n res = utils_1.escapeIdentifier(entity.tagName);\n }\n }\n if (entity.id) {\n res += '#' + utils_1.escapeIdentifier(entity.id);\n }\n if (entity.classNames) {\n res += entity.classNames.map(function(cn) {\n return '.' + utils_1.escapeIdentifier(cn);\n }).join('');\n }\n if (entity.attrs) {\n res += entity.attrs.map(function(attr) {\n if ('operator' in attr) {\n if (attr.valueType === 'substitute') {\n return '[' + utils_1.escapeIdentifier(attr.name) + attr.operator + '$' + attr.value + ']';\n } else {\n return '[' + utils_1.escapeIdentifier(attr.name) + attr.operator + utils_1.escapeStr(attr.value) + ']';\n }\n } else {\n return '[' + utils_1.escapeIdentifier(attr.name) + ']';\n }\n }).join('');\n }\n if (entity.pseudos) {\n res += entity.pseudos.map(function(pseudo) {\n if (pseudo.valueType) {\n if (pseudo.valueType === 'selector') {\n return ':' + utils_1.escapeIdentifier(pseudo.name) + '(' + renderEntity(pseudo.value) + ')';\n } else if (pseudo.valueType === 'substitute') {\n return ':' + utils_1.escapeIdentifier(pseudo.name) + '($' + pseudo.value + ')';\n } else if (pseudo.valueType === 'numeric') {\n return ':' + utils_1.escapeIdentifier(pseudo.name) + '(' + pseudo.value + ')';\n } else {\n return ':' + utils_1.escapeIdentifier(pseudo.name) + '(' + utils_1.escapeIdentifier(pseudo.value) + ')';\n }\n } else {\n return ':' + utils_1.escapeIdentifier(pseudo.name);\n }\n }).join('');\n }\n break;\n\n default:\n throw Error('Unknown entity type: \"' + entity.type + '\".');\n }\n return res;\n }\n exports.renderEntity = renderEntity;\n });\n var require_lib = __commonJS(function(exports) {\n 'use strict';\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n var parser_context_1 = require_parser_context();\n var render_1 = require_render();\n var CssSelectorParser3 = function() {\n function CssSelectorParser4() {\n this.pseudos = {};\n this.attrEqualityMods = {};\n this.ruleNestingOperators = {};\n this.substitutesEnabled = false;\n }\n CssSelectorParser4.prototype.registerSelectorPseudos = function() {\n var pseudos = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n pseudos[_i] = arguments[_i];\n }\n for (var _a = 0, pseudos_1 = pseudos; _a < pseudos_1.length; _a++) {\n var pseudo = pseudos_1[_a];\n this.pseudos[pseudo] = 'selector';\n }\n return this;\n };\n CssSelectorParser4.prototype.unregisterSelectorPseudos = function() {\n var pseudos = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n pseudos[_i] = arguments[_i];\n }\n for (var _a = 0, pseudos_2 = pseudos; _a < pseudos_2.length; _a++) {\n var pseudo = pseudos_2[_a];\n delete this.pseudos[pseudo];\n }\n return this;\n };\n CssSelectorParser4.prototype.registerNumericPseudos = function() {\n var pseudos = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n pseudos[_i] = arguments[_i];\n }\n for (var _a = 0, pseudos_3 = pseudos; _a < pseudos_3.length; _a++) {\n var pseudo = pseudos_3[_a];\n this.pseudos[pseudo] = 'numeric';\n }\n return this;\n };\n CssSelectorParser4.prototype.unregisterNumericPseudos = function() {\n var pseudos = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n pseudos[_i] = arguments[_i];\n }\n for (var _a = 0, pseudos_4 = pseudos; _a < pseudos_4.length; _a++) {\n var pseudo = pseudos_4[_a];\n delete this.pseudos[pseudo];\n }\n return this;\n };\n CssSelectorParser4.prototype.registerNestingOperators = function() {\n var operators = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operators[_i] = arguments[_i];\n }\n for (var _a = 0, operators_1 = operators; _a < operators_1.length; _a++) {\n var operator = operators_1[_a];\n this.ruleNestingOperators[operator] = true;\n }\n return this;\n };\n CssSelectorParser4.prototype.unregisterNestingOperators = function() {\n var operators = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operators[_i] = arguments[_i];\n }\n for (var _a = 0, operators_2 = operators; _a < operators_2.length; _a++) {\n var operator = operators_2[_a];\n delete this.ruleNestingOperators[operator];\n }\n return this;\n };\n CssSelectorParser4.prototype.registerAttrEqualityMods = function() {\n var mods = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n mods[_i] = arguments[_i];\n }\n for (var _a = 0, mods_1 = mods; _a < mods_1.length; _a++) {\n var mod = mods_1[_a];\n this.attrEqualityMods[mod] = true;\n }\n return this;\n };\n CssSelectorParser4.prototype.unregisterAttrEqualityMods = function() {\n var mods = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n mods[_i] = arguments[_i];\n }\n for (var _a = 0, mods_2 = mods; _a < mods_2.length; _a++) {\n var mod = mods_2[_a];\n delete this.attrEqualityMods[mod];\n }\n return this;\n };\n CssSelectorParser4.prototype.enableSubstitutes = function() {\n this.substitutesEnabled = true;\n return this;\n };\n CssSelectorParser4.prototype.disableSubstitutes = function() {\n this.substitutesEnabled = false;\n return this;\n };\n CssSelectorParser4.prototype.parse = function(str) {\n return parser_context_1.parseCssSelector(str, 0, this.pseudos, this.attrEqualityMods, this.ruleNestingOperators, this.substitutesEnabled);\n };\n CssSelectorParser4.prototype.render = function(path) {\n return render_1.renderEntity(path).trim();\n };\n return CssSelectorParser4;\n }();\n exports.CssSelectorParser = CssSelectorParser3;\n });\n var require_es6_promise = __commonJS(function(exports, module) {\n (function(global2, factory) {\n _typeof(exports) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global2.ES6Promise = factory();\n })(exports, function() {\n 'use strict';\n function objectOrFunction(x) {\n var type2 = _typeof(x);\n return x !== null && (type2 === 'object' || type2 === 'function');\n }\n function isFunction(x) {\n return typeof x === 'function';\n }\n var _isArray = void 0;\n if (Array.isArray) {\n _isArray = Array.isArray;\n } else {\n _isArray = function _isArray(x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n }\n var isArray = _isArray;\n var len = 0;\n var vertxNext = void 0;\n var customSchedulerFn = void 0;\n var asap = function asap2(callback, arg) {\n queue2[len] = callback;\n queue2[len + 1] = arg;\n len += 2;\n if (len === 2) {\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n };\n function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n }\n function setAsap(asapFn) {\n asap = asapFn;\n }\n var browserWindow = typeof window !== 'undefined' ? window : void 0;\n var browserGlobal = browserWindow || {};\n var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\n var isNode2 = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n function useNextTick() {\n return function() {\n return process.nextTick(flush);\n };\n }\n function useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function() {\n vertxNext(flush);\n };\n }\n return useSetTimeout();\n }\n function useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, {\n characterData: true\n });\n return function() {\n node.data = iterations = ++iterations % 2;\n };\n }\n function useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function() {\n return channel.port2.postMessage(0);\n };\n }\n function useSetTimeout() {\n var globalSetTimeout = setTimeout;\n return function() {\n return globalSetTimeout(flush, 1);\n };\n }\n var queue2 = new Array(1e3);\n function flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue2[i];\n var arg = queue2[i + 1];\n callback(arg);\n queue2[i] = void 0;\n queue2[i + 1] = void 0;\n }\n len = 0;\n }\n function attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n }\n var scheduleFlush = void 0;\n if (isNode2) {\n scheduleFlush = useNextTick();\n } else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n } else if (isWorker) {\n scheduleFlush = useMessageChannel();\n } else if (browserWindow === void 0 && true) {\n scheduleFlush = attemptVertx();\n } else {\n scheduleFlush = useSetTimeout();\n }\n function then(onFulfillment, onRejection) {\n var parent = this;\n var child = new this.constructor(noop3);\n if (child[PROMISE_ID] === void 0) {\n makePromise(child);\n }\n var _state = parent._state;\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function() {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe2(parent, child, onFulfillment, onRejection);\n }\n return child;\n }\n function resolve$1(object) {\n var Constructor = this;\n if (object && _typeof(object) === 'object' && object.constructor === Constructor) {\n return object;\n }\n var promise = new Constructor(noop3);\n resolve(promise, object);\n return promise;\n }\n var PROMISE_ID = Math.random().toString(36).substring(2);\n function noop3() {}\n var PENDING = void 0;\n var FULFILLED = 1;\n var REJECTED = 2;\n function selfFulfillment() {\n return new TypeError('You cannot resolve a promise with itself');\n }\n function cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n }\n function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n }\n function handleForeignThenable(promise, thenable, then$$1) {\n asap(function(promise2) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function(value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise2, value);\n } else {\n fulfill(promise2, value);\n }\n }, function(reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n reject(promise2, reason);\n }, 'Settle: ' + (promise2._label || ' unknown promise'));\n if (!sealed && error) {\n sealed = true;\n reject(promise2, error);\n }\n }, promise);\n }\n function handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe2(thenable, void 0, function(value) {\n return resolve(promise, value);\n }, function(reason) {\n return reject(promise, reason);\n });\n }\n }\n function handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === void 0) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n }\n function resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then$$1 = void 0;\n try {\n then$$1 = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then$$1);\n } else {\n fulfill(promise, value);\n }\n }\n function publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n publish(promise);\n }\n function fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._result = value;\n promise._state = FULFILLED;\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n }\n function reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n asap(publishRejection, promise);\n }\n function subscribe2(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n parent._onerror = null;\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n }\n function publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n if (subscribers.length === 0) {\n return;\n }\n var child = void 0, callback = void 0, detail = promise._result;\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n promise._subscribers.length = 0;\n }\n function invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback), value = void 0, error = void 0, succeeded = true;\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n if (promise._state !== PENDING) {} else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n function initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n }\n var id = 0;\n function nextId() {\n return id++;\n }\n function makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = void 0;\n promise._result = void 0;\n promise._subscribers = [];\n }\n function validationError() {\n return new Error('Array Methods must be provided an Array');\n }\n var Enumerator = function() {\n function Enumerator2(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop3);\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n this._result = new Array(this.length);\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n Enumerator2.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n Enumerator2.prototype._eachEntry = function _eachEntry(entry, i) {\n var c4 = this._instanceConstructor;\n var resolve$$1 = c4.resolve;\n if (resolve$$1 === resolve$1) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c4 === Promise$1) {\n var promise = new c4(noop3);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c4(function(resolve$$12) {\n return resolve$$12(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n Enumerator2.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n if (promise._state === PENDING) {\n this._remaining--;\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n Enumerator2.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n subscribe2(promise, void 0, function(value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function(reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n return Enumerator2;\n }();\n function all(entries) {\n return new Enumerator(this, entries).promise;\n }\n function race(entries) {\n var Constructor = this;\n if (!isArray(entries)) {\n return new Constructor(function(_, reject2) {\n return reject2(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function(resolve2, reject2) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve2, reject2);\n }\n });\n }\n }\n function reject$1(reason) {\n var Constructor = this;\n var promise = new Constructor(noop3);\n reject(promise, reason);\n return promise;\n }\n function needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n }\n function needsNew() {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n var Promise$1 = function() {\n function Promise2(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = void 0;\n this._subscribers = [];\n if (noop3 !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise2 ? initializePromise(this, resolver) : needsNew();\n }\n }\n Promise2.prototype['catch'] = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n Promise2.prototype['finally'] = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n if (isFunction(callback)) {\n return promise.then(function(value) {\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n }, function(reason) {\n return constructor.resolve(callback()).then(function() {\n throw reason;\n });\n });\n }\n return promise.then(callback, callback);\n };\n return Promise2;\n }();\n Promise$1.prototype.then = then;\n Promise$1.all = all;\n Promise$1.race = race;\n Promise$1.resolve = resolve$1;\n Promise$1.reject = reject$1;\n Promise$1._setScheduler = setScheduler;\n Promise$1._setAsap = setAsap;\n Promise$1._asap = asap;\n function polyfill() {\n var local = void 0;\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n var P = local.Promise;\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {}\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n local.Promise = Promise$1;\n }\n Promise$1.polyfill = polyfill;\n Promise$1.Promise = Promise$1;\n return Promise$1;\n });\n });\n var require_typedarray = __commonJS(function(exports) {\n var MAX_ARRAY_LENGTH = 1e5;\n var ECMAScript = function() {\n var opts = Object.prototype.toString;\n var ophop = Object.prototype.hasOwnProperty;\n return {\n Class: function Class(v) {\n return opts.call(v).replace(/^\\[object *|\\]$/g, '');\n },\n HasProperty: function HasProperty(o, p2) {\n return p2 in o;\n },\n HasOwnProperty: function HasOwnProperty(o, p2) {\n return ophop.call(o, p2);\n },\n IsCallable: function IsCallable(o) {\n return typeof o === 'function';\n },\n ToInt32: function ToInt32(v) {\n return v >> 0;\n },\n ToUint32: function ToUint32(v) {\n return v >>> 0;\n }\n };\n }();\n var LN2 = Math.LN2;\n var abs = Math.abs;\n var floor = Math.floor;\n var log2 = Math.log;\n var min = Math.min;\n var pow = Math.pow;\n var round = Math.round;\n function clamp3(v, minimum, max2) {\n return v < minimum ? minimum : v > max2 ? max2 : v;\n }\n var getOwnPropNames = Object.getOwnPropertyNames || function(o) {\n if (o !== Object(o)) {\n throw new TypeError('Object.getOwnPropertyNames called on non-object');\n }\n var props = [], p2;\n for (p2 in o) {\n if (ECMAScript.HasOwnProperty(o, p2)) {\n props.push(p2);\n }\n }\n return props;\n };\n var defineProp;\n if (Object.defineProperty && function() {\n try {\n Object.defineProperty({}, 'x', {});\n return true;\n } catch (e) {\n return false;\n }\n }()) {\n defineProp = Object.defineProperty;\n } else {\n defineProp = function defineProp(o, p2, desc) {\n if (!o === Object(o)) {\n throw new TypeError('Object.defineProperty called on non-object');\n }\n if (ECMAScript.HasProperty(desc, 'get') && Object.prototype.__defineGetter__) {\n Object.prototype.__defineGetter__.call(o, p2, desc.get);\n }\n if (ECMAScript.HasProperty(desc, 'set') && Object.prototype.__defineSetter__) {\n Object.prototype.__defineSetter__.call(o, p2, desc.set);\n }\n if (ECMAScript.HasProperty(desc, 'value')) {\n o[p2] = desc.value;\n }\n return o;\n };\n }\n function configureProperties(obj) {\n if (getOwnPropNames && defineProp) {\n var props = getOwnPropNames(obj), i;\n for (i = 0; i < props.length; i += 1) {\n defineProp(obj, props[i], {\n value: obj[props[i]],\n writable: false,\n enumerable: false,\n configurable: false\n });\n }\n }\n }\n function makeArrayAccessors(obj) {\n if (!defineProp) {\n return;\n }\n if (obj.length > MAX_ARRAY_LENGTH) {\n throw new RangeError('Array too large for polyfill');\n }\n function makeArrayAccessor(index) {\n defineProp(obj, index, {\n get: function get() {\n return obj._getter(index);\n },\n set: function set(v) {\n obj._setter(index, v);\n },\n enumerable: true,\n configurable: false\n });\n }\n var i;\n for (i = 0; i < obj.length; i += 1) {\n makeArrayAccessor(i);\n }\n }\n function as_signed(value, bits) {\n var s = 32 - bits;\n return value << s >> s;\n }\n function as_unsigned(value, bits) {\n var s = 32 - bits;\n return value << s >>> s;\n }\n function packI8(n2) {\n return [ n2 & 255 ];\n }\n function unpackI8(bytes) {\n return as_signed(bytes[0], 8);\n }\n function packU8(n2) {\n return [ n2 & 255 ];\n }\n function unpackU8(bytes) {\n return as_unsigned(bytes[0], 8);\n }\n function packU8Clamped(n2) {\n n2 = round(Number(n2));\n return [ n2 < 0 ? 0 : n2 > 255 ? 255 : n2 & 255 ];\n }\n function packI16(n2) {\n return [ n2 >> 8 & 255, n2 & 255 ];\n }\n function unpackI16(bytes) {\n return as_signed(bytes[0] << 8 | bytes[1], 16);\n }\n function packU16(n2) {\n return [ n2 >> 8 & 255, n2 & 255 ];\n }\n function unpackU16(bytes) {\n return as_unsigned(bytes[0] << 8 | bytes[1], 16);\n }\n function packI32(n2) {\n return [ n2 >> 24 & 255, n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255 ];\n }\n function unpackI32(bytes) {\n return as_signed(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32);\n }\n function packU32(n2) {\n return [ n2 >> 24 & 255, n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255 ];\n }\n function unpackU32(bytes) {\n return as_unsigned(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32);\n }\n function packIEEE754(v, ebits, fbits) {\n var bias = (1 << ebits - 1) - 1;\n var s, e, f, i, bits, str, bytes;\n function roundToEven(n2) {\n var w = floor(n2);\n var fl = n2 - w;\n if (fl < .5) {\n return w;\n }\n if (fl > .5) {\n return w + 1;\n }\n return w % 2 ? w + 1 : w;\n }\n if (v !== v) {\n e = (1 << ebits) - 1;\n f = pow(2, fbits - 1);\n s = 0;\n } else if (v === Infinity || v === -Infinity) {\n e = (1 << ebits) - 1;\n f = 0;\n s = v < 0 ? 1 : 0;\n } else if (v === 0) {\n e = 0;\n f = 0;\n s = 1 / v === -Infinity ? 1 : 0;\n } else {\n s = v < 0;\n v = abs(v);\n if (v >= pow(2, 1 - bias)) {\n e = min(floor(log2(v) / LN2), 1023);\n f = roundToEven(v / pow(2, e) * pow(2, fbits));\n if (f / pow(2, fbits) >= 2) {\n e = e + 1;\n f = 1;\n }\n if (e > bias) {\n e = (1 << ebits) - 1;\n f = 0;\n } else {\n e = e + bias;\n f = f - pow(2, fbits);\n }\n } else {\n e = 0;\n f = roundToEven(v / pow(2, 1 - bias - fbits));\n }\n }\n bits = [];\n for (i = fbits; i; i -= 1) {\n bits.push(f % 2 ? 1 : 0);\n f = floor(f / 2);\n }\n for (i = ebits; i; i -= 1) {\n bits.push(e % 2 ? 1 : 0);\n e = floor(e / 2);\n }\n bits.push(s ? 1 : 0);\n bits.reverse();\n str = bits.join('');\n bytes = [];\n while (str.length) {\n bytes.push(parseInt(str.substring(0, 8), 2));\n str = str.substring(8);\n }\n return bytes;\n }\n function unpackIEEE754(bytes, ebits, fbits) {\n var bits = [], i, j, b2, str, bias, s, e, f;\n for (i = bytes.length; i; i -= 1) {\n b2 = bytes[i - 1];\n for (j = 8; j; j -= 1) {\n bits.push(b2 % 2 ? 1 : 0);\n b2 = b2 >> 1;\n }\n }\n bits.reverse();\n str = bits.join('');\n bias = (1 << ebits - 1) - 1;\n s = parseInt(str.substring(0, 1), 2) ? -1 : 1;\n e = parseInt(str.substring(1, 1 + ebits), 2);\n f = parseInt(str.substring(1 + ebits), 2);\n if (e === (1 << ebits) - 1) {\n return f === 0 ? s * Infinity : NaN;\n } else if (e > 0) {\n return s * pow(2, e - bias) * (1 + f / pow(2, fbits));\n } else if (f !== 0) {\n return s * pow(2, -(bias - 1)) * (f / pow(2, fbits));\n }\n return s < 0 ? -0 : 0;\n }\n function unpackF64(b2) {\n return unpackIEEE754(b2, 11, 52);\n }\n function packF64(v) {\n return packIEEE754(v, 11, 52);\n }\n function unpackF32(b2) {\n return unpackIEEE754(b2, 8, 23);\n }\n function packF32(v) {\n return packIEEE754(v, 8, 23);\n }\n (function() {\n function ArrayBuffer(length) {\n length = ECMAScript.ToInt32(length);\n if (length < 0) {\n throw new RangeError('ArrayBuffer size is not a small enough positive integer');\n }\n this.byteLength = length;\n this._bytes = [];\n this._bytes.length = length;\n var i;\n for (i = 0; i < this.byteLength; i += 1) {\n this._bytes[i] = 0;\n }\n configureProperties(this);\n }\n exports.ArrayBuffer = exports.ArrayBuffer || ArrayBuffer;\n function ArrayBufferView() {}\n function makeConstructor(bytesPerElement, pack, unpack) {\n var _ctor;\n _ctor = function ctor(buffer, byteOffset, length) {\n var array, sequence, i, s;\n if (!arguments.length || typeof arguments[0] === 'number') {\n this.length = ECMAScript.ToInt32(arguments[0]);\n if (length < 0) {\n throw new RangeError('ArrayBufferView size is not a small enough positive integer');\n }\n this.byteLength = this.length * this.BYTES_PER_ELEMENT;\n this.buffer = new ArrayBuffer(this.byteLength);\n this.byteOffset = 0;\n } else if (_typeof(arguments[0]) === 'object' && arguments[0].constructor === _ctor) {\n array = arguments[0];\n this.length = array.length;\n this.byteLength = this.length * this.BYTES_PER_ELEMENT;\n this.buffer = new ArrayBuffer(this.byteLength);\n this.byteOffset = 0;\n for (i = 0; i < this.length; i += 1) {\n this._setter(i, array._getter(i));\n }\n } else if (_typeof(arguments[0]) === 'object' && !(arguments[0] instanceof ArrayBuffer || ECMAScript.Class(arguments[0]) === 'ArrayBuffer')) {\n sequence = arguments[0];\n this.length = ECMAScript.ToUint32(sequence.length);\n this.byteLength = this.length * this.BYTES_PER_ELEMENT;\n this.buffer = new ArrayBuffer(this.byteLength);\n this.byteOffset = 0;\n for (i = 0; i < this.length; i += 1) {\n s = sequence[i];\n this._setter(i, Number(s));\n }\n } else if (_typeof(arguments[0]) === 'object' && (arguments[0] instanceof ArrayBuffer || ECMAScript.Class(arguments[0]) === 'ArrayBuffer')) {\n this.buffer = buffer;\n this.byteOffset = ECMAScript.ToUint32(byteOffset);\n if (this.byteOffset > this.buffer.byteLength) {\n throw new RangeError('byteOffset out of range');\n }\n if (this.byteOffset % this.BYTES_PER_ELEMENT) {\n throw new RangeError('ArrayBuffer length minus the byteOffset is not a multiple of the element size.');\n }\n if (arguments.length < 3) {\n this.byteLength = this.buffer.byteLength - this.byteOffset;\n if (this.byteLength % this.BYTES_PER_ELEMENT) {\n throw new RangeError('length of buffer minus byteOffset not a multiple of the element size');\n }\n this.length = this.byteLength / this.BYTES_PER_ELEMENT;\n } else {\n this.length = ECMAScript.ToUint32(length);\n this.byteLength = this.length * this.BYTES_PER_ELEMENT;\n }\n if (this.byteOffset + this.byteLength > this.buffer.byteLength) {\n throw new RangeError('byteOffset and length reference an area beyond the end of the buffer');\n }\n } else {\n throw new TypeError('Unexpected argument type(s)');\n }\n this.constructor = _ctor;\n configureProperties(this);\n makeArrayAccessors(this);\n };\n _ctor.prototype = new ArrayBufferView();\n _ctor.prototype.BYTES_PER_ELEMENT = bytesPerElement;\n _ctor.prototype._pack = pack;\n _ctor.prototype._unpack = unpack;\n _ctor.BYTES_PER_ELEMENT = bytesPerElement;\n _ctor.prototype._getter = function(index) {\n if (arguments.length < 1) {\n throw new SyntaxError('Not enough arguments');\n }\n index = ECMAScript.ToUint32(index);\n if (index >= this.length) {\n return void 0;\n }\n var bytes = [];\n for (var i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1, \n o += 1) {\n bytes.push(this.buffer._bytes[o]);\n }\n return this._unpack(bytes);\n };\n _ctor.prototype.get = _ctor.prototype._getter;\n _ctor.prototype._setter = function(index, value) {\n if (arguments.length < 2) {\n throw new SyntaxError('Not enough arguments');\n }\n index = ECMAScript.ToUint32(index);\n if (index < this.length) {\n var bytes = this._pack(value);\n var i;\n var o;\n for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1, \n o += 1) {\n this.buffer._bytes[o] = bytes[i];\n }\n }\n };\n _ctor.prototype.set = function(index, value) {\n if (arguments.length < 1) {\n throw new SyntaxError('Not enough arguments');\n }\n var array, sequence, offset, len, i, s, d2, byteOffset, byteLength, tmp;\n if (_typeof(arguments[0]) === 'object' && arguments[0].constructor === this.constructor) {\n array = arguments[0];\n offset = ECMAScript.ToUint32(arguments[1]);\n if (offset + array.length > this.length) {\n throw new RangeError('Offset plus length of array is out of range');\n }\n byteOffset = this.byteOffset + offset * this.BYTES_PER_ELEMENT;\n byteLength = array.length * this.BYTES_PER_ELEMENT;\n if (array.buffer === this.buffer) {\n tmp = [];\n for (i = 0, s = array.byteOffset; i < byteLength; i += 1, s += 1) {\n tmp[i] = array.buffer._bytes[s];\n }\n for (i = 0, d2 = byteOffset; i < byteLength; i += 1, d2 += 1) {\n this.buffer._bytes[d2] = tmp[i];\n }\n } else {\n for (i = 0, s = array.byteOffset, d2 = byteOffset; i < byteLength; i += 1, \n s += 1, d2 += 1) {\n this.buffer._bytes[d2] = array.buffer._bytes[s];\n }\n }\n } else if (_typeof(arguments[0]) === 'object' && typeof arguments[0].length !== 'undefined') {\n sequence = arguments[0];\n len = ECMAScript.ToUint32(sequence.length);\n offset = ECMAScript.ToUint32(arguments[1]);\n if (offset + len > this.length) {\n throw new RangeError('Offset plus length of array is out of range');\n }\n for (i = 0; i < len; i += 1) {\n s = sequence[i];\n this._setter(offset + i, Number(s));\n }\n } else {\n throw new TypeError('Unexpected argument type(s)');\n }\n };\n _ctor.prototype.subarray = function(start, end) {\n start = ECMAScript.ToInt32(start);\n end = ECMAScript.ToInt32(end);\n if (arguments.length < 1) {\n start = 0;\n }\n if (arguments.length < 2) {\n end = this.length;\n }\n if (start < 0) {\n start = this.length + start;\n }\n if (end < 0) {\n end = this.length + end;\n }\n start = clamp3(start, 0, this.length);\n end = clamp3(end, 0, this.length);\n var len = end - start;\n if (len < 0) {\n len = 0;\n }\n return new this.constructor(this.buffer, this.byteOffset + start * this.BYTES_PER_ELEMENT, len);\n };\n return _ctor;\n }\n var Int8Array = makeConstructor(1, packI8, unpackI8);\n var Uint8Array2 = makeConstructor(1, packU8, unpackU8);\n var Uint8ClampedArray2 = makeConstructor(1, packU8Clamped, unpackU8);\n var Int16Array = makeConstructor(2, packI16, unpackI16);\n var Uint16Array = makeConstructor(2, packU16, unpackU16);\n var Int32Array = makeConstructor(4, packI32, unpackI32);\n var Uint32Array3 = makeConstructor(4, packU32, unpackU32);\n var Float32Array = makeConstructor(4, packF32, unpackF32);\n var Float64Array = makeConstructor(8, packF64, unpackF64);\n exports.Int8Array = exports.Int8Array || Int8Array;\n exports.Uint8Array = exports.Uint8Array || Uint8Array2;\n exports.Uint8ClampedArray = exports.Uint8ClampedArray || Uint8ClampedArray2;\n exports.Int16Array = exports.Int16Array || Int16Array;\n exports.Uint16Array = exports.Uint16Array || Uint16Array;\n exports.Int32Array = exports.Int32Array || Int32Array;\n exports.Uint32Array = exports.Uint32Array || Uint32Array3;\n exports.Float32Array = exports.Float32Array || Float32Array;\n exports.Float64Array = exports.Float64Array || Float64Array;\n })();\n (function() {\n function r(array, index) {\n return ECMAScript.IsCallable(array.get) ? array.get(index) : array[index];\n }\n var IS_BIG_ENDIAN = function() {\n var u16array = new exports.Uint16Array([ 4660 ]), u8array = new exports.Uint8Array(u16array.buffer);\n return r(u8array, 0) === 18;\n }();\n function DataView(buffer, byteOffset, byteLength) {\n if (arguments.length === 0) {\n buffer = new exports.ArrayBuffer(0);\n } else if (!(buffer instanceof exports.ArrayBuffer || ECMAScript.Class(buffer) === 'ArrayBuffer')) {\n throw new TypeError('TypeError');\n }\n this.buffer = buffer || new exports.ArrayBuffer(0);\n this.byteOffset = ECMAScript.ToUint32(byteOffset);\n if (this.byteOffset > this.buffer.byteLength) {\n throw new RangeError('byteOffset out of range');\n }\n if (arguments.length < 3) {\n this.byteLength = this.buffer.byteLength - this.byteOffset;\n } else {\n this.byteLength = ECMAScript.ToUint32(byteLength);\n }\n if (this.byteOffset + this.byteLength > this.buffer.byteLength) {\n throw new RangeError('byteOffset and length reference an area beyond the end of the buffer');\n }\n configureProperties(this);\n }\n function makeGetter(arrayType) {\n return function(byteOffset, littleEndian) {\n byteOffset = ECMAScript.ToUint32(byteOffset);\n if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) {\n throw new RangeError('Array index out of range');\n }\n byteOffset += this.byteOffset;\n var uint8Array = new exports.Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT), bytes = [], i;\n for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) {\n bytes.push(r(uint8Array, i));\n }\n if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) {\n bytes.reverse();\n }\n return r(new arrayType(new exports.Uint8Array(bytes).buffer), 0);\n };\n }\n DataView.prototype.getUint8 = makeGetter(exports.Uint8Array);\n DataView.prototype.getInt8 = makeGetter(exports.Int8Array);\n DataView.prototype.getUint16 = makeGetter(exports.Uint16Array);\n DataView.prototype.getInt16 = makeGetter(exports.Int16Array);\n DataView.prototype.getUint32 = makeGetter(exports.Uint32Array);\n DataView.prototype.getInt32 = makeGetter(exports.Int32Array);\n DataView.prototype.getFloat32 = makeGetter(exports.Float32Array);\n DataView.prototype.getFloat64 = makeGetter(exports.Float64Array);\n function makeSetter(arrayType) {\n return function(byteOffset, value, littleEndian) {\n byteOffset = ECMAScript.ToUint32(byteOffset);\n if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) {\n throw new RangeError('Array index out of range');\n }\n var typeArray = new arrayType([ value ]), byteArray = new exports.Uint8Array(typeArray.buffer), bytes = [], i, byteView;\n for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) {\n bytes.push(r(byteArray, i));\n }\n if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) {\n bytes.reverse();\n }\n byteView = new exports.Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT);\n byteView.set(bytes);\n };\n }\n DataView.prototype.setUint8 = makeSetter(exports.Uint8Array);\n DataView.prototype.setInt8 = makeSetter(exports.Int8Array);\n DataView.prototype.setUint16 = makeSetter(exports.Uint16Array);\n DataView.prototype.setInt16 = makeSetter(exports.Int16Array);\n DataView.prototype.setUint32 = makeSetter(exports.Uint32Array);\n DataView.prototype.setInt32 = makeSetter(exports.Int32Array);\n DataView.prototype.setFloat32 = makeSetter(exports.Float32Array);\n DataView.prototype.setFloat64 = makeSetter(exports.Float64Array);\n exports.DataView = exports.DataView || DataView;\n })();\n });\n var require_weakmap_polyfill = __commonJS(function(exports) {\n (function(self2) {\n 'use strict';\n if (self2.WeakMap) {\n return;\n }\n var hasOwnProperty2 = Object.prototype.hasOwnProperty;\n var hasDefine = Object.defineProperty && function() {\n try {\n return Object.defineProperty({}, 'x', {\n value: 1\n }).x === 1;\n } catch (e) {}\n }();\n var defineProperty = function defineProperty(object, name, value) {\n if (hasDefine) {\n Object.defineProperty(object, name, {\n configurable: true,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n self2.WeakMap = function() {\n function WeakMap2() {\n if (this === void 0) {\n throw new TypeError('Constructor WeakMap requires \\'new\\'');\n }\n defineProperty(this, '_id', genId('_WeakMap'));\n if (arguments.length > 0) {\n throw new TypeError('WeakMap iterable is not supported');\n }\n }\n defineProperty(WeakMap2.prototype, 'delete', function(key) {\n checkInstance(this, 'delete');\n if (!isObject(key)) {\n return false;\n }\n var entry = key[this._id];\n if (entry && entry[0] === key) {\n delete key[this._id];\n return true;\n }\n return false;\n });\n defineProperty(WeakMap2.prototype, 'get', function(key) {\n checkInstance(this, 'get');\n if (!isObject(key)) {\n return void 0;\n }\n var entry = key[this._id];\n if (entry && entry[0] === key) {\n return entry[1];\n }\n return void 0;\n });\n defineProperty(WeakMap2.prototype, 'has', function(key) {\n checkInstance(this, 'has');\n if (!isObject(key)) {\n return false;\n }\n var entry = key[this._id];\n if (entry && entry[0] === key) {\n return true;\n }\n return false;\n });\n defineProperty(WeakMap2.prototype, 'set', function(key, value) {\n checkInstance(this, 'set');\n if (!isObject(key)) {\n throw new TypeError('Invalid value used as weak map key');\n }\n var entry = key[this._id];\n if (entry && entry[0] === key) {\n entry[1] = value;\n return this;\n }\n defineProperty(key, this._id, [ key, value ]);\n return this;\n });\n function checkInstance(x, methodName) {\n if (!isObject(x) || !hasOwnProperty2.call(x, '_id')) {\n throw new TypeError(methodName + ' method called on incompatible receiver ' + _typeof(x));\n }\n }\n function genId(prefix) {\n return prefix + '_' + rand() + '.' + rand();\n }\n function rand() {\n return Math.random().toString().substring(2);\n }\n defineProperty(WeakMap2, '_polyfill', true);\n return WeakMap2;\n }();\n function isObject(x) {\n return Object(x) === x;\n }\n })(typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : exports);\n });\n var require_global = __commonJS(function(exports, module) {\n 'use strict';\n var check = function check(it) {\n return it && it.Math === Math && it;\n };\n module.exports = check((typeof globalThis === 'undefined' ? 'undefined' : _typeof(globalThis)) == 'object' && globalThis) || check((typeof window === 'undefined' ? 'undefined' : _typeof(window)) == 'object' && window) || check((typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self) || check((typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global) || function() {\n return this;\n }() || exports || Function('return this')();\n });\n var require_fails = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n };\n });\n var require_function_bind_native = __commonJS(function(exports, module) {\n 'use strict';\n var fails = require_fails();\n module.exports = !fails(function() {\n var test = function() {}.bind();\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n });\n });\n var require_function_apply = __commonJS(function(exports, module) {\n 'use strict';\n var NATIVE_BIND = require_function_bind_native();\n var FunctionPrototype = Function.prototype;\n var apply = FunctionPrototype.apply;\n var call = FunctionPrototype.call;\n module.exports = (typeof Reflect === 'undefined' ? 'undefined' : _typeof(Reflect)) == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function() {\n return call.apply(apply, arguments);\n });\n });\n var require_function_uncurry_this = __commonJS(function(exports, module) {\n 'use strict';\n var NATIVE_BIND = require_function_bind_native();\n var FunctionPrototype = Function.prototype;\n var call = FunctionPrototype.call;\n var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n module.exports = NATIVE_BIND ? uncurryThisWithBind : function(fn) {\n return function() {\n return call.apply(fn, arguments);\n };\n };\n });\n var require_classof_raw = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n var toString = uncurryThis({}.toString);\n var stringSlice = uncurryThis(''.slice);\n module.exports = function(it) {\n return stringSlice(toString(it), 8, -1);\n };\n });\n var require_function_uncurry_this_clause = __commonJS(function(exports, module) {\n 'use strict';\n var classofRaw = require_classof_raw();\n var uncurryThis = require_function_uncurry_this();\n module.exports = function(fn) {\n if (classofRaw(fn) === 'Function') {\n return uncurryThis(fn);\n }\n };\n });\n var require_document_all = __commonJS(function(exports, module) {\n 'use strict';\n var documentAll = (typeof document === 'undefined' ? 'undefined' : _typeof(document)) == 'object' && document.all;\n var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== void 0;\n module.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n };\n });\n var require_is_callable2 = __commonJS(function(exports, module) {\n 'use strict';\n var $documentAll = require_document_all();\n var documentAll = $documentAll.all;\n module.exports = $documentAll.IS_HTMLDDA ? function(argument) {\n return typeof argument == 'function' || argument === documentAll;\n } : function(argument) {\n return typeof argument == 'function';\n };\n });\n var require_descriptors = __commonJS(function(exports, module) {\n 'use strict';\n var fails = require_fails();\n module.exports = !fails(function() {\n return Object.defineProperty({}, 1, {\n get: function get() {\n return 7;\n }\n })[1] !== 7;\n });\n });\n var require_function_call = __commonJS(function(exports, module) {\n 'use strict';\n var NATIVE_BIND = require_function_bind_native();\n var call = Function.prototype.call;\n module.exports = NATIVE_BIND ? call.bind(call) : function() {\n return call.apply(call, arguments);\n };\n });\n var require_object_property_is_enumerable = __commonJS(function(exports) {\n 'use strict';\n var $propertyIsEnumerable = {}.propertyIsEnumerable;\n var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({\n 1: 2\n }, 1);\n exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n } : $propertyIsEnumerable;\n });\n var require_create_property_descriptor = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n };\n });\n var require_indexed_object = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n var fails = require_fails();\n var classof = require_classof_raw();\n var $Object = Object;\n var split = uncurryThis(''.split);\n module.exports = fails(function() {\n return !$Object('z').propertyIsEnumerable(0);\n }) ? function(it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n } : $Object;\n });\n var require_is_null_or_undefined = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(it) {\n return it === null || it === void 0;\n };\n });\n var require_require_object_coercible = __commonJS(function(exports, module) {\n 'use strict';\n var isNullOrUndefined = require_is_null_or_undefined();\n var $TypeError = TypeError;\n module.exports = function(it) {\n if (isNullOrUndefined(it)) {\n throw new $TypeError('Can\\'t call method on ' + it);\n }\n return it;\n };\n });\n var require_to_indexed_object = __commonJS(function(exports, module) {\n 'use strict';\n var IndexedObject = require_indexed_object();\n var requireObjectCoercible = require_require_object_coercible();\n module.exports = function(it) {\n return IndexedObject(requireObjectCoercible(it));\n };\n });\n var require_is_object2 = __commonJS(function(exports, module) {\n 'use strict';\n var isCallable = require_is_callable2();\n var $documentAll = require_document_all();\n var documentAll = $documentAll.all;\n module.exports = $documentAll.IS_HTMLDDA ? function(it) {\n return _typeof(it) == 'object' ? it !== null : isCallable(it) || it === documentAll;\n } : function(it) {\n return _typeof(it) == 'object' ? it !== null : isCallable(it);\n };\n });\n var require_path = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = {};\n });\n var require_get_built_in = __commonJS(function(exports, module) {\n 'use strict';\n var path = require_path();\n var global2 = require_global();\n var isCallable = require_is_callable2();\n var aFunction = function aFunction(variable) {\n return isCallable(variable) ? variable : void 0;\n };\n module.exports = function(namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global2[namespace]) : path[namespace] && path[namespace][method] || global2[namespace] && global2[namespace][method];\n };\n });\n var require_object_is_prototype_of = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n module.exports = uncurryThis({}.isPrototypeOf);\n });\n var require_engine_user_agent = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n });\n var require_engine_v8_version = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global();\n var userAgent = require_engine_user_agent();\n var process2 = global2.process;\n var Deno = global2.Deno;\n var versions = process2 && process2.versions || Deno && Deno.version;\n var v8 = versions && versions.v8;\n var match;\n var version;\n if (v8) {\n match = v8.split('.');\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n }\n if (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) {\n version = +match[1];\n }\n }\n }\n module.exports = version;\n });\n var require_symbol_constructor_detection = __commonJS(function(exports, module) {\n 'use strict';\n var V8_VERSION = require_engine_v8_version();\n var fails = require_fails();\n var global2 = require_global();\n var $String = global2.String;\n module.exports = !!Object.getOwnPropertySymbols && !fails(function() {\n var symbol = Symbol('symbol detection');\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n });\n });\n var require_use_symbol_as_uid = __commonJS(function(exports, module) {\n 'use strict';\n var NATIVE_SYMBOL = require_symbol_constructor_detection();\n module.exports = NATIVE_SYMBOL && !Symbol.sham && _typeof(Symbol.iterator) == 'symbol';\n });\n var require_is_symbol2 = __commonJS(function(exports, module) {\n 'use strict';\n var getBuiltIn = require_get_built_in();\n var isCallable = require_is_callable2();\n var isPrototypeOf = require_object_is_prototype_of();\n var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();\n var $Object = Object;\n module.exports = USE_SYMBOL_AS_UID ? function(it) {\n return _typeof(it) == 'symbol';\n } : function(it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n };\n });\n var require_try_to_string = __commonJS(function(exports, module) {\n 'use strict';\n var $String = String;\n module.exports = function(argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n };\n });\n var require_a_callable = __commonJS(function(exports, module) {\n 'use strict';\n var isCallable = require_is_callable2();\n var tryToString = require_try_to_string();\n var $TypeError = TypeError;\n module.exports = function(argument) {\n if (isCallable(argument)) {\n return argument;\n }\n throw new $TypeError(tryToString(argument) + ' is not a function');\n };\n });\n var require_get_method = __commonJS(function(exports, module) {\n 'use strict';\n var aCallable = require_a_callable();\n var isNullOrUndefined = require_is_null_or_undefined();\n module.exports = function(V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? void 0 : aCallable(func);\n };\n });\n var require_ordinary_to_primitive = __commonJS(function(exports, module) {\n 'use strict';\n var call = require_function_call();\n var isCallable = require_is_callable2();\n var isObject = require_is_object2();\n var $TypeError = TypeError;\n module.exports = function(input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) {\n return val;\n }\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) {\n return val;\n }\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) {\n return val;\n }\n throw new $TypeError('Can\\'t convert object to primitive value');\n };\n });\n var require_is_pure = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = true;\n });\n var require_define_global_property = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global();\n var defineProperty = Object.defineProperty;\n module.exports = function(key, value) {\n try {\n defineProperty(global2, key, {\n value: value,\n configurable: true,\n writable: true\n });\n } catch (error) {\n global2[key] = value;\n }\n return value;\n };\n });\n var require_shared_store = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global();\n var defineGlobalProperty = require_define_global_property();\n var SHARED = '__core-js_shared__';\n var store = global2[SHARED] || defineGlobalProperty(SHARED, {});\n module.exports = store;\n });\n var require_shared = __commonJS(function(exports, module) {\n 'use strict';\n var IS_PURE = require_is_pure();\n var store = require_shared_store();\n (module.exports = function(key, value) {\n return store[key] || (store[key] = value !== void 0 ? value : {});\n })('versions', []).push({\n version: '3.33.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '\\xa9 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n });\n });\n var require_to_object = __commonJS(function(exports, module) {\n 'use strict';\n var requireObjectCoercible = require_require_object_coercible();\n var $Object = Object;\n module.exports = function(argument) {\n return $Object(requireObjectCoercible(argument));\n };\n });\n var require_has_own_property = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n var toObject = require_to_object();\n var hasOwnProperty2 = uncurryThis({}.hasOwnProperty);\n module.exports = Object.hasOwn || function hasOwn2(it, key) {\n return hasOwnProperty2(toObject(it), key);\n };\n });\n var require_uid = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n var id = 0;\n var postfix = Math.random();\n var toString = uncurryThis(1..toString);\n module.exports = function(key) {\n return 'Symbol(' + (key === void 0 ? '' : key) + ')_' + toString(++id + postfix, 36);\n };\n });\n var require_well_known_symbol = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global();\n var shared = require_shared();\n var hasOwn2 = require_has_own_property();\n var uid = require_uid();\n var NATIVE_SYMBOL = require_symbol_constructor_detection();\n var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();\n var Symbol2 = global2.Symbol;\n var WellKnownSymbolsStore = shared('wks');\n var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol2['for'] || Symbol2 : Symbol2 && Symbol2.withoutSetter || uid;\n module.exports = function(name) {\n if (!hasOwn2(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn2(Symbol2, name) ? Symbol2[name] : createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n };\n });\n var require_to_primitive = __commonJS(function(exports, module) {\n 'use strict';\n var call = require_function_call();\n var isObject = require_is_object2();\n var isSymbol = require_is_symbol2();\n var getMethod = require_get_method();\n var ordinaryToPrimitive = require_ordinary_to_primitive();\n var wellKnownSymbol = require_well_known_symbol();\n var $TypeError = TypeError;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n module.exports = function(input, pref) {\n if (!isObject(input) || isSymbol(input)) {\n return input;\n }\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === void 0) {\n pref = 'default';\n }\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) {\n return result;\n }\n throw new $TypeError('Can\\'t convert object to primitive value');\n }\n if (pref === void 0) {\n pref = 'number';\n }\n return ordinaryToPrimitive(input, pref);\n };\n });\n var require_to_property_key = __commonJS(function(exports, module) {\n 'use strict';\n var toPrimitive = require_to_primitive();\n var isSymbol = require_is_symbol2();\n module.exports = function(argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n };\n });\n var require_document_create_element = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global();\n var isObject = require_is_object2();\n var document2 = global2.document;\n var EXISTS = isObject(document2) && isObject(document2.createElement);\n module.exports = function(it) {\n return EXISTS ? document2.createElement(it) : {};\n };\n });\n var require_ie8_dom_define = __commonJS(function(exports, module) {\n 'use strict';\n var DESCRIPTORS = require_descriptors();\n var fails = require_fails();\n var createElement = require_document_create_element();\n module.exports = !DESCRIPTORS && !fails(function() {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a !== 7;\n });\n });\n var require_object_get_own_property_descriptor = __commonJS(function(exports) {\n 'use strict';\n var DESCRIPTORS = require_descriptors();\n var call = require_function_call();\n var propertyIsEnumerableModule = require_object_property_is_enumerable();\n var createPropertyDescriptor = require_create_property_descriptor();\n var toIndexedObject = require_to_indexed_object();\n var toPropertyKey = require_to_property_key();\n var hasOwn2 = require_has_own_property();\n var IE8_DOM_DEFINE = require_ie8_dom_define();\n var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) {\n try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) {}\n }\n if (hasOwn2(O, P)) {\n return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n }\n };\n });\n var require_is_forced = __commonJS(function(exports, module) {\n 'use strict';\n var fails = require_fails();\n var isCallable = require_is_callable2();\n var replacement = /#|\\.prototype\\./;\n var isForced = function isForced(feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;\n };\n var normalize = isForced.normalize = function(string) {\n return String(string).replace(replacement, '.').toLowerCase();\n };\n var data = isForced.data = {};\n var NATIVE = isForced.NATIVE = 'N';\n var POLYFILL = isForced.POLYFILL = 'P';\n module.exports = isForced;\n });\n var require_function_bind_context = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this_clause();\n var aCallable = require_a_callable();\n var NATIVE_BIND = require_function_bind_native();\n var bind = uncurryThis(uncurryThis.bind);\n module.exports = function(fn, that) {\n aCallable(fn);\n return that === void 0 ? fn : NATIVE_BIND ? bind(fn, that) : function() {\n return fn.apply(that, arguments);\n };\n };\n });\n var require_v8_prototype_define_bug = __commonJS(function(exports, module) {\n 'use strict';\n var DESCRIPTORS = require_descriptors();\n var fails = require_fails();\n module.exports = DESCRIPTORS && fails(function() {\n return Object.defineProperty(function() {}, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n });\n });\n var require_an_object = __commonJS(function(exports, module) {\n 'use strict';\n var isObject = require_is_object2();\n var $String = String;\n var $TypeError = TypeError;\n module.exports = function(argument) {\n if (isObject(argument)) {\n return argument;\n }\n throw new $TypeError($String(argument) + ' is not an object');\n };\n });\n var require_object_define_property = __commonJS(function(exports) {\n 'use strict';\n var DESCRIPTORS = require_descriptors();\n var IE8_DOM_DEFINE = require_ie8_dom_define();\n var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();\n var anObject = require_an_object();\n var toPropertyKey = require_to_property_key();\n var $TypeError = TypeError;\n var $defineProperty = Object.defineProperty;\n var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ENUMERABLE = 'enumerable';\n var CONFIGURABLE = 'configurable';\n var WRITABLE = 'writable';\n exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n }\n return $defineProperty(O, P, Attributes);\n } : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) {\n try {\n return $defineProperty(O, P, Attributes);\n } catch (error) {}\n }\n if ('get' in Attributes || 'set' in Attributes) {\n throw new $TypeError('Accessors not supported');\n }\n if ('value' in Attributes) {\n O[P] = Attributes.value;\n }\n return O;\n };\n });\n var require_create_non_enumerable_property = __commonJS(function(exports, module) {\n 'use strict';\n var DESCRIPTORS = require_descriptors();\n var definePropertyModule = require_object_define_property();\n var createPropertyDescriptor = require_create_property_descriptor();\n module.exports = DESCRIPTORS ? function(object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n } : function(object, key, value) {\n object[key] = value;\n return object;\n };\n });\n var require_export = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global();\n var apply = require_function_apply();\n var uncurryThis = require_function_uncurry_this_clause();\n var isCallable = require_is_callable2();\n var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f;\n var isForced = require_is_forced();\n var path = require_path();\n var bind = require_function_bind_context();\n var createNonEnumerableProperty = require_create_non_enumerable_property();\n var hasOwn2 = require_has_own_property();\n var wrapConstructor = function wrapConstructor(NativeConstructor) {\n var Wrapper = function Wrapper(a2, b2, c4) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0:\n return new NativeConstructor();\n\n case 1:\n return new NativeConstructor(a2);\n\n case 2:\n return new NativeConstructor(a2, b2);\n }\n return new NativeConstructor(a2, b2, c4);\n }\n return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n };\n module.exports = function(options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n var nativeSource = GLOBAL ? global2 : STATIC ? global2[TARGET] : (global2[TARGET] || {}).prototype;\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n USE_NATIVE = !FORCED && nativeSource && hasOwn2(nativeSource, key);\n targetProperty = target[key];\n if (USE_NATIVE) {\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else {\n nativeProperty = nativeSource[key];\n }\n }\n sourceProperty = USE_NATIVE && nativeProperty ? nativeProperty : source[key];\n if (USE_NATIVE && _typeof(targetProperty) == _typeof(sourceProperty)) {\n continue;\n }\n if (options.bind && USE_NATIVE) {\n resultProperty = bind(sourceProperty, global2);\n } else if (options.wrap && USE_NATIVE) {\n resultProperty = wrapConstructor(sourceProperty);\n } else if (PROTO && isCallable(sourceProperty)) {\n resultProperty = uncurryThis(sourceProperty);\n } else {\n resultProperty = sourceProperty;\n }\n if (options.sham || sourceProperty && sourceProperty.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n createNonEnumerableProperty(target, key, resultProperty);\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn2(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n };\n });\n var require_es_object_has_own = __commonJS(function() {\n 'use strict';\n var $ = require_export();\n var hasOwn2 = require_has_own_property();\n $({\n target: 'Object',\n stat: true\n }, {\n hasOwn: hasOwn2\n });\n });\n var require_has_own = __commonJS(function(exports, module) {\n 'use strict';\n require_es_object_has_own();\n var path = require_path();\n module.exports = path.Object.hasOwn;\n });\n var require_has_own2 = __commonJS(function(exports, module) {\n 'use strict';\n var parent = require_has_own();\n module.exports = parent;\n });\n var require_has_own3 = __commonJS(function(exports, module) {\n 'use strict';\n var parent = require_has_own2();\n module.exports = parent;\n });\n var require_shared_key = __commonJS(function(exports, module) {\n 'use strict';\n var shared = require_shared();\n var uid = require_uid();\n var keys = shared('keys');\n module.exports = function(key) {\n return keys[key] || (keys[key] = uid(key));\n };\n });\n var require_correct_prototype_getter = __commonJS(function(exports, module) {\n 'use strict';\n var fails = require_fails();\n module.exports = !fails(function() {\n function F() {}\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n });\n });\n var require_object_get_prototype_of = __commonJS(function(exports, module) {\n 'use strict';\n var hasOwn2 = require_has_own_property();\n var isCallable = require_is_callable2();\n var toObject = require_to_object();\n var sharedKey = require_shared_key();\n var CORRECT_PROTOTYPE_GETTER = require_correct_prototype_getter();\n var IE_PROTO = sharedKey('IE_PROTO');\n var $Object = Object;\n var ObjectPrototype = $Object.prototype;\n module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function(O) {\n var object = toObject(O);\n if (hasOwn2(object, IE_PROTO)) {\n return object[IE_PROTO];\n }\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n }\n return object instanceof $Object ? ObjectPrototype : null;\n };\n });\n var require_math_trunc = __commonJS(function(exports, module) {\n 'use strict';\n var ceil = Math.ceil;\n var floor = Math.floor;\n module.exports = Math.trunc || function trunc(x) {\n var n2 = +x;\n return (n2 > 0 ? floor : ceil)(n2);\n };\n });\n var require_to_integer_or_infinity = __commonJS(function(exports, module) {\n 'use strict';\n var trunc = require_math_trunc();\n module.exports = function(argument) {\n var number = +argument;\n return number !== number || number === 0 ? 0 : trunc(number);\n };\n });\n var require_to_absolute_index = __commonJS(function(exports, module) {\n 'use strict';\n var toIntegerOrInfinity = require_to_integer_or_infinity();\n var max2 = Math.max;\n var min = Math.min;\n module.exports = function(index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max2(integer + length, 0) : min(integer, length);\n };\n });\n var require_to_length = __commonJS(function(exports, module) {\n 'use strict';\n var toIntegerOrInfinity = require_to_integer_or_infinity();\n var min = Math.min;\n module.exports = function(argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 9007199254740991) : 0;\n };\n });\n var require_length_of_array_like = __commonJS(function(exports, module) {\n 'use strict';\n var toLength = require_to_length();\n module.exports = function(obj) {\n return toLength(obj.length);\n };\n });\n var require_array_includes = __commonJS(function(exports, module) {\n 'use strict';\n var toIndexedObject = require_to_indexed_object();\n var toAbsoluteIndex = require_to_absolute_index();\n var lengthOfArrayLike = require_length_of_array_like();\n var createMethod = function createMethod(IS_INCLUDES) {\n return function($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el !== el) {\n while (length > index) {\n value = O[index++];\n if (value !== value) {\n return true;\n }\n }\n } else {\n for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) {\n return IS_INCLUDES || index || 0;\n }\n }\n }\n return !IS_INCLUDES && -1;\n };\n };\n module.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n };\n });\n var require_hidden_keys = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = {};\n });\n var require_object_keys_internal = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n var hasOwn2 = require_has_own_property();\n var toIndexedObject = require_to_indexed_object();\n var indexOf = require_array_includes().indexOf;\n var hiddenKeys = require_hidden_keys();\n var push = uncurryThis([].push);\n module.exports = function(object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) {\n !hasOwn2(hiddenKeys, key) && hasOwn2(O, key) && push(result, key);\n }\n while (names.length > i) {\n if (hasOwn2(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n }\n return result;\n };\n });\n var require_enum_bug_keys = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = [ 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf' ];\n });\n var require_object_keys = __commonJS(function(exports, module) {\n 'use strict';\n var internalObjectKeys = require_object_keys_internal();\n var enumBugKeys = require_enum_bug_keys();\n module.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n };\n });\n var require_object_to_array = __commonJS(function(exports, module) {\n 'use strict';\n var DESCRIPTORS = require_descriptors();\n var fails = require_fails();\n var uncurryThis = require_function_uncurry_this();\n var objectGetPrototypeOf = require_object_get_prototype_of();\n var objectKeys = require_object_keys();\n var toIndexedObject = require_to_indexed_object();\n var $propertyIsEnumerable = require_object_property_is_enumerable().f;\n var propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\n var push = uncurryThis([].push);\n var IE_BUG = DESCRIPTORS && fails(function() {\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n });\n var createMethod = function createMethod(TO_ENTRIES) {\n return function(it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [ key, O[key] ] : O[key]);\n }\n }\n return result;\n };\n };\n module.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n };\n });\n var require_es_object_values = __commonJS(function() {\n 'use strict';\n var $ = require_export();\n var $values = require_object_to_array().values;\n $({\n target: 'Object',\n stat: true\n }, {\n values: function values2(O) {\n return $values(O);\n }\n });\n });\n var require_values = __commonJS(function(exports, module) {\n 'use strict';\n require_es_object_values();\n var path = require_path();\n module.exports = path.Object.values;\n });\n var require_values2 = __commonJS(function(exports, module) {\n 'use strict';\n var parent = require_values();\n module.exports = parent;\n });\n var require_values3 = __commonJS(function(exports, module) {\n 'use strict';\n var parent = require_values2();\n module.exports = parent;\n });\n var require_to_string_tag_support = __commonJS(function(exports, module) {\n 'use strict';\n var wellKnownSymbol = require_well_known_symbol();\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n var test = {};\n test[TO_STRING_TAG] = 'z';\n module.exports = String(test) === '[object z]';\n });\n var require_classof = __commonJS(function(exports, module) {\n 'use strict';\n var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();\n var isCallable = require_is_callable2();\n var classofRaw = require_classof_raw();\n var wellKnownSymbol = require_well_known_symbol();\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n var $Object = Object;\n var CORRECT_ARGUMENTS = classofRaw(function() {\n return arguments;\n }()) === 'Arguments';\n var tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (error) {}\n };\n module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) {\n var O, tag, result;\n return it === void 0 ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n };\n });\n var require_to_string = __commonJS(function(exports, module) {\n 'use strict';\n var classof = require_classof();\n var $String = String;\n module.exports = function(argument) {\n if (classof(argument) === 'Symbol') {\n throw new TypeError('Cannot convert a Symbol value to a string');\n }\n return $String(argument);\n };\n });\n var require_string_multibyte = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n var toIntegerOrInfinity = require_to_integer_or_infinity();\n var toString = require_to_string();\n var requireObjectCoercible = require_require_object_coercible();\n var charAt = uncurryThis(''.charAt);\n var charCodeAt = uncurryThis(''.charCodeAt);\n var stringSlice = uncurryThis(''.slice);\n var createMethod = function createMethod(CONVERT_TO_STRING) {\n return function($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) {\n return CONVERT_TO_STRING ? '' : void 0;\n }\n first = charCodeAt(S, position);\n return first < 55296 || first > 56319 || position + 1 === size || (second = charCodeAt(S, position + 1)) < 56320 || second > 57343 ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 55296 << 10) + (second - 56320) + 65536;\n };\n };\n module.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n };\n });\n var require_weak_map_basic_detection = __commonJS(function(exports, module) {\n 'use strict';\n var global2 = require_global();\n var isCallable = require_is_callable2();\n var WeakMap2 = global2.WeakMap;\n module.exports = isCallable(WeakMap2) && /native code/.test(String(WeakMap2));\n });\n var require_internal_state = __commonJS(function(exports, module) {\n 'use strict';\n var NATIVE_WEAK_MAP = require_weak_map_basic_detection();\n var global2 = require_global();\n var isObject = require_is_object2();\n var createNonEnumerableProperty = require_create_non_enumerable_property();\n var hasOwn2 = require_has_own_property();\n var shared = require_shared_store();\n var sharedKey = require_shared_key();\n var hiddenKeys = require_hidden_keys();\n var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\n var TypeError2 = global2.TypeError;\n var WeakMap2 = global2.WeakMap;\n var set2;\n var get2;\n var has;\n var enforce = function enforce(it) {\n return has(it) ? get2(it) : set2(it, {});\n };\n var getterFor = function getterFor(TYPE) {\n return function(it) {\n var state;\n if (!isObject(it) || (state = get2(it)).type !== TYPE) {\n throw new TypeError2('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n };\n if (NATIVE_WEAK_MAP || shared.state) {\n store = shared.state || (shared.state = new WeakMap2());\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n set2 = function set2(it, metadata) {\n if (store.has(it)) {\n throw new TypeError2(OBJECT_ALREADY_INITIALIZED);\n }\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get2 = function get2(it) {\n return store.get(it) || {};\n };\n has = function has(it) {\n return store.has(it);\n };\n } else {\n STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set2 = function set2(it, metadata) {\n if (hasOwn2(it, STATE)) {\n throw new TypeError2(OBJECT_ALREADY_INITIALIZED);\n }\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get2 = function get2(it) {\n return hasOwn2(it, STATE) ? it[STATE] : {};\n };\n has = function has(it) {\n return hasOwn2(it, STATE);\n };\n }\n var store;\n var STATE;\n module.exports = {\n set: set2,\n get: get2,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n };\n });\n var require_function_name = __commonJS(function(exports, module) {\n 'use strict';\n var DESCRIPTORS = require_descriptors();\n var hasOwn2 = require_has_own_property();\n var FunctionPrototype = Function.prototype;\n var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n var EXISTS = hasOwn2(FunctionPrototype, 'name');\n var PROPER = EXISTS && function something() {}.name === 'something';\n var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable);\n module.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n };\n });\n var require_object_define_properties = __commonJS(function(exports) {\n 'use strict';\n var DESCRIPTORS = require_descriptors();\n var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();\n var definePropertyModule = require_object_define_property();\n var anObject = require_an_object();\n var toIndexedObject = require_to_indexed_object();\n var objectKeys = require_object_keys();\n exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) {\n definePropertyModule.f(O, key = keys[index++], props[key]);\n }\n return O;\n };\n });\n var require_html = __commonJS(function(exports, module) {\n 'use strict';\n var getBuiltIn = require_get_built_in();\n module.exports = getBuiltIn('document', 'documentElement');\n });\n var require_object_create = __commonJS(function(exports, module) {\n 'use strict';\n var anObject = require_an_object();\n var definePropertiesModule = require_object_define_properties();\n var enumBugKeys = require_enum_bug_keys();\n var hiddenKeys = require_hidden_keys();\n var html = require_html();\n var documentCreateElement = require_document_create_element();\n var sharedKey = require_shared_key();\n var GT = '>';\n var LT = '<';\n var PROTOTYPE = 'prototype';\n var SCRIPT = 'script';\n var IE_PROTO = sharedKey('IE_PROTO');\n var EmptyConstructor = function EmptyConstructor() {};\n var scriptTag = function scriptTag(content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n };\n var NullProtoObjectViaActiveX = function NullProtoObjectViaActiveX(activeXDocument2) {\n activeXDocument2.write(scriptTag(''));\n activeXDocument2.close();\n var temp = activeXDocument2.parentWindow.Object;\n activeXDocument2 = null;\n return temp;\n };\n var NullProtoObjectViaIFrame = function NullProtoObjectViaIFrame() {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n };\n var activeXDocument;\n var _NullProtoObject = function NullProtoObject() {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) {}\n _NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);\n var length = enumBugKeys.length;\n while (length--) {\n delete _NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n }\n return _NullProtoObject();\n };\n hiddenKeys[IE_PROTO] = true;\n module.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else {\n result = _NullProtoObject();\n }\n return Properties === void 0 ? result : definePropertiesModule.f(result, Properties);\n };\n });\n var require_define_built_in = __commonJS(function(exports, module) {\n 'use strict';\n var createNonEnumerableProperty = require_create_non_enumerable_property();\n module.exports = function(target, key, value, options) {\n if (options && options.enumerable) {\n target[key] = value;\n } else {\n createNonEnumerableProperty(target, key, value);\n }\n return target;\n };\n });\n var require_iterators_core = __commonJS(function(exports, module) {\n 'use strict';\n var fails = require_fails();\n var isCallable = require_is_callable2();\n var isObject = require_is_object2();\n var create = require_object_create();\n var getPrototypeOf = require_object_get_prototype_of();\n var defineBuiltIn = require_define_built_in();\n var wellKnownSymbol = require_well_known_symbol();\n var IS_PURE = require_is_pure();\n var ITERATOR = wellKnownSymbol('iterator');\n var BUGGY_SAFARI_ITERATORS = false;\n var IteratorPrototype;\n var PrototypeOfArrayIteratorPrototype;\n var arrayIterator;\n if ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator)) {\n BUGGY_SAFARI_ITERATORS = true;\n } else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) {\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n }\n }\n var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function() {\n var test = {};\n return IteratorPrototype[ITERATOR].call(test) !== test;\n });\n if (NEW_ITERATOR_PROTOTYPE) {\n IteratorPrototype = {};\n } else if (IS_PURE) {\n IteratorPrototype = create(IteratorPrototype);\n }\n if (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function() {\n return this;\n });\n }\n module.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n };\n });\n var require_object_to_string = __commonJS(function(exports, module) {\n 'use strict';\n var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();\n var classof = require_classof();\n module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n };\n });\n var require_set_to_string_tag = __commonJS(function(exports, module) {\n 'use strict';\n var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();\n var defineProperty = require_object_define_property().f;\n var createNonEnumerableProperty = require_create_non_enumerable_property();\n var hasOwn2 = require_has_own_property();\n var toString = require_object_to_string();\n var wellKnownSymbol = require_well_known_symbol();\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n module.exports = function(it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!hasOwn2(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n };\n });\n var require_iterators = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = {};\n });\n var require_iterator_create_constructor = __commonJS(function(exports, module) {\n 'use strict';\n var IteratorPrototype = require_iterators_core().IteratorPrototype;\n var create = require_object_create();\n var createPropertyDescriptor = require_create_property_descriptor();\n var setToStringTag = require_set_to_string_tag();\n var Iterators = require_iterators();\n var returnThis = function returnThis() {\n return this;\n };\n module.exports = function(IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, {\n next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next)\n });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n };\n });\n var require_function_uncurry_this_accessor = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n var aCallable = require_a_callable();\n module.exports = function(object, key, method) {\n try {\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) {}\n };\n });\n var require_a_possible_prototype = __commonJS(function(exports, module) {\n 'use strict';\n var isCallable = require_is_callable2();\n var $String = String;\n var $TypeError = TypeError;\n module.exports = function(argument) {\n if (_typeof(argument) == 'object' || isCallable(argument)) {\n return argument;\n }\n throw new $TypeError('Can\\'t set ' + $String(argument) + ' as a prototype');\n };\n });\n var require_object_set_prototype_of = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThisAccessor = require_function_uncurry_this_accessor();\n var anObject = require_an_object();\n var aPossiblePrototype = require_a_possible_prototype();\n module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function() {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {}\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) {\n setter(O, proto);\n } else {\n O.__proto__ = proto;\n }\n return O;\n };\n }() : void 0);\n });\n var require_iterator_define = __commonJS(function(exports, module) {\n 'use strict';\n var $ = require_export();\n var call = require_function_call();\n var IS_PURE = require_is_pure();\n var FunctionName = require_function_name();\n var isCallable = require_is_callable2();\n var createIteratorConstructor = require_iterator_create_constructor();\n var getPrototypeOf = require_object_get_prototype_of();\n var setPrototypeOf = require_object_set_prototype_of();\n var setToStringTag = require_set_to_string_tag();\n var createNonEnumerableProperty = require_create_non_enumerable_property();\n var defineBuiltIn = require_define_built_in();\n var wellKnownSymbol = require_well_known_symbol();\n var Iterators = require_iterators();\n var IteratorsCore = require_iterators_core();\n var PROPER_FUNCTION_NAME = FunctionName.PROPER;\n var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\n var IteratorPrototype = IteratorsCore.IteratorPrototype;\n var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\n var ITERATOR = wellKnownSymbol('iterator');\n var KEYS = 'keys';\n var VALUES = 'values';\n var ENTRIES = 'entries';\n var returnThis = function returnThis() {\n return this;\n };\n module.exports = function(Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function getIterationMethod(KIND) {\n if (KIND === DEFAULT && defaultIterator) {\n return defaultIterator;\n }\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) {\n return IterablePrototype[KIND];\n }\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n\n case VALUES:\n return function values2() {\n return new IteratorConstructor(this, KIND);\n };\n\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function() {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) {\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n }\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values2() {\n return call(nativeIterator, this);\n };\n }\n }\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) {\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n }\n } else {\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, {\n name: DEFAULT\n });\n }\n Iterators[NAME] = defaultIterator;\n return methods;\n };\n });\n var require_create_iter_result_object = __commonJS(function(exports, module) {\n 'use strict';\n module.exports = function(value, done) {\n return {\n value: value,\n done: done\n };\n };\n });\n var require_es_string_iterator = __commonJS(function() {\n 'use strict';\n var charAt = require_string_multibyte().charAt;\n var toString = require_to_string();\n var InternalStateModule = require_internal_state();\n var defineIterator = require_iterator_define();\n var createIterResultObject = require_create_iter_result_object();\n var STRING_ITERATOR = 'String Iterator';\n var setInternalState = InternalStateModule.set;\n var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n defineIterator(String, 'String', function(iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n }, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) {\n return createIterResultObject(void 0, true);\n }\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n });\n });\n var require_iterator_close = __commonJS(function(exports, module) {\n 'use strict';\n var call = require_function_call();\n var anObject = require_an_object();\n var getMethod = require_get_method();\n module.exports = function(iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') {\n throw value;\n }\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') {\n throw value;\n }\n if (innerError) {\n throw innerResult;\n }\n anObject(innerResult);\n return value;\n };\n });\n var require_call_with_safe_iteration_closing = __commonJS(function(exports, module) {\n 'use strict';\n var anObject = require_an_object();\n var iteratorClose = require_iterator_close();\n module.exports = function(iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n };\n });\n var require_is_array_iterator_method = __commonJS(function(exports, module) {\n 'use strict';\n var wellKnownSymbol = require_well_known_symbol();\n var Iterators = require_iterators();\n var ITERATOR = wellKnownSymbol('iterator');\n var ArrayPrototype = Array.prototype;\n module.exports = function(it) {\n return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n };\n });\n var require_inspect_source = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n var isCallable = require_is_callable2();\n var store = require_shared_store();\n var functionToString = uncurryThis(Function.toString);\n if (!isCallable(store.inspectSource)) {\n store.inspectSource = function(it) {\n return functionToString(it);\n };\n }\n module.exports = store.inspectSource;\n });\n var require_is_constructor = __commonJS(function(exports, module) {\n 'use strict';\n var uncurryThis = require_function_uncurry_this();\n var fails = require_fails();\n var isCallable = require_is_callable2();\n var classof = require_classof();\n var getBuiltIn = require_get_built_in();\n var inspectSource = require_inspect_source();\n var noop3 = function noop3() {};\n var empty = [];\n var construct = getBuiltIn('Reflect', 'construct');\n var constructorRegExp = /^\\s*(?:class|function)\\b/;\n var exec = uncurryThis(constructorRegExp.exec);\n var INCORRECT_TO_STRING = !constructorRegExp.test(noop3);\n var isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) {\n return false;\n }\n try {\n construct(noop3, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n };\n var isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) {\n return false;\n }\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction':\n return false;\n }\n try {\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n };\n isConstructorLegacy.sham = true;\n module.exports = !construct || fails(function() {\n var called;\n return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() {\n called = true;\n }) || called;\n }) ? isConstructorLegacy : isConstructorModern;\n });\n var require_create_property = __commonJS(function(exports, module) {\n 'use strict';\n var toPropertyKey = require_to_property_key();\n var definePropertyModule = require_object_define_property();\n var createPropertyDescriptor = require_create_property_descriptor();\n module.exports = function(object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) {\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n } else {\n object[propertyKey] = value;\n }\n };\n });\n var require_get_iterator_method = __commonJS(function(exports, module) {\n 'use strict';\n var classof = require_classof();\n var getMethod = require_get_method();\n var isNullOrUndefined = require_is_null_or_undefined();\n var Iterators = require_iterators();\n var wellKnownSymbol = require_well_known_symbol();\n var ITERATOR = wellKnownSymbol('iterator');\n module.exports = function(it) {\n if (!isNullOrUndefined(it)) {\n return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)];\n }\n };\n });\n var require_get_iterator = __commonJS(function(exports, module) {\n 'use strict';\n var call = require_function_call();\n var aCallable = require_a_callable();\n var anObject = require_an_object();\n var tryToString = require_try_to_string();\n var getIteratorMethod = require_get_iterator_method();\n var $TypeError = TypeError;\n module.exports = function(argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) {\n return anObject(call(iteratorMethod, argument));\n }\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n };\n });\n var require_array_from = __commonJS(function(exports, module) {\n 'use strict';\n var bind = require_function_bind_context();\n var call = require_function_call();\n var toObject = require_to_object();\n var callWithSafeIterationClosing = require_call_with_safe_iteration_closing();\n var isArrayIteratorMethod = require_is_array_iterator_method();\n var isConstructor = require_is_constructor();\n var lengthOfArrayLike = require_length_of_array_like();\n var createProperty = require_create_property();\n var getIterator = require_get_iterator();\n var getIteratorMethod = require_get_iterator_method();\n var $Array = Array;\n module.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : void 0;\n var mapping = mapfn !== void 0;\n if (mapping) {\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : void 0);\n }\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [ step.value, index ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n };\n });\n var require_check_correctness_of_iteration = __commonJS(function(exports, module) {\n 'use strict';\n var wellKnownSymbol = require_well_known_symbol();\n var ITERATOR = wellKnownSymbol('iterator');\n var SAFE_CLOSING = false;\n try {\n called = 0;\n iteratorWithReturn = {\n next: function next() {\n return {\n done: !!called++\n };\n },\n return: function _return() {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function() {\n return this;\n };\n Array.from(iteratorWithReturn, function() {\n throw 2;\n });\n } catch (error) {}\n var called;\n var iteratorWithReturn;\n module.exports = function(exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) {\n return false;\n }\n } catch (error) {\n return false;\n }\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function() {\n return {\n next: function next() {\n return {\n done: ITERATION_SUPPORT = true\n };\n }\n };\n };\n exec(object);\n } catch (error) {}\n return ITERATION_SUPPORT;\n };\n });\n var require_es_array_from = __commonJS(function() {\n 'use strict';\n var $ = require_export();\n var from = require_array_from();\n var checkCorrectnessOfIteration = require_check_correctness_of_iteration();\n var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function(iterable) {\n Array.from(iterable);\n });\n $({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n }, {\n from: from\n });\n });\n var require_from2 = __commonJS(function(exports, module) {\n 'use strict';\n require_es_string_iterator();\n require_es_array_from();\n var path = require_path();\n module.exports = path.Array.from;\n });\n var require_from3 = __commonJS(function(exports, module) {\n 'use strict';\n var parent = require_from2();\n module.exports = parent;\n });\n var require_from4 = __commonJS(function(exports, module) {\n 'use strict';\n var parent = require_from3();\n module.exports = parent;\n });\n var require_doT = __commonJS(function(exports, module) {\n (function() {\n 'use strict';\n var doT3 = {\n name: 'doT',\n version: '1.1.1',\n templateSettings: {\n evaluate: /\\{\\{([\\s\\S]+?(\\}?)+)\\}\\}/g,\n interpolate: /\\{\\{=([\\s\\S]+?)\\}\\}/g,\n encode: /\\{\\{!([\\s\\S]+?)\\}\\}/g,\n use: /\\{\\{#([\\s\\S]+?)\\}\\}/g,\n useParams: /(^|[^\\w$])def(?:\\.|\\[[\\'\\\"])([\\w$\\.]+)(?:[\\'\\\"]\\])?\\s*\\:\\s*([\\w$\\.]+|\\\"[^\\\"]+\\\"|\\'[^\\']+\\'|\\{[^\\}]+\\})/g,\n define: /\\{\\{##\\s*([\\w\\.$]+)\\s*(\\:|=)([\\s\\S]+?)#\\}\\}/g,\n defineParams: /^\\s*([\\w$]+):([\\s\\S]+)/,\n conditional: /\\{\\{\\?(\\?)?\\s*([\\s\\S]*?)\\s*\\}\\}/g,\n iterate: /\\{\\{~\\s*(?:\\}\\}|([\\s\\S]+?)\\s*\\:\\s*([\\w$]+)\\s*(?:\\:\\s*([\\w$]+))?\\s*\\}\\})/g,\n varname: 'it',\n strip: true,\n append: true,\n selfcontained: false,\n doNotSkipEncoded: false\n },\n template: void 0,\n compile: void 0,\n log: true\n };\n (function() {\n if ((typeof globalThis === 'undefined' ? 'undefined' : _typeof(globalThis)) === 'object') {\n return;\n }\n try {\n Object.defineProperty(Object.prototype, '__magic__', {\n get: function get() {\n return this;\n },\n configurable: true\n });\n __magic__.globalThis = __magic__;\n delete Object.prototype.__magic__;\n } catch (e) {\n window.globalThis = function() {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n if (typeof this !== 'undefined') {\n return this;\n }\n throw new Error('Unable to locate global `this`');\n }();\n }\n })();\n doT3.encodeHTMLSource = function(doNotSkipEncoded) {\n var encodeHTMLRules = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': ''',\n '/': '/'\n }, matchHTML = doNotSkipEncoded ? /[&<>\"'\\/]/g : /&(?!#?\\w+;)|<|>|\"|'|\\//g;\n return function(code) {\n return code ? code.toString().replace(matchHTML, function(m3) {\n return encodeHTMLRules[m3] || m3;\n }) : '';\n };\n };\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = doT3;\n } else if (typeof define === 'function' && define.amd) {\n define(function() {\n return doT3;\n });\n } else {\n globalThis.doT = doT3;\n }\n var startend = {\n append: {\n start: '\\'+(',\n end: ')+\\'',\n startencode: '\\'+encodeHTML('\n },\n split: {\n start: '\\';out+=(',\n end: ');out+=\\'',\n startencode: '\\';out+=encodeHTML('\n }\n }, skip = /$^/;\n function resolveDefs(c4, block, def) {\n return (typeof block === 'string' ? block : block.toString()).replace(c4.define || skip, function(m3, code, assign, value) {\n if (code.indexOf('def.') === 0) {\n code = code.substring(4);\n }\n if (!(code in def)) {\n if (assign === ':') {\n if (c4.defineParams) {\n value.replace(c4.defineParams, function(m4, param, v) {\n def[code] = {\n arg: param,\n text: v\n };\n });\n }\n if (!(code in def)) {\n def[code] = value;\n }\n } else {\n new Function('def', 'def[\\'' + code + '\\']=' + value)(def);\n }\n }\n return '';\n }).replace(c4.use || skip, function(m3, code) {\n if (c4.useParams) {\n code = code.replace(c4.useParams, function(m4, s, d2, param) {\n if (def[d2] && def[d2].arg && param) {\n var rw = (d2 + ':' + param).replace(/'|\\\\/g, '_');\n def.__exp = def.__exp || {};\n def.__exp[rw] = def[d2].text.replace(new RegExp('(^|[^\\\\w$])' + def[d2].arg + '([^\\\\w$])', 'g'), '$1' + param + '$2');\n return s + 'def.__exp[\\'' + rw + '\\']';\n }\n });\n }\n var v = new Function('def', 'return ' + code)(def);\n return v ? resolveDefs(c4, v, def) : v;\n });\n }\n function unescape(code) {\n return code.replace(/\\\\('|\\\\)/g, '$1').replace(/[\\r\\t\\n]/g, ' ');\n }\n doT3.template = function(tmpl, c4, def) {\n c4 = c4 || doT3.templateSettings;\n var cse = c4.append ? startend.append : startend.split, needhtmlencode, sid = 0, indv, str = c4.use || c4.define ? resolveDefs(c4, tmpl, def || {}) : tmpl;\n str = ('var out=\\'' + (c4.strip ? str.replace(/(^|\\r|\\n)\\t* +| +\\t*(\\r|\\n|$)/g, ' ').replace(/\\r|\\n|\\t|\\/\\*[\\s\\S]*?\\*\\//g, '') : str).replace(/'|\\\\/g, '\\\\$&').replace(c4.interpolate || skip, function(m3, code) {\n return cse.start + unescape(code) + cse.end;\n }).replace(c4.encode || skip, function(m3, code) {\n needhtmlencode = true;\n return cse.startencode + unescape(code) + cse.end;\n }).replace(c4.conditional || skip, function(m3, elsecase, code) {\n return elsecase ? code ? '\\';}else if(' + unescape(code) + '){out+=\\'' : '\\';}else{out+=\\'' : code ? '\\';if(' + unescape(code) + '){out+=\\'' : '\\';}out+=\\'';\n }).replace(c4.iterate || skip, function(m3, iterate, vname, iname) {\n if (!iterate) {\n return '\\';} } out+=\\'';\n }\n sid += 1;\n indv = iname || 'i' + sid;\n iterate = unescape(iterate);\n return '\\';var arr' + sid + '=' + iterate + ';if(arr' + sid + '){var ' + vname + ',' + indv + '=-1,l' + sid + '=arr' + sid + '.length-1;while(' + indv + '<l' + sid + '){' + vname + '=arr' + sid + '[' + indv + '+=1];out+=\\'';\n }).replace(c4.evaluate || skip, function(m3, code) {\n return '\\';' + unescape(code) + 'out+=\\'';\n }) + '\\';return out;').replace(/\\n/g, '\\\\n').replace(/\\t/g, '\\\\t').replace(/\\r/g, '\\\\r').replace(/(\\s|;|\\}|^|\\{)out\\+='';/g, '$1').replace(/\\+''/g, '');\n if (needhtmlencode) {\n if (!c4.selfcontained && globalThis && !globalThis._encodeHTML) {\n globalThis._encodeHTML = doT3.encodeHTMLSource(c4.doNotSkipEncoded);\n }\n str = 'var encodeHTML = typeof _encodeHTML !== \\'undefined\\' ? _encodeHTML : (' + doT3.encodeHTMLSource.toString() + '(' + (c4.doNotSkipEncoded || '') + '));' + str;\n }\n try {\n return new Function(c4.varname, str);\n } catch (e) {\n if (typeof console !== 'undefined') {\n console.log('Could not create a template function: ' + str);\n }\n throw e;\n }\n };\n doT3.compile = function(tmpl, def) {\n return doT3.template(tmpl, null, def);\n };\n })();\n });\n var definitions = [ {\n name: 'NA',\n value: 'inapplicable',\n priority: 0,\n group: 'inapplicable'\n }, {\n name: 'PASS',\n value: 'passed',\n priority: 1,\n group: 'passes'\n }, {\n name: 'CANTTELL',\n value: 'cantTell',\n priority: 2,\n group: 'incomplete'\n }, {\n name: 'FAIL',\n value: 'failed',\n priority: 3,\n group: 'violations'\n } ];\n var constants = {\n helpUrlBase: 'https://dequeuniversity.com/rules/',\n gridSize: 200,\n results: [],\n resultGroups: [],\n resultGroupMap: {},\n impact: Object.freeze([ 'minor', 'moderate', 'serious', 'critical' ]),\n preload: Object.freeze({\n assets: [ 'cssom', 'media' ],\n timeout: 1e4\n }),\n allOrigins: '<unsafe_all_origins>',\n sameOrigin: '<same_origin>'\n };\n definitions.forEach(function(definition) {\n var name = definition.name;\n var value = definition.value;\n var priority = definition.priority;\n var group = definition.group;\n constants[name] = value;\n constants[name + '_PRIO'] = priority;\n constants[name + '_GROUP'] = group;\n constants.results[priority] = value;\n constants.resultGroups[priority] = group;\n constants.resultGroupMap[value] = group;\n });\n Object.freeze(constants.results);\n Object.freeze(constants.resultGroups);\n Object.freeze(constants.resultGroupMap);\n Object.freeze(constants);\n var constants_default = constants;\n function log() {\n if ((typeof console === 'undefined' ? 'undefined' : _typeof(console)) === 'object' && console.log) {\n Function.prototype.apply.call(console.log, console, arguments);\n }\n }\n var log_default = log;\n var whitespaceRegex = /[\\t\\r\\n\\f]/g;\n var AbstractVirtualNode = function() {\n function AbstractVirtualNode() {\n _classCallCheck(this, AbstractVirtualNode);\n this.parent = void 0;\n }\n return _createClass(AbstractVirtualNode, [ {\n key: 'props',\n get: function get() {\n throw new Error('VirtualNode class must have a \"props\" object consisting of \"nodeType\" and \"nodeName\" properties');\n }\n }, {\n key: 'attrNames',\n get: function get() {\n throw new Error('VirtualNode class must have an \"attrNames\" property');\n }\n }, {\n key: 'attr',\n value: function attr() {\n throw new Error('VirtualNode class must have an \"attr\" function');\n }\n }, {\n key: 'hasAttr',\n value: function hasAttr() {\n throw new Error('VirtualNode class must have a \"hasAttr\" function');\n }\n }, {\n key: 'hasClass',\n value: function hasClass(className) {\n var classAttr = this.attr('class');\n if (!classAttr) {\n return false;\n }\n var selector = ' ' + className + ' ';\n return (' ' + classAttr + ' ').replace(whitespaceRegex, ' ').indexOf(selector) >= 0;\n }\n } ]);\n }();\n var abstract_virtual_node_default = AbstractVirtualNode;\n var utils_exports = {};\n __export(utils_exports, {\n DqElement: function DqElement() {\n return dq_element_default;\n },\n aggregate: function aggregate() {\n return aggregate_default;\n },\n aggregateChecks: function aggregateChecks() {\n return aggregate_checks_default;\n },\n aggregateNodeResults: function aggregateNodeResults() {\n return aggregate_node_results_default;\n },\n aggregateResult: function aggregateResult() {\n return aggregate_result_default;\n },\n areStylesSet: function areStylesSet() {\n return are_styles_set_default;\n },\n assert: function assert() {\n return assert_default;\n },\n checkHelper: function checkHelper() {\n return check_helper_default;\n },\n clone: function clone() {\n return _clone;\n },\n closest: function closest() {\n return closest_default;\n },\n collectResultsFromFrames: function collectResultsFromFrames() {\n return _collectResultsFromFrames;\n },\n contains: function contains() {\n return _contains;\n },\n convertSelector: function convertSelector() {\n return _convertSelector;\n },\n cssParser: function cssParser() {\n return css_parser_default;\n },\n deepMerge: function deepMerge() {\n return deep_merge_default;\n },\n escapeSelector: function escapeSelector() {\n return escape_selector_default;\n },\n extendMetaData: function extendMetaData() {\n return extend_meta_data_default;\n },\n filterHtmlAttrs: function filterHtmlAttrs() {\n return _filterHtmlAttrs;\n },\n finalizeRuleResult: function finalizeRuleResult() {\n return _finalizeRuleResult;\n },\n findBy: function findBy() {\n return find_by_default;\n },\n getAllChecks: function getAllChecks() {\n return get_all_checks_default;\n },\n getAncestry: function getAncestry() {\n return _getAncestry;\n },\n getBaseLang: function getBaseLang() {\n return get_base_lang_default;\n },\n getCheckMessage: function getCheckMessage() {\n return get_check_message_default;\n },\n getCheckOption: function getCheckOption() {\n return get_check_option_default;\n },\n getEnvironmentData: function getEnvironmentData() {\n return _getEnvironmentData;\n },\n getFlattenedTree: function getFlattenedTree() {\n return _getFlattenedTree;\n },\n getFrameContexts: function getFrameContexts() {\n return _getFrameContexts;\n },\n getFriendlyUriEnd: function getFriendlyUriEnd() {\n return get_friendly_uri_end_default;\n },\n getNodeAttributes: function getNodeAttributes() {\n return get_node_attributes_default;\n },\n getNodeFromTree: function getNodeFromTree() {\n return get_node_from_tree_default;\n },\n getPreloadConfig: function getPreloadConfig() {\n return _getPreloadConfig;\n },\n getRootNode: function getRootNode() {\n return get_root_node_default;\n },\n getRule: function getRule() {\n return _getRule;\n },\n getScroll: function getScroll() {\n return get_scroll_default;\n },\n getScrollState: function getScrollState() {\n return get_scroll_state_default;\n },\n getSelector: function getSelector() {\n return _getSelector;\n },\n getSelectorData: function getSelectorData() {\n return _getSelectorData;\n },\n getShadowSelector: function getShadowSelector() {\n return _getShadowSelector;\n },\n getStandards: function getStandards() {\n return _getStandards;\n },\n getStyleSheetFactory: function getStyleSheetFactory() {\n return get_stylesheet_factory_default;\n },\n getXpath: function getXpath() {\n return get_xpath_default;\n },\n injectStyle: function injectStyle() {\n return inject_style_default;\n },\n isHidden: function isHidden() {\n return is_hidden_default;\n },\n isHtmlElement: function isHtmlElement() {\n return is_html_element_default;\n },\n isNodeInContext: function isNodeInContext() {\n return _isNodeInContext;\n },\n isShadowRoot: function isShadowRoot() {\n return is_shadow_root_default;\n },\n isValidLang: function isValidLang() {\n return valid_langs_default;\n },\n isXHTML: function isXHTML() {\n return is_xhtml_default;\n },\n matchAncestry: function matchAncestry() {\n return _matchAncestry;\n },\n matches: function matches() {\n return _matches;\n },\n matchesExpression: function matchesExpression() {\n return _matchesExpression;\n },\n matchesSelector: function matchesSelector() {\n return element_matches_default;\n },\n memoize: function memoize() {\n return memoize_default;\n },\n mergeResults: function mergeResults() {\n return merge_results_default;\n },\n nodeLookup: function nodeLookup() {\n return _nodeLookup;\n },\n nodeSerializer: function nodeSerializer() {\n return node_serializer_default;\n },\n nodeSorter: function nodeSorter() {\n return node_sorter_default;\n },\n parseCrossOriginStylesheet: function parseCrossOriginStylesheet() {\n return parse_crossorigin_stylesheet_default;\n },\n parseSameOriginStylesheet: function parseSameOriginStylesheet() {\n return parse_sameorigin_stylesheet_default;\n },\n parseStylesheet: function parseStylesheet() {\n return parse_stylesheet_default;\n },\n performanceTimer: function performanceTimer() {\n return performance_timer_default;\n },\n pollyfillElementsFromPoint: function pollyfillElementsFromPoint() {\n return _pollyfillElementsFromPoint;\n },\n preload: function preload() {\n return _preload;\n },\n preloadCssom: function preloadCssom() {\n return preload_cssom_default;\n },\n preloadMedia: function preloadMedia() {\n return preload_media_default;\n },\n processMessage: function processMessage() {\n return process_message_default;\n },\n publishMetaData: function publishMetaData() {\n return _publishMetaData;\n },\n querySelectorAll: function querySelectorAll() {\n return query_selector_all_default;\n },\n querySelectorAllFilter: function querySelectorAllFilter() {\n return query_selector_all_filter_default;\n },\n queue: function queue() {\n return queue_default;\n },\n respondable: function respondable() {\n return _respondable;\n },\n ruleShouldRun: function ruleShouldRun() {\n return rule_should_run_default;\n },\n select: function select() {\n return _select;\n },\n sendCommandToFrame: function sendCommandToFrame() {\n return _sendCommandToFrame;\n },\n setScrollState: function setScrollState() {\n return set_scroll_state_default;\n },\n shadowSelect: function shadowSelect() {\n return _shadowSelect;\n },\n shadowSelectAll: function shadowSelectAll() {\n return _shadowSelectAll;\n },\n shouldPreload: function shouldPreload() {\n return _shouldPreload;\n },\n toArray: function toArray() {\n return to_array_default;\n },\n tokenList: function tokenList() {\n return token_list_default;\n },\n uniqueArray: function uniqueArray() {\n return unique_array_default;\n },\n uuid: function uuid() {\n return uuid_default;\n },\n validInputTypes: function validInputTypes() {\n return valid_input_type_default;\n },\n validLangs: function validLangs() {\n return _validLangs;\n }\n });\n function aggregate(map, values2, initial) {\n values2 = values2.slice();\n if (initial) {\n values2.push(initial);\n }\n var sorting = values2.map(function(val) {\n return map.indexOf(val);\n }).sort();\n return map[sorting.pop()];\n }\n var aggregate_default = aggregate;\n var CANTTELL_PRIO = constants_default.CANTTELL_PRIO, FAIL_PRIO = constants_default.FAIL_PRIO;\n var checkMap = [];\n checkMap[constants_default.PASS_PRIO] = true;\n checkMap[constants_default.CANTTELL_PRIO] = null;\n checkMap[constants_default.FAIL_PRIO] = false;\n var checkTypes = [ 'any', 'all', 'none' ];\n function anyAllNone(obj, functor) {\n return checkTypes.reduce(function(out, type2) {\n out[type2] = (obj[type2] || []).map(function(val) {\n return functor(val, type2);\n });\n return out;\n }, {});\n }\n function aggregateChecks(nodeResOriginal) {\n var nodeResult = Object.assign({}, nodeResOriginal);\n anyAllNone(nodeResult, function(check, type2) {\n var i = typeof check.result === 'undefined' ? -1 : checkMap.indexOf(check.result);\n check.priority = i !== -1 ? i : constants_default.CANTTELL_PRIO;\n if (type2 === 'none') {\n if (check.priority === constants_default.PASS_PRIO) {\n check.priority = constants_default.FAIL_PRIO;\n } else if (check.priority === constants_default.FAIL_PRIO) {\n check.priority = constants_default.PASS_PRIO;\n }\n }\n });\n var priorities = {\n all: nodeResult.all.reduce(function(a2, b2) {\n return Math.max(a2, b2.priority);\n }, 0),\n none: nodeResult.none.reduce(function(a2, b2) {\n return Math.max(a2, b2.priority);\n }, 0),\n any: nodeResult.any.reduce(function(a2, b2) {\n return Math.min(a2, b2.priority);\n }, 4) % 4\n };\n nodeResult.priority = Math.max(priorities.all, priorities.none, priorities.any);\n var impacts = [];\n checkTypes.forEach(function(type2) {\n nodeResult[type2] = nodeResult[type2].filter(function(check) {\n return check.priority === nodeResult.priority && check.priority === priorities[type2];\n });\n nodeResult[type2].forEach(function(check) {\n return impacts.push(check.impact);\n });\n });\n if ([ CANTTELL_PRIO, FAIL_PRIO ].includes(nodeResult.priority)) {\n nodeResult.impact = aggregate_default(constants_default.impact, impacts);\n } else {\n nodeResult.impact = null;\n }\n anyAllNone(nodeResult, function(c4) {\n delete c4.result;\n delete c4.priority;\n });\n nodeResult.result = constants_default.results[nodeResult.priority];\n delete nodeResult.priority;\n return nodeResult;\n }\n var aggregate_checks_default = aggregateChecks;\n function _finalizeRuleResult(ruleResult) {\n var rule = axe._audit.rules.find(function(_ref) {\n var id = _ref.id;\n return id === ruleResult.id;\n });\n if (rule && rule.impact) {\n ruleResult.nodes.forEach(function(node) {\n [ 'any', 'all', 'none' ].forEach(function(checkType) {\n (node[checkType] || []).forEach(function(checkResult) {\n checkResult.impact = rule.impact;\n });\n });\n });\n }\n Object.assign(ruleResult, aggregate_node_results_default(ruleResult.nodes));\n delete ruleResult.nodes;\n return ruleResult;\n }\n function aggregateNodeResults(nodeResults) {\n var ruleResult = {};\n nodeResults = nodeResults.map(function(nodeResult) {\n if (nodeResult.any && nodeResult.all && nodeResult.none) {\n return aggregate_checks_default(nodeResult);\n } else if (Array.isArray(nodeResult.node)) {\n return _finalizeRuleResult(nodeResult);\n } else {\n throw new TypeError('Invalid Result type');\n }\n });\n if (nodeResults && nodeResults.length) {\n var resultList = nodeResults.map(function(node) {\n return node.result;\n });\n ruleResult.result = aggregate_default(constants_default.results, resultList, ruleResult.result);\n } else {\n ruleResult.result = 'inapplicable';\n }\n constants_default.resultGroups.forEach(function(group) {\n return ruleResult[group] = [];\n });\n nodeResults.forEach(function(nodeResult) {\n var groupName = constants_default.resultGroupMap[nodeResult.result];\n ruleResult[groupName].push(nodeResult);\n });\n var impactGroup = constants_default.FAIL_GROUP;\n if (ruleResult[impactGroup].length === 0) {\n impactGroup = constants_default.CANTTELL_GROUP;\n }\n if (ruleResult[impactGroup].length > 0) {\n var impactList = ruleResult[impactGroup].map(function(failure) {\n return failure.impact;\n });\n ruleResult.impact = aggregate_default(constants_default.impact, impactList) || null;\n } else {\n ruleResult.impact = null;\n }\n return ruleResult;\n }\n var aggregate_node_results_default = aggregateNodeResults;\n function copyToGroup(resultObject, subResult, group) {\n var resultCopy = Object.assign({}, subResult);\n resultCopy.nodes = (resultCopy[group] || []).concat();\n constants_default.resultGroups.forEach(function(resultGroup) {\n delete resultCopy[resultGroup];\n });\n resultObject[group].push(resultCopy);\n }\n function aggregateResult(results) {\n var resultObject = {};\n constants_default.resultGroups.forEach(function(groupName) {\n return resultObject[groupName] = [];\n });\n results.forEach(function(subResult) {\n if (subResult.error) {\n copyToGroup(resultObject, subResult, constants_default.CANTTELL_GROUP);\n } else if (subResult.result === constants_default.NA) {\n copyToGroup(resultObject, subResult, constants_default.NA_GROUP);\n } else {\n constants_default.resultGroups.forEach(function(group) {\n if (Array.isArray(subResult[group]) && subResult[group].length > 0) {\n copyToGroup(resultObject, subResult, group);\n }\n });\n }\n });\n return resultObject;\n }\n var aggregate_result_default = aggregateResult;\n function areStylesSet(el, styles, stopAt) {\n var styl = window.getComputedStyle(el, null);\n if (!styl) {\n return false;\n }\n for (var i = 0; i < styles.length; ++i) {\n var att = styles[i];\n if (styl.getPropertyValue(att.property) === att.value) {\n return true;\n }\n }\n if (!el.parentNode || el.nodeName.toUpperCase() === stopAt.toUpperCase()) {\n return false;\n }\n return areStylesSet(el.parentNode, styles, stopAt);\n }\n var are_styles_set_default = areStylesSet;\n function assert(bool, message) {\n if (!bool) {\n throw new Error(message);\n }\n }\n var assert_default = assert;\n function toArray(thing) {\n return Array.prototype.slice.call(thing);\n }\n var to_array_default = toArray;\n function escapeSelector(value) {\n var string = String(value);\n var length = string.length;\n var index = -1;\n var codeUnit;\n var result = '';\n var firstCodeUnit = string.charCodeAt(0);\n while (++index < length) {\n codeUnit = string.charCodeAt(index);\n if (codeUnit == 0) {\n result += '\\ufffd';\n continue;\n }\n if (codeUnit >= 1 && codeUnit <= 31 || codeUnit == 127 || index == 0 && codeUnit >= 48 && codeUnit <= 57 || index == 1 && codeUnit >= 48 && codeUnit <= 57 && firstCodeUnit == 45) {\n result += '\\\\' + codeUnit.toString(16) + ' ';\n continue;\n }\n if (index == 0 && length == 1 && codeUnit == 45) {\n result += '\\\\' + string.charAt(index);\n continue;\n }\n if (codeUnit >= 128 || codeUnit == 45 || codeUnit == 95 || codeUnit >= 48 && codeUnit <= 57 || codeUnit >= 65 && codeUnit <= 90 || codeUnit >= 97 && codeUnit <= 122) {\n result += string.charAt(index);\n continue;\n }\n result += '\\\\' + string.charAt(index);\n }\n return result;\n }\n var escape_selector_default = escapeSelector;\n function isMostlyNumbers() {\n var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return str.length !== 0 && (str.match(/[0-9]/g) || '').length >= str.length / 2;\n }\n function splitString(str, splitIndex) {\n return [ str.substring(0, splitIndex), str.substring(splitIndex) ];\n }\n function trimRight(str) {\n return str.replace(/\\s+$/, '');\n }\n function uriParser(url) {\n var original = url;\n var protocol = '', domain = '', port = '', path = '', query = '', hash = '';\n if (url.includes('#')) {\n var _splitString = splitString(url, url.indexOf('#'));\n var _splitString2 = _slicedToArray(_splitString, 2);\n url = _splitString2[0];\n hash = _splitString2[1];\n }\n if (url.includes('?')) {\n var _splitString3 = splitString(url, url.indexOf('?'));\n var _splitString4 = _slicedToArray(_splitString3, 2);\n url = _splitString4[0];\n query = _splitString4[1];\n }\n if (url.includes('://')) {\n var _url$split = url.split('://');\n var _url$split2 = _slicedToArray(_url$split, 2);\n protocol = _url$split2[0];\n url = _url$split2[1];\n var _splitString5 = splitString(url, url.indexOf('/'));\n var _splitString6 = _slicedToArray(_splitString5, 2);\n domain = _splitString6[0];\n url = _splitString6[1];\n } else if (url.substr(0, 2) === '//') {\n url = url.substr(2);\n var _splitString7 = splitString(url, url.indexOf('/'));\n var _splitString8 = _slicedToArray(_splitString7, 2);\n domain = _splitString8[0];\n url = _splitString8[1];\n }\n if (domain.substr(0, 4) === 'www.') {\n domain = domain.substr(4);\n }\n if (domain && domain.includes(':')) {\n var _splitString9 = splitString(domain, domain.indexOf(':'));\n var _splitString10 = _slicedToArray(_splitString9, 2);\n domain = _splitString10[0];\n port = _splitString10[1];\n }\n path = url;\n return {\n original: original,\n protocol: protocol,\n domain: domain,\n port: port,\n path: path,\n query: query,\n hash: hash\n };\n }\n function getFriendlyUriEnd() {\n var uri = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (uri.length <= 1 || uri.substr(0, 5) === 'data:' || uri.substr(0, 11) === 'javascript:' || uri.includes('?')) {\n return;\n }\n var currentDomain = options.currentDomain, _options$maxLength = options.maxLength, maxLength = _options$maxLength === void 0 ? 25 : _options$maxLength;\n var _uriParser = uriParser(uri), path = _uriParser.path, domain = _uriParser.domain, hash = _uriParser.hash;\n var pathEnd = path.substr(path.substr(0, path.length - 2).lastIndexOf('/') + 1);\n if (hash) {\n if (pathEnd && (pathEnd + hash).length <= maxLength) {\n return trimRight(pathEnd + hash);\n } else if (pathEnd.length < 2 && hash.length > 2 && hash.length <= maxLength) {\n return trimRight(hash);\n } else {\n return;\n }\n } else if (domain && domain.length < maxLength && path.length <= 1) {\n return trimRight(domain + path);\n }\n if (path === '/' + pathEnd && domain && currentDomain && domain !== currentDomain && (domain + path).length <= maxLength) {\n return trimRight(domain + path);\n }\n var lastDotIndex = pathEnd.lastIndexOf('.');\n if ((lastDotIndex === -1 || lastDotIndex > 1) && (lastDotIndex !== -1 || pathEnd.length > 2) && pathEnd.length <= maxLength && !pathEnd.match(/index(\\.[a-zA-Z]{2-4})?/) && !isMostlyNumbers(pathEnd)) {\n return trimRight(pathEnd);\n }\n }\n var get_friendly_uri_end_default = getFriendlyUriEnd;\n function getNodeAttributes(node) {\n if (node.attributes instanceof window.NamedNodeMap) {\n return node.attributes;\n }\n return node.cloneNode(false).attributes;\n }\n var get_node_attributes_default = getNodeAttributes;\n var matchesSelector = function() {\n var method;\n function getMethod(node) {\n var index, candidate, candidates = [ 'matches', 'matchesSelector', 'mozMatchesSelector', 'webkitMatchesSelector', 'msMatchesSelector' ], length = candidates.length;\n for (index = 0; index < length; index++) {\n candidate = candidates[index];\n if (node[candidate]) {\n return candidate;\n }\n }\n }\n return function(node, selector) {\n if (!method || !node[method]) {\n method = getMethod(node);\n }\n if (node[method]) {\n return node[method](selector);\n }\n return false;\n };\n }();\n var element_matches_default = matchesSelector;\n var import_memoizee = __toModule(require_memoizee());\n axe._memoizedFns = [];\n function memoizeImplementation(fn) {\n var memoized = (0, import_memoizee['default'])(fn);\n axe._memoizedFns.push(memoized);\n return memoized;\n }\n var memoize_default = memoizeImplementation;\n var isXHTML = memoize_default(function(doc) {\n if (!(doc !== null && doc !== void 0 && doc.createElement)) {\n return false;\n }\n return doc.createElement('A').localName === 'A';\n });\n var is_xhtml_default = isXHTML;\n function _getShadowSelector(generateSelector2, elm) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!elm) {\n return '';\n }\n var doc = elm.getRootNode && elm.getRootNode() || document;\n if (doc.nodeType !== 11) {\n return generateSelector2(elm, options, doc);\n }\n var stack = [];\n while (doc.nodeType === 11) {\n if (!doc.host) {\n return '';\n }\n stack.unshift({\n elm: elm,\n doc: doc\n });\n elm = doc.host;\n doc = elm.getRootNode();\n }\n stack.unshift({\n elm: elm,\n doc: doc\n });\n return stack.map(function(item) {\n return generateSelector2(item.elm, options, item.doc);\n });\n }\n var ignoredAttributes = [ 'class', 'style', 'id', 'selected', 'checked', 'disabled', 'tabindex', 'aria-checked', 'aria-selected', 'aria-invalid', 'aria-activedescendant', 'aria-busy', 'aria-disabled', 'aria-expanded', 'aria-grabbed', 'aria-pressed', 'aria-valuenow', 'xmlns' ];\n var MAXATTRIBUTELENGTH = 31;\n var attrCharsRegex = /([\\\\\"])/g;\n var newlineChars = /(\\r\\n|\\r|\\n)/g;\n function escapeAttribute(str) {\n return str.replace(attrCharsRegex, '\\\\$1').replace(newlineChars, '\\\\a ');\n }\n function getAttributeNameValue(node, at) {\n var name = at.name;\n var atnv;\n if (name.indexOf('href') !== -1 || name.indexOf('src') !== -1) {\n var friendly = get_friendly_uri_end_default(node.getAttribute(name));\n if (friendly) {\n atnv = escape_selector_default(at.name) + '$=\"' + escapeAttribute(friendly) + '\"';\n } else {\n atnv = escape_selector_default(at.name) + '=\"' + escapeAttribute(node.getAttribute(name)) + '\"';\n }\n } else {\n atnv = escape_selector_default(name) + '=\"' + escapeAttribute(at.value) + '\"';\n }\n return atnv;\n }\n function countSort(a2, b2) {\n return a2.count < b2.count ? -1 : a2.count === b2.count ? 0 : 1;\n }\n function filterAttributes(at) {\n return !ignoredAttributes.includes(at.name) && at.name.indexOf(':') === -1 && (!at.value || at.value.length < MAXATTRIBUTELENGTH);\n }\n function _getSelectorData(domTree) {\n var data = {\n classes: {},\n tags: {},\n attributes: {}\n };\n domTree = Array.isArray(domTree) ? domTree : [ domTree ];\n var currentLevel = domTree.slice();\n var stack = [];\n var _loop2 = function _loop2() {\n var current = currentLevel.pop();\n var node = current.actualNode;\n if (!!node.querySelectorAll) {\n var tag = node.nodeName;\n if (data.tags[tag]) {\n data.tags[tag]++;\n } else {\n data.tags[tag] = 1;\n }\n if (node.classList) {\n Array.from(node.classList).forEach(function(cl) {\n var ind = escape_selector_default(cl);\n if (data.classes[ind]) {\n data.classes[ind]++;\n } else {\n data.classes[ind] = 1;\n }\n });\n }\n if (node.hasAttributes()) {\n Array.from(get_node_attributes_default(node)).filter(filterAttributes).forEach(function(at) {\n var atnv = getAttributeNameValue(node, at);\n if (atnv) {\n if (data.attributes[atnv]) {\n data.attributes[atnv]++;\n } else {\n data.attributes[atnv] = 1;\n }\n }\n });\n }\n }\n if (current.children.length) {\n stack.push(currentLevel);\n currentLevel = current.children.slice();\n }\n while (!currentLevel.length && stack.length) {\n currentLevel = stack.pop();\n }\n };\n while (currentLevel.length) {\n _loop2();\n }\n return data;\n }\n function uncommonClasses(node, selectorData) {\n var retVal = [];\n var classData = selectorData.classes;\n var tagData = selectorData.tags;\n if (node.classList) {\n Array.from(node.classList).forEach(function(cl) {\n var ind = escape_selector_default(cl);\n if (classData[ind] < tagData[node.nodeName]) {\n retVal.push({\n name: ind,\n count: classData[ind],\n species: 'class'\n });\n }\n });\n }\n return retVal.sort(countSort);\n }\n function getNthChildString(elm, selector) {\n var siblings = elm.parentNode && Array.from(elm.parentNode.children || '') || [];\n var hasMatchingSiblings = siblings.find(function(sibling) {\n return sibling !== elm && element_matches_default(sibling, selector);\n });\n if (hasMatchingSiblings) {\n var nthChild = 1 + siblings.indexOf(elm);\n return ':nth-child(' + nthChild + ')';\n } else {\n return '';\n }\n }\n function getElmId(elm) {\n if (!elm.getAttribute('id')) {\n return;\n }\n var doc = elm.getRootNode && elm.getRootNode() || document;\n var id = '#' + escape_selector_default(elm.getAttribute('id') || '');\n if (!id.match(/player_uid_/) && doc.querySelectorAll(id).length === 1) {\n return id;\n }\n }\n function getBaseSelector(elm) {\n var xhtml = is_xhtml_default(document);\n return escape_selector_default(xhtml ? elm.localName : elm.nodeName.toLowerCase());\n }\n function uncommonAttributes(node, selectorData) {\n var retVal = [];\n var attData = selectorData.attributes;\n var tagData = selectorData.tags;\n if (node.hasAttributes()) {\n Array.from(get_node_attributes_default(node)).filter(filterAttributes).forEach(function(at) {\n var atnv = getAttributeNameValue(node, at);\n if (atnv && attData[atnv] < tagData[node.nodeName]) {\n retVal.push({\n name: atnv,\n count: attData[atnv],\n species: 'attribute'\n });\n }\n });\n }\n return retVal.sort(countSort);\n }\n function getThreeLeastCommonFeatures(elm, selectorData) {\n var selector = '';\n var features;\n var clss = uncommonClasses(elm, selectorData);\n var atts = uncommonAttributes(elm, selectorData);\n if (clss.length && clss[0].count === 1) {\n features = [ clss[0] ];\n } else if (atts.length && atts[0].count === 1) {\n features = [ atts[0] ];\n selector = getBaseSelector(elm);\n } else {\n features = clss.concat(atts);\n features.sort(countSort);\n features = features.slice(0, 3);\n if (!features.some(function(feat) {\n return feat.species === 'class';\n })) {\n selector = getBaseSelector(elm);\n } else {\n features.sort(function(a2, b2) {\n return a2.species !== b2.species && a2.species === 'class' ? -1 : a2.species === b2.species ? 0 : 1;\n });\n }\n }\n return selector += features.reduce(function(val, feat) {\n switch (feat.species) {\n case 'class':\n return val + '.' + feat.name;\n\n case 'attribute':\n return val + '[' + feat.name + ']';\n }\n return val;\n }, '');\n }\n function generateSelector(elm, options, doc) {\n if (!axe._selectorData) {\n throw new Error('Expect axe._selectorData to be set up');\n }\n var _options$toRoot = options.toRoot, toRoot = _options$toRoot === void 0 ? false : _options$toRoot;\n var selector;\n var similar;\n do {\n var features = getElmId(elm);\n if (!features) {\n features = getThreeLeastCommonFeatures(elm, axe._selectorData);\n features += getNthChildString(elm, features);\n }\n if (selector) {\n selector = features + ' > ' + selector;\n } else {\n selector = features;\n }\n if (!similar) {\n similar = Array.from(doc.querySelectorAll(selector));\n } else {\n similar = similar.filter(function(item) {\n return element_matches_default(item, selector);\n });\n }\n elm = elm.parentElement;\n } while ((similar.length > 1 || toRoot) && elm && elm.nodeType !== 11);\n if (similar.length === 1) {\n return selector;\n } else if (selector.indexOf(' > ') !== -1) {\n return ':root' + selector.substring(selector.indexOf(' > '));\n }\n return ':root';\n }\n function _getSelector(elm, options) {\n return _getShadowSelector(generateSelector, elm, options);\n }\n function generateAncestry(node) {\n var nodeName2 = node.nodeName.toLowerCase();\n var parent = node.parentElement;\n if (!parent) {\n return nodeName2;\n }\n var nthChild = '';\n if (nodeName2 !== 'head' && nodeName2 !== 'body' && parent.children.length > 1) {\n var index = Array.prototype.indexOf.call(parent.children, node) + 1;\n nthChild = ':nth-child('.concat(index, ')');\n }\n return generateAncestry(parent) + ' > ' + nodeName2 + nthChild;\n }\n function _getAncestry(elm, options) {\n return _getShadowSelector(generateAncestry, elm, options);\n }\n function getXPathArray(node, path) {\n var sibling, count;\n if (!node) {\n return [];\n }\n if (!path && node.nodeType === 9) {\n path = [ {\n str: 'html'\n } ];\n return path;\n }\n path = path || [];\n if (node.parentNode && node.parentNode !== node) {\n path = getXPathArray(node.parentNode, path);\n }\n if (node.previousSibling) {\n count = 1;\n sibling = node.previousSibling;\n do {\n if (sibling.nodeType === 1 && sibling.nodeName === node.nodeName) {\n count++;\n }\n sibling = sibling.previousSibling;\n } while (sibling);\n if (count === 1) {\n count = null;\n }\n } else if (node.nextSibling) {\n sibling = node.nextSibling;\n do {\n if (sibling.nodeType === 1 && sibling.nodeName === node.nodeName) {\n count = 1;\n sibling = null;\n } else {\n count = null;\n sibling = sibling.previousSibling;\n }\n } while (sibling);\n }\n if (node.nodeType === 1) {\n var element = {};\n element.str = node.nodeName.toLowerCase();\n var id = node.getAttribute && escape_selector_default(node.getAttribute('id'));\n if (id && node.ownerDocument.querySelectorAll('#' + id).length === 1) {\n element.id = node.getAttribute('id');\n }\n if (count > 1) {\n element.count = count;\n }\n path.push(element);\n }\n return path;\n }\n function xpathToString(xpathArray) {\n return xpathArray.reduce(function(str, elm) {\n if (elm.id) {\n return '/'.concat(elm.str, '[@id=\\'').concat(elm.id, '\\']');\n } else {\n return str + '/'.concat(elm.str) + (elm.count > 0 ? '['.concat(elm.count, ']') : '');\n }\n }, '');\n }\n function getXpath(node) {\n var xpathArray = getXPathArray(node);\n return xpathToString(xpathArray);\n }\n var get_xpath_default = getXpath;\n var _cache = {};\n var cache = {\n set: function set(key, value) {\n validateKey(key);\n _cache[key] = value;\n },\n get: function get(key, creator) {\n validateCreator(creator);\n if (key in _cache) {\n return _cache[key];\n }\n if (typeof creator === 'function') {\n var value = creator();\n assert_default(value !== void 0, 'Cache creator function should not return undefined');\n this.set(key, value);\n return _cache[key];\n }\n },\n clear: function clear() {\n _cache = {};\n }\n };\n function validateKey(key) {\n assert_default(typeof key === 'string', 'key must be a string, ' + _typeof(key) + ' given');\n assert_default(key !== '', 'key must not be empty');\n }\n function validateCreator(creator) {\n assert_default(typeof creator === 'function' || typeof creator === 'undefined', 'creator must be a function or undefined, ' + _typeof(creator) + ' given');\n }\n var cache_default = cache;\n function getNodeFromTree(vNode, node) {\n var el = node || vNode;\n return cache_default.get('nodeMap') ? cache_default.get('nodeMap').get(el) : null;\n }\n var get_node_from_tree_default = getNodeFromTree;\n var CACHE_KEY = 'DqElm.RunOptions';\n function truncate(str, maxLength) {\n maxLength = maxLength || 300;\n if (str.length > maxLength) {\n var index = str.indexOf('>');\n str = str.substring(0, index + 1);\n }\n return str;\n }\n function getSource(element) {\n if (!(element !== null && element !== void 0 && element.outerHTML)) {\n return '';\n }\n var source = element.outerHTML;\n if (!source && typeof window.XMLSerializer === 'function') {\n source = new window.XMLSerializer().serializeToString(element);\n }\n return truncate(source || '');\n }\n function DqElement(elm) {\n var _this$spec$selector, _this$_virtualNode;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var spec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!options) {\n var _cache_default$get;\n options = (_cache_default$get = cache_default.get(CACHE_KEY)) !== null && _cache_default$get !== void 0 ? _cache_default$get : {};\n }\n this.spec = spec;\n if (elm instanceof abstract_virtual_node_default) {\n this._virtualNode = elm;\n this._element = elm.actualNode;\n } else {\n this._element = elm;\n this._virtualNode = get_node_from_tree_default(elm);\n }\n this.fromFrame = ((_this$spec$selector = this.spec.selector) === null || _this$spec$selector === void 0 ? void 0 : _this$spec$selector.length) > 1;\n this._includeElementInJson = options.elementRef;\n if (options.absolutePaths) {\n this._options = {\n toRoot: true\n };\n }\n this.nodeIndexes = [];\n if (Array.isArray(this.spec.nodeIndexes)) {\n this.nodeIndexes = this.spec.nodeIndexes;\n } else if (typeof ((_this$_virtualNode = this._virtualNode) === null || _this$_virtualNode === void 0 ? void 0 : _this$_virtualNode.nodeIndex) === 'number') {\n this.nodeIndexes = [ this._virtualNode.nodeIndex ];\n }\n this.source = null;\n if (!axe._audit.noHtml) {\n var _this$spec$source;\n this.source = (_this$spec$source = this.spec.source) !== null && _this$spec$source !== void 0 ? _this$spec$source : getSource(this._element);\n }\n }\n DqElement.prototype = {\n get selector() {\n return this.spec.selector || [ _getSelector(this.element, this._options) ];\n },\n get ancestry() {\n return this.spec.ancestry || [ _getAncestry(this.element) ];\n },\n get xpath() {\n return this.spec.xpath || [ get_xpath_default(this.element) ];\n },\n get element() {\n return this._element;\n },\n toJSON: function toJSON() {\n var spec = {\n selector: this.selector,\n source: this.source,\n xpath: this.xpath,\n ancestry: this.ancestry,\n nodeIndexes: this.nodeIndexes,\n fromFrame: this.fromFrame\n };\n if (this._includeElementInJson) {\n spec.element = this._element;\n }\n return spec;\n }\n };\n DqElement.fromFrame = function fromFrame(node, options, frame) {\n var spec = DqElement.mergeSpecs(node, frame);\n return new DqElement(frame.element, options, spec);\n };\n DqElement.mergeSpecs = function mergeSpecs(child, parentFrame) {\n return _extends({}, child, {\n selector: [].concat(_toConsumableArray(parentFrame.selector), _toConsumableArray(child.selector)),\n ancestry: [].concat(_toConsumableArray(parentFrame.ancestry), _toConsumableArray(child.ancestry)),\n xpath: [].concat(_toConsumableArray(parentFrame.xpath), _toConsumableArray(child.xpath)),\n nodeIndexes: [].concat(_toConsumableArray(parentFrame.nodeIndexes), _toConsumableArray(child.nodeIndexes)),\n fromFrame: true\n });\n };\n DqElement.setRunOptions = function setRunOptions(_ref2) {\n var elementRef = _ref2.elementRef, absolutePaths = _ref2.absolutePaths;\n cache_default.set(CACHE_KEY, {\n elementRef: elementRef,\n absolutePaths: absolutePaths\n });\n };\n var dq_element_default = DqElement;\n function checkHelper(checkResult, options, resolve, reject) {\n return {\n isAsync: false,\n async: function async() {\n this.isAsync = true;\n return function(result) {\n if (result instanceof Error === false) {\n checkResult.result = result;\n resolve(checkResult);\n } else {\n reject(result);\n }\n };\n },\n data: function data(_data) {\n checkResult.data = _data;\n },\n relatedNodes: function relatedNodes(nodes) {\n if (!window.Node) {\n return;\n }\n if (nodes instanceof window.Node || nodes instanceof abstract_virtual_node_default) {\n nodes = [ nodes ];\n } else {\n nodes = to_array_default(nodes);\n }\n checkResult.relatedNodes = [];\n nodes.forEach(function(node) {\n if (node instanceof abstract_virtual_node_default) {\n node = node.actualNode;\n }\n if (node instanceof window.Node) {\n var dqElm = new dq_element_default(node);\n checkResult.relatedNodes.push(dqElm);\n }\n });\n }\n };\n }\n var check_helper_default = checkHelper;\n function _clone(obj) {\n return cloneRecused(obj, new Map());\n }\n function cloneRecused(obj, seen) {\n var _window, _window2;\n if (obj === null || _typeof(obj) !== 'object') {\n return obj;\n }\n if ((_window = window) !== null && _window !== void 0 && _window.Node && obj instanceof window.Node || (_window2 = window) !== null && _window2 !== void 0 && _window2.HTMLCollection && obj instanceof window.HTMLCollection || 'nodeName' in obj && 'nodeType' in obj && 'ownerDocument' in obj) {\n return obj;\n }\n if (seen.has(obj)) {\n return seen.get(obj);\n }\n if (Array.isArray(obj)) {\n var out2 = [];\n seen.set(obj, out2);\n obj.forEach(function(value) {\n out2.push(cloneRecused(value, seen));\n });\n return out2;\n }\n var out = {};\n seen.set(obj, out);\n for (var key in obj) {\n out[key] = cloneRecused(obj[key], seen);\n }\n return out;\n }\n var import_css_selector_parser = __toModule(require_lib());\n var parser = new import_css_selector_parser.CssSelectorParser();\n parser.registerSelectorPseudos('not');\n parser.registerSelectorPseudos('is');\n parser.registerNestingOperators('>');\n parser.registerAttrEqualityMods('^', '$', '*', '~');\n var css_parser_default = parser;\n function _matches(vNode, selector) {\n var expressions = _convertSelector(selector);\n return expressions.some(function(expression) {\n return _matchesExpression(vNode, expression);\n });\n }\n function matchesTag(vNode, exp) {\n return vNode.props.nodeType === 1 && (exp.tag === '*' || vNode.props.nodeName === exp.tag);\n }\n function matchesClasses(vNode, exp) {\n return !exp.classes || exp.classes.every(function(cl) {\n return vNode.hasClass(cl.value);\n });\n }\n function matchesAttributes(vNode, exp) {\n return !exp.attributes || exp.attributes.every(function(att) {\n var nodeAtt = vNode.attr(att.key);\n return nodeAtt !== null && att.test(nodeAtt);\n });\n }\n function matchesId(vNode, exp) {\n return !exp.id || vNode.props.id === exp.id;\n }\n function matchesPseudos(target, exp) {\n if (!exp.pseudos || exp.pseudos.every(function(pseudo) {\n if (pseudo.name === 'not') {\n return !pseudo.expressions.some(function(expression) {\n return _matchesExpression(target, expression);\n });\n } else if (pseudo.name === 'is') {\n return pseudo.expressions.some(function(expression) {\n return _matchesExpression(target, expression);\n });\n }\n throw new Error('the pseudo selector ' + pseudo.name + ' has not yet been implemented');\n })) {\n return true;\n }\n return false;\n }\n function matchExpression(vNode, expression) {\n return matchesTag(vNode, expression) && matchesClasses(vNode, expression) && matchesAttributes(vNode, expression) && matchesId(vNode, expression) && matchesPseudos(vNode, expression);\n }\n var escapeRegExp = function() {\n var from = /(?=[\\-\\[\\]{}()*+?.\\\\\\^$|,#\\s])/g;\n var to2 = '\\\\';\n return function(string) {\n return string.replace(from, to2);\n };\n }();\n var reUnescape = /\\\\/g;\n function convertAttributes(atts) {\n if (!atts) {\n return;\n }\n return atts.map(function(att) {\n var attributeKey = att.name.replace(reUnescape, '');\n var attributeValue = (att.value || '').replace(reUnescape, '');\n var test, regexp;\n switch (att.operator) {\n case '^=':\n regexp = new RegExp('^' + escapeRegExp(attributeValue));\n break;\n\n case '$=':\n regexp = new RegExp(escapeRegExp(attributeValue) + '$');\n break;\n\n case '~=':\n regexp = new RegExp('(^|\\\\s)' + escapeRegExp(attributeValue) + '(\\\\s|$)');\n break;\n\n case '|=':\n regexp = new RegExp('^' + escapeRegExp(attributeValue) + '(-|$)');\n break;\n\n case '=':\n test = function test(value) {\n return attributeValue === value;\n };\n break;\n\n case '*=':\n test = function test(value) {\n return value && value.includes(attributeValue);\n };\n break;\n\n case '!=':\n test = function test(value) {\n return attributeValue !== value;\n };\n break;\n\n default:\n test = function test(value) {\n return value !== null;\n };\n }\n if (attributeValue === '' && /^[*$^]=$/.test(att.operator)) {\n test = function test() {\n return false;\n };\n }\n if (!test) {\n test = function test(value) {\n return value && regexp.test(value);\n };\n }\n return {\n key: attributeKey,\n value: attributeValue,\n type: typeof att.value === 'undefined' ? 'attrExist' : 'attrValue',\n test: test\n };\n });\n }\n function convertClasses(classes) {\n if (!classes) {\n return;\n }\n return classes.map(function(className) {\n className = className.replace(reUnescape, '');\n return {\n value: className,\n regexp: new RegExp('(^|\\\\s)' + escapeRegExp(className) + '(\\\\s|$)')\n };\n });\n }\n function convertPseudos(pseudos) {\n if (!pseudos) {\n return;\n }\n return pseudos.map(function(p2) {\n var expressions;\n if ([ 'is', 'not' ].includes(p2.name)) {\n expressions = p2.value;\n expressions = expressions.selectors ? expressions.selectors : [ expressions ];\n expressions = convertExpressions(expressions);\n }\n return {\n name: p2.name,\n expressions: expressions,\n value: p2.value\n };\n });\n }\n function convertExpressions(expressions) {\n return expressions.map(function(exp) {\n var newExp = [];\n var rule = exp.rule;\n while (rule) {\n newExp.push({\n tag: rule.tagName ? rule.tagName.toLowerCase() : '*',\n combinator: rule.nestingOperator ? rule.nestingOperator : ' ',\n id: rule.id,\n attributes: convertAttributes(rule.attrs),\n classes: convertClasses(rule.classNames),\n pseudos: convertPseudos(rule.pseudos)\n });\n rule = rule.rule;\n }\n return newExp;\n });\n }\n function _convertSelector(selector) {\n var expressions = css_parser_default.parse(selector);\n expressions = expressions.selectors ? expressions.selectors : [ expressions ];\n return convertExpressions(expressions);\n }\n function optimizedMatchesExpression(vNode, expressions, index, matchAnyParent) {\n if (!vNode) {\n return false;\n }\n var isArray = Array.isArray(expressions);\n var expression = isArray ? expressions[index] : expressions;\n var machedExpression = matchExpression(vNode, expression);\n while (!machedExpression && matchAnyParent && vNode.parent) {\n vNode = vNode.parent;\n machedExpression = matchExpression(vNode, expression);\n }\n if (index > 0) {\n if ([ ' ', '>' ].includes(expression.combinator) === false) {\n throw new Error('axe.utils.matchesExpression does not support the combinator: ' + expression.combinator);\n }\n machedExpression = machedExpression && optimizedMatchesExpression(vNode.parent, expressions, index - 1, expression.combinator === ' ');\n }\n return machedExpression;\n }\n function _matchesExpression(vNode, expressions, matchAnyParent) {\n return optimizedMatchesExpression(vNode, expressions, expressions.length - 1, matchAnyParent);\n }\n function closest(vNode, selector) {\n while (vNode) {\n if (_matches(vNode, selector)) {\n return vNode;\n }\n if (typeof vNode.parent === 'undefined') {\n throw new TypeError('Cannot resolve parent for non-DOM nodes');\n }\n vNode = vNode.parent;\n }\n return null;\n }\n var closest_default = closest;\n function noop() {}\n function funcGuard(f) {\n if (typeof f !== 'function') {\n throw new TypeError('Queue methods require functions as arguments');\n }\n }\n function queue() {\n var tasks = [];\n var started = 0;\n var remaining = 0;\n var completeQueue = noop;\n var complete = false;\n var err2;\n var defaultFail = function defaultFail(e) {\n err2 = e;\n setTimeout(function() {\n if (err2 !== void 0 && err2 !== null) {\n log_default('Uncaught error (of queue)', err2);\n }\n }, 1);\n };\n var failed = defaultFail;\n function createResolve(i) {\n return function(r) {\n tasks[i] = r;\n remaining -= 1;\n if (!remaining && completeQueue !== noop) {\n complete = true;\n completeQueue(tasks);\n }\n };\n }\n function abort(msg) {\n completeQueue = noop;\n failed(msg);\n return tasks;\n }\n function pop() {\n var length = tasks.length;\n for (;started < length; started++) {\n var task = tasks[started];\n try {\n task.call(null, createResolve(started), abort);\n } catch (e) {\n abort(e);\n }\n }\n }\n var q = {\n defer: function defer(fn) {\n if (_typeof(fn) === 'object' && fn.then && fn['catch']) {\n var defer = fn;\n fn = function fn(resolve, reject) {\n defer.then(resolve)['catch'](reject);\n };\n }\n funcGuard(fn);\n if (err2 !== void 0) {\n return;\n } else if (complete) {\n throw new Error('Queue already completed');\n }\n tasks.push(fn);\n ++remaining;\n pop();\n return q;\n },\n then: function then(fn) {\n funcGuard(fn);\n if (completeQueue !== noop) {\n throw new Error('queue `then` already set');\n }\n if (!err2) {\n completeQueue = fn;\n if (!remaining) {\n complete = true;\n completeQueue(tasks);\n }\n }\n return q;\n },\n catch: function _catch(fn) {\n funcGuard(fn);\n if (failed !== defaultFail) {\n throw new Error('queue `catch` already set');\n }\n if (!err2) {\n failed = fn;\n } else {\n fn(err2);\n err2 = null;\n }\n return q;\n },\n abort: abort\n };\n return q;\n }\n var queue_default = queue;\n var uuid;\n var _rng;\n var _crypto = window.crypto || window.msCrypto;\n if (!_rng && _crypto && _crypto.getRandomValues) {\n _rnds8 = new Uint8Array(16);\n _rng = function whatwgRNG() {\n _crypto.getRandomValues(_rnds8);\n return _rnds8;\n };\n }\n var _rnds8;\n if (!_rng) {\n _rnds = new Array(16);\n _rng = function _rng() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 3) === 0) {\n r = Math.random() * 4294967296;\n }\n _rnds[i] = r >>> ((i & 3) << 3) & 255;\n }\n return _rnds;\n };\n }\n var _rnds;\n var BufferClass = typeof window.Buffer == 'function' ? window.Buffer : Array;\n var _byteToHex = [];\n var _hexToByte = {};\n for (var i = 0; i < 256; i++) {\n _byteToHex[i] = (i + 256).toString(16).substr(1);\n _hexToByte[_byteToHex[i]] = i;\n }\n function parse(s, buf, offset) {\n var i = buf && offset || 0, ii = 0;\n buf = buf || [];\n s.toLowerCase().replace(/[0-9a-f]{2}/g, function(oct) {\n if (ii < 16) {\n buf[i + ii++] = _hexToByte[oct];\n }\n });\n while (ii < 16) {\n buf[i + ii++] = 0;\n }\n return buf;\n }\n function unparse(buf, offset) {\n var i = offset || 0, bth = _byteToHex;\n return bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]];\n }\n var _seedBytes = _rng();\n var _nodeId = [ _seedBytes[0] | 1, _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5] ];\n var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 16383;\n var _lastMSecs = 0;\n var _lastNSecs = 0;\n function v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b2 = buf || [];\n options = options || {};\n var clockseq = options.clockseq != null ? options.clockseq : _clockseq;\n var msecs = options.msecs != null ? options.msecs : new Date().getTime();\n var nsecs = options.nsecs != null ? options.nsecs : _lastNSecs + 1;\n var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4;\n if (dt < 0 && options.clockseq == null) {\n clockseq = clockseq + 1 & 16383;\n }\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs == null) {\n nsecs = 0;\n }\n if (nsecs >= 1e4) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n msecs += 122192928e5;\n var tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296;\n b2[i++] = tl >>> 24 & 255;\n b2[i++] = tl >>> 16 & 255;\n b2[i++] = tl >>> 8 & 255;\n b2[i++] = tl & 255;\n var tmh = msecs / 4294967296 * 1e4 & 268435455;\n b2[i++] = tmh >>> 8 & 255;\n b2[i++] = tmh & 255;\n b2[i++] = tmh >>> 24 & 15 | 16;\n b2[i++] = tmh >>> 16 & 255;\n b2[i++] = clockseq >>> 8 | 128;\n b2[i++] = clockseq & 255;\n var node = options.node || _nodeId;\n for (var n2 = 0; n2 < 6; n2++) {\n b2[i + n2] = node[n2];\n }\n return buf ? buf : unparse(b2);\n }\n function v4(options, buf, offset) {\n var i = buf && offset || 0;\n if (typeof options == 'string') {\n buf = options == 'binary' ? new BufferClass(16) : null;\n options = null;\n }\n options = options || {};\n var rnds = options.random || (options.rng || _rng)();\n rnds[6] = rnds[6] & 15 | 64;\n rnds[8] = rnds[8] & 63 | 128;\n if (buf) {\n for (var ii = 0; ii < 16; ii++) {\n buf[i + ii] = rnds[ii];\n }\n }\n return buf || unparse(rnds);\n }\n uuid = v4;\n uuid.v1 = v1;\n uuid.v4 = v4;\n uuid.parse = parse;\n uuid.unparse = unparse;\n uuid.BufferClass = BufferClass;\n axe._uuid = v1();\n var uuid_default = v4;\n var errorTypes = Object.freeze([ 'EvalError', 'RangeError', 'ReferenceError', 'SyntaxError', 'TypeError', 'URIError' ]);\n function stringifyMessage(_ref3) {\n var topic = _ref3.topic, channelId = _ref3.channelId, message = _ref3.message, messageId = _ref3.messageId, keepalive = _ref3.keepalive;\n var data = {\n channelId: channelId,\n topic: topic,\n messageId: messageId,\n keepalive: !!keepalive,\n source: getSource2()\n };\n if (message instanceof Error) {\n data.error = {\n name: message.name,\n message: message.message,\n stack: message.stack\n };\n } else {\n data.payload = message;\n }\n return JSON.stringify(data);\n }\n function parseMessage(dataString) {\n var data;\n try {\n data = JSON.parse(dataString);\n } catch (e) {\n return;\n }\n if (!isRespondableMessage(data)) {\n return;\n }\n var _data2 = data, topic = _data2.topic, channelId = _data2.channelId, messageId = _data2.messageId, keepalive = _data2.keepalive;\n var message = _typeof(data.error) === 'object' ? buildErrorObject(data.error) : data.payload;\n return {\n topic: topic,\n message: message,\n messageId: messageId,\n channelId: channelId,\n keepalive: !!keepalive\n };\n }\n function isRespondableMessage(postedMessage) {\n return postedMessage !== null && _typeof(postedMessage) === 'object' && typeof postedMessage.channelId === 'string' && postedMessage.source === getSource2();\n }\n function buildErrorObject(error) {\n var msg = error.message || 'Unknown error occurred';\n var errorName = errorTypes.includes(error.name) ? error.name : 'Error';\n var ErrConstructor = window[errorName] || Error;\n if (error.stack) {\n msg += '\\n' + error.stack.replace(error.message, '');\n }\n return new ErrConstructor(msg);\n }\n function getSource2() {\n var application = 'axeAPI';\n var version = '';\n if (typeof axe !== 'undefined' && axe._audit && axe._audit.application) {\n application = axe._audit.application;\n }\n if (typeof axe !== 'undefined') {\n version = axe.version;\n }\n return application + '.' + version;\n }\n function assertIsParentWindow(win) {\n assetNotGlobalWindow(win);\n assert_default(window.parent === win, 'Source of the response must be the parent window.');\n }\n function assertIsFrameWindow(win) {\n assetNotGlobalWindow(win);\n assert_default(win.parent === window, 'Respondable target must be a frame in the current window');\n }\n function assetNotGlobalWindow(win) {\n assert_default(window !== win, 'Messages can not be sent to the same window.');\n }\n var channels = {};\n function storeReplyHandler(channelId, replyHandler) {\n var sendToParent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n assert_default(!channels[channelId], 'A replyHandler already exists for this message channel.');\n channels[channelId] = {\n replyHandler: replyHandler,\n sendToParent: sendToParent\n };\n }\n function getReplyHandler(channelId) {\n return channels[channelId];\n }\n function deleteReplyHandler(channelId) {\n delete channels[channelId];\n }\n var messageIds = [];\n function createMessageId() {\n var uuid2 = ''.concat(v4(), ':').concat(v4());\n if (messageIds.includes(uuid2)) {\n return createMessageId();\n }\n messageIds.push(uuid2);\n return uuid2;\n }\n function isNewMessage(uuid2) {\n if (messageIds.includes(uuid2)) {\n return false;\n }\n messageIds.push(uuid2);\n return true;\n }\n function postMessage(win, data, sendToParent, replyHandler) {\n sendToParent ? assertIsParentWindow(win) : assertIsFrameWindow(win);\n if (data.message instanceof Error && !sendToParent) {\n axe.log(data.message);\n return false;\n }\n var dataString = stringifyMessage(_extends({\n messageId: createMessageId()\n }, data));\n var allowedOrigins = axe._audit.allowedOrigins;\n if (!allowedOrigins || !allowedOrigins.length) {\n return false;\n }\n if (typeof replyHandler === 'function') {\n storeReplyHandler(data.channelId, replyHandler, sendToParent);\n }\n allowedOrigins.forEach(function(origin) {\n try {\n win.postMessage(dataString, origin);\n } catch (err2) {\n if (err2 instanceof win.DOMException) {\n throw new Error('allowedOrigins value \"'.concat(origin, '\" is not a valid origin'));\n }\n throw err2;\n }\n });\n return true;\n }\n function processError(win, error, channelId) {\n if (!win.parent !== window) {\n return axe.log(error);\n }\n try {\n postMessage(win, {\n topic: null,\n channelId: channelId,\n message: error,\n messageId: createMessageId(),\n keepalive: true\n }, true);\n } catch (err2) {\n return axe.log(err2);\n }\n }\n function createResponder(win, channelId) {\n var sendToParent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n return function respond(message, keepalive, replyHandler) {\n var data = {\n channelId: channelId,\n message: message,\n keepalive: keepalive\n };\n postMessage(win, data, sendToParent, replyHandler);\n };\n }\n function originIsAllowed(origin) {\n var allowedOrigins = axe._audit.allowedOrigins;\n return allowedOrigins && allowedOrigins.includes('*') || allowedOrigins.includes(origin);\n }\n function messageHandler(_ref4, topicHandler) {\n var origin = _ref4.origin, dataString = _ref4.data, win = _ref4.source;\n try {\n var data = parseMessage(dataString) || {};\n var channelId = data.channelId, message = data.message, messageId = data.messageId;\n if (!originIsAllowed(origin) || !isNewMessage(messageId)) {\n return;\n }\n if (message instanceof Error && win.parent !== window) {\n axe.log(message);\n return false;\n }\n try {\n if (data.topic) {\n var responder = createResponder(win, channelId);\n assertIsParentWindow(win);\n topicHandler(data, responder);\n } else {\n callReplyHandler(win, data);\n }\n } catch (error) {\n processError(win, error, channelId);\n }\n } catch (error) {\n axe.log(error);\n return false;\n }\n }\n function callReplyHandler(win, data) {\n var channelId = data.channelId, message = data.message, keepalive = data.keepalive;\n var _ref5 = getReplyHandler(channelId) || {}, replyHandler = _ref5.replyHandler, sendToParent = _ref5.sendToParent;\n if (!replyHandler) {\n return;\n }\n sendToParent ? assertIsParentWindow(win) : assertIsFrameWindow(win);\n var responder = createResponder(win, channelId, sendToParent);\n if (!keepalive && channelId) {\n deleteReplyHandler(channelId);\n }\n try {\n replyHandler(message, keepalive, responder);\n } catch (error) {\n axe.log(error);\n responder(error, keepalive);\n }\n }\n var frameMessenger = {\n open: function open(topicHandler) {\n if (typeof window.addEventListener !== 'function') {\n return;\n }\n var handler = function handler(messageEvent) {\n messageHandler(messageEvent, topicHandler);\n };\n window.addEventListener('message', handler, false);\n return function() {\n window.removeEventListener('message', handler, false);\n };\n },\n post: function post(win, data, replyHandler) {\n if (typeof window.addEventListener !== 'function') {\n return false;\n }\n return postMessage(win, data, false, replyHandler);\n }\n };\n function setDefaultFrameMessenger(respondable2) {\n respondable2.updateMessenger(frameMessenger);\n }\n var closeHandler;\n var postMessage2;\n var topicHandlers = {};\n function _respondable(win, topic, message, keepalive, replyHandler) {\n var data = {\n topic: topic,\n message: message,\n channelId: ''.concat(v4(), ':').concat(v4()),\n keepalive: keepalive\n };\n return postMessage2(win, data, replyHandler);\n }\n function messageListener(data, responder) {\n var topic = data.topic, message = data.message, keepalive = data.keepalive;\n var topicHandler = topicHandlers[topic];\n if (!topicHandler) {\n return;\n }\n try {\n topicHandler(message, keepalive, responder);\n } catch (error) {\n axe.log(error);\n responder(error, keepalive);\n }\n }\n _respondable.updateMessenger = function updateMessenger(_ref6) {\n var open = _ref6.open, post = _ref6.post;\n assert_default(typeof open === 'function', 'open callback must be a function');\n assert_default(typeof post === 'function', 'post callback must be a function');\n if (closeHandler) {\n closeHandler();\n }\n var close = open(messageListener);\n if (close) {\n assert_default(typeof close === 'function', 'open callback must return a cleanup function');\n closeHandler = close;\n } else {\n closeHandler = null;\n }\n postMessage2 = post;\n };\n _respondable.subscribe = function subscribe(topic, topicHandler) {\n assert_default(typeof topicHandler === 'function', 'Subscriber callback must be a function');\n assert_default(!topicHandlers[topic], 'Topic '.concat(topic, ' is already registered to.'));\n topicHandlers[topic] = topicHandler;\n };\n _respondable.isInFrame = function isInFrame() {\n var win = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;\n return !!win.frameElement;\n };\n setDefaultFrameMessenger(_respondable);\n function _sendCommandToFrame(node, parameters, resolve, reject) {\n var _parameters$options$p, _parameters$options;\n var win = node.contentWindow;\n var pingWaitTime = (_parameters$options$p = (_parameters$options = parameters.options) === null || _parameters$options === void 0 ? void 0 : _parameters$options.pingWaitTime) !== null && _parameters$options$p !== void 0 ? _parameters$options$p : 500;\n if (!win) {\n log_default('Frame does not have a content window', node);\n resolve(null);\n return;\n }\n if (pingWaitTime === 0) {\n callAxeStart(node, parameters, resolve, reject);\n return;\n }\n var timeout = setTimeout(function() {\n timeout = setTimeout(function() {\n if (!parameters.debug) {\n resolve(null);\n } else {\n reject(err('No response from frame', node));\n }\n }, 0);\n }, pingWaitTime);\n _respondable(win, 'axe.ping', null, void 0, function() {\n clearTimeout(timeout);\n callAxeStart(node, parameters, resolve, reject);\n });\n }\n function callAxeStart(node, parameters, resolve, reject) {\n var _parameters$options$f, _parameters$options2;\n var frameWaitTime = (_parameters$options$f = (_parameters$options2 = parameters.options) === null || _parameters$options2 === void 0 ? void 0 : _parameters$options2.frameWaitTime) !== null && _parameters$options$f !== void 0 ? _parameters$options$f : 6e4;\n var win = node.contentWindow;\n var timeout = setTimeout(function collectResultFramesTimeout() {\n reject(err('Axe in frame timed out', node));\n }, frameWaitTime);\n _respondable(win, 'axe.start', parameters, void 0, function(data) {\n clearTimeout(timeout);\n if (data instanceof Error === false) {\n resolve(data);\n } else {\n reject(data);\n }\n });\n }\n function err(message, node) {\n var selector;\n if (axe._tree) {\n selector = _getSelector(node);\n }\n return new Error(message + ': ' + (selector || node));\n }\n var customSerializer = null;\n var nodeSerializer = {\n update: function update(serializer) {\n assert_default(_typeof(serializer) === 'object', 'serializer must be an object');\n customSerializer = serializer;\n },\n toSpec: function toSpec(node) {\n return nodeSerializer.dqElmToSpec(new dq_element_default(node));\n },\n dqElmToSpec: function dqElmToSpec(dqElm, runOptions) {\n var _customSerializer;\n if (dqElm instanceof dq_element_default === false) {\n return dqElm;\n }\n if (runOptions) {\n dqElm = cloneLimitedDqElement(dqElm, runOptions);\n }\n if (typeof ((_customSerializer = customSerializer) === null || _customSerializer === void 0 ? void 0 : _customSerializer.toSpec) === 'function') {\n return customSerializer.toSpec(dqElm);\n }\n return dqElm.toJSON();\n },\n mergeSpecs: function mergeSpecs(nodeSpec, parentFrameSpec) {\n var _customSerializer2;\n if (typeof ((_customSerializer2 = customSerializer) === null || _customSerializer2 === void 0 ? void 0 : _customSerializer2.mergeSpecs) === 'function') {\n return customSerializer.mergeSpecs(nodeSpec, parentFrameSpec);\n }\n return dq_element_default.mergeSpecs(nodeSpec, parentFrameSpec);\n },\n mapRawResults: function mapRawResults(rawResults) {\n return rawResults.map(function(rawResult) {\n return _extends({}, rawResult, {\n nodes: nodeSerializer.mapRawNodeResults(rawResult.nodes)\n });\n });\n },\n mapRawNodeResults: function mapRawNodeResults(nodeResults) {\n return nodeResults === null || nodeResults === void 0 ? void 0 : nodeResults.map(function(_ref7) {\n var node = _ref7.node, nodeResult = _objectWithoutProperties(_ref7, _excluded);\n nodeResult.node = nodeSerializer.dqElmToSpec(node);\n for (var _i2 = 0, _arr = [ 'any', 'all', 'none' ]; _i2 < _arr.length; _i2++) {\n var type2 = _arr[_i2];\n nodeResult[type2] = nodeResult[type2].map(function(_ref8) {\n var relatedNodes = _ref8.relatedNodes, checkResult = _objectWithoutProperties(_ref8, _excluded2);\n checkResult.relatedNodes = relatedNodes.map(nodeSerializer.dqElmToSpec);\n return checkResult;\n });\n }\n return nodeResult;\n });\n }\n };\n var node_serializer_default = nodeSerializer;\n function cloneLimitedDqElement(dqElm, runOptions) {\n var fromFrame2 = dqElm.fromFrame;\n var hasAncestry = runOptions.ancestry, hasXpath = runOptions.xpath;\n var hasSelectors = runOptions.selectors !== false || fromFrame2;\n dqElm = new dq_element_default(dqElm.element, runOptions, {\n source: dqElm.source,\n nodeIndexes: dqElm.nodeIndexes,\n selector: hasSelectors ? dqElm.selector : [ ':root' ],\n ancestry: hasAncestry ? dqElm.ancestry : [ ':root' ],\n xpath: hasXpath ? dqElm.xpath : '/'\n });\n dqElm.fromFrame = fromFrame2;\n return dqElm;\n }\n function getAllChecks(object) {\n var result = [];\n return result.concat(object.any || []).concat(object.all || []).concat(object.none || []);\n }\n var get_all_checks_default = getAllChecks;\n function findBy(array, key, value) {\n if (Array.isArray(array)) {\n return array.find(function(obj) {\n return obj !== null && _typeof(obj) === 'object' && Object.hasOwn(obj, key) && obj[key] === value;\n });\n }\n }\n var find_by_default = findBy;\n function pushFrame(resultSet, options, frameSpec) {\n resultSet.forEach(function(res) {\n res.node = node_serializer_default.mergeSpecs(res.node, frameSpec);\n var checks = get_all_checks_default(res);\n checks.forEach(function(check) {\n check.relatedNodes = check.relatedNodes.map(function(node) {\n return node_serializer_default.mergeSpecs(node, frameSpec);\n });\n });\n });\n }\n function spliceNodes(target, to2) {\n var firstFromFrame = to2[0].node;\n for (var _i3 = 0; _i3 < target.length; _i3++) {\n var node = target[_i3].node;\n var resultSort = nodeIndexSort(node.nodeIndexes, firstFromFrame.nodeIndexes);\n if (resultSort > 0 || resultSort === 0 && firstFromFrame.selector.length < node.selector.length) {\n target.splice.apply(target, [ _i3, 0 ].concat(_toConsumableArray(to2)));\n return;\n }\n }\n target.push.apply(target, _toConsumableArray(to2));\n }\n function normalizeResult(result) {\n if (!result || !result.results) {\n return null;\n }\n if (!Array.isArray(result.results)) {\n return [ result.results ];\n }\n if (!result.results.length) {\n return null;\n }\n return result.results;\n }\n function mergeResults(frameResults, options) {\n var mergedResult = [];\n frameResults.forEach(function(frameResult) {\n var results = normalizeResult(frameResult);\n if (!results || !results.length) {\n return;\n }\n var frameSpec = getFrameSpec(frameResult);\n results.forEach(function(ruleResult) {\n if (ruleResult.nodes && frameSpec) {\n pushFrame(ruleResult.nodes, options, frameSpec);\n }\n var res = find_by_default(mergedResult, 'id', ruleResult.id);\n if (!res) {\n mergedResult.push(ruleResult);\n } else {\n if (ruleResult.nodes.length) {\n spliceNodes(res.nodes, ruleResult.nodes);\n }\n }\n });\n });\n mergedResult.forEach(function(result) {\n if (result.nodes) {\n result.nodes.sort(function(nodeA, nodeB) {\n return nodeIndexSort(nodeA.node.nodeIndexes, nodeB.node.nodeIndexes);\n });\n }\n });\n return mergedResult;\n }\n function nodeIndexSort() {\n var nodeIndexesA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var nodeIndexesB = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var length = Math.max(nodeIndexesA === null || nodeIndexesA === void 0 ? void 0 : nodeIndexesA.length, nodeIndexesB === null || nodeIndexesB === void 0 ? void 0 : nodeIndexesB.length);\n for (var _i4 = 0; _i4 < length; _i4++) {\n var indexA = nodeIndexesA === null || nodeIndexesA === void 0 ? void 0 : nodeIndexesA[_i4];\n var indexB = nodeIndexesB === null || nodeIndexesB === void 0 ? void 0 : nodeIndexesB[_i4];\n if (typeof indexA !== 'number' || isNaN(indexA)) {\n return _i4 === 0 ? 1 : -1;\n }\n if (typeof indexB !== 'number' || isNaN(indexB)) {\n return _i4 === 0 ? -1 : 1;\n }\n if (indexA !== indexB) {\n return indexA - indexB;\n }\n }\n return 0;\n }\n var merge_results_default = mergeResults;\n function getFrameSpec(frameResult) {\n if (frameResult.frameElement) {\n return node_serializer_default.toSpec(frameResult.frameElement);\n } else if (frameResult.frameSpec) {\n return frameResult.frameSpec;\n }\n return null;\n }\n function _collectResultsFromFrames(parentContent, options, command, parameter, resolve, reject) {\n options = _extends({}, options, {\n elementRef: false\n });\n var q = queue_default();\n var frames = parentContent.frames;\n frames.forEach(function(_ref9) {\n var frameElement = _ref9.node, context = _objectWithoutProperties(_ref9, _excluded3);\n q.defer(function(res, rej) {\n var params = {\n options: options,\n command: command,\n parameter: parameter,\n context: context\n };\n function callback(results) {\n if (!results) {\n return res(null);\n }\n return res({\n results: results,\n frameElement: frameElement\n });\n }\n _sendCommandToFrame(frameElement, params, callback, rej);\n });\n });\n q.then(function(data) {\n resolve(merge_results_default(data, options));\n })['catch'](reject);\n }\n function _contains(vNode, otherVNode) {\n if (!vNode.shadowId && !otherVNode.shadowId && vNode.actualNode && typeof vNode.actualNode.contains === 'function') {\n return vNode.actualNode.contains(otherVNode.actualNode);\n }\n do {\n if (vNode === otherVNode) {\n return true;\n } else if (otherVNode.nodeIndex < vNode.nodeIndex) {\n return false;\n }\n otherVNode = otherVNode.parent;\n } while (otherVNode);\n return false;\n }\n function deepMerge() {\n var target = {};\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n sources.forEach(function(source) {\n if (!source || _typeof(source) !== 'object' || Array.isArray(source)) {\n return;\n }\n for (var _i5 = 0, _Object$keys = Object.keys(source); _i5 < _Object$keys.length; _i5++) {\n var key = _Object$keys[_i5];\n if (!target.hasOwnProperty(key) || _typeof(source[key]) !== 'object' || Array.isArray(target[key])) {\n target[key] = source[key];\n } else {\n target[key] = deepMerge(target[key], source[key]);\n }\n }\n });\n return target;\n }\n var deep_merge_default = deepMerge;\n function extendMetaData(to2, from) {\n Object.assign(to2, from);\n Object.keys(from).filter(function(prop) {\n return typeof from[prop] === 'function';\n }).forEach(function(prop) {\n to2[prop] = null;\n try {\n to2[prop] = from[prop](to2);\n } catch (e) {}\n });\n }\n var extend_meta_data_default = extendMetaData;\n var possibleShadowRoots = [ 'article', 'aside', 'blockquote', 'body', 'div', 'footer', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'main', 'nav', 'p', 'section', 'span' ];\n function isShadowRoot(node) {\n if (node.shadowRoot) {\n var nodeName2 = node.nodeName.toLowerCase();\n if (possibleShadowRoots.includes(nodeName2) || /^[a-z][a-z0-9_.-]*-[a-z0-9_.-]*$/.test(nodeName2)) {\n return true;\n }\n }\n return false;\n }\n var is_shadow_root_default = isShadowRoot;\n var dom_exports = {};\n __export(dom_exports, {\n createGrid: function createGrid() {\n return _createGrid;\n },\n findElmsInContext: function findElmsInContext() {\n return find_elms_in_context_default;\n },\n findNearbyElms: function findNearbyElms() {\n return _findNearbyElms;\n },\n findUp: function findUp() {\n return find_up_default;\n },\n findUpVirtual: function findUpVirtual() {\n return find_up_virtual_default;\n },\n focusDisabled: function focusDisabled() {\n return focus_disabled_default;\n },\n getComposedParent: function getComposedParent() {\n return get_composed_parent_default;\n },\n getElementByReference: function getElementByReference() {\n return get_element_by_reference_default;\n },\n getElementCoordinates: function getElementCoordinates() {\n return get_element_coordinates_default;\n },\n getElementStack: function getElementStack() {\n return get_element_stack_default;\n },\n getModalDialog: function getModalDialog() {\n return get_modal_dialog_default;\n },\n getOverflowHiddenAncestors: function getOverflowHiddenAncestors() {\n return get_overflow_hidden_ancestors_default;\n },\n getRootNode: function getRootNode() {\n return get_root_node_default2;\n },\n getScrollOffset: function getScrollOffset() {\n return get_scroll_offset_default;\n },\n getTabbableElements: function getTabbableElements() {\n return get_tabbable_elements_default;\n },\n getTargetRects: function getTargetRects() {\n return get_target_rects_default;\n },\n getTargetSize: function getTargetSize() {\n return get_target_size_default;\n },\n getTextElementStack: function getTextElementStack() {\n return get_text_element_stack_default;\n },\n getViewportSize: function getViewportSize() {\n return get_viewport_size_default;\n },\n getVisibleChildTextRects: function getVisibleChildTextRects() {\n return get_visible_child_text_rects_default;\n },\n hasContent: function hasContent() {\n return has_content_default;\n },\n hasContentVirtual: function hasContentVirtual() {\n return has_content_virtual_default;\n },\n hasLangText: function hasLangText() {\n return _hasLangText;\n },\n idrefs: function idrefs() {\n return idrefs_default;\n },\n insertedIntoFocusOrder: function insertedIntoFocusOrder() {\n return inserted_into_focus_order_default;\n },\n isCurrentPageLink: function isCurrentPageLink() {\n return _isCurrentPageLink;\n },\n isFocusable: function isFocusable() {\n return _isFocusable;\n },\n isHTML5: function isHTML5() {\n return is_html5_default;\n },\n isHiddenForEveryone: function isHiddenForEveryone() {\n return _isHiddenForEveryone;\n },\n isHiddenWithCSS: function isHiddenWithCSS() {\n return is_hidden_with_css_default;\n },\n isInTabOrder: function isInTabOrder() {\n return _isInTabOrder;\n },\n isInTextBlock: function isInTextBlock() {\n return is_in_text_block_default;\n },\n isInert: function isInert() {\n return _isInert;\n },\n isModalOpen: function isModalOpen() {\n return is_modal_open_default;\n },\n isMultiline: function isMultiline() {\n return _isMultiline;\n },\n isNativelyFocusable: function isNativelyFocusable() {\n return is_natively_focusable_default;\n },\n isNode: function isNode() {\n return is_node_default;\n },\n isOffscreen: function isOffscreen() {\n return is_offscreen_default;\n },\n isOpaque: function isOpaque() {\n return is_opaque_default;\n },\n isSkipLink: function isSkipLink() {\n return _isSkipLink;\n },\n isVisible: function isVisible() {\n return is_visible_default;\n },\n isVisibleOnScreen: function isVisibleOnScreen() {\n return _isVisibleOnScreen;\n },\n isVisibleToScreenReaders: function isVisibleToScreenReaders() {\n return _isVisibleToScreenReaders;\n },\n isVisualContent: function isVisualContent() {\n return is_visual_content_default;\n },\n reduceToElementsBelowFloating: function reduceToElementsBelowFloating() {\n return reduce_to_elements_below_floating_default;\n },\n shadowElementsFromPoint: function shadowElementsFromPoint() {\n return shadow_elements_from_point_default;\n },\n urlPropsFromAttribute: function urlPropsFromAttribute() {\n return url_props_from_attribute_default;\n },\n visuallyContains: function visuallyContains() {\n return _visuallyContains;\n },\n visuallyOverlaps: function visuallyOverlaps() {\n return visually_overlaps_default;\n },\n visuallySort: function visuallySort() {\n return _visuallySort;\n }\n });\n function getRootNode(node) {\n var doc = node.getRootNode && node.getRootNode() || document;\n if (doc === node) {\n doc = document;\n }\n return doc;\n }\n var get_root_node_default = getRootNode;\n var get_root_node_default2 = get_root_node_default;\n function findElmsInContext(_ref10) {\n var context = _ref10.context, value = _ref10.value, attr = _ref10.attr, _ref10$elm = _ref10.elm, elm = _ref10$elm === void 0 ? '' : _ref10$elm;\n var root;\n var escapedValue = escape_selector_default(value);\n if (context.nodeType === 9 || context.nodeType === 11) {\n root = context;\n } else {\n root = get_root_node_default2(context);\n }\n return Array.from(root.querySelectorAll(elm + '[' + attr + '=' + escapedValue + ']'));\n }\n var find_elms_in_context_default = findElmsInContext;\n function findUpVirtual(element, target) {\n var parent;\n parent = element.actualNode;\n if (!element.shadowId && typeof element.actualNode.closest === 'function') {\n var match = element.actualNode.closest(target);\n if (match) {\n return match;\n }\n return null;\n }\n do {\n parent = parent.assignedSlot ? parent.assignedSlot : parent.parentNode;\n if (parent && parent.nodeType === 11) {\n parent = parent.host;\n }\n } while (parent && !element_matches_default(parent, target) && parent !== document.documentElement);\n if (!parent) {\n return null;\n }\n if (!element_matches_default(parent, target)) {\n return null;\n }\n return parent;\n }\n var find_up_virtual_default = findUpVirtual;\n function findUp(element, target) {\n return find_up_virtual_default(get_node_from_tree_default(element), target);\n }\n var find_up_default = findUp;\n function _rectsOverlap(rect1, rect2) {\n return (rect1.left | 0) < (rect2.right | 0) && (rect1.right | 0) > (rect2.left | 0) && (rect1.top | 0) < (rect2.bottom | 0) && (rect1.bottom | 0) > (rect2.top | 0);\n }\n var getOverflowHiddenAncestors = memoize_default(function getOverflowHiddenAncestorsMemoized(vNode) {\n var ancestors = [];\n if (!vNode) {\n return ancestors;\n }\n var overflow = vNode.getComputedStylePropertyValue('overflow');\n if (overflow === 'hidden') {\n ancestors.push(vNode);\n }\n return ancestors.concat(getOverflowHiddenAncestors(vNode.parent));\n });\n var get_overflow_hidden_ancestors_default = getOverflowHiddenAncestors;\n var clipRegex = /rect\\s*\\(([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px\\s*\\)/;\n var clipPathRegex = /(\\w+)\\((\\d+)/;\n function nativelyHidden(vNode) {\n return [ 'style', 'script', 'noscript', 'template' ].includes(vNode.props.nodeName);\n }\n function displayHidden(vNode) {\n if (vNode.props.nodeName === 'area') {\n return false;\n }\n return vNode.getComputedStylePropertyValue('display') === 'none';\n }\n function visibilityHidden(vNode) {\n var _ref11 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref11.isAncestor;\n return !isAncestor && [ 'hidden', 'collapse' ].includes(vNode.getComputedStylePropertyValue('visibility'));\n }\n function contentVisibiltyHidden(vNode) {\n var _ref12 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref12.isAncestor;\n return !!isAncestor && vNode.getComputedStylePropertyValue('content-visibility') === 'hidden';\n }\n function ariaHidden(vNode) {\n return vNode.attr('aria-hidden') === 'true';\n }\n function opacityHidden(vNode) {\n return vNode.getComputedStylePropertyValue('opacity') === '0';\n }\n function scrollHidden(vNode) {\n var scroll = get_scroll_default(vNode.actualNode);\n var elHeight = parseInt(vNode.getComputedStylePropertyValue('height'));\n var elWidth = parseInt(vNode.getComputedStylePropertyValue('width'));\n return !!scroll && (elHeight === 0 || elWidth === 0);\n }\n function overflowHidden(vNode) {\n var _ref13 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref13.isAncestor;\n if (isAncestor) {\n return false;\n }\n var position = vNode.getComputedStylePropertyValue('position');\n if (position === 'fixed') {\n return false;\n }\n var nodes = get_overflow_hidden_ancestors_default(vNode);\n if (!nodes.length) {\n return false;\n }\n var rect = vNode.boundingClientRect;\n return nodes.some(function(node) {\n if (position === 'absolute' && !hasPositionedAncestorBetween(vNode, node) && node.getComputedStylePropertyValue('position') === 'static') {\n return false;\n }\n var nodeRect = node.boundingClientRect;\n if (nodeRect.width < 2 || nodeRect.height < 2) {\n return true;\n }\n return !_rectsOverlap(rect, nodeRect);\n });\n }\n function clipHidden(vNode) {\n var matchesClip = vNode.getComputedStylePropertyValue('clip').match(clipRegex);\n var matchesClipPath = vNode.getComputedStylePropertyValue('clip-path').match(clipPathRegex);\n if (matchesClip && matchesClip.length === 5) {\n var position = vNode.getComputedStylePropertyValue('position');\n if ([ 'fixed', 'absolute' ].includes(position)) {\n return matchesClip[3] - matchesClip[1] <= 0 && matchesClip[2] - matchesClip[4] <= 0;\n }\n }\n if (matchesClipPath) {\n var type2 = matchesClipPath[1];\n var value = parseInt(matchesClipPath[2], 10);\n switch (type2) {\n case 'inset':\n return value >= 50;\n\n case 'circle':\n return value === 0;\n\n default:\n }\n }\n return false;\n }\n function areaHidden(vNode, visibleFunction) {\n var mapEl = closest_default(vNode, 'map');\n if (!mapEl) {\n return true;\n }\n var mapElName = mapEl.attr('name');\n if (!mapElName) {\n return true;\n }\n var mapElRootNode = get_root_node_default(vNode.actualNode);\n if (!mapElRootNode || mapElRootNode.nodeType !== 9) {\n return true;\n }\n var refs = query_selector_all_default(axe._tree, 'img[usemap=\"#'.concat(escape_selector_default(mapElName), '\"]'));\n if (!refs || !refs.length) {\n return true;\n }\n return refs.some(function(ref) {\n return !visibleFunction(ref);\n });\n }\n function detailsHidden(vNode) {\n var _vNode$parent;\n if (((_vNode$parent = vNode.parent) === null || _vNode$parent === void 0 ? void 0 : _vNode$parent.props.nodeName) !== 'details') {\n return false;\n }\n if (vNode.props.nodeName === 'summary') {\n var firstSummary = vNode.parent.children.find(function(node) {\n return node.props.nodeName === 'summary';\n });\n if (firstSummary === vNode) {\n return false;\n }\n }\n return !vNode.parent.hasAttr('open');\n }\n function hasPositionedAncestorBetween(child, ancestor) {\n var node = child.parent;\n while (node && node !== ancestor) {\n if ([ 'relative', 'sticky' ].includes(node.getComputedStylePropertyValue('position'))) {\n return true;\n }\n node = node.parent;\n }\n return false;\n }\n var hiddenMethods = [ displayHidden, visibilityHidden, contentVisibiltyHidden, detailsHidden ];\n function _isHiddenForEveryone(vNode) {\n var _ref14 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref14.skipAncestors, _ref14$isAncestor = _ref14.isAncestor, isAncestor = _ref14$isAncestor === void 0 ? false : _ref14$isAncestor;\n vNode = _nodeLookup(vNode).vNode;\n if (skipAncestors) {\n return isHiddenSelf(vNode, isAncestor);\n }\n return isHiddenAncestors(vNode, isAncestor);\n }\n var isHiddenSelf = memoize_default(function isHiddenSelfMemoized(vNode, isAncestor) {\n if (nativelyHidden(vNode)) {\n return true;\n }\n if (!vNode.actualNode) {\n return false;\n }\n if (hiddenMethods.some(function(method) {\n return method(vNode, {\n isAncestor: isAncestor\n });\n })) {\n return true;\n }\n if (!vNode.actualNode.isConnected) {\n return true;\n }\n return false;\n });\n var isHiddenAncestors = memoize_default(function isHiddenAncestorsMemoized(vNode, isAncestor) {\n if (isHiddenSelf(vNode, isAncestor)) {\n return true;\n }\n if (!vNode.parent) {\n return false;\n }\n return isHiddenAncestors(vNode.parent, true);\n });\n function getComposedParent(element) {\n if (element.assignedSlot) {\n return getComposedParent(element.assignedSlot);\n } else if (element.parentNode) {\n var parentNode = element.parentNode;\n if (parentNode.nodeType === 1) {\n return parentNode;\n } else if (parentNode.host) {\n return parentNode.host;\n }\n }\n return null;\n }\n var get_composed_parent_default = getComposedParent;\n function getScrollOffset(element) {\n if (!element.nodeType && element.document) {\n element = element.document;\n }\n if (element.nodeType === 9) {\n var docElement = element.documentElement, body = element.body;\n return {\n left: docElement && docElement.scrollLeft || body && body.scrollLeft || 0,\n top: docElement && docElement.scrollTop || body && body.scrollTop || 0\n };\n }\n return {\n left: element.scrollLeft,\n top: element.scrollTop\n };\n }\n var get_scroll_offset_default = getScrollOffset;\n function getElementCoordinates(element) {\n var scrollOffset = get_scroll_offset_default(document), xOffset = scrollOffset.left, yOffset = scrollOffset.top, coords = element.getBoundingClientRect();\n return {\n top: coords.top + yOffset,\n right: coords.right + xOffset,\n bottom: coords.bottom + yOffset,\n left: coords.left + xOffset,\n width: coords.right - coords.left,\n height: coords.bottom - coords.top\n };\n }\n var get_element_coordinates_default = getElementCoordinates;\n function getViewportSize(win) {\n var doc = win.document;\n var docElement = doc.documentElement;\n if (win.innerWidth) {\n return {\n width: win.innerWidth,\n height: win.innerHeight\n };\n }\n if (docElement) {\n return {\n width: docElement.clientWidth,\n height: docElement.clientHeight\n };\n }\n var body = doc.body;\n return {\n width: body.clientWidth,\n height: body.clientHeight\n };\n }\n var get_viewport_size_default = getViewportSize;\n function noParentScrolled(element, offset) {\n element = get_composed_parent_default(element);\n while (element && element.nodeName.toLowerCase() !== 'html') {\n if (element.scrollTop) {\n offset += element.scrollTop;\n if (offset >= 0) {\n return false;\n }\n }\n element = get_composed_parent_default(element);\n }\n return true;\n }\n function isOffscreen(element) {\n var _ref15 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref15.isAncestor;\n if (isAncestor) {\n return false;\n }\n var _nodeLookup2 = _nodeLookup(element), domNode = _nodeLookup2.domNode;\n if (!domNode) {\n return void 0;\n }\n var leftBoundary;\n var docElement = document.documentElement;\n var styl = window.getComputedStyle(domNode);\n var dir = window.getComputedStyle(document.body || docElement).getPropertyValue('direction');\n var coords = get_element_coordinates_default(domNode);\n if (coords.bottom < 0 && (noParentScrolled(domNode, coords.bottom) || styl.position === 'absolute')) {\n return true;\n }\n if (coords.left === 0 && coords.right === 0) {\n return false;\n }\n if (dir === 'ltr') {\n if (coords.right <= 0) {\n return true;\n }\n } else {\n leftBoundary = Math.max(docElement.scrollWidth, get_viewport_size_default(window).width);\n if (coords.left >= leftBoundary) {\n return true;\n }\n }\n return false;\n }\n var is_offscreen_default = isOffscreen;\n var hiddenMethods2 = [ opacityHidden, scrollHidden, overflowHidden, clipHidden, is_offscreen_default ];\n function _isVisibleOnScreen(vNode) {\n vNode = _nodeLookup(vNode).vNode;\n return isVisibleOnScreenVirtual(vNode);\n }\n var isVisibleOnScreenVirtual = memoize_default(function isVisibleOnScreenMemoized(vNode, isAncestor) {\n if (vNode.actualNode && vNode.props.nodeName === 'area') {\n return !areaHidden(vNode, isVisibleOnScreenVirtual);\n }\n if (_isHiddenForEveryone(vNode, {\n skipAncestors: true,\n isAncestor: isAncestor\n })) {\n return false;\n }\n if (vNode.actualNode && hiddenMethods2.some(function(method) {\n return method(vNode, {\n isAncestor: isAncestor\n });\n })) {\n return false;\n }\n if (!vNode.parent) {\n return true;\n }\n return isVisibleOnScreenVirtual(vNode.parent, true);\n });\n function _getBoundingRect(rectA, rectB) {\n var top = Math.min(rectA.top, rectB.top);\n var right = Math.max(rectA.right, rectB.right);\n var bottom = Math.max(rectA.bottom, rectB.bottom);\n var left = Math.min(rectA.left, rectB.left);\n return new window.DOMRect(left, top, right - left, bottom - top);\n }\n function _isPointInRect(_ref16, _ref17) {\n var x = _ref16.x, y = _ref16.y;\n var top = _ref17.top, right = _ref17.right, bottom = _ref17.bottom, left = _ref17.left;\n return y >= top && x <= right && y <= bottom && x >= left;\n }\n var math_exports = {};\n __export(math_exports, {\n getBoundingRect: function getBoundingRect() {\n return _getBoundingRect;\n },\n getIntersectionRect: function getIntersectionRect() {\n return _getIntersectionRect;\n },\n getOffset: function getOffset() {\n return _getOffset;\n },\n getRectCenter: function getRectCenter() {\n return _getRectCenter;\n },\n hasVisualOverlap: function hasVisualOverlap() {\n return _hasVisualOverlap;\n },\n isPointInRect: function isPointInRect() {\n return _isPointInRect;\n },\n rectHasMinimumSize: function rectHasMinimumSize() {\n return _rectHasMinimumSize;\n },\n rectsOverlap: function rectsOverlap() {\n return _rectsOverlap;\n },\n splitRects: function splitRects() {\n return _splitRects;\n }\n });\n function _getIntersectionRect(rect1, rect2) {\n var leftX = Math.max(rect1.left, rect2.left);\n var rightX = Math.min(rect1.right, rect2.right);\n var topY = Math.max(rect1.top, rect2.top);\n var bottomY = Math.min(rect1.bottom, rect2.bottom);\n if (leftX >= rightX || topY >= bottomY) {\n return null;\n }\n return new window.DOMRect(leftX, topY, rightX - leftX, bottomY - topY);\n }\n function _getRectCenter(_ref18) {\n var left = _ref18.left, top = _ref18.top, width = _ref18.width, height = _ref18.height;\n return new window.DOMPoint(left + width / 2, top + height / 2);\n }\n var roundingMargin = .05;\n function _rectHasMinimumSize(minSize, _ref19) {\n var width = _ref19.width, height = _ref19.height;\n return width + roundingMargin >= minSize && height + roundingMargin >= minSize;\n }\n function _getOffset(vTarget, vNeighbor) {\n var minRadiusNeighbour = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 12;\n var targetRects = get_target_rects_default(vTarget);\n var neighborRects = get_target_rects_default(vNeighbor);\n if (!targetRects.length || !neighborRects.length) {\n return null;\n }\n var targetBoundingBox = targetRects.reduce(_getBoundingRect);\n var targetCenter = _getRectCenter(targetBoundingBox);\n var minDistance = Infinity;\n var _iterator2 = _createForOfIteratorHelper(neighborRects), _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {\n var rect = _step2.value;\n if (_isPointInRect(targetCenter, rect)) {\n return 0;\n }\n var closestPoint = getClosestPoint(targetCenter, rect);\n var distance2 = pointDistance(targetCenter, closestPoint);\n minDistance = Math.min(minDistance, distance2);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n var neighborTargetSize = get_target_size_default(vNeighbor);\n if (_rectHasMinimumSize(minRadiusNeighbour * 2, neighborTargetSize)) {\n return minDistance;\n }\n var neighborBoundingBox = neighborRects.reduce(_getBoundingRect);\n var neighborCenter = _getRectCenter(neighborBoundingBox);\n var centerDistance = pointDistance(targetCenter, neighborCenter) - minRadiusNeighbour;\n return Math.max(0, Math.min(minDistance, centerDistance));\n }\n function getClosestPoint(point, rect) {\n var x;\n var y;\n if (point.x < rect.left) {\n x = rect.left;\n } else if (point.x > rect.right) {\n x = rect.right;\n } else {\n x = point.x;\n }\n if (point.y < rect.top) {\n y = rect.top;\n } else if (point.y > rect.bottom) {\n y = rect.bottom;\n } else {\n y = point.y;\n }\n return {\n x: x,\n y: y\n };\n }\n function pointDistance(pointA, pointB) {\n return Math.hypot(pointA.x - pointB.x, pointA.y - pointB.y);\n }\n function _hasVisualOverlap(vNodeA, vNodeB) {\n var rectA = vNodeA.boundingClientRect;\n var rectB = vNodeB.boundingClientRect;\n if (rectA.left >= rectB.right || rectA.right <= rectB.left || rectA.top >= rectB.bottom || rectA.bottom <= rectB.top) {\n return false;\n }\n return _visuallySort(vNodeA, vNodeB) > 0;\n }\n function _splitRects(outerRect, overlapRects) {\n var uniqueRects = [ outerRect ];\n var _iterator3 = _createForOfIteratorHelper(overlapRects), _step3;\n try {\n var _loop3 = function _loop3() {\n var overlapRect = _step3.value;\n uniqueRects = uniqueRects.reduce(function(rects, inputRect) {\n return rects.concat(splitRect(inputRect, overlapRect));\n }, []);\n if (uniqueRects.length > 4e3) {\n throw new Error('splitRects: Too many rects');\n }\n };\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) {\n _loop3();\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n return uniqueRects;\n }\n function splitRect(inputRect, clipRect) {\n var top = inputRect.top, left = inputRect.left, bottom = inputRect.bottom, right = inputRect.right;\n var yAligned = top < clipRect.bottom && bottom > clipRect.top;\n var xAligned = left < clipRect.right && right > clipRect.left;\n var rects = [];\n if (between(clipRect.top, top, bottom) && xAligned) {\n rects.push({\n top: top,\n left: left,\n bottom: clipRect.top,\n right: right\n });\n }\n if (between(clipRect.right, left, right) && yAligned) {\n rects.push({\n top: top,\n left: clipRect.right,\n bottom: bottom,\n right: right\n });\n }\n if (between(clipRect.bottom, top, bottom) && xAligned) {\n rects.push({\n top: clipRect.bottom,\n right: right,\n bottom: bottom,\n left: left\n });\n }\n if (between(clipRect.left, left, right) && yAligned) {\n rects.push({\n top: top,\n left: left,\n bottom: bottom,\n right: clipRect.left\n });\n }\n if (rects.length === 0) {\n if (isEnclosedRect(inputRect, clipRect)) {\n return [];\n }\n rects.push(inputRect);\n }\n return rects.map(computeRect);\n }\n var between = function between(num, min, max2) {\n return num > min && num < max2;\n };\n function computeRect(baseRect) {\n return new window.DOMRect(baseRect.left, baseRect.top, baseRect.right - baseRect.left, baseRect.bottom - baseRect.top);\n }\n function isEnclosedRect(rectA, rectB) {\n return rectA.top >= rectB.top && rectA.left >= rectB.left && rectA.bottom <= rectB.bottom && rectA.right <= rectB.right;\n }\n var ROOT_LEVEL = 0;\n var DEFAULT_LEVEL = .1;\n var FLOAT_LEVEL = .2;\n var POSITION_LEVEL = .3;\n var nodeIndex = 0;\n function _createGrid() {\n var root = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.body;\n var rootGrid = arguments.length > 1 ? arguments[1] : undefined;\n var parentVNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (cache_default.get('gridCreated') && !parentVNode) {\n return constants_default.gridSize;\n }\n cache_default.set('gridCreated', true);\n if (!parentVNode) {\n var _rootGrid;\n var vNode = get_node_from_tree_default(document.documentElement);\n if (!vNode) {\n vNode = new virtual_node_default(document.documentElement);\n }\n nodeIndex = 0;\n vNode._stackingOrder = [ createStackingContext(ROOT_LEVEL, nodeIndex++, null) ];\n (_rootGrid = rootGrid) !== null && _rootGrid !== void 0 ? _rootGrid : rootGrid = new Grid();\n addNodeToGrid(rootGrid, vNode);\n if (get_scroll_default(vNode.actualNode)) {\n var subGrid = new Grid(vNode);\n vNode._subGrid = subGrid;\n }\n }\n var treeWalker = document.createTreeWalker(root, window.NodeFilter.SHOW_ELEMENT, null, false);\n var node = parentVNode ? treeWalker.nextNode() : treeWalker.currentNode;\n while (node) {\n var _vNode = get_node_from_tree_default(node);\n if (_vNode && _vNode.parent) {\n parentVNode = _vNode.parent;\n } else if (node.assignedSlot) {\n parentVNode = get_node_from_tree_default(node.assignedSlot);\n } else if (node.parentElement) {\n parentVNode = get_node_from_tree_default(node.parentElement);\n } else if (node.parentNode && get_node_from_tree_default(node.parentNode)) {\n parentVNode = get_node_from_tree_default(node.parentNode);\n }\n if (!_vNode) {\n _vNode = new axe.VirtualNode(node, parentVNode);\n }\n _vNode._stackingOrder = createStackingOrder(_vNode, parentVNode, nodeIndex++);\n var scrollRegionParent = findScrollRegionParent(_vNode, parentVNode);\n var grid = scrollRegionParent ? scrollRegionParent._subGrid : rootGrid;\n if (get_scroll_default(_vNode.actualNode)) {\n var _subGrid = new Grid(_vNode);\n _vNode._subGrid = _subGrid;\n }\n var rect = _vNode.boundingClientRect;\n if (rect.width !== 0 && rect.height !== 0 && _isVisibleOnScreen(node)) {\n addNodeToGrid(grid, _vNode);\n }\n if (is_shadow_root_default(node)) {\n _createGrid(node.shadowRoot, grid, _vNode);\n }\n node = treeWalker.nextNode();\n }\n return constants_default.gridSize;\n }\n function isStackingContext(vNode, parentVNode) {\n var position = vNode.getComputedStylePropertyValue('position');\n var zIndex = vNode.getComputedStylePropertyValue('z-index');\n if (position === 'fixed' || position === 'sticky') {\n return true;\n }\n if (zIndex !== 'auto' && position !== 'static') {\n return true;\n }\n if (vNode.getComputedStylePropertyValue('opacity') !== '1') {\n return true;\n }\n var transform = vNode.getComputedStylePropertyValue('-webkit-transform') || vNode.getComputedStylePropertyValue('-ms-transform') || vNode.getComputedStylePropertyValue('transform') || 'none';\n if (transform !== 'none') {\n return true;\n }\n var mixBlendMode = vNode.getComputedStylePropertyValue('mix-blend-mode');\n if (mixBlendMode && mixBlendMode !== 'normal') {\n return true;\n }\n var filter = vNode.getComputedStylePropertyValue('filter');\n if (filter && filter !== 'none') {\n return true;\n }\n var perspective = vNode.getComputedStylePropertyValue('perspective');\n if (perspective && perspective !== 'none') {\n return true;\n }\n var clipPath = vNode.getComputedStylePropertyValue('clip-path');\n if (clipPath && clipPath !== 'none') {\n return true;\n }\n var mask = vNode.getComputedStylePropertyValue('-webkit-mask') || vNode.getComputedStylePropertyValue('mask') || 'none';\n if (mask !== 'none') {\n return true;\n }\n var maskImage = vNode.getComputedStylePropertyValue('-webkit-mask-image') || vNode.getComputedStylePropertyValue('mask-image') || 'none';\n if (maskImage !== 'none') {\n return true;\n }\n var maskBorder = vNode.getComputedStylePropertyValue('-webkit-mask-border') || vNode.getComputedStylePropertyValue('mask-border') || 'none';\n if (maskBorder !== 'none') {\n return true;\n }\n if (vNode.getComputedStylePropertyValue('isolation') === 'isolate') {\n return true;\n }\n var willChange = vNode.getComputedStylePropertyValue('will-change');\n if (willChange === 'transform' || willChange === 'opacity') {\n return true;\n }\n if (vNode.getComputedStylePropertyValue('-webkit-overflow-scrolling') === 'touch') {\n return true;\n }\n var contain = vNode.getComputedStylePropertyValue('contain');\n if ([ 'layout', 'paint', 'strict', 'content' ].includes(contain)) {\n return true;\n }\n if (zIndex !== 'auto' && isFlexOrGridContainer(parentVNode)) {\n return true;\n }\n return false;\n }\n function isFlexOrGridContainer(vNode) {\n if (!vNode) {\n return false;\n }\n var display2 = vNode.getComputedStylePropertyValue('display');\n return [ 'flex', 'inline-flex', 'grid', 'inline-grid' ].includes(display2);\n }\n function createStackingOrder(vNode, parentVNode, treeOrder) {\n var stackingOrder = parentVNode._stackingOrder.slice();\n if (isStackingContext(vNode, parentVNode)) {\n var index = stackingOrder.findIndex(function(_ref20) {\n var stackLevel2 = _ref20.stackLevel;\n return [ ROOT_LEVEL, FLOAT_LEVEL, POSITION_LEVEL ].includes(stackLevel2);\n });\n if (index !== -1) {\n stackingOrder.splice(index, stackingOrder.length - index);\n }\n }\n var stackLevel = getStackLevel(vNode, parentVNode);\n if (stackLevel !== null) {\n stackingOrder.push(createStackingContext(stackLevel, treeOrder, vNode));\n }\n return stackingOrder;\n }\n function createStackingContext(stackLevel, treeOrder, vNode) {\n return {\n stackLevel: stackLevel,\n treeOrder: treeOrder,\n vNode: vNode\n };\n }\n function getStackLevel(vNode, parentVNode) {\n var zIndex = getRealZIndex(vNode, parentVNode);\n if (![ 'auto', '0' ].includes(zIndex)) {\n return parseInt(zIndex);\n }\n if (vNode.getComputedStylePropertyValue('position') !== 'static') {\n return POSITION_LEVEL;\n }\n if (vNode.getComputedStylePropertyValue('float') !== 'none') {\n return FLOAT_LEVEL;\n }\n if (isStackingContext(vNode, parentVNode)) {\n return DEFAULT_LEVEL;\n }\n return null;\n }\n function getRealZIndex(vNode, parentVNode) {\n var position = vNode.getComputedStylePropertyValue('position');\n if (position === 'static' && !isFlexOrGridContainer(parentVNode)) {\n return 'auto';\n }\n return vNode.getComputedStylePropertyValue('z-index');\n }\n function findScrollRegionParent(vNode, parentVNode) {\n var scrollRegionParent = null;\n var checkedNodes = [ vNode ];\n while (parentVNode) {\n if (get_scroll_default(parentVNode.actualNode)) {\n scrollRegionParent = parentVNode;\n break;\n }\n if (parentVNode._scrollRegionParent) {\n scrollRegionParent = parentVNode._scrollRegionParent;\n break;\n }\n checkedNodes.push(parentVNode);\n parentVNode = get_node_from_tree_default(parentVNode.actualNode.parentElement || parentVNode.actualNode.parentNode);\n }\n checkedNodes.forEach(function(virtualNode) {\n return virtualNode._scrollRegionParent = scrollRegionParent;\n });\n return scrollRegionParent;\n }\n function addNodeToGrid(grid, vNode) {\n var overflowHiddenNodes = get_overflow_hidden_ancestors_default(vNode);\n vNode.clientRects.forEach(function(clientRect) {\n var _vNode$_grid;\n var visibleRect = overflowHiddenNodes.reduce(function(rect, overflowNode) {\n return rect && _getIntersectionRect(rect, overflowNode.boundingClientRect);\n }, clientRect);\n if (!visibleRect) {\n return;\n }\n (_vNode$_grid = vNode._grid) !== null && _vNode$_grid !== void 0 ? _vNode$_grid : vNode._grid = grid;\n var gridRect = grid.getGridPositionOfRect(visibleRect);\n grid.loopGridPosition(gridRect, function(gridCell) {\n if (!gridCell.includes(vNode)) {\n gridCell.push(vNode);\n }\n });\n });\n }\n var Grid = function() {\n function Grid() {\n var container = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n _classCallCheck(this, Grid);\n this.container = container;\n this.cells = [];\n }\n return _createClass(Grid, [ {\n key: 'toGridIndex',\n value: function toGridIndex(num) {\n return Math.floor(num / constants_default.gridSize);\n }\n }, {\n key: 'getCellFromPoint',\n value: function getCellFromPoint(_ref21) {\n var _this$cells, _row;\n var x = _ref21.x, y = _ref21.y;\n assert_default(this.boundaries, 'Grid does not have cells added');\n var rowIndex = this.toGridIndex(y);\n var colIndex = this.toGridIndex(x);\n assert_default(_isPointInRect({\n y: rowIndex,\n x: colIndex\n }, this.boundaries), 'Element midpoint exceeds the grid bounds');\n var row = (_this$cells = this.cells[rowIndex - this.cells._negativeIndex]) !== null && _this$cells !== void 0 ? _this$cells : [];\n return (_row = row[colIndex - row._negativeIndex]) !== null && _row !== void 0 ? _row : [];\n }\n }, {\n key: 'loopGridPosition',\n value: function loopGridPosition(gridPosition, callback) {\n var _gridPosition = gridPosition, left = _gridPosition.left, right = _gridPosition.right, top = _gridPosition.top, bottom = _gridPosition.bottom;\n if (this.boundaries) {\n gridPosition = _getBoundingRect(this.boundaries, gridPosition);\n }\n this.boundaries = gridPosition;\n loopNegativeIndexMatrix(this.cells, top, bottom, function(gridRow, row) {\n loopNegativeIndexMatrix(gridRow, left, right, function(gridCell, col) {\n callback(gridCell, {\n row: row,\n col: col\n });\n });\n });\n }\n }, {\n key: 'getGridPositionOfRect',\n value: function getGridPositionOfRect(_ref22) {\n var top = _ref22.top, right = _ref22.right, bottom = _ref22.bottom, left = _ref22.left;\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n top = this.toGridIndex(top - margin);\n right = this.toGridIndex(right + margin - 1);\n bottom = this.toGridIndex(bottom + margin - 1);\n left = this.toGridIndex(left - margin);\n return new window.DOMRect(left, top, right - left, bottom - top);\n }\n } ]);\n }();\n function loopNegativeIndexMatrix(matrix, start, end, callback) {\n var _matrix$_negativeInde;\n (_matrix$_negativeInde = matrix._negativeIndex) !== null && _matrix$_negativeInde !== void 0 ? _matrix$_negativeInde : matrix._negativeIndex = 0;\n if (start < matrix._negativeIndex) {\n for (var _i6 = 0; _i6 < matrix._negativeIndex - start; _i6++) {\n matrix.splice(0, 0, []);\n }\n matrix._negativeIndex = start;\n }\n var startOffset = start - matrix._negativeIndex;\n var endOffset = end - matrix._negativeIndex;\n for (var index = startOffset; index <= endOffset; index++) {\n var _index, _matrix$_index;\n (_matrix$_index = matrix[_index = index]) !== null && _matrix$_index !== void 0 ? _matrix$_index : matrix[_index] = [];\n callback(matrix[index], index + matrix._negativeIndex);\n }\n }\n function _findNearbyElms(vNode) {\n var _vNode$_grid2;\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n _createGrid();\n if (!((_vNode$_grid2 = vNode._grid) !== null && _vNode$_grid2 !== void 0 && (_vNode$_grid2 = _vNode$_grid2.cells) !== null && _vNode$_grid2 !== void 0 && _vNode$_grid2.length)) {\n return [];\n }\n var rect = vNode.boundingClientRect;\n var grid = vNode._grid;\n var selfIsFixed = hasFixedPosition(vNode);\n var gridPosition = grid.getGridPositionOfRect(rect, margin);\n var neighbors = [];\n grid.loopGridPosition(gridPosition, function(vNeighbors) {\n var _iterator4 = _createForOfIteratorHelper(vNeighbors), _step4;\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) {\n var vNeighbor = _step4.value;\n if (vNeighbor && vNeighbor !== vNode && !neighbors.includes(vNeighbor) && selfIsFixed === hasFixedPosition(vNeighbor)) {\n neighbors.push(vNeighbor);\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n return neighbors;\n }\n var hasFixedPosition = memoize_default(function(vNode) {\n if (!vNode) {\n return false;\n }\n if (vNode.getComputedStylePropertyValue('position') === 'fixed') {\n return true;\n }\n return hasFixedPosition(vNode.parent);\n });\n var getModalDialog = memoize_default(function getModalDialogMemoized() {\n var _dialogs$find;\n if (!axe._tree) {\n return null;\n }\n var dialogs = query_selector_all_filter_default(axe._tree[0], 'dialog[open]', function(vNode) {\n var rect = vNode.boundingClientRect;\n var stack = document.elementsFromPoint(rect.left + 1, rect.top + 1);\n return stack.includes(vNode.actualNode) && _isVisibleOnScreen(vNode);\n });\n if (!dialogs.length) {\n return null;\n }\n var modalDialog = dialogs.find(function(dialog) {\n var rect = dialog.boundingClientRect;\n var stack = document.elementsFromPoint(rect.left - 10, rect.top - 10);\n return stack.includes(dialog.actualNode);\n });\n if (modalDialog) {\n return modalDialog;\n }\n return (_dialogs$find = dialogs.find(function(dialog) {\n var _getNodeFromGrid;\n var _ref23 = (_getNodeFromGrid = getNodeFromGrid(dialog)) !== null && _getNodeFromGrid !== void 0 ? _getNodeFromGrid : {}, vNode = _ref23.vNode, rect = _ref23.rect;\n if (!vNode) {\n return false;\n }\n var stack = document.elementsFromPoint(rect.left + 1, rect.top + 1);\n return !stack.includes(vNode.actualNode);\n })) !== null && _dialogs$find !== void 0 ? _dialogs$find : null;\n });\n var get_modal_dialog_default = getModalDialog;\n function getNodeFromGrid(dialog) {\n _createGrid();\n var grid = axe._tree[0]._grid;\n var viewRect = new window.DOMRect(0, 0, window.innerWidth, window.innerHeight);\n if (!grid) {\n return;\n }\n for (var row = 0; row < grid.cells.length; row++) {\n var cols = grid.cells[row];\n if (!cols) {\n continue;\n }\n for (var col = 0; col < cols.length; col++) {\n var cells = cols[col];\n if (!cells) {\n continue;\n }\n for (var _i7 = 0; _i7 < cells.length; _i7++) {\n var vNode = cells[_i7];\n var rect = vNode.boundingClientRect;\n var intersection = _getIntersectionRect(rect, viewRect);\n if (vNode.props.nodeName !== 'html' && vNode !== dialog && vNode.getComputedStylePropertyValue('pointer-events') !== 'none' && intersection) {\n return {\n vNode: vNode,\n rect: intersection\n };\n }\n }\n }\n }\n }\n function _isInert(vNode) {\n var _ref24 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref24.skipAncestors, isAncestor = _ref24.isAncestor;\n if (skipAncestors) {\n return isInertSelf(vNode, isAncestor);\n }\n return isInertAncestors(vNode, isAncestor);\n }\n var isInertSelf = memoize_default(function isInertSelfMemoized(vNode, isAncestor) {\n if (vNode.hasAttr('inert')) {\n return true;\n }\n if (!isAncestor && vNode.actualNode) {\n var modalDialog = get_modal_dialog_default();\n if (modalDialog && !_contains(modalDialog, vNode)) {\n return true;\n }\n }\n return false;\n });\n var isInertAncestors = memoize_default(function isInertAncestorsMemoized(vNode, isAncestor) {\n if (isInertSelf(vNode, isAncestor)) {\n return true;\n }\n if (!vNode.parent) {\n return false;\n }\n return isInertAncestors(vNode.parent, true);\n });\n var allowedDisabledNodeNames = [ 'button', 'command', 'fieldset', 'keygen', 'optgroup', 'option', 'select', 'textarea', 'input' ];\n function isDisabledAttrAllowed(nodeName2) {\n return allowedDisabledNodeNames.includes(nodeName2);\n }\n function focusDisabled(el) {\n var _nodeLookup3 = _nodeLookup(el), vNode = _nodeLookup3.vNode;\n if (isDisabledAttrAllowed(vNode.props.nodeName) && vNode.hasAttr('disabled') || _isInert(vNode)) {\n return true;\n }\n var parentNode = vNode.parent;\n var ancestors = [];\n var fieldsetDisabled = false;\n while (parentNode && parentNode.shadowId === vNode.shadowId && !fieldsetDisabled) {\n ancestors.push(parentNode);\n if (parentNode.props.nodeName === 'legend') {\n break;\n }\n if (parentNode._inDisabledFieldset !== void 0) {\n fieldsetDisabled = parentNode._inDisabledFieldset;\n break;\n }\n if (parentNode.props.nodeName === 'fieldset' && parentNode.hasAttr('disabled')) {\n fieldsetDisabled = true;\n }\n parentNode = parentNode.parent;\n }\n ancestors.forEach(function(ancestor) {\n return ancestor._inDisabledFieldset = fieldsetDisabled;\n });\n if (fieldsetDisabled) {\n return true;\n }\n if (vNode.props.nodeName !== 'area') {\n if (!vNode.actualNode) {\n return false;\n }\n return _isHiddenForEveryone(vNode);\n }\n return false;\n }\n var focus_disabled_default = focusDisabled;\n var angularSkipLinkRegex = /^\\/\\#/;\n var angularRouterLinkRegex = /^#[!/]/;\n function _isCurrentPageLink(anchor) {\n var _window$location;\n var href = anchor.getAttribute('href');\n if (!href || href === '#') {\n return false;\n }\n if (angularSkipLinkRegex.test(href)) {\n return true;\n }\n var hash = anchor.hash, protocol = anchor.protocol, hostname = anchor.hostname, port = anchor.port, pathname = anchor.pathname;\n if (angularRouterLinkRegex.test(hash)) {\n return false;\n }\n if (href.charAt(0) === '#') {\n return true;\n }\n if (typeof ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.origin) !== 'string' || window.location.origin.indexOf('://') === -1) {\n return null;\n }\n var currentPageUrl = window.location.origin + window.location.pathname;\n var url;\n if (!hostname) {\n url = window.location.origin;\n } else {\n url = ''.concat(protocol, '//').concat(hostname).concat(port ? ':'.concat(port) : '');\n }\n if (!pathname) {\n url += window.location.pathname;\n } else {\n url += (pathname[0] !== '/' ? '/' : '') + pathname;\n }\n return url === currentPageUrl;\n }\n function getElementByReference(node, attr) {\n var fragment = node.getAttribute(attr);\n if (!fragment) {\n return null;\n }\n if (attr === 'href' && !_isCurrentPageLink(node)) {\n return null;\n }\n if (fragment.indexOf('#') !== -1) {\n fragment = decodeURIComponent(fragment.substr(fragment.indexOf('#') + 1));\n }\n var candidate = document.getElementById(fragment);\n if (candidate) {\n return candidate;\n }\n candidate = document.getElementsByName(fragment);\n if (candidate.length) {\n return candidate[0];\n }\n return null;\n }\n var get_element_by_reference_default = getElementByReference;\n function _visuallySort(a2, b2) {\n _createGrid();\n var length = Math.max(a2._stackingOrder.length, b2._stackingOrder.length);\n for (var _i8 = 0; _i8 < length; _i8++) {\n if (typeof b2._stackingOrder[_i8] === 'undefined') {\n return -1;\n } else if (typeof a2._stackingOrder[_i8] === 'undefined') {\n return 1;\n }\n if (b2._stackingOrder[_i8].stackLevel > a2._stackingOrder[_i8].stackLevel) {\n return 1;\n }\n if (b2._stackingOrder[_i8].stackLevel < a2._stackingOrder[_i8].stackLevel) {\n return -1;\n }\n if (b2._stackingOrder[_i8].treeOrder !== a2._stackingOrder[_i8].treeOrder) {\n return b2._stackingOrder[_i8].treeOrder - a2._stackingOrder[_i8].treeOrder;\n }\n }\n var aNode = a2.actualNode;\n var bNode = b2.actualNode;\n if (aNode.getRootNode && aNode.getRootNode() !== bNode.getRootNode()) {\n var boundaries = [];\n while (aNode) {\n boundaries.push({\n root: aNode.getRootNode(),\n node: aNode\n });\n aNode = aNode.getRootNode().host;\n }\n while (bNode && !boundaries.find(function(boundary) {\n return boundary.root === bNode.getRootNode();\n })) {\n bNode = bNode.getRootNode().host;\n }\n aNode = boundaries.find(function(boundary) {\n return boundary.root === bNode.getRootNode();\n }).node;\n if (aNode === bNode) {\n return a2.actualNode.getRootNode() !== aNode.getRootNode() ? -1 : 1;\n }\n }\n var _window$Node = window.Node, DOCUMENT_POSITION_FOLLOWING = _window$Node.DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_CONTAINS = _window$Node.DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_CONTAINED_BY = _window$Node.DOCUMENT_POSITION_CONTAINED_BY;\n var docPosition = aNode.compareDocumentPosition(bNode);\n var DOMOrder = docPosition & DOCUMENT_POSITION_FOLLOWING ? 1 : -1;\n var isDescendant = docPosition & DOCUMENT_POSITION_CONTAINS || docPosition & DOCUMENT_POSITION_CONTAINED_BY;\n var aPosition = getPositionOrder(a2);\n var bPosition = getPositionOrder(b2);\n if (aPosition === bPosition || isDescendant) {\n return DOMOrder;\n }\n return bPosition - aPosition;\n }\n function getPositionOrder(vNode) {\n if (vNode.getComputedStylePropertyValue('display').indexOf('inline') !== -1) {\n return 2;\n }\n if (isFloated(vNode)) {\n return 1;\n }\n return 0;\n }\n function isFloated(vNode) {\n if (!vNode) {\n return false;\n }\n if (vNode._isFloated !== void 0) {\n return vNode._isFloated;\n }\n var floatStyle = vNode.getComputedStylePropertyValue('float');\n if (floatStyle !== 'none') {\n vNode._isFloated = true;\n return true;\n }\n var floated = isFloated(vNode.parent);\n vNode._isFloated = floated;\n return floated;\n }\n function getRectStack(grid, rect) {\n var recursed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var center = _getRectCenter(rect);\n var gridCell = grid.getCellFromPoint(center) || [];\n var floorX = Math.floor(center.x);\n var floorY = Math.floor(center.y);\n var stack = gridCell.filter(function(gridCellNode) {\n return gridCellNode.clientRects.some(function(clientRect) {\n var rectX = clientRect.left;\n var rectY = clientRect.top;\n return floorX < Math.floor(rectX + clientRect.width) && floorX >= Math.floor(rectX) && floorY < Math.floor(rectY + clientRect.height) && floorY >= Math.floor(rectY);\n });\n });\n var gridContainer = grid.container;\n if (gridContainer) {\n stack = getRectStack(gridContainer._grid, gridContainer.boundingClientRect, true).concat(stack);\n }\n if (!recursed) {\n stack = stack.sort(_visuallySort).map(function(vNode) {\n return vNode.actualNode;\n }).concat(document.documentElement).filter(function(node, index, array) {\n return array.indexOf(node) === index;\n });\n }\n return stack;\n }\n function getElementStack(node) {\n _createGrid();\n var vNode = get_node_from_tree_default(node);\n var grid = vNode._grid;\n if (!grid) {\n return [];\n }\n return getRectStack(grid, vNode.boundingClientRect);\n }\n var get_element_stack_default = getElementStack;\n function getTabbableElements(virtualNode) {\n var nodeAndDescendents = query_selector_all_default(virtualNode, '*');\n var tabbableElements = nodeAndDescendents.filter(function(vNode) {\n var isFocusable2 = vNode.isFocusable;\n var tabIndex = vNode.actualNode.getAttribute('tabindex');\n tabIndex = tabIndex && !isNaN(parseInt(tabIndex, 10)) ? parseInt(tabIndex) : null;\n return tabIndex ? isFocusable2 && tabIndex >= 0 : isFocusable2;\n });\n return tabbableElements;\n }\n var get_tabbable_elements_default = getTabbableElements;\n function isNativelyFocusable(el) {\n var _nodeLookup4 = _nodeLookup(el), vNode = _nodeLookup4.vNode;\n if (!vNode || focus_disabled_default(vNode)) {\n return false;\n }\n switch (vNode.props.nodeName) {\n case 'a':\n case 'area':\n if (vNode.hasAttr('href')) {\n return true;\n }\n break;\n\n case 'input':\n return vNode.props.type !== 'hidden';\n\n case 'textarea':\n case 'select':\n case 'summary':\n case 'button':\n return true;\n\n case 'details':\n return !query_selector_all_default(vNode, 'summary').length;\n }\n return false;\n }\n var is_natively_focusable_default = isNativelyFocusable;\n function _isFocusable(el) {\n var _nodeLookup5 = _nodeLookup(el), vNode = _nodeLookup5.vNode;\n if (vNode.props.nodeType !== 1) {\n return false;\n }\n if (focus_disabled_default(vNode)) {\n return false;\n } else if (is_natively_focusable_default(vNode)) {\n return true;\n }\n var tabindex = vNode.attr('tabindex');\n if (tabindex && !isNaN(parseInt(tabindex, 10))) {\n return true;\n }\n return false;\n }\n function _isInTabOrder(el) {\n var _nodeLookup6 = _nodeLookup(el), vNode = _nodeLookup6.vNode;\n if (vNode.props.nodeType !== 1) {\n return false;\n }\n var tabindex = parseInt(vNode.attr('tabindex', 10));\n if (tabindex <= -1) {\n return false;\n }\n return _isFocusable(vNode);\n }\n var get_target_rects_default = memoize_default(getTargetRects);\n function getTargetRects(vNode) {\n var nodeRect = vNode.boundingClientRect;\n var overlappingVNodes = _findNearbyElms(vNode).filter(function(vNeighbor) {\n return _hasVisualOverlap(vNode, vNeighbor) && vNeighbor.getComputedStylePropertyValue('pointer-events') !== 'none' && !isDescendantNotInTabOrder(vNode, vNeighbor);\n });\n if (!overlappingVNodes.length) {\n return [ nodeRect ];\n }\n var obscuringRects = overlappingVNodes.map(function(_ref25) {\n var rect = _ref25.boundingClientRect;\n return rect;\n });\n return _splitRects(nodeRect, obscuringRects);\n }\n function isDescendantNotInTabOrder(vAncestor, vNode) {\n return _contains(vAncestor, vNode) && !_isInTabOrder(vNode);\n }\n var get_target_size_default = memoize_default(getTargetSize);\n function getTargetSize(vNode, minSize) {\n var rects = get_target_rects_default(vNode);\n return getLargestRect(rects, minSize);\n }\n function getLargestRect(rects, minSize) {\n return rects.reduce(function(rectA, rectB) {\n var rectAisMinimum = _rectHasMinimumSize(minSize, rectA);\n var rectBisMinimum = _rectHasMinimumSize(minSize, rectB);\n if (rectAisMinimum !== rectBisMinimum) {\n return rectAisMinimum ? rectA : rectB;\n }\n var areaA = rectA.width * rectA.height;\n var areaB = rectB.width * rectB.height;\n return areaA > areaB ? rectA : rectB;\n });\n }\n var text_exports = {};\n __export(text_exports, {\n accessibleText: function accessibleText() {\n return accessible_text_default;\n },\n accessibleTextVirtual: function accessibleTextVirtual() {\n return _accessibleTextVirtual;\n },\n autocomplete: function autocomplete() {\n return _autocomplete;\n },\n formControlValue: function formControlValue() {\n return form_control_value_default;\n },\n formControlValueMethods: function formControlValueMethods() {\n return _formControlValueMethods;\n },\n hasUnicode: function hasUnicode() {\n return has_unicode_default;\n },\n isHumanInterpretable: function isHumanInterpretable() {\n return is_human_interpretable_default;\n },\n isIconLigature: function isIconLigature() {\n return _isIconLigature;\n },\n isValidAutocomplete: function isValidAutocomplete() {\n return is_valid_autocomplete_default;\n },\n label: function label() {\n return label_default;\n },\n labelText: function labelText() {\n return label_text_default;\n },\n labelVirtual: function labelVirtual() {\n return label_virtual_default2;\n },\n nativeElementType: function nativeElementType() {\n return native_element_type_default;\n },\n nativeTextAlternative: function nativeTextAlternative() {\n return _nativeTextAlternative;\n },\n nativeTextMethods: function nativeTextMethods() {\n return native_text_methods_default;\n },\n removeUnicode: function removeUnicode() {\n return remove_unicode_default;\n },\n sanitize: function sanitize() {\n return sanitize_default;\n },\n subtreeText: function subtreeText() {\n return subtree_text_default;\n },\n titleText: function titleText() {\n return title_text_default;\n },\n unsupported: function unsupported() {\n return unsupported_default;\n },\n visible: function visible() {\n return visible_default;\n },\n visibleTextNodes: function visibleTextNodes() {\n return visible_text_nodes_default;\n },\n visibleVirtual: function visibleVirtual() {\n return visible_virtual_default;\n }\n });\n function idrefs(node, attr) {\n node = node.actualNode || node;\n try {\n var doc = get_root_node_default2(node);\n var result = [];\n var attrValue = node.getAttribute(attr);\n if (attrValue) {\n attrValue = token_list_default(attrValue);\n for (var index = 0; index < attrValue.length; index++) {\n result.push(doc.getElementById(attrValue[index]));\n }\n }\n return result;\n } catch (e) {\n throw new TypeError('Cannot resolve id references for non-DOM nodes');\n }\n }\n var idrefs_default = idrefs;\n function accessibleText(element, context) {\n var virtualNode = get_node_from_tree_default(element);\n return _accessibleTextVirtual(virtualNode, context);\n }\n var accessible_text_default = accessibleText;\n function arialabelledbyText(element) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _nodeLookup7 = _nodeLookup(element), vNode = _nodeLookup7.vNode;\n if ((vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) !== 1) {\n return '';\n }\n if (vNode.props.nodeType !== 1 || context.inLabelledByContext || context.inControlContext || !vNode.attr('aria-labelledby')) {\n return '';\n }\n var refs = idrefs_default(vNode, 'aria-labelledby').filter(function(elm) {\n return elm;\n });\n return refs.reduce(function(accessibleName, elm) {\n var accessibleNameAdd = accessible_text_default(elm, _extends({\n inLabelledByContext: true,\n startNode: context.startNode || vNode\n }, context));\n if (!accessibleName) {\n return accessibleNameAdd;\n } else {\n return ''.concat(accessibleName, ' ').concat(accessibleNameAdd);\n }\n }, '');\n }\n var arialabelledby_text_default = arialabelledbyText;\n function _arialabelText(element) {\n var _nodeLookup8 = _nodeLookup(element), vNode = _nodeLookup8.vNode;\n if ((vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) !== 1) {\n return '';\n }\n return vNode.attr('aria-label') || '';\n }\n var ariaAttrs = {\n 'aria-activedescendant': {\n type: 'idref',\n allowEmpty: true\n },\n 'aria-atomic': {\n type: 'boolean',\n global: true\n },\n 'aria-autocomplete': {\n type: 'nmtoken',\n values: [ 'inline', 'list', 'both', 'none' ]\n },\n 'aria-braillelabel': {\n type: 'string',\n allowEmpty: true,\n global: true\n },\n 'aria-brailleroledescription': {\n type: 'string',\n allowEmpty: true,\n global: true\n },\n 'aria-busy': {\n type: 'boolean',\n global: true\n },\n 'aria-checked': {\n type: 'nmtoken',\n values: [ 'false', 'mixed', 'true', 'undefined' ]\n },\n 'aria-colcount': {\n type: 'int',\n minValue: -1\n },\n 'aria-colindex': {\n type: 'int',\n minValue: 1\n },\n 'aria-colspan': {\n type: 'int',\n minValue: 1\n },\n 'aria-controls': {\n type: 'idrefs',\n allowEmpty: true,\n global: true\n },\n 'aria-current': {\n type: 'nmtoken',\n allowEmpty: true,\n values: [ 'page', 'step', 'location', 'date', 'time', 'true', 'false' ],\n global: true\n },\n 'aria-describedby': {\n type: 'idrefs',\n allowEmpty: true,\n global: true\n },\n 'aria-description': {\n type: 'string',\n allowEmpty: true,\n global: true\n },\n 'aria-details': {\n type: 'idref',\n allowEmpty: true,\n global: true\n },\n 'aria-disabled': {\n type: 'boolean',\n global: true\n },\n 'aria-dropeffect': {\n type: 'nmtokens',\n values: [ 'copy', 'execute', 'link', 'move', 'none', 'popup' ],\n global: true\n },\n 'aria-errormessage': {\n type: 'idref',\n allowEmpty: true,\n global: true\n },\n 'aria-expanded': {\n type: 'nmtoken',\n values: [ 'true', 'false', 'undefined' ]\n },\n 'aria-flowto': {\n type: 'idrefs',\n allowEmpty: true,\n global: true\n },\n 'aria-grabbed': {\n type: 'nmtoken',\n values: [ 'true', 'false', 'undefined' ],\n global: true\n },\n 'aria-haspopup': {\n type: 'nmtoken',\n allowEmpty: true,\n values: [ 'true', 'false', 'menu', 'listbox', 'tree', 'grid', 'dialog' ],\n global: true\n },\n 'aria-hidden': {\n type: 'nmtoken',\n values: [ 'true', 'false', 'undefined' ],\n global: true\n },\n 'aria-invalid': {\n type: 'nmtoken',\n values: [ 'grammar', 'false', 'spelling', 'true' ],\n global: true\n },\n 'aria-keyshortcuts': {\n type: 'string',\n allowEmpty: true,\n global: true\n },\n 'aria-label': {\n type: 'string',\n allowEmpty: true,\n global: true\n },\n 'aria-labelledby': {\n type: 'idrefs',\n allowEmpty: true,\n global: true\n },\n 'aria-level': {\n type: 'int',\n minValue: 1\n },\n 'aria-live': {\n type: 'nmtoken',\n values: [ 'assertive', 'off', 'polite' ],\n global: true\n },\n 'aria-modal': {\n type: 'boolean'\n },\n 'aria-multiline': {\n type: 'boolean'\n },\n 'aria-multiselectable': {\n type: 'boolean'\n },\n 'aria-orientation': {\n type: 'nmtoken',\n values: [ 'horizontal', 'undefined', 'vertical' ]\n },\n 'aria-owns': {\n type: 'idrefs',\n allowEmpty: true,\n global: true\n },\n 'aria-placeholder': {\n type: 'string',\n allowEmpty: true\n },\n 'aria-posinset': {\n type: 'int',\n minValue: 1\n },\n 'aria-pressed': {\n type: 'nmtoken',\n values: [ 'false', 'mixed', 'true', 'undefined' ]\n },\n 'aria-readonly': {\n type: 'boolean'\n },\n 'aria-relevant': {\n type: 'nmtokens',\n values: [ 'additions', 'all', 'removals', 'text' ],\n global: true\n },\n 'aria-required': {\n type: 'boolean'\n },\n 'aria-roledescription': {\n type: 'string',\n allowEmpty: true,\n global: true\n },\n 'aria-rowcount': {\n type: 'int',\n minValue: -1\n },\n 'aria-rowindex': {\n type: 'int',\n minValue: 1\n },\n 'aria-rowspan': {\n type: 'int',\n minValue: 0\n },\n 'aria-selected': {\n type: 'nmtoken',\n values: [ 'false', 'true', 'undefined' ]\n },\n 'aria-setsize': {\n type: 'int',\n minValue: -1\n },\n 'aria-sort': {\n type: 'nmtoken',\n values: [ 'ascending', 'descending', 'none', 'other' ]\n },\n 'aria-valuemax': {\n type: 'decimal'\n },\n 'aria-valuemin': {\n type: 'decimal'\n },\n 'aria-valuenow': {\n type: 'decimal'\n },\n 'aria-valuetext': {\n type: 'string',\n allowEmpty: true\n }\n };\n var aria_attrs_default = ariaAttrs;\n var ariaRoles = {\n alert: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n alertdialog: {\n type: 'window',\n allowedAttrs: [ 'aria-expanded', 'aria-modal' ],\n superclassRole: [ 'alert', 'dialog' ],\n accessibleNameRequired: true\n },\n application: {\n type: 'landmark',\n allowedAttrs: [ 'aria-activedescendant', 'aria-expanded' ],\n superclassRole: [ 'structure' ],\n accessibleNameRequired: true\n },\n article: {\n type: 'structure',\n allowedAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded' ],\n superclassRole: [ 'document' ]\n },\n banner: {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n blockquote: {\n type: 'structure',\n superclassRole: [ 'section' ]\n },\n button: {\n type: 'widget',\n allowedAttrs: [ 'aria-expanded', 'aria-pressed' ],\n superclassRole: [ 'command' ],\n accessibleNameRequired: true,\n nameFromContent: true,\n childrenPresentational: true\n },\n caption: {\n type: 'structure',\n requiredContext: [ 'figure', 'table', 'grid', 'treegrid' ],\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n cell: {\n type: 'structure',\n requiredContext: [ 'row' ],\n allowedAttrs: [ 'aria-colindex', 'aria-colspan', 'aria-rowindex', 'aria-rowspan', 'aria-expanded' ],\n superclassRole: [ 'section' ],\n nameFromContent: true\n },\n checkbox: {\n type: 'widget',\n requiredAttrs: [ 'aria-checked' ],\n allowedAttrs: [ 'aria-readonly', 'aria-expanded', 'aria-required' ],\n superclassRole: [ 'input' ],\n accessibleNameRequired: true,\n nameFromContent: true,\n childrenPresentational: true\n },\n code: {\n type: 'structure',\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n columnheader: {\n type: 'structure',\n requiredContext: [ 'row' ],\n allowedAttrs: [ 'aria-sort', 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-readonly', 'aria-required', 'aria-rowindex', 'aria-rowspan', 'aria-selected' ],\n superclassRole: [ 'cell', 'gridcell', 'sectionhead' ],\n accessibleNameRequired: false,\n nameFromContent: true\n },\n combobox: {\n type: 'widget',\n requiredAttrs: [ 'aria-expanded', 'aria-controls' ],\n allowedAttrs: [ 'aria-owns', 'aria-autocomplete', 'aria-readonly', 'aria-required', 'aria-activedescendant', 'aria-orientation' ],\n superclassRole: [ 'select' ],\n accessibleNameRequired: true\n },\n command: {\n type: 'abstract',\n superclassRole: [ 'widget' ]\n },\n complementary: {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n composite: {\n type: 'abstract',\n superclassRole: [ 'widget' ]\n },\n contentinfo: {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n comment: {\n type: 'structure',\n allowedAttrs: [ 'aria-level', 'aria-posinset', 'aria-setsize' ],\n superclassRole: [ 'article' ]\n },\n definition: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n deletion: {\n type: 'structure',\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n dialog: {\n type: 'window',\n allowedAttrs: [ 'aria-expanded', 'aria-modal' ],\n superclassRole: [ 'window' ],\n accessibleNameRequired: true\n },\n directory: {\n type: 'structure',\n deprecated: true,\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'list' ],\n nameFromContent: true\n },\n document: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'structure' ]\n },\n emphasis: {\n type: 'structure',\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n feed: {\n type: 'structure',\n requiredOwned: [ 'article' ],\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'list' ]\n },\n figure: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ],\n nameFromContent: true\n },\n form: {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n grid: {\n type: 'composite',\n requiredOwned: [ 'rowgroup', 'row' ],\n allowedAttrs: [ 'aria-level', 'aria-multiselectable', 'aria-readonly', 'aria-activedescendant', 'aria-colcount', 'aria-expanded', 'aria-rowcount' ],\n superclassRole: [ 'composite', 'table' ],\n accessibleNameRequired: false\n },\n gridcell: {\n type: 'widget',\n requiredContext: [ 'row' ],\n allowedAttrs: [ 'aria-readonly', 'aria-required', 'aria-selected', 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-rowindex', 'aria-rowspan' ],\n superclassRole: [ 'cell', 'widget' ],\n nameFromContent: true\n },\n group: {\n type: 'structure',\n allowedAttrs: [ 'aria-activedescendant', 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n heading: {\n type: 'structure',\n requiredAttrs: [ 'aria-level' ],\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'sectionhead' ],\n accessibleNameRequired: false,\n nameFromContent: true\n },\n img: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ],\n accessibleNameRequired: true,\n childrenPresentational: true\n },\n input: {\n type: 'abstract',\n superclassRole: [ 'widget' ]\n },\n insertion: {\n type: 'structure',\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n landmark: {\n type: 'abstract',\n superclassRole: [ 'section' ]\n },\n link: {\n type: 'widget',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'command' ],\n accessibleNameRequired: true,\n nameFromContent: true\n },\n list: {\n type: 'structure',\n requiredOwned: [ 'listitem' ],\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n listbox: {\n type: 'widget',\n requiredOwned: [ 'group', 'option' ],\n allowedAttrs: [ 'aria-multiselectable', 'aria-readonly', 'aria-required', 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n superclassRole: [ 'select' ],\n accessibleNameRequired: true\n },\n listitem: {\n type: 'structure',\n requiredContext: [ 'list' ],\n allowedAttrs: [ 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-expanded' ],\n superclassRole: [ 'section' ],\n nameFromContent: true\n },\n log: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n main: {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n marquee: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n math: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ],\n childrenPresentational: true\n },\n menu: {\n type: 'composite',\n requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu', 'separator' ],\n allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n superclassRole: [ 'select' ]\n },\n menubar: {\n type: 'composite',\n requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu', 'separator' ],\n allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n superclassRole: [ 'menu' ]\n },\n menuitem: {\n type: 'widget',\n requiredContext: [ 'menu', 'menubar', 'group' ],\n allowedAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded' ],\n superclassRole: [ 'command' ],\n accessibleNameRequired: true,\n nameFromContent: true\n },\n menuitemcheckbox: {\n type: 'widget',\n requiredContext: [ 'menu', 'menubar', 'group' ],\n requiredAttrs: [ 'aria-checked' ],\n allowedAttrs: [ 'aria-expanded', 'aria-posinset', 'aria-readonly', 'aria-setsize' ],\n superclassRole: [ 'checkbox', 'menuitem' ],\n accessibleNameRequired: true,\n nameFromContent: true,\n childrenPresentational: true\n },\n menuitemradio: {\n type: 'widget',\n requiredContext: [ 'menu', 'menubar', 'group' ],\n requiredAttrs: [ 'aria-checked' ],\n allowedAttrs: [ 'aria-expanded', 'aria-posinset', 'aria-readonly', 'aria-setsize' ],\n superclassRole: [ 'menuitemcheckbox', 'radio' ],\n accessibleNameRequired: true,\n nameFromContent: true,\n childrenPresentational: true\n },\n meter: {\n type: 'structure',\n requiredAttrs: [ 'aria-valuenow' ],\n allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-valuetext' ],\n superclassRole: [ 'range' ],\n accessibleNameRequired: true,\n childrenPresentational: true\n },\n mark: {\n type: 'structure',\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n navigation: {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n none: {\n type: 'structure',\n superclassRole: [ 'structure' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n note: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n option: {\n type: 'widget',\n requiredContext: [ 'group', 'listbox' ],\n allowedAttrs: [ 'aria-selected', 'aria-checked', 'aria-posinset', 'aria-setsize' ],\n superclassRole: [ 'input' ],\n accessibleNameRequired: true,\n nameFromContent: true,\n childrenPresentational: true\n },\n paragraph: {\n type: 'structure',\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n presentation: {\n type: 'structure',\n superclassRole: [ 'structure' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n progressbar: {\n type: 'widget',\n allowedAttrs: [ 'aria-expanded', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext' ],\n superclassRole: [ 'range' ],\n accessibleNameRequired: true,\n childrenPresentational: true\n },\n radio: {\n type: 'widget',\n requiredAttrs: [ 'aria-checked' ],\n allowedAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-required' ],\n superclassRole: [ 'input' ],\n accessibleNameRequired: true,\n nameFromContent: true,\n childrenPresentational: true\n },\n radiogroup: {\n type: 'composite',\n allowedAttrs: [ 'aria-readonly', 'aria-required', 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n superclassRole: [ 'select' ],\n accessibleNameRequired: false\n },\n range: {\n type: 'abstract',\n superclassRole: [ 'widget' ]\n },\n region: {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ],\n accessibleNameRequired: false\n },\n roletype: {\n type: 'abstract',\n superclassRole: []\n },\n row: {\n type: 'structure',\n requiredContext: [ 'grid', 'rowgroup', 'table', 'treegrid' ],\n requiredOwned: [ 'cell', 'columnheader', 'gridcell', 'rowheader' ],\n allowedAttrs: [ 'aria-colindex', 'aria-level', 'aria-rowindex', 'aria-selected', 'aria-activedescendant', 'aria-expanded', 'aria-posinset', 'aria-setsize' ],\n superclassRole: [ 'group', 'widget' ],\n nameFromContent: true\n },\n rowgroup: {\n type: 'structure',\n requiredContext: [ 'grid', 'table', 'treegrid' ],\n requiredOwned: [ 'row' ],\n superclassRole: [ 'structure' ],\n nameFromContent: true\n },\n rowheader: {\n type: 'structure',\n requiredContext: [ 'row' ],\n allowedAttrs: [ 'aria-sort', 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-readonly', 'aria-required', 'aria-rowindex', 'aria-rowspan', 'aria-selected' ],\n superclassRole: [ 'cell', 'gridcell', 'sectionhead' ],\n accessibleNameRequired: false,\n nameFromContent: true\n },\n scrollbar: {\n type: 'widget',\n requiredAttrs: [ 'aria-valuenow' ],\n allowedAttrs: [ 'aria-controls', 'aria-orientation', 'aria-valuemax', 'aria-valuemin', 'aria-valuetext' ],\n superclassRole: [ 'range' ],\n childrenPresentational: true\n },\n search: {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n searchbox: {\n type: 'widget',\n allowedAttrs: [ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-placeholder', 'aria-readonly', 'aria-required' ],\n superclassRole: [ 'textbox' ],\n accessibleNameRequired: true\n },\n section: {\n type: 'abstract',\n superclassRole: [ 'structure' ],\n nameFromContent: true\n },\n sectionhead: {\n type: 'abstract',\n superclassRole: [ 'structure' ],\n nameFromContent: true\n },\n select: {\n type: 'abstract',\n superclassRole: [ 'composite', 'group' ]\n },\n separator: {\n type: 'structure',\n requiredAttrs: [ 'aria-valuenow' ],\n allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-orientation', 'aria-valuetext' ],\n superclassRole: [ 'structure', 'widget' ],\n childrenPresentational: true\n },\n slider: {\n type: 'widget',\n requiredAttrs: [ 'aria-valuenow' ],\n allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-orientation', 'aria-readonly', 'aria-required', 'aria-valuetext' ],\n superclassRole: [ 'input', 'range' ],\n accessibleNameRequired: true,\n childrenPresentational: true\n },\n spinbutton: {\n type: 'widget',\n allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-readonly', 'aria-required', 'aria-activedescendant', 'aria-valuetext', 'aria-valuenow' ],\n superclassRole: [ 'composite', 'input', 'range' ],\n accessibleNameRequired: true\n },\n status: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n strong: {\n type: 'structure',\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n structure: {\n type: 'abstract',\n superclassRole: [ 'roletype' ]\n },\n subscript: {\n type: 'structure',\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n superscript: {\n type: 'structure',\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n switch: {\n type: 'widget',\n requiredAttrs: [ 'aria-checked' ],\n allowedAttrs: [ 'aria-expanded', 'aria-readonly', 'aria-required' ],\n superclassRole: [ 'checkbox' ],\n accessibleNameRequired: true,\n nameFromContent: true,\n childrenPresentational: true\n },\n suggestion: {\n type: 'structure',\n requiredOwned: [ 'insertion', 'deletion' ],\n superclassRole: [ 'section' ],\n prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]\n },\n tab: {\n type: 'widget',\n requiredContext: [ 'tablist' ],\n allowedAttrs: [ 'aria-posinset', 'aria-selected', 'aria-setsize', 'aria-expanded' ],\n superclassRole: [ 'sectionhead', 'widget' ],\n nameFromContent: true,\n childrenPresentational: true\n },\n table: {\n type: 'structure',\n requiredOwned: [ 'rowgroup', 'row' ],\n allowedAttrs: [ 'aria-colcount', 'aria-rowcount', 'aria-expanded' ],\n superclassRole: [ 'section' ],\n accessibleNameRequired: false,\n nameFromContent: true\n },\n tablist: {\n type: 'composite',\n requiredOwned: [ 'tab' ],\n allowedAttrs: [ 'aria-level', 'aria-multiselectable', 'aria-orientation', 'aria-activedescendant', 'aria-expanded' ],\n superclassRole: [ 'composite' ]\n },\n tabpanel: {\n type: 'widget',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ],\n accessibleNameRequired: false\n },\n term: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ],\n nameFromContent: true\n },\n text: {\n type: 'structure',\n superclassRole: [ 'section' ],\n nameFromContent: true\n },\n textbox: {\n type: 'widget',\n allowedAttrs: [ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-placeholder', 'aria-readonly', 'aria-required' ],\n superclassRole: [ 'input' ],\n accessibleNameRequired: true\n },\n time: {\n type: 'structure',\n superclassRole: [ 'section' ]\n },\n timer: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'status' ]\n },\n toolbar: {\n type: 'structure',\n allowedAttrs: [ 'aria-orientation', 'aria-activedescendant', 'aria-expanded' ],\n superclassRole: [ 'group' ],\n accessibleNameRequired: true\n },\n tooltip: {\n type: 'structure',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ],\n nameFromContent: true\n },\n tree: {\n type: 'composite',\n requiredOwned: [ 'group', 'treeitem' ],\n allowedAttrs: [ 'aria-multiselectable', 'aria-required', 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],\n superclassRole: [ 'select' ],\n accessibleNameRequired: false\n },\n treegrid: {\n type: 'composite',\n requiredOwned: [ 'rowgroup', 'row' ],\n allowedAttrs: [ 'aria-activedescendant', 'aria-colcount', 'aria-expanded', 'aria-level', 'aria-multiselectable', 'aria-orientation', 'aria-readonly', 'aria-required', 'aria-rowcount' ],\n superclassRole: [ 'grid', 'tree' ],\n accessibleNameRequired: false\n },\n treeitem: {\n type: 'widget',\n requiredContext: [ 'group', 'tree' ],\n allowedAttrs: [ 'aria-checked', 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-selected', 'aria-setsize' ],\n superclassRole: [ 'listitem', 'option' ],\n accessibleNameRequired: true,\n nameFromContent: true\n },\n widget: {\n type: 'abstract',\n superclassRole: [ 'roletype' ]\n },\n window: {\n type: 'abstract',\n superclassRole: [ 'roletype' ]\n }\n };\n var aria_roles_default = ariaRoles;\n var dpubRoles = {\n 'doc-abstract': {\n type: 'section',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n 'doc-acknowledgments': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-afterword': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-appendix': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-backlink': {\n type: 'link',\n allowedAttrs: [ 'aria-expanded' ],\n nameFromContent: true,\n superclassRole: [ 'link' ]\n },\n 'doc-biblioentry': {\n type: 'listitem',\n allowedAttrs: [ 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize' ],\n superclassRole: [ 'listitem' ],\n deprecated: true\n },\n 'doc-bibliography': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-biblioref': {\n type: 'link',\n allowedAttrs: [ 'aria-expanded' ],\n nameFromContent: true,\n superclassRole: [ 'link' ]\n },\n 'doc-chapter': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-colophon': {\n type: 'section',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n 'doc-conclusion': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-cover': {\n type: 'img',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'img' ]\n },\n 'doc-credit': {\n type: 'section',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n 'doc-credits': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-dedication': {\n type: 'section',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n 'doc-endnote': {\n type: 'listitem',\n allowedAttrs: [ 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize' ],\n superclassRole: [ 'listitem' ],\n deprecated: true\n },\n 'doc-endnotes': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-epigraph': {\n type: 'section',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n 'doc-epilogue': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-errata': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-example': {\n type: 'section',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n 'doc-footnote': {\n type: 'section',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n 'doc-foreword': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-glossary': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-glossref': {\n type: 'link',\n allowedAttrs: [ 'aria-expanded' ],\n nameFromContent: true,\n superclassRole: [ 'link' ]\n },\n 'doc-index': {\n type: 'navigation',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'navigation' ]\n },\n 'doc-introduction': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-noteref': {\n type: 'link',\n allowedAttrs: [ 'aria-expanded' ],\n nameFromContent: true,\n superclassRole: [ 'link' ]\n },\n 'doc-notice': {\n type: 'note',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'note' ]\n },\n 'doc-pagebreak': {\n type: 'separator',\n allowedAttrs: [ 'aria-expanded', 'aria-orientation' ],\n superclassRole: [ 'separator' ],\n childrenPresentational: true\n },\n 'doc-pagelist': {\n type: 'navigation',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'navigation' ]\n },\n 'doc-part': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-preface': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-prologue': {\n type: 'landmark',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'landmark' ]\n },\n 'doc-pullquote': {\n type: 'none',\n superclassRole: [ 'none' ]\n },\n 'doc-qna': {\n type: 'section',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'section' ]\n },\n 'doc-subtitle': {\n type: 'sectionhead',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'sectionhead' ]\n },\n 'doc-tip': {\n type: 'note',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'note' ]\n },\n 'doc-toc': {\n type: 'navigation',\n allowedAttrs: [ 'aria-expanded' ],\n superclassRole: [ 'navigation' ]\n }\n };\n var dpub_roles_default = dpubRoles;\n var graphicsRoles = {\n 'graphics-document': {\n type: 'structure',\n superclassRole: [ 'document' ],\n accessibleNameRequired: true\n },\n 'graphics-object': {\n type: 'structure',\n superclassRole: [ 'group' ],\n nameFromContent: true\n },\n 'graphics-symbol': {\n type: 'structure',\n superclassRole: [ 'img' ],\n accessibleNameRequired: true,\n childrenPresentational: true\n }\n };\n var graphics_roles_default = graphicsRoles;\n var htmlElms = {\n a: {\n variant: {\n href: {\n matches: '[href]',\n contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n allowedRoles: [ 'button', 'checkbox', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'switch', 'tab', 'treeitem', 'doc-backlink', 'doc-biblioref', 'doc-glossref', 'doc-noteref' ],\n namingMethods: [ 'subtreeText' ]\n },\n default: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n }\n }\n },\n abbr: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n address: {\n contentTypes: [ 'flow' ],\n allowedRoles: true\n },\n area: {\n variant: {\n href: {\n matches: '[href]',\n allowedRoles: false\n },\n default: {\n allowedRoles: [ 'button', 'link' ]\n }\n },\n contentTypes: [ 'phrasing', 'flow' ],\n namingMethods: [ 'altText' ]\n },\n article: {\n contentTypes: [ 'sectioning', 'flow' ],\n allowedRoles: [ 'feed', 'presentation', 'none', 'document', 'application', 'main', 'region' ],\n shadowRoot: true\n },\n aside: {\n contentTypes: [ 'sectioning', 'flow' ],\n allowedRoles: [ 'feed', 'note', 'presentation', 'none', 'region', 'search', 'doc-dedication', 'doc-example', 'doc-footnote', 'doc-glossary', 'doc-pullquote', 'doc-tip' ]\n },\n audio: {\n variant: {\n controls: {\n matches: '[controls]',\n contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ]\n },\n default: {\n contentTypes: [ 'embedded', 'phrasing', 'flow' ]\n }\n },\n allowedRoles: [ 'application' ],\n chromiumRole: 'Audio'\n },\n b: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n base: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n bdi: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n bdo: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n blockquote: {\n contentTypes: [ 'flow' ],\n allowedRoles: true,\n shadowRoot: true\n },\n body: {\n allowedRoles: false,\n shadowRoot: true\n },\n br: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: [ 'presentation', 'none' ],\n namingMethods: [ 'titleText', 'singleSpace' ]\n },\n button: {\n contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n allowedRoles: [ 'checkbox', 'combobox', 'gridcell', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'separator', 'slider', 'switch', 'tab', 'treeitem' ],\n namingMethods: [ 'subtreeText' ]\n },\n canvas: {\n allowedRoles: true,\n contentTypes: [ 'embedded', 'phrasing', 'flow' ],\n chromiumRole: 'Canvas'\n },\n caption: {\n allowedRoles: false\n },\n cite: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n code: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n col: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n colgroup: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n data: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n datalist: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n noAriaAttrs: true,\n implicitAttrs: {\n 'aria-multiselectable': 'false'\n }\n },\n dd: {\n allowedRoles: false\n },\n del: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n dfn: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n details: {\n contentTypes: [ 'interactive', 'flow' ],\n allowedRoles: false\n },\n dialog: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'alertdialog' ]\n },\n div: {\n contentTypes: [ 'flow' ],\n allowedRoles: true,\n shadowRoot: true\n },\n dl: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'group', 'list', 'presentation', 'none' ],\n chromiumRole: 'DescriptionList'\n },\n dt: {\n allowedRoles: [ 'listitem' ]\n },\n em: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n embed: {\n contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ],\n allowedRoles: [ 'application', 'document', 'img', 'presentation', 'none' ],\n chromiumRole: 'EmbeddedObject'\n },\n fieldset: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'none', 'presentation', 'radiogroup' ],\n namingMethods: [ 'fieldsetLegendText' ]\n },\n figcaption: {\n allowedRoles: [ 'group', 'none', 'presentation' ]\n },\n figure: {\n contentTypes: [ 'flow' ],\n allowedRoles: true,\n namingMethods: [ 'figureText', 'titleText' ]\n },\n footer: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'group', 'none', 'presentation', 'doc-footnote' ],\n shadowRoot: true\n },\n form: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'search', 'none', 'presentation' ]\n },\n h1: {\n contentTypes: [ 'heading', 'flow' ],\n allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n shadowRoot: true,\n implicitAttrs: {\n 'aria-level': '1'\n }\n },\n h2: {\n contentTypes: [ 'heading', 'flow' ],\n allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n shadowRoot: true,\n implicitAttrs: {\n 'aria-level': '2'\n }\n },\n h3: {\n contentTypes: [ 'heading', 'flow' ],\n allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n shadowRoot: true,\n implicitAttrs: {\n 'aria-level': '3'\n }\n },\n h4: {\n contentTypes: [ 'heading', 'flow' ],\n allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n shadowRoot: true,\n implicitAttrs: {\n 'aria-level': '4'\n }\n },\n h5: {\n contentTypes: [ 'heading', 'flow' ],\n allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n shadowRoot: true,\n implicitAttrs: {\n 'aria-level': '5'\n }\n },\n h6: {\n contentTypes: [ 'heading', 'flow' ],\n allowedRoles: [ 'none', 'presentation', 'tab', 'doc-subtitle' ],\n shadowRoot: true,\n implicitAttrs: {\n 'aria-level': '6'\n }\n },\n head: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n header: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'group', 'none', 'presentation', 'doc-footnote' ],\n shadowRoot: true\n },\n hgroup: {\n contentTypes: [ 'heading', 'flow' ],\n allowedRoles: true\n },\n hr: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'none', 'presentation', 'doc-pagebreak' ],\n namingMethods: [ 'titleText', 'singleSpace' ]\n },\n html: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n i: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n iframe: {\n contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ],\n allowedRoles: [ 'application', 'document', 'img', 'none', 'presentation' ],\n chromiumRole: 'Iframe'\n },\n img: {\n variant: {\n nonEmptyAlt: {\n matches: [ {\n attributes: {\n alt: '/.+/'\n }\n }, {\n hasAccessibleName: true\n } ],\n allowedRoles: [ 'button', 'checkbox', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'meter', 'option', 'progressbar', 'radio', 'scrollbar', 'separator', 'slider', 'switch', 'tab', 'treeitem', 'doc-cover' ]\n },\n usemap: {\n matches: '[usemap]',\n contentTypes: [ 'interactive', 'embedded', 'flow' ]\n },\n default: {\n allowedRoles: [ 'presentation', 'none' ],\n contentTypes: [ 'embedded', 'flow' ]\n }\n },\n namingMethods: [ 'altText' ]\n },\n input: {\n variant: {\n button: {\n matches: {\n properties: {\n type: 'button'\n }\n },\n allowedRoles: [ 'checkbox', 'combobox', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'switch', 'tab' ]\n },\n buttonType: {\n matches: {\n properties: {\n type: [ 'button', 'submit', 'reset' ]\n }\n },\n namingMethods: [ 'valueText', 'titleText', 'buttonDefaultText' ]\n },\n checkboxPressed: {\n matches: {\n properties: {\n type: 'checkbox'\n },\n attributes: {\n 'aria-pressed': '/.*/'\n }\n },\n allowedRoles: [ 'button', 'menuitemcheckbox', 'option', 'switch' ],\n implicitAttrs: {\n 'aria-checked': 'false'\n }\n },\n checkbox: {\n matches: {\n properties: {\n type: 'checkbox'\n },\n attributes: {\n 'aria-pressed': null\n }\n },\n allowedRoles: [ 'menuitemcheckbox', 'option', 'switch' ],\n implicitAttrs: {\n 'aria-checked': 'false'\n }\n },\n noRoles: {\n matches: {\n properties: {\n type: [ 'color', 'date', 'datetime-local', 'file', 'month', 'number', 'password', 'range', 'reset', 'submit', 'time', 'week' ]\n }\n },\n allowedRoles: false\n },\n hidden: {\n matches: {\n properties: {\n type: 'hidden'\n }\n },\n contentTypes: [ 'flow' ],\n allowedRoles: false,\n noAriaAttrs: true\n },\n image: {\n matches: {\n properties: {\n type: 'image'\n }\n },\n allowedRoles: [ 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'radio', 'switch' ],\n namingMethods: [ 'altText', 'valueText', 'labelText', 'titleText', 'buttonDefaultText' ]\n },\n radio: {\n matches: {\n properties: {\n type: 'radio'\n }\n },\n allowedRoles: [ 'menuitemradio' ],\n implicitAttrs: {\n 'aria-checked': 'false'\n }\n },\n textWithList: {\n matches: {\n properties: {\n type: 'text'\n },\n attributes: {\n list: '/.*/'\n }\n },\n allowedRoles: false\n },\n default: {\n contentTypes: [ 'interactive', 'flow' ],\n allowedRoles: [ 'combobox', 'searchbox', 'spinbutton' ],\n implicitAttrs: {\n 'aria-valuenow': ''\n },\n namingMethods: [ 'labelText', 'placeholderText' ]\n }\n }\n },\n ins: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n kbd: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n label: {\n contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n allowedRoles: false,\n chromiumRole: 'Label'\n },\n legend: {\n allowedRoles: false\n },\n li: {\n allowedRoles: [ 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'none', 'presentation', 'radio', 'separator', 'tab', 'treeitem', 'doc-biblioentry', 'doc-endnote' ],\n implicitAttrs: {\n 'aria-setsize': '1',\n 'aria-posinset': '1'\n }\n },\n link: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n noAriaAttrs: true\n },\n main: {\n contentTypes: [ 'flow' ],\n allowedRoles: false,\n shadowRoot: true\n },\n map: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n noAriaAttrs: true\n },\n math: {\n contentTypes: [ 'embedded', 'phrasing', 'flow' ],\n allowedRoles: false\n },\n mark: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n menu: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'directory', 'group', 'listbox', 'menu', 'menubar', 'none', 'presentation', 'radiogroup', 'tablist', 'toolbar', 'tree' ]\n },\n meta: {\n variant: {\n itemprop: {\n matches: '[itemprop]',\n contentTypes: [ 'phrasing', 'flow' ]\n }\n },\n allowedRoles: false,\n noAriaAttrs: true\n },\n meter: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n chromiumRole: 'progressbar'\n },\n nav: {\n contentTypes: [ 'sectioning', 'flow' ],\n allowedRoles: [ 'doc-index', 'doc-pagelist', 'doc-toc', 'menu', 'menubar', 'none', 'presentation', 'tablist' ],\n shadowRoot: true\n },\n noscript: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n noAriaAttrs: true\n },\n object: {\n variant: {\n usemap: {\n matches: '[usemap]',\n contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ]\n },\n default: {\n contentTypes: [ 'embedded', 'phrasing', 'flow' ]\n }\n },\n allowedRoles: [ 'application', 'document', 'img' ],\n chromiumRole: 'PluginObject'\n },\n ol: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'directory', 'group', 'listbox', 'menu', 'menubar', 'none', 'presentation', 'radiogroup', 'tablist', 'toolbar', 'tree' ]\n },\n optgroup: {\n allowedRoles: false\n },\n option: {\n allowedRoles: false,\n implicitAttrs: {\n 'aria-selected': 'false'\n }\n },\n output: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true,\n namingMethods: [ 'subtreeText' ]\n },\n p: {\n contentTypes: [ 'flow' ],\n allowedRoles: true,\n shadowRoot: true\n },\n param: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n picture: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n noAriaAttrs: true\n },\n pre: {\n contentTypes: [ 'flow' ],\n allowedRoles: true\n },\n progress: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n implicitAttrs: {\n 'aria-valuemax': '100',\n 'aria-valuemin': '0',\n 'aria-valuenow': '0'\n }\n },\n q: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n rp: {\n allowedRoles: true\n },\n rt: {\n allowedRoles: true\n },\n ruby: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n s: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n samp: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n script: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n noAriaAttrs: true\n },\n search: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'form', 'group', 'none', 'presentation', 'region', 'search' ]\n },\n section: {\n contentTypes: [ 'sectioning', 'flow' ],\n allowedRoles: [ 'alert', 'alertdialog', 'application', 'banner', 'complementary', 'contentinfo', 'dialog', 'document', 'feed', 'group', 'log', 'main', 'marquee', 'navigation', 'none', 'note', 'presentation', 'search', 'status', 'tabpanel', 'doc-abstract', 'doc-acknowledgments', 'doc-afterword', 'doc-appendix', 'doc-bibliography', 'doc-chapter', 'doc-colophon', 'doc-conclusion', 'doc-credit', 'doc-credits', 'doc-dedication', 'doc-endnotes', 'doc-epigraph', 'doc-epilogue', 'doc-errata', 'doc-example', 'doc-foreword', 'doc-glossary', 'doc-index', 'doc-introduction', 'doc-notice', 'doc-pagelist', 'doc-part', 'doc-preface', 'doc-prologue', 'doc-pullquote', 'doc-qna', 'doc-toc' ],\n shadowRoot: true\n },\n select: {\n variant: {\n combobox: {\n matches: {\n attributes: {\n multiple: null,\n size: [ null, '1' ]\n }\n },\n allowedRoles: [ 'menu' ]\n },\n default: {\n allowedRoles: false\n }\n },\n contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n implicitAttrs: {\n 'aria-valuenow': ''\n },\n namingMethods: [ 'labelText' ]\n },\n slot: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n noAriaAttrs: true\n },\n small: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n source: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n span: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true,\n shadowRoot: true\n },\n strong: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n style: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n svg: {\n contentTypes: [ 'embedded', 'phrasing', 'flow' ],\n allowedRoles: true,\n chromiumRole: 'SVGRoot',\n namingMethods: [ 'svgTitleText' ]\n },\n sub: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n summary: {\n allowedRoles: false,\n namingMethods: [ 'subtreeText' ]\n },\n sup: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n table: {\n contentTypes: [ 'flow' ],\n allowedRoles: true,\n namingMethods: [ 'tableCaptionText', 'tableSummaryText' ]\n },\n tbody: {\n allowedRoles: true\n },\n template: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: false,\n noAriaAttrs: true\n },\n textarea: {\n contentTypes: [ 'interactive', 'phrasing', 'flow' ],\n allowedRoles: false,\n implicitAttrs: {\n 'aria-valuenow': '',\n 'aria-multiline': 'true'\n },\n namingMethods: [ 'labelText', 'placeholderText' ]\n },\n tfoot: {\n allowedRoles: true\n },\n thead: {\n allowedRoles: true\n },\n time: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n title: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n td: {\n allowedRoles: true\n },\n th: {\n allowedRoles: true\n },\n tr: {\n allowedRoles: true\n },\n track: {\n allowedRoles: false,\n noAriaAttrs: true\n },\n u: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n ul: {\n contentTypes: [ 'flow' ],\n allowedRoles: [ 'directory', 'group', 'listbox', 'menu', 'menubar', 'none', 'presentation', 'radiogroup', 'tablist', 'toolbar', 'tree' ]\n },\n var: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: true\n },\n video: {\n variant: {\n controls: {\n matches: '[controls]',\n contentTypes: [ 'interactive', 'embedded', 'phrasing', 'flow' ]\n },\n default: {\n contentTypes: [ 'embedded', 'phrasing', 'flow' ]\n }\n },\n allowedRoles: [ 'application' ],\n chromiumRole: 'video'\n },\n wbr: {\n contentTypes: [ 'phrasing', 'flow' ],\n allowedRoles: [ 'presentation', 'none' ]\n }\n };\n var html_elms_default = htmlElms;\n var cssColors = {\n aliceblue: [ 240, 248, 255 ],\n antiquewhite: [ 250, 235, 215 ],\n aqua: [ 0, 255, 255 ],\n aquamarine: [ 127, 255, 212 ],\n azure: [ 240, 255, 255 ],\n beige: [ 245, 245, 220 ],\n bisque: [ 255, 228, 196 ],\n black: [ 0, 0, 0 ],\n blanchedalmond: [ 255, 235, 205 ],\n blue: [ 0, 0, 255 ],\n blueviolet: [ 138, 43, 226 ],\n brown: [ 165, 42, 42 ],\n burlywood: [ 222, 184, 135 ],\n cadetblue: [ 95, 158, 160 ],\n chartreuse: [ 127, 255, 0 ],\n chocolate: [ 210, 105, 30 ],\n coral: [ 255, 127, 80 ],\n cornflowerblue: [ 100, 149, 237 ],\n cornsilk: [ 255, 248, 220 ],\n crimson: [ 220, 20, 60 ],\n cyan: [ 0, 255, 255 ],\n darkblue: [ 0, 0, 139 ],\n darkcyan: [ 0, 139, 139 ],\n darkgoldenrod: [ 184, 134, 11 ],\n darkgray: [ 169, 169, 169 ],\n darkgreen: [ 0, 100, 0 ],\n darkgrey: [ 169, 169, 169 ],\n darkkhaki: [ 189, 183, 107 ],\n darkmagenta: [ 139, 0, 139 ],\n darkolivegreen: [ 85, 107, 47 ],\n darkorange: [ 255, 140, 0 ],\n darkorchid: [ 153, 50, 204 ],\n darkred: [ 139, 0, 0 ],\n darksalmon: [ 233, 150, 122 ],\n darkseagreen: [ 143, 188, 143 ],\n darkslateblue: [ 72, 61, 139 ],\n darkslategray: [ 47, 79, 79 ],\n darkslategrey: [ 47, 79, 79 ],\n darkturquoise: [ 0, 206, 209 ],\n darkviolet: [ 148, 0, 211 ],\n deeppink: [ 255, 20, 147 ],\n deepskyblue: [ 0, 191, 255 ],\n dimgray: [ 105, 105, 105 ],\n dimgrey: [ 105, 105, 105 ],\n dodgerblue: [ 30, 144, 255 ],\n firebrick: [ 178, 34, 34 ],\n floralwhite: [ 255, 250, 240 ],\n forestgreen: [ 34, 139, 34 ],\n fuchsia: [ 255, 0, 255 ],\n gainsboro: [ 220, 220, 220 ],\n ghostwhite: [ 248, 248, 255 ],\n gold: [ 255, 215, 0 ],\n goldenrod: [ 218, 165, 32 ],\n gray: [ 128, 128, 128 ],\n green: [ 0, 128, 0 ],\n greenyellow: [ 173, 255, 47 ],\n grey: [ 128, 128, 128 ],\n honeydew: [ 240, 255, 240 ],\n hotpink: [ 255, 105, 180 ],\n indianred: [ 205, 92, 92 ],\n indigo: [ 75, 0, 130 ],\n ivory: [ 255, 255, 240 ],\n khaki: [ 240, 230, 140 ],\n lavender: [ 230, 230, 250 ],\n lavenderblush: [ 255, 240, 245 ],\n lawngreen: [ 124, 252, 0 ],\n lemonchiffon: [ 255, 250, 205 ],\n lightblue: [ 173, 216, 230 ],\n lightcoral: [ 240, 128, 128 ],\n lightcyan: [ 224, 255, 255 ],\n lightgoldenrodyellow: [ 250, 250, 210 ],\n lightgray: [ 211, 211, 211 ],\n lightgreen: [ 144, 238, 144 ],\n lightgrey: [ 211, 211, 211 ],\n lightpink: [ 255, 182, 193 ],\n lightsalmon: [ 255, 160, 122 ],\n lightseagreen: [ 32, 178, 170 ],\n lightskyblue: [ 135, 206, 250 ],\n lightslategray: [ 119, 136, 153 ],\n lightslategrey: [ 119, 136, 153 ],\n lightsteelblue: [ 176, 196, 222 ],\n lightyellow: [ 255, 255, 224 ],\n lime: [ 0, 255, 0 ],\n limegreen: [ 50, 205, 50 ],\n linen: [ 250, 240, 230 ],\n magenta: [ 255, 0, 255 ],\n maroon: [ 128, 0, 0 ],\n mediumaquamarine: [ 102, 205, 170 ],\n mediumblue: [ 0, 0, 205 ],\n mediumorchid: [ 186, 85, 211 ],\n mediumpurple: [ 147, 112, 219 ],\n mediumseagreen: [ 60, 179, 113 ],\n mediumslateblue: [ 123, 104, 238 ],\n mediumspringgreen: [ 0, 250, 154 ],\n mediumturquoise: [ 72, 209, 204 ],\n mediumvioletred: [ 199, 21, 133 ],\n midnightblue: [ 25, 25, 112 ],\n mintcream: [ 245, 255, 250 ],\n mistyrose: [ 255, 228, 225 ],\n moccasin: [ 255, 228, 181 ],\n navajowhite: [ 255, 222, 173 ],\n navy: [ 0, 0, 128 ],\n oldlace: [ 253, 245, 230 ],\n olive: [ 128, 128, 0 ],\n olivedrab: [ 107, 142, 35 ],\n orange: [ 255, 165, 0 ],\n orangered: [ 255, 69, 0 ],\n orchid: [ 218, 112, 214 ],\n palegoldenrod: [ 238, 232, 170 ],\n palegreen: [ 152, 251, 152 ],\n paleturquoise: [ 175, 238, 238 ],\n palevioletred: [ 219, 112, 147 ],\n papayawhip: [ 255, 239, 213 ],\n peachpuff: [ 255, 218, 185 ],\n peru: [ 205, 133, 63 ],\n pink: [ 255, 192, 203 ],\n plum: [ 221, 160, 221 ],\n powderblue: [ 176, 224, 230 ],\n purple: [ 128, 0, 128 ],\n rebeccapurple: [ 102, 51, 153 ],\n red: [ 255, 0, 0 ],\n rosybrown: [ 188, 143, 143 ],\n royalblue: [ 65, 105, 225 ],\n saddlebrown: [ 139, 69, 19 ],\n salmon: [ 250, 128, 114 ],\n sandybrown: [ 244, 164, 96 ],\n seagreen: [ 46, 139, 87 ],\n seashell: [ 255, 245, 238 ],\n sienna: [ 160, 82, 45 ],\n silver: [ 192, 192, 192 ],\n skyblue: [ 135, 206, 235 ],\n slateblue: [ 106, 90, 205 ],\n slategray: [ 112, 128, 144 ],\n slategrey: [ 112, 128, 144 ],\n snow: [ 255, 250, 250 ],\n springgreen: [ 0, 255, 127 ],\n steelblue: [ 70, 130, 180 ],\n tan: [ 210, 180, 140 ],\n teal: [ 0, 128, 128 ],\n thistle: [ 216, 191, 216 ],\n tomato: [ 255, 99, 71 ],\n turquoise: [ 64, 224, 208 ],\n violet: [ 238, 130, 238 ],\n wheat: [ 245, 222, 179 ],\n white: [ 255, 255, 255 ],\n whitesmoke: [ 245, 245, 245 ],\n yellow: [ 255, 255, 0 ],\n yellowgreen: [ 154, 205, 50 ]\n };\n var css_colors_default = cssColors;\n var originals = {\n ariaAttrs: aria_attrs_default,\n ariaRoles: _extends({}, aria_roles_default, dpub_roles_default, graphics_roles_default),\n htmlElms: html_elms_default,\n cssColors: css_colors_default\n };\n var standards = _extends({}, originals);\n function configureStandards(config) {\n Object.keys(standards).forEach(function(propName) {\n if (config[propName]) {\n standards[propName] = deep_merge_default(standards[propName], config[propName]);\n }\n });\n }\n function resetStandards() {\n Object.keys(standards).forEach(function(propName) {\n standards[propName] = originals[propName];\n });\n }\n var standards_default = standards;\n function isUnsupportedRole(role) {\n var roleDefinition = standards_default.ariaRoles[role];\n return roleDefinition ? !!roleDefinition.unsupported : false;\n }\n var is_unsupported_role_default = isUnsupportedRole;\n function isValidRole(role) {\n var _ref26 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, allowAbstract = _ref26.allowAbstract, _ref26$flagUnsupporte = _ref26.flagUnsupported, flagUnsupported = _ref26$flagUnsupporte === void 0 ? false : _ref26$flagUnsupporte;\n var roleDefinition = standards_default.ariaRoles[role];\n var isRoleUnsupported = is_unsupported_role_default(role);\n if (!roleDefinition || flagUnsupported && isRoleUnsupported) {\n return false;\n }\n return allowAbstract ? true : roleDefinition.type !== 'abstract';\n }\n var is_valid_role_default = isValidRole;\n function getExplicitRole(vNode) {\n var _ref27 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, fallback = _ref27.fallback, abstracts = _ref27.abstracts, dpub = _ref27.dpub;\n vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);\n if (vNode.props.nodeType !== 1) {\n return null;\n }\n var roleAttr = (vNode.attr('role') || '').trim().toLowerCase();\n var roleList = fallback ? token_list_default(roleAttr) : [ roleAttr ];\n var firstValidRole = roleList.find(function(role) {\n if (!dpub && role.substr(0, 4) === 'doc-') {\n return false;\n }\n return is_valid_role_default(role, {\n allowAbstract: abstracts\n });\n });\n return firstValidRole || null;\n }\n var get_explicit_role_default = getExplicitRole;\n function getElementsByContentType(type2) {\n return Object.keys(standards_default.htmlElms).filter(function(nodeName2) {\n var elm = standards_default.htmlElms[nodeName2];\n if (elm.contentTypes) {\n return elm.contentTypes.includes(type2);\n }\n if (!elm.variant) {\n return false;\n }\n if (elm.variant['default'] && elm.variant['default'].contentTypes) {\n return elm.variant['default'].contentTypes.includes(type2);\n }\n return false;\n });\n }\n var get_elements_by_content_type_default = getElementsByContentType;\n function getGlobalAriaAttrs() {\n return cache_default.get('globalAriaAttrs', function() {\n return Object.keys(standards_default.ariaAttrs).filter(function(attrName) {\n return standards_default.ariaAttrs[attrName].global;\n });\n });\n }\n var get_global_aria_attrs_default = getGlobalAriaAttrs;\n function toGrid(node) {\n var table = [];\n var rows = node.rows;\n for (var i = 0, rowLength = rows.length; i < rowLength; i++) {\n var cells = rows[i].cells;\n table[i] = table[i] || [];\n var columnIndex = 0;\n for (var j = 0, cellLength = cells.length; j < cellLength; j++) {\n for (var colSpan = 0; colSpan < cells[j].colSpan; colSpan++) {\n var rowspanAttr = cells[j].getAttribute('rowspan');\n var rowspanValue = parseInt(rowspanAttr) === 0 || cells[j].rowspan === 0 ? rows.length : cells[j].rowSpan;\n for (var rowSpan = 0; rowSpan < rowspanValue; rowSpan++) {\n table[i + rowSpan] = table[i + rowSpan] || [];\n while (table[i + rowSpan][columnIndex]) {\n columnIndex++;\n }\n table[i + rowSpan][columnIndex] = cells[j];\n }\n columnIndex++;\n }\n }\n }\n return table;\n }\n var to_grid_default = memoize_default(toGrid);\n function getCellPosition(cell, tableGrid) {\n var rowIndex, index;\n if (!tableGrid) {\n tableGrid = to_grid_default(find_up_default(cell, 'table'));\n }\n for (rowIndex = 0; rowIndex < tableGrid.length; rowIndex++) {\n if (tableGrid[rowIndex]) {\n index = tableGrid[rowIndex].indexOf(cell);\n if (index !== -1) {\n return {\n x: index,\n y: rowIndex\n };\n }\n }\n }\n }\n var get_cell_position_default = memoize_default(getCellPosition);\n function _getScope(el) {\n var _nodeLookup9 = _nodeLookup(el), vNode = _nodeLookup9.vNode, cell = _nodeLookup9.domNode;\n var scope = vNode.attr('scope');\n var role = vNode.attr('role');\n if (![ 'td', 'th' ].includes(vNode.props.nodeName)) {\n throw new TypeError('Expected TD or TH element');\n }\n if (role === 'columnheader') {\n return 'col';\n } else if (role === 'rowheader') {\n return 'row';\n } else if (scope === 'col' || scope === 'row') {\n return scope;\n } else if (vNode.props.nodeName !== 'th') {\n return false;\n } else if (!vNode.actualNode) {\n return 'auto';\n }\n var tableGrid = to_grid_default(find_up_default(cell, 'table'));\n var pos = get_cell_position_default(cell, tableGrid);\n var headerRow = tableGrid[pos.y].every(function(node) {\n return node.nodeName.toUpperCase() === 'TH';\n });\n if (headerRow) {\n return 'col';\n }\n var headerCol = tableGrid.map(function(col) {\n return col[pos.x];\n }).every(function(node) {\n return node && node.nodeName.toUpperCase() === 'TH';\n });\n if (headerCol) {\n return 'row';\n }\n return 'auto';\n }\n function isColumnHeader(element) {\n return [ 'col', 'auto' ].indexOf(_getScope(element)) !== -1;\n }\n var is_column_header_default = isColumnHeader;\n function isRowHeader(cell) {\n return [ 'row', 'auto' ].includes(_getScope(cell));\n }\n var is_row_header_default = isRowHeader;\n function sanitize(str) {\n if (!str) {\n return '';\n }\n return str.replace(/\\r\\n/g, '\\n').replace(/\\u00A0/g, ' ').replace(/[\\s]{2,}/g, ' ').trim();\n }\n var sanitize_default = sanitize;\n var getSectioningElementSelector = function getSectioningElementSelector() {\n return cache_default.get('sectioningElementSelector', function() {\n return get_elements_by_content_type_default('sectioning').map(function(nodeName2) {\n return ''.concat(nodeName2, ':not([role])');\n }).join(', ') + ' , main:not([role]), [role=article], [role=complementary], [role=main], [role=navigation], [role=region]';\n });\n };\n function hasAccessibleName(vNode) {\n var ariaLabelledby = sanitize_default(arialabelledby_text_default(vNode));\n var ariaLabel = sanitize_default(_arialabelText(vNode));\n return !!(ariaLabelledby || ariaLabel);\n }\n var implicitHtmlRoles = {\n a: function a(vNode) {\n return vNode.hasAttr('href') ? 'link' : null;\n },\n area: function area(vNode) {\n return vNode.hasAttr('href') ? 'link' : null;\n },\n article: 'article',\n aside: 'complementary',\n body: 'document',\n button: 'button',\n datalist: 'listbox',\n dd: 'definition',\n dfn: 'term',\n details: 'group',\n dialog: 'dialog',\n dt: 'term',\n fieldset: 'group',\n figure: 'figure',\n footer: function footer(vNode) {\n var sectioningElement = closest_default(vNode, getSectioningElementSelector());\n return !sectioningElement ? 'contentinfo' : null;\n },\n form: function form(vNode) {\n return hasAccessibleName(vNode) ? 'form' : null;\n },\n h1: 'heading',\n h2: 'heading',\n h3: 'heading',\n h4: 'heading',\n h5: 'heading',\n h6: 'heading',\n header: function header(vNode) {\n var sectioningElement = closest_default(vNode, getSectioningElementSelector());\n return !sectioningElement ? 'banner' : null;\n },\n hr: 'separator',\n img: function img(vNode) {\n var emptyAlt = vNode.hasAttr('alt') && !vNode.attr('alt');\n var hasGlobalAria = get_global_aria_attrs_default().find(function(attr) {\n return vNode.hasAttr(attr);\n });\n return emptyAlt && !hasGlobalAria && !_isFocusable(vNode) ? 'presentation' : 'img';\n },\n input: function input(vNode) {\n var suggestionsSourceElement;\n if (vNode.hasAttr('list')) {\n var listElement = idrefs_default(vNode.actualNode, 'list').filter(function(node) {\n return !!node;\n })[0];\n suggestionsSourceElement = listElement && listElement.nodeName.toLowerCase() === 'datalist';\n }\n switch (vNode.props.type) {\n case 'checkbox':\n return 'checkbox';\n\n case 'number':\n return 'spinbutton';\n\n case 'radio':\n return 'radio';\n\n case 'range':\n return 'slider';\n\n case 'search':\n return !suggestionsSourceElement ? 'searchbox' : 'combobox';\n\n case 'button':\n case 'image':\n case 'reset':\n case 'submit':\n return 'button';\n\n case 'text':\n case 'tel':\n case 'url':\n case 'email':\n case '':\n return !suggestionsSourceElement ? 'textbox' : 'combobox';\n\n default:\n return 'textbox';\n }\n },\n li: 'listitem',\n main: 'main',\n math: 'math',\n menu: 'list',\n meter: 'meter',\n nav: 'navigation',\n ol: 'list',\n optgroup: 'group',\n option: 'option',\n output: 'status',\n progress: 'progressbar',\n search: 'search',\n section: function section(vNode) {\n return hasAccessibleName(vNode) ? 'region' : null;\n },\n select: function select(vNode) {\n return vNode.hasAttr('multiple') || parseInt(vNode.attr('size')) > 1 ? 'listbox' : 'combobox';\n },\n summary: 'button',\n table: 'table',\n tbody: 'rowgroup',\n td: function td(vNode) {\n var table = closest_default(vNode, 'table');\n var role = get_explicit_role_default(table);\n return [ 'grid', 'treegrid' ].includes(role) ? 'gridcell' : 'cell';\n },\n textarea: 'textbox',\n tfoot: 'rowgroup',\n th: function th(vNode) {\n if (is_column_header_default(vNode)) {\n return 'columnheader';\n }\n if (is_row_header_default(vNode)) {\n return 'rowheader';\n }\n },\n thead: 'rowgroup',\n tr: 'row',\n ul: 'list'\n };\n var implicit_html_roles_default = implicitHtmlRoles;\n function fromPrimative(someString, matcher) {\n var matcherType = _typeof(matcher);\n if (Array.isArray(matcher) && typeof someString !== 'undefined') {\n return matcher.includes(someString);\n }\n if (matcherType === 'function') {\n return !!matcher(someString);\n }\n if (someString !== null && someString !== void 0) {\n if (matcher instanceof RegExp) {\n return matcher.test(someString);\n }\n if (/^\\/.*\\/$/.test(matcher)) {\n var pattern = matcher.substring(1, matcher.length - 1);\n return new RegExp(pattern).test(someString);\n }\n }\n return matcher === someString;\n }\n var from_primative_default = fromPrimative;\n function hasAccessibleName2(vNode, matcher) {\n return from_primative_default(!!_accessibleTextVirtual(vNode), matcher);\n }\n var has_accessible_name_default = hasAccessibleName2;\n function fromFunction(getValue, matcher) {\n var matcherType = _typeof(matcher);\n if (matcherType !== 'object' || Array.isArray(matcher) || matcher instanceof RegExp) {\n throw new Error('Expect matcher to be an object');\n }\n return Object.keys(matcher).every(function(propName) {\n return from_primative_default(getValue(propName), matcher[propName]);\n });\n }\n var from_function_default = fromFunction;\n function attributes(vNode, matcher) {\n vNode = _nodeLookup(vNode).vNode;\n return from_function_default(function(attrName) {\n return vNode.attr(attrName);\n }, matcher);\n }\n var attributes_default = attributes;\n function condition(arg, matcher) {\n return !!matcher(arg);\n }\n function explicitRole(vNode, matcher) {\n return from_primative_default(get_explicit_role_default(vNode), matcher);\n }\n var explicit_role_default = explicitRole;\n function implicitRole(vNode, matcher) {\n return from_primative_default(implicit_role_default(vNode), matcher);\n }\n var implicit_role_default2 = implicitRole;\n function nodeName(vNode, matcher) {\n vNode = _nodeLookup(vNode).vNode;\n return from_primative_default(vNode.props.nodeName, matcher);\n }\n var node_name_default = nodeName;\n function properties(vNode, matcher) {\n vNode = _nodeLookup(vNode).vNode;\n return from_function_default(function(propName) {\n return vNode.props[propName];\n }, matcher);\n }\n var properties_default = properties;\n function semanticRole(vNode, matcher) {\n return from_primative_default(get_role_default(vNode), matcher);\n }\n var semantic_role_default = semanticRole;\n var matchers = {\n hasAccessibleName: has_accessible_name_default,\n attributes: attributes_default,\n condition: condition,\n explicitRole: explicit_role_default,\n implicitRole: implicit_role_default2,\n nodeName: node_name_default,\n properties: properties_default,\n semanticRole: semantic_role_default\n };\n function fromDefinition(vNode, definition) {\n vNode = _nodeLookup(vNode).vNode;\n if (Array.isArray(definition)) {\n return definition.some(function(definitionItem) {\n return fromDefinition(vNode, definitionItem);\n });\n }\n if (typeof definition === 'string') {\n return _matches(vNode, definition);\n }\n return Object.keys(definition).every(function(matcherName) {\n if (!matchers[matcherName]) {\n throw new Error('Unknown matcher type \"'.concat(matcherName, '\"'));\n }\n var matchMethod = matchers[matcherName];\n var matcher = definition[matcherName];\n return matchMethod(vNode, matcher);\n });\n }\n var from_definition_default = fromDefinition;\n function matches2(vNode, definition) {\n return from_definition_default(vNode, definition);\n }\n var matches_default = matches2;\n matches_default.hasAccessibleName = has_accessible_name_default;\n matches_default.attributes = attributes_default;\n matches_default.condition = condition;\n matches_default.explicitRole = explicit_role_default;\n matches_default.fromDefinition = from_definition_default;\n matches_default.fromFunction = from_function_default;\n matches_default.fromPrimative = from_primative_default;\n matches_default.implicitRole = implicit_role_default2;\n matches_default.nodeName = node_name_default;\n matches_default.properties = properties_default;\n matches_default.semanticRole = semantic_role_default;\n var matches_default2 = matches_default;\n function getElementSpec(vNode) {\n var _ref28 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref28$noMatchAccessi = _ref28.noMatchAccessibleName, noMatchAccessibleName = _ref28$noMatchAccessi === void 0 ? false : _ref28$noMatchAccessi;\n var standard = standards_default.htmlElms[vNode.props.nodeName];\n if (!standard) {\n return {};\n }\n if (!standard.variant) {\n return standard;\n }\n var variant = standard.variant, spec = _objectWithoutProperties(standard, _excluded4);\n for (var variantName in variant) {\n if (!variant.hasOwnProperty(variantName) || variantName === 'default') {\n continue;\n }\n var _variant$variantName = variant[variantName], matches4 = _variant$variantName.matches, props = _objectWithoutProperties(_variant$variantName, _excluded5);\n var matchProperties = Array.isArray(matches4) ? matches4 : [ matches4 ];\n for (var _i9 = 0; _i9 < matchProperties.length && noMatchAccessibleName; _i9++) {\n if (matchProperties[_i9].hasOwnProperty('hasAccessibleName')) {\n return standard;\n }\n }\n if (matches_default2(vNode, matches4)) {\n for (var propName in props) {\n if (props.hasOwnProperty(propName)) {\n spec[propName] = props[propName];\n }\n }\n }\n }\n for (var _propName in variant['default']) {\n if (variant['default'].hasOwnProperty(_propName) && typeof spec[_propName] === 'undefined') {\n spec[_propName] = variant['default'][_propName];\n }\n }\n return spec;\n }\n var get_element_spec_default = getElementSpec;\n function implicitRole2(node) {\n var _ref29 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, chromium = _ref29.chromium;\n var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);\n node = vNode.actualNode;\n if (!vNode) {\n throw new ReferenceError('Cannot get implicit role of a node outside the current scope.');\n }\n var nodeName2 = vNode.props.nodeName;\n var role = implicit_html_roles_default[nodeName2];\n if (!role && chromium) {\n var _get_element_spec_def = get_element_spec_default(vNode), chromiumRole = _get_element_spec_def.chromiumRole;\n return chromiumRole || null;\n }\n if (typeof role === 'function') {\n return role(vNode);\n }\n return role || null;\n }\n var implicit_role_default = implicitRole2;\n var inheritsPresentationChain = {\n td: [ 'tr' ],\n th: [ 'tr' ],\n tr: [ 'thead', 'tbody', 'tfoot', 'table' ],\n thead: [ 'table' ],\n tbody: [ 'table' ],\n tfoot: [ 'table' ],\n li: [ 'ol', 'ul' ],\n dt: [ 'dl', 'div' ],\n dd: [ 'dl', 'div' ],\n div: [ 'dl' ]\n };\n function getInheritedRole(vNode, explicitRoleOptions) {\n var parentNodeNames = inheritsPresentationChain[vNode.props.nodeName];\n if (!parentNodeNames) {\n return null;\n }\n if (!vNode.parent) {\n if (!vNode.actualNode) {\n return null;\n }\n throw new ReferenceError('Cannot determine role presentational inheritance of a required parent outside the current scope.');\n }\n if (!parentNodeNames.includes(vNode.parent.props.nodeName)) {\n return null;\n }\n var parentRole = get_explicit_role_default(vNode.parent, explicitRoleOptions);\n if ([ 'none', 'presentation' ].includes(parentRole) && !hasConflictResolution(vNode.parent)) {\n return parentRole;\n }\n if (parentRole) {\n return null;\n }\n return getInheritedRole(vNode.parent, explicitRoleOptions);\n }\n function resolveImplicitRole(vNode, _ref30) {\n var chromium = _ref30.chromium, explicitRoleOptions = _objectWithoutProperties(_ref30, _excluded6);\n var implicitRole3 = implicit_role_default(vNode, {\n chromium: chromium\n });\n if (!implicitRole3) {\n return null;\n }\n var presentationalRole = getInheritedRole(vNode, explicitRoleOptions);\n if (presentationalRole) {\n return presentationalRole;\n }\n return implicitRole3;\n }\n function hasConflictResolution(vNode) {\n var hasGlobalAria = get_global_aria_attrs_default().some(function(attr) {\n return vNode.hasAttr(attr);\n });\n return hasGlobalAria || _isFocusable(vNode);\n }\n function resolveRole(node) {\n var _ref31 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var noImplicit = _ref31.noImplicit, roleOptions = _objectWithoutProperties(_ref31, _excluded7);\n var _nodeLookup10 = _nodeLookup(node), vNode = _nodeLookup10.vNode;\n if (vNode.props.nodeType !== 1) {\n return null;\n }\n var explicitRole2 = get_explicit_role_default(vNode, roleOptions);\n if (!explicitRole2) {\n return noImplicit ? null : resolveImplicitRole(vNode, roleOptions);\n }\n if (![ 'presentation', 'none' ].includes(explicitRole2)) {\n return explicitRole2;\n }\n if (hasConflictResolution(vNode)) {\n return noImplicit ? null : resolveImplicitRole(vNode, roleOptions);\n }\n return explicitRole2;\n }\n function getRole(node) {\n var _ref32 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var noPresentational = _ref32.noPresentational, options = _objectWithoutProperties(_ref32, _excluded8);\n var role = resolveRole(node, options);\n if (noPresentational && [ 'presentation', 'none' ].includes(role)) {\n return null;\n }\n return role;\n }\n var get_role_default = getRole;\n var alwaysTitleElements = [ 'iframe' ];\n function titleText(node) {\n var _nodeLookup11 = _nodeLookup(node), vNode = _nodeLookup11.vNode;\n if (vNode.props.nodeType !== 1 || !node.hasAttr('title')) {\n return '';\n }\n if (!matches_default(vNode, alwaysTitleElements) && [ 'none', 'presentation' ].includes(get_role_default(vNode))) {\n return '';\n }\n return vNode.attr('title');\n }\n var title_text_default = titleText;\n function namedFromContents(vNode) {\n var _ref33 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, strict = _ref33.strict;\n vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);\n if (vNode.props.nodeType !== 1) {\n return false;\n }\n var role = get_role_default(vNode);\n var roleDef = standards_default.ariaRoles[role];\n if (roleDef && roleDef.nameFromContent) {\n return true;\n }\n if (strict) {\n return false;\n }\n return !roleDef || [ 'presentation', 'none' ].includes(role);\n }\n var named_from_contents_default = namedFromContents;\n function getOwnedVirtual(virtualNode) {\n var actualNode = virtualNode.actualNode, children = virtualNode.children;\n if (!children) {\n throw new Error('getOwnedVirtual requires a virtual node');\n }\n if (virtualNode.hasAttr('aria-owns')) {\n var owns = idrefs_default(actualNode, 'aria-owns').filter(function(element) {\n return !!element;\n }).map(function(element) {\n return axe.utils.getNodeFromTree(element);\n });\n return [].concat(_toConsumableArray(children), _toConsumableArray(owns));\n }\n return _toConsumableArray(children);\n }\n var get_owned_virtual_default = getOwnedVirtual;\n var unsupported_default = {\n accessibleNameFromFieldValue: [ 'progressbar' ]\n };\n function _isVisibleToScreenReaders(vNode) {\n vNode = _nodeLookup(vNode).vNode;\n return isVisibleToScreenReadersVirtual(vNode);\n }\n var isVisibleToScreenReadersVirtual = memoize_default(function isVisibleToScreenReadersMemoized(vNode, isAncestor) {\n if (ariaHidden(vNode) || _isInert(vNode, {\n skipAncestors: true,\n isAncestor: isAncestor\n })) {\n return false;\n }\n if (vNode.actualNode && vNode.props.nodeName === 'area') {\n return !areaHidden(vNode, isVisibleToScreenReadersVirtual);\n }\n if (_isHiddenForEveryone(vNode, {\n skipAncestors: true,\n isAncestor: isAncestor\n })) {\n return false;\n }\n if (!vNode.parent) {\n return true;\n }\n return isVisibleToScreenReadersVirtual(vNode.parent, true);\n });\n function visibleVirtual(element, screenReader, noRecursing) {\n var _nodeLookup12 = _nodeLookup(element), vNode = _nodeLookup12.vNode;\n var visibleMethod = screenReader ? _isVisibleToScreenReaders : _isVisibleOnScreen;\n var visible2 = !element.actualNode || element.actualNode && visibleMethod(element);\n var result = vNode.children.map(function(child) {\n var _child$props = child.props, nodeType = _child$props.nodeType, nodeValue = _child$props.nodeValue;\n if (nodeType === 3) {\n if (nodeValue && visible2) {\n return nodeValue;\n }\n } else if (!noRecursing) {\n return visibleVirtual(child, screenReader);\n }\n }).join('');\n return sanitize_default(result);\n }\n var visible_virtual_default = visibleVirtual;\n var nonTextInputTypes = [ 'button', 'checkbox', 'color', 'file', 'hidden', 'image', 'password', 'radio', 'reset', 'submit' ];\n function isNativeTextbox(node) {\n node = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);\n var nodeName2 = node.props.nodeName;\n return nodeName2 === 'textarea' || nodeName2 === 'input' && !nonTextInputTypes.includes((node.attr('type') || '').toLowerCase());\n }\n var is_native_textbox_default = isNativeTextbox;\n function isNativeSelect(node) {\n node = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);\n var nodeName2 = node.props.nodeName;\n return nodeName2 === 'select';\n }\n var is_native_select_default = isNativeSelect;\n function isAriaTextbox(node) {\n var role = get_explicit_role_default(node);\n return role === 'textbox';\n }\n var is_aria_textbox_default = isAriaTextbox;\n function isAriaListbox(node) {\n var role = get_explicit_role_default(node);\n return role === 'listbox';\n }\n var is_aria_listbox_default = isAriaListbox;\n function isAriaCombobox(node) {\n var role = get_explicit_role_default(node);\n return role === 'combobox';\n }\n var is_aria_combobox_default = isAriaCombobox;\n var rangeRoles = [ 'progressbar', 'scrollbar', 'slider', 'spinbutton' ];\n function isAriaRange(node) {\n var role = get_explicit_role_default(node);\n return rangeRoles.includes(role);\n }\n var is_aria_range_default = isAriaRange;\n var controlValueRoles = [ 'textbox', 'progressbar', 'scrollbar', 'slider', 'spinbutton', 'combobox', 'listbox' ];\n var _formControlValueMethods = {\n nativeTextboxValue: nativeTextboxValue,\n nativeSelectValue: nativeSelectValue,\n ariaTextboxValue: ariaTextboxValue,\n ariaListboxValue: ariaListboxValue,\n ariaComboboxValue: ariaComboboxValue,\n ariaRangeValue: ariaRangeValue\n };\n function formControlValue(virtualNode) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var actualNode = virtualNode.actualNode;\n var unsupportedRoles = unsupported_default.accessibleNameFromFieldValue || [];\n var role = get_role_default(virtualNode);\n if (context.startNode === virtualNode || !controlValueRoles.includes(role) || unsupportedRoles.includes(role)) {\n return '';\n }\n var valueMethods = Object.keys(_formControlValueMethods).map(function(name) {\n return _formControlValueMethods[name];\n });\n var valueString = valueMethods.reduce(function(accName, step) {\n return accName || step(virtualNode, context);\n }, '');\n if (context.debug) {\n log_default(valueString || '{empty-value}', actualNode, context);\n }\n return valueString;\n }\n function nativeTextboxValue(node) {\n var _nodeLookup13 = _nodeLookup(node), vNode = _nodeLookup13.vNode;\n if (is_native_textbox_default(vNode)) {\n return vNode.props.value || '';\n }\n return '';\n }\n function nativeSelectValue(node) {\n var _nodeLookup14 = _nodeLookup(node), vNode = _nodeLookup14.vNode;\n if (!is_native_select_default(vNode)) {\n return '';\n }\n var options = query_selector_all_default(vNode, 'option');\n var selectedOptions = options.filter(function(option) {\n return option.props.selected;\n });\n if (!selectedOptions.length) {\n selectedOptions.push(options[0]);\n }\n return selectedOptions.map(function(option) {\n return visible_virtual_default(option);\n }).join(' ') || '';\n }\n function ariaTextboxValue(node) {\n var _nodeLookup15 = _nodeLookup(node), vNode = _nodeLookup15.vNode, domNode = _nodeLookup15.domNode;\n if (!is_aria_textbox_default(vNode)) {\n return '';\n }\n if (!domNode || domNode && !_isHiddenForEveryone(domNode)) {\n return visible_virtual_default(vNode, true);\n } else {\n return domNode.textContent;\n }\n }\n function ariaListboxValue(node, context) {\n var _nodeLookup16 = _nodeLookup(node), vNode = _nodeLookup16.vNode;\n if (!is_aria_listbox_default(vNode)) {\n return '';\n }\n var selected = get_owned_virtual_default(vNode).filter(function(owned) {\n return get_role_default(owned) === 'option' && owned.attr('aria-selected') === 'true';\n });\n if (selected.length === 0) {\n return '';\n }\n return _accessibleTextVirtual(selected[0], context);\n }\n function ariaComboboxValue(node, context) {\n var _nodeLookup17 = _nodeLookup(node), vNode = _nodeLookup17.vNode;\n if (!is_aria_combobox_default(vNode)) {\n return '';\n }\n var listbox = get_owned_virtual_default(vNode).filter(function(elm) {\n return get_role_default(elm) === 'listbox';\n })[0];\n return listbox ? ariaListboxValue(listbox, context) : '';\n }\n function ariaRangeValue(node) {\n var _nodeLookup18 = _nodeLookup(node), vNode = _nodeLookup18.vNode;\n if (!is_aria_range_default(vNode) || !vNode.hasAttr('aria-valuenow')) {\n return '';\n }\n var valueNow = +vNode.attr('aria-valuenow');\n return !isNaN(valueNow) ? String(valueNow) : '0';\n }\n var form_control_value_default = formControlValue;\n function subtreeText(virtualNode) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var alreadyProcessed2 = _accessibleTextVirtual.alreadyProcessed;\n context.startNode = context.startNode || virtualNode;\n var _context = context, strict = _context.strict, inControlContext = _context.inControlContext, inLabelledByContext = _context.inLabelledByContext;\n var role = get_role_default(virtualNode);\n var _get_element_spec_def2 = get_element_spec_default(virtualNode, {\n noMatchAccessibleName: true\n }), contentTypes = _get_element_spec_def2.contentTypes;\n if (alreadyProcessed2(virtualNode, context) || virtualNode.props.nodeType !== 1 || contentTypes !== null && contentTypes !== void 0 && contentTypes.includes('embedded') || controlValueRoles.includes(role)) {\n return '';\n }\n if (!context.subtreeDescendant && !context.inLabelledByContext && !named_from_contents_default(virtualNode, {\n strict: strict\n })) {\n return '';\n }\n if (!strict) {\n var subtreeDescendant = !inControlContext && !inLabelledByContext;\n context = _extends({\n subtreeDescendant: subtreeDescendant\n }, context);\n }\n return get_owned_virtual_default(virtualNode).reduce(function(contentText, child) {\n return appendAccessibleText(contentText, child, context);\n }, '');\n }\n var phrasingElements = get_elements_by_content_type_default('phrasing').concat([ '#text' ]);\n function appendAccessibleText(contentText, virtualNode, context) {\n var nodeName2 = virtualNode.props.nodeName;\n var contentTextAdd = _accessibleTextVirtual(virtualNode, context);\n if (!contentTextAdd) {\n return contentText;\n }\n if (!phrasingElements.includes(nodeName2)) {\n if (contentTextAdd[0] !== ' ') {\n contentTextAdd += ' ';\n }\n if (contentText && contentText[contentText.length - 1] !== ' ') {\n contentTextAdd = ' ' + contentTextAdd;\n }\n }\n return contentText + contentTextAdd;\n }\n var subtree_text_default = subtreeText;\n function labelText(virtualNode) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var alreadyProcessed2 = _accessibleTextVirtual.alreadyProcessed;\n if (context.inControlContext || context.inLabelledByContext || alreadyProcessed2(virtualNode, context)) {\n return '';\n }\n if (!context.startNode) {\n context.startNode = virtualNode;\n }\n var labelContext = _extends({\n inControlContext: true\n }, context);\n var explicitLabels = getExplicitLabels(virtualNode);\n var implicitLabel = closest_default(virtualNode, 'label');\n var labels;\n if (implicitLabel) {\n labels = [].concat(_toConsumableArray(explicitLabels), [ implicitLabel.actualNode ]);\n labels.sort(node_sorter_default);\n } else {\n labels = explicitLabels;\n }\n return labels.map(function(label3) {\n return accessible_text_default(label3, labelContext);\n }).filter(function(text) {\n return text !== '';\n }).join(' ');\n }\n function getExplicitLabels(virtualNode) {\n if (!virtualNode.attr('id')) {\n return [];\n }\n if (!virtualNode.actualNode) {\n throw new TypeError('Cannot resolve explicit label reference for non-DOM nodes');\n }\n return find_elms_in_context_default({\n elm: 'label',\n attr: 'for',\n value: virtualNode.attr('id'),\n context: virtualNode.actualNode\n });\n }\n var label_text_default = labelText;\n var defaultButtonValues = {\n submit: 'Submit',\n image: 'Submit',\n reset: 'Reset',\n button: ''\n };\n var nativeTextMethods = {\n valueText: function valueText(_ref34) {\n var actualNode = _ref34.actualNode;\n return actualNode.value || '';\n },\n buttonDefaultText: function buttonDefaultText(_ref35) {\n var actualNode = _ref35.actualNode;\n return defaultButtonValues[actualNode.type] || '';\n },\n tableCaptionText: descendantText.bind(null, 'caption'),\n figureText: descendantText.bind(null, 'figcaption'),\n svgTitleText: descendantText.bind(null, 'title'),\n fieldsetLegendText: descendantText.bind(null, 'legend'),\n altText: attrText.bind(null, 'alt'),\n tableSummaryText: attrText.bind(null, 'summary'),\n titleText: title_text_default,\n subtreeText: subtree_text_default,\n labelText: label_text_default,\n singleSpace: function singleSpace() {\n return ' ';\n },\n placeholderText: attrText.bind(null, 'placeholder')\n };\n function attrText(attr, vNode) {\n return vNode.attr(attr) || '';\n }\n function descendantText(nodeName2, _ref36, context) {\n var actualNode = _ref36.actualNode;\n nodeName2 = nodeName2.toLowerCase();\n var nodeNames2 = [ nodeName2, actualNode.nodeName.toLowerCase() ].join(',');\n var candidate = actualNode.querySelector(nodeNames2);\n if (!candidate || candidate.nodeName.toLowerCase() !== nodeName2) {\n return '';\n }\n return accessible_text_default(candidate, context);\n }\n var native_text_methods_default = nativeTextMethods;\n function _nativeTextAlternative(virtualNode) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var actualNode = virtualNode.actualNode;\n if (virtualNode.props.nodeType !== 1 || [ 'presentation', 'none' ].includes(get_role_default(virtualNode))) {\n return '';\n }\n var textMethods = findTextMethods(virtualNode);\n var accessibleName = textMethods.reduce(function(accName, step) {\n return accName || step(virtualNode, context);\n }, '');\n if (context.debug) {\n axe.log(accessibleName || '{empty-value}', actualNode, context);\n }\n return accessibleName;\n }\n function findTextMethods(virtualNode) {\n var elmSpec = get_element_spec_default(virtualNode, {\n noMatchAccessibleName: true\n });\n var methods = elmSpec.namingMethods || [];\n return methods.map(function(methodName) {\n return native_text_methods_default[methodName];\n });\n }\n function getUnicodeNonBmpRegExp() {\n return /[\\u1D00-\\u1D7F\\u1D80-\\u1DBF\\u1DC0-\\u1DFF\\u20A0-\\u20CF\\u20D0-\\u20FF\\u2100-\\u214F\\u2150-\\u218F\\u2190-\\u21FF\\u2200-\\u22FF\\u2300-\\u23FF\\u2400-\\u243F\\u2440-\\u245F\\u2460-\\u24FF\\u2500-\\u257F\\u2580-\\u259F\\u25A0-\\u25FF\\u2600-\\u26FF\\u2700-\\u27BF\\uE000-\\uF8FF]/g;\n }\n function getPunctuationRegExp() {\n return /[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&\\xa3\\xa2\\xa5\\xa7\\u20ac()*+,\\-.\\/:;<=>?@\\[\\]^_`{|}~\\xb1]/g;\n }\n function getSupplementaryPrivateUseRegExp() {\n return /[\\uDB80-\\uDBBF][\\uDC00-\\uDFFF]/g;\n }\n function getCategoryFormatRegExp() {\n return /[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD80D[\\uDC30-\\uDC38]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/g;\n }\n var emoji_regex_default = function emoji_regex_default() {\n return /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE88\\uDE90-\\uDEBD\\uDEBF-\\uDEC2\\uDECE-\\uDEDB\\uDEE0-\\uDEE8]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n };\n function hasUnicode(str, options) {\n var emoji = options.emoji, nonBmp = options.nonBmp, punctuations = options.punctuations;\n var value = false;\n if (emoji) {\n value || (value = emoji_regex_default().test(str));\n }\n if (nonBmp) {\n value || (value = getUnicodeNonBmpRegExp().test(str) || getSupplementaryPrivateUseRegExp().test(str) || getCategoryFormatRegExp().test(str));\n }\n if (punctuations) {\n value || (value = getPunctuationRegExp().test(str));\n }\n return value;\n }\n var has_unicode_default = hasUnicode;\n function _isIconLigature(textVNode) {\n var differenceThreshold = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : .15;\n var occurrenceThreshold = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3;\n var nodeValue = textVNode.actualNode.nodeValue.trim();\n if (!sanitize_default(nodeValue) || has_unicode_default(nodeValue, {\n emoji: true,\n nonBmp: true\n })) {\n return false;\n }\n var canvasContext = cache_default.get('canvasContext', function() {\n return document.createElement('canvas').getContext('2d', {\n willReadFrequently: true\n });\n });\n var canvas = canvasContext.canvas;\n var fonts = cache_default.get('fonts', function() {\n return {};\n });\n var style = window.getComputedStyle(textVNode.parent.actualNode);\n var fontFamily = style.getPropertyValue('font-family');\n if (!fonts[fontFamily]) {\n fonts[fontFamily] = {\n occurrences: 0,\n numLigatures: 0\n };\n }\n var font = fonts[fontFamily];\n if (font.occurrences >= occurrenceThreshold) {\n if (font.numLigatures / font.occurrences === 1) {\n return true;\n } else if (font.numLigatures === 0) {\n return false;\n }\n }\n font.occurrences++;\n var fontSize = 30;\n var fontStyle = ''.concat(fontSize, 'px ').concat(fontFamily);\n canvasContext.font = fontStyle;\n var firstChar = nodeValue.charAt(0);\n var width = canvasContext.measureText(firstChar).width;\n if (width === 0) {\n font.numLigatures++;\n return true;\n }\n if (width < 30) {\n var diff = 30 / width;\n width *= diff;\n fontSize *= diff;\n fontStyle = ''.concat(fontSize, 'px ').concat(fontFamily);\n }\n canvas.width = width;\n canvas.height = fontSize;\n canvasContext.font = fontStyle;\n canvasContext.textAlign = 'left';\n canvasContext.textBaseline = 'top';\n canvasContext.fillText(firstChar, 0, 0);\n var compareData = new Uint32Array(canvasContext.getImageData(0, 0, width, fontSize).data.buffer);\n if (!compareData.some(function(pixel) {\n return pixel;\n })) {\n font.numLigatures++;\n return true;\n }\n canvasContext.clearRect(0, 0, width, fontSize);\n canvasContext.fillText(nodeValue, 0, 0);\n var compareWith = new Uint32Array(canvasContext.getImageData(0, 0, width, fontSize).data.buffer);\n var differences = compareData.reduce(function(diff, pixel, i) {\n if (pixel === 0 && compareWith[i] === 0) {\n return diff;\n }\n if (pixel !== 0 && compareWith[i] !== 0) {\n return diff;\n }\n return ++diff;\n }, 0);\n var expectedWidth = nodeValue.split('').reduce(function(totalWidth, _char2) {\n return totalWidth + canvasContext.measureText(_char2).width;\n }, 0);\n var actualWidth = canvasContext.measureText(nodeValue).width;\n var pixelDifference = differences / compareData.length;\n var sizeDifference = 1 - actualWidth / expectedWidth;\n if (pixelDifference >= differenceThreshold && sizeDifference >= differenceThreshold) {\n font.numLigatures++;\n return true;\n }\n return false;\n }\n function _accessibleTextVirtual(virtualNode) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n context = prepareContext(virtualNode, context);\n if (shouldIgnoreHidden(virtualNode, context)) {\n return '';\n }\n if (shouldIgnoreIconLigature(virtualNode, context)) {\n return '';\n }\n var computationSteps = [ arialabelledby_text_default, _arialabelText, _nativeTextAlternative, form_control_value_default, subtree_text_default, textNodeValue, title_text_default ];\n var accessibleName = computationSteps.reduce(function(accName, step) {\n if (context.startNode === virtualNode) {\n accName = sanitize_default(accName);\n }\n if (accName !== '') {\n return accName;\n }\n return step(virtualNode, context);\n }, '');\n if (context.debug) {\n axe.log(accessibleName || '{empty-value}', virtualNode.actualNode, context);\n }\n return accessibleName;\n }\n function textNodeValue(virtualNode) {\n if (virtualNode.props.nodeType !== 3) {\n return '';\n }\n return virtualNode.props.nodeValue;\n }\n function shouldIgnoreHidden(virtualNode, context) {\n if (!virtualNode) {\n return false;\n }\n if (virtualNode.props.nodeType !== 1 || context.includeHidden) {\n return false;\n }\n return !_isVisibleToScreenReaders(virtualNode);\n }\n function shouldIgnoreIconLigature(virtualNode, context) {\n var _context$occurrenceTh;\n var ignoreIconLigature = context.ignoreIconLigature, pixelThreshold = context.pixelThreshold;\n var occurrenceThreshold = (_context$occurrenceTh = context.occurrenceThreshold) !== null && _context$occurrenceTh !== void 0 ? _context$occurrenceTh : context.occuranceThreshold;\n if (virtualNode.props.nodeType !== 3 || !ignoreIconLigature) {\n return false;\n }\n return _isIconLigature(virtualNode, pixelThreshold, occurrenceThreshold);\n }\n function prepareContext(virtualNode, context) {\n if (!context.startNode) {\n context = _extends({\n startNode: virtualNode\n }, context);\n }\n if (virtualNode.props.nodeType === 1 && context.inLabelledByContext && context.includeHidden === void 0) {\n context = _extends({\n includeHidden: !_isVisibleToScreenReaders(virtualNode)\n }, context);\n }\n return context;\n }\n _accessibleTextVirtual.alreadyProcessed = function alreadyProcessed(virtualnode, context) {\n context.processed = context.processed || [];\n if (context.processed.includes(virtualnode)) {\n return true;\n }\n context.processed.push(virtualnode);\n return false;\n };\n function removeUnicode(str, options) {\n var emoji = options.emoji, nonBmp = options.nonBmp, punctuations = options.punctuations;\n if (emoji) {\n str = str.replace(emoji_regex_default(), '');\n }\n if (nonBmp) {\n str = str.replace(getUnicodeNonBmpRegExp(), '').replace(getSupplementaryPrivateUseRegExp(), '').replace(getCategoryFormatRegExp(), '');\n }\n if (punctuations) {\n str = str.replace(getPunctuationRegExp(), '');\n }\n return str;\n }\n var remove_unicode_default = removeUnicode;\n function isHumanInterpretable(str) {\n if (isEmpty(str) || isNonDigitCharacter(str) || isSymbolicText(str) || isUnicodeOrPunctuation(str)) {\n return 0;\n }\n return 1;\n }\n function isEmpty(str) {\n return sanitize_default(str).length === 0;\n }\n function isNonDigitCharacter(str) {\n return str.length === 1 && str.match(/\\D/);\n }\n function isSymbolicText(str) {\n var symbolicText = [ 'aa', 'abc' ];\n return symbolicText.includes(str.toLowerCase());\n }\n function isUnicodeOrPunctuation(str) {\n var noUnicodeStr = remove_unicode_default(str, {\n emoji: true,\n nonBmp: true,\n punctuations: true\n });\n return !sanitize_default(noUnicodeStr);\n }\n var is_human_interpretable_default = isHumanInterpretable;\n var _autocomplete = {\n stateTerms: [ 'on', 'off' ],\n standaloneTerms: [ 'name', 'honorific-prefix', 'given-name', 'additional-name', 'family-name', 'honorific-suffix', 'nickname', 'username', 'new-password', 'current-password', 'organization-title', 'organization', 'street-address', 'address-line1', 'address-line2', 'address-line3', 'address-level4', 'address-level3', 'address-level2', 'address-level1', 'country', 'country-name', 'postal-code', 'cc-name', 'cc-given-name', 'cc-additional-name', 'cc-family-name', 'cc-number', 'cc-exp', 'cc-exp-month', 'cc-exp-year', 'cc-csc', 'cc-type', 'transaction-currency', 'transaction-amount', 'language', 'bday', 'bday-day', 'bday-month', 'bday-year', 'sex', 'url', 'photo', 'one-time-code' ],\n qualifiers: [ 'home', 'work', 'mobile', 'fax', 'pager' ],\n qualifiedTerms: [ 'tel', 'tel-country-code', 'tel-national', 'tel-area-code', 'tel-local', 'tel-local-prefix', 'tel-local-suffix', 'tel-extension', 'email', 'impp' ],\n locations: [ 'billing', 'shipping' ]\n };\n function isValidAutocomplete(autocompleteValue) {\n var _ref37 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref37$looseTyped = _ref37.looseTyped, looseTyped = _ref37$looseTyped === void 0 ? false : _ref37$looseTyped, _ref37$stateTerms = _ref37.stateTerms, stateTerms = _ref37$stateTerms === void 0 ? [] : _ref37$stateTerms, _ref37$locations = _ref37.locations, locations = _ref37$locations === void 0 ? [] : _ref37$locations, _ref37$qualifiers = _ref37.qualifiers, qualifiers = _ref37$qualifiers === void 0 ? [] : _ref37$qualifiers, _ref37$standaloneTerm = _ref37.standaloneTerms, standaloneTerms = _ref37$standaloneTerm === void 0 ? [] : _ref37$standaloneTerm, _ref37$qualifiedTerms = _ref37.qualifiedTerms, qualifiedTerms = _ref37$qualifiedTerms === void 0 ? [] : _ref37$qualifiedTerms;\n autocompleteValue = autocompleteValue.toLowerCase().trim();\n stateTerms = stateTerms.concat(_autocomplete.stateTerms);\n if (stateTerms.includes(autocompleteValue) || autocompleteValue === '') {\n return true;\n }\n qualifiers = qualifiers.concat(_autocomplete.qualifiers);\n locations = locations.concat(_autocomplete.locations);\n standaloneTerms = standaloneTerms.concat(_autocomplete.standaloneTerms);\n qualifiedTerms = qualifiedTerms.concat(_autocomplete.qualifiedTerms);\n var autocompleteTerms = autocompleteValue.split(/\\s+/g);\n if (autocompleteTerms[autocompleteTerms.length - 1] === 'webauthn') {\n autocompleteTerms.pop();\n if (autocompleteTerms.length === 0) {\n return false;\n }\n }\n if (!looseTyped) {\n if (autocompleteTerms[0].length > 8 && autocompleteTerms[0].substr(0, 8) === 'section-') {\n autocompleteTerms.shift();\n }\n if (locations.includes(autocompleteTerms[0])) {\n autocompleteTerms.shift();\n }\n if (qualifiers.includes(autocompleteTerms[0])) {\n autocompleteTerms.shift();\n standaloneTerms = [];\n }\n if (autocompleteTerms.length !== 1) {\n return false;\n }\n }\n var purposeTerm = autocompleteTerms[autocompleteTerms.length - 1];\n return standaloneTerms.includes(purposeTerm) || qualifiedTerms.includes(purposeTerm);\n }\n var is_valid_autocomplete_default = isValidAutocomplete;\n function labelVirtual(virtualNode) {\n var ref, candidate;\n if (virtualNode.attr('aria-labelledby')) {\n ref = idrefs_default(virtualNode.actualNode, 'aria-labelledby');\n candidate = ref.map(function(thing) {\n var vNode = get_node_from_tree_default(thing);\n return vNode ? visible_virtual_default(vNode) : '';\n }).join(' ').trim();\n if (candidate) {\n return candidate;\n }\n }\n candidate = virtualNode.attr('aria-label');\n if (candidate) {\n candidate = sanitize_default(candidate);\n if (candidate) {\n return candidate;\n }\n }\n return null;\n }\n var label_virtual_default = labelVirtual;\n function visible(element, screenReader, noRecursing) {\n element = get_node_from_tree_default(element);\n return visible_virtual_default(element, screenReader, noRecursing);\n }\n var visible_default = visible;\n function labelVirtual2(virtualNode) {\n var ref, candidate, doc;\n candidate = label_virtual_default(virtualNode);\n if (candidate) {\n return candidate;\n }\n if (virtualNode.attr('id')) {\n if (!virtualNode.actualNode) {\n throw new TypeError('Cannot resolve explicit label reference for non-DOM nodes');\n }\n var id = escape_selector_default(virtualNode.attr('id'));\n doc = get_root_node_default2(virtualNode.actualNode);\n ref = doc.querySelector('label[for=\"' + id + '\"]');\n candidate = ref && visible_default(ref, true);\n if (candidate) {\n return candidate;\n }\n }\n ref = closest_default(virtualNode, 'label');\n candidate = ref && visible_virtual_default(ref, true);\n if (candidate) {\n return candidate;\n }\n return null;\n }\n var label_virtual_default2 = labelVirtual2;\n function label(node) {\n node = get_node_from_tree_default(node);\n return label_virtual_default2(node);\n }\n var label_default = label;\n var nativeElementType = [ {\n matches: [ {\n nodeName: 'textarea'\n }, {\n nodeName: 'input',\n properties: {\n type: [ 'text', 'password', 'search', 'tel', 'email', 'url' ]\n }\n } ],\n namingMethods: 'labelText'\n }, {\n matches: {\n nodeName: 'input',\n properties: {\n type: [ 'button', 'submit', 'reset' ]\n }\n },\n namingMethods: [ 'valueText', 'titleText', 'buttonDefaultText' ]\n }, {\n matches: {\n nodeName: 'input',\n properties: {\n type: 'image'\n }\n },\n namingMethods: [ 'altText', 'valueText', 'labelText', 'titleText', 'buttonDefaultText' ]\n }, {\n matches: 'button',\n namingMethods: 'subtreeText'\n }, {\n matches: 'fieldset',\n namingMethods: 'fieldsetLegendText'\n }, {\n matches: 'OUTPUT',\n namingMethods: 'subtreeText'\n }, {\n matches: [ {\n nodeName: 'select'\n }, {\n nodeName: 'input',\n properties: {\n type: /^(?!text|password|search|tel|email|url|button|submit|reset)/\n }\n } ],\n namingMethods: 'labelText'\n }, {\n matches: 'summary',\n namingMethods: 'subtreeText'\n }, {\n matches: 'figure',\n namingMethods: [ 'figureText', 'titleText' ]\n }, {\n matches: 'img',\n namingMethods: 'altText'\n }, {\n matches: 'table',\n namingMethods: [ 'tableCaptionText', 'tableSummaryText' ]\n }, {\n matches: [ 'hr', 'br' ],\n namingMethods: [ 'titleText', 'singleSpace' ]\n } ];\n var native_element_type_default = nativeElementType;\n function visibleTextNodes(vNode) {\n var parentVisible = _isVisibleOnScreen(vNode);\n var nodes = [];\n vNode.children.forEach(function(child) {\n if (child.actualNode.nodeType === 3) {\n if (parentVisible) {\n nodes.push(child);\n }\n } else {\n nodes = nodes.concat(visibleTextNodes(child));\n }\n });\n return nodes;\n }\n var visible_text_nodes_default = visibleTextNodes;\n var getVisibleChildTextRects = memoize_default(function getVisibleChildTextRectsMemoized(node) {\n var vNode = get_node_from_tree_default(node);\n var nodeRect = vNode.boundingClientRect;\n var clientRects = [];\n var overflowHiddenNodes = get_overflow_hidden_ancestors_default(vNode);\n node.childNodes.forEach(function(textNode) {\n if (textNode.nodeType !== 3 || sanitize_default(textNode.nodeValue) === '') {\n return;\n }\n var contentRects = getContentRects(textNode);\n if (isOutsideNodeBounds(contentRects, nodeRect)) {\n return;\n }\n clientRects.push.apply(clientRects, _toConsumableArray(filterHiddenRects(contentRects, overflowHiddenNodes)));\n });\n return clientRects.length ? clientRects : filterHiddenRects([ nodeRect ], overflowHiddenNodes);\n });\n var get_visible_child_text_rects_default = getVisibleChildTextRects;\n function getContentRects(node) {\n var range2 = document.createRange();\n range2.selectNodeContents(node);\n return Array.from(range2.getClientRects());\n }\n function isOutsideNodeBounds(rects, nodeRect) {\n return rects.some(function(rect) {\n var centerPoint = _getRectCenter(rect);\n return !_isPointInRect(centerPoint, nodeRect);\n });\n }\n function filterHiddenRects(contentRects, overflowHiddenNodes) {\n var visibleRects = [];\n contentRects.forEach(function(contentRect) {\n if (contentRect.width < 1 || contentRect.height < 1) {\n return;\n }\n var visibleRect = overflowHiddenNodes.reduce(function(rect, overflowNode) {\n return rect && _getIntersectionRect(rect, overflowNode.boundingClientRect);\n }, contentRect);\n if (visibleRect) {\n visibleRects.push(visibleRect);\n }\n });\n return visibleRects;\n }\n function getTextElementStack(node) {\n _createGrid();\n var vNode = get_node_from_tree_default(node);\n var grid = vNode._grid;\n if (!grid) {\n return [];\n }\n var clientRects = get_visible_child_text_rects_default(node);\n return clientRects.map(function(rect) {\n return getRectStack(grid, rect);\n });\n }\n var get_text_element_stack_default = getTextElementStack;\n var visualRoles = [ 'checkbox', 'img', 'meter', 'progressbar', 'scrollbar', 'radio', 'slider', 'spinbutton', 'textbox' ];\n function isVisualContent(el) {\n var _nodeLookup19 = _nodeLookup(el), vNode = _nodeLookup19.vNode;\n var role = axe.commons.aria.getExplicitRole(vNode);\n if (role) {\n return visualRoles.indexOf(role) !== -1;\n }\n switch (vNode.props.nodeName) {\n case 'img':\n case 'iframe':\n case 'object':\n case 'video':\n case 'audio':\n case 'canvas':\n case 'svg':\n case 'math':\n case 'button':\n case 'select':\n case 'textarea':\n case 'keygen':\n case 'progress':\n case 'meter':\n return true;\n\n case 'input':\n return vNode.props.type !== 'hidden';\n\n default:\n return false;\n }\n }\n var is_visual_content_default = isVisualContent;\n var hiddenTextElms = [ 'head', 'title', 'template', 'script', 'style', 'iframe', 'object', 'video', 'audio', 'noscript' ];\n function hasChildTextNodes(elm) {\n if (hiddenTextElms.includes(elm.props.nodeName)) {\n return false;\n }\n return elm.children.some(function(_ref38) {\n var props = _ref38.props;\n return props.nodeType === 3 && props.nodeValue.trim();\n });\n }\n function hasContentVirtual(elm, noRecursion, ignoreAria) {\n return hasChildTextNodes(elm) || is_visual_content_default(elm.actualNode) || !ignoreAria && !!label_virtual_default(elm) || !noRecursion && elm.children.some(function(child) {\n return child.actualNode.nodeType === 1 && hasContentVirtual(child);\n });\n }\n var has_content_virtual_default = hasContentVirtual;\n function hasContent(elm, noRecursion, ignoreAria) {\n elm = get_node_from_tree_default(elm);\n return has_content_virtual_default(elm, noRecursion, ignoreAria);\n }\n var has_content_default = hasContent;\n function _hasLangText(virtualNode) {\n if (typeof virtualNode.children === 'undefined' || hasChildTextNodes(virtualNode)) {\n return true;\n }\n if (virtualNode.props.nodeType === 1 && is_visual_content_default(virtualNode)) {\n return !!axe.commons.text.accessibleTextVirtual(virtualNode);\n }\n return virtualNode.children.some(function(child) {\n return !child.attr('lang') && _hasLangText(child) && !_isHiddenForEveryone(child);\n });\n }\n function insertedIntoFocusOrder(el) {\n var tabIndex = parseInt(el.getAttribute('tabindex'), 10);\n return tabIndex > -1 && _isFocusable(el) && !is_natively_focusable_default(el);\n }\n var inserted_into_focus_order_default = insertedIntoFocusOrder;\n function isHiddenWithCSS(el, descendentVisibilityValue) {\n var _nodeLookup20 = _nodeLookup(el), vNode = _nodeLookup20.vNode, domNode = _nodeLookup20.domNode;\n if (!vNode) {\n return _isHiddenWithCSS(domNode, descendentVisibilityValue);\n }\n if (vNode._isHiddenWithCSS === void 0) {\n vNode._isHiddenWithCSS = _isHiddenWithCSS(domNode, descendentVisibilityValue);\n }\n return vNode._isHiddenWithCSS;\n }\n function _isHiddenWithCSS(el, descendentVisibilityValue) {\n if (el.nodeType === 9) {\n return false;\n }\n if (el.nodeType === 11) {\n el = el.host;\n }\n if ([ 'STYLE', 'SCRIPT' ].includes(el.nodeName.toUpperCase())) {\n return false;\n }\n var style = window.getComputedStyle(el, null);\n if (!style) {\n throw new Error('Style does not exist for the given element.');\n }\n var displayValue = style.getPropertyValue('display');\n if (displayValue === 'none') {\n return true;\n }\n var HIDDEN_VISIBILITY_VALUES = [ 'hidden', 'collapse' ];\n var visibilityValue = style.getPropertyValue('visibility');\n if (HIDDEN_VISIBILITY_VALUES.includes(visibilityValue) && !descendentVisibilityValue) {\n return true;\n }\n if (HIDDEN_VISIBILITY_VALUES.includes(visibilityValue) && descendentVisibilityValue && HIDDEN_VISIBILITY_VALUES.includes(descendentVisibilityValue)) {\n return true;\n }\n var parent = get_composed_parent_default(el);\n if (parent && !HIDDEN_VISIBILITY_VALUES.includes(visibilityValue)) {\n return isHiddenWithCSS(parent, visibilityValue);\n }\n return false;\n }\n var is_hidden_with_css_default = isHiddenWithCSS;\n function isHTML5(doc) {\n var node = doc.doctype;\n if (node === null) {\n return false;\n }\n return node.name === 'html' && !node.publicId && !node.systemId;\n }\n var is_html5_default = isHTML5;\n function getRoleType(role) {\n var _window3;\n if (role instanceof abstract_virtual_node_default || (_window3 = window) !== null && _window3 !== void 0 && _window3.Node && role instanceof window.Node) {\n role = axe.commons.aria.getRole(role);\n }\n var roleDef = standards_default.ariaRoles[role];\n return (roleDef === null || roleDef === void 0 ? void 0 : roleDef.type) || null;\n }\n var get_role_type_default = getRoleType;\n function walkDomNode(node, functor) {\n if (functor(node.actualNode) !== false) {\n node.children.forEach(function(child) {\n return walkDomNode(child, functor);\n });\n }\n }\n var blockLike = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];\n function isBlock(elm) {\n var display2 = window.getComputedStyle(elm).getPropertyValue('display');\n return blockLike.includes(display2) || display2.substr(0, 6) === 'table-';\n }\n function getBlockParent(node) {\n var parentBlock = get_composed_parent_default(node);\n while (parentBlock && !isBlock(parentBlock)) {\n parentBlock = get_composed_parent_default(parentBlock);\n }\n return get_node_from_tree_default(parentBlock);\n }\n function isInTextBlock(node, options) {\n if (isBlock(node)) {\n return false;\n }\n var virtualParent = getBlockParent(node);\n var parentText = '';\n var widgetText = '';\n var inBrBlock = 0;\n walkDomNode(virtualParent, function(currNode) {\n if (inBrBlock === 2) {\n return false;\n }\n if (currNode.nodeType === 3) {\n parentText += currNode.nodeValue;\n }\n if (currNode.nodeType !== 1) {\n return;\n }\n var nodeName2 = (currNode.nodeName || '').toUpperCase();\n if (currNode === node) {\n inBrBlock = 1;\n }\n if ([ 'BR', 'HR' ].includes(nodeName2)) {\n if (inBrBlock === 0) {\n parentText = '';\n widgetText = '';\n } else {\n inBrBlock = 2;\n }\n } else if (currNode.style.display === 'none' || currNode.style.overflow === 'hidden' || ![ '', null, 'none' ].includes(currNode.style['float']) || ![ '', null, 'relative' ].includes(currNode.style.position)) {\n return false;\n } else if (get_role_type_default(currNode) === 'widget') {\n widgetText += currNode.textContent;\n return false;\n }\n });\n parentText = sanitize_default(parentText);\n if (options !== null && options !== void 0 && options.noLengthCompare) {\n return parentText.length !== 0;\n }\n widgetText = sanitize_default(widgetText);\n return parentText.length > widgetText.length;\n }\n var is_in_text_block_default = isInTextBlock;\n function isModalOpen(options) {\n options = options || {};\n var modalPercent = options.modalPercent || .75;\n if (cache_default.get('isModalOpen')) {\n return cache_default.get('isModalOpen');\n }\n var definiteModals = query_selector_all_filter_default(axe._tree[0], 'dialog, [role=dialog], [aria-modal=true]', _isVisibleOnScreen);\n if (definiteModals.length) {\n cache_default.set('isModalOpen', true);\n return true;\n }\n var viewport = get_viewport_size_default(window);\n var percentWidth = viewport.width * modalPercent;\n var percentHeight = viewport.height * modalPercent;\n var x = (viewport.width - percentWidth) / 2;\n var y = (viewport.height - percentHeight) / 2;\n var points = [ {\n x: x,\n y: y\n }, {\n x: viewport.width - x,\n y: y\n }, {\n x: viewport.width / 2,\n y: viewport.height / 2\n }, {\n x: x,\n y: viewport.height - y\n }, {\n x: viewport.width - x,\n y: viewport.height - y\n } ];\n var stacks = points.map(function(point) {\n return Array.from(document.elementsFromPoint(point.x, point.y));\n });\n var _loop4 = function _loop4() {\n var modalElement = stacks[_i10].find(function(elm) {\n var style = window.getComputedStyle(elm);\n return parseInt(style.width, 10) >= percentWidth && parseInt(style.height, 10) >= percentHeight && style.getPropertyValue('pointer-events') !== 'none' && (style.position === 'absolute' || style.position === 'fixed');\n });\n if (modalElement && stacks.every(function(stack) {\n return stack.includes(modalElement);\n })) {\n cache_default.set('isModalOpen', true);\n return {\n v: true\n };\n }\n }, _ret;\n for (var _i10 = 0; _i10 < stacks.length; _i10++) {\n _ret = _loop4();\n if (_ret) {\n return _ret.v;\n }\n }\n cache_default.set('isModalOpen', void 0);\n return void 0;\n }\n var is_modal_open_default = isModalOpen;\n function _isMultiline(domNode) {\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var range2 = domNode.ownerDocument.createRange();\n range2.setStart(domNode, 0);\n range2.setEnd(domNode, domNode.childNodes.length);\n var lastLineEnd = 0;\n var lineCount = 0;\n var _iterator5 = _createForOfIteratorHelper(range2.getClientRects()), _step5;\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done; ) {\n var rect = _step5.value;\n if (rect.height <= margin) {\n continue;\n }\n if (lastLineEnd > rect.top + margin) {\n lastLineEnd = Math.max(lastLineEnd, rect.bottom);\n } else if (lineCount === 0) {\n lastLineEnd = rect.bottom;\n lineCount++;\n } else {\n return true;\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n return false;\n }\n function isNode(element) {\n return element instanceof window.Node;\n }\n var is_node_default = isNode;\n var cacheKey = 'color.incompleteData';\n var incompleteData = {\n set: function set(key, reason) {\n if (typeof key !== 'string') {\n throw new Error('Incomplete data: key must be a string');\n }\n var data = cache_default.get(cacheKey, function() {\n return {};\n });\n if (reason) {\n data[key] = reason;\n }\n return data[key];\n },\n get: function get(key) {\n var data = cache_default.get(cacheKey);\n return data === null || data === void 0 ? void 0 : data[key];\n },\n clear: function clear() {\n cache_default.set(cacheKey, {});\n }\n };\n var incomplete_data_default = incompleteData;\n function elementHasImage(elm, style) {\n var graphicNodes = [ 'IMG', 'CANVAS', 'OBJECT', 'IFRAME', 'VIDEO', 'SVG' ];\n var nodeName2 = elm.nodeName.toUpperCase();\n if (graphicNodes.includes(nodeName2)) {\n incomplete_data_default.set('bgColor', 'imgNode');\n return true;\n }\n style = style || window.getComputedStyle(elm);\n var bgImageStyle = style.getPropertyValue('background-image');\n var hasBgImage = bgImageStyle !== 'none';\n if (hasBgImage) {\n var hasGradient = /gradient/.test(bgImageStyle);\n incomplete_data_default.set('bgColor', hasGradient ? 'bgGradient' : 'bgImage');\n }\n return hasBgImage;\n }\n var element_has_image_default = elementHasImage;\n var imports_exports = {};\n __export(imports_exports, {\n ArrayFrom: function ArrayFrom() {\n return import_from2['default'];\n },\n Colorjs: function Colorjs() {\n return Color;\n },\n CssSelectorParser: function CssSelectorParser() {\n return import_css_selector_parser2.CssSelectorParser;\n },\n doT: function doT() {\n return import_dot['default'];\n },\n emojiRegexText: function emojiRegexText() {\n return emoji_regex_default;\n },\n memoize: function memoize() {\n return import_memoizee2['default'];\n }\n });\n var import_es6_promise = __toModule(require_es6_promise());\n var import_typedarray = __toModule(require_typedarray());\n var import_weakmap_polyfill = __toModule(require_weakmap_polyfill());\n var import_has_own = __toModule(require_has_own3());\n var import_values = __toModule(require_values3());\n var import_from = __toModule(require_from4());\n if (!('hasOwn' in Object)) {\n Object.hasOwn = import_has_own['default'];\n }\n if (!('values' in Object)) {\n Object.values = import_values['default'];\n }\n if (!('Promise' in window)) {\n import_es6_promise['default'].polyfill();\n }\n if (!('Uint32Array' in window)) {\n window.Uint32Array = import_typedarray.Uint32Array;\n }\n if (window.Uint32Array) {\n if (!('some' in window.Uint32Array.prototype)) {\n Object.defineProperty(window.Uint32Array.prototype, 'some', {\n value: Array.prototype.some\n });\n }\n if (!('reduce' in window.Uint32Array.prototype)) {\n Object.defineProperty(window.Uint32Array.prototype, 'reduce', {\n value: Array.prototype.reduce\n });\n }\n }\n if (typeof Object.assign !== 'function') {\n (function() {\n Object.assign = function(target) {\n if (target === void 0 || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== void 0 && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n })();\n }\n if (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, 'find', {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return void 0;\n }\n });\n }\n if (!Array.prototype.findIndex) {\n Object.defineProperty(Array.prototype, 'findIndex', {\n value: function value(predicate, thisArg) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var value;\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return i;\n }\n }\n return -1;\n }\n });\n }\n if (!Array.prototype.includes) {\n Object.defineProperty(Array.prototype, 'includes', {\n value: function value(searchElement) {\n var O = Object(this);\n var len = parseInt(O.length, 10) || 0;\n if (len === 0) {\n return false;\n }\n var n2 = parseInt(arguments[1], 10) || 0;\n var k;\n if (n2 >= 0) {\n k = n2;\n } else {\n k = len + n2;\n if (k < 0) {\n k = 0;\n }\n }\n var currentElement;\n while (k < len) {\n currentElement = O[k];\n if (searchElement === currentElement || searchElement !== searchElement && currentElement !== currentElement) {\n return true;\n }\n k++;\n }\n return false;\n }\n });\n }\n if (!Array.prototype.some) {\n Object.defineProperty(Array.prototype, 'some', {\n value: function value(fun) {\n if (this == null) {\n throw new TypeError('Array.prototype.some called on null or undefined');\n }\n if (typeof fun !== 'function') {\n throw new TypeError();\n }\n var t = Object(this);\n var len = t.length >>> 0;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(thisArg, t[i], i, t)) {\n return true;\n }\n }\n return false;\n }\n });\n }\n if (!Array.from) {\n Array.from = import_from['default'];\n }\n if (!String.prototype.includes) {\n String.prototype.includes = function(search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n if (start + search.length > this.length) {\n return false;\n } else {\n return this.indexOf(search, start) !== -1;\n }\n };\n }\n if (!Array.prototype.flat) {\n Object.defineProperty(Array.prototype, 'flat', {\n configurable: true,\n value: function flat() {\n var depth = isNaN(arguments[0]) ? 1 : Number(arguments[0]);\n return depth ? Array.prototype.reduce.call(this, function(acc, cur) {\n if (Array.isArray(cur)) {\n acc.push.apply(acc, flat.call(cur, depth - 1));\n } else {\n acc.push(cur);\n }\n return acc;\n }, []) : Array.prototype.slice.call(this);\n },\n writable: true\n });\n }\n if (window.Node && !('isConnected' in window.Node.prototype)) {\n Object.defineProperty(window.Node.prototype, 'isConnected', {\n get: function get() {\n return !this.ownerDocument || !(this.ownerDocument.compareDocumentPosition(this) & this.DOCUMENT_POSITION_DISCONNECTED);\n }\n });\n }\n var import_css_selector_parser2 = __toModule(require_lib());\n var import_dot = __toModule(require_doT());\n var import_memoizee2 = __toModule(require_memoizee());\n function multiplyMatrices(A, B) {\n var m3 = A.length;\n if (!Array.isArray(A[0])) {\n A = [ A ];\n }\n if (!Array.isArray(B[0])) {\n B = B.map(function(x) {\n return [ x ];\n });\n }\n var p2 = B[0].length;\n var B_cols = B[0].map(function(_, i) {\n return B.map(function(x) {\n return x[i];\n });\n });\n var product = A.map(function(row) {\n return B_cols.map(function(col) {\n var ret = 0;\n if (!Array.isArray(row)) {\n var _iterator6 = _createForOfIteratorHelper(col), _step6;\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done; ) {\n var c4 = _step6.value;\n ret += row * c4;\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n return ret;\n }\n for (var _i11 = 0; _i11 < row.length; _i11++) {\n ret += row[_i11] * (col[_i11] || 0);\n }\n return ret;\n });\n });\n if (m3 === 1) {\n product = product[0];\n }\n if (p2 === 1) {\n return product.map(function(x) {\n return x[0];\n });\n }\n return product;\n }\n function isString(str) {\n return type(str) === 'string';\n }\n function type(o) {\n var str = Object.prototype.toString.call(o);\n return (str.match(/^\\[object\\s+(.*?)\\]$/)[1] || '').toLowerCase();\n }\n function toPrecision(n2, precision) {\n n2 = +n2;\n precision = +precision;\n var integerLength = (Math.floor(n2) + '').length;\n if (precision > integerLength) {\n return +n2.toFixed(precision - integerLength);\n } else {\n var p10 = Math.pow(10, integerLength - precision);\n return Math.round(n2 / p10) * p10;\n }\n }\n function parseFunction(str) {\n if (!str) {\n return;\n }\n str = str.trim();\n var isFunctionRegex = /^([a-z]+)\\((.+?)\\)$/i;\n var isNumberRegex = /^-?[\\d.]+$/;\n var parts = str.match(isFunctionRegex);\n if (parts) {\n var args = [];\n parts[2].replace(/\\/?\\s*([-\\w.]+(?:%|deg)?)/g, function($0, arg) {\n if (/%$/.test(arg)) {\n arg = new Number(arg.slice(0, -1) / 100);\n arg.type = '<percentage>';\n } else if (/deg$/.test(arg)) {\n arg = new Number(+arg.slice(0, -3));\n arg.type = '<angle>';\n arg.unit = 'deg';\n } else if (isNumberRegex.test(arg)) {\n arg = new Number(arg);\n arg.type = '<number>';\n }\n if ($0.startsWith('/')) {\n arg = arg instanceof Number ? arg : new Number(arg);\n arg.alpha = true;\n }\n args.push(arg);\n });\n return {\n name: parts[1].toLowerCase(),\n rawName: parts[1],\n rawArgs: parts[2],\n args: args\n };\n }\n }\n function last(arr) {\n return arr[arr.length - 1];\n }\n function interpolate(start, end, p2) {\n if (isNaN(start)) {\n return end;\n }\n if (isNaN(end)) {\n return start;\n }\n return start + (end - start) * p2;\n }\n function interpolateInv(start, end, value) {\n return (value - start) / (end - start);\n }\n function mapRange(from, to2, value) {\n return interpolate(to2[0], to2[1], interpolateInv(from[0], from[1], value));\n }\n function parseCoordGrammar(coordGrammars) {\n return coordGrammars.map(function(coordGrammar2) {\n return coordGrammar2.split('|').map(function(type2) {\n type2 = type2.trim();\n var range2 = type2.match(/^(<[a-z]+>)\\[(-?[.\\d]+),\\s*(-?[.\\d]+)\\]?$/);\n if (range2) {\n var ret = new String(range2[1]);\n ret.range = [ +range2[2], +range2[3] ];\n return ret;\n }\n return type2;\n });\n });\n }\n var util = Object.freeze({\n __proto__: null,\n isString: isString,\n type: type,\n toPrecision: toPrecision,\n parseFunction: parseFunction,\n last: last,\n interpolate: interpolate,\n interpolateInv: interpolateInv,\n mapRange: mapRange,\n parseCoordGrammar: parseCoordGrammar,\n multiplyMatrices: multiplyMatrices\n });\n var Hooks = function() {\n function Hooks() {\n _classCallCheck(this, Hooks);\n }\n return _createClass(Hooks, [ {\n key: 'add',\n value: function add(name, callback, first) {\n if (typeof arguments[0] != 'string') {\n for (var name in arguments[0]) {\n this.add(name, arguments[0][name], arguments[1]);\n }\n return;\n }\n (Array.isArray(name) ? name : [ name ]).forEach(function(name2) {\n this[name2] = this[name2] || [];\n if (callback) {\n this[name2][first ? 'unshift' : 'push'](callback);\n }\n }, this);\n }\n }, {\n key: 'run',\n value: function run(name, env) {\n this[name] = this[name] || [];\n this[name].forEach(function(callback) {\n callback.call(env && env.context ? env.context : env, env);\n });\n }\n } ]);\n }();\n var hooks = new Hooks();\n var defaults = {\n gamut_mapping: 'lch.c',\n precision: 5,\n deltaE: '76'\n };\n var WHITES = {\n D50: [ .3457 / .3585, 1, (1 - .3457 - .3585) / .3585 ],\n D65: [ .3127 / .329, 1, (1 - .3127 - .329) / .329 ]\n };\n function getWhite(name) {\n if (Array.isArray(name)) {\n return name;\n }\n return WHITES[name];\n }\n function adapt$1(W1, W2, XYZ) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n W1 = getWhite(W1);\n W2 = getWhite(W2);\n if (!W1 || !W2) {\n throw new TypeError('Missing white point to convert '.concat(!W1 ? 'from' : '').concat(!W1 && !W2 ? '/' : '').concat(!W2 ? 'to' : ''));\n }\n if (W1 === W2) {\n return XYZ;\n }\n var env = {\n W1: W1,\n W2: W2,\n XYZ: XYZ,\n options: options\n };\n hooks.run('chromatic-adaptation-start', env);\n if (!env.M) {\n if (env.W1 === WHITES.D65 && env.W2 === WHITES.D50) {\n env.M = [ [ 1.0479298208405488, .022946793341019088, -.05019222954313557 ], [ .029627815688159344, .990434484573249, -.01707382502938514 ], [ -.009243058152591178, .015055144896577895, .7518742899580008 ] ];\n } else if (env.W1 === WHITES.D50 && env.W2 === WHITES.D65) {\n env.M = [ [ .9554734527042182, -.023098536874261423, .0632593086610217 ], [ -.028369706963208136, 1.0099954580058226, .021041398966943008 ], [ .012314001688319899, -.020507696433477912, 1.3303659366080753 ] ];\n }\n }\n hooks.run('chromatic-adaptation-end', env);\n if (env.M) {\n return multiplyMatrices(env.M, env.XYZ);\n } else {\n throw new TypeError('Only Bradford CAT with white points D50 and D65 supported for now.');\n }\n }\n var \\u03b5$4 = 75e-6;\n var _ColorSpace = (_Class_brand = new WeakSet(), _path = new WeakMap(), function() {\n function _ColorSpace(options) {\n var _options$coords, _ref39, _options$white, _options$formats, _this$formats$functio, _this$formats, _this$formats2;\n _classCallCheck(this, _ColorSpace);\n _classPrivateMethodInitSpec(this, _Class_brand);\n _classPrivateFieldInitSpec(this, _path, void 0);\n this.id = options.id;\n this.name = options.name;\n this.base = options.base ? _ColorSpace.get(options.base) : null;\n this.aliases = options.aliases;\n if (this.base) {\n this.fromBase = options.fromBase;\n this.toBase = options.toBase;\n }\n var _coords = (_options$coords = options.coords) !== null && _options$coords !== void 0 ? _options$coords : this.base.coords;\n this.coords = _coords;\n var white2 = (_ref39 = (_options$white = options.white) !== null && _options$white !== void 0 ? _options$white : this.base.white) !== null && _ref39 !== void 0 ? _ref39 : 'D65';\n this.white = getWhite(white2);\n this.formats = (_options$formats = options.formats) !== null && _options$formats !== void 0 ? _options$formats : {};\n for (var name in this.formats) {\n var format = this.formats[name];\n format.type || (format.type = 'function');\n format.name || (format.name = name);\n }\n if (options.cssId && !((_this$formats$functio = this.formats.functions) !== null && _this$formats$functio !== void 0 && _this$formats$functio.color)) {\n this.formats.color = {\n id: options.cssId\n };\n Object.defineProperty(this, 'cssId', {\n value: options.cssId\n });\n } else if ((_this$formats = this.formats) !== null && _this$formats !== void 0 && _this$formats.color && !((_this$formats2 = this.formats) !== null && _this$formats2 !== void 0 && _this$formats2.color.id)) {\n this.formats.color.id = this.id;\n }\n this.referred = options.referred;\n _classPrivateFieldSet(_path, this, _assertClassBrand(_Class_brand, this, _getPath).call(this).reverse());\n hooks.run('colorspace-init-end', this);\n }\n return _createClass(_ColorSpace, [ {\n key: 'inGamut',\n value: function inGamut(coords) {\n var _ref40 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref40$epsilon = _ref40.epsilon, epsilon = _ref40$epsilon === void 0 ? \\u03b5$4 : _ref40$epsilon;\n if (this.isPolar) {\n coords = this.toBase(coords);\n return this.base.inGamut(coords, {\n epsilon: epsilon\n });\n }\n var coordMeta = Object.values(this.coords);\n return coords.every(function(c4, i) {\n var meta = coordMeta[i];\n if (meta.type !== 'angle' && meta.range) {\n if (Number.isNaN(c4)) {\n return true;\n }\n var _meta$range = _slicedToArray(meta.range, 2), min = _meta$range[0], max2 = _meta$range[1];\n return (min === void 0 || c4 >= min - epsilon) && (max2 === void 0 || c4 <= max2 + epsilon);\n }\n return true;\n });\n }\n }, {\n key: 'cssId',\n get: function get() {\n var _this$formats$functio2;\n return ((_this$formats$functio2 = this.formats.functions) === null || _this$formats$functio2 === void 0 || (_this$formats$functio2 = _this$formats$functio2.color) === null || _this$formats$functio2 === void 0 ? void 0 : _this$formats$functio2.id) || this.id;\n }\n }, {\n key: 'isPolar',\n get: function get() {\n for (var id in this.coords) {\n if (this.coords[id].type === 'angle') {\n return true;\n }\n }\n return false;\n }\n }, {\n key: 'getFormat',\n value: function getFormat(format) {\n if (_typeof(format) === 'object') {\n format = _assertClassBrand(_Class_brand, this, _processFormat).call(this, format);\n return format;\n }\n var ret;\n if (format === 'default') {\n ret = Object.values(this.formats)[0];\n } else {\n ret = this.formats[format];\n }\n if (ret) {\n ret = _assertClassBrand(_Class_brand, this, _processFormat).call(this, ret);\n return ret;\n }\n return null;\n }\n }, {\n key: 'to',\n value: function to(space, coords) {\n if (arguments.length === 1) {\n var _ref41 = [ space.space, space.coords ];\n space = _ref41[0];\n coords = _ref41[1];\n }\n space = _ColorSpace.get(space);\n if (this === space) {\n return coords;\n }\n coords = coords.map(function(c4) {\n return Number.isNaN(c4) ? 0 : c4;\n });\n var myPath = _classPrivateFieldGet(_path, this);\n var otherPath = _classPrivateFieldGet(_path, space);\n var connectionSpace, connectionSpaceIndex;\n for (var _i12 = 0; _i12 < myPath.length; _i12++) {\n if (myPath[_i12] === otherPath[_i12]) {\n connectionSpace = myPath[_i12];\n connectionSpaceIndex = _i12;\n } else {\n break;\n }\n }\n if (!connectionSpace) {\n throw new Error('Cannot convert between color spaces '.concat(this, ' and ').concat(space, ': no connection space was found'));\n }\n for (var _i13 = myPath.length - 1; _i13 > connectionSpaceIndex; _i13--) {\n coords = myPath[_i13].toBase(coords);\n }\n for (var _i14 = connectionSpaceIndex + 1; _i14 < otherPath.length; _i14++) {\n coords = otherPath[_i14].fromBase(coords);\n }\n return coords;\n }\n }, {\n key: 'from',\n value: function from(space, coords) {\n if (arguments.length === 1) {\n var _ref42 = [ space.space, space.coords ];\n space = _ref42[0];\n coords = _ref42[1];\n }\n space = _ColorSpace.get(space);\n return space.to(this, coords);\n }\n }, {\n key: 'toString',\n value: function toString() {\n return ''.concat(this.name, ' (').concat(this.id, ')');\n }\n }, {\n key: 'getMinCoords',\n value: function getMinCoords() {\n var ret = [];\n for (var id in this.coords) {\n var _range2$min;\n var meta = this.coords[id];\n var range2 = meta.range || meta.refRange;\n ret.push((_range2$min = range2 === null || range2 === void 0 ? void 0 : range2.min) !== null && _range2$min !== void 0 ? _range2$min : 0);\n }\n return ret;\n }\n } ], [ {\n key: 'all',\n get: function get() {\n return _toConsumableArray(new Set(Object.values(_ColorSpace.registry)));\n }\n }, {\n key: 'register',\n value: function register(id, space) {\n if (arguments.length === 1) {\n space = arguments[0];\n id = space.id;\n }\n space = this.get(space);\n if (this.registry[id] && this.registry[id] !== space) {\n throw new Error('Duplicate color space registration: \\''.concat(id, '\\''));\n }\n this.registry[id] = space;\n if (arguments.length === 1 && space.aliases) {\n var _iterator7 = _createForOfIteratorHelper(space.aliases), _step7;\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done; ) {\n var alias = _step7.value;\n this.register(alias, space);\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n return space;\n }\n }, {\n key: 'get',\n value: function get(space) {\n if (!space || space instanceof _ColorSpace) {\n return space;\n }\n var argType = type(space);\n if (argType === 'string') {\n var ret = _ColorSpace.registry[space.toLowerCase()];\n if (!ret) {\n throw new TypeError('No color space found with id = \"'.concat(space, '\"'));\n }\n return ret;\n }\n for (var _len2 = arguments.length, alternatives = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n alternatives[_key2 - 1] = arguments[_key2];\n }\n if (alternatives.length) {\n return _ColorSpace.get.apply(_ColorSpace, alternatives);\n }\n throw new TypeError(''.concat(space, ' is not a valid color space'));\n }\n }, {\n key: 'resolveCoord',\n value: function resolveCoord(ref, workingSpace) {\n var coordType = type(ref);\n var space, coord;\n if (coordType === 'string') {\n if (ref.includes('.')) {\n var _ref$split = ref.split('.');\n var _ref$split2 = _slicedToArray(_ref$split, 2);\n space = _ref$split2[0];\n coord = _ref$split2[1];\n } else {\n space = void 0;\n coord = ref;\n }\n } else if (Array.isArray(ref)) {\n var _ref43 = _slicedToArray(ref, 2);\n space = _ref43[0];\n coord = _ref43[1];\n } else {\n space = ref.space;\n coord = ref.coordId;\n }\n space = _ColorSpace.get(space);\n if (!space) {\n space = workingSpace;\n }\n if (!space) {\n throw new TypeError('Cannot resolve coordinate reference '.concat(ref, ': No color space specified and relative references are not allowed here'));\n }\n coordType = type(coord);\n if (coordType === 'number' || coordType === 'string' && coord >= 0) {\n var meta = Object.entries(space.coords)[coord];\n if (meta) {\n return _extends({\n space: space,\n id: meta[0],\n index: coord\n }, meta[1]);\n }\n }\n space = _ColorSpace.get(space);\n var normalizedCoord = coord.toLowerCase();\n var i = 0;\n for (var id in space.coords) {\n var _meta$name;\n var _meta = space.coords[id];\n if (id.toLowerCase() === normalizedCoord || ((_meta$name = _meta.name) === null || _meta$name === void 0 ? void 0 : _meta$name.toLowerCase()) === normalizedCoord) {\n return _extends({\n space: space,\n id: id,\n index: i\n }, _meta);\n }\n i++;\n }\n throw new TypeError('No \"'.concat(coord, '\" coordinate found in ').concat(space.name, '. Its coordinates are: ').concat(Object.keys(space.coords).join(', ')));\n }\n } ]);\n }());\n function _processFormat(format) {\n if (format.coords && !format.coordGrammar) {\n format.type || (format.type = 'function');\n format.name || (format.name = 'color');\n format.coordGrammar = parseCoordGrammar(format.coords);\n var coordFormats = Object.entries(this.coords).map(function(_ref151, i) {\n var _ref152 = _slicedToArray(_ref151, 2), id = _ref152[0], coordMeta = _ref152[1];\n var outputType = format.coordGrammar[i][0];\n var fromRange = coordMeta.range || coordMeta.refRange;\n var toRange = outputType.range, suffix = '';\n if (outputType == '<percentage>') {\n toRange = [ 0, 100 ];\n suffix = '%';\n } else if (outputType == '<angle>') {\n suffix = 'deg';\n }\n return {\n fromRange: fromRange,\n toRange: toRange,\n suffix: suffix\n };\n });\n format.serializeCoords = function(coords, precision) {\n return coords.map(function(c4, i) {\n var _coordFormats$i = coordFormats[i], fromRange = _coordFormats$i.fromRange, toRange = _coordFormats$i.toRange, suffix = _coordFormats$i.suffix;\n if (fromRange && toRange) {\n c4 = mapRange(fromRange, toRange, c4);\n }\n c4 = toPrecision(c4, precision);\n if (suffix) {\n c4 += suffix;\n }\n return c4;\n });\n };\n }\n return format;\n }\n function _getPath() {\n var ret = [ this ];\n for (var _space2 = this; _space2 = _space2.base; ) {\n ret.push(_space2);\n }\n return ret;\n }\n var ColorSpace = _ColorSpace;\n __publicField(ColorSpace, 'registry', {});\n __publicField(ColorSpace, 'DEFAULT_FORMAT', {\n type: 'functions',\n name: 'color'\n });\n var XYZ_D65 = new ColorSpace({\n id: 'xyz-d65',\n name: 'XYZ D65',\n coords: {\n x: {\n name: 'X'\n },\n y: {\n name: 'Y'\n },\n z: {\n name: 'Z'\n }\n },\n white: 'D65',\n formats: {\n color: {\n ids: [ 'xyz-d65', 'xyz' ]\n }\n },\n aliases: [ 'xyz' ]\n });\n var RGBColorSpace = function(_ColorSpace2) {\n function RGBColorSpace(options) {\n var _options$referred;\n var _this;\n _classCallCheck(this, RGBColorSpace);\n if (!options.coords) {\n options.coords = {\n r: {\n range: [ 0, 1 ],\n name: 'Red'\n },\n g: {\n range: [ 0, 1 ],\n name: 'Green'\n },\n b: {\n range: [ 0, 1 ],\n name: 'Blue'\n }\n };\n }\n if (!options.base) {\n options.base = XYZ_D65;\n }\n if (options.toXYZ_M && options.fromXYZ_M) {\n var _options$toBase, _options$fromBase;\n (_options$toBase = options.toBase) !== null && _options$toBase !== void 0 ? _options$toBase : options.toBase = function(rgb) {\n var xyz = multiplyMatrices(options.toXYZ_M, rgb);\n if (_this.white !== _this.base.white) {\n xyz = adapt$1(_this.white, _this.base.white, xyz);\n }\n return xyz;\n };\n (_options$fromBase = options.fromBase) !== null && _options$fromBase !== void 0 ? _options$fromBase : options.fromBase = function(xyz) {\n xyz = adapt$1(_this.base.white, _this.white, xyz);\n return multiplyMatrices(options.fromXYZ_M, xyz);\n };\n }\n (_options$referred = options.referred) !== null && _options$referred !== void 0 ? _options$referred : options.referred = 'display';\n return _this = _callSuper(this, RGBColorSpace, [ options ]);\n }\n _inherits(RGBColorSpace, _ColorSpace2);\n return _createClass(RGBColorSpace);\n }(ColorSpace);\n function parse2(str) {\n var _String;\n var env = {\n str: (_String = String(str)) === null || _String === void 0 ? void 0 : _String.trim()\n };\n hooks.run('parse-start', env);\n if (env.color) {\n return env.color;\n }\n env.parsed = parseFunction(env.str);\n if (env.parsed) {\n var name = env.parsed.name;\n if (name === 'color') {\n var id = env.parsed.args.shift();\n var alpha = env.parsed.rawArgs.indexOf('/') > 0 ? env.parsed.args.pop() : 1;\n var _iterator8 = _createForOfIteratorHelper(ColorSpace.all), _step8;\n try {\n var _loop5 = function _loop5() {\n var space = _step8.value;\n var colorSpec = space.getFormat('color');\n if (colorSpec) {\n var _colorSpec$ids;\n if (id === colorSpec.id || (_colorSpec$ids = colorSpec.ids) !== null && _colorSpec$ids !== void 0 && _colorSpec$ids.includes(id)) {\n var argCount = Object.keys(space.coords).length;\n var coords = Array(argCount).fill(0);\n coords.forEach(function(_, i) {\n return coords[i] = env.parsed.args[i] || 0;\n });\n return {\n v: {\n spaceId: space.id,\n coords: coords,\n alpha: alpha\n }\n };\n }\n }\n }, _ret2;\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done; ) {\n _ret2 = _loop5();\n if (_ret2) {\n return _ret2.v;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n var didYouMean = '';\n if (id in ColorSpace.registry) {\n var _ColorSpace$registry$;\n var cssId = (_ColorSpace$registry$ = ColorSpace.registry[id].formats) === null || _ColorSpace$registry$ === void 0 || (_ColorSpace$registry$ = _ColorSpace$registry$.functions) === null || _ColorSpace$registry$ === void 0 || (_ColorSpace$registry$ = _ColorSpace$registry$.color) === null || _ColorSpace$registry$ === void 0 ? void 0 : _ColorSpace$registry$.id;\n if (cssId) {\n didYouMean = 'Did you mean color('.concat(cssId, ')?');\n }\n }\n throw new TypeError('Cannot parse color('.concat(id, '). ') + (didYouMean || 'Missing a plugin?'));\n } else {\n var _iterator9 = _createForOfIteratorHelper(ColorSpace.all), _step9;\n try {\n var _loop6 = function _loop6() {\n var space = _step9.value;\n var format = space.getFormat(name);\n if (format && format.type === 'function') {\n var _alpha = 1;\n if (format.lastAlpha || last(env.parsed.args).alpha) {\n _alpha = env.parsed.args.pop();\n }\n var coords = env.parsed.args;\n if (format.coordGrammar) {\n Object.entries(space.coords).forEach(function(_ref44, i) {\n var _coords$i;\n var _ref45 = _slicedToArray(_ref44, 2), id = _ref45[0], coordMeta = _ref45[1];\n var coordGrammar2 = format.coordGrammar[i];\n var providedType = (_coords$i = coords[i]) === null || _coords$i === void 0 ? void 0 : _coords$i.type;\n coordGrammar2 = coordGrammar2.find(function(c4) {\n return c4 == providedType;\n });\n if (!coordGrammar2) {\n var coordName = coordMeta.name || id;\n throw new TypeError(''.concat(providedType, ' not allowed for ').concat(coordName, ' in ').concat(name, '()'));\n }\n var fromRange = coordGrammar2.range;\n if (providedType === '<percentage>') {\n fromRange || (fromRange = [ 0, 1 ]);\n }\n var toRange = coordMeta.range || coordMeta.refRange;\n if (fromRange && toRange) {\n coords[i] = mapRange(fromRange, toRange, coords[i]);\n }\n });\n }\n return {\n v: {\n spaceId: space.id,\n coords: coords,\n alpha: _alpha\n }\n };\n }\n }, _ret3;\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done; ) {\n _ret3 = _loop6();\n if (_ret3) {\n return _ret3.v;\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n }\n } else {\n var _iterator10 = _createForOfIteratorHelper(ColorSpace.all), _step10;\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done; ) {\n var space = _step10.value;\n for (var formatId in space.formats) {\n var format = space.formats[formatId];\n if (format.type !== 'custom') {\n continue;\n }\n if (format.test && !format.test(env.str)) {\n continue;\n }\n var color = format.parse(env.str);\n if (color) {\n var _color$alpha;\n (_color$alpha = color.alpha) !== null && _color$alpha !== void 0 ? _color$alpha : color.alpha = 1;\n return color;\n }\n }\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n }\n throw new TypeError('Could not parse '.concat(str, ' as a color. Missing a plugin?'));\n }\n function getColor(color) {\n if (!color) {\n throw new TypeError('Empty color reference');\n }\n if (isString(color)) {\n color = parse2(color);\n }\n var space = color.space || color.spaceId;\n if (!(space instanceof ColorSpace)) {\n color.space = ColorSpace.get(space);\n }\n if (color.alpha === void 0) {\n color.alpha = 1;\n }\n return color;\n }\n function getAll(color, space) {\n space = ColorSpace.get(space);\n return space.from(color);\n }\n function get(color, prop) {\n var _ColorSpace$resolveCo = ColorSpace.resolveCoord(prop, color.space), space = _ColorSpace$resolveCo.space, index = _ColorSpace$resolveCo.index;\n var coords = getAll(color, space);\n return coords[index];\n }\n function setAll(color, space, coords) {\n space = ColorSpace.get(space);\n color.coords = space.to(color.space, coords);\n return color;\n }\n function set(color, prop, value) {\n color = getColor(color);\n if (arguments.length === 2 && type(arguments[1]) === 'object') {\n var object = arguments[1];\n for (var p2 in object) {\n set(color, p2, object[p2]);\n }\n } else {\n if (typeof value === 'function') {\n value = value(get(color, prop));\n }\n var _ColorSpace$resolveCo2 = ColorSpace.resolveCoord(prop, color.space), space = _ColorSpace$resolveCo2.space, index = _ColorSpace$resolveCo2.index;\n var coords = getAll(color, space);\n coords[index] = value;\n setAll(color, space, coords);\n }\n return color;\n }\n var XYZ_D50 = new ColorSpace({\n id: 'xyz-d50',\n name: 'XYZ D50',\n white: 'D50',\n base: XYZ_D65,\n fromBase: function fromBase(coords) {\n return adapt$1(XYZ_D65.white, 'D50', coords);\n },\n toBase: function toBase(coords) {\n return adapt$1('D50', XYZ_D65.white, coords);\n },\n formats: {\n color: {}\n }\n });\n var \\u03b5$3 = 216 / 24389;\n var \\u03b53$1 = 24 / 116;\n var \\u03ba$1 = 24389 / 27;\n var white$1 = WHITES.D50;\n var lab = new ColorSpace({\n id: 'lab',\n name: 'Lab',\n coords: {\n l: {\n refRange: [ 0, 100 ],\n name: 'L'\n },\n a: {\n refRange: [ -125, 125 ]\n },\n b: {\n refRange: [ -125, 125 ]\n }\n },\n white: white$1,\n base: XYZ_D50,\n fromBase: function fromBase(XYZ) {\n var xyz = XYZ.map(function(value, i) {\n return value / white$1[i];\n });\n var f = xyz.map(function(value) {\n return value > \\u03b5$3 ? Math.cbrt(value) : (\\u03ba$1 * value + 16) / 116;\n });\n return [ 116 * f[1] - 16, 500 * (f[0] - f[1]), 200 * (f[1] - f[2]) ];\n },\n toBase: function toBase(Lab) {\n var f = [];\n f[1] = (Lab[0] + 16) / 116;\n f[0] = Lab[1] / 500 + f[1];\n f[2] = f[1] - Lab[2] / 200;\n var xyz = [ f[0] > \\u03b53$1 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / \\u03ba$1, Lab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / \\u03ba$1, f[2] > \\u03b53$1 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / \\u03ba$1 ];\n return xyz.map(function(value, i) {\n return value * white$1[i];\n });\n },\n formats: {\n lab: {\n coords: [ '<number> | <percentage>', '<number>', '<number>' ]\n }\n }\n });\n function constrain(angle) {\n return (angle % 360 + 360) % 360;\n }\n function adjust(arc, angles) {\n if (arc === 'raw') {\n return angles;\n }\n var _angles$map = angles.map(constrain), _angles$map2 = _slicedToArray(_angles$map, 2), a1 = _angles$map2[0], a2 = _angles$map2[1];\n var angleDiff = a2 - a1;\n if (arc === 'increasing') {\n if (angleDiff < 0) {\n a2 += 360;\n }\n } else if (arc === 'decreasing') {\n if (angleDiff > 0) {\n a1 += 360;\n }\n } else if (arc === 'longer') {\n if (-180 < angleDiff && angleDiff < 180) {\n if (angleDiff > 0) {\n a2 += 360;\n } else {\n a1 += 360;\n }\n }\n } else if (arc === 'shorter') {\n if (angleDiff > 180) {\n a1 += 360;\n } else if (angleDiff < -180) {\n a2 += 360;\n }\n }\n return [ a1, a2 ];\n }\n var lch = new ColorSpace({\n id: 'lch',\n name: 'LCH',\n coords: {\n l: {\n refRange: [ 0, 100 ],\n name: 'Lightness'\n },\n c: {\n refRange: [ 0, 150 ],\n name: 'Chroma'\n },\n h: {\n refRange: [ 0, 360 ],\n type: 'angle',\n name: 'Hue'\n }\n },\n base: lab,\n fromBase: function fromBase(Lab) {\n var _Lab = _slicedToArray(Lab, 3), L = _Lab[0], a2 = _Lab[1], b2 = _Lab[2];\n var hue;\n var \\u03b52 = .02;\n if (Math.abs(a2) < \\u03b52 && Math.abs(b2) < \\u03b52) {\n hue = NaN;\n } else {\n hue = Math.atan2(b2, a2) * 180 / Math.PI;\n }\n return [ L, Math.sqrt(Math.pow(a2, 2) + Math.pow(b2, 2)), constrain(hue) ];\n },\n toBase: function toBase(LCH) {\n var _LCH = _slicedToArray(LCH, 3), Lightness = _LCH[0], Chroma = _LCH[1], Hue = _LCH[2];\n if (Chroma < 0) {\n Chroma = 0;\n }\n if (isNaN(Hue)) {\n Hue = 0;\n }\n return [ Lightness, Chroma * Math.cos(Hue * Math.PI / 180), Chroma * Math.sin(Hue * Math.PI / 180) ];\n },\n formats: {\n lch: {\n coords: [ '<number> | <percentage>', '<number>', '<number> | <angle>' ]\n }\n }\n });\n var Gfactor = Math.pow(25, 7);\n var \\u03c0$1 = Math.PI;\n var r2d = 180 / \\u03c0$1;\n var d2r$1 = \\u03c0$1 / 180;\n function deltaE2000(color, sample) {\n var _ref46 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref46$kL = _ref46.kL, kL = _ref46$kL === void 0 ? 1 : _ref46$kL, _ref46$kC = _ref46.kC, kC = _ref46$kC === void 0 ? 1 : _ref46$kC, _ref46$kH = _ref46.kH, kH = _ref46$kH === void 0 ? 1 : _ref46$kH;\n var _lab$from = lab.from(color), _lab$from2 = _slicedToArray(_lab$from, 3), L1 = _lab$from2[0], a1 = _lab$from2[1], b1 = _lab$from2[2];\n var C1 = lch.from(lab, [ L1, a1, b1 ])[1];\n var _lab$from3 = lab.from(sample), _lab$from4 = _slicedToArray(_lab$from3, 3), L2 = _lab$from4[0], a2 = _lab$from4[1], b2 = _lab$from4[2];\n var C2 = lch.from(lab, [ L2, a2, b2 ])[1];\n if (C1 < 0) {\n C1 = 0;\n }\n if (C2 < 0) {\n C2 = 0;\n }\n var Cbar = (C1 + C2) / 2;\n var C7 = Math.pow(Cbar, 7);\n var G = .5 * (1 - Math.sqrt(C7 / (C7 + Gfactor)));\n var adash1 = (1 + G) * a1;\n var adash2 = (1 + G) * a2;\n var Cdash1 = Math.sqrt(Math.pow(adash1, 2) + Math.pow(b1, 2));\n var Cdash2 = Math.sqrt(Math.pow(adash2, 2) + Math.pow(b2, 2));\n var h1 = adash1 === 0 && b1 === 0 ? 0 : Math.atan2(b1, adash1);\n var h2 = adash2 === 0 && b2 === 0 ? 0 : Math.atan2(b2, adash2);\n if (h1 < 0) {\n h1 += 2 * \\u03c0$1;\n }\n if (h2 < 0) {\n h2 += 2 * \\u03c0$1;\n }\n h1 *= r2d;\n h2 *= r2d;\n var \\u0394L = L2 - L1;\n var \\u0394C = Cdash2 - Cdash1;\n var hdiff = h2 - h1;\n var hsum = h1 + h2;\n var habs = Math.abs(hdiff);\n var \\u0394h;\n if (Cdash1 * Cdash2 === 0) {\n \\u0394h = 0;\n } else if (habs <= 180) {\n \\u0394h = hdiff;\n } else if (hdiff > 180) {\n \\u0394h = hdiff - 360;\n } else if (hdiff < -180) {\n \\u0394h = hdiff + 360;\n } else {\n console.log('the unthinkable has happened');\n }\n var \\u0394H = 2 * Math.sqrt(Cdash2 * Cdash1) * Math.sin(\\u0394h * d2r$1 / 2);\n var Ldash = (L1 + L2) / 2;\n var Cdash = (Cdash1 + Cdash2) / 2;\n var Cdash7 = Math.pow(Cdash, 7);\n var hdash;\n if (Cdash1 * Cdash2 === 0) {\n hdash = hsum;\n } else if (habs <= 180) {\n hdash = hsum / 2;\n } else if (hsum < 360) {\n hdash = (hsum + 360) / 2;\n } else {\n hdash = (hsum - 360) / 2;\n }\n var lsq = Math.pow(Ldash - 50, 2);\n var SL = 1 + .015 * lsq / Math.sqrt(20 + lsq);\n var SC = 1 + .045 * Cdash;\n var T = 1;\n T -= .17 * Math.cos((hdash - 30) * d2r$1);\n T += .24 * Math.cos(2 * hdash * d2r$1);\n T += .32 * Math.cos((3 * hdash + 6) * d2r$1);\n T -= .2 * Math.cos((4 * hdash - 63) * d2r$1);\n var SH = 1 + .015 * Cdash * T;\n var \\u0394\\u03b8 = 30 * Math.exp(-1 * Math.pow((hdash - 275) / 25, 2));\n var RC = 2 * Math.sqrt(Cdash7 / (Cdash7 + Gfactor));\n var RT = -1 * Math.sin(2 * \\u0394\\u03b8 * d2r$1) * RC;\n var dE = Math.pow(\\u0394L / (kL * SL), 2);\n dE += Math.pow(\\u0394C / (kC * SC), 2);\n dE += Math.pow(\\u0394H / (kH * SH), 2);\n dE += RT * (\\u0394C / (kC * SC)) * (\\u0394H / (kH * SH));\n return Math.sqrt(dE);\n }\n var \\u03b5$2 = 75e-6;\n function inGamut(color) {\n var space = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : color.space;\n var _ref47 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref47$epsilon = _ref47.epsilon, epsilon = _ref47$epsilon === void 0 ? \\u03b5$2 : _ref47$epsilon;\n color = getColor(color);\n space = ColorSpace.get(space);\n var coords = color.coords;\n if (space !== color.space) {\n coords = space.from(color);\n }\n return space.inGamut(coords, {\n epsilon: epsilon\n });\n }\n function clone2(color) {\n return {\n space: color.space,\n coords: color.coords.slice(),\n alpha: color.alpha\n };\n }\n function toGamut(color) {\n var _ref48 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref48$method = _ref48.method, method = _ref48$method === void 0 ? defaults.gamut_mapping : _ref48$method, _ref48$space = _ref48.space, space = _ref48$space === void 0 ? color.space : _ref48$space;\n if (isString(arguments[1])) {\n space = arguments[1];\n }\n space = ColorSpace.get(space);\n if (inGamut(color, space, {\n epsilon: 0\n })) {\n return color;\n }\n var spaceColor = to(color, space);\n if (method !== 'clip' && !inGamut(color, space)) {\n var clipped = toGamut(clone2(spaceColor), {\n method: 'clip',\n space: space\n });\n if (deltaE2000(color, clipped) > 2) {\n var coordMeta = ColorSpace.resolveCoord(method);\n var mapSpace = coordMeta.space;\n var coordId = coordMeta.id;\n var mappedColor = to(spaceColor, mapSpace);\n var bounds = coordMeta.range || coordMeta.refRange;\n var min = bounds[0];\n var \\u03b52 = .01;\n var low = min;\n var high = get(mappedColor, coordId);\n while (high - low > \\u03b52) {\n var clipped2 = clone2(mappedColor);\n clipped2 = toGamut(clipped2, {\n space: space,\n method: 'clip'\n });\n var deltaE2 = deltaE2000(mappedColor, clipped2);\n if (deltaE2 - 2 < \\u03b52) {\n low = get(mappedColor, coordId);\n } else {\n high = get(mappedColor, coordId);\n }\n set(mappedColor, coordId, (low + high) / 2);\n }\n spaceColor = to(mappedColor, space);\n } else {\n spaceColor = clipped;\n }\n }\n if (method === 'clip' || !inGamut(spaceColor, space, {\n epsilon: 0\n })) {\n var _bounds = Object.values(space.coords).map(function(c4) {\n return c4.range || [];\n });\n spaceColor.coords = spaceColor.coords.map(function(c4, i) {\n var _bounds$i = _slicedToArray(_bounds[i], 2), min = _bounds$i[0], max2 = _bounds$i[1];\n if (min !== void 0) {\n c4 = Math.max(min, c4);\n }\n if (max2 !== void 0) {\n c4 = Math.min(c4, max2);\n }\n return c4;\n });\n }\n if (space !== color.space) {\n spaceColor = to(spaceColor, color.space);\n }\n color.coords = spaceColor.coords;\n return color;\n }\n toGamut.returns = 'color';\n function to(color, space) {\n var _ref49 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, inGamut2 = _ref49.inGamut;\n color = getColor(color);\n space = ColorSpace.get(space);\n var coords = space.from(color);\n var ret = {\n space: space,\n coords: coords,\n alpha: color.alpha\n };\n if (inGamut2) {\n ret = toGamut(ret);\n }\n return ret;\n }\n to.returns = 'color';\n function serialize(color) {\n var _ref51, _color$space$getForma;\n var _ref50 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _ref50$precision = _ref50.precision, precision = _ref50$precision === void 0 ? defaults.precision : _ref50$precision, _ref50$format = _ref50.format, format = _ref50$format === void 0 ? 'default' : _ref50$format, _ref50$inGamut = _ref50.inGamut, inGamut$1 = _ref50$inGamut === void 0 ? true : _ref50$inGamut, customOptions = _objectWithoutProperties(_ref50, _excluded9);\n var ret;\n color = getColor(color);\n var formatId = format;\n format = (_ref51 = (_color$space$getForma = color.space.getFormat(format)) !== null && _color$space$getForma !== void 0 ? _color$space$getForma : color.space.getFormat('default')) !== null && _ref51 !== void 0 ? _ref51 : ColorSpace.DEFAULT_FORMAT;\n inGamut$1 || (inGamut$1 = format.toGamut);\n var coords = color.coords;\n coords = coords.map(function(c4) {\n return c4 ? c4 : 0;\n });\n if (inGamut$1 && !inGamut(color)) {\n coords = toGamut(clone2(color), inGamut$1 === true ? void 0 : inGamut$1).coords;\n }\n if (format.type === 'custom') {\n customOptions.precision = precision;\n if (format.serialize) {\n ret = format.serialize(coords, color.alpha, customOptions);\n } else {\n throw new TypeError('format '.concat(formatId, ' can only be used to parse colors, not for serialization'));\n }\n } else {\n var name = format.name || 'color';\n if (format.serializeCoords) {\n coords = format.serializeCoords(coords, precision);\n } else {\n if (precision !== null) {\n coords = coords.map(function(c4) {\n return toPrecision(c4, precision);\n });\n }\n }\n var args = _toConsumableArray(coords);\n if (name === 'color') {\n var _format$ids;\n var cssId = format.id || ((_format$ids = format.ids) === null || _format$ids === void 0 ? void 0 : _format$ids[0]) || color.space.id;\n args.unshift(cssId);\n }\n var alpha = color.alpha;\n if (precision !== null) {\n alpha = toPrecision(alpha, precision);\n }\n var strAlpha = color.alpha < 1 && !format.noAlpha ? ''.concat(format.commas ? ',' : ' /', ' ').concat(alpha) : '';\n ret = ''.concat(name, '(').concat(args.join(format.commas ? ', ' : ' ')).concat(strAlpha, ')');\n }\n return ret;\n }\n var toXYZ_M$5 = [ [ .6369580483012914, .14461690358620832, .1688809751641721 ], [ .2627002120112671, .6779980715188708, .05930171646986196 ], [ 0, .028072693049087428, 1.060985057710791 ] ];\n var fromXYZ_M$5 = [ [ 1.716651187971268, -.355670783776392, -.25336628137366 ], [ -.666684351832489, 1.616481236634939, .0157685458139111 ], [ .017639857445311, -.042770613257809, .942103121235474 ] ];\n var REC2020Linear = new RGBColorSpace({\n id: 'rec2020-linear',\n name: 'Linear REC.2020',\n white: 'D65',\n toXYZ_M: toXYZ_M$5,\n fromXYZ_M: fromXYZ_M$5,\n formats: {\n color: {}\n }\n });\n var \\u03b1 = 1.09929682680944;\n var \\u03b2 = .018053968510807;\n var REC2020 = new RGBColorSpace({\n id: 'rec2020',\n name: 'REC.2020',\n base: REC2020Linear,\n toBase: function toBase(RGB) {\n return RGB.map(function(val) {\n if (val < \\u03b2 * 4.5) {\n return val / 4.5;\n }\n return Math.pow((val + \\u03b1 - 1) / \\u03b1, 1 / .45);\n });\n },\n fromBase: function fromBase(RGB) {\n return RGB.map(function(val) {\n if (val >= \\u03b2) {\n return \\u03b1 * Math.pow(val, .45) - (\\u03b1 - 1);\n }\n return 4.5 * val;\n });\n },\n formats: {\n color: {}\n }\n });\n var toXYZ_M$4 = [ [ .4865709486482162, .26566769316909306, .1982172852343625 ], [ .2289745640697488, .6917385218365064, .079286914093745 ], [ 0, .04511338185890264, 1.043944368900976 ] ];\n var fromXYZ_M$4 = [ [ 2.493496911941425, -.9313836179191239, -.40271078445071684 ], [ -.8294889695615747, 1.7626640603183463, .023624685841943577 ], [ .03584583024378447, -.07617238926804182, .9568845240076872 ] ];\n var P3Linear = new RGBColorSpace({\n id: 'p3-linear',\n name: 'Linear P3',\n white: 'D65',\n toXYZ_M: toXYZ_M$4,\n fromXYZ_M: fromXYZ_M$4\n });\n var toXYZ_M$3 = [ [ .41239079926595934, .357584339383878, .1804807884018343 ], [ .21263900587151027, .715168678767756, .07219231536073371 ], [ .01933081871559182, .11919477979462598, .9505321522496607 ] ];\n var fromXYZ_M$3 = [ [ 3.2409699419045226, -1.537383177570094, -.4986107602930034 ], [ -.9692436362808796, 1.8759675015077202, .04155505740717559 ], [ .05563007969699366, -.20397695888897652, 1.0569715142428786 ] ];\n var sRGBLinear = new RGBColorSpace({\n id: 'srgb-linear',\n name: 'Linear sRGB',\n white: 'D65',\n toXYZ_M: toXYZ_M$3,\n fromXYZ_M: fromXYZ_M$3,\n formats: {\n color: {}\n }\n });\n var KEYWORDS = {\n aliceblue: [ 240 / 255, 248 / 255, 1 ],\n antiquewhite: [ 250 / 255, 235 / 255, 215 / 255 ],\n aqua: [ 0, 1, 1 ],\n aquamarine: [ 127 / 255, 1, 212 / 255 ],\n azure: [ 240 / 255, 1, 1 ],\n beige: [ 245 / 255, 245 / 255, 220 / 255 ],\n bisque: [ 1, 228 / 255, 196 / 255 ],\n black: [ 0, 0, 0 ],\n blanchedalmond: [ 1, 235 / 255, 205 / 255 ],\n blue: [ 0, 0, 1 ],\n blueviolet: [ 138 / 255, 43 / 255, 226 / 255 ],\n brown: [ 165 / 255, 42 / 255, 42 / 255 ],\n burlywood: [ 222 / 255, 184 / 255, 135 / 255 ],\n cadetblue: [ 95 / 255, 158 / 255, 160 / 255 ],\n chartreuse: [ 127 / 255, 1, 0 ],\n chocolate: [ 210 / 255, 105 / 255, 30 / 255 ],\n coral: [ 1, 127 / 255, 80 / 255 ],\n cornflowerblue: [ 100 / 255, 149 / 255, 237 / 255 ],\n cornsilk: [ 1, 248 / 255, 220 / 255 ],\n crimson: [ 220 / 255, 20 / 255, 60 / 255 ],\n cyan: [ 0, 1, 1 ],\n darkblue: [ 0, 0, 139 / 255 ],\n darkcyan: [ 0, 139 / 255, 139 / 255 ],\n darkgoldenrod: [ 184 / 255, 134 / 255, 11 / 255 ],\n darkgray: [ 169 / 255, 169 / 255, 169 / 255 ],\n darkgreen: [ 0, 100 / 255, 0 ],\n darkgrey: [ 169 / 255, 169 / 255, 169 / 255 ],\n darkkhaki: [ 189 / 255, 183 / 255, 107 / 255 ],\n darkmagenta: [ 139 / 255, 0, 139 / 255 ],\n darkolivegreen: [ 85 / 255, 107 / 255, 47 / 255 ],\n darkorange: [ 1, 140 / 255, 0 ],\n darkorchid: [ 153 / 255, 50 / 255, 204 / 255 ],\n darkred: [ 139 / 255, 0, 0 ],\n darksalmon: [ 233 / 255, 150 / 255, 122 / 255 ],\n darkseagreen: [ 143 / 255, 188 / 255, 143 / 255 ],\n darkslateblue: [ 72 / 255, 61 / 255, 139 / 255 ],\n darkslategray: [ 47 / 255, 79 / 255, 79 / 255 ],\n darkslategrey: [ 47 / 255, 79 / 255, 79 / 255 ],\n darkturquoise: [ 0, 206 / 255, 209 / 255 ],\n darkviolet: [ 148 / 255, 0, 211 / 255 ],\n deeppink: [ 1, 20 / 255, 147 / 255 ],\n deepskyblue: [ 0, 191 / 255, 1 ],\n dimgray: [ 105 / 255, 105 / 255, 105 / 255 ],\n dimgrey: [ 105 / 255, 105 / 255, 105 / 255 ],\n dodgerblue: [ 30 / 255, 144 / 255, 1 ],\n firebrick: [ 178 / 255, 34 / 255, 34 / 255 ],\n floralwhite: [ 1, 250 / 255, 240 / 255 ],\n forestgreen: [ 34 / 255, 139 / 255, 34 / 255 ],\n fuchsia: [ 1, 0, 1 ],\n gainsboro: [ 220 / 255, 220 / 255, 220 / 255 ],\n ghostwhite: [ 248 / 255, 248 / 255, 1 ],\n gold: [ 1, 215 / 255, 0 ],\n goldenrod: [ 218 / 255, 165 / 255, 32 / 255 ],\n gray: [ 128 / 255, 128 / 255, 128 / 255 ],\n green: [ 0, 128 / 255, 0 ],\n greenyellow: [ 173 / 255, 1, 47 / 255 ],\n grey: [ 128 / 255, 128 / 255, 128 / 255 ],\n honeydew: [ 240 / 255, 1, 240 / 255 ],\n hotpink: [ 1, 105 / 255, 180 / 255 ],\n indianred: [ 205 / 255, 92 / 255, 92 / 255 ],\n indigo: [ 75 / 255, 0, 130 / 255 ],\n ivory: [ 1, 1, 240 / 255 ],\n khaki: [ 240 / 255, 230 / 255, 140 / 255 ],\n lavender: [ 230 / 255, 230 / 255, 250 / 255 ],\n lavenderblush: [ 1, 240 / 255, 245 / 255 ],\n lawngreen: [ 124 / 255, 252 / 255, 0 ],\n lemonchiffon: [ 1, 250 / 255, 205 / 255 ],\n lightblue: [ 173 / 255, 216 / 255, 230 / 255 ],\n lightcoral: [ 240 / 255, 128 / 255, 128 / 255 ],\n lightcyan: [ 224 / 255, 1, 1 ],\n lightgoldenrodyellow: [ 250 / 255, 250 / 255, 210 / 255 ],\n lightgray: [ 211 / 255, 211 / 255, 211 / 255 ],\n lightgreen: [ 144 / 255, 238 / 255, 144 / 255 ],\n lightgrey: [ 211 / 255, 211 / 255, 211 / 255 ],\n lightpink: [ 1, 182 / 255, 193 / 255 ],\n lightsalmon: [ 1, 160 / 255, 122 / 255 ],\n lightseagreen: [ 32 / 255, 178 / 255, 170 / 255 ],\n lightskyblue: [ 135 / 255, 206 / 255, 250 / 255 ],\n lightslategray: [ 119 / 255, 136 / 255, 153 / 255 ],\n lightslategrey: [ 119 / 255, 136 / 255, 153 / 255 ],\n lightsteelblue: [ 176 / 255, 196 / 255, 222 / 255 ],\n lightyellow: [ 1, 1, 224 / 255 ],\n lime: [ 0, 1, 0 ],\n limegreen: [ 50 / 255, 205 / 255, 50 / 255 ],\n linen: [ 250 / 255, 240 / 255, 230 / 255 ],\n magenta: [ 1, 0, 1 ],\n maroon: [ 128 / 255, 0, 0 ],\n mediumaquamarine: [ 102 / 255, 205 / 255, 170 / 255 ],\n mediumblue: [ 0, 0, 205 / 255 ],\n mediumorchid: [ 186 / 255, 85 / 255, 211 / 255 ],\n mediumpurple: [ 147 / 255, 112 / 255, 219 / 255 ],\n mediumseagreen: [ 60 / 255, 179 / 255, 113 / 255 ],\n mediumslateblue: [ 123 / 255, 104 / 255, 238 / 255 ],\n mediumspringgreen: [ 0, 250 / 255, 154 / 255 ],\n mediumturquoise: [ 72 / 255, 209 / 255, 204 / 255 ],\n mediumvioletred: [ 199 / 255, 21 / 255, 133 / 255 ],\n midnightblue: [ 25 / 255, 25 / 255, 112 / 255 ],\n mintcream: [ 245 / 255, 1, 250 / 255 ],\n mistyrose: [ 1, 228 / 255, 225 / 255 ],\n moccasin: [ 1, 228 / 255, 181 / 255 ],\n navajowhite: [ 1, 222 / 255, 173 / 255 ],\n navy: [ 0, 0, 128 / 255 ],\n oldlace: [ 253 / 255, 245 / 255, 230 / 255 ],\n olive: [ 128 / 255, 128 / 255, 0 ],\n olivedrab: [ 107 / 255, 142 / 255, 35 / 255 ],\n orange: [ 1, 165 / 255, 0 ],\n orangered: [ 1, 69 / 255, 0 ],\n orchid: [ 218 / 255, 112 / 255, 214 / 255 ],\n palegoldenrod: [ 238 / 255, 232 / 255, 170 / 255 ],\n palegreen: [ 152 / 255, 251 / 255, 152 / 255 ],\n paleturquoise: [ 175 / 255, 238 / 255, 238 / 255 ],\n palevioletred: [ 219 / 255, 112 / 255, 147 / 255 ],\n papayawhip: [ 1, 239 / 255, 213 / 255 ],\n peachpuff: [ 1, 218 / 255, 185 / 255 ],\n peru: [ 205 / 255, 133 / 255, 63 / 255 ],\n pink: [ 1, 192 / 255, 203 / 255 ],\n plum: [ 221 / 255, 160 / 255, 221 / 255 ],\n powderblue: [ 176 / 255, 224 / 255, 230 / 255 ],\n purple: [ 128 / 255, 0, 128 / 255 ],\n rebeccapurple: [ 102 / 255, 51 / 255, 153 / 255 ],\n red: [ 1, 0, 0 ],\n rosybrown: [ 188 / 255, 143 / 255, 143 / 255 ],\n royalblue: [ 65 / 255, 105 / 255, 225 / 255 ],\n saddlebrown: [ 139 / 255, 69 / 255, 19 / 255 ],\n salmon: [ 250 / 255, 128 / 255, 114 / 255 ],\n sandybrown: [ 244 / 255, 164 / 255, 96 / 255 ],\n seagreen: [ 46 / 255, 139 / 255, 87 / 255 ],\n seashell: [ 1, 245 / 255, 238 / 255 ],\n sienna: [ 160 / 255, 82 / 255, 45 / 255 ],\n silver: [ 192 / 255, 192 / 255, 192 / 255 ],\n skyblue: [ 135 / 255, 206 / 255, 235 / 255 ],\n slateblue: [ 106 / 255, 90 / 255, 205 / 255 ],\n slategray: [ 112 / 255, 128 / 255, 144 / 255 ],\n slategrey: [ 112 / 255, 128 / 255, 144 / 255 ],\n snow: [ 1, 250 / 255, 250 / 255 ],\n springgreen: [ 0, 1, 127 / 255 ],\n steelblue: [ 70 / 255, 130 / 255, 180 / 255 ],\n tan: [ 210 / 255, 180 / 255, 140 / 255 ],\n teal: [ 0, 128 / 255, 128 / 255 ],\n thistle: [ 216 / 255, 191 / 255, 216 / 255 ],\n tomato: [ 1, 99 / 255, 71 / 255 ],\n turquoise: [ 64 / 255, 224 / 255, 208 / 255 ],\n violet: [ 238 / 255, 130 / 255, 238 / 255 ],\n wheat: [ 245 / 255, 222 / 255, 179 / 255 ],\n white: [ 1, 1, 1 ],\n whitesmoke: [ 245 / 255, 245 / 255, 245 / 255 ],\n yellow: [ 1, 1, 0 ],\n yellowgreen: [ 154 / 255, 205 / 255, 50 / 255 ]\n };\n var coordGrammar = Array(3).fill('<percentage> | <number>[0, 255]');\n var coordGrammarNumber = Array(3).fill('<number>[0, 255]');\n var sRGB = new RGBColorSpace({\n id: 'srgb',\n name: 'sRGB',\n base: sRGBLinear,\n fromBase: function fromBase(rgb) {\n return rgb.map(function(val) {\n var sign = val < 0 ? -1 : 1;\n var abs = val * sign;\n if (abs > .0031308) {\n return sign * (1.055 * Math.pow(abs, 1 / 2.4) - .055);\n }\n return 12.92 * val;\n });\n },\n toBase: function toBase(rgb) {\n return rgb.map(function(val) {\n var sign = val < 0 ? -1 : 1;\n var abs = val * sign;\n if (abs < .04045) {\n return val / 12.92;\n }\n return sign * Math.pow((abs + .055) / 1.055, 2.4);\n });\n },\n formats: {\n rgb: {\n coords: coordGrammar\n },\n rgb_number: {\n name: 'rgb',\n commas: true,\n coords: coordGrammarNumber,\n noAlpha: true\n },\n color: {},\n rgba: {\n coords: coordGrammar,\n commas: true,\n lastAlpha: true\n },\n rgba_number: {\n name: 'rgba',\n commas: true,\n coords: coordGrammarNumber\n },\n hex: {\n type: 'custom',\n toGamut: true,\n test: function test(str) {\n return /^#([a-f0-9]{3,4}){1,2}$/i.test(str);\n },\n parse: function parse(str) {\n if (str.length <= 5) {\n str = str.replace(/[a-f0-9]/gi, '$&$&');\n }\n var rgba = [];\n str.replace(/[a-f0-9]{2}/gi, function(component) {\n rgba.push(parseInt(component, 16) / 255);\n });\n return {\n spaceId: 'srgb',\n coords: rgba.slice(0, 3),\n alpha: rgba.slice(3)[0]\n };\n },\n serialize: function serialize(coords, alpha) {\n var _ref52 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref52$collapse = _ref52.collapse, collapse = _ref52$collapse === void 0 ? true : _ref52$collapse;\n if (alpha < 1) {\n coords.push(alpha);\n }\n coords = coords.map(function(c4) {\n return Math.round(c4 * 255);\n });\n var collapsible = collapse && coords.every(function(c4) {\n return c4 % 17 === 0;\n });\n var hex = coords.map(function(c4) {\n if (collapsible) {\n return (c4 / 17).toString(16);\n }\n return c4.toString(16).padStart(2, '0');\n }).join('');\n return '#' + hex;\n }\n },\n keyword: {\n type: 'custom',\n test: function test(str) {\n return /^[a-z]+$/i.test(str);\n },\n parse: function parse(str) {\n str = str.toLowerCase();\n var ret = {\n spaceId: 'srgb',\n coords: null,\n alpha: 1\n };\n if (str === 'transparent') {\n ret.coords = KEYWORDS.black;\n ret.alpha = 0;\n } else {\n ret.coords = KEYWORDS[str];\n }\n if (ret.coords) {\n return ret;\n }\n }\n }\n }\n });\n var P3 = new RGBColorSpace({\n id: 'p3',\n name: 'P3',\n base: P3Linear,\n fromBase: sRGB.fromBase,\n toBase: sRGB.toBase,\n formats: {\n color: {\n id: 'display-p3'\n }\n }\n });\n defaults.display_space = sRGB;\n if (typeof CSS !== 'undefined' && CSS.supports) {\n for (var _i15 = 0, _arr2 = [ lab, REC2020, P3 ]; _i15 < _arr2.length; _i15++) {\n var space = _arr2[_i15];\n var coords = space.getMinCoords();\n var color = {\n space: space,\n coords: coords,\n alpha: 1\n };\n var str = serialize(color);\n if (CSS.supports('color', str)) {\n defaults.display_space = space;\n break;\n }\n }\n }\n function _display(color) {\n var _ref53 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _ref53$space = _ref53.space, space = _ref53$space === void 0 ? defaults.display_space : _ref53$space, options = _objectWithoutProperties(_ref53, _excluded10);\n var ret = serialize(color, options);\n if (typeof CSS === 'undefined' || CSS.supports('color', ret) || !defaults.display_space) {\n ret = new String(ret);\n ret.color = color;\n } else {\n var fallbackColor = to(color, space);\n ret = new String(serialize(fallbackColor, options));\n ret.color = fallbackColor;\n }\n return ret;\n }\n function distance(color1, color2) {\n var space = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'lab';\n space = ColorSpace.get(space);\n var coords1 = space.from(color1);\n var coords2 = space.from(color2);\n return Math.sqrt(coords1.reduce(function(acc, c12, i) {\n var c22 = coords2[i];\n if (isNaN(c12) || isNaN(c22)) {\n return acc;\n }\n return acc + Math.pow(c22 - c12, 2);\n }, 0));\n }\n function equals(color1, color2) {\n color1 = getColor(color1);\n color2 = getColor(color2);\n return color1.space === color2.space && color1.alpha === color2.alpha && color1.coords.every(function(c4, i) {\n return c4 === color2.coords[i];\n });\n }\n function getLuminance(color) {\n return get(color, [ XYZ_D65, 'y' ]);\n }\n function setLuminance(color, value) {\n set(color, [ XYZ_D65, 'y' ], value);\n }\n function register$2(Color3) {\n Object.defineProperty(Color3.prototype, 'luminance', {\n get: function get() {\n return getLuminance(this);\n },\n set: function set(value) {\n setLuminance(this, value);\n }\n });\n }\n var luminance = Object.freeze({\n __proto__: null,\n getLuminance: getLuminance,\n setLuminance: setLuminance,\n register: register$2\n });\n function contrastWCAG21(color1, color2) {\n color1 = getColor(color1);\n color2 = getColor(color2);\n var Y1 = Math.max(getLuminance(color1), 0);\n var Y2 = Math.max(getLuminance(color2), 0);\n if (Y2 > Y1) {\n var _ref54 = [ Y2, Y1 ];\n Y1 = _ref54[0];\n Y2 = _ref54[1];\n }\n return (Y1 + .05) / (Y2 + .05);\n }\n var normBG = .56;\n var normTXT = .57;\n var revTXT = .62;\n var revBG = .65;\n var blkThrs = .022;\n var blkClmp = 1.414;\n var loClip = .1;\n var deltaYmin = 5e-4;\n var scaleBoW = 1.14;\n var loBoWoffset = .027;\n var scaleWoB = 1.14;\n function fclamp(Y) {\n if (Y >= blkThrs) {\n return Y;\n }\n return Y + Math.pow(blkThrs - Y, blkClmp);\n }\n function linearize(val) {\n var sign = val < 0 ? -1 : 1;\n var abs = Math.abs(val);\n return sign * Math.pow(abs, 2.4);\n }\n function contrastAPCA(background, foreground) {\n foreground = getColor(foreground);\n background = getColor(background);\n var S;\n var C;\n var Sapc;\n var R, G, B;\n foreground = to(foreground, 'srgb');\n var _foreground$coords = _slicedToArray(foreground.coords, 3);\n R = _foreground$coords[0];\n G = _foreground$coords[1];\n B = _foreground$coords[2];\n var lumTxt = linearize(R) * .2126729 + linearize(G) * .7151522 + linearize(B) * .072175;\n background = to(background, 'srgb');\n var _background$coords = _slicedToArray(background.coords, 3);\n R = _background$coords[0];\n G = _background$coords[1];\n B = _background$coords[2];\n var lumBg = linearize(R) * .2126729 + linearize(G) * .7151522 + linearize(B) * .072175;\n var Ytxt = fclamp(lumTxt);\n var Ybg = fclamp(lumBg);\n var BoW = Ybg > Ytxt;\n if (Math.abs(Ybg - Ytxt) < deltaYmin) {\n C = 0;\n } else {\n if (BoW) {\n S = Math.pow(Ybg, normBG) - Math.pow(Ytxt, normTXT);\n C = S * scaleBoW;\n } else {\n S = Math.pow(Ybg, revBG) - Math.pow(Ytxt, revTXT);\n C = S * scaleWoB;\n }\n }\n if (Math.abs(C) < loClip) {\n Sapc = 0;\n } else if (C > 0) {\n Sapc = C - loBoWoffset;\n } else {\n Sapc = C + loBoWoffset;\n }\n return Sapc * 100;\n }\n function contrastMichelson(color1, color2) {\n color1 = getColor(color1);\n color2 = getColor(color2);\n var Y1 = Math.max(getLuminance(color1), 0);\n var Y2 = Math.max(getLuminance(color2), 0);\n if (Y2 > Y1) {\n var _ref55 = [ Y2, Y1 ];\n Y1 = _ref55[0];\n Y2 = _ref55[1];\n }\n var denom = Y1 + Y2;\n return denom === 0 ? 0 : (Y1 - Y2) / denom;\n }\n var max = 5e4;\n function contrastWeber(color1, color2) {\n color1 = getColor(color1);\n color2 = getColor(color2);\n var Y1 = Math.max(getLuminance(color1), 0);\n var Y2 = Math.max(getLuminance(color2), 0);\n if (Y2 > Y1) {\n var _ref56 = [ Y2, Y1 ];\n Y1 = _ref56[0];\n Y2 = _ref56[1];\n }\n return Y2 === 0 ? max : (Y1 - Y2) / Y2;\n }\n function contrastLstar(color1, color2) {\n color1 = getColor(color1);\n color2 = getColor(color2);\n var L1 = get(color1, [ lab, 'l' ]);\n var L2 = get(color2, [ lab, 'l' ]);\n return Math.abs(L1 - L2);\n }\n var \\u03b5$1 = 216 / 24389;\n var \\u03b53 = 24 / 116;\n var \\u03ba = 24389 / 27;\n var white = WHITES.D65;\n var lab_d65 = new ColorSpace({\n id: 'lab-d65',\n name: 'Lab D65',\n coords: {\n l: {\n refRange: [ 0, 100 ],\n name: 'L'\n },\n a: {\n refRange: [ -125, 125 ]\n },\n b: {\n refRange: [ -125, 125 ]\n }\n },\n white: white,\n base: XYZ_D65,\n fromBase: function fromBase(XYZ) {\n var xyz = XYZ.map(function(value, i) {\n return value / white[i];\n });\n var f = xyz.map(function(value) {\n return value > \\u03b5$1 ? Math.cbrt(value) : (\\u03ba * value + 16) / 116;\n });\n return [ 116 * f[1] - 16, 500 * (f[0] - f[1]), 200 * (f[1] - f[2]) ];\n },\n toBase: function toBase(Lab) {\n var f = [];\n f[1] = (Lab[0] + 16) / 116;\n f[0] = Lab[1] / 500 + f[1];\n f[2] = f[1] - Lab[2] / 200;\n var xyz = [ f[0] > \\u03b53 ? Math.pow(f[0], 3) : (116 * f[0] - 16) / \\u03ba, Lab[0] > 8 ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / \\u03ba, f[2] > \\u03b53 ? Math.pow(f[2], 3) : (116 * f[2] - 16) / \\u03ba ];\n return xyz.map(function(value, i) {\n return value * white[i];\n });\n },\n formats: {\n 'lab-d65': {\n coords: [ '<number> | <percentage>', '<number>', '<number>' ]\n }\n }\n });\n var phi = Math.pow(5, .5) * .5 + .5;\n function contrastDeltaPhi(color1, color2) {\n color1 = getColor(color1);\n color2 = getColor(color2);\n var Lstr1 = get(color1, [ lab_d65, 'l' ]);\n var Lstr2 = get(color2, [ lab_d65, 'l' ]);\n var deltaPhiStar = Math.abs(Math.pow(Lstr1, phi) - Math.pow(Lstr2, phi));\n var contrast2 = Math.pow(deltaPhiStar, 1 / phi) * Math.SQRT2 - 40;\n return contrast2 < 7.5 ? 0 : contrast2;\n }\n var contrastMethods = Object.freeze({\n __proto__: null,\n contrastWCAG21: contrastWCAG21,\n contrastAPCA: contrastAPCA,\n contrastMichelson: contrastMichelson,\n contrastWeber: contrastWeber,\n contrastLstar: contrastLstar,\n contrastDeltaPhi: contrastDeltaPhi\n });\n function contrast(background, foreground) {\n var o = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (isString(o)) {\n o = {\n algorithm: o\n };\n }\n var _o = o, algorithm = _o.algorithm, rest = _objectWithoutProperties(_o, _excluded11);\n if (!algorithm) {\n var algorithms = Object.keys(contrastMethods).map(function(a2) {\n return a2.replace(/^contrast/, '');\n }).join(', ');\n throw new TypeError('contrast() function needs a contrast algorithm. Please specify one of: '.concat(algorithms));\n }\n background = getColor(background);\n foreground = getColor(foreground);\n for (var a2 in contrastMethods) {\n if ('contrast' + algorithm.toLowerCase() === a2.toLowerCase()) {\n return contrastMethods[a2](background, foreground, rest);\n }\n }\n throw new TypeError('Unknown contrast algorithm: '.concat(algorithm));\n }\n function uv(color) {\n var _getAll = getAll(color, XYZ_D65), _getAll2 = _slicedToArray(_getAll, 3), X = _getAll2[0], Y = _getAll2[1], Z = _getAll2[2];\n var denom = X + 15 * Y + 3 * Z;\n return [ 4 * X / denom, 9 * Y / denom ];\n }\n function xy(color) {\n var _getAll3 = getAll(color, XYZ_D65), _getAll4 = _slicedToArray(_getAll3, 3), X = _getAll4[0], Y = _getAll4[1], Z = _getAll4[2];\n var sum = X + Y + Z;\n return [ X / sum, Y / sum ];\n }\n function register$1(Color3) {\n Object.defineProperty(Color3.prototype, 'uv', {\n get: function get() {\n return uv(this);\n }\n });\n Object.defineProperty(Color3.prototype, 'xy', {\n get: function get() {\n return xy(this);\n }\n });\n }\n var chromaticity = Object.freeze({\n __proto__: null,\n uv: uv,\n xy: xy,\n register: register$1\n });\n function deltaE76(color, sample) {\n return distance(color, sample, 'lab');\n }\n var \\u03c0 = Math.PI;\n var d2r = \\u03c0 / 180;\n function deltaECMC(color, sample) {\n var _ref57 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref57$l = _ref57.l, l = _ref57$l === void 0 ? 2 : _ref57$l, _ref57$c = _ref57.c, c4 = _ref57$c === void 0 ? 1 : _ref57$c;\n var _lab$from5 = lab.from(color), _lab$from6 = _slicedToArray(_lab$from5, 3), L1 = _lab$from6[0], a1 = _lab$from6[1], b1 = _lab$from6[2];\n var _lch$from = lch.from(lab, [ L1, a1, b1 ]), _lch$from2 = _slicedToArray(_lch$from, 3), C1 = _lch$from2[1], H1 = _lch$from2[2];\n var _lab$from7 = lab.from(sample), _lab$from8 = _slicedToArray(_lab$from7, 3), L2 = _lab$from8[0], a2 = _lab$from8[1], b2 = _lab$from8[2];\n var C2 = lch.from(lab, [ L2, a2, b2 ])[1];\n if (C1 < 0) {\n C1 = 0;\n }\n if (C2 < 0) {\n C2 = 0;\n }\n var \\u0394L = L1 - L2;\n var \\u0394C = C1 - C2;\n var \\u0394a = a1 - a2;\n var \\u0394b = b1 - b2;\n var H2 = Math.pow(\\u0394a, 2) + Math.pow(\\u0394b, 2) - Math.pow(\\u0394C, 2);\n var SL = .511;\n if (L1 >= 16) {\n SL = .040975 * L1 / (1 + .01765 * L1);\n }\n var SC = .0638 * C1 / (1 + .0131 * C1) + .638;\n var T;\n if (Number.isNaN(H1)) {\n H1 = 0;\n }\n if (H1 >= 164 && H1 <= 345) {\n T = .56 + Math.abs(.2 * Math.cos((H1 + 168) * d2r));\n } else {\n T = .36 + Math.abs(.4 * Math.cos((H1 + 35) * d2r));\n }\n var C4 = Math.pow(C1, 4);\n var F = Math.sqrt(C4 / (C4 + 1900));\n var SH = SC * (F * T + 1 - F);\n var dE = Math.pow(\\u0394L / (l * SL), 2);\n dE += Math.pow(\\u0394C / (c4 * SC), 2);\n dE += H2 / Math.pow(SH, 2);\n return Math.sqrt(dE);\n }\n var Yw$1 = 203;\n var XYZ_Abs_D65 = new ColorSpace({\n id: 'xyz-abs-d65',\n name: 'Absolute XYZ D65',\n coords: {\n x: {\n refRange: [ 0, 9504.7 ],\n name: 'Xa'\n },\n y: {\n refRange: [ 0, 1e4 ],\n name: 'Ya'\n },\n z: {\n refRange: [ 0, 10888.3 ],\n name: 'Za'\n }\n },\n base: XYZ_D65,\n fromBase: function fromBase(XYZ) {\n return XYZ.map(function(v) {\n return Math.max(v * Yw$1, 0);\n });\n },\n toBase: function toBase(AbsXYZ) {\n return AbsXYZ.map(function(v) {\n return Math.max(v / Yw$1, 0);\n });\n }\n });\n var b$1 = 1.15;\n var g = .66;\n var n$1 = 2610 / Math.pow(2, 14);\n var ninv$1 = Math.pow(2, 14) / 2610;\n var c1$2 = 3424 / Math.pow(2, 12);\n var c2$2 = 2413 / Math.pow(2, 7);\n var c3$2 = 2392 / Math.pow(2, 7);\n var p = 1.7 * 2523 / Math.pow(2, 5);\n var pinv = Math.pow(2, 5) / (1.7 * 2523);\n var d = -.56;\n var d0 = 16295499532821565e-27;\n var XYZtoCone_M = [ [ .41478972, .579999, .014648 ], [ -.20151, 1.120649, .0531008 ], [ -.0166008, .2648, .6684799 ] ];\n var ConetoXYZ_M = [ [ 1.9242264357876067, -1.0047923125953657, .037651404030618 ], [ .35031676209499907, .7264811939316552, -.06538442294808501 ], [ -.09098281098284752, -.3127282905230739, 1.5227665613052603 ] ];\n var ConetoIab_M = [ [ .5, .5, 0 ], [ 3.524, -4.066708, .542708 ], [ .199076, 1.096799, -1.295875 ] ];\n var IabtoCone_M = [ [ 1, .1386050432715393, .05804731615611886 ], [ .9999999999999999, -.1386050432715393, -.05804731615611886 ], [ .9999999999999998, -.09601924202631895, -.8118918960560388 ] ];\n var Jzazbz = new ColorSpace({\n id: 'jzazbz',\n name: 'Jzazbz',\n coords: {\n jz: {\n refRange: [ 0, 1 ],\n name: 'Jz'\n },\n az: {\n refRange: [ -.5, .5 ]\n },\n bz: {\n refRange: [ -.5, .5 ]\n }\n },\n base: XYZ_Abs_D65,\n fromBase: function fromBase(XYZ) {\n var _XYZ = _slicedToArray(XYZ, 3), Xa = _XYZ[0], Ya = _XYZ[1], Za = _XYZ[2];\n var Xm = b$1 * Xa - (b$1 - 1) * Za;\n var Ym = g * Ya - (g - 1) * Xa;\n var LMS = multiplyMatrices(XYZtoCone_M, [ Xm, Ym, Za ]);\n var PQLMS = LMS.map(function(val) {\n var num = c1$2 + c2$2 * Math.pow(val / 1e4, n$1);\n var denom = 1 + c3$2 * Math.pow(val / 1e4, n$1);\n return Math.pow(num / denom, p);\n });\n var _multiplyMatrices = multiplyMatrices(ConetoIab_M, PQLMS), _multiplyMatrices2 = _slicedToArray(_multiplyMatrices, 3), Iz = _multiplyMatrices2[0], az = _multiplyMatrices2[1], bz = _multiplyMatrices2[2];\n var Jz = (1 + d) * Iz / (1 + d * Iz) - d0;\n return [ Jz, az, bz ];\n },\n toBase: function toBase(Jzazbz2) {\n var _Jzazbz = _slicedToArray(Jzazbz2, 3), Jz = _Jzazbz[0], az = _Jzazbz[1], bz = _Jzazbz[2];\n var Iz = (Jz + d0) / (1 + d - d * (Jz + d0));\n var PQLMS = multiplyMatrices(IabtoCone_M, [ Iz, az, bz ]);\n var LMS = PQLMS.map(function(val) {\n var num = c1$2 - Math.pow(val, pinv);\n var denom = c3$2 * Math.pow(val, pinv) - c2$2;\n var x = 1e4 * Math.pow(num / denom, ninv$1);\n return x;\n });\n var _multiplyMatrices3 = multiplyMatrices(ConetoXYZ_M, LMS), _multiplyMatrices4 = _slicedToArray(_multiplyMatrices3, 3), Xm = _multiplyMatrices4[0], Ym = _multiplyMatrices4[1], Za = _multiplyMatrices4[2];\n var Xa = (Xm + (b$1 - 1) * Za) / b$1;\n var Ya = (Ym + (g - 1) * Xa) / g;\n return [ Xa, Ya, Za ];\n },\n formats: {\n color: {}\n }\n });\n var jzczhz = new ColorSpace({\n id: 'jzczhz',\n name: 'JzCzHz',\n coords: {\n jz: {\n refRange: [ 0, 1 ],\n name: 'Jz'\n },\n cz: {\n refRange: [ 0, 1 ],\n name: 'Chroma'\n },\n hz: {\n refRange: [ 0, 360 ],\n type: 'angle',\n name: 'Hue'\n }\n },\n base: Jzazbz,\n fromBase: function fromBase(jzazbz) {\n var _jzazbz = _slicedToArray(jzazbz, 3), Jz = _jzazbz[0], az = _jzazbz[1], bz = _jzazbz[2];\n var hue;\n var \\u03b52 = 2e-4;\n if (Math.abs(az) < \\u03b52 && Math.abs(bz) < \\u03b52) {\n hue = NaN;\n } else {\n hue = Math.atan2(bz, az) * 180 / Math.PI;\n }\n return [ Jz, Math.sqrt(Math.pow(az, 2) + Math.pow(bz, 2)), constrain(hue) ];\n },\n toBase: function toBase(jzczhz2) {\n return [ jzczhz2[0], jzczhz2[1] * Math.cos(jzczhz2[2] * Math.PI / 180), jzczhz2[1] * Math.sin(jzczhz2[2] * Math.PI / 180) ];\n },\n formats: {\n color: {}\n }\n });\n function deltaEJz(color, sample) {\n var _jzczhz$from = jzczhz.from(color), _jzczhz$from2 = _slicedToArray(_jzczhz$from, 3), Jz1 = _jzczhz$from2[0], Cz1 = _jzczhz$from2[1], Hz1 = _jzczhz$from2[2];\n var _jzczhz$from3 = jzczhz.from(sample), _jzczhz$from4 = _slicedToArray(_jzczhz$from3, 3), Jz2 = _jzczhz$from4[0], Cz2 = _jzczhz$from4[1], Hz2 = _jzczhz$from4[2];\n var \\u0394J = Jz1 - Jz2;\n var \\u0394C = Cz1 - Cz2;\n if (Number.isNaN(Hz1) && Number.isNaN(Hz2)) {\n Hz1 = 0;\n Hz2 = 0;\n } else if (Number.isNaN(Hz1)) {\n Hz1 = Hz2;\n } else if (Number.isNaN(Hz2)) {\n Hz2 = Hz1;\n }\n var \\u0394h = Hz1 - Hz2;\n var \\u0394H = 2 * Math.sqrt(Cz1 * Cz2) * Math.sin(\\u0394h / 2 * (Math.PI / 180));\n return Math.sqrt(Math.pow(\\u0394J, 2) + Math.pow(\\u0394C, 2) + Math.pow(\\u0394H, 2));\n }\n var c1$1 = 3424 / 4096;\n var c2$1 = 2413 / 128;\n var c3$1 = 2392 / 128;\n var m1 = 2610 / 16384;\n var m2 = 2523 / 32;\n var im1 = 16384 / 2610;\n var im2 = 32 / 2523;\n var XYZtoLMS_M$1 = [ [ .3592, .6976, -.0358 ], [ -.1922, 1.1004, .0755 ], [ .007, .0749, .8434 ] ];\n var LMStoIPT_M = [ [ 2048 / 4096, 2048 / 4096, 0 ], [ 6610 / 4096, -13613 / 4096, 7003 / 4096 ], [ 17933 / 4096, -17390 / 4096, -543 / 4096 ] ];\n var IPTtoLMS_M = [ [ .9999888965628402, .008605050147287059, .11103437159861648 ], [ 1.00001110343716, -.008605050147287059, -.11103437159861648 ], [ 1.0000320633910054, .56004913547279, -.3206339100541203 ] ];\n var LMStoXYZ_M$1 = [ [ 2.0701800566956137, -1.326456876103021, .20661600684785517 ], [ .3649882500326575, .6804673628522352, -.04542175307585323 ], [ -.04959554223893211, -.04942116118675749, 1.1879959417328034 ] ];\n var ictcp = new ColorSpace({\n id: 'ictcp',\n name: 'ICTCP',\n coords: {\n i: {\n refRange: [ 0, 1 ],\n name: 'I'\n },\n ct: {\n refRange: [ -.5, .5 ],\n name: 'CT'\n },\n cp: {\n refRange: [ -.5, .5 ],\n name: 'CP'\n }\n },\n base: XYZ_Abs_D65,\n fromBase: function fromBase(XYZ) {\n var LMS = multiplyMatrices(XYZtoLMS_M$1, XYZ);\n return LMStoICtCp(LMS);\n },\n toBase: function toBase(ICtCp) {\n var LMS = ICtCptoLMS(ICtCp);\n return multiplyMatrices(LMStoXYZ_M$1, LMS);\n },\n formats: {\n color: {}\n }\n });\n function LMStoICtCp(LMS) {\n var PQLMS = LMS.map(function(val) {\n var num = c1$1 + c2$1 * Math.pow(val / 1e4, m1);\n var denom = 1 + c3$1 * Math.pow(val / 1e4, m1);\n return Math.pow(num / denom, m2);\n });\n return multiplyMatrices(LMStoIPT_M, PQLMS);\n }\n function ICtCptoLMS(ICtCp) {\n var PQLMS = multiplyMatrices(IPTtoLMS_M, ICtCp);\n var LMS = PQLMS.map(function(val) {\n var num = Math.max(Math.pow(val, im2) - c1$1, 0);\n var denom = c2$1 - c3$1 * Math.pow(val, im2);\n return 1e4 * Math.pow(num / denom, im1);\n });\n return LMS;\n }\n function deltaEITP(color, sample) {\n var _ictcp$from = ictcp.from(color), _ictcp$from2 = _slicedToArray(_ictcp$from, 3), I1 = _ictcp$from2[0], T1 = _ictcp$from2[1], P1 = _ictcp$from2[2];\n var _ictcp$from3 = ictcp.from(sample), _ictcp$from4 = _slicedToArray(_ictcp$from3, 3), I2 = _ictcp$from4[0], T2 = _ictcp$from4[1], P2 = _ictcp$from4[2];\n return 720 * Math.sqrt(Math.pow(I1 - I2, 2) + .25 * Math.pow(T1 - T2, 2) + Math.pow(P1 - P2, 2));\n }\n var XYZtoLMS_M = [ [ .8190224432164319, .3619062562801221, -.12887378261216414 ], [ .0329836671980271, .9292868468965546, .03614466816999844 ], [ .048177199566046255, .26423952494422764, .6335478258136937 ] ];\n var LMStoXYZ_M = [ [ 1.2268798733741557, -.5578149965554813, .28139105017721583 ], [ -.04057576262431372, 1.1122868293970594, -.07171106666151701 ], [ -.07637294974672142, -.4214933239627914, 1.5869240244272418 ] ];\n var LMStoLab_M = [ [ .2104542553, .793617785, -.0040720468 ], [ 1.9779984951, -2.428592205, .4505937099 ], [ .0259040371, .7827717662, -.808675766 ] ];\n var LabtoLMS_M = [ [ .9999999984505198, .39633779217376786, .2158037580607588 ], [ 1.0000000088817609, -.10556134232365635, -.06385417477170591 ], [ 1.0000000546724108, -.08948418209496575, -1.2914855378640917 ] ];\n var OKLab = new ColorSpace({\n id: 'oklab',\n name: 'OKLab',\n coords: {\n l: {\n refRange: [ 0, 1 ],\n name: 'L'\n },\n a: {\n refRange: [ -.4, .4 ]\n },\n b: {\n refRange: [ -.4, .4 ]\n }\n },\n white: 'D65',\n base: XYZ_D65,\n fromBase: function fromBase(XYZ) {\n var LMS = multiplyMatrices(XYZtoLMS_M, XYZ);\n var LMSg = LMS.map(function(val) {\n return Math.cbrt(val);\n });\n return multiplyMatrices(LMStoLab_M, LMSg);\n },\n toBase: function toBase(OKLab2) {\n var LMSg = multiplyMatrices(LabtoLMS_M, OKLab2);\n var LMS = LMSg.map(function(val) {\n return Math.pow(val, 3);\n });\n return multiplyMatrices(LMStoXYZ_M, LMS);\n },\n formats: {\n oklab: {\n coords: [ '<number> | <percentage>', '<number>', '<number>' ]\n }\n }\n });\n function deltaEOK(color, sample) {\n var _OKLab$from = OKLab.from(color), _OKLab$from2 = _slicedToArray(_OKLab$from, 3), L1 = _OKLab$from2[0], a1 = _OKLab$from2[1], b1 = _OKLab$from2[2];\n var _OKLab$from3 = OKLab.from(sample), _OKLab$from4 = _slicedToArray(_OKLab$from3, 3), L2 = _OKLab$from4[0], a2 = _OKLab$from4[1], b2 = _OKLab$from4[2];\n var \\u0394L = L1 - L2;\n var \\u0394a = a1 - a2;\n var \\u0394b = b1 - b2;\n return Math.sqrt(Math.pow(\\u0394L, 2) + Math.pow(\\u0394a, 2) + Math.pow(\\u0394b, 2));\n }\n var deltaEMethods = Object.freeze({\n __proto__: null,\n deltaE76: deltaE76,\n deltaECMC: deltaECMC,\n deltaE2000: deltaE2000,\n deltaEJz: deltaEJz,\n deltaEITP: deltaEITP,\n deltaEOK: deltaEOK\n });\n function deltaE(c12, c22) {\n var o = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (isString(o)) {\n o = {\n method: o\n };\n }\n var _o2 = o, _o2$method = _o2.method, method = _o2$method === void 0 ? defaults.deltaE : _o2$method, rest = _objectWithoutProperties(_o2, _excluded12);\n c12 = getColor(c12);\n c22 = getColor(c22);\n for (var m3 in deltaEMethods) {\n if ('deltae' + method.toLowerCase() === m3.toLowerCase()) {\n return deltaEMethods[m3](c12, c22, rest);\n }\n }\n throw new TypeError('Unknown deltaE method: '.concat(method));\n }\n function lighten(color) {\n var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : .25;\n var space = ColorSpace.get('oklch', 'lch');\n var lightness = [ space, 'l' ];\n return set(color, lightness, function(l) {\n return l * (1 + amount);\n });\n }\n function darken(color) {\n var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : .25;\n var space = ColorSpace.get('oklch', 'lch');\n var lightness = [ space, 'l' ];\n return set(color, lightness, function(l) {\n return l * (1 - amount);\n });\n }\n var variations = Object.freeze({\n __proto__: null,\n lighten: lighten,\n darken: darken\n });\n function mix(c12, c22) {\n var p2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : .5;\n var o = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _ref58 = [ getColor(c12), getColor(c22) ];\n c12 = _ref58[0];\n c22 = _ref58[1];\n if (type(p2) === 'object') {\n var _ref59 = [ .5, p2 ];\n p2 = _ref59[0];\n o = _ref59[1];\n }\n var _o3 = o, space = _o3.space, outputSpace = _o3.outputSpace, premultiplied = _o3.premultiplied;\n var r = range(c12, c22, {\n space: space,\n outputSpace: outputSpace,\n premultiplied: premultiplied\n });\n return r(p2);\n }\n function steps(c12, c22) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var colorRange;\n if (isRange(c12)) {\n colorRange = c12;\n options = c22;\n var _colorRange$rangeArgs = _slicedToArray(colorRange.rangeArgs.colors, 2);\n c12 = _colorRange$rangeArgs[0];\n c22 = _colorRange$rangeArgs[1];\n }\n var _options = options, maxDeltaE = _options.maxDeltaE, deltaEMethod = _options.deltaEMethod, _options$steps = _options.steps, steps2 = _options$steps === void 0 ? 2 : _options$steps, _options$maxSteps = _options.maxSteps, maxSteps = _options$maxSteps === void 0 ? 1e3 : _options$maxSteps, rangeOptions = _objectWithoutProperties(_options, _excluded13);\n if (!colorRange) {\n var _ref60 = [ getColor(c12), getColor(c22) ];\n c12 = _ref60[0];\n c22 = _ref60[1];\n colorRange = range(c12, c22, rangeOptions);\n }\n var totalDelta = deltaE(c12, c22);\n var actualSteps = maxDeltaE > 0 ? Math.max(steps2, Math.ceil(totalDelta / maxDeltaE) + 1) : steps2;\n var ret = [];\n if (maxSteps !== void 0) {\n actualSteps = Math.min(actualSteps, maxSteps);\n }\n if (actualSteps === 1) {\n ret = [ {\n p: .5,\n color: colorRange(.5)\n } ];\n } else {\n var step = 1 / (actualSteps - 1);\n ret = Array.from({\n length: actualSteps\n }, function(_, i) {\n var p2 = i * step;\n return {\n p: p2,\n color: colorRange(p2)\n };\n });\n }\n if (maxDeltaE > 0) {\n var maxDelta = ret.reduce(function(acc, cur, i) {\n if (i === 0) {\n return 0;\n }\n var \\u0394\\u0395 = deltaE(cur.color, ret[i - 1].color, deltaEMethod);\n return Math.max(acc, \\u0394\\u0395);\n }, 0);\n while (maxDelta > maxDeltaE) {\n maxDelta = 0;\n for (var _i16 = 1; _i16 < ret.length && ret.length < maxSteps; _i16++) {\n var prev = ret[_i16 - 1];\n var cur = ret[_i16];\n var p2 = (cur.p + prev.p) / 2;\n var _color = colorRange(p2);\n maxDelta = Math.max(maxDelta, deltaE(_color, prev.color), deltaE(_color, cur.color));\n ret.splice(_i16, 0, {\n p: p2,\n color: colorRange(p2)\n });\n _i16++;\n }\n }\n }\n ret = ret.map(function(a2) {\n return a2.color;\n });\n return ret;\n }\n function range(color1, color2) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (isRange(color1)) {\n var r = color1, options2 = color2;\n return range.apply(void 0, _toConsumableArray(r.rangeArgs.colors).concat([ _extends({}, r.rangeArgs.options, options2) ]));\n }\n var space = options.space, outputSpace = options.outputSpace, progression = options.progression, premultiplied = options.premultiplied;\n color1 = getColor(color1);\n color2 = getColor(color2);\n color1 = clone2(color1);\n color2 = clone2(color2);\n var rangeArgs = {\n colors: [ color1, color2 ],\n options: options\n };\n if (space) {\n space = ColorSpace.get(space);\n } else {\n space = ColorSpace.registry[defaults.interpolationSpace] || color1.space;\n }\n outputSpace = outputSpace ? ColorSpace.get(outputSpace) : space;\n color1 = to(color1, space);\n color2 = to(color2, space);\n color1 = toGamut(color1);\n color2 = toGamut(color2);\n if (space.coords.h && space.coords.h.type === 'angle') {\n var arc = options.hue = options.hue || 'shorter';\n var hue = [ space, 'h' ];\n var _ref61 = [ get(color1, hue), get(color2, hue) ], \\u03b81 = _ref61[0], \\u03b82 = _ref61[1];\n var _adjust = adjust(arc, [ \\u03b81, \\u03b82 ]);\n var _adjust2 = _slicedToArray(_adjust, 2);\n \\u03b81 = _adjust2[0];\n \\u03b82 = _adjust2[1];\n set(color1, hue, \\u03b81);\n set(color2, hue, \\u03b82);\n }\n if (premultiplied) {\n color1.coords = color1.coords.map(function(c4) {\n return c4 * color1.alpha;\n });\n color2.coords = color2.coords.map(function(c4) {\n return c4 * color2.alpha;\n });\n }\n return Object.assign(function(p2) {\n p2 = progression ? progression(p2) : p2;\n var coords = color1.coords.map(function(start, i) {\n var end = color2.coords[i];\n return interpolate(start, end, p2);\n });\n var alpha = interpolate(color1.alpha, color2.alpha, p2);\n var ret = {\n space: space,\n coords: coords,\n alpha: alpha\n };\n if (premultiplied) {\n ret.coords = ret.coords.map(function(c4) {\n return c4 / alpha;\n });\n }\n if (outputSpace !== space) {\n ret = to(ret, outputSpace);\n }\n return ret;\n }, {\n rangeArgs: rangeArgs\n });\n }\n function isRange(val) {\n return type(val) === 'function' && !!val.rangeArgs;\n }\n defaults.interpolationSpace = 'lab';\n function register(Color3) {\n Color3.defineFunction('mix', mix, {\n returns: 'color'\n });\n Color3.defineFunction('range', range, {\n returns: 'function<color>'\n });\n Color3.defineFunction('steps', steps, {\n returns: 'array<color>'\n });\n }\n var interpolation = Object.freeze({\n __proto__: null,\n mix: mix,\n steps: steps,\n range: range,\n isRange: isRange,\n register: register\n });\n var HSL = new ColorSpace({\n id: 'hsl',\n name: 'HSL',\n coords: {\n h: {\n refRange: [ 0, 360 ],\n type: 'angle',\n name: 'Hue'\n },\n s: {\n range: [ 0, 100 ],\n name: 'Saturation'\n },\n l: {\n range: [ 0, 100 ],\n name: 'Lightness'\n }\n },\n base: sRGB,\n fromBase: function fromBase(rgb) {\n var max2 = Math.max.apply(Math, _toConsumableArray(rgb));\n var min = Math.min.apply(Math, _toConsumableArray(rgb));\n var _rgb = _slicedToArray(rgb, 3), r = _rgb[0], g2 = _rgb[1], b2 = _rgb[2];\n var h = NaN, s = 0, l = (min + max2) / 2;\n var d2 = max2 - min;\n if (d2 !== 0) {\n s = l === 0 || l === 1 ? 0 : (max2 - l) / Math.min(l, 1 - l);\n switch (max2) {\n case r:\n h = (g2 - b2) / d2 + (g2 < b2 ? 6 : 0);\n break;\n\n case g2:\n h = (b2 - r) / d2 + 2;\n break;\n\n case b2:\n h = (r - g2) / d2 + 4;\n }\n h = h * 60;\n }\n return [ h, s * 100, l * 100 ];\n },\n toBase: function toBase(hsl) {\n var _hsl = _slicedToArray(hsl, 3), h = _hsl[0], s = _hsl[1], l = _hsl[2];\n h = h % 360;\n if (h < 0) {\n h += 360;\n }\n s /= 100;\n l /= 100;\n function f(n2) {\n var k = (n2 + h / 30) % 12;\n var a2 = s * Math.min(l, 1 - l);\n return l - a2 * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n }\n return [ f(0), f(8), f(4) ];\n },\n formats: {\n hsl: {\n toGamut: true,\n coords: [ '<number> | <angle>', '<percentage>', '<percentage>' ]\n },\n hsla: {\n coords: [ '<number> | <angle>', '<percentage>', '<percentage>' ],\n commas: true,\n lastAlpha: true\n }\n }\n });\n var HSV = new ColorSpace({\n id: 'hsv',\n name: 'HSV',\n coords: {\n h: {\n refRange: [ 0, 360 ],\n type: 'angle',\n name: 'Hue'\n },\n s: {\n range: [ 0, 100 ],\n name: 'Saturation'\n },\n v: {\n range: [ 0, 100 ],\n name: 'Value'\n }\n },\n base: HSL,\n fromBase: function fromBase(hsl) {\n var _hsl2 = _slicedToArray(hsl, 3), h = _hsl2[0], s = _hsl2[1], l = _hsl2[2];\n s /= 100;\n l /= 100;\n var v = l + s * Math.min(l, 1 - l);\n return [ h, v === 0 ? 0 : 200 * (1 - l / v), 100 * v ];\n },\n toBase: function toBase(hsv) {\n var _hsv = _slicedToArray(hsv, 3), h = _hsv[0], s = _hsv[1], v = _hsv[2];\n s /= 100;\n v /= 100;\n var l = v * (1 - s / 2);\n return [ h, l === 0 || l === 1 ? 0 : (v - l) / Math.min(l, 1 - l) * 100, l * 100 ];\n },\n formats: {\n color: {\n toGamut: true\n }\n }\n });\n var hwb = new ColorSpace({\n id: 'hwb',\n name: 'HWB',\n coords: {\n h: {\n refRange: [ 0, 360 ],\n type: 'angle',\n name: 'Hue'\n },\n w: {\n range: [ 0, 100 ],\n name: 'Whiteness'\n },\n b: {\n range: [ 0, 100 ],\n name: 'Blackness'\n }\n },\n base: HSV,\n fromBase: function fromBase(hsv) {\n var _hsv2 = _slicedToArray(hsv, 3), h = _hsv2[0], s = _hsv2[1], v = _hsv2[2];\n return [ h, v * (100 - s) / 100, 100 - v ];\n },\n toBase: function toBase(hwb2) {\n var _hwb = _slicedToArray(hwb2, 3), h = _hwb[0], w = _hwb[1], b2 = _hwb[2];\n w /= 100;\n b2 /= 100;\n var sum = w + b2;\n if (sum >= 1) {\n var gray = w / sum;\n return [ h, 0, gray * 100 ];\n }\n var v = 1 - b2;\n var s = v === 0 ? 0 : 1 - w / v;\n return [ h, s * 100, v * 100 ];\n },\n formats: {\n hwb: {\n toGamut: true,\n coords: [ '<number> | <angle>', '<percentage>', '<percentage>' ]\n }\n }\n });\n var toXYZ_M$2 = [ [ .5766690429101305, .1855582379065463, .1882286462349947 ], [ .29734497525053605, .6273635662554661, .07529145849399788 ], [ .02703136138641234, .07068885253582723, .9913375368376388 ] ];\n var fromXYZ_M$2 = [ [ 2.0415879038107465, -.5650069742788596, -.34473135077832956 ], [ -.9692436362808795, 1.8759675015077202, .04155505740717557 ], [ .013444280632031142, -.11836239223101838, 1.0151749943912054 ] ];\n var A98Linear = new RGBColorSpace({\n id: 'a98rgb-linear',\n name: 'Linear Adobe\\xae 98 RGB compatible',\n white: 'D65',\n toXYZ_M: toXYZ_M$2,\n fromXYZ_M: fromXYZ_M$2\n });\n var a98rgb = new RGBColorSpace({\n id: 'a98rgb',\n name: 'Adobe\\xae 98 RGB compatible',\n base: A98Linear,\n toBase: function toBase(RGB) {\n return RGB.map(function(val) {\n return Math.pow(Math.abs(val), 563 / 256) * Math.sign(val);\n });\n },\n fromBase: function fromBase(RGB) {\n return RGB.map(function(val) {\n return Math.pow(Math.abs(val), 256 / 563) * Math.sign(val);\n });\n },\n formats: {\n color: {\n id: 'a98-rgb'\n }\n }\n });\n var toXYZ_M$1 = [ [ .7977604896723027, .13518583717574031, .0313493495815248 ], [ .2880711282292934, .7118432178101014, 8565396060525902e-20 ], [ 0, 0, .8251046025104601 ] ];\n var fromXYZ_M$1 = [ [ 1.3457989731028281, -.25558010007997534, -.05110628506753401 ], [ -.5446224939028347, 1.5082327413132781, .02053603239147973 ], [ 0, 0, 1.2119675456389454 ] ];\n var ProPhotoLinear = new RGBColorSpace({\n id: 'prophoto-linear',\n name: 'Linear ProPhoto',\n white: 'D50',\n base: XYZ_D50,\n toXYZ_M: toXYZ_M$1,\n fromXYZ_M: fromXYZ_M$1\n });\n var Et = 1 / 512;\n var Et2 = 16 / 512;\n var prophoto = new RGBColorSpace({\n id: 'prophoto',\n name: 'ProPhoto',\n base: ProPhotoLinear,\n toBase: function toBase(RGB) {\n return RGB.map(function(v) {\n return v < Et2 ? v / 16 : Math.pow(v, 1.8);\n });\n },\n fromBase: function fromBase(RGB) {\n return RGB.map(function(v) {\n return v >= Et ? Math.pow(v, 1 / 1.8) : 16 * v;\n });\n },\n formats: {\n color: {\n id: 'prophoto-rgb'\n }\n }\n });\n var oklch = new ColorSpace({\n id: 'oklch',\n name: 'OKLCh',\n coords: {\n l: {\n refRange: [ 0, 1 ],\n name: 'Lightness'\n },\n c: {\n refRange: [ 0, .4 ],\n name: 'Chroma'\n },\n h: {\n refRange: [ 0, 360 ],\n type: 'angle',\n name: 'Hue'\n }\n },\n white: 'D65',\n base: OKLab,\n fromBase: function fromBase(oklab) {\n var _oklab = _slicedToArray(oklab, 3), L = _oklab[0], a2 = _oklab[1], b2 = _oklab[2];\n var h;\n var \\u03b52 = 2e-4;\n if (Math.abs(a2) < \\u03b52 && Math.abs(b2) < \\u03b52) {\n h = NaN;\n } else {\n h = Math.atan2(b2, a2) * 180 / Math.PI;\n }\n return [ L, Math.sqrt(Math.pow(a2, 2) + Math.pow(b2, 2)), constrain(h) ];\n },\n toBase: function toBase(oklch2) {\n var _oklch = _slicedToArray(oklch2, 3), L = _oklch[0], C = _oklch[1], h = _oklch[2];\n var a2, b2;\n if (isNaN(h)) {\n a2 = 0;\n b2 = 0;\n } else {\n a2 = C * Math.cos(h * Math.PI / 180);\n b2 = C * Math.sin(h * Math.PI / 180);\n }\n return [ L, a2, b2 ];\n },\n formats: {\n oklch: {\n coords: [ '<number> | <percentage>', '<number>', '<number> | <angle>' ]\n }\n }\n });\n var Yw = 203;\n var n = 2610 / Math.pow(2, 14);\n var ninv = Math.pow(2, 14) / 2610;\n var m = 2523 / Math.pow(2, 5);\n var minv = Math.pow(2, 5) / 2523;\n var c1 = 3424 / Math.pow(2, 12);\n var c2 = 2413 / Math.pow(2, 7);\n var c3 = 2392 / Math.pow(2, 7);\n var rec2100Pq = new RGBColorSpace({\n id: 'rec2100pq',\n name: 'REC.2100-PQ',\n base: REC2020Linear,\n toBase: function toBase(RGB) {\n return RGB.map(function(val) {\n var x = Math.pow(Math.max(Math.pow(val, minv) - c1, 0) / (c2 - c3 * Math.pow(val, minv)), ninv);\n return x * 1e4 / Yw;\n });\n },\n fromBase: function fromBase(RGB) {\n return RGB.map(function(val) {\n var x = Math.max(val * Yw / 1e4, 0);\n var num = c1 + c2 * Math.pow(x, n);\n var denom = 1 + c3 * Math.pow(x, n);\n return Math.pow(num / denom, m);\n });\n },\n formats: {\n color: {\n id: 'rec2100-pq'\n }\n }\n });\n var a = .17883277;\n var b = .28466892;\n var c = .55991073;\n var scale = 3.7743;\n var rec2100Hlg = new RGBColorSpace({\n id: 'rec2100hlg',\n cssid: 'rec2100-hlg',\n name: 'REC.2100-HLG',\n referred: 'scene',\n base: REC2020Linear,\n toBase: function toBase(RGB) {\n return RGB.map(function(val) {\n if (val <= .5) {\n return Math.pow(val, 2) / 3 * scale;\n }\n return Math.exp((val - c) / a + b) / 12 * scale;\n });\n },\n fromBase: function fromBase(RGB) {\n return RGB.map(function(val) {\n val /= scale;\n if (val <= 1 / 12) {\n return Math.sqrt(3 * val);\n }\n return a * Math.log(12 * val - b) + c;\n });\n },\n formats: {\n color: {\n id: 'rec2100-hlg'\n }\n }\n });\n var CATs = {};\n hooks.add('chromatic-adaptation-start', function(env) {\n if (env.options.method) {\n env.M = adapt(env.W1, env.W2, env.options.method);\n }\n });\n hooks.add('chromatic-adaptation-end', function(env) {\n if (!env.M) {\n env.M = adapt(env.W1, env.W2, env.options.method);\n }\n });\n function defineCAT(_ref62) {\n var id = _ref62.id, toCone_M = _ref62.toCone_M, fromCone_M = _ref62.fromCone_M;\n CATs[id] = arguments[0];\n }\n function adapt(W1, W2) {\n var id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Bradford';\n var method = CATs[id];\n var _multiplyMatrices5 = multiplyMatrices(method.toCone_M, W1), _multiplyMatrices6 = _slicedToArray(_multiplyMatrices5, 3), \\u03c1s = _multiplyMatrices6[0], \\u03b3s = _multiplyMatrices6[1], \\u03b2s = _multiplyMatrices6[2];\n var _multiplyMatrices7 = multiplyMatrices(method.toCone_M, W2), _multiplyMatrices8 = _slicedToArray(_multiplyMatrices7, 3), \\u03c1d = _multiplyMatrices8[0], \\u03b3d = _multiplyMatrices8[1], \\u03b2d = _multiplyMatrices8[2];\n var scale2 = [ [ \\u03c1d / \\u03c1s, 0, 0 ], [ 0, \\u03b3d / \\u03b3s, 0 ], [ 0, 0, \\u03b2d / \\u03b2s ] ];\n var scaled_cone_M = multiplyMatrices(scale2, method.toCone_M);\n var adapt_M = multiplyMatrices(method.fromCone_M, scaled_cone_M);\n return adapt_M;\n }\n defineCAT({\n id: 'von Kries',\n toCone_M: [ [ .40024, .7076, -.08081 ], [ -.2263, 1.16532, .0457 ], [ 0, 0, .91822 ] ],\n fromCone_M: [ [ 1.8599364, -1.1293816, .2198974 ], [ .3611914, .6388125, -64e-7 ], [ 0, 0, 1.0890636 ] ]\n });\n defineCAT({\n id: 'Bradford',\n toCone_M: [ [ .8951, .2664, -.1614 ], [ -.7502, 1.7135, .0367 ], [ .0389, -.0685, 1.0296 ] ],\n fromCone_M: [ [ .9869929, -.1470543, .1599627 ], [ .4323053, .5183603, .0492912 ], [ -.0085287, .0400428, .9684867 ] ]\n });\n defineCAT({\n id: 'CAT02',\n toCone_M: [ [ .7328, .4296, -.1624 ], [ -.7036, 1.6975, .0061 ], [ .003, .0136, .9834 ] ],\n fromCone_M: [ [ 1.0961238, -.278869, .1827452 ], [ .454369, .4735332, .0720978 ], [ -.0096276, -.005698, 1.0153256 ] ]\n });\n defineCAT({\n id: 'CAT16',\n toCone_M: [ [ .401288, .650173, -.051461 ], [ -.250268, 1.204414, .045854 ], [ -.002079, .048952, .953127 ] ],\n fromCone_M: [ [ 1.862067855087233, -1.011254630531685, .1491867754444518 ], [ .3875265432361372, .6214474419314753, -.008973985167612518 ], [ -.01584149884933386, -.03412293802851557, 1.04996443687785 ] ]\n });\n Object.assign(WHITES, {\n A: [ 1.0985, 1, .35585 ],\n C: [ .98074, 1, 1.18232 ],\n D55: [ .95682, 1, .92149 ],\n D75: [ .94972, 1, 1.22638 ],\n E: [ 1, 1, 1 ],\n F2: [ .99186, 1, .67393 ],\n F7: [ .95041, 1, 1.08747 ],\n F11: [ 1.00962, 1, .6435 ]\n });\n WHITES.ACES = [ .32168 / .33767, 1, (1 - .32168 - .33767) / .33767 ];\n var toXYZ_M = [ [ .6624541811085053, .13400420645643313, .1561876870049078 ], [ .27222871678091454, .6740817658111484, .05368951740793705 ], [ -.005574649490394108, .004060733528982826, 1.0103391003129971 ] ];\n var fromXYZ_M = [ [ 1.6410233796943257, -.32480329418479, -.23642469523761225 ], [ -.6636628587229829, 1.6153315916573379, .016756347685530137 ], [ .011721894328375376, -.008284441996237409, .9883948585390215 ] ];\n var ACEScg = new RGBColorSpace({\n id: 'acescg',\n name: 'ACEScg',\n coords: {\n r: {\n range: [ 0, 65504 ],\n name: 'Red'\n },\n g: {\n range: [ 0, 65504 ],\n name: 'Green'\n },\n b: {\n range: [ 0, 65504 ],\n name: 'Blue'\n }\n },\n referred: 'scene',\n white: WHITES.ACES,\n toXYZ_M: toXYZ_M,\n fromXYZ_M: fromXYZ_M,\n formats: {\n color: {}\n }\n });\n var \\u03b5 = Math.pow(2, -16);\n var ACES_min_nonzero = -.35828683;\n var ACES_cc_max = (Math.log2(65504) + 9.72) / 17.52;\n var acescc = new RGBColorSpace({\n id: 'acescc',\n name: 'ACEScc',\n coords: {\n r: {\n range: [ ACES_min_nonzero, ACES_cc_max ],\n name: 'Red'\n },\n g: {\n range: [ ACES_min_nonzero, ACES_cc_max ],\n name: 'Green'\n },\n b: {\n range: [ ACES_min_nonzero, ACES_cc_max ],\n name: 'Blue'\n }\n },\n referred: 'scene',\n base: ACEScg,\n toBase: function toBase(RGB) {\n var low = (9.72 - 15) / 17.52;\n return RGB.map(function(val) {\n if (val <= low) {\n return (Math.pow(2, val * 17.52 - 9.72) - \\u03b5) * 2;\n } else if (val < ACES_cc_max) {\n return Math.pow(2, val * 17.52 - 9.72);\n } else {\n return 65504;\n }\n });\n },\n fromBase: function fromBase(RGB) {\n return RGB.map(function(val) {\n if (val <= 0) {\n return (Math.log2(\\u03b5) + 9.72) / 17.52;\n } else if (val < \\u03b5) {\n return (Math.log2(\\u03b5 + val * .5) + 9.72) / 17.52;\n } else {\n return (Math.log2(val) + 9.72) / 17.52;\n }\n });\n },\n formats: {\n color: {}\n }\n });\n var spaces = Object.freeze({\n __proto__: null,\n XYZ_D65: XYZ_D65,\n XYZ_D50: XYZ_D50,\n XYZ_ABS_D65: XYZ_Abs_D65,\n Lab_D65: lab_d65,\n Lab: lab,\n LCH: lch,\n sRGB_Linear: sRGBLinear,\n sRGB: sRGB,\n HSL: HSL,\n HWB: hwb,\n HSV: HSV,\n P3_Linear: P3Linear,\n P3: P3,\n A98RGB_Linear: A98Linear,\n A98RGB: a98rgb,\n ProPhoto_Linear: ProPhotoLinear,\n ProPhoto: prophoto,\n REC_2020_Linear: REC2020Linear,\n REC_2020: REC2020,\n OKLab: OKLab,\n OKLCH: oklch,\n Jzazbz: Jzazbz,\n JzCzHz: jzczhz,\n ICTCP: ictcp,\n REC_2100_PQ: rec2100Pq,\n REC_2100_HLG: rec2100Hlg,\n ACEScg: ACEScg,\n ACEScc: acescc\n });\n var Color = (_space = new WeakMap(), function() {\n function Color() {\n var _this2 = this;\n _classCallCheck(this, Color);\n _classPrivateFieldInitSpec(this, _space, void 0);\n var color;\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n if (args.length === 1) {\n color = getColor(args[0]);\n }\n var space, coords, alpha;\n if (color) {\n space = color.space || color.spaceId;\n coords = color.coords;\n alpha = color.alpha;\n } else {\n space = args[0];\n coords = args[1];\n alpha = args[2];\n }\n _classPrivateFieldSet(_space, this, ColorSpace.get(space));\n this.coords = coords ? coords.slice() : [ 0, 0, 0 ];\n this.alpha = alpha < 1 ? alpha : 1;\n for (var _i17 = 0; _i17 < this.coords.length; _i17++) {\n if (this.coords[_i17] === 'NaN') {\n this.coords[_i17] = NaN;\n }\n }\n var _loop7 = function _loop7(id) {\n Object.defineProperty(_this2, id, {\n get: function get() {\n return _this2.get(id);\n },\n set: function set(value) {\n return _this2.set(id, value);\n }\n });\n };\n for (var id in _classPrivateFieldGet(_space, this).coords) {\n _loop7(id);\n }\n }\n return _createClass(Color, [ {\n key: 'space',\n get: function get() {\n return _classPrivateFieldGet(_space, this);\n }\n }, {\n key: 'spaceId',\n get: function get() {\n return _classPrivateFieldGet(_space, this).id;\n }\n }, {\n key: 'clone',\n value: function clone() {\n return new Color(this.space, this.coords, this.alpha);\n }\n }, {\n key: 'toJSON',\n value: function toJSON() {\n return {\n spaceId: this.spaceId,\n coords: this.coords,\n alpha: this.alpha\n };\n }\n }, {\n key: 'display',\n value: function display() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n var ret = _display.apply(void 0, [ this ].concat(args));\n ret.color = new Color(ret.color);\n return ret;\n }\n } ], [ {\n key: 'get',\n value: function get(color) {\n if (color instanceof Color) {\n return color;\n }\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n return _construct(Color, [ color ].concat(args));\n }\n }, {\n key: 'defineFunction',\n value: function defineFunction(name, code) {\n var o = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : code;\n var _o$instance = o.instance, instance = _o$instance === void 0 ? true : _o$instance, returns = o.returns;\n var func = function func() {\n var ret = code.apply(void 0, arguments);\n if (returns === 'color') {\n ret = Color.get(ret);\n } else if (returns === 'function<color>') {\n var f = ret;\n ret = function ret() {\n var ret2 = f.apply(void 0, arguments);\n return Color.get(ret2);\n };\n Object.assign(ret, f);\n } else if (returns === 'array<color>') {\n ret = ret.map(function(c4) {\n return Color.get(c4);\n });\n }\n return ret;\n };\n if (!(name in Color)) {\n Color[name] = func;\n }\n if (instance) {\n Color.prototype[name] = function() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n return func.apply(void 0, [ this ].concat(args));\n };\n }\n }\n }, {\n key: 'defineFunctions',\n value: function defineFunctions(o) {\n for (var name in o) {\n Color.defineFunction(name, o[name], o[name]);\n }\n }\n }, {\n key: 'extend',\n value: function extend(exports) {\n if (exports.register) {\n exports.register(Color);\n } else {\n for (var name in exports) {\n Color.defineFunction(name, exports[name]);\n }\n }\n }\n } ]);\n }());\n Color.defineFunctions({\n get: get,\n getAll: getAll,\n set: set,\n setAll: setAll,\n to: to,\n equals: equals,\n inGamut: inGamut,\n toGamut: toGamut,\n distance: distance,\n toString: serialize\n });\n Object.assign(Color, {\n util: util,\n hooks: hooks,\n WHITES: WHITES,\n Space: ColorSpace,\n spaces: ColorSpace.registry,\n parse: parse2,\n defaults: defaults\n });\n for (var _i18 = 0, _Object$keys2 = Object.keys(spaces); _i18 < _Object$keys2.length; _i18++) {\n var key = _Object$keys2[_i18];\n ColorSpace.register(spaces[key]);\n }\n for (var id in ColorSpace.registry) {\n addSpaceAccessors(id, ColorSpace.registry[id]);\n }\n hooks.add('colorspace-init-end', function(space) {\n var _space$aliases;\n addSpaceAccessors(space.id, space);\n (_space$aliases = space.aliases) === null || _space$aliases === void 0 || _space$aliases.forEach(function(alias) {\n addSpaceAccessors(alias, space);\n });\n });\n function addSpaceAccessors(id, space) {\n Object.keys(space.coords);\n Object.values(space.coords).map(function(c4) {\n return c4.name;\n });\n var propId = id.replace(/-/g, '_');\n Object.defineProperty(Color.prototype, propId, {\n get: function get() {\n var _this3 = this;\n var ret = this.getAll(id);\n if (typeof Proxy === 'undefined') {\n return ret;\n }\n return new Proxy(ret, {\n has: function has(obj, property) {\n try {\n ColorSpace.resolveCoord([ space, property ]);\n return true;\n } catch (e) {}\n return Reflect.has(obj, property);\n },\n get: function get(obj, property, receiver) {\n if (property && _typeof(property) !== 'symbol' && !(property in obj)) {\n var _ColorSpace$resolveCo3 = ColorSpace.resolveCoord([ space, property ]), index = _ColorSpace$resolveCo3.index;\n if (index >= 0) {\n return obj[index];\n }\n }\n return Reflect.get(obj, property, receiver);\n },\n set: function set(obj, property, value, receiver) {\n if (property && _typeof(property) !== 'symbol' && !(property in obj) || property >= 0) {\n var _ColorSpace$resolveCo4 = ColorSpace.resolveCoord([ space, property ]), index = _ColorSpace$resolveCo4.index;\n if (index >= 0) {\n obj[index] = value;\n _this3.setAll(id, obj);\n return true;\n }\n }\n return Reflect.set(obj, property, value, receiver);\n }\n });\n },\n set: function set(coords) {\n this.setAll(id, coords);\n },\n configurable: true,\n enumerable: true\n });\n }\n Color.extend(deltaEMethods);\n Color.extend({\n deltaE: deltaE\n });\n Color.extend(variations);\n Color.extend({\n contrast: contrast\n });\n Color.extend(chromaticity);\n Color.extend(luminance);\n Color.extend(interpolation);\n Color.extend(contrastMethods);\n var import_from2 = __toModule(require_from4());\n import_dot['default'].templateSettings.strip = false;\n var hexRegex = /^#[0-9a-f]{3,8}$/i;\n var hslRegex = /hsl\\(\\s*([-\\d.]+)(rad|turn)/;\n var Color2 = (_r = new WeakMap(), _g = new WeakMap(), _b = new WeakMap(), _red = new WeakMap(), \n _green = new WeakMap(), _blue = new WeakMap(), _Class3_brand = new WeakSet(), \n function() {\n function Color2(red, green, blue) {\n var alpha = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n _classCallCheck(this, Color2);\n _classPrivateMethodInitSpec(this, _Class3_brand);\n _classPrivateFieldInitSpec(this, _r, void 0);\n _classPrivateFieldInitSpec(this, _g, void 0);\n _classPrivateFieldInitSpec(this, _b, void 0);\n _classPrivateFieldInitSpec(this, _red, void 0);\n _classPrivateFieldInitSpec(this, _green, void 0);\n _classPrivateFieldInitSpec(this, _blue, void 0);\n if (red instanceof Color2) {\n var r = red.r, g2 = red.g, b2 = red.b;\n this.r = r;\n this.g = g2;\n this.b = b2;\n this.alpha = red.alpha;\n return;\n }\n this.red = red;\n this.green = green;\n this.blue = blue;\n this.alpha = alpha;\n }\n return _createClass(Color2, [ {\n key: 'r',\n get: function get() {\n return _classPrivateFieldGet(_r, this);\n },\n set: function set(value) {\n _classPrivateFieldSet(_r, this, value);\n _classPrivateFieldSet(_red, this, Math.round(clamp(value, 0, 1) * 255));\n }\n }, {\n key: 'g',\n get: function get() {\n return _classPrivateFieldGet(_g, this);\n },\n set: function set(value) {\n _classPrivateFieldSet(_g, this, value);\n _classPrivateFieldSet(_green, this, Math.round(clamp(value, 0, 1) * 255));\n }\n }, {\n key: 'b',\n get: function get() {\n return _classPrivateFieldGet(_b, this);\n },\n set: function set(value) {\n _classPrivateFieldSet(_b, this, value);\n _classPrivateFieldSet(_blue, this, Math.round(clamp(value, 0, 1) * 255));\n }\n }, {\n key: 'red',\n get: function get() {\n return _classPrivateFieldGet(_red, this);\n },\n set: function set(value) {\n _classPrivateFieldSet(_r, this, value / 255);\n _classPrivateFieldSet(_red, this, clamp(value, 0, 255));\n }\n }, {\n key: 'green',\n get: function get() {\n return _classPrivateFieldGet(_green, this);\n },\n set: function set(value) {\n _classPrivateFieldSet(_g, this, value / 255);\n _classPrivateFieldSet(_green, this, clamp(value, 0, 255));\n }\n }, {\n key: 'blue',\n get: function get() {\n return _classPrivateFieldGet(_blue, this);\n },\n set: function set(value) {\n _classPrivateFieldSet(_b, this, value / 255);\n _classPrivateFieldSet(_blue, this, clamp(value, 0, 255));\n }\n }, {\n key: 'toHexString',\n value: function toHexString() {\n var redString = Math.round(this.red).toString(16);\n var greenString = Math.round(this.green).toString(16);\n var blueString = Math.round(this.blue).toString(16);\n return '#' + (this.red > 15.5 ? redString : '0' + redString) + (this.green > 15.5 ? greenString : '0' + greenString) + (this.blue > 15.5 ? blueString : '0' + blueString);\n }\n }, {\n key: 'toJSON',\n value: function toJSON() {\n var red = this.red, green = this.green, blue = this.blue, alpha = this.alpha;\n return {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha\n };\n }\n }, {\n key: 'parseString',\n value: function parseString(colorString) {\n colorString = colorString.replace(hslRegex, function(match, angle, unit) {\n var value = angle + unit;\n switch (unit) {\n case 'rad':\n return match.replace(value, radToDeg(angle));\n\n case 'turn':\n return match.replace(value, turnToDeg(angle));\n }\n });\n try {\n var prototypeArrayFrom;\n if ('Prototype' in window && 'Version' in window.Prototype) {\n prototypeArrayFrom = Array.from;\n Array.from = import_from2['default'];\n }\n var _color2 = new Color(colorString).to('srgb');\n if (prototypeArrayFrom) {\n Array.from = prototypeArrayFrom;\n prototypeArrayFrom = null;\n }\n this.r = _color2.r;\n this.g = _color2.g;\n this.b = _color2.b;\n this.alpha = +_color2.alpha;\n } catch (err2) {\n throw new Error('Unable to parse color \"'.concat(colorString, '\"'));\n }\n return this;\n }\n }, {\n key: 'parseRgbString',\n value: function parseRgbString(colorString) {\n this.parseString(colorString);\n }\n }, {\n key: 'parseHexString',\n value: function parseHexString(colorString) {\n if (!colorString.match(hexRegex) || [ 6, 8 ].includes(colorString.length)) {\n return;\n }\n this.parseString(colorString);\n }\n }, {\n key: 'parseColorFnString',\n value: function parseColorFnString(colorString) {\n this.parseString(colorString);\n }\n }, {\n key: 'getRelativeLuminance',\n value: function getRelativeLuminance() {\n var rSRGB = this.r, gSRGB = this.g, bSRGB = this.b;\n var r = rSRGB <= .03928 ? rSRGB / 12.92 : Math.pow((rSRGB + .055) / 1.055, 2.4);\n var g2 = gSRGB <= .03928 ? gSRGB / 12.92 : Math.pow((gSRGB + .055) / 1.055, 2.4);\n var b2 = bSRGB <= .03928 ? bSRGB / 12.92 : Math.pow((bSRGB + .055) / 1.055, 2.4);\n return .2126 * r + .7152 * g2 + .0722 * b2;\n }\n }, {\n key: 'getLuminosity',\n value: function getLuminosity() {\n return .3 * this.r + .59 * this.g + .11 * this.b;\n }\n }, {\n key: 'setLuminosity',\n value: function setLuminosity(L) {\n var d2 = L - this.getLuminosity();\n return _assertClassBrand(_Class3_brand, this, _add).call(this, d2).clip();\n }\n }, {\n key: 'getSaturation',\n value: function getSaturation() {\n return Math.max(this.r, this.g, this.b) - Math.min(this.r, this.g, this.b);\n }\n }, {\n key: 'setSaturation',\n value: function setSaturation(s) {\n var C = new Color2(this);\n var colorEntires = [ {\n name: 'r',\n value: C.r\n }, {\n name: 'g',\n value: C.g\n }, {\n name: 'b',\n value: C.b\n } ];\n var _colorEntires$sort = colorEntires.sort(function(a2, b2) {\n return a2.value - b2.value;\n }), _colorEntires$sort2 = _slicedToArray(_colorEntires$sort, 3), Cmin = _colorEntires$sort2[0], Cmid = _colorEntires$sort2[1], Cmax = _colorEntires$sort2[2];\n if (Cmax.value > Cmin.value) {\n Cmid.value = (Cmid.value - Cmin.value) * s / (Cmax.value - Cmin.value);\n Cmax.value = s;\n } else {\n Cmid.value = Cmax.value = 0;\n }\n Cmin.value = 0;\n C[Cmax.name] = Cmax.value;\n C[Cmin.name] = Cmin.value;\n C[Cmid.name] = Cmid.value;\n return C;\n }\n }, {\n key: 'clip',\n value: function clip() {\n var C = new Color2(this);\n var L = C.getLuminosity();\n var n2 = Math.min(C.r, C.g, C.b);\n var x = Math.max(C.r, C.g, C.b);\n if (n2 < 0) {\n C.r = L + (C.r - L) * L / (L - n2);\n C.g = L + (C.g - L) * L / (L - n2);\n C.b = L + (C.b - L) * L / (L - n2);\n }\n if (x > 1) {\n C.r = L + (C.r - L) * (1 - L) / (x - L);\n C.g = L + (C.g - L) * (1 - L) / (x - L);\n C.b = L + (C.b - L) * (1 - L) / (x - L);\n }\n return C;\n }\n } ]);\n }());\n function _add(value) {\n var C = new Color2(this);\n C.r += value;\n C.g += value;\n C.b += value;\n return C;\n }\n var color_default = Color2;\n function clamp(value, min, max2) {\n return Math.min(Math.max(min, value), max2);\n }\n function radToDeg(rad) {\n return rad * 180 / Math.PI;\n }\n function turnToDeg(turn) {\n return turn * 360;\n }\n function getOwnBackgroundColor(elmStyle) {\n var bgColor = new color_default();\n bgColor.parseString(elmStyle.getPropertyValue('background-color'));\n if (bgColor.alpha !== 0) {\n var opacity = elmStyle.getPropertyValue('opacity');\n bgColor.alpha = bgColor.alpha * opacity;\n }\n return bgColor;\n }\n var get_own_background_color_default = getOwnBackgroundColor;\n function isOpaque(node) {\n var style = window.getComputedStyle(node);\n return element_has_image_default(node, style) || get_own_background_color_default(style).alpha === 1;\n }\n var is_opaque_default = isOpaque;\n function _isSkipLink(element) {\n if (!element.href) {\n return false;\n }\n var firstPageLink = cache_default.get('firstPageLink', generateFirstPageLink);\n if (!firstPageLink) {\n return true;\n }\n return element.compareDocumentPosition(firstPageLink.actualNode) === element.DOCUMENT_POSITION_FOLLOWING;\n }\n function generateFirstPageLink() {\n var firstPageLink;\n if (!window.location.origin) {\n firstPageLink = query_selector_all_default(axe._tree, 'a:not([href^=\"#\"]):not([href^=\"/#\"]):not([href^=\"javascript:\"])')[0];\n } else {\n firstPageLink = query_selector_all_default(axe._tree, 'a[href]:not([href^=\"javascript:\"])').find(function(link) {\n return !_isCurrentPageLink(link.actualNode);\n });\n }\n return firstPageLink || null;\n }\n var clipRegex2 = /rect\\s*\\(([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px\\s*\\)/;\n var clipPathRegex2 = /(\\w+)\\((\\d+)/;\n function isClipped(style) {\n var matchesClip = style.getPropertyValue('clip').match(clipRegex2);\n var matchesClipPath = style.getPropertyValue('clip-path').match(clipPathRegex2);\n if (matchesClip && matchesClip.length === 5) {\n var position = style.getPropertyValue('position');\n if ([ 'fixed', 'absolute' ].includes(position)) {\n return matchesClip[3] - matchesClip[1] <= 0 && matchesClip[2] - matchesClip[4] <= 0;\n }\n }\n if (matchesClipPath) {\n var type2 = matchesClipPath[1];\n var value = parseInt(matchesClipPath[2], 10);\n switch (type2) {\n case 'inset':\n return value >= 50;\n\n case 'circle':\n return value === 0;\n\n default:\n }\n }\n return false;\n }\n function isAreaVisible(el, screenReader, recursed) {\n var mapEl = find_up_default(el, 'map');\n if (!mapEl) {\n return false;\n }\n var mapElName = mapEl.getAttribute('name');\n if (!mapElName) {\n return false;\n }\n var mapElRootNode = get_root_node_default2(el);\n if (!mapElRootNode || mapElRootNode.nodeType !== 9) {\n return false;\n }\n var refs = query_selector_all_default(axe._tree, 'img[usemap=\"#'.concat(escape_selector_default(mapElName), '\"]'));\n if (!refs || !refs.length) {\n return false;\n }\n return refs.some(function(_ref63) {\n var actualNode = _ref63.actualNode;\n return isVisible(actualNode, screenReader, recursed);\n });\n }\n function isVisible(el, screenReader, recursed) {\n var _window$Node2;\n if (!el) {\n throw new TypeError('Cannot determine if element is visible for non-DOM nodes');\n }\n var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);\n el = vNode ? vNode.actualNode : el;\n var cacheName = '_isVisible' + (screenReader ? 'ScreenReader' : '');\n var _ref64 = (_window$Node2 = window.Node) !== null && _window$Node2 !== void 0 ? _window$Node2 : {}, DOCUMENT_NODE = _ref64.DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE = _ref64.DOCUMENT_FRAGMENT_NODE;\n var nodeType = vNode ? vNode.props.nodeType : el.nodeType;\n var nodeName2 = vNode ? vNode.props.nodeName : el.nodeName.toLowerCase();\n if (vNode && typeof vNode[cacheName] !== 'undefined') {\n return vNode[cacheName];\n }\n if (nodeType === DOCUMENT_NODE) {\n return true;\n }\n if ([ 'style', 'script', 'noscript', 'template' ].includes(nodeName2)) {\n return false;\n }\n if (el && nodeType === DOCUMENT_FRAGMENT_NODE) {\n el = el.host;\n }\n if (screenReader) {\n var ariaHiddenValue = vNode ? vNode.attr('aria-hidden') : el.getAttribute('aria-hidden');\n if (ariaHiddenValue === 'true') {\n return false;\n }\n }\n if (!el) {\n var parent2 = vNode.parent;\n var visible3 = true;\n if (parent2) {\n visible3 = isVisible(parent2, screenReader, true);\n }\n if (vNode) {\n vNode[cacheName] = visible3;\n }\n return visible3;\n }\n var style = window.getComputedStyle(el, null);\n if (style === null) {\n return false;\n }\n if (nodeName2 === 'area') {\n return isAreaVisible(el, screenReader, recursed);\n }\n if (style.getPropertyValue('display') === 'none') {\n return false;\n }\n var elHeight = parseInt(style.getPropertyValue('height'));\n var elWidth = parseInt(style.getPropertyValue('width'));\n var scroll = get_scroll_default(el);\n var scrollableWithZeroHeight = scroll && elHeight === 0;\n var scrollableWithZeroWidth = scroll && elWidth === 0;\n var posAbsoluteOverflowHiddenAndSmall = style.getPropertyValue('position') === 'absolute' && (elHeight < 2 || elWidth < 2) && style.getPropertyValue('overflow') === 'hidden';\n if (!screenReader && (isClipped(style) || style.getPropertyValue('opacity') === '0' || scrollableWithZeroHeight || scrollableWithZeroWidth || posAbsoluteOverflowHiddenAndSmall)) {\n return false;\n }\n if (!recursed && (style.getPropertyValue('visibility') === 'hidden' || !screenReader && is_offscreen_default(el))) {\n return false;\n }\n var parent = el.assignedSlot ? el.assignedSlot : el.parentNode;\n var visible2 = false;\n if (parent) {\n visible2 = isVisible(parent, screenReader, true);\n }\n if (vNode) {\n vNode[cacheName] = visible2;\n }\n return visible2;\n }\n var is_visible_default = isVisible;\n function reduceToElementsBelowFloating(elements, targetNode) {\n var floatingPositions = [ 'fixed', 'sticky' ];\n var finalElements = [];\n var targetFound = false;\n for (var index = 0; index < elements.length; ++index) {\n var currentNode = elements[index];\n if (currentNode === targetNode) {\n targetFound = true;\n }\n var style = window.getComputedStyle(currentNode);\n if (!targetFound && floatingPositions.indexOf(style.position) !== -1) {\n finalElements = [];\n continue;\n }\n finalElements.push(currentNode);\n }\n return finalElements;\n }\n var reduce_to_elements_below_floating_default = reduceToElementsBelowFloating;\n function _visuallyContains(node, parent) {\n var parentScrollAncestor = getScrollAncestor(parent);\n do {\n var nextScrollAncestor = getScrollAncestor(node);\n if (nextScrollAncestor === parentScrollAncestor || nextScrollAncestor === parent) {\n return contains2(node, parent);\n }\n node = nextScrollAncestor;\n } while (node);\n return false;\n }\n function getScrollAncestor(node) {\n var vNode = get_node_from_tree_default(node);\n var ancestor = vNode.parent;\n while (ancestor) {\n if (get_scroll_default(ancestor.actualNode)) {\n return ancestor.actualNode;\n }\n ancestor = ancestor.parent;\n }\n }\n function contains2(node, parent) {\n var style = window.getComputedStyle(parent);\n var overflow = style.getPropertyValue('overflow');\n if (style.getPropertyValue('display') === 'inline') {\n return true;\n }\n var clientRects = Array.from(node.getClientRects());\n var boundingRect = parent.getBoundingClientRect();\n var rect = {\n left: boundingRect.left,\n top: boundingRect.top,\n width: boundingRect.width,\n height: boundingRect.height\n };\n if ([ 'scroll', 'auto' ].includes(overflow) || parent instanceof window.HTMLHtmlElement) {\n rect.width = parent.scrollWidth;\n rect.height = parent.scrollHeight;\n }\n if (clientRects.length === 1 && overflow === 'hidden' && style.getPropertyValue('white-space') === 'nowrap') {\n clientRects[0] = rect;\n }\n return clientRects.some(function(clientRect) {\n return !(Math.ceil(clientRect.left) < Math.floor(rect.left) || Math.ceil(clientRect.top) < Math.floor(rect.top) || Math.floor(clientRect.left + clientRect.width) > Math.ceil(rect.left + rect.width) || Math.floor(clientRect.top + clientRect.height) > Math.ceil(rect.top + rect.height));\n });\n }\n function shadowElementsFromPoint(nodeX, nodeY) {\n var root = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document;\n var i = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n if (i > 999) {\n throw new Error('Infinite loop detected');\n }\n return Array.from(root.elementsFromPoint(nodeX, nodeY) || []).filter(function(nodes) {\n return get_root_node_default2(nodes) === root;\n }).reduce(function(stack, elm) {\n if (is_shadow_root_default(elm)) {\n var shadowStack = shadowElementsFromPoint(nodeX, nodeY, elm.shadowRoot, i + 1);\n stack = stack.concat(shadowStack);\n if (stack.length && _visuallyContains(stack[0], elm)) {\n stack.push(elm);\n }\n } else {\n stack.push(elm);\n }\n return stack;\n }, []);\n }\n var shadow_elements_from_point_default = shadowElementsFromPoint;\n function urlPropsFromAttribute(node, attribute) {\n if (!node.hasAttribute(attribute)) {\n return void 0;\n }\n var nodeName2 = node.nodeName.toUpperCase();\n var parser2 = node;\n if (![ 'A', 'AREA' ].includes(nodeName2) || node.ownerSVGElement) {\n parser2 = document.createElement('a');\n parser2.href = node.getAttribute(attribute);\n }\n var protocol = [ 'https:', 'ftps:' ].includes(parser2.protocol) ? parser2.protocol.replace(/s:$/, ':') : parser2.protocol;\n var parserPathname = /^\\//.test(parser2.pathname) ? parser2.pathname : '/'.concat(parser2.pathname);\n var _getPathnameOrFilenam = getPathnameOrFilename(parserPathname), pathname = _getPathnameOrFilenam.pathname, filename = _getPathnameOrFilenam.filename;\n return {\n protocol: protocol,\n hostname: parser2.hostname,\n port: getPort(parser2.port),\n pathname: /\\/$/.test(pathname) ? pathname : ''.concat(pathname, '/'),\n search: getSearchPairs(parser2.search),\n hash: getHashRoute(parser2.hash),\n filename: filename\n };\n }\n function getPort(port) {\n var excludePorts = [ '443', '80' ];\n return !excludePorts.includes(port) ? port : '';\n }\n function getPathnameOrFilename(pathname) {\n var filename = pathname.split('/').pop();\n if (!filename || filename.indexOf('.') === -1) {\n return {\n pathname: pathname,\n filename: ''\n };\n }\n return {\n pathname: pathname.replace(filename, ''),\n filename: /index./.test(filename) ? '' : filename\n };\n }\n function getSearchPairs(searchStr) {\n var query = {};\n if (!searchStr || !searchStr.length) {\n return query;\n }\n var pairs = searchStr.substring(1).split('&');\n if (!pairs || !pairs.length) {\n return query;\n }\n for (var index = 0; index < pairs.length; index++) {\n var pair = pairs[index];\n var _pair$split = pair.split('='), _pair$split2 = _slicedToArray(_pair$split, 2), _key7 = _pair$split2[0], _pair$split2$ = _pair$split2[1], value = _pair$split2$ === void 0 ? '' : _pair$split2$;\n query[decodeURIComponent(_key7)] = decodeURIComponent(value);\n }\n return query;\n }\n function getHashRoute(hash) {\n if (!hash) {\n return '';\n }\n var hashRegex = /#!?\\/?/g;\n var hasMatch = hash.match(hashRegex);\n if (!hasMatch) {\n return '';\n }\n var _hasMatch = _slicedToArray(hasMatch, 1), matchedStr = _hasMatch[0];\n if (matchedStr === '#') {\n return '';\n }\n return hash;\n }\n var url_props_from_attribute_default = urlPropsFromAttribute;\n function visuallyOverlaps(rect, parent) {\n var parentRect = parent.getBoundingClientRect();\n var parentTop = parentRect.top;\n var parentLeft = parentRect.left;\n var parentScrollArea = {\n top: parentTop - parent.scrollTop,\n bottom: parentTop - parent.scrollTop + parent.scrollHeight,\n left: parentLeft - parent.scrollLeft,\n right: parentLeft - parent.scrollLeft + parent.scrollWidth\n };\n if (rect.left > parentScrollArea.right && rect.left > parentRect.right || rect.top > parentScrollArea.bottom && rect.top > parentRect.bottom || rect.right < parentScrollArea.left && rect.right < parentRect.left || rect.bottom < parentScrollArea.top && rect.bottom < parentRect.top) {\n return false;\n }\n var style = window.getComputedStyle(parent);\n if (rect.left > parentRect.right || rect.top > parentRect.bottom) {\n return style.overflow === 'scroll' || style.overflow === 'auto' || parent instanceof window.HTMLBodyElement || parent instanceof window.HTMLHtmlElement;\n }\n return true;\n }\n var visually_overlaps_default = visuallyOverlaps;\n var nodeIndex2 = 0;\n var VirtualNode = function(_abstract_virtual_nod) {\n function VirtualNode(node, parent, shadowId) {\n var _this4;\n _classCallCheck(this, VirtualNode);\n _this4 = _callSuper(this, VirtualNode);\n _this4.shadowId = shadowId;\n _this4.children = [];\n _this4.actualNode = node;\n _this4.parent = parent;\n if (!parent) {\n nodeIndex2 = 0;\n }\n _this4.nodeIndex = nodeIndex2++;\n _this4._isHidden = null;\n _this4._cache = {};\n _this4._isXHTML = is_xhtml_default(node.ownerDocument);\n if (node.nodeName.toLowerCase() === 'input') {\n var type2 = node.getAttribute('type');\n type2 = _this4._isXHTML ? type2 : (type2 || '').toLowerCase();\n if (!valid_input_type_default().includes(type2)) {\n type2 = 'text';\n }\n _this4._type = type2;\n }\n if (cache_default.get('nodeMap')) {\n cache_default.get('nodeMap').set(node, _this4);\n }\n return _this4;\n }\n _inherits(VirtualNode, _abstract_virtual_nod);\n return _createClass(VirtualNode, [ {\n key: 'props',\n get: function get() {\n if (!this._cache.hasOwnProperty('props')) {\n var _this$actualNode = this.actualNode, nodeType = _this$actualNode.nodeType, nodeName2 = _this$actualNode.nodeName, _id = _this$actualNode.id, nodeValue = _this$actualNode.nodeValue;\n this._cache.props = {\n nodeType: nodeType,\n nodeName: this._isXHTML ? nodeName2 : nodeName2.toLowerCase(),\n id: _id,\n type: this._type,\n nodeValue: nodeValue\n };\n if (nodeType === 1) {\n this._cache.props.multiple = this.actualNode.multiple;\n this._cache.props.value = this.actualNode.value;\n this._cache.props.selected = this.actualNode.selected;\n this._cache.props.checked = this.actualNode.checked;\n this._cache.props.indeterminate = this.actualNode.indeterminate;\n }\n }\n return this._cache.props;\n }\n }, {\n key: 'attr',\n value: function attr(attrName) {\n if (typeof this.actualNode.getAttribute !== 'function') {\n return null;\n }\n return this.actualNode.getAttribute(attrName);\n }\n }, {\n key: 'hasAttr',\n value: function hasAttr(attrName) {\n if (typeof this.actualNode.hasAttribute !== 'function') {\n return false;\n }\n return this.actualNode.hasAttribute(attrName);\n }\n }, {\n key: 'attrNames',\n get: function get() {\n if (!this._cache.hasOwnProperty('attrNames')) {\n var attrs;\n if (this.actualNode.attributes instanceof window.NamedNodeMap) {\n attrs = this.actualNode.attributes;\n } else {\n attrs = this.actualNode.cloneNode(false).attributes;\n }\n this._cache.attrNames = Array.from(attrs).map(function(attr) {\n return attr.name;\n });\n }\n return this._cache.attrNames;\n }\n }, {\n key: 'getComputedStylePropertyValue',\n value: function getComputedStylePropertyValue(property) {\n var key = 'computedStyle_' + property;\n if (!this._cache.hasOwnProperty(key)) {\n if (!this._cache.hasOwnProperty('computedStyle')) {\n this._cache.computedStyle = window.getComputedStyle(this.actualNode);\n }\n this._cache[key] = this._cache.computedStyle.getPropertyValue(property);\n }\n return this._cache[key];\n }\n }, {\n key: 'isFocusable',\n get: function get() {\n if (!this._cache.hasOwnProperty('isFocusable')) {\n this._cache.isFocusable = _isFocusable(this.actualNode);\n }\n return this._cache.isFocusable;\n }\n }, {\n key: 'tabbableElements',\n get: function get() {\n if (!this._cache.hasOwnProperty('tabbableElements')) {\n this._cache.tabbableElements = get_tabbable_elements_default(this);\n }\n return this._cache.tabbableElements;\n }\n }, {\n key: 'clientRects',\n get: function get() {\n if (!this._cache.hasOwnProperty('clientRects')) {\n this._cache.clientRects = Array.from(this.actualNode.getClientRects()).filter(function(rect) {\n return rect.width > 0;\n });\n }\n return this._cache.clientRects;\n }\n }, {\n key: 'boundingClientRect',\n get: function get() {\n if (!this._cache.hasOwnProperty('boundingClientRect')) {\n this._cache.boundingClientRect = this.actualNode.getBoundingClientRect();\n }\n return this._cache.boundingClientRect;\n }\n } ]);\n }(abstract_virtual_node_default);\n var virtual_node_default = VirtualNode;\n function tokenList(str) {\n return (str || '').trim().replace(/\\s{2,}/g, ' ').split(' ');\n }\n var token_list_default = tokenList;\n var idsKey = ' [idsMap]';\n function getNodesMatchingExpression(domTree, expressions, filter) {\n var selectorMap = domTree[0]._selectorMap;\n if (!selectorMap) {\n return;\n }\n var shadowId = domTree[0].shadowId;\n for (var _i19 = 0; _i19 < expressions.length; _i19++) {\n if (expressions[_i19].length > 1 && expressions[_i19].some(function(expression) {\n return isGlobalSelector(expression);\n })) {\n return;\n }\n }\n var nodeSet = new Set();\n expressions.forEach(function(expression) {\n var _matchingNodes$nodes;\n var matchingNodes = findMatchingNodes(expression, selectorMap, shadowId);\n matchingNodes === null || matchingNodes === void 0 || (_matchingNodes$nodes = matchingNodes.nodes) === null || _matchingNodes$nodes === void 0 || _matchingNodes$nodes.forEach(function(node) {\n if (matchingNodes.isComplexSelector && !_matchesExpression(node, expression)) {\n return;\n }\n nodeSet.add(node);\n });\n });\n var matchedNodes = [];\n nodeSet.forEach(function(node) {\n return matchedNodes.push(node);\n });\n if (filter) {\n matchedNodes = matchedNodes.filter(filter);\n }\n return matchedNodes.sort(function(a2, b2) {\n return a2.nodeIndex - b2.nodeIndex;\n });\n }\n function findMatchingNodes(expression, selectorMap, shadowId) {\n var exp = expression[expression.length - 1];\n var nodes = null;\n var isComplexSelector = expression.length > 1 || !!exp.pseudos || !!exp.classes;\n if (isGlobalSelector(exp)) {\n nodes = selectorMap['*'];\n } else {\n if (exp.id) {\n var _selectorMap$idsKey$e;\n if (!selectorMap[idsKey] || !Object.hasOwn(selectorMap[idsKey], exp.id) || !((_selectorMap$idsKey$e = selectorMap[idsKey][exp.id]) !== null && _selectorMap$idsKey$e !== void 0 && _selectorMap$idsKey$e.length)) {\n return;\n }\n nodes = selectorMap[idsKey][exp.id].filter(function(node) {\n return node.shadowId === shadowId;\n });\n }\n if (exp.tag && exp.tag !== '*') {\n var _selectorMap$exp$tag;\n if (!((_selectorMap$exp$tag = selectorMap[exp.tag]) !== null && _selectorMap$exp$tag !== void 0 && _selectorMap$exp$tag.length)) {\n return;\n }\n var cachedNodes = selectorMap[exp.tag];\n nodes = nodes ? getSharedValues(cachedNodes, nodes) : cachedNodes;\n }\n if (exp.classes) {\n var _selectorMap$Class;\n if (!((_selectorMap$Class = selectorMap['[class]']) !== null && _selectorMap$Class !== void 0 && _selectorMap$Class.length)) {\n return;\n }\n var _cachedNodes = selectorMap['[class]'];\n nodes = nodes ? getSharedValues(_cachedNodes, nodes) : _cachedNodes;\n }\n if (exp.attributes) {\n for (var _i20 = 0; _i20 < exp.attributes.length; _i20++) {\n var _selectorMap;\n var attr = exp.attributes[_i20];\n if (attr.type === 'attrValue') {\n isComplexSelector = true;\n }\n if (!((_selectorMap = selectorMap['['.concat(attr.key, ']')]) !== null && _selectorMap !== void 0 && _selectorMap.length)) {\n return;\n }\n var _cachedNodes2 = selectorMap['['.concat(attr.key, ']')];\n nodes = nodes ? getSharedValues(_cachedNodes2, nodes) : _cachedNodes2;\n }\n }\n }\n return {\n nodes: nodes,\n isComplexSelector: isComplexSelector\n };\n }\n function isGlobalSelector(expression) {\n return expression.tag === '*' && !expression.attributes && !expression.id && !expression.classes;\n }\n function getSharedValues(a2, b2) {\n return a2.filter(function(node) {\n return b2.includes(node);\n });\n }\n function cacheSelector(key, vNode, map) {\n if (!Object.hasOwn(map, key)) {\n map[key] = [];\n }\n map[key].push(vNode);\n }\n function cacheNodeSelectors(vNode, selectorMap) {\n if (vNode.props.nodeType !== 1) {\n return;\n }\n cacheSelector(vNode.props.nodeName, vNode, selectorMap);\n cacheSelector('*', vNode, selectorMap);\n vNode.attrNames.forEach(function(attrName) {\n if (attrName === 'id') {\n selectorMap[idsKey] = selectorMap[idsKey] || {};\n token_list_default(vNode.attr(attrName)).forEach(function(value) {\n cacheSelector(value, vNode, selectorMap[idsKey]);\n });\n }\n cacheSelector('['.concat(attrName, ']'), vNode, selectorMap);\n });\n }\n var hasShadowRoot;\n function _getFlattenedTree() {\n var node = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.documentElement;\n var shadowId = arguments.length > 1 ? arguments[1] : undefined;\n hasShadowRoot = false;\n var selectorMap = {};\n cache_default.set('nodeMap', new WeakMap());\n cache_default.set('selectorMap', selectorMap);\n var tree = flattenTree(node, shadowId, null);\n tree[0]._selectorMap = selectorMap;\n tree[0]._hasShadowRoot = hasShadowRoot;\n return tree;\n }\n function getSlotChildren(node) {\n var retVal = [];\n node = node.firstChild;\n while (node) {\n retVal.push(node);\n node = node.nextSibling;\n }\n return retVal;\n }\n function createNode(node, parent, shadowId) {\n var vNode = new virtual_node_default(node, parent, shadowId);\n cacheNodeSelectors(vNode, cache_default.get('selectorMap'));\n return vNode;\n }\n function flattenTree(node, shadowId, parent) {\n var retVal, realArray, nodeName2;\n function reduceShadowDOM(res, child, parentVNode) {\n var replacements = flattenTree(child, shadowId, parentVNode);\n if (replacements) {\n res = res.concat(replacements);\n }\n return res;\n }\n if (node.documentElement) {\n node = node.documentElement;\n }\n nodeName2 = node.nodeName.toLowerCase();\n if (is_shadow_root_default(node)) {\n hasShadowRoot = true;\n retVal = createNode(node, parent, shadowId);\n shadowId = 'a' + Math.random().toString().substring(2);\n realArray = Array.from(node.shadowRoot.childNodes);\n retVal.children = realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, retVal);\n }, []);\n return [ retVal ];\n } else {\n if (nodeName2 === 'content' && typeof node.getDistributedNodes === 'function') {\n realArray = Array.from(node.getDistributedNodes());\n return realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, parent);\n }, []);\n } else if (nodeName2 === 'slot' && typeof node.assignedNodes === 'function') {\n realArray = Array.from(node.assignedNodes());\n if (!realArray.length) {\n realArray = getSlotChildren(node);\n }\n var styl = window.getComputedStyle(node);\n if (false) {\n retVal = createNode(node, parent, shadowId);\n retVal.children = realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, retVal);\n }, []);\n return [ retVal ];\n } else {\n return realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, parent);\n }, []);\n }\n } else {\n if (node.nodeType === 1) {\n retVal = createNode(node, parent, shadowId);\n realArray = Array.from(node.childNodes);\n retVal.children = realArray.reduce(function(res, child) {\n return reduceShadowDOM(res, child, retVal);\n }, []);\n return [ retVal ];\n } else if (node.nodeType === 3) {\n return [ createNode(node, parent) ];\n }\n return void 0;\n }\n }\n }\n function getBaseLang(lang) {\n if (!lang) {\n return '';\n }\n return lang.trim().split('-')[0].toLowerCase();\n }\n var get_base_lang_default = getBaseLang;\n function failureSummary(nodeData) {\n var failingChecks = {};\n failingChecks.none = nodeData.none.concat(nodeData.all);\n failingChecks.any = nodeData.any;\n return Object.keys(failingChecks).map(function(key) {\n if (!failingChecks[key].length) {\n return;\n }\n var sum = axe._audit.data.failureSummaries[key];\n if (sum && typeof sum.failureMessage === 'function') {\n return sum.failureMessage(failingChecks[key].map(function(check) {\n return check.message || '';\n }));\n }\n }).filter(function(i) {\n return i !== void 0;\n }).join('\\n\\n');\n }\n var failure_summary_default = failureSummary;\n function incompleteFallbackMessage() {\n var message = axe._audit.data.incompleteFallbackMessage;\n if (typeof message === 'function') {\n message = message();\n }\n if (typeof message !== 'string') {\n return '';\n }\n return message;\n }\n var resultKeys = constants_default.resultGroups;\n function processAggregate(results, options) {\n var resultObject = axe.utils.aggregateResult(results);\n resultKeys.forEach(function(key) {\n if (options.resultTypes && !options.resultTypes.includes(key)) {\n (resultObject[key] || []).forEach(function(ruleResult) {\n if (Array.isArray(ruleResult.nodes) && ruleResult.nodes.length > 0) {\n ruleResult.nodes = [ ruleResult.nodes[0] ];\n }\n });\n }\n resultObject[key] = (resultObject[key] || []).map(function(ruleResult) {\n ruleResult = Object.assign({}, ruleResult);\n if (Array.isArray(ruleResult.nodes) && ruleResult.nodes.length > 0) {\n ruleResult.nodes = ruleResult.nodes.map(function(subResult) {\n if (_typeof(subResult.node) === 'object') {\n var serialElm = trimElementSpec(subResult.node, options);\n Object.assign(subResult, serialElm);\n }\n delete subResult.result;\n delete subResult.node;\n normalizeRelatedNodes(subResult, options);\n return subResult;\n });\n }\n resultKeys.forEach(function(resultKey) {\n return delete ruleResult[resultKey];\n });\n delete ruleResult.pageLevel;\n delete ruleResult.result;\n return ruleResult;\n });\n });\n return resultObject;\n }\n function normalizeRelatedNodes(node, options) {\n [ 'any', 'all', 'none' ].forEach(function(type2) {\n if (!Array.isArray(node[type2])) {\n return;\n }\n node[type2].filter(function(checkRes) {\n return Array.isArray(checkRes.relatedNodes);\n }).forEach(function(checkRes) {\n checkRes.relatedNodes = checkRes.relatedNodes.map(function(relatedNode) {\n return trimElementSpec(relatedNode, options);\n });\n });\n });\n }\n function trimElementSpec() {\n var elmSpec = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var runOptions = arguments.length > 1 ? arguments[1] : undefined;\n elmSpec = node_serializer_default.dqElmToSpec(elmSpec, runOptions);\n var serialElm = {};\n if (axe._audit.noHtml) {\n serialElm.html = null;\n } else {\n var _elmSpec$source;\n serialElm.html = (_elmSpec$source = elmSpec.source) !== null && _elmSpec$source !== void 0 ? _elmSpec$source : 'Undefined';\n }\n if (runOptions.elementRef && !elmSpec.fromFrame) {\n var _elmSpec$element;\n serialElm.element = (_elmSpec$element = elmSpec.element) !== null && _elmSpec$element !== void 0 ? _elmSpec$element : null;\n }\n if (runOptions.selectors !== false || elmSpec.fromFrame) {\n var _elmSpec$selector;\n serialElm.target = (_elmSpec$selector = elmSpec.selector) !== null && _elmSpec$selector !== void 0 ? _elmSpec$selector : [ ':root' ];\n }\n if (runOptions.ancestry) {\n var _elmSpec$ancestry;\n serialElm.ancestry = (_elmSpec$ancestry = elmSpec.ancestry) !== null && _elmSpec$ancestry !== void 0 ? _elmSpec$ancestry : [ ':root' ];\n }\n if (runOptions.xpath) {\n var _elmSpec$xpath;\n serialElm.xpath = (_elmSpec$xpath = elmSpec.xpath) !== null && _elmSpec$xpath !== void 0 ? _elmSpec$xpath : [ '/' ];\n }\n return serialElm;\n }\n var dataRegex = /\\$\\{\\s?data\\s?\\}/g;\n function substitute(str, data) {\n if (typeof data === 'string') {\n return str.replace(dataRegex, data);\n }\n for (var prop in data) {\n if (data.hasOwnProperty(prop)) {\n var regex = new RegExp('\\\\${\\\\s?data\\\\.' + prop + '\\\\s?}', 'g');\n var replace = typeof data[prop] === 'undefined' ? '' : String(data[prop]);\n str = str.replace(regex, replace);\n }\n }\n return str;\n }\n function processMessage(message, data) {\n if (!message) {\n return;\n }\n if (Array.isArray(data)) {\n data.values = data.join(', ');\n if (typeof message.singular === 'string' && typeof message.plural === 'string') {\n var str2 = data.length === 1 ? message.singular : message.plural;\n return substitute(str2, data);\n }\n return substitute(message, data);\n }\n if (typeof message === 'string') {\n return substitute(message, data);\n }\n if (typeof data === 'string') {\n var _str = message[data];\n return substitute(_str, data);\n }\n var str = message['default'] || incompleteFallbackMessage();\n if (data && data.messageKey && message[data.messageKey]) {\n str = message[data.messageKey];\n }\n return processMessage(str, data);\n }\n var process_message_default = processMessage;\n function getCheckMessage(checkId, type2, data) {\n var check = axe._audit.data.checks[checkId];\n if (!check) {\n throw new Error('Cannot get message for unknown check: '.concat(checkId, '.'));\n }\n if (!check.messages[type2]) {\n throw new Error('Check \"'.concat(checkId, '\"\" does not have a \"').concat(type2, '\" message.'));\n }\n return process_message_default(check.messages[type2], data);\n }\n var get_check_message_default = getCheckMessage;\n function getCheckOption(check, ruleID, options) {\n var ruleCheckOption = ((options.rules && options.rules[ruleID] || {}).checks || {})[check.id];\n var checkOption = (options.checks || {})[check.id];\n var enabled = check.enabled;\n var opts = check.options;\n if (checkOption) {\n if (checkOption.hasOwnProperty('enabled')) {\n enabled = checkOption.enabled;\n }\n if (checkOption.hasOwnProperty('options')) {\n opts = checkOption.options;\n }\n }\n if (ruleCheckOption) {\n if (ruleCheckOption.hasOwnProperty('enabled')) {\n enabled = ruleCheckOption.enabled;\n }\n if (ruleCheckOption.hasOwnProperty('options')) {\n opts = ruleCheckOption.options;\n }\n }\n return {\n enabled: enabled,\n options: opts,\n absolutePaths: options.absolutePaths\n };\n }\n var get_check_option_default = getCheckOption;\n function _getEnvironmentData() {\n var _win$location;\n var metadata = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var win = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;\n if (metadata && _typeof(metadata) === 'object') {\n return metadata;\n } else if (_typeof(win) !== 'object') {\n return {};\n }\n return {\n testEngine: {\n name: 'axe-core',\n version: axe.version\n },\n testRunner: {\n name: axe._audit.brand\n },\n testEnvironment: getTestEnvironment(win),\n timestamp: new Date().toISOString(),\n url: (_win$location = win.location) === null || _win$location === void 0 ? void 0 : _win$location.href\n };\n }\n function getTestEnvironment(win) {\n if (!win.navigator || _typeof(win.navigator) !== 'object') {\n return {};\n }\n var navigator2 = win.navigator, innerHeight = win.innerHeight, innerWidth = win.innerWidth;\n var _ref65 = getOrientation(win) || {}, angle = _ref65.angle, type2 = _ref65.type;\n return {\n userAgent: navigator2.userAgent,\n windowWidth: innerWidth,\n windowHeight: innerHeight,\n orientationAngle: angle,\n orientationType: type2\n };\n }\n function getOrientation(_ref66) {\n var screen = _ref66.screen;\n return screen.orientation || screen.msOrientation || screen.mozOrientation;\n }\n function createFrameContext(frame, _ref67) {\n var focusable = _ref67.focusable, page = _ref67.page;\n return {\n node: frame,\n include: [],\n exclude: [],\n initiator: false,\n focusable: focusable && frameFocusable(frame),\n size: getBoundingSize(frame),\n page: page\n };\n }\n function frameFocusable(frame) {\n var tabIndex = frame.getAttribute('tabindex');\n if (!tabIndex) {\n return true;\n }\n var _int = parseInt(tabIndex, 10);\n return isNaN(_int) || _int >= 0;\n }\n function getBoundingSize(domNode) {\n var width = parseInt(domNode.getAttribute('width'), 10);\n var height = parseInt(domNode.getAttribute('height'), 10);\n if (isNaN(width) || isNaN(height)) {\n var rect = domNode.getBoundingClientRect();\n width = isNaN(width) ? rect.width : width;\n height = isNaN(height) ? rect.height : height;\n }\n return {\n width: width,\n height: height\n };\n }\n function normalizeContext(contextSpec) {\n if (isContextObject(contextSpec)) {\n var msg = ' must be used inside include or exclude. It should not be on the same object.';\n assert2(!objectHasOwn(contextSpec, 'fromFrames'), 'fromFrames' + msg);\n assert2(!objectHasOwn(contextSpec, 'fromShadowDom'), 'fromShadowDom' + msg);\n } else if (isContextProp(contextSpec)) {\n contextSpec = {\n include: contextSpec,\n exclude: []\n };\n } else {\n return {\n include: [ document ],\n exclude: []\n };\n }\n var include = normalizeContextList(contextSpec.include);\n if (include.length === 0) {\n include.push(document);\n }\n var exclude = normalizeContextList(contextSpec.exclude);\n return {\n include: include,\n exclude: exclude\n };\n }\n function isContextSpec(contextSpec) {\n return isContextObject(contextSpec) || isContextProp(contextSpec);\n }\n function normalizeContextList() {\n var selectorList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var normalizedList = [];\n if (!isArrayLike(selectorList)) {\n selectorList = [ selectorList ];\n }\n for (var _i21 = 0; _i21 < selectorList.length; _i21++) {\n var normalizedSelector = normalizeContextSelector(selectorList[_i21]);\n if (normalizedSelector) {\n normalizedList.push(normalizedSelector);\n }\n }\n return normalizedList;\n }\n function normalizeContextSelector(selector) {\n if (selector instanceof window.Node) {\n return selector;\n }\n if (typeof selector === 'string') {\n return [ selector ];\n }\n if (isLabelledFramesSelector(selector)) {\n assertLabelledFrameSelector(selector);\n selector = selector.fromFrames;\n } else if (isLabelledShadowDomSelector(selector)) {\n selector = [ selector ];\n }\n return normalizeFrameSelectors(selector);\n }\n function normalizeFrameSelectors(frameSelectors) {\n if (!Array.isArray(frameSelectors)) {\n return;\n }\n var normalizedSelectors = [];\n var _iterator11 = _createForOfIteratorHelper(frameSelectors), _step11;\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done; ) {\n var selector = _step11.value;\n if (isLabelledShadowDomSelector(selector)) {\n assertLabelledShadowDomSelector(selector);\n selector = selector.fromShadowDom;\n }\n if (typeof selector !== 'string' && !isShadowSelector(selector)) {\n return;\n }\n normalizedSelectors.push(selector);\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n return normalizedSelectors;\n }\n function isContextObject(contextSpec) {\n return [ 'include', 'exclude' ].some(function(prop) {\n return objectHasOwn(contextSpec, prop) && isContextProp(contextSpec[prop]);\n });\n }\n function isContextProp(contextList) {\n return typeof contextList === 'string' || contextList instanceof window.Node || isLabelledFramesSelector(contextList) || isLabelledShadowDomSelector(contextList) || isArrayLike(contextList);\n }\n function isLabelledFramesSelector(selector) {\n return objectHasOwn(selector, 'fromFrames');\n }\n function isLabelledShadowDomSelector(selector) {\n return objectHasOwn(selector, 'fromShadowDom');\n }\n function assertLabelledFrameSelector(selector) {\n assert2(Array.isArray(selector.fromFrames), 'fromFrames property must be an array');\n assert2(selector.fromFrames.every(function(fromFrameSelector) {\n return !objectHasOwn(fromFrameSelector, 'fromFrames');\n }), 'Invalid context; fromFrames selector must be appended, rather than nested');\n assert2(!objectHasOwn(selector, 'fromShadowDom'), 'fromFrames and fromShadowDom cannot be used on the same object');\n }\n function assertLabelledShadowDomSelector(selector) {\n assert2(Array.isArray(selector.fromShadowDom), 'fromShadowDom property must be an array');\n assert2(selector.fromShadowDom.every(function(fromShadowDomSelector) {\n return !objectHasOwn(fromShadowDomSelector, 'fromFrames');\n }), 'shadow selector must be inside fromFrame instead');\n assert2(selector.fromShadowDom.every(function(fromShadowDomSelector) {\n return !objectHasOwn(fromShadowDomSelector, 'fromShadowDom');\n }), 'fromShadowDom selector must be appended, rather than nested');\n }\n function isShadowSelector(selector) {\n return Array.isArray(selector) && selector.every(function(str) {\n return typeof str === 'string';\n });\n }\n function isArrayLike(arr) {\n return arr && _typeof(arr) === 'object' && typeof arr.length === 'number' && arr instanceof window.Node === false;\n }\n function assert2(bool, str) {\n assert_default(bool, 'Invalid context; '.concat(str, '\\nSee: https://github.com/dequelabs/axe-core/blob/master/doc/context.md'));\n }\n function objectHasOwn(obj, prop) {\n if (!obj || _typeof(obj) !== 'object') {\n return false;\n }\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n function parseSelectorArray(context, type2) {\n var result = [];\n for (var _i22 = 0, l = context[type2].length; _i22 < l; _i22++) {\n var item = context[type2][_i22];\n if (item instanceof window.Node) {\n if (item.documentElement instanceof window.Node) {\n result.push(context.flatTree[0]);\n } else {\n result.push(get_node_from_tree_default(item));\n }\n } else if (item && item.length) {\n if (item.length > 1) {\n pushUniqueFrameSelector(context, type2, item);\n } else {\n var nodeList = _shadowSelectAll(item[0]);\n result.push.apply(result, _toConsumableArray(nodeList.map(function(node) {\n return get_node_from_tree_default(node);\n })));\n }\n }\n }\n return result.filter(function(r) {\n return r;\n });\n }\n function pushUniqueFrameSelector(context, type2, selectorArray) {\n context.frames = context.frames || [];\n var frameSelector = selectorArray.shift();\n var frames = _shadowSelectAll(frameSelector);\n frames.forEach(function(frame) {\n var frameContext = context.frames.find(function(result) {\n return result.node === frame;\n });\n if (!frameContext) {\n frameContext = createFrameContext(frame, context);\n context.frames.push(frameContext);\n }\n frameContext[type2].push(selectorArray);\n });\n }\n function Context(spec, flatTree) {\n var _spec, _spec2, _spec3, _spec4, _this5 = this;\n spec = _clone(spec);\n this.frames = [];\n this.page = typeof ((_spec = spec) === null || _spec === void 0 ? void 0 : _spec.page) === 'boolean' ? spec.page : void 0;\n this.initiator = typeof ((_spec2 = spec) === null || _spec2 === void 0 ? void 0 : _spec2.initiator) === 'boolean' ? spec.initiator : true;\n this.focusable = typeof ((_spec3 = spec) === null || _spec3 === void 0 ? void 0 : _spec3.focusable) === 'boolean' ? spec.focusable : true;\n this.size = _typeof((_spec4 = spec) === null || _spec4 === void 0 ? void 0 : _spec4.size) === 'object' ? spec.size : {};\n spec = normalizeContext(spec);\n this.flatTree = flatTree !== null && flatTree !== void 0 ? flatTree : _getFlattenedTree(getRootNode2(spec));\n this.exclude = spec.exclude;\n this.include = spec.include;\n this.include = parseSelectorArray(this, 'include');\n this.exclude = parseSelectorArray(this, 'exclude');\n _select('frame, iframe', this).forEach(function(frame) {\n if (_isNodeInContext(frame, _this5)) {\n pushUniqueFrame(_this5, frame.actualNode);\n }\n });\n if (typeof this.page === 'undefined') {\n this.page = isPageContext(this);\n this.frames.forEach(function(frame) {\n frame.page = _this5.page;\n });\n }\n validateContext(this);\n if (!Array.isArray(this.include)) {\n this.include = Array.from(this.include);\n }\n this.include.sort(node_sorter_default);\n }\n function pushUniqueFrame(context, frame) {\n if (!_isVisibleToScreenReaders(frame) || find_by_default(context.frames, 'node', frame)) {\n return;\n }\n context.frames.push(createFrameContext(frame, context));\n }\n function isPageContext(_ref68) {\n var include = _ref68.include;\n return include.length === 1 && include[0].actualNode === document.documentElement;\n }\n function validateContext(context) {\n if (context.include.length === 0 && context.frames.length === 0) {\n var env = _respondable.isInFrame() ? 'frame' : 'page';\n throw new Error('No elements found for include in ' + env + ' Context');\n }\n }\n function getRootNode2(_ref69) {\n var include = _ref69.include, exclude = _ref69.exclude;\n var selectors = Array.from(include).concat(Array.from(exclude));\n for (var _i23 = 0; _i23 < selectors.length; _i23++) {\n var item = selectors[_i23];\n if (item instanceof window.Element) {\n return item.ownerDocument.documentElement;\n }\n if (item instanceof window.Document) {\n return item.documentElement;\n }\n }\n return document.documentElement;\n }\n function _getFrameContexts(context) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (options.iframes === false) {\n return [];\n }\n var _Context = new Context(context), frames = _Context.frames;\n return frames.map(function(_ref70) {\n var node = _ref70.node, frameContext = _objectWithoutProperties(_ref70, _excluded14);\n frameContext.initiator = false;\n var frameSelector = _getAncestry(node);\n return {\n frameSelector: frameSelector,\n frameContext: frameContext\n };\n });\n }\n function _getRule(ruleId) {\n var rule = axe._audit.rules.find(function(_ref71) {\n var id = _ref71.id;\n return id === ruleId;\n });\n if (!rule) {\n throw new Error('Cannot find rule by id: '.concat(ruleId));\n }\n return rule;\n }\n function getScroll(elm) {\n var buffer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var overflowX = elm.scrollWidth > elm.clientWidth + buffer;\n var overflowY = elm.scrollHeight > elm.clientHeight + buffer;\n if (!(overflowX || overflowY)) {\n return;\n }\n var style = window.getComputedStyle(elm);\n var scrollableX = isScrollable(style, 'overflow-x');\n var scrollableY = isScrollable(style, 'overflow-y');\n if (overflowX && scrollableX || overflowY && scrollableY) {\n return {\n elm: elm,\n top: elm.scrollTop,\n left: elm.scrollLeft\n };\n }\n }\n function isScrollable(style, prop) {\n var overflowProp = style.getPropertyValue(prop);\n return [ 'scroll', 'auto' ].includes(overflowProp);\n }\n var get_scroll_default = memoize_default(getScroll);\n function getElmScrollRecursive(root) {\n return Array.from(root.children || root.childNodes || []).reduce(function(scrolls, elm) {\n var scroll = get_scroll_default(elm);\n if (scroll) {\n scrolls.push(scroll);\n }\n return scrolls.concat(getElmScrollRecursive(elm));\n }, []);\n }\n function getScrollState() {\n var win = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;\n var root = win.document.documentElement;\n var windowScroll = [ win.pageXOffset !== void 0 ? {\n elm: win,\n top: win.pageYOffset,\n left: win.pageXOffset\n } : {\n elm: root,\n top: root.scrollTop,\n left: root.scrollLeft\n } ];\n return windowScroll.concat(getElmScrollRecursive(document.body));\n }\n var get_scroll_state_default = getScrollState;\n function _getStandards() {\n return _clone(standards_default);\n }\n function getStyleSheetFactory(dynamicDoc) {\n if (!dynamicDoc) {\n throw new Error('axe.utils.getStyleSheetFactory should be invoked with an argument');\n }\n return function(options) {\n var data = options.data, _options$isCrossOrigi = options.isCrossOrigin, isCrossOrigin = _options$isCrossOrigi === void 0 ? false : _options$isCrossOrigi, shadowId = options.shadowId, root = options.root, priority = options.priority, _options$isLink = options.isLink, isLink = _options$isLink === void 0 ? false : _options$isLink;\n var style = dynamicDoc.createElement('style');\n if (isLink) {\n var text = dynamicDoc.createTextNode('@import \"'.concat(data.href, '\"'));\n style.appendChild(text);\n } else {\n style.appendChild(dynamicDoc.createTextNode(data));\n }\n dynamicDoc.head.appendChild(style);\n return {\n sheet: style.sheet,\n isCrossOrigin: isCrossOrigin,\n shadowId: shadowId,\n root: root,\n priority: priority\n };\n };\n }\n var get_stylesheet_factory_default = getStyleSheetFactory;\n var styleSheet;\n function injectStyle(style) {\n if (styleSheet && styleSheet.parentNode) {\n if (styleSheet.styleSheet === void 0) {\n styleSheet.appendChild(document.createTextNode(style));\n } else {\n styleSheet.styleSheet.cssText += style;\n }\n return styleSheet;\n }\n if (!style) {\n return;\n }\n var head = document.head || document.getElementsByTagName('head')[0];\n styleSheet = document.createElement('style');\n styleSheet.type = 'text/css';\n if (styleSheet.styleSheet === void 0) {\n styleSheet.appendChild(document.createTextNode(style));\n } else {\n styleSheet.styleSheet.cssText = style;\n }\n head.appendChild(styleSheet);\n return styleSheet;\n }\n var inject_style_default = injectStyle;\n function isHidden(el, recursed) {\n var node = get_node_from_tree_default(el);\n if (el.nodeType === 9) {\n return false;\n }\n if (el.nodeType === 11) {\n el = el.host;\n }\n if (node && node._isHidden !== null) {\n return node._isHidden;\n }\n var style = window.getComputedStyle(el, null);\n if (!style || !el.parentNode || style.getPropertyValue('display') === 'none' || !recursed && style.getPropertyValue('visibility') === 'hidden' || el.getAttribute('aria-hidden') === 'true') {\n return true;\n }\n var parent = el.assignedSlot ? el.assignedSlot : el.parentNode;\n var hidden = isHidden(parent, true);\n if (node) {\n node._isHidden = hidden;\n }\n return hidden;\n }\n var is_hidden_default = isHidden;\n function isHtmlElement(node) {\n var _node$props$nodeName, _node$props;\n var nodeName2 = (_node$props$nodeName = (_node$props = node.props) === null || _node$props === void 0 ? void 0 : _node$props.nodeName) !== null && _node$props$nodeName !== void 0 ? _node$props$nodeName : node.nodeName.toLowerCase();\n if (node.namespaceURI === 'http://www.w3.org/2000/svg') {\n return false;\n }\n return !!standards_default.htmlElms[nodeName2];\n }\n var is_html_element_default = isHtmlElement;\n function _isNodeInContext(node, _ref72) {\n var _ref72$include = _ref72.include, include = _ref72$include === void 0 ? [] : _ref72$include, _ref72$exclude = _ref72.exclude, exclude = _ref72$exclude === void 0 ? [] : _ref72$exclude;\n var filterInclude = include.filter(function(candidate) {\n return _contains(candidate, node);\n });\n if (filterInclude.length === 0) {\n return false;\n }\n var filterExcluded = exclude.filter(function(candidate) {\n return _contains(candidate, node);\n });\n if (filterExcluded.length === 0) {\n return true;\n }\n var deepestInclude = getDeepest(filterInclude);\n var deepestExclude = getDeepest(filterExcluded);\n return _contains(deepestExclude, deepestInclude);\n }\n function getDeepest(collection) {\n var deepest;\n var _iterator12 = _createForOfIteratorHelper(collection), _step12;\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done; ) {\n var node = _step12.value;\n if (!deepest || !_contains(node, deepest)) {\n deepest = node;\n }\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n return deepest;\n }\n function _matchAncestry(ancestryA, ancestryB) {\n if (ancestryA.length !== ancestryB.length) {\n return false;\n }\n return ancestryA.every(function(selectorA, ancestorIndex) {\n var selectorB = ancestryB[ancestorIndex];\n if (!Array.isArray(selectorA)) {\n return selectorA === selectorB;\n }\n if (selectorA.length !== selectorB.length) {\n return false;\n }\n return selectorA.every(function(str, selectorIndex) {\n return selectorB[selectorIndex] === str;\n });\n });\n }\n function nodeSorter(nodeA, nodeB) {\n nodeA = nodeA.actualNode || nodeA;\n nodeB = nodeB.actualNode || nodeB;\n if (nodeA === nodeB) {\n return 0;\n }\n if (nodeA.compareDocumentPosition(nodeB) & 4) {\n return -1;\n } else {\n return 1;\n }\n }\n var node_sorter_default = nodeSorter;\n function _nodeLookup(node) {\n if (node instanceof abstract_virtual_node_default) {\n return {\n vNode: node,\n domNode: node.actualNode\n };\n }\n return {\n vNode: get_node_from_tree_default(node),\n domNode: node\n };\n }\n function parseSameOriginStylesheet(sheet, options, priority, importedUrls) {\n var isCrossOrigin = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var rules = Array.from(sheet.cssRules);\n if (!rules) {\n return Promise.resolve();\n }\n var cssImportRules = rules.filter(function(r) {\n return r.type === 3;\n });\n if (!cssImportRules.length) {\n return Promise.resolve({\n isCrossOrigin: isCrossOrigin,\n priority: priority,\n root: options.rootNode,\n shadowId: options.shadowId,\n sheet: sheet\n });\n }\n var cssImportUrlsNotAlreadyImported = cssImportRules.filter(function(rule) {\n return rule.href;\n }).map(function(rule) {\n return rule.href;\n }).filter(function(url) {\n return !importedUrls.includes(url);\n });\n var promises = cssImportUrlsNotAlreadyImported.map(function(importUrl, cssRuleIndex) {\n var newPriority = [].concat(_toConsumableArray(priority), [ cssRuleIndex ]);\n var isCrossOriginRequest = /^https?:\\/\\/|^\\/\\//i.test(importUrl);\n return parse_crossorigin_stylesheet_default(importUrl, options, newPriority, importedUrls, isCrossOriginRequest);\n });\n var nonImportCSSRules = rules.filter(function(r) {\n return r.type !== 3;\n });\n if (!nonImportCSSRules.length) {\n return Promise.all(promises);\n }\n promises.push(Promise.resolve(options.convertDataToStylesheet({\n data: nonImportCSSRules.map(function(rule) {\n return rule.cssText;\n }).join(),\n isCrossOrigin: isCrossOrigin,\n priority: priority,\n root: options.rootNode,\n shadowId: options.shadowId\n })));\n return Promise.all(promises);\n }\n var parse_sameorigin_stylesheet_default = parseSameOriginStylesheet;\n function parseStylesheet(sheet, options, priority, importedUrls) {\n var isCrossOrigin = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var isSameOrigin = isSameOriginStylesheet(sheet);\n if (isSameOrigin) {\n return parse_sameorigin_stylesheet_default(sheet, options, priority, importedUrls, isCrossOrigin);\n }\n return parse_crossorigin_stylesheet_default(sheet.href, options, priority, importedUrls, true);\n }\n function isSameOriginStylesheet(sheet) {\n try {\n var rules = sheet.cssRules;\n if (!rules && sheet.href) {\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n }\n var parse_stylesheet_default = parseStylesheet;\n function parseCrossOriginStylesheet(url, options, priority, importedUrls, isCrossOrigin) {\n importedUrls.push(url);\n return new Promise(function(resolve, reject) {\n var request = new window.XMLHttpRequest();\n request.open('GET', url);\n request.timeout = constants_default.preload.timeout;\n request.addEventListener('error', reject);\n request.addEventListener('timeout', reject);\n request.addEventListener('loadend', function(event) {\n if (event.loaded && request.responseText) {\n return resolve(request.responseText);\n }\n reject(request.responseText);\n });\n request.send();\n }).then(function(data) {\n var result = options.convertDataToStylesheet({\n data: data,\n isCrossOrigin: isCrossOrigin,\n priority: priority,\n root: options.rootNode,\n shadowId: options.shadowId\n });\n return parse_stylesheet_default(result.sheet, options, priority, importedUrls, result.isCrossOrigin);\n });\n }\n var parse_crossorigin_stylesheet_default = parseCrossOriginStylesheet;\n var performanceTimer = function() {\n function now() {\n if (window.performance && window.performance) {\n return window.performance.now();\n }\n }\n var originalTime = null;\n var lastRecordedTime = now();\n return {\n start: function start() {\n this.mark('mark_axe_start');\n },\n end: function end() {\n this.mark('mark_axe_end');\n this.measure('axe', 'mark_axe_start', 'mark_axe_end');\n this.logMeasures('axe');\n },\n auditStart: function auditStart() {\n this.mark('mark_audit_start');\n },\n auditEnd: function auditEnd() {\n this.mark('mark_audit_end');\n this.measure('audit_start_to_end', 'mark_audit_start', 'mark_audit_end');\n this.logMeasures();\n },\n mark: function mark(markName) {\n if (window.performance && window.performance.mark !== void 0) {\n window.performance.mark(markName);\n }\n },\n measure: function measure(measureName, startMark, endMark) {\n if (window.performance && window.performance.measure !== void 0) {\n window.performance.measure(measureName, startMark, endMark);\n }\n },\n logMeasures: function logMeasures(measureName) {\n function logMeasure(req2) {\n log_default('Measure ' + req2.name + ' took ' + req2.duration + 'ms');\n }\n if (window.performance && window.performance.getEntriesByType !== void 0) {\n var axeStart = window.performance.getEntriesByName('mark_axe_start')[0];\n var measures = window.performance.getEntriesByType('measure').filter(function(measure) {\n return measure.startTime >= axeStart.startTime;\n });\n for (var i = 0; i < measures.length; ++i) {\n var req = measures[i];\n if (req.name === measureName) {\n logMeasure(req);\n return;\n }\n logMeasure(req);\n }\n }\n },\n timeElapsed: function timeElapsed() {\n return now() - lastRecordedTime;\n },\n reset: function reset() {\n if (!originalTime) {\n originalTime = now();\n }\n lastRecordedTime = now();\n }\n };\n }();\n var performance_timer_default = performanceTimer;\n function _pollyfillElementsFromPoint() {\n if (document.elementsFromPoint) {\n return document.elementsFromPoint;\n }\n if (document.msElementsFromPoint) {\n return document.msElementsFromPoint;\n }\n var usePointer = function() {\n var element = document.createElement('x');\n element.style.cssText = 'pointer-events:auto';\n return element.style.pointerEvents === 'auto';\n }();\n var cssProp = usePointer ? 'pointer-events' : 'visibility';\n var cssDisableVal = usePointer ? 'none' : 'hidden';\n var style = document.createElement('style');\n style.innerHTML = usePointer ? '* { pointer-events: all }' : '* { visibility: visible }';\n return function(x, y) {\n var current, i, d2;\n var elements = [];\n var previousPointerEvents = [];\n document.head.appendChild(style);\n while ((current = document.elementFromPoint(x, y)) && elements.indexOf(current) === -1) {\n elements.push(current);\n previousPointerEvents.push({\n value: current.style.getPropertyValue(cssProp),\n priority: current.style.getPropertyPriority(cssProp)\n });\n current.style.setProperty(cssProp, cssDisableVal, 'important');\n }\n if (elements.indexOf(document.documentElement) < elements.length - 1) {\n elements.splice(elements.indexOf(document.documentElement), 1);\n elements.push(document.documentElement);\n }\n for (i = previousPointerEvents.length; !!(d2 = previousPointerEvents[--i]); ) {\n elements[i].style.setProperty(cssProp, d2.value ? d2.value : '', d2.priority);\n }\n document.head.removeChild(style);\n return elements;\n };\n }\n if (typeof window.addEventListener === 'function') {\n document.elementsFromPoint = _pollyfillElementsFromPoint();\n }\n function uniqueArray(arr1, arr2) {\n return arr1.concat(arr2).filter(function(elem, pos, arr) {\n return arr.indexOf(elem) === pos;\n });\n }\n var unique_array_default = uniqueArray;\n function createLocalVariables(vNodes, anyLevel, thisLevel, parentShadowId, recycledLocalVariable) {\n var retVal = recycledLocalVariable || {};\n retVal.vNodes = vNodes;\n retVal.vNodesIndex = 0;\n retVal.anyLevel = anyLevel;\n retVal.thisLevel = thisLevel;\n retVal.parentShadowId = parentShadowId;\n return retVal;\n }\n function matchExpressions(domTree, expressions, filter) {\n var recycledLocalVariables = cache_default.get('qsa.recycledLocalVariables', function() {\n return [];\n });\n var stack = [];\n var vNodes = Array.isArray(domTree) ? domTree : [ domTree ];\n var currentLevel = createLocalVariables(vNodes, expressions, null, domTree[0].shadowId, recycledLocalVariables.pop());\n var result = [];\n while (currentLevel.vNodesIndex < currentLevel.vNodes.length) {\n var _currentLevel$anyLeve, _currentLevel$thisLev;\n var vNode = currentLevel.vNodes[currentLevel.vNodesIndex++];\n var childOnly = null;\n var childAny = null;\n var combinedLength = (((_currentLevel$anyLeve = currentLevel.anyLevel) === null || _currentLevel$anyLeve === void 0 ? void 0 : _currentLevel$anyLeve.length) || 0) + (((_currentLevel$thisLev = currentLevel.thisLevel) === null || _currentLevel$thisLev === void 0 ? void 0 : _currentLevel$thisLev.length) || 0);\n var added = false;\n for (var _i24 = 0; _i24 < combinedLength; _i24++) {\n var _currentLevel$anyLeve2, _currentLevel$anyLeve3, _currentLevel$anyLeve4;\n var exp = _i24 < (((_currentLevel$anyLeve2 = currentLevel.anyLevel) === null || _currentLevel$anyLeve2 === void 0 ? void 0 : _currentLevel$anyLeve2.length) || 0) ? currentLevel.anyLevel[_i24] : currentLevel.thisLevel[_i24 - (((_currentLevel$anyLeve3 = currentLevel.anyLevel) === null || _currentLevel$anyLeve3 === void 0 ? void 0 : _currentLevel$anyLeve3.length) || 0)];\n if ((!exp[0].id || vNode.shadowId === currentLevel.parentShadowId) && _matchesExpression(vNode, exp[0])) {\n if (exp.length === 1) {\n if (!added && (!filter || filter(vNode))) {\n result.push(vNode);\n added = true;\n }\n } else {\n var rest = exp.slice(1);\n if ([ ' ', '>' ].includes(rest[0].combinator) === false) {\n throw new Error('axe.utils.querySelectorAll does not support the combinator: ' + exp[1].combinator);\n }\n if (rest[0].combinator === '>') {\n (childOnly = childOnly || []).push(rest);\n } else {\n (childAny = childAny || []).push(rest);\n }\n }\n }\n if ((!exp[0].id || vNode.shadowId === currentLevel.parentShadowId) && (_currentLevel$anyLeve4 = currentLevel.anyLevel) !== null && _currentLevel$anyLeve4 !== void 0 && _currentLevel$anyLeve4.includes(exp)) {\n (childAny = childAny || []).push(exp);\n }\n }\n if (vNode.children && vNode.children.length) {\n stack.push(currentLevel);\n currentLevel = createLocalVariables(vNode.children, childAny, childOnly, vNode.shadowId, recycledLocalVariables.pop());\n }\n while (currentLevel.vNodesIndex === currentLevel.vNodes.length && stack.length) {\n recycledLocalVariables.push(currentLevel);\n currentLevel = stack.pop();\n }\n }\n return result;\n }\n function querySelectorAllFilter(domTree, selector, filter) {\n domTree = Array.isArray(domTree) ? domTree : [ domTree ];\n var expressions = _convertSelector(selector);\n var nodes = getNodesMatchingExpression(domTree, expressions, filter);\n if (nodes) {\n return nodes;\n }\n return matchExpressions(domTree, expressions, filter);\n }\n var query_selector_all_filter_default = querySelectorAllFilter;\n function preloadCssom(_ref73) {\n var _ref73$treeRoot = _ref73.treeRoot, treeRoot = _ref73$treeRoot === void 0 ? axe._tree[0] : _ref73$treeRoot;\n var rootNodes = getAllRootNodesInTree(treeRoot);\n if (!rootNodes.length) {\n return Promise.resolve();\n }\n var dynamicDoc = document.implementation.createHTMLDocument('Dynamic document for loading cssom');\n var convertDataToStylesheet = get_stylesheet_factory_default(dynamicDoc);\n return getCssomForAllRootNodes(rootNodes, convertDataToStylesheet).then(function(assets) {\n return flattenAssets(assets);\n });\n }\n var preload_cssom_default = preloadCssom;\n function getAllRootNodesInTree(tree) {\n var ids = [];\n var rootNodes = query_selector_all_filter_default(tree, '*', function(node) {\n if (ids.includes(node.shadowId)) {\n return false;\n }\n ids.push(node.shadowId);\n return true;\n }).map(function(node) {\n return {\n shadowId: node.shadowId,\n rootNode: get_root_node_default(node.actualNode)\n };\n });\n return unique_array_default(rootNodes, []);\n }\n function getCssomForAllRootNodes(rootNodes, convertDataToStylesheet) {\n var promises = [];\n rootNodes.forEach(function(_ref74, index) {\n var rootNode = _ref74.rootNode, shadowId = _ref74.shadowId;\n var sheets = getStylesheetsOfRootNode(rootNode, shadowId, convertDataToStylesheet);\n if (!sheets) {\n return Promise.all(promises);\n }\n var rootIndex = index + 1;\n var parseOptions = {\n rootNode: rootNode,\n shadowId: shadowId,\n convertDataToStylesheet: convertDataToStylesheet,\n rootIndex: rootIndex\n };\n var importedUrls = [];\n var p2 = Promise.all(sheets.map(function(sheet, sheetIndex) {\n var priority = [ rootIndex, sheetIndex ];\n return parse_stylesheet_default(sheet, parseOptions, priority, importedUrls);\n }));\n promises.push(p2);\n });\n return Promise.all(promises);\n }\n function flattenAssets(assets) {\n return assets.reduce(function(acc, val) {\n return Array.isArray(val) ? acc.concat(flattenAssets(val)) : acc.concat(val);\n }, []);\n }\n function getStylesheetsOfRootNode(rootNode, shadowId, convertDataToStylesheet) {\n var sheets;\n if (rootNode.nodeType === 11 && shadowId) {\n sheets = getStylesheetsFromDocumentFragment(rootNode, convertDataToStylesheet);\n } else {\n sheets = getStylesheetsFromDocument(rootNode);\n }\n return filterStylesheetsWithSameHref(sheets);\n }\n function getStylesheetsFromDocumentFragment(rootNode, convertDataToStylesheet) {\n return Array.from(rootNode.children).filter(filerStyleAndLinkAttributesInDocumentFragment).reduce(function(out, node) {\n var nodeName2 = node.nodeName.toUpperCase();\n var data = nodeName2 === 'STYLE' ? node.textContent : node;\n var isLink = nodeName2 === 'LINK';\n var stylesheet = convertDataToStylesheet({\n data: data,\n isLink: isLink,\n root: rootNode\n });\n if (stylesheet.sheet) {\n out.push(stylesheet.sheet);\n }\n return out;\n }, []);\n }\n function getStylesheetsFromDocument(rootNode) {\n return Array.from(rootNode.styleSheets).filter(function(sheet) {\n if (!sheet.media) {\n return false;\n }\n return filterMediaIsPrint(sheet.media.mediaText);\n });\n }\n function filerStyleAndLinkAttributesInDocumentFragment(node) {\n var nodeName2 = node.nodeName.toUpperCase();\n var linkHref = node.getAttribute('href');\n var linkRel = node.getAttribute('rel');\n var isLink = nodeName2 === 'LINK' && linkHref && linkRel && node.rel.toUpperCase().includes('STYLESHEET');\n var isStyle = nodeName2 === 'STYLE';\n return isStyle || isLink && filterMediaIsPrint(node.media);\n }\n function filterMediaIsPrint(media) {\n if (!media) {\n return true;\n }\n return !media.toUpperCase().includes('PRINT');\n }\n function filterStylesheetsWithSameHref(sheets) {\n var hrefs = [];\n return sheets.filter(function(sheet) {\n if (!sheet.href) {\n return true;\n }\n if (hrefs.includes(sheet.href)) {\n return false;\n }\n hrefs.push(sheet.href);\n return true;\n });\n }\n function preloadMedia(_ref75) {\n var _ref75$treeRoot = _ref75.treeRoot, treeRoot = _ref75$treeRoot === void 0 ? axe._tree[0] : _ref75$treeRoot;\n var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video, audio', function(_ref76) {\n var actualNode = _ref76.actualNode;\n if (actualNode.hasAttribute('src')) {\n return !!actualNode.getAttribute('src');\n }\n var sourceWithSrc = Array.from(actualNode.getElementsByTagName('source')).filter(function(source) {\n return !!source.getAttribute('src');\n });\n if (sourceWithSrc.length <= 0) {\n return false;\n }\n return true;\n });\n return Promise.all(mediaVirtualNodes.map(function(_ref77) {\n var actualNode = _ref77.actualNode;\n return isMediaElementReady(actualNode);\n }));\n }\n var preload_media_default = preloadMedia;\n function isMediaElementReady(elm) {\n return new Promise(function(resolve) {\n if (elm.readyState > 0) {\n resolve(elm);\n }\n function onMediaReady() {\n elm.removeEventListener('loadedmetadata', onMediaReady);\n resolve(elm);\n }\n elm.addEventListener('loadedmetadata', onMediaReady);\n });\n }\n function _preload(options) {\n var preloadFunctionsMap = {\n cssom: preload_cssom_default,\n media: preload_media_default\n };\n if (!_shouldPreload(options)) {\n return Promise.resolve();\n }\n return new Promise(function(resolve, reject) {\n var _getPreloadConfig2 = _getPreloadConfig(options), assets = _getPreloadConfig2.assets, timeout = _getPreloadConfig2.timeout;\n var preloadTimeout = setTimeout(function() {\n return reject(new Error('Preload assets timed out.'));\n }, timeout);\n Promise.all(assets.map(function(asset) {\n return preloadFunctionsMap[asset](options).then(function(results) {\n return _defineProperty({}, asset, results);\n });\n })).then(function(results) {\n var preloadAssets = results.reduce(function(out, result) {\n return _extends({}, out, result);\n }, {});\n clearTimeout(preloadTimeout);\n resolve(preloadAssets);\n })['catch'](function(err2) {\n clearTimeout(preloadTimeout);\n reject(err2);\n });\n });\n }\n function isValidPreloadObject(preloadObj) {\n return _typeof(preloadObj) === 'object' && Array.isArray(preloadObj.assets);\n }\n function _shouldPreload(options) {\n if (!options || options.preload === void 0 || options.preload === null) {\n return true;\n }\n if (typeof options.preload === 'boolean') {\n return options.preload;\n }\n return isValidPreloadObject(options.preload);\n }\n function _getPreloadConfig(options) {\n var _constants_default$pr = constants_default.preload, assets = _constants_default$pr.assets, timeout = _constants_default$pr.timeout;\n var config = {\n assets: assets,\n timeout: timeout\n };\n if (!options.preload) {\n return config;\n }\n if (typeof options.preload === 'boolean') {\n return config;\n }\n var areRequestedAssetsValid = options.preload.assets.every(function(a2) {\n return assets.includes(a2.toLowerCase());\n });\n if (!areRequestedAssetsValid) {\n throw new Error('Requested assets, not supported. Supported assets are: '.concat(assets.join(', '), '.'));\n }\n config.assets = unique_array_default(options.preload.assets.map(function(a2) {\n return a2.toLowerCase();\n }), []);\n if (options.preload.timeout && typeof options.preload.timeout === 'number' && !isNaN(options.preload.timeout)) {\n config.timeout = options.preload.timeout;\n }\n return config;\n }\n function _publishMetaData(ruleResult) {\n var checksData = axe._audit.data.checks || {};\n var rulesData = axe._audit.data.rules || {};\n var rule = find_by_default(axe._audit.rules, 'id', ruleResult.id) || {};\n ruleResult.tags = _clone(rule.tags || []);\n var shouldBeTrue = extender(checksData, true, rule);\n var shouldBeFalse = extender(checksData, false, rule);\n ruleResult.nodes.forEach(function(detail) {\n detail.any.forEach(shouldBeTrue);\n detail.all.forEach(shouldBeTrue);\n detail.none.forEach(shouldBeFalse);\n });\n extend_meta_data_default(ruleResult, _clone(rulesData[ruleResult.id] || {}));\n }\n function getIncompleteReason(checkData, messages) {\n function getDefaultMsg(message) {\n if (message.incomplete && message.incomplete['default']) {\n return message.incomplete['default'];\n } else {\n return incompleteFallbackMessage();\n }\n }\n if (checkData && checkData.missingData) {\n try {\n var msg = messages.incomplete[checkData.missingData[0].reason];\n if (!msg) {\n throw new Error();\n }\n return msg;\n } catch (e) {\n if (typeof checkData.missingData === 'string') {\n return messages.incomplete[checkData.missingData];\n } else {\n return getDefaultMsg(messages);\n }\n }\n } else if (checkData && checkData.messageKey) {\n return messages.incomplete[checkData.messageKey];\n } else {\n return getDefaultMsg(messages);\n }\n }\n function extender(checksData, shouldBeTrue, rule) {\n return function(check) {\n var sourceData = checksData[check.id] || {};\n var messages = sourceData.messages || {};\n var data = Object.assign({}, sourceData);\n delete data.messages;\n if (!rule.reviewOnFail && check.result === void 0) {\n if (_typeof(messages.incomplete) === 'object' && !Array.isArray(check.data)) {\n data.message = getIncompleteReason(check.data, messages);\n }\n if (!data.message) {\n data.message = messages.incomplete;\n }\n } else {\n data.message = check.result === shouldBeTrue ? messages.pass : messages.fail;\n }\n if (typeof data.message !== 'function') {\n data.message = process_message_default(data.message, check.data);\n }\n extend_meta_data_default(check, data);\n };\n }\n function querySelectorAll(domTree, selector) {\n return query_selector_all_filter_default(domTree, selector);\n }\n var query_selector_all_default = querySelectorAll;\n function matchTags(rule, runOnly) {\n var include, exclude, matching;\n var defaultExclude = axe._audit && axe._audit.tagExclude ? axe._audit.tagExclude : [];\n if (runOnly.hasOwnProperty('include') || runOnly.hasOwnProperty('exclude')) {\n include = runOnly.include || [];\n include = Array.isArray(include) ? include : [ include ];\n exclude = runOnly.exclude || [];\n exclude = Array.isArray(exclude) ? exclude : [ exclude ];\n exclude = exclude.concat(defaultExclude.filter(function(tag) {\n return include.indexOf(tag) === -1;\n }));\n } else {\n include = Array.isArray(runOnly) ? runOnly : [ runOnly ];\n exclude = defaultExclude.filter(function(tag) {\n return include.indexOf(tag) === -1;\n });\n }\n matching = include.some(function(tag) {\n return rule.tags.indexOf(tag) !== -1;\n });\n if (matching || include.length === 0 && rule.enabled !== false) {\n return exclude.every(function(tag) {\n return rule.tags.indexOf(tag) === -1;\n });\n } else {\n return false;\n }\n }\n function ruleShouldRun(rule, context, options) {\n var runOnly = options.runOnly || {};\n var ruleOptions = (options.rules || {})[rule.id];\n if (rule.pageLevel && !context.page) {\n return false;\n } else if (runOnly.type === 'rule') {\n return runOnly.values.indexOf(rule.id) !== -1;\n } else if (ruleOptions && typeof ruleOptions.enabled === 'boolean') {\n return ruleOptions.enabled;\n } else if (runOnly.type === 'tag' && runOnly.values) {\n return matchTags(rule, runOnly.values);\n } else {\n return matchTags(rule, []);\n }\n }\n var rule_should_run_default = ruleShouldRun;\n function _filterHtmlAttrs(element, filterAttrs) {\n if (!filterAttrs) {\n return element;\n }\n var node = element.cloneNode(false);\n var attributes2 = get_node_attributes_default(node);\n if (node.nodeType === 1) {\n var outerHTML = node.outerHTML;\n node = cache_default.get(outerHTML, function() {\n return setNodeAttributes(node, attributes2, element, filterAttrs);\n });\n } else {\n node = setNodeAttributes(node, attributes2, element, filterAttrs);\n }\n Array.from(element.childNodes).forEach(function(child) {\n node.appendChild(_filterHtmlAttrs(child, filterAttrs));\n });\n return node;\n }\n function setNodeAttributes(node, attributes2, element, filterAttrs) {\n if (!attributes2) {\n return node;\n }\n node = document.createElement(node.nodeName);\n Array.from(attributes2).forEach(function(attr) {\n if (!attributeMatches(element, attr.name, filterAttrs)) {\n node.setAttribute(attr.name, attr.value);\n }\n });\n return node;\n }\n function attributeMatches(node, attrName, filterAttrs) {\n if (typeof filterAttrs[attrName] === 'undefined') {\n return false;\n }\n if (filterAttrs[attrName] === true) {\n return true;\n }\n return element_matches_default(node, filterAttrs[attrName]);\n }\n function _select(selector, context) {\n var result = [];\n var candidate;\n if (axe._selectCache) {\n for (var j = 0, l = axe._selectCache.length; j < l; j++) {\n var item = axe._selectCache[j];\n if (item.selector === selector) {\n return item.result;\n }\n }\n }\n var outerIncludes = getOuterIncludes(context.include);\n var isInContext = getContextFilter(context);\n for (var _i25 = 0; _i25 < outerIncludes.length; _i25++) {\n candidate = outerIncludes[_i25];\n var nodes = query_selector_all_filter_default(candidate, selector, isInContext);\n result = mergeArrayUniques(result, nodes);\n }\n if (axe._selectCache) {\n axe._selectCache.push({\n selector: selector,\n result: result\n });\n }\n return result;\n }\n function getOuterIncludes(includes) {\n return includes.reduce(function(res, el) {\n if (!res.length || !_contains(res[res.length - 1], el)) {\n res.push(el);\n }\n return res;\n }, []);\n }\n function getContextFilter(context) {\n if (!context.exclude || context.exclude.length === 0) {\n return null;\n }\n return function(node) {\n return _isNodeInContext(node, context);\n };\n }\n function mergeArrayUniques(arr1, arr2) {\n if (arr1.length === 0) {\n return arr2;\n }\n if (arr1.length < arr2.length) {\n var temp = arr1;\n arr1 = arr2;\n arr2 = temp;\n }\n for (var _i26 = 0, l = arr2.length; _i26 < l; _i26++) {\n if (!arr1.includes(arr2[_i26])) {\n arr1.push(arr2[_i26]);\n }\n }\n return arr1;\n }\n function setScroll(elm, top, left) {\n if (elm === window) {\n return elm.scroll(left, top);\n } else {\n elm.scrollTop = top;\n elm.scrollLeft = left;\n }\n }\n function setScrollState(scrollState) {\n scrollState.forEach(function(_ref79) {\n var elm = _ref79.elm, top = _ref79.top, left = _ref79.left;\n return setScroll(elm, top, left);\n });\n }\n var set_scroll_state_default = setScrollState;\n function _shadowSelect(selectors) {\n var selectorArr = Array.isArray(selectors) ? _toConsumableArray(selectors) : [ selectors ];\n return selectRecursive(selectorArr, document);\n }\n function selectRecursive(selectors, doc) {\n var selectorStr = selectors.shift();\n var elm = selectorStr ? doc.querySelector(selectorStr) : null;\n if (selectors.length === 0) {\n return elm;\n }\n if (!(elm !== null && elm !== void 0 && elm.shadowRoot)) {\n return null;\n }\n return selectRecursive(selectors, elm.shadowRoot);\n }\n function _shadowSelectAll(selectors) {\n var doc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n var selectorArr = Array.isArray(selectors) ? _toConsumableArray(selectors) : [ selectors ];\n if (selectors.length === 0) {\n return [];\n }\n return selectAllRecursive(selectorArr, doc);\n }\n function selectAllRecursive(_ref80, doc) {\n var _ref81 = _toArray(_ref80), selectorStr = _ref81[0], restSelector = _ref81.slice(1);\n var elms = doc.querySelectorAll(selectorStr);\n if (restSelector.length === 0) {\n return Array.from(elms);\n }\n var selected = [];\n var _iterator13 = _createForOfIteratorHelper(elms), _step13;\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done; ) {\n var elm = _step13.value;\n if (elm !== null && elm !== void 0 && elm.shadowRoot) {\n selected.push.apply(selected, _toConsumableArray(selectAllRecursive(restSelector, elm.shadowRoot)));\n }\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n return selected;\n }\n function validInputTypes() {\n return [ 'hidden', 'text', 'search', 'tel', 'url', 'email', 'password', 'date', 'month', 'week', 'time', 'datetime-local', 'number', 'range', 'color', 'checkbox', 'radio', 'file', 'submit', 'image', 'reset', 'button' ];\n }\n var valid_input_type_default = validInputTypes;\n var langs = [ , [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, , , , , , 1, 1, 1, 1, , , 1, 1, 1, , 1, , 1, , 1, 1 ], [ 1, 1, 1, , 1, 1, , 1, 1, 1, , 1, , , 1, 1, 1, , , 1, 1, 1, , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , , , , 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1 ], [ , 1, , , , , , 1, , 1, , , , , 1, , 1, , , , 1, 1, , 1, , , 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, , , 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, 1, , , 1, , , , , 1, 1, 1, , 1, , 1, , 1, , , , , , 1 ], [ 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, , 1, , 1, , , , , 1, , 1, 1, 1, 1, 1, , , , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, , 1, , 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, , , 1, , 1, , , , 1, 1, 1, , , , , , , , , , , 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1 ], [ 1, 1, 1, 1, 1, , , 1, , , 1, , , 1, 1, 1, , , , , 1, , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1 ], [ , 1, , 1, 1, 1, , 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, , , 1, 1, , , , , , 1, 1 ], [ 1, 1, 1, , , , , 1, , , , 1, 1, , 1, , , , , , 1, , , , , 1 ], [ , 1, , , 1, , , 1, , , , , , 1 ], [ , 1, , 1, , , , 1, , , , 1 ], [ 1, , 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , , 1, , , 1, , 1, 1, , 1, , 1, , , , , 1, , 1 ], [ , 1, , , , 1, , , 1, 1, , 1, , 1, 1, 1, 1, , 1, 1, , , 1, , , 1 ], [ , 1, 1, , , , , , 1, , , , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ , 1, , 1, 1, 1, , , 1, 1, 1, 1, 1, 1, , 1, , , , , 1, 1, , 1, , 1 ], [ , 1, , 1, , 1, , 1, , 1, , 1, 1, 1, 1, 1, , , 1, 1, 1 ], [ , 1, 1, 1, , , , 1, 1, 1, , 1, 1, , , 1, 1, , 1, 1, 1, 1, , 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, , 1, 1, 1, , 1, , , , , 1, 1, 1, , , 1, , 1, , , 1, 1 ], [ , , , , 1, , , , , , , , , , , , , , , , , 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, , 1, 1, 1, , 1, 1, , , , 1, 1, 1, 1, 1, , , 1, 1, 1, , , , , 1 ], [ 1, 1, 1, 1, , , , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , , , , , , 1, , , , , , , 1 ], [ , 1, 1, , 1, 1, , 1, , , , , , , , , , , , , 1 ], , [ 1, 1, 1, , , , , , , , , , , , , 1 ], [ , , , , , , , , 1, , , 1, , , 1, 1, , , , , 1 ] ], [ , [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , , , 1, , , , , , , , , , , , , , , 1 ], [ , 1, , , 1, 1, , 1, , 1, 1, , , , 1, 1, , , 1, 1, , , , 1 ], [ 1, , , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, , , 1, , , , 1 ], , [ , 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, , , 1, 1, 1, 1, , 1, 1, , 1 ], [ , 1, , , 1, , , 1, , 1, , , 1, 1, 1, 1, , , 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, , , 1, , , 1, , 1 ], [ , 1, , , , , , , , , , 1, 1, , , , , , 1, 1, , , , , 1 ], [ , , , , , , , 1, , , , 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, 1, , , 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, , , 1, 1, , 1, , 1, 1, 1, , , 1, 1, , , 1, , 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, , 1, 1, , 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ , , , , , , , , , , , , , , , , 1 ], , [ , 1, 1, 1, 1, 1, , 1, 1, 1, , , 1, , 1, 1, , 1, 1, 1, 1, 1, , 1, , 1 ], [ , , 1, , , 1, , , 1, 1, , , 1, , 1, 1, , 1 ], [ , 1, 1, , 1, , , , 1, 1, , 1, , 1, 1, 1, 1, , 1, 1, 1, 1, , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ 1, 1 ], [ , 1, , , , , , , , , , 1, 1, , , , , , 1, 1, , 1, , 1, , 1, 1 ], , [ , 1, 1, , 1, , , 1, , 1, , , , 1, 1, 1, , , , , , 1, , , , 1 ], [ 1, 1, , , 1, 1, , 1, , , , , 1, , 1 ] ], [ , [ , 1 ], [ , , , 1, , , , 1, , , , 1, , , , 1, , , 1, , , 1 ], [ , , , , , , , , , , , , , , , , , , 1, 1, , , , , , 1 ], , [ 1, , , , , 1 ], [ , 1, , , , 1, , , , 1 ], [ , 1, , , , , , , , , , , 1, , , 1, , , , , , , , , 1, 1 ], [ , , , , , , , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , 1, , , , 1, , 1 ], [ , 1 ], [ , 1, , 1, , 1, , 1, , 1, , 1, 1, 1, , 1, 1, , 1, , , , , , , 1 ], [ 1, , , , , 1, , , 1, 1, , 1, , 1, , 1, 1, , , , , 1, , , 1 ], [ , 1, 1, , , 1, , 1, , 1, , 1, , 1, 1, 1, 1, , , 1, , 1, , 1, 1, 1 ], [ 1, 1, 1, 1, 1, , 1, , 1, , , , 1, 1, 1, 1, , 1, 1, , , 1, 1, 1, 1 ], [ 1, , , , , , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , 1 ], , [ , 1, , , , , , 1, 1, 1, , 1, , , , 1, , , 1, 1, 1, , , 1 ], [ 1, , , , , 1, , 1, 1, 1, , 1, 1, 1, 1, 1, , 1, , 1, , 1, , , 1, 1 ], [ 1, , 1, 1, , , , , 1, , , , , , 1, 1, , , 1, 1, 1, 1, , , 1, , 1 ], [ 1, , , , , , , , , , , , , , , , , 1 ], [ , , , , , 1, , , 1, , , , , , 1 ], [ , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , , 1 ], [ , 1, , , , , , , , , , , , , , 1 ], [ , 1, , , , 1 ] ], [ , [ 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, , 1, 1, , , 1, 1, 1 ], [ , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , 1 ], , [ , , , , , , , , , , , , , , , , , , 1 ], [ 1, , , , , , , , , 1, , , , 1 ], [ , , , , , , , , , , , , , , , , , , 1 ], , [ 1, 1, , , , 1, 1, , , , , , 1, , , , 1, , 1, , 1, 1, , 1 ], [ 1 ], [ , , , , , , , , , , , 1, , , , , , , , , , , 1 ], [ , 1, , , , , , , 1, 1, , , 1, , 1, , , , 1, , , , , , , 1 ], [ , , , , , , , , , , , , , , , , 1, , , , , 1 ], [ , , 1, , , , , 1, , 1 ], [ 1, , , , 1, , , , , 1, , , , 1, 1, , , , 1, 1, , , , , 1 ], [ , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , 1 ], [ 1, , , 1, 1, , , , , , , 1, , 1, , 1, 1, 1, 1, 1, 1 ], [ , , , , , 1, , , , , , , 1, , , , , , , 1 ], , [ , , 1, 1, 1, 1, 1, , 1, 1, 1, , , 1, 1, , , 1, 1, , 1, 1, 1, , , 1 ], [ , , , , , , , , , , , , , , , , , , 1 ], [ , 1, , , , 1 ], , [ 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , , , 1, 1, 1, 1, , , , , , 1, , 1, , , , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , , 1 ], [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, , 1, , , 1, 1, 1, 1, 1 ], [ , , , , , , , , , , , 1, , , , , , , , , 1, , , , 1 ], [ , 1, 1, , 1, 1, , 1, , , , 1, 1, , 1, 1, , , 1, , 1, 1, , 1 ], [ , 1, , 1, , 1, , , 1, , , 1, 1, , 1, 1, , , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, , , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , , , , , , , , , 1, , 1, , 1, 1, , , , 1, , , 1 ], [ , 1, , , 1, 1, , , , , , , , , 1, 1, 1, , , , , 1 ], [ 1, , , 1, 1, , , , 1, 1, 1, 1, 1, , , 1, , , 1, , , 1, , 1, , 1 ], [ , 1, 1, , 1, 1, , 1, 1, , , , 1, 1, 1, , , 1, 1, , , 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, , 1, , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, , , , 1, , , , , , , , , 1 ], [ , 1, , , , , , , , 1, , , , , 1, , , , 1, , , 1 ], [ , 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , , 1, , 1, , , , , 1, 1, 1, 1, 1, , , 1, , , , 1 ], [ , 1, , , , , , , , 1, , , , , , , , , , , , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, , 1, , 1, 1, , , , 1, , 1, 1, 1, 1, 1, , 1, 1, , , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, , 1, 1, , , 1, 1, , , , 1, , 1, 1, , 1, 1 ], [ , , , , , , , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, , 1, 1, 1, 1, , 1, , , 1, 1, 1, 1, , , 1, , , , , , , 1 ], [ , 1, , , , , , , , 1, , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1 ], [ , 1, 1, , , , , , , , , , , , 1, 1, , , , , , 1 ], [ , 1, , , , , , , 1 ], [ , , , , , , , , , , , , , , 1, , , , , 1, , , , , , 1 ], [ 1, 1, , , 1, , , 1, 1, 1, , , , 1 ], , [ , , , , , , , , , , , , , 1, , , , , , , , , , 1 ], [ , , , , , , , , , 1, , , , , , , , , 1, , , , , , , 1 ], [ 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, , , 1, , 1, , , 1, 1 ], [ , , , , , , , , , 1 ], [ , 1, , , , 1, , , , , , 1, , , 1, , , , , 1 ], [ , 1, 1, , 1, 1, , , , , , , , , , , , , , , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , 1, 1, , 1, 1, 1, 1, , , , 1, 1, , , , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, , 1, 1, , 1, 1 ], [ , , , , , , , , , , , , , , , 1, , , , 1 ], , [ 1, 1, , 1, , 1, , , , , , 1, , 1, , 1, 1, , 1, , 1, 1, , 1, 1, , 1 ], [ , , 1, , , , , , 1, , , , 1, , 1, , , , , 1 ], [ 1, , , , , , , , , 1, , , , , , 1, , , , 1, , 1, , , 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , 1, , 1, , , , , , 1, , , 1, , , , , , , , 1 ], [ , 1, , 1, , , , , , , , , , , , 1 ], , [ 1, 1, , , , , , , , , , , , , , , , , , , , , , 1, 1 ], [ 1 ] ], [ , [ 1, , , , , , , , , 1, , , , , 1, , 1, , 1 ], [ , 1, 1, , 1, 1, , 1, 1, 1, , , 1, 1, 1, , , , 1, , , 1, , , , 1 ], [ , 1, , , , , , , 1, , , , 1, , , , , , 1 ], [ 1, 1, 1, 1, 1, 1, , , , 1, , , , , , , , , 1, 1, 1, 1 ], [ 1 ], [ , 1, 1, , , 1, 1, , , , , 1, , 1, , , , , , , , 1, , , , 1 ], [ 1, , 1, , , 1, , 1, , , , , 1, 1, 1, 1, , , , 1, , , , 1 ], [ , , 1, , , , , , , 1, , , , , , , 1, , , , , , , 1 ], [ 1, , , , , , , , , , , , , , 1, , , , 1 ], [ , , , 1, , 1, , , , , 1, , , , 1, 1, , , , 1 ], [ 1, , , , , 1, , , , 1, , 1, 1, , , 1, 1, , 1, 1, 1, , 1, 1, 1, , 1 ], [ , 1, 1, , , , , 1, , 1, , 1, 1, 1, , 1, 1, , , 1, , 1, 1, 1 ], [ , 1, , , , 1, , , , 1, , , 1, , 1, 1, , , 1, 1, , , , , , 1 ], [ 1, , 1, 1, , 1, , 1, 1, , 1, , 1, 1, 1, 1, 1, , , 1, 1, , , , , , 1 ], [ 1, , , , , , , , , , , , , , , , , , 1, , , 1, , 1 ], [ , , , , , , , , , 1, , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , , , 1, , 1 ], [ , 1, , , , 1, , , 1, 1, , 1, , , 1, 1, , , 1, , , 1, , , 1, 1 ], [ 1, 1, , 1, 1, 1, , 1, 1, 1, , 1, , 1, 1, 1, , , 1, , 1, 1 ], [ 1, , 1, 1, 1, 1, , , , 1, , 1, 1, 1, , 1, , , 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, , , , , , , , , , , , , 1 ], [ , , 1, , , , , , , , , , , , , , , , , , , , 1 ], [ 1, , , , , , , , , , , 1, , 1, , 1, , , , 1 ], [ , , , 1, , , , , , , , , 1 ], [ , 1, , , , , , , , , , , , , , 1, , , , , , , , , 1 ], [ , , , , , , , , 1, 1, , , , , , , , , 1, , , , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , , 1, 1, 1 ], [ , , , , , 1, , , , 1, 1, 1, , , 1, 1, , , 1, , 1, 1, , 1 ], [ , , , , , , , , , , , , , , , , , , , 1, 1 ], [ , 1, , , , , , 1, , , , , , , , , , , , , 1 ], [ , , 1, , , 1, , 1, 1, 1, , 1, 1, , 1, , , , 1, , 1, 1 ], , [ , , 1, , , 1, , , , , , 1, , , , 1 ], [ , , , , , , , , , 1, , , , , , , , , , 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, , , 1, 1, , 1, , 1, , , 1, 1, 1, , , 1 ], [ , , , , , 1, , , , , , , , , , , , , 1 ], [ , 1, , , , , , , , , , , , 1, , 1, 1, , 1, , , 1 ], [ , , , , , 1, , , , , , , , , , , , , , 1 ], [ , 1, 1, 1, 1, , , , , 1, , , 1, , 1, , , , 1, 1, , , , 1, 1 ], [ , 1, , , 1, , , 1, , 1, 1, , 1, , , , , , , 1 ], [ , , 1, , 1, , , 1, , , , , , , , , , , 1, 1, , , , 1 ], [ , 1, , , , , , , , , , , , , , , , , 1, , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, , , , , , , , , , , , , , , , 1, , 1, 1 ], [ , , , , , , , , , , , , 1 ], , [ , 1, 1, 1, 1, , , , 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, , 1 ], [ 1, , , , 1, , , , , , , , , , 1 ], [ 1, , , , , , , , , 1 ], , [ , 1, , , , 1, , , , , , , , , , , , , , , , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, , , , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , 1, 1, 1, 1, , 1, , , , 1, 1, , , 1, 1, , 1 ], [ , 1, 1, , 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , , , , , , , , 1 ], [ 1, 1, 1, , , , , 1, 1, 1, , 1, 1, 1, 1, , , 1, 1, , 1, 1, , , , , 1 ], [ , 1, , , , , , , 1, 1, , , 1, 1, 1, , 1, , , 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, , , , 1, , , , 1, , , 1, , , , 1, , , , , , , 1, 1 ], [ , 1, 1, 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, , 1, , , 1, 1, 1, 1, , 1, 1, 1, 1, , , , 1, , 1, , 1, , , 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , 1, , , , , , , , , 1, 1, , , , , , , , , 1 ], , [ , 1, , 1, , 1, , 1, , 1, , 1, 1, 1, 1, 1, , , 1, , 1, , 1, , , , 1 ], [ , 1, , , 1, 1, , 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, 1, , 1, , , 1 ], [ 1, , , 1, , , , 1, 1, 1, , , , , 1, 1, , , , 1, , 1 ], [ 1, 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ 1, 1, , , , , , , , 1, , 1, , , , , , , , 1, , 1 ], [ , 1, , , , 1, , 1, 1, , , , 1, 1, , 1, , , , 1, 1, 1, , 1 ], , [ , 1, , , , , , 1, , , , , , , 1 ], [ , , , , , , , , 1, , , , 1, , 1, , , , , , , , , , , , 1 ] ], [ , [ , 1, 1, , 1, 1, 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ , 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, , 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , 1, , , , , , , , 1, , , , , , 1, , , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, , , , 1, 1, 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, , , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, , 1, , 1, , 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, , , 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, , , , , 1, 1, 1, , , 1, , 1, 1, , , , 1, , 1, , , 1, 1 ], [ , , , , , , , 1, , , , 1, 1, 1, 1, 1, , 1, , , , , , , , 1 ], [ 1, 1, 1, 1, , 1, 1, 1, , 1, , 1, 1, 1, 1, , 1, , 1, , 1, 1, , , 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , 1, 1, , 1, , 1, 1, 1, , 1, , 1, 1, , 1, 1, , 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , , , , , , , 1, , , , , 1, , 1 ], [ , 1, 1, 1, , 1, , 1, , 1, , , , 1, , 1, , , 1, , , , , , 1, 1 ], [ , 1, , , 1, 1, , 1, , 1, , 1, 1, 1, 1, 1, , 1, 1, , , 1, , , 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, , , , , 1, , 1, , 1, , , , , , 1, , 1, , , , 1, 1 ] ], [ , [ , 1, , 1, , , , , , , , , , , , , , , 1, , , , 1 ], [ , , , , , , , , , 1, , 1, 1, 1, , 1, , , 1, , 1, 1 ], [ 1, 1, , , , , , , 1, , , , , , , 1, , , , , , 1 ], [ , 1, , , , , , , , , , 1, , , , , , , , , 1, 1 ], , [ , , , , , , , , , , , , , , , 1, , , , 1, , 1 ], [ , , 1, 1, , 1, , 1, , , , , , , , 1, , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , , 1, 1 ], [ , 1, , , , , , , , , , , , , 1 ], [ 1, , 1, 1, , , , 1, , , , , , , , , 1, , , 1, , , 1, 1 ], [ , 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, , 1, 1, , 1 ], [ , 1, , , 1, 1, , , , , , 1, , 1, , 1, , , 1, , 1, 1 ], [ 1, 1, 1, 1, , 1, , 1, , 1, , 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, 1, , , 1, , 1, , 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, , 1, 1 ], [ , , , , 1, , , 1, , , , , , , 1, , , , 1, 1 ], [ , 1, , , , , , , , , , 1, , 1, , 1, , , , , 1, , , , , 1 ], , [ 1, 1, , 1, , 1, , 1, 1, , , , , , 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, , , , , , 1, , , , , , 1, 1, , , , 1, 1, , , 1 ], [ , 1, 1, , 1, 1, , , , 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, , , 1, , , , 1, , , , 1, 1 ], [ , , , , 1 ], [ , , , , , , , , , 1, , , 1 ], , [ , , 1, , 1, , , , , , , , , 1, , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, 1, , 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, , , , , 1 ], [ , 1, , 1, , , , , , 1, , , , , 1, 1, , , , , 1, 1 ], [ , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, , , 1, , 1, 1, 1 ], [ , 1, , , , 1, , , , , , , 1 ], [ , 1, , , 1, , , 1, , 1, , 1, 1, , 1, , , , , 1, , 1, , , , 1, 1 ], [ , 1, , , 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, 1, , , , 1, 1, , , , , , 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, , , , 1, , , , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , 1, , , , , , , , 1, , , , , , , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, , 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1 ], [ 1, 1, , , , , , , 1, 1, , , , , 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, , 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1 ], , [ , 1, 1, , , , , 1, , 1, , , , 1, 1, 1, , , 1, , , , , 1 ], [ , , , , , , , , , , , , , 1 ], [ , , , , , 1, , , , , , , , 1, 1, , , , , 1, , 1, , , 1, 1 ], [ , , , , , , , , , , , , , , 1 ] ], [ , [ , 1 ], , , , , , , , , , , , , , , , , , , , [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, , , 1, 1, 1, 1, 1 ], [ , 1, , 1, , 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, , , 1, , , , 1, , 1, 1 ], [ , 1, , 1, , 1, , , 1, , , , , 1, , , , , , 1, 1 ], [ , 1, , 1, , , , , 1, , , , 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ , 1, , , , , , , , , , , , , , , 1 ] ], [ , [ , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, , , , , , , , , 1, 1, , , , 1 ], [ , , , , , , 1 ], [ , , 1 ], [ , 1, 1, , , 1, , 1, , 1, 1, , 1, 1, 1, , , , 1, 1, 1, , , , , 1 ], , [ , 1, , , , 1, , , , , , 1, , , 1, , , , 1, 1, , 1 ], [ , , , , , , , 1, , , , , , , , , 1 ], [ , 1, , , , 1, 1, , , , , , 1, 1, 1, , , , 1, , 1, 1 ], [ , , , , , , , 1, , 1, , , , , , , , , , 1 ], [ , 1, 1, , , , , , 1, 1, , , , 1, , , , , , , 1, , , 1 ], , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , , 1, , , 1, , , , , 1, , 1, , 1, , 1, , , , , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , , , , 1, 1, , 1, 1, , 1, , , 1, , 1 ], [ , , , , , , , , , , , , , , 1, , , , , , 1 ], , [ , , , , , , , , , 1, , , , , , 1, , , , , 1 ], [ , , 1, , , , , , , 1, , , 1, 1 ], [ , , , 1, , , , , 1, , , , , 1, , , , , , 1, , , , 1 ], [ 1, , 1, 1, , 1, 1, 1, 1, 1, , 1, , , , 1, 1, 1, , , 1, 1, , , , 1, 1 ], , [ 1, 1, , , , , , , , , , 1, , 1, , 1, , , 1 ], [ , , , , 1, , , , , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , 1, , , , , 1, , 1 ], [ , , , , , , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , , 1, , , 1, , , , , , , , 1, , , , , , 1, , , , 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, , 1, , , , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , , 1, 1, 1, 1, , 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ 1, 1, , , , , , , 1, , 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], [ 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, 1, 1, , 1, , 1, , 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, , 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, , 1, , , , , , 1, , 1, , , , , 1, 1, , , , , 1 ], [ 1, , 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, 1, , 1, , 1, , , , 1, 1, 1, 1, 1, , , 1, 1, , 1, , 1 ], [ , 1, 1, 1, 1, , , , , 1, , 1, 1, 1, 1, 1, , , 1, 1, , , , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, , , , , 1, , 1, , 1, , , 1, , , 1, 1, , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , , , , , , 1, , , , , 1, 1, , , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , , 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , 1, , 1, 1, , 1, 1, 1, 1, 1, , , 1, , 1, , 1 ], [ 1, 1, 1, , 1, 1, 1, 1, , , , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , , 1, , , , , , , , , , 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , 1, 1, , , , , , 1, 1, 1, 1, 1, , , , 1, 1, 1, , 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1 ], [ , 1, 1, 1, , 1, , 1, 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, , , 1, 1 ], [ 1, 1, , , , 1, , , 1, 1, 1, , 1, , 1, , 1, , 1, 1, 1, 1, 1, , 1, , 1 ], [ , 1, , , , , , , 1, , 1, , 1, 1, 1, 1, , , , , , , , , 1 ] ], [ , [ , , , , , , , , , , , , , 1, 1, , , , 1 ], [ , 1, , , , , , , , 1, , , 1, , , , , , 1, , , 1, , , , 1 ], , [ , 1, , , , 1, , 1, , 1, 1, , 1, 1, , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , 1 ], [ 1, 1, 1, , , 1, , , , , , , , , 1, 1, , , , , , , , , , 1 ], [ , 1, , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , , , , , 1, , , 1 ], [ , , , , , , , , , 1 ], [ 1, 1, , , , , , 1, 1, 1, , 1, 1, , , , 1, 1, , 1, , 1, 1, 1, , 1 ], [ , 1, 1, 1, , 1, 1, , , 1, , 1, 1, 1, 1, , , , , , , 1, , 1 ], [ , 1, 1, 1, 1, , , 1, , 1, , , , 1, 1, 1, 1, , 1, 1, , 1 ], [ , 1, , , 1, 1, , 1, , , , 1, , 1, 1, , 1, , 1, , , 1, , , 1, , 1 ], [ , , , , , , , , , , , 1 ], [ , , , , , , , , , 1, , , , , , , , , , , , , 1 ], , [ 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , , 1, 1, , 1, , , , , 1, , , 1, , 1 ], [ , 1, , , , 1, , , 1, , , , , , , , 1, , 1, , , 1 ], [ , , , , , , , , , , , , , 1, 1, , , , 1, , , 1 ], [ , , , , , 1, , , 1, , , , 1 ], [ , 1 ], , [ , 1 ], [ 1, , , , , , , , , , , , , , 1, , , , , 1 ] ], [ , [ , 1, , , , 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, , 1, 1, , 1, 1, , , 1 ], [ , , 1, , , , , , , , , 1 ], , , [ 1, , , 1, 1, , , , , , , , 1, 1, , 1, 1, , 1 ], , [ , , , , , , , , , , , , , , , , , , 1, , 1 ], , [ 1, , , 1, 1, , 1, 1, , , , , 1, , 1, , , , , 1, 1, , 1 ], , [ , 1, , , , , , , , 1, 1, 1, 1, 1, , 1, 1, , , , 1, 1 ], [ , , , , , , , , , , , , , , , , 1, , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , , , , , , , , , , , 1, , 1, , , 1 ], [ 1, , , , , , , , , , , , , , , , , , 1, , 1 ], , , [ , 1, , , , , , , , , , , , , , 1, , , , 1, 1 ], [ , , , , , , , , , 1, , , 1, , , , , , , , , , 1 ], [ , , , , , , , , , , , , , , , 1 ], [ , , , , , , , , , , , , , 1, 1, , , , , , 1 ], , [ , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , , 1, 1, , 1, 1, 1, 1, 1, 1, , , 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, , , , , , , , 1 ], [ , , , , 1, , , 1, , , 1, 1, , , , , , , , , , 1, , , , 1 ], [ , 1, , 1, 1, , , 1, 1, 1, , , , 1, 1, 1, 1, , 1, 1, 1, 1, , 1 ], [ , , , , , , , 1 ], [ , 1, 1, , , , , 1, , 1, , , , , , 1, , , , , , 1, , 1, , 1 ], [ , 1, , , , , , 1, , , , 1, , , , , , , , , , 1 ], [ , , 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, , 1, 1, 1, 1, , 1 ], [ , 1, , , , , , , , 1 ], [ , 1, 1, , 1, , , , , , , , 1, , , , , , 1, , , 1, , 1, , 1 ], [ , 1, , 1, , 1, , 1, 1, 1, , 1, 1, 1, , 1, , , 1, 1, , 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , , 1, 1, , , , 1, 1, 1, , , , 1, 1, , , 1, 1 ], [ , , 1, 1, 1, 1, , 1, , 1, , 1, , 1, 1, 1, 1, , , , , 1, , 1, , 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, , 1, , 1, , 1, 1, 1, , , 1, 1, , , , 1, , 1 ], [ , , , 1 ], , [ , 1, 1, , 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, , 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , 1, , 1, , 1, , , , , , , 1, 1, , 1, 1 ], [ , , , , , , 1, , 1, 1, , 1, , 1, , , , , , , , , , 1 ], [ , 1, 1, , 1, , , , 1, , , , 1, 1, 1, , , , 1, , 1, 1, 1, , 1, 1 ], , [ , 1, 1, , , , , , , , , , , , , 1, , , 1, , , , , 1 ], [ , 1, , , , , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, , , , , , , 1, , , , 1, , , , , 1, , , , , , , 1 ] ], [ , [ , 1, 1, 1, 1, 1, , 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, , 1, , 1, 1, , , 1, 1, 1, 1, , 1, , , , , 1, 1, 1 ], [ , , 1, 1, , 1, , 1, 1, , , , 1, 1, 1, 1, , , 1, , 1, 1, 1, 1, , 1 ], [ , 1, , 1, , , , , , , , 1, , 1, , 1, , , , , , , , , , 1 ], [ , , 1, , 1, , , 1, , , , , 1, 1, , , 1, , 1, 1, 1, 1 ], [ , 1 ], [ , 1, 1, , 1, , 1, 1, , 1, , , 1, 1, 1, , , , 1, , , 1, , 1 ], [ 1, 1, , 1, 1, 1, , , , , , , , , , , , , 1, , 1, 1, 1 ], [ , 1, 1, , , , , , , 1, , , 1, , 1, , 1, , 1, 1, , , 1, , , 1 ], [ , , 1, , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, 1, 1, 1, , 1, , 1, , , , , 1, 1, 1, , , 1, , 1, , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, , , 1, 1, 1, , 1, , 1, 1, 1, , , 1, 1, 1, 1, , , , 1, 1 ], [ , , , 1, 1, , , 1, , 1, , 1, , 1, 1, 1, 1, , 1, , , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , , , , , , , , , , , , , , , , , 1 ], [ , 1, 1, , 1, 1, , 1, , 1, , , , 1, 1, , , 1, 1, , 1, 1, , 1 ], [ , 1, 1, 1, 1, 1, , , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, , , 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1 ], [ , 1, 1, , 1, , , 1, , , 1, , 1, 1, 1, 1, 1, , 1, , 1, 1 ], [ , , , , , 1, , , , 1, , , , , 1, 1, , , , 1 ], [ , 1, , 1, 1, 1, , 1, , , 1, 1, 1, , , 1, , , 1, , 1, , , 1 ], [ , , 1, , , , , , , , , 1, , 1, , , , , 1, , 1 ], [ , 1, 1, , , , , , , , 1, 1, 1, , , , , , , , 1, , , , , 1 ], [ , , , , , , , , 1, , , , , 1, , , 1 ] ], [ , [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, 1, , 1, 1, , , 1, 1, 1, 1, 1, 1, 1, 1, , , , , , , , , 1, 1 ], [ , , , , , , , , 1, , , , 1, , 1, , 1 ], [ , 1, , , 1, 1, , 1, , , , 1, , , , , , , , 1 ], [ , 1, , 1, , 1, , , , 1, 1, , 1, , 1, , , , 1, 1, 1, 1, 1, , , 1 ], , [ , 1, , , , , , , , 1, , , 1, 1, , , 1, , 1, 1, , 1, , 1 ], [ , 1, , , 1, , , , , , , , 1, , , , , , , 1 ], [ 1, 1, , , , , 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1 ], , [ , 1, , , , , , 1, , 1, , 1, 1, 1, 1, 1, , , 1, , 1, 1, , , , 1 ], [ , 1, 1, , , 1, , 1, , 1, , , 1, 1, 1, 1, , , 1, , , 1, , , , 1 ], [ , 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , , , 1, , 1 ], [ , 1, , , 1, 1, , 1, 1, , , 1, 1, , 1, 1, , 1, , 1, , 1 ], [ 1, , 1, , , , , 1, , 1, , 1, 1, 1, 1, , , , , 1, 1, , , , 1, 1 ], [ , 1, 1, , , , , 1, 1, , , 1, , 1, 1, 1, 1, , , , , , , , , , 1 ], , [ , 1, 1, , , 1, , , , 1, , 1, 1, 1, 1, 1, , , , 1, , , , 1, , 1 ], [ , , , 1, 1, , , 1, , , , , 1, , 1, 1, 1, , 1, 1, , , , , , 1 ], [ , 1, , , , , , , , , , , 1, , , , 1, , , , , , , 1, , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, , 1, 1, 1, , 1, 1, , 1, 1, 1, 1 ], [ , 1, , , , , , , , , , , , , , , , , , , 1 ], [ , 1, , , , , , 1, , , , , 1, , 1, , , 1, 1, , 1, 1, , 1 ], [ , 1, , , , , , 1, , , , , 1, 1, , , , , , , , 1, , , , 1 ], [ , , , , , , , , , , , , , , , , , , 1, , , 1, , , , , 1 ], [ , , , , , , , 1, , , , 1 ] ], [ , [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , 1, , 1, , , , , , , 1, , , , , , , , 1, , , 1 ], [ , 1, , , , , , , 1 ], [ , , , , , , , , , , 1 ], [ , 1, , , , , , 1, 1, , , , , , 1 ], , [ , 1, 1, , , , , , 1, , , , , 1, 1, , , , 1 ], [ 1, , 1, , 1, , , , , 1, , , , , 1, , , , , , , , , 1, 1 ], [ , 1, 1, , , , , , , , , 1, 1, 1, 1, , , , 1, , , , , 1, , , 1 ], , [ , 1, 1, , 1, , , 1, 1, , , 1, , , 1, 1, 1, , 1, , 1, 1, 1, , , , 1 ], [ , , , , , 1, , , , , 1, , , 1, 1, , , 1, , 1, , , , 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , 1, , , 1, 1, , 1, , , , 1, , , , , , , , 1 ], [ , , , 1, , , , , 1, , , , , 1, , 1, , 1, 1, 1 ], [ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ , , , , , 1 ], [ , 1, , , , , , 1, , , , , , , 1, 1, 1, , , 1 ], [ , 1, , , , , , , , , , 1, 1, 1, , , , , 1, , , 1 ], [ , , , , , 1, , 1, , , , , 1, 1, 1, , 1, 1, , 1, 1, 1, , , 1, 1 ], [ 1, 1, , , , , , , 1, , , , , 1, 1, , , , , , , , , , , 1 ], , [ , 1 ], [ , , , , , , , , , , , , , , , , , , , , , , , , 1 ], [ , , 1, , , , , 1, , , 1, , , , 1, , 1 ], [ , 1, , , , , , , , , 1 ] ] ];\n function isValidLang(lang) {\n var array = langs;\n while (lang.length < 3) {\n lang += '`';\n }\n for (var _i27 = 0; _i27 <= lang.length - 1; _i27++) {\n var index = lang.charCodeAt(_i27) - 96;\n array = array[index];\n if (!array) {\n return false;\n }\n }\n return true;\n }\n function _validLangs(langArray) {\n langArray = Array.isArray(langArray) ? langArray : langs;\n var codes = [];\n langArray.forEach(function(lang, index) {\n var _char3 = String.fromCharCode(index + 96).replace('`', '');\n if (Array.isArray(lang)) {\n codes = codes.concat(_validLangs(lang).map(function(newLang) {\n return _char3 + newLang;\n }));\n } else {\n codes.push(_char3);\n }\n });\n return codes;\n }\n var valid_langs_default = isValidLang;\n var SerialVirtualNode = function(_abstract_virtual_nod2) {\n function SerialVirtualNode(serialNode) {\n var _this6;\n _classCallCheck(this, SerialVirtualNode);\n _this6 = _callSuper(this, SerialVirtualNode);\n _this6._props = normaliseProps(serialNode);\n _this6._attrs = normaliseAttrs(serialNode);\n return _this6;\n }\n _inherits(SerialVirtualNode, _abstract_virtual_nod2);\n return _createClass(SerialVirtualNode, [ {\n key: 'props',\n get: function get() {\n return this._props;\n }\n }, {\n key: 'attr',\n value: function attr(attrName) {\n var _this$_attrs$attrName;\n return (_this$_attrs$attrName = this._attrs[attrName]) !== null && _this$_attrs$attrName !== void 0 ? _this$_attrs$attrName : null;\n }\n }, {\n key: 'hasAttr',\n value: function hasAttr(attrName) {\n return this._attrs[attrName] !== void 0;\n }\n }, {\n key: 'attrNames',\n get: function get() {\n return Object.keys(this._attrs);\n }\n } ]);\n }(abstract_virtual_node_default);\n var nodeNamesToTypes = {\n '#cdata-section': 2,\n '#text': 3,\n '#comment': 8,\n '#document': 9,\n '#document-fragment': 11\n };\n var nodeTypeToName = {};\n var nodeNames = Object.keys(nodeNamesToTypes);\n nodeNames.forEach(function(nodeName2) {\n nodeTypeToName[nodeNamesToTypes[nodeName2]] = nodeName2;\n });\n function normaliseProps(serialNode) {\n var _serialNode$nodeName, _ref82, _serialNode$nodeType;\n var nodeName2 = (_serialNode$nodeName = serialNode.nodeName) !== null && _serialNode$nodeName !== void 0 ? _serialNode$nodeName : nodeTypeToName[serialNode.nodeType];\n var nodeType = (_ref82 = (_serialNode$nodeType = serialNode.nodeType) !== null && _serialNode$nodeType !== void 0 ? _serialNode$nodeType : nodeNamesToTypes[serialNode.nodeName]) !== null && _ref82 !== void 0 ? _ref82 : 1;\n assert_default(typeof nodeType === 'number', 'nodeType has to be a number, got \\''.concat(nodeType, '\\''));\n assert_default(typeof nodeName2 === 'string', 'nodeName has to be a string, got \\''.concat(nodeName2, '\\''));\n nodeName2 = nodeName2.toLowerCase();\n var type2 = null;\n if (nodeName2 === 'input') {\n type2 = (serialNode.type || serialNode.attributes && serialNode.attributes.type || '').toLowerCase();\n if (!valid_input_type_default().includes(type2)) {\n type2 = 'text';\n }\n }\n var props = _extends({}, serialNode, {\n nodeType: nodeType,\n nodeName: nodeName2\n });\n if (type2) {\n props.type = type2;\n }\n delete props.attributes;\n return Object.freeze(props);\n }\n function normaliseAttrs(_ref83) {\n var _ref83$attributes = _ref83.attributes, attributes2 = _ref83$attributes === void 0 ? {} : _ref83$attributes;\n var attrMap = {\n htmlFor: 'for',\n className: 'class'\n };\n return Object.keys(attributes2).reduce(function(attrs, attrName) {\n var value = attributes2[attrName];\n assert_default(_typeof(value) !== 'object' || value === null, 'expects attributes not to be an object, \\''.concat(attrName, '\\' was'));\n if (value !== void 0) {\n var mappedName = attrMap[attrName] || attrName;\n attrs[mappedName] = value !== null ? String(value) : null;\n }\n return attrs;\n }, {});\n }\n var serial_virtual_node_default = SerialVirtualNode;\n function cleanup(resolve, reject) {\n resolve = resolve || function res() {};\n reject = reject || axe.log;\n if (!axe._audit) {\n throw new Error('No audit configured');\n }\n var q = axe.utils.queue();\n var cleanupErrors = [];\n Object.keys(axe.plugins).forEach(function(key) {\n q.defer(function(res) {\n var rej = function rej2(err2) {\n cleanupErrors.push(err2);\n res();\n };\n try {\n axe.plugins[key].cleanup(res, rej);\n } catch (err2) {\n rej(err2);\n }\n });\n });\n var flattenedTree = axe.utils.getFlattenedTree(document.body);\n axe.utils.querySelectorAll(flattenedTree, 'iframe, frame').forEach(function(node) {\n q.defer(function(res, rej) {\n return axe.utils.sendCommandToFrame(node.actualNode, {\n command: 'cleanup-plugin'\n }, res, rej);\n });\n });\n q.then(function(results) {\n if (cleanupErrors.length === 0) {\n resolve(results);\n } else {\n reject(cleanupErrors);\n }\n })['catch'](reject);\n }\n var cleanup_default = cleanup;\n var reporters = {};\n var defaultReporter;\n function hasReporter(reporterName) {\n return reporters.hasOwnProperty(reporterName);\n }\n function getReporter(reporter) {\n if (typeof reporter === 'string' && reporters[reporter]) {\n return reporters[reporter];\n }\n if (typeof reporter === 'function') {\n return reporter;\n }\n return defaultReporter;\n }\n function addReporter(name, cb, isDefault) {\n reporters[name] = cb;\n if (isDefault) {\n defaultReporter = cb;\n }\n }\n function configure(spec) {\n var audit;\n audit = axe._audit;\n if (!audit) {\n throw new Error('No audit configured');\n }\n if (spec.axeVersion || spec.ver) {\n var specVersion = spec.axeVersion || spec.ver;\n if (!/^\\d+\\.\\d+\\.\\d+(-canary)?/.test(specVersion)) {\n throw new Error('Invalid configured version '.concat(specVersion));\n }\n var _specVersion$split = specVersion.split('-'), _specVersion$split2 = _slicedToArray(_specVersion$split, 2), version = _specVersion$split2[0], canary = _specVersion$split2[1];\n var _version$split$map = version.split('.').map(Number), _version$split$map2 = _slicedToArray(_version$split$map, 3), major = _version$split$map2[0], minor = _version$split$map2[1], patch = _version$split$map2[2];\n var _axe$version$split = axe.version.split('-'), _axe$version$split2 = _slicedToArray(_axe$version$split, 2), axeVersion = _axe$version$split2[0], axeCanary = _axe$version$split2[1];\n var _axeVersion$split$map = axeVersion.split('.').map(Number), _axeVersion$split$map2 = _slicedToArray(_axeVersion$split$map, 3), axeMajor = _axeVersion$split$map2[0], axeMinor = _axeVersion$split$map2[1], axePatch = _axeVersion$split$map2[2];\n if (major !== axeMajor || axeMinor < minor || axeMinor === minor && axePatch < patch || major === axeMajor && minor === axeMinor && patch === axePatch && canary && canary !== axeCanary) {\n throw new Error('Configured version '.concat(specVersion, ' is not compatible with current axe version ').concat(axe.version));\n }\n }\n if (spec.reporter && (typeof spec.reporter === 'function' || hasReporter(spec.reporter))) {\n audit.reporter = spec.reporter;\n }\n if (spec.checks) {\n if (!Array.isArray(spec.checks)) {\n throw new TypeError('Checks property must be an array');\n }\n spec.checks.forEach(function(check) {\n if (!check.id) {\n throw new TypeError('Configured check '.concat(JSON.stringify(check), ' is invalid. Checks must be an object with at least an id property'));\n }\n audit.addCheck(check);\n });\n }\n var modifiedRules = [];\n if (spec.rules) {\n if (!Array.isArray(spec.rules)) {\n throw new TypeError('Rules property must be an array');\n }\n spec.rules.forEach(function(rule) {\n if (!rule.id) {\n throw new TypeError('Configured rule '.concat(JSON.stringify(rule), ' is invalid. Rules must be an object with at least an id property'));\n }\n modifiedRules.push(rule.id);\n audit.addRule(rule);\n });\n }\n if (spec.disableOtherRules) {\n audit.rules.forEach(function(rule) {\n if (modifiedRules.includes(rule.id) === false) {\n rule.enabled = false;\n }\n });\n }\n if (typeof spec.branding !== 'undefined') {\n audit.setBranding(spec.branding);\n } else {\n audit._constructHelpUrls();\n }\n if (spec.tagExclude) {\n audit.tagExclude = spec.tagExclude;\n }\n if (spec.locale) {\n audit.applyLocale(spec.locale);\n }\n if (spec.standards) {\n configureStandards(spec.standards);\n }\n if (spec.noHtml) {\n audit.noHtml = true;\n }\n if (spec.allowedOrigins) {\n if (!Array.isArray(spec.allowedOrigins)) {\n throw new TypeError('Allowed origins property must be an array');\n }\n if (spec.allowedOrigins.includes('*')) {\n throw new Error('\"*\" is not allowed. Use \"'.concat(constants_default.allOrigins, '\" instead'));\n }\n audit.setAllowedOrigins(spec.allowedOrigins);\n }\n }\n var configure_default = configure;\n function frameMessenger2(frameHandler) {\n _respondable.updateMessenger(frameHandler);\n }\n function getRules(tags) {\n tags = tags || [];\n var matchingRules = !tags.length ? axe._audit.rules : axe._audit.rules.filter(function(item) {\n return !!tags.filter(function(tag) {\n return item.tags.indexOf(tag) !== -1;\n }).length;\n });\n var ruleData = axe._audit.data.rules || {};\n return matchingRules.map(function(matchingRule) {\n var rd = ruleData[matchingRule.id] || {};\n return {\n ruleId: matchingRule.id,\n description: rd.description,\n help: rd.help,\n helpUrl: rd.helpUrl,\n tags: matchingRule.tags,\n actIds: matchingRule.actIds\n };\n });\n }\n var get_rules_default = getRules;\n function hiddenContentEvaluate(node, options, virtualNode) {\n var allowlist = [ 'SCRIPT', 'HEAD', 'TITLE', 'NOSCRIPT', 'STYLE', 'TEMPLATE' ];\n if (!allowlist.includes(node.nodeName.toUpperCase()) && has_content_virtual_default(virtualNode)) {\n var styles = window.getComputedStyle(node);\n if (styles.getPropertyValue('display') === 'none') {\n return void 0;\n } else if (styles.getPropertyValue('visibility') === 'hidden') {\n var parent = get_composed_parent_default(node);\n var parentStyle = parent && window.getComputedStyle(parent);\n if (!parentStyle || parentStyle.getPropertyValue('visibility') !== 'hidden') {\n return void 0;\n }\n }\n }\n return true;\n }\n var hidden_content_evaluate_default = hiddenContentEvaluate;\n var table_exports = {};\n __export(table_exports, {\n getAllCells: function getAllCells() {\n return get_all_cells_default;\n },\n getCellPosition: function getCellPosition() {\n return get_cell_position_default;\n },\n getHeaders: function getHeaders() {\n return get_headers_default;\n },\n getScope: function getScope() {\n return _getScope;\n },\n isColumnHeader: function isColumnHeader() {\n return is_column_header_default;\n },\n isDataCell: function isDataCell() {\n return is_data_cell_default;\n },\n isDataTable: function isDataTable() {\n return is_data_table_default;\n },\n isHeader: function isHeader() {\n return is_header_default;\n },\n isRowHeader: function isRowHeader() {\n return is_row_header_default;\n },\n toArray: function toArray() {\n return to_grid_default;\n },\n toGrid: function toGrid() {\n return to_grid_default;\n },\n traverse: function traverse() {\n return traverse_default;\n }\n });\n function getAllCells(tableElm) {\n var rowIndex, cellIndex, rowLength, cellLength;\n var cells = [];\n for (rowIndex = 0, rowLength = tableElm.rows.length; rowIndex < rowLength; rowIndex++) {\n for (cellIndex = 0, cellLength = tableElm.rows[rowIndex].cells.length; cellIndex < cellLength; cellIndex++) {\n cells.push(tableElm.rows[rowIndex].cells[cellIndex]);\n }\n }\n return cells;\n }\n var get_all_cells_default = getAllCells;\n function traverseForHeaders(headerType, position, tableGrid) {\n var property = headerType === 'row' ? '_rowHeaders' : '_colHeaders';\n var predicate = headerType === 'row' ? is_row_header_default : is_column_header_default;\n var startCell = tableGrid[position.y][position.x];\n var colspan = startCell.colSpan - 1;\n var rowspanAttr = startCell.getAttribute('rowspan');\n var rowspanValue = parseInt(rowspanAttr) === 0 || startCell.rowspan === 0 ? tableGrid.length : startCell.rowSpan;\n var rowspan = rowspanValue - 1;\n var rowStart = position.y + rowspan;\n var colStart = position.x + colspan;\n var rowEnd = headerType === 'row' ? position.y : 0;\n var colEnd = headerType === 'row' ? 0 : position.x;\n var headers;\n var cells = [];\n for (var row = rowStart; row >= rowEnd && !headers; row--) {\n for (var col = colStart; col >= colEnd; col--) {\n var cell = tableGrid[row] ? tableGrid[row][col] : void 0;\n if (!cell) {\n continue;\n }\n var vNode = axe.utils.getNodeFromTree(cell);\n if (vNode[property]) {\n headers = vNode[property];\n break;\n }\n cells.push(cell);\n }\n }\n headers = (headers || []).concat(cells.filter(predicate));\n cells.forEach(function(tableCell) {\n var vNode = axe.utils.getNodeFromTree(tableCell);\n vNode[property] = headers;\n });\n return headers;\n }\n function getHeaders(cell, tableGrid) {\n if (cell.getAttribute('headers')) {\n var headers = idrefs_default(cell, 'headers');\n if (headers.filter(function(header) {\n return header;\n }).length) {\n return headers;\n }\n }\n if (!tableGrid) {\n tableGrid = to_grid_default(find_up_default(cell, 'table'));\n }\n var position = get_cell_position_default(cell, tableGrid);\n var rowHeaders = traverseForHeaders('row', position, tableGrid);\n var colHeaders = traverseForHeaders('col', position, tableGrid);\n return [].concat(rowHeaders, colHeaders).reverse();\n }\n var get_headers_default = getHeaders;\n function isDataCell(cell) {\n if (!cell.children.length && !cell.textContent.trim()) {\n return false;\n }\n var role = cell.getAttribute('role');\n if (is_valid_role_default(role)) {\n return [ 'cell', 'gridcell' ].includes(role);\n } else {\n return cell.nodeName.toUpperCase() === 'TD';\n }\n }\n var is_data_cell_default = isDataCell;\n function isDataTable(node) {\n var role = (node.getAttribute('role') || '').toLowerCase();\n if ((role === 'presentation' || role === 'none') && !_isFocusable(node)) {\n return false;\n }\n if (node.getAttribute('contenteditable') === 'true' || find_up_default(node, '[contenteditable=\"true\"]')) {\n return true;\n }\n if (role === 'grid' || role === 'treegrid' || role === 'table') {\n return true;\n }\n if (get_role_type_default(role) === 'landmark') {\n return true;\n }\n if (node.getAttribute('datatable') === '0') {\n return false;\n }\n if (node.getAttribute('summary')) {\n return true;\n }\n if (node.tHead || node.tFoot || node.caption) {\n return true;\n }\n for (var childIndex = 0, childLength = node.children.length; childIndex < childLength; childIndex++) {\n if (node.children[childIndex].nodeName.toUpperCase() === 'COLGROUP') {\n return true;\n }\n }\n var cells = 0;\n var rowLength = node.rows.length;\n var row, cell;\n var hasBorder = false;\n for (var rowIndex = 0; rowIndex < rowLength; rowIndex++) {\n row = node.rows[rowIndex];\n for (var cellIndex = 0, cellLength = row.cells.length; cellIndex < cellLength; cellIndex++) {\n cell = row.cells[cellIndex];\n if (cell.nodeName.toUpperCase() === 'TH') {\n return true;\n }\n if (!hasBorder && (cell.offsetWidth !== cell.clientWidth || cell.offsetHeight !== cell.clientHeight)) {\n hasBorder = true;\n }\n if (cell.getAttribute('scope') || cell.getAttribute('headers') || cell.getAttribute('abbr')) {\n return true;\n }\n if ([ 'columnheader', 'rowheader' ].includes((cell.getAttribute('role') || '').toLowerCase())) {\n return true;\n }\n if (cell.children.length === 1 && cell.children[0].nodeName.toUpperCase() === 'ABBR') {\n return true;\n }\n cells++;\n }\n }\n if (node.getElementsByTagName('table').length) {\n return false;\n }\n if (rowLength < 2) {\n return false;\n }\n var sampleRow = node.rows[Math.ceil(rowLength / 2)];\n if (sampleRow.cells.length === 1 && sampleRow.cells[0].colSpan === 1) {\n return false;\n }\n if (sampleRow.cells.length >= 5) {\n return true;\n }\n if (hasBorder) {\n return true;\n }\n var bgColor, bgImage;\n for (rowIndex = 0; rowIndex < rowLength; rowIndex++) {\n row = node.rows[rowIndex];\n if (bgColor && bgColor !== window.getComputedStyle(row).getPropertyValue('background-color')) {\n return true;\n } else {\n bgColor = window.getComputedStyle(row).getPropertyValue('background-color');\n }\n if (bgImage && bgImage !== window.getComputedStyle(row).getPropertyValue('background-image')) {\n return true;\n } else {\n bgImage = window.getComputedStyle(row).getPropertyValue('background-image');\n }\n }\n if (rowLength >= 20) {\n return true;\n }\n if (get_element_coordinates_default(node).width > get_viewport_size_default(window).width * .95) {\n return false;\n }\n if (cells < 10) {\n return false;\n }\n if (node.querySelector('object, embed, iframe, applet')) {\n return false;\n }\n return true;\n }\n var is_data_table_default = isDataTable;\n function isHeader(cell) {\n if (is_column_header_default(cell) || is_row_header_default(cell)) {\n return true;\n }\n if (cell.getAttribute('id')) {\n var _id2 = escape_selector_default(cell.getAttribute('id'));\n return !!document.querySelector('[headers~=\"'.concat(_id2, '\"]'));\n }\n return false;\n }\n var is_header_default = isHeader;\n function traverseTable(dir, position, tableGrid, callback) {\n var result;\n var cell = tableGrid[position.y] ? tableGrid[position.y][position.x] : void 0;\n if (!cell) {\n return [];\n }\n if (typeof callback === 'function') {\n result = callback(cell, position, tableGrid);\n if (result === true) {\n return [ cell ];\n }\n }\n result = traverseTable(dir, {\n x: position.x + dir.x,\n y: position.y + dir.y\n }, tableGrid, callback);\n result.unshift(cell);\n return result;\n }\n function traverse(dir, startPos, tableGrid, callback) {\n if (Array.isArray(startPos)) {\n callback = tableGrid;\n tableGrid = startPos;\n startPos = {\n x: 0,\n y: 0\n };\n }\n if (typeof dir === 'string') {\n switch (dir) {\n case 'left':\n dir = {\n x: -1,\n y: 0\n };\n break;\n\n case 'up':\n dir = {\n x: 0,\n y: -1\n };\n break;\n\n case 'right':\n dir = {\n x: 1,\n y: 0\n };\n break;\n\n case 'down':\n dir = {\n x: 0,\n y: 1\n };\n break;\n }\n }\n return traverseTable(dir, {\n x: startPos.x + dir.x,\n y: startPos.y + dir.y\n }, tableGrid, callback);\n }\n var traverse_default = traverse;\n function thHasDataCellsEvaluate(node) {\n var cells = get_all_cells_default(node);\n var checkResult = this;\n var reffedHeaders = [];\n cells.forEach(function(cell) {\n var headers2 = cell.getAttribute('headers');\n if (headers2) {\n reffedHeaders = reffedHeaders.concat(headers2.split(/\\s+/));\n }\n var ariaLabel = cell.getAttribute('aria-labelledby');\n if (ariaLabel) {\n reffedHeaders = reffedHeaders.concat(ariaLabel.split(/\\s+/));\n }\n });\n var headers = cells.filter(function(cell) {\n if (sanitize_default(cell.textContent) === '') {\n return false;\n }\n return cell.nodeName.toUpperCase() === 'TH' || [ 'rowheader', 'columnheader' ].indexOf(cell.getAttribute('role')) !== -1;\n });\n var tableGrid = to_grid_default(node);\n var out = true;\n headers.forEach(function(header) {\n if (header.getAttribute('id') && reffedHeaders.includes(header.getAttribute('id'))) {\n return;\n }\n var pos = get_cell_position_default(header, tableGrid);\n var hasCell = false;\n if (is_column_header_default(header)) {\n hasCell = traverse_default('down', pos, tableGrid).find(function(cell) {\n return !is_column_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);\n });\n }\n if (!hasCell && is_row_header_default(header)) {\n hasCell = traverse_default('right', pos, tableGrid).find(function(cell) {\n return !is_row_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);\n });\n }\n if (!hasCell) {\n checkResult.relatedNodes(header);\n }\n out = out && hasCell;\n });\n return out ? true : void 0;\n }\n var th_has_data_cells_evaluate_default = thHasDataCellsEvaluate;\n function tdHeadersAttrEvaluate(node) {\n var cells = [];\n var reviewCells = [];\n var badCells = [];\n for (var rowIndex = 0; rowIndex < node.rows.length; rowIndex++) {\n var row = node.rows[rowIndex];\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\n cells.push(row.cells[cellIndex]);\n }\n }\n var ids = cells.filter(function(cell) {\n return cell.getAttribute('id');\n }).map(function(cell) {\n return cell.getAttribute('id');\n });\n cells.forEach(function(cell) {\n var isSelf = false;\n var notOfTable = false;\n if (!cell.hasAttribute('headers') || !_isVisibleToScreenReaders(cell)) {\n return;\n }\n var headersAttr = cell.getAttribute('headers').trim();\n if (!headersAttr) {\n return reviewCells.push(cell);\n }\n var headers = token_list_default(headersAttr);\n if (headers.length !== 0) {\n if (cell.getAttribute('id')) {\n isSelf = headers.indexOf(cell.getAttribute('id').trim()) !== -1;\n }\n notOfTable = headers.some(function(header) {\n return !ids.includes(header);\n });\n if (isSelf || notOfTable) {\n badCells.push(cell);\n }\n }\n });\n if (badCells.length > 0) {\n this.relatedNodes(badCells);\n return false;\n }\n if (reviewCells.length) {\n this.relatedNodes(reviewCells);\n return void 0;\n }\n return true;\n }\n var aria_exports = {};\n __export(aria_exports, {\n allowedAttr: function allowedAttr() {\n return allowed_attr_default;\n },\n arialabelText: function arialabelText() {\n return _arialabelText;\n },\n arialabelledbyText: function arialabelledbyText() {\n return arialabelledby_text_default;\n },\n getAccessibleRefs: function getAccessibleRefs() {\n return get_accessible_refs_default;\n },\n getElementUnallowedRoles: function getElementUnallowedRoles() {\n return get_element_unallowed_roles_default;\n },\n getExplicitRole: function getExplicitRole() {\n return get_explicit_role_default;\n },\n getImplicitRole: function getImplicitRole() {\n return implicit_role_default;\n },\n getOwnedVirtual: function getOwnedVirtual() {\n return get_owned_virtual_default;\n },\n getRole: function getRole() {\n return get_role_default;\n },\n getRoleType: function getRoleType() {\n return get_role_type_default;\n },\n getRolesByType: function getRolesByType() {\n return get_roles_by_type_default;\n },\n getRolesWithNameFromContents: function getRolesWithNameFromContents() {\n return get_roles_with_name_from_contents_default;\n },\n implicitNodes: function implicitNodes() {\n return implicit_nodes_default;\n },\n implicitRole: function implicitRole() {\n return implicit_role_default;\n },\n isAccessibleRef: function isAccessibleRef() {\n return is_accessible_ref_default;\n },\n isAriaRoleAllowedOnElement: function isAriaRoleAllowedOnElement() {\n return is_aria_role_allowed_on_element_default;\n },\n isComboboxPopup: function isComboboxPopup() {\n return _isComboboxPopup;\n },\n isUnsupportedRole: function isUnsupportedRole() {\n return is_unsupported_role_default;\n },\n isValidRole: function isValidRole() {\n return is_valid_role_default;\n },\n label: function label() {\n return label_default2;\n },\n labelVirtual: function labelVirtual() {\n return label_virtual_default;\n },\n lookupTable: function lookupTable() {\n return lookup_table_default;\n },\n namedFromContents: function namedFromContents() {\n return named_from_contents_default;\n },\n requiredAttr: function requiredAttr() {\n return required_attr_default;\n },\n requiredContext: function requiredContext() {\n return required_context_default;\n },\n requiredOwned: function requiredOwned() {\n return required_owned_default;\n },\n validateAttr: function validateAttr() {\n return validate_attr_default;\n },\n validateAttrValue: function validateAttrValue() {\n return validate_attr_value_default;\n }\n });\n function allowedAttr(role) {\n var roleDef = standards_default.ariaRoles[role];\n var attrs = _toConsumableArray(get_global_aria_attrs_default());\n if (!roleDef) {\n return attrs;\n }\n if (roleDef.allowedAttrs) {\n attrs.push.apply(attrs, _toConsumableArray(roleDef.allowedAttrs));\n }\n if (roleDef.requiredAttrs) {\n attrs.push.apply(attrs, _toConsumableArray(roleDef.requiredAttrs));\n }\n return attrs;\n }\n var allowed_attr_default = allowedAttr;\n var idRefsRegex = /^idrefs?$/;\n function cacheIdRefs(node, idRefs, refAttrs) {\n if (node.hasAttribute) {\n if (node.nodeName.toUpperCase() === 'LABEL' && node.hasAttribute('for')) {\n var _id3 = node.getAttribute('for');\n if (!idRefs.has(_id3)) {\n idRefs.set(_id3, [ node ]);\n } else {\n idRefs.get(_id3).push(node);\n }\n }\n for (var _i28 = 0; _i28 < refAttrs.length; ++_i28) {\n var attr = refAttrs[_i28];\n var attrValue = sanitize_default(node.getAttribute(attr) || '');\n if (!attrValue) {\n continue;\n }\n var _iterator14 = _createForOfIteratorHelper(token_list_default(attrValue)), _step14;\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done; ) {\n var token = _step14.value;\n if (!idRefs.has(token)) {\n idRefs.set(token, [ node ]);\n } else {\n idRefs.get(token).push(node);\n }\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n }\n }\n for (var _i29 = 0; _i29 < node.childNodes.length; _i29++) {\n if (node.childNodes[_i29].nodeType === 1) {\n cacheIdRefs(node.childNodes[_i29], idRefs, refAttrs);\n }\n }\n }\n function getAccessibleRefs(node) {\n var _idRefs$get;\n node = node.actualNode || node;\n var root = get_root_node_default2(node);\n root = root.documentElement || root;\n var idRefsByRoot = cache_default.get('idRefsByRoot', function() {\n return new Map();\n });\n var idRefs = idRefsByRoot.get(root);\n if (!idRefs) {\n idRefs = new Map();\n idRefsByRoot.set(root, idRefs);\n var refAttrs = Object.keys(standards_default.ariaAttrs).filter(function(attr) {\n var type2 = standards_default.ariaAttrs[attr].type;\n return idRefsRegex.test(type2);\n });\n cacheIdRefs(root, idRefs, refAttrs);\n }\n return (_idRefs$get = idRefs.get(node.id)) !== null && _idRefs$get !== void 0 ? _idRefs$get : [];\n }\n var get_accessible_refs_default = getAccessibleRefs;\n function isAriaRoleAllowedOnElement(node, role) {\n var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);\n var implicitRole3 = implicit_role_default(vNode);\n var spec = get_element_spec_default(vNode);\n if (Array.isArray(spec.allowedRoles)) {\n return spec.allowedRoles.includes(role);\n }\n if (role === implicitRole3) {\n return false;\n }\n return !!spec.allowedRoles;\n }\n var is_aria_role_allowed_on_element_default = isAriaRoleAllowedOnElement;\n var dpubRoles2 = [ 'doc-backlink', 'doc-biblioentry', 'doc-biblioref', 'doc-cover', 'doc-endnote', 'doc-glossref', 'doc-noteref' ];\n var landmarkRoles = {\n header: 'banner',\n footer: 'contentinfo'\n };\n function getRoleSegments(vNode) {\n var roles = [];\n if (!vNode) {\n return roles;\n }\n if (vNode.hasAttr('role')) {\n var nodeRoles = token_list_default(vNode.attr('role').toLowerCase());\n roles = roles.concat(nodeRoles);\n }\n return roles.filter(function(role) {\n return is_valid_role_default(role);\n });\n }\n function getElementUnallowedRoles(node) {\n var allowImplicit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var _nodeLookup21 = _nodeLookup(node), vNode = _nodeLookup21.vNode;\n if (!is_html_element_default(vNode)) {\n return [];\n }\n var nodeName2 = vNode.props.nodeName;\n var implicitRole3 = implicit_role_default(vNode) || landmarkRoles[nodeName2];\n var roleSegments = getRoleSegments(vNode);\n return roleSegments.filter(function(role) {\n return !roleIsAllowed(role, vNode, allowImplicit, implicitRole3);\n });\n }\n function roleIsAllowed(role, vNode, allowImplicit, implicitRole3) {\n if (allowImplicit && role === implicitRole3) {\n return true;\n }\n if (dpubRoles2.includes(role) && get_role_type_default(role) !== implicitRole3) {\n return false;\n }\n return is_aria_role_allowed_on_element_default(vNode, role);\n }\n var get_element_unallowed_roles_default = getElementUnallowedRoles;\n function getAriaRolesByType(type2) {\n return Object.keys(standards_default.ariaRoles).filter(function(roleName) {\n return standards_default.ariaRoles[roleName].type === type2;\n });\n }\n var get_aria_roles_by_type_default = getAriaRolesByType;\n function getRolesByType(roleType) {\n return get_aria_roles_by_type_default(roleType);\n }\n var get_roles_by_type_default = getRolesByType;\n function getAriaRolesSupportingNameFromContent() {\n return cache_default.get('ariaRolesNameFromContent', function() {\n return Object.keys(standards_default.ariaRoles).filter(function(roleName) {\n return standards_default.ariaRoles[roleName].nameFromContent;\n });\n });\n }\n var get_aria_roles_supporting_name_from_content_default = getAriaRolesSupportingNameFromContent;\n function getRolesWithNameFromContents() {\n return get_aria_roles_supporting_name_from_content_default();\n }\n var get_roles_with_name_from_contents_default = getRolesWithNameFromContents;\n var isNull = function isNull(value) {\n return value === null;\n };\n var isNotNull = function isNotNull(value) {\n return value !== null;\n };\n var lookupTable = {};\n lookupTable.attributes = {\n 'aria-activedescendant': {\n type: 'idref',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-atomic': {\n type: 'boolean',\n values: [ 'true', 'false' ],\n unsupported: false\n },\n 'aria-autocomplete': {\n type: 'nmtoken',\n values: [ 'inline', 'list', 'both', 'none' ],\n unsupported: false\n },\n 'aria-busy': {\n type: 'boolean',\n values: [ 'true', 'false' ],\n unsupported: false\n },\n 'aria-checked': {\n type: 'nmtoken',\n values: [ 'true', 'false', 'mixed', 'undefined' ],\n unsupported: false\n },\n 'aria-colcount': {\n type: 'int',\n unsupported: false\n },\n 'aria-colindex': {\n type: 'int',\n unsupported: false\n },\n 'aria-colspan': {\n type: 'int',\n unsupported: false\n },\n 'aria-controls': {\n type: 'idrefs',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-current': {\n type: 'nmtoken',\n allowEmpty: true,\n values: [ 'page', 'step', 'location', 'date', 'time', 'true', 'false' ],\n unsupported: false\n },\n 'aria-describedby': {\n type: 'idrefs',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-describedat': {\n unsupported: true,\n unstandardized: true\n },\n 'aria-details': {\n type: 'idref',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-disabled': {\n type: 'boolean',\n values: [ 'true', 'false' ],\n unsupported: false\n },\n 'aria-dropeffect': {\n type: 'nmtokens',\n values: [ 'copy', 'move', 'reference', 'execute', 'popup', 'none' ],\n unsupported: false\n },\n 'aria-errormessage': {\n type: 'idref',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-expanded': {\n type: 'nmtoken',\n values: [ 'true', 'false', 'undefined' ],\n unsupported: false\n },\n 'aria-flowto': {\n type: 'idrefs',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-grabbed': {\n type: 'nmtoken',\n values: [ 'true', 'false', 'undefined' ],\n unsupported: false\n },\n 'aria-haspopup': {\n type: 'nmtoken',\n allowEmpty: true,\n values: [ 'true', 'false', 'menu', 'listbox', 'tree', 'grid', 'dialog' ],\n unsupported: false\n },\n 'aria-hidden': {\n type: 'boolean',\n values: [ 'true', 'false' ],\n unsupported: false\n },\n 'aria-invalid': {\n type: 'nmtoken',\n allowEmpty: true,\n values: [ 'true', 'false', 'spelling', 'grammar' ],\n unsupported: false\n },\n 'aria-keyshortcuts': {\n type: 'string',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-label': {\n type: 'string',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-labelledby': {\n type: 'idrefs',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-level': {\n type: 'int',\n unsupported: false\n },\n 'aria-live': {\n type: 'nmtoken',\n values: [ 'off', 'polite', 'assertive' ],\n unsupported: false\n },\n 'aria-modal': {\n type: 'boolean',\n values: [ 'true', 'false' ],\n unsupported: false\n },\n 'aria-multiline': {\n type: 'boolean',\n values: [ 'true', 'false' ],\n unsupported: false\n },\n 'aria-multiselectable': {\n type: 'boolean',\n values: [ 'true', 'false' ],\n unsupported: false\n },\n 'aria-orientation': {\n type: 'nmtoken',\n values: [ 'horizontal', 'vertical' ],\n unsupported: false\n },\n 'aria-owns': {\n type: 'idrefs',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-placeholder': {\n type: 'string',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-posinset': {\n type: 'int',\n unsupported: false\n },\n 'aria-pressed': {\n type: 'nmtoken',\n values: [ 'true', 'false', 'mixed', 'undefined' ],\n unsupported: false\n },\n 'aria-readonly': {\n type: 'boolean',\n values: [ 'true', 'false' ],\n unsupported: false\n },\n 'aria-relevant': {\n type: 'nmtokens',\n values: [ 'additions', 'removals', 'text', 'all' ],\n unsupported: false\n },\n 'aria-required': {\n type: 'boolean',\n values: [ 'true', 'false' ],\n unsupported: false\n },\n 'aria-roledescription': {\n type: 'string',\n allowEmpty: true,\n unsupported: false\n },\n 'aria-rowcount': {\n type: 'int',\n unsupported: false\n },\n 'aria-rowindex': {\n type: 'int',\n unsupported: false\n },\n 'aria-rowspan': {\n type: 'int',\n unsupported: false\n },\n 'aria-selected': {\n type: 'nmtoken',\n values: [ 'true', 'false', 'undefined' ],\n unsupported: false\n },\n 'aria-setsize': {\n type: 'int',\n unsupported: false\n },\n 'aria-sort': {\n type: 'nmtoken',\n values: [ 'ascending', 'descending', 'other', 'none' ],\n unsupported: false\n },\n 'aria-valuemax': {\n type: 'decimal',\n unsupported: false\n },\n 'aria-valuemin': {\n type: 'decimal',\n unsupported: false\n },\n 'aria-valuenow': {\n type: 'decimal',\n unsupported: false\n },\n 'aria-valuetext': {\n type: 'string',\n unsupported: false\n }\n };\n lookupTable.globalAttributes = [ 'aria-atomic', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription' ];\n lookupTable.role = {\n alert: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n alertdialog: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-modal', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'dialog', 'section' ]\n },\n application: {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage', 'aria-activedescendant' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'article', 'audio', 'embed', 'iframe', 'object', 'section', 'svg', 'video' ]\n },\n article: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'article' ],\n unsupported: false\n },\n banner: {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'header' ],\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n button: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-pressed', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n implicit: [ 'button', 'input[type=\"button\"]', 'input[type=\"image\"]', 'input[type=\"reset\"]', 'input[type=\"submit\"]', 'summary' ],\n unsupported: false,\n allowedElements: [ {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n cell: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-colindex', 'aria-colspan', 'aria-rowindex', 'aria-rowspan', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'row' ],\n implicit: [ 'td', 'th' ],\n unsupported: false\n },\n checkbox: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-checked', 'aria-required', 'aria-readonly', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n implicit: [ 'input[type=\"checkbox\"]' ],\n unsupported: false,\n allowedElements: [ 'button' ]\n },\n columnheader: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-rowindex', 'aria-rowspan', 'aria-required', 'aria-readonly', 'aria-selected', 'aria-sort', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'row' ],\n implicit: [ 'th' ],\n unsupported: false\n },\n combobox: {\n type: 'composite',\n attributes: {\n allowed: [ 'aria-autocomplete', 'aria-required', 'aria-activedescendant', 'aria-orientation', 'aria-errormessage' ],\n required: [ 'aria-expanded' ]\n },\n owned: {\n all: [ 'listbox', 'tree', 'grid', 'dialog', 'textbox' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ {\n nodeName: 'input',\n properties: {\n type: [ 'text', 'search', 'tel', 'url', 'email' ]\n }\n } ]\n },\n command: {\n nameFrom: [ 'author' ],\n type: 'abstract',\n unsupported: false\n },\n complementary: {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'aside' ],\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n composite: {\n nameFrom: [ 'author' ],\n type: 'abstract',\n unsupported: false\n },\n contentinfo: {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'footer' ],\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n definition: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'dd', 'dfn' ],\n unsupported: false\n },\n dialog: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-modal', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'dialog' ],\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n directory: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'ol', 'ul' ]\n },\n document: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'body' ],\n unsupported: false,\n allowedElements: [ 'article', 'embed', 'iframe', 'object', 'section', 'svg' ]\n },\n 'doc-abstract': {\n type: 'section',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-acknowledgments': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-afterword': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-appendix': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-backlink': {\n type: 'link',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n unsupported: false,\n allowedElements: [ {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n 'doc-biblioentry': {\n type: 'listitem',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: [ 'doc-bibliography' ],\n unsupported: false,\n allowedElements: [ 'li' ]\n },\n 'doc-bibliography': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: {\n one: [ 'doc-biblioentry' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-biblioref': {\n type: 'link',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n unsupported: false,\n allowedElements: [ {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n 'doc-chapter': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-colophon': {\n type: 'section',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-conclusion': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-cover': {\n type: 'img',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false\n },\n 'doc-credit': {\n type: 'section',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-credits': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-dedication': {\n type: 'section',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-endnote': {\n type: 'listitem',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: [ 'doc-endnotes' ],\n unsupported: false,\n allowedElements: [ 'li' ]\n },\n 'doc-endnotes': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: {\n one: [ 'doc-endnote' ]\n },\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-epigraph': {\n type: 'section',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false\n },\n 'doc-epilogue': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-errata': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-example': {\n type: 'section',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'aside', 'section' ]\n },\n 'doc-footnote': {\n type: 'section',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'aside', 'footer', 'header' ]\n },\n 'doc-foreword': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-glossary': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: [ 'term', 'definition' ],\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'dl' ]\n },\n 'doc-glossref': {\n type: 'link',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author', 'contents' ],\n context: null,\n unsupported: false,\n allowedElements: [ {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n 'doc-index': {\n type: 'navigation',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'nav', 'section' ]\n },\n 'doc-introduction': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-noteref': {\n type: 'link',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author', 'contents' ],\n context: null,\n unsupported: false,\n allowedElements: [ {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n 'doc-notice': {\n type: 'note',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-pagebreak': {\n type: 'separator',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'hr' ]\n },\n 'doc-pagelist': {\n type: 'navigation',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'nav', 'section' ]\n },\n 'doc-part': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-preface': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-prologue': {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-pullquote': {\n type: 'none',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'aside', 'section' ]\n },\n 'doc-qna': {\n type: 'section',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n 'doc-subtitle': {\n type: 'sectionhead',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: {\n nodeName: [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ]\n }\n },\n 'doc-tip': {\n type: 'note',\n attributes: {\n allowed: [ 'aria-expanded' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'aside' ]\n },\n 'doc-toc': {\n type: 'navigation',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n namefrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'nav', 'section' ]\n },\n feed: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: {\n one: [ 'article' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'article', 'aside', 'section' ]\n },\n figure: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n implicit: [ 'figure' ],\n unsupported: false\n },\n form: {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'form' ],\n unsupported: false\n },\n grid: {\n type: 'composite',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-colcount', 'aria-level', 'aria-multiselectable', 'aria-readonly', 'aria-rowcount', 'aria-errormessage' ]\n },\n owned: {\n one: [ 'rowgroup', 'row' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'table' ],\n unsupported: false\n },\n gridcell: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-rowindex', 'aria-rowspan', 'aria-selected', 'aria-readonly', 'aria-required', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'row' ],\n implicit: [ 'td', 'th' ],\n unsupported: false\n },\n group: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'details', 'optgroup' ],\n unsupported: false,\n allowedElements: [ 'dl', 'figcaption', 'fieldset', 'figure', 'footer', 'header', 'ol', 'ul' ]\n },\n heading: {\n type: 'structure',\n attributes: {\n required: [ 'aria-level' ],\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n implicit: [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ],\n unsupported: false\n },\n img: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'img' ],\n unsupported: false,\n allowedElements: [ 'embed', 'iframe', 'object', 'svg' ]\n },\n input: {\n nameFrom: [ 'author' ],\n type: 'abstract',\n unsupported: false\n },\n landmark: {\n nameFrom: [ 'author' ],\n type: 'abstract',\n unsupported: false\n },\n link: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n implicit: [ 'a[href]', 'area[href]' ],\n unsupported: false,\n allowedElements: [ 'button', {\n nodeName: 'input',\n properties: {\n type: [ 'image', 'button' ]\n }\n } ]\n },\n list: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: {\n all: [ 'listitem' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'ol', 'ul', 'dl' ],\n unsupported: false\n },\n listbox: {\n type: 'composite',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-multiselectable', 'aria-readonly', 'aria-required', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n },\n owned: {\n all: [ 'option' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'select' ],\n unsupported: false,\n allowedElements: [ 'ol', 'ul' ]\n },\n listitem: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'list' ],\n implicit: [ 'li', 'dt' ],\n unsupported: false\n },\n log: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n main: {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'main' ],\n unsupported: false,\n allowedElements: [ 'article', 'section' ]\n },\n marquee: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n math: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'math' ],\n unsupported: false\n },\n menu: {\n type: 'composite',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n },\n owned: {\n one: [ 'menuitem', 'menuitemradio', 'menuitemcheckbox' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'menu[type=\"context\"]' ],\n unsupported: false,\n allowedElements: [ 'ol', 'ul' ]\n },\n menubar: {\n type: 'composite',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n },\n owned: {\n one: [ 'menuitem', 'menuitemradio', 'menuitemcheckbox' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'ol', 'ul' ]\n },\n menuitem: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'menu', 'menubar' ],\n implicit: [ 'menuitem[type=\"command\"]' ],\n unsupported: false,\n allowedElements: [ 'button', 'li', {\n nodeName: 'iput',\n properties: {\n type: [ 'image', 'button' ]\n }\n }, {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n menuitemcheckbox: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-checked', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'menu', 'menubar' ],\n implicit: [ 'menuitem[type=\"checkbox\"]' ],\n unsupported: false,\n allowedElements: [ {\n nodeName: [ 'button', 'li' ]\n }, {\n nodeName: 'input',\n properties: {\n type: [ 'checkbox', 'image', 'button' ]\n }\n }, {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n menuitemradio: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-checked', 'aria-selected', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'menu', 'menubar' ],\n implicit: [ 'menuitem[type=\"radio\"]' ],\n unsupported: false,\n allowedElements: [ {\n nodeName: [ 'button', 'li' ]\n }, {\n nodeName: 'input',\n properties: {\n type: [ 'image', 'button', 'radio' ]\n }\n }, {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n navigation: {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'nav' ],\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n none: {\n type: 'structure',\n attributes: null,\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ {\n nodeName: [ 'article', 'aside', 'dl', 'embed', 'figcaption', 'fieldset', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'iframe', 'li', 'ol', 'section', 'ul' ]\n }, {\n nodeName: 'img',\n attributes: {\n alt: isNotNull\n }\n } ]\n },\n note: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'aside' ]\n },\n option: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-selected', 'aria-posinset', 'aria-setsize', 'aria-checked', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'listbox' ],\n implicit: [ 'option' ],\n unsupported: false,\n allowedElements: [ {\n nodeName: [ 'button', 'li' ]\n }, {\n nodeName: 'input',\n properties: {\n type: [ 'checkbox', 'button' ]\n }\n }, {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n presentation: {\n type: 'structure',\n attributes: null,\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ {\n nodeName: [ 'article', 'aside', 'dl', 'embed', 'figcaption', 'fieldset', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'iframe', 'li', 'ol', 'section', 'ul' ]\n }, {\n nodeName: 'img',\n attributes: {\n alt: isNotNull\n }\n } ]\n },\n progressbar: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-valuetext', 'aria-valuenow', 'aria-valuemax', 'aria-valuemin', 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'progress' ],\n unsupported: false\n },\n radio: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-selected', 'aria-posinset', 'aria-setsize', 'aria-required', 'aria-errormessage', 'aria-checked' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n implicit: [ 'input[type=\"radio\"]' ],\n unsupported: false,\n allowedElements: [ {\n nodeName: [ 'button', 'li' ]\n }, {\n nodeName: 'input',\n properties: {\n type: [ 'image', 'button' ]\n }\n } ]\n },\n radiogroup: {\n type: 'composite',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-required', 'aria-expanded', 'aria-readonly', 'aria-errormessage', 'aria-orientation' ]\n },\n owned: {\n all: [ 'radio' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: {\n nodeName: [ 'ol', 'ul', 'fieldset' ]\n }\n },\n range: {\n nameFrom: [ 'author' ],\n type: 'abstract',\n unsupported: false\n },\n region: {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'section[aria-label]', 'section[aria-labelledby]', 'section[title]' ],\n unsupported: false,\n allowedElements: {\n nodeName: [ 'article', 'aside' ]\n }\n },\n roletype: {\n type: 'abstract',\n unsupported: false\n },\n row: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-colindex', 'aria-expanded', 'aria-level', 'aria-selected', 'aria-rowindex', 'aria-errormessage' ]\n },\n owned: {\n one: [ 'cell', 'columnheader', 'rowheader', 'gridcell' ]\n },\n nameFrom: [ 'author', 'contents' ],\n context: [ 'rowgroup', 'grid', 'treegrid', 'table' ],\n implicit: [ 'tr' ],\n unsupported: false\n },\n rowgroup: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-errormessage' ]\n },\n owned: {\n all: [ 'row' ]\n },\n nameFrom: [ 'author', 'contents' ],\n context: [ 'grid', 'table', 'treegrid' ],\n implicit: [ 'tbody', 'thead', 'tfoot' ],\n unsupported: false\n },\n rowheader: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-colindex', 'aria-colspan', 'aria-expanded', 'aria-rowindex', 'aria-rowspan', 'aria-required', 'aria-readonly', 'aria-selected', 'aria-sort', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'row' ],\n implicit: [ 'th' ],\n unsupported: false\n },\n scrollbar: {\n type: 'widget',\n attributes: {\n required: [ 'aria-controls', 'aria-valuenow' ],\n allowed: [ 'aria-valuetext', 'aria-orientation', 'aria-errormessage', 'aria-valuemax', 'aria-valuemin' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false\n },\n search: {\n type: 'landmark',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: {\n nodeName: [ 'aside', 'form', 'section' ]\n }\n },\n searchbox: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-readonly', 'aria-required', 'aria-placeholder', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'input[type=\"search\"]' ],\n unsupported: false,\n allowedElements: {\n nodeName: 'input',\n properties: {\n type: 'text'\n }\n }\n },\n section: {\n nameFrom: [ 'author', 'contents' ],\n type: 'abstract',\n unsupported: false\n },\n sectionhead: {\n nameFrom: [ 'author', 'contents' ],\n type: 'abstract',\n unsupported: false\n },\n select: {\n nameFrom: [ 'author' ],\n type: 'abstract',\n unsupported: false\n },\n separator: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-orientation', 'aria-valuenow', 'aria-valuemax', 'aria-valuemin', 'aria-valuetext', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'hr' ],\n unsupported: false,\n allowedElements: [ 'li' ]\n },\n slider: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-valuetext', 'aria-orientation', 'aria-readonly', 'aria-errormessage', 'aria-valuemax', 'aria-valuemin' ],\n required: [ 'aria-valuenow' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'input[type=\"range\"]' ],\n unsupported: false\n },\n spinbutton: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-valuetext', 'aria-required', 'aria-readonly', 'aria-errormessage', 'aria-valuemax', 'aria-valuemin' ],\n required: [ 'aria-valuenow' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'input[type=\"number\"]' ],\n unsupported: false,\n allowedElements: {\n nodeName: 'input',\n properties: {\n type: [ 'text', 'tel' ]\n }\n }\n },\n status: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'output' ],\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n structure: {\n type: 'abstract',\n unsupported: false\n },\n switch: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-errormessage' ],\n required: [ 'aria-checked' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'button', {\n nodeName: 'input',\n properties: {\n type: [ 'checkbox', 'image', 'button' ]\n }\n }, {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n tab: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-selected', 'aria-expanded', 'aria-setsize', 'aria-posinset', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'tablist' ],\n unsupported: false,\n allowedElements: [ {\n nodeName: [ 'button', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'li' ]\n }, {\n nodeName: 'input',\n properties: {\n type: 'button'\n }\n }, {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n table: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-colcount', 'aria-rowcount', 'aria-errormessage' ]\n },\n owned: {\n one: [ 'rowgroup', 'row' ]\n },\n nameFrom: [ 'author', 'contents' ],\n context: null,\n implicit: [ 'table' ],\n unsupported: false\n },\n tablist: {\n type: 'composite',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-level', 'aria-multiselectable', 'aria-orientation', 'aria-errormessage' ]\n },\n owned: {\n all: [ 'tab' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'ol', 'ul' ]\n },\n tabpanel: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'section' ]\n },\n term: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n implicit: [ 'dt' ],\n unsupported: false\n },\n textbox: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-readonly', 'aria-required', 'aria-placeholder', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'input[type=\"text\"]', 'input[type=\"email\"]', 'input[type=\"password\"]', 'input[type=\"tel\"]', 'input[type=\"url\"]', 'input:not([type])', 'textarea' ],\n unsupported: false\n },\n timer: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false\n },\n toolbar: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author' ],\n context: null,\n implicit: [ 'menu[type=\"toolbar\"]' ],\n unsupported: false,\n allowedElements: [ 'ol', 'ul' ]\n },\n tooltip: {\n type: 'structure',\n attributes: {\n allowed: [ 'aria-expanded', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: null,\n unsupported: false\n },\n tree: {\n type: 'composite',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-multiselectable', 'aria-required', 'aria-expanded', 'aria-orientation', 'aria-errormessage' ]\n },\n owned: {\n all: [ 'treeitem' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false,\n allowedElements: [ 'ol', 'ul' ]\n },\n treegrid: {\n type: 'composite',\n attributes: {\n allowed: [ 'aria-activedescendant', 'aria-colcount', 'aria-expanded', 'aria-level', 'aria-multiselectable', 'aria-readonly', 'aria-required', 'aria-rowcount', 'aria-orientation', 'aria-errormessage' ]\n },\n owned: {\n one: [ 'rowgroup', 'row' ]\n },\n nameFrom: [ 'author' ],\n context: null,\n unsupported: false\n },\n treeitem: {\n type: 'widget',\n attributes: {\n allowed: [ 'aria-checked', 'aria-selected', 'aria-expanded', 'aria-level', 'aria-posinset', 'aria-setsize', 'aria-errormessage' ]\n },\n owned: null,\n nameFrom: [ 'author', 'contents' ],\n context: [ 'group', 'tree' ],\n unsupported: false,\n allowedElements: [ 'li', {\n nodeName: 'a',\n attributes: {\n href: isNotNull\n }\n } ]\n },\n widget: {\n type: 'abstract',\n unsupported: false\n },\n window: {\n nameFrom: [ 'author' ],\n type: 'abstract',\n unsupported: false\n }\n };\n lookupTable.implicitHtmlRole = implicit_html_roles_default;\n lookupTable.elementsAllowedNoRole = [ {\n nodeName: [ 'base', 'body', 'caption', 'col', 'colgroup', 'datalist', 'dd', 'details', 'dt', 'head', 'html', 'keygen', 'label', 'legend', 'main', 'map', 'math', 'meta', 'meter', 'noscript', 'optgroup', 'param', 'picture', 'progress', 'script', 'source', 'style', 'template', 'textarea', 'title', 'track' ]\n }, {\n nodeName: 'area',\n attributes: {\n href: isNotNull\n }\n }, {\n nodeName: 'input',\n properties: {\n type: [ 'color', 'data', 'datatime', 'file', 'hidden', 'month', 'number', 'password', 'range', 'reset', 'submit', 'time', 'week' ]\n }\n }, {\n nodeName: 'link',\n attributes: {\n href: isNotNull\n }\n }, {\n nodeName: 'menu',\n attributes: {\n type: 'context'\n }\n }, {\n nodeName: 'menuitem',\n attributes: {\n type: [ 'command', 'checkbox', 'radio' ]\n }\n }, {\n nodeName: 'select',\n condition: function condition(vNode) {\n if (!(vNode instanceof axe.AbstractVirtualNode)) {\n vNode = axe.utils.getNodeFromTree(vNode);\n }\n return Number(vNode.attr('size')) > 1;\n },\n properties: {\n multiple: true\n }\n }, {\n nodeName: [ 'clippath', 'cursor', 'defs', 'desc', 'feblend', 'fecolormatrix', 'fecomponenttransfer', 'fecomposite', 'feconvolvematrix', 'fediffuselighting', 'fedisplacementmap', 'fedistantlight', 'fedropshadow', 'feflood', 'fefunca', 'fefuncb', 'fefuncg', 'fefuncr', 'fegaussianblur', 'feimage', 'femerge', 'femergenode', 'femorphology', 'feoffset', 'fepointlight', 'fespecularlighting', 'fespotlight', 'fetile', 'feturbulence', 'filter', 'hatch', 'hatchpath', 'lineargradient', 'marker', 'mask', 'meshgradient', 'meshpatch', 'meshrow', 'metadata', 'mpath', 'pattern', 'radialgradient', 'solidcolor', 'stop', 'switch', 'view' ]\n } ];\n lookupTable.elementsAllowedAnyRole = [ {\n nodeName: 'a',\n attributes: {\n href: isNull\n }\n }, {\n nodeName: 'img',\n attributes: {\n alt: isNull\n }\n }, {\n nodeName: [ 'abbr', 'address', 'canvas', 'div', 'p', 'pre', 'blockquote', 'ins', 'del', 'output', 'span', 'table', 'tbody', 'thead', 'tfoot', 'td', 'em', 'strong', 'small', 's', 'cite', 'q', 'dfn', 'abbr', 'time', 'code', 'var', 'samp', 'kbd', 'sub', 'sup', 'i', 'b', 'u', 'mark', 'ruby', 'rt', 'rp', 'bdi', 'bdo', 'br', 'wbr', 'th', 'tr' ]\n } ];\n lookupTable.evaluateRoleForElement = {\n A: function A(_ref84) {\n var node = _ref84.node, out = _ref84.out;\n if (node.namespaceURI === 'http://www.w3.org/2000/svg') {\n return true;\n }\n if (node.href.length) {\n return out;\n }\n return true;\n },\n AREA: function AREA(_ref85) {\n var node = _ref85.node;\n return !node.href;\n },\n BUTTON: function BUTTON(_ref86) {\n var node = _ref86.node, role = _ref86.role, out = _ref86.out;\n if (node.getAttribute('type') === 'menu') {\n return role === 'menuitem';\n }\n return out;\n },\n IMG: function IMG(_ref87) {\n var node = _ref87.node, role = _ref87.role, out = _ref87.out;\n switch (node.alt) {\n case null:\n return out;\n\n case '':\n return role === 'presentation' || role === 'none';\n\n default:\n return role !== 'presentation' && role !== 'none';\n }\n },\n INPUT: function INPUT(_ref88) {\n var node = _ref88.node, role = _ref88.role, out = _ref88.out;\n switch (node.type) {\n case 'button':\n case 'image':\n return out;\n\n case 'checkbox':\n if (role === 'button' && node.hasAttribute('aria-pressed')) {\n return true;\n }\n return out;\n\n case 'radio':\n return role === 'menuitemradio';\n\n case 'text':\n return role === 'combobox' || role === 'searchbox' || role === 'spinbutton';\n\n case 'tel':\n return role === 'combobox' || role === 'spinbutton';\n\n case 'url':\n case 'search':\n case 'email':\n return role === 'combobox';\n\n default:\n return false;\n }\n },\n LI: function LI(_ref89) {\n var node = _ref89.node, out = _ref89.out;\n var hasImplicitListitemRole = axe.utils.matchesSelector(node, 'ol li, ul li');\n if (hasImplicitListitemRole) {\n return out;\n }\n return true;\n },\n MENU: function MENU(_ref90) {\n var node = _ref90.node;\n if (node.getAttribute('type') === 'context') {\n return false;\n }\n return true;\n },\n OPTION: function OPTION(_ref91) {\n var node = _ref91.node;\n var withinOptionList = axe.utils.matchesSelector(node, 'select > option, datalist > option, optgroup > option');\n return !withinOptionList;\n },\n SELECT: function SELECT(_ref92) {\n var node = _ref92.node, role = _ref92.role;\n return !node.multiple && node.size <= 1 && role === 'menu';\n },\n SVG: function SVG(_ref93) {\n var node = _ref93.node, out = _ref93.out;\n if (node.parentNode && node.parentNode.namespaceURI === 'http://www.w3.org/2000/svg') {\n return true;\n }\n return out;\n }\n };\n lookupTable.rolesOfType = {\n widget: [ 'button', 'checkbox', 'dialog', 'gridcell', 'link', 'log', 'marquee', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'progressbar', 'radio', 'scrollbar', 'searchbox', 'slider', 'spinbutton', 'status', 'switch', 'tab', 'tabpanel', 'textbox', 'timer', 'tooltip', 'tree', 'treeitem' ]\n };\n var lookup_table_default = lookupTable;\n function implicitNodes(role) {\n var implicit = null;\n var roles = lookup_table_default.role[role];\n if (roles && roles.implicit) {\n implicit = _clone(roles.implicit);\n }\n return implicit;\n }\n var implicit_nodes_default = implicitNodes;\n function isAccessibleRef(node) {\n return !!get_accessible_refs_default(node).length;\n }\n var is_accessible_ref_default = isAccessibleRef;\n function _isComboboxPopup(virtualNode) {\n var _popupRoles;\n var _ref94 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, popupRoles = _ref94.popupRoles;\n var role = get_role_default(virtualNode);\n (_popupRoles = popupRoles) !== null && _popupRoles !== void 0 ? _popupRoles : popupRoles = aria_attrs_default['aria-haspopup'].values;\n if (!popupRoles.includes(role)) {\n return false;\n }\n var vParent = nearestParentWithRole(virtualNode);\n if (isCombobox(vParent)) {\n return true;\n }\n var id = virtualNode.props.id;\n if (!id) {\n return false;\n }\n if (!virtualNode.actualNode) {\n throw new Error('Unable to determine combobox popup without an actualNode');\n }\n var root = get_root_node_default(virtualNode.actualNode);\n var ownedCombobox = root.querySelectorAll('[aria-owns~=\"'.concat(id, '\"][role~=\"combobox\"]:not(select),\\n [aria-controls~=\"').concat(id, '\"][role~=\"combobox\"]:not(select)'));\n return Array.from(ownedCombobox).some(isCombobox);\n }\n var isCombobox = function isCombobox(node) {\n return node && get_role_default(node) === 'combobox';\n };\n function nearestParentWithRole(vNode) {\n while (vNode = vNode.parent) {\n if (get_role_default(vNode, {\n noPresentational: true\n }) !== null) {\n return vNode;\n }\n }\n return null;\n }\n function label2(node) {\n node = get_node_from_tree_default(node);\n return label_virtual_default(node);\n }\n var label_default2 = label2;\n function requiredAttr(role) {\n var roleDef = standards_default.ariaRoles[role];\n if (!roleDef || !Array.isArray(roleDef.requiredAttrs)) {\n return [];\n }\n return _toConsumableArray(roleDef.requiredAttrs);\n }\n var required_attr_default = requiredAttr;\n function requiredContext(role) {\n var roleDef = standards_default.ariaRoles[role];\n if (!roleDef || !Array.isArray(roleDef.requiredContext)) {\n return null;\n }\n return _toConsumableArray(roleDef.requiredContext);\n }\n var required_context_default = requiredContext;\n function requiredOwned(role) {\n var roleDef = standards_default.ariaRoles[role];\n if (!roleDef || !Array.isArray(roleDef.requiredOwned)) {\n return null;\n }\n return _toConsumableArray(roleDef.requiredOwned);\n }\n var required_owned_default = requiredOwned;\n function validateAttrValue(vNode, attr) {\n vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);\n var matches4;\n var list;\n var value = vNode.attr(attr);\n var attrInfo = standards_default.ariaAttrs[attr];\n if (!attrInfo) {\n return true;\n }\n if (attrInfo.allowEmpty && (!value || value.trim() === '')) {\n return true;\n }\n switch (attrInfo.type) {\n case 'boolean':\n return [ 'true', 'false' ].includes(value.toLowerCase());\n\n case 'nmtoken':\n return typeof value === 'string' && attrInfo.values.includes(value.toLowerCase());\n\n case 'nmtokens':\n list = token_list_default(value);\n return list.reduce(function(result, token) {\n return result && attrInfo.values.includes(token);\n }, list.length !== 0);\n\n case 'idref':\n try {\n var doc = get_root_node_default2(vNode.actualNode);\n return !!(value && doc.getElementById(value));\n } catch (e) {\n throw new TypeError('Cannot resolve id references for partial DOM');\n }\n\n case 'idrefs':\n return idrefs_default(vNode, attr).some(function(node) {\n return !!node;\n });\n\n case 'string':\n return value.trim() !== '';\n\n case 'decimal':\n matches4 = value.match(/^[-+]?([0-9]*)\\.?([0-9]*)$/);\n return !!(matches4 && (matches4[1] || matches4[2]));\n\n case 'int':\n var minValue = typeof attrInfo.minValue !== 'undefined' ? attrInfo.minValue : -Infinity;\n return /^[-+]?[0-9]+$/.test(value) && parseInt(value) >= minValue;\n }\n }\n var validate_attr_value_default = validateAttrValue;\n function validateAttr(att) {\n var attrDefinition = standards_default.ariaAttrs[att];\n return !!attrDefinition;\n }\n var validate_attr_default = validateAttr;\n function tdHasHeaderEvaluate(node) {\n var badCells = [];\n var cells = get_all_cells_default(node);\n var tableGrid = to_grid_default(node);\n cells.forEach(function(cell) {\n if (has_content_default(cell) && is_data_cell_default(cell) && !label_default2(cell)) {\n var hasHeaders = get_headers_default(cell, tableGrid).some(function(header) {\n return header !== null && !!has_content_default(header);\n });\n if (!hasHeaders) {\n badCells.push(cell);\n }\n }\n });\n if (badCells.length) {\n this.relatedNodes(badCells);\n return false;\n }\n return true;\n }\n var td_has_header_evaluate_default = tdHasHeaderEvaluate;\n function scopeValueEvaluate(node, options) {\n var value = node.getAttribute('scope').toLowerCase();\n return options.values.indexOf(value) !== -1;\n }\n var scope_value_evaluate_default = scopeValueEvaluate;\n var same_caption_summary_evaluate_default = sameCaptionSummaryEvaluate;\n function sameCaptionSummaryEvaluate(node, options, virtualNode) {\n if (virtualNode.children === void 0) {\n return void 0;\n }\n var summary = virtualNode.attr('summary');\n var captionNode = virtualNode.children.find(isCaptionNode);\n var caption = captionNode ? sanitize_default(subtree_text_default(captionNode)) : false;\n if (!caption || !summary) {\n return false;\n }\n return sanitize_default(summary).toLowerCase() === sanitize_default(caption).toLowerCase();\n }\n function isCaptionNode(virtualNode) {\n return virtualNode.props.nodeName === 'caption';\n }\n function html5ScopeEvaluate(node) {\n if (!is_html5_default(document)) {\n return true;\n }\n return node.nodeName.toUpperCase() === 'TH';\n }\n var html5_scope_evaluate_default = html5ScopeEvaluate;\n function captionFakedEvaluate(node) {\n var table = to_grid_default(node);\n var firstRow = table[0];\n if (table.length <= 1 || firstRow.length <= 1 || node.rows.length <= 1) {\n return true;\n }\n return firstRow.reduce(function(out, curr, i) {\n return out || curr !== firstRow[i + 1] && firstRow[i + 1] !== void 0;\n }, false);\n }\n var caption_faked_evaluate_default = captionFakedEvaluate;\n function svgNonEmptyTitleEvaluate(node, options, virtualNode) {\n if (!virtualNode.children) {\n return void 0;\n }\n var titleNode = virtualNode.children.find(function(_ref95) {\n var props = _ref95.props;\n return props.nodeName === 'title';\n });\n if (!titleNode) {\n this.data({\n messageKey: 'noTitle'\n });\n return false;\n }\n try {\n var titleText2 = subtree_text_default(titleNode, {\n includeHidden: true\n }).trim();\n if (titleText2 === '') {\n this.data({\n messageKey: 'emptyTitle'\n });\n return false;\n }\n } catch (e) {\n return void 0;\n }\n return true;\n }\n var svg_non_empty_title_evaluate_default = svgNonEmptyTitleEvaluate;\n var standards_exports = {};\n __export(standards_exports, {\n getAriaRolesByType: function getAriaRolesByType() {\n return get_aria_roles_by_type_default;\n },\n getAriaRolesSupportingNameFromContent: function getAriaRolesSupportingNameFromContent() {\n return get_aria_roles_supporting_name_from_content_default;\n },\n getElementSpec: function getElementSpec() {\n return get_element_spec_default;\n },\n getElementsByContentType: function getElementsByContentType() {\n return get_elements_by_content_type_default;\n },\n getGlobalAriaAttrs: function getGlobalAriaAttrs() {\n return get_global_aria_attrs_default;\n },\n implicitHtmlRoles: function implicitHtmlRoles() {\n return implicit_html_roles_default;\n }\n });\n function presentationalRoleEvaluate(node, options, virtualNode) {\n var explicitRole2 = get_explicit_role_default(virtualNode);\n if ([ 'presentation', 'none' ].includes(explicitRole2) && [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName) && virtualNode.hasAttr('title')) {\n this.data({\n messageKey: 'iframe',\n nodeName: virtualNode.props.nodeName\n });\n return false;\n }\n var role = get_role_default(virtualNode);\n if ([ 'presentation', 'none' ].includes(role)) {\n this.data({\n role: role\n });\n return true;\n }\n if (![ 'presentation', 'none' ].includes(explicitRole2)) {\n return false;\n }\n var hasGlobalAria = get_global_aria_attrs_default().some(function(attr) {\n return virtualNode.hasAttr(attr);\n });\n var focusable = _isFocusable(virtualNode);\n var messageKey;\n if (hasGlobalAria && !focusable) {\n messageKey = 'globalAria';\n } else if (!hasGlobalAria && focusable) {\n messageKey = 'focusable';\n } else {\n messageKey = 'both';\n }\n this.data({\n messageKey: messageKey,\n role: role\n });\n return false;\n }\n function nonEmptyIfPresentEvaluate(node, options, virtualNode) {\n var nodeName2 = virtualNode.props.nodeName;\n var type2 = (virtualNode.attr('type') || '').toLowerCase();\n var label3 = virtualNode.attr('value');\n if (label3) {\n this.data({\n messageKey: 'has-label'\n });\n }\n if (nodeName2 === 'input' && [ 'submit', 'reset' ].includes(type2)) {\n return label3 === null;\n }\n return false;\n }\n var non_empty_if_present_evaluate_default = nonEmptyIfPresentEvaluate;\n function isOnScreenEvaluate(node) {\n return _isVisibleOnScreen(node);\n }\n var is_on_screen_evaluate_default = isOnScreenEvaluate;\n function inlineStyleProperty(node, options) {\n var cssProperty = options.cssProperty, absoluteValues = options.absoluteValues, minValue = options.minValue, maxValue = options.maxValue, _options$normalValue = options.normalValue, normalValue = _options$normalValue === void 0 ? 0 : _options$normalValue, noImportant = options.noImportant, multiLineOnly = options.multiLineOnly;\n if (!noImportant && node.style.getPropertyPriority(cssProperty) !== 'important' || multiLineOnly && !_isMultiline(node)) {\n return true;\n }\n var data = {};\n if (typeof minValue === 'number') {\n data.minValue = minValue;\n }\n if (typeof maxValue === 'number') {\n data.maxValue = maxValue;\n }\n var declaredPropValue = node.style.getPropertyValue(cssProperty);\n if ([ 'inherit', 'unset', 'revert', 'revert-layer' ].includes(declaredPropValue)) {\n this.data(_extends({\n value: declaredPropValue\n }, data));\n return true;\n }\n var value = getNumberValue(node, {\n absoluteValues: absoluteValues,\n cssProperty: cssProperty,\n normalValue: normalValue\n });\n this.data(_extends({\n value: value\n }, data));\n if (typeof value !== 'number') {\n return void 0;\n }\n if ((typeof minValue !== 'number' || value >= minValue) && (typeof maxValue !== 'number' || value <= maxValue)) {\n return true;\n }\n return false;\n }\n function getNumberValue(domNode, _ref96) {\n var cssProperty = _ref96.cssProperty, absoluteValues = _ref96.absoluteValues, normalValue = _ref96.normalValue;\n var computedStyle = window.getComputedStyle(domNode);\n var cssPropValue = computedStyle.getPropertyValue(cssProperty);\n if (cssPropValue === 'normal') {\n return normalValue;\n }\n var parsedValue = parseFloat(cssPropValue);\n if (absoluteValues) {\n return parsedValue;\n }\n var fontSize = parseFloat(computedStyle.getPropertyValue('font-size'));\n var value = Math.round(parsedValue / fontSize * 100) / 100;\n if (isNaN(value)) {\n return cssPropValue;\n }\n return value;\n }\n function hasAltEvaluate(node, options, virtualNode) {\n var nodeName2 = virtualNode.props.nodeName;\n if (![ 'img', 'input', 'area' ].includes(nodeName2)) {\n return false;\n }\n return virtualNode.hasAttr('alt');\n }\n var has_alt_evaluate_default = hasAltEvaluate;\n function existsEvaluate() {\n return void 0;\n }\n var exists_evaluate_default = existsEvaluate;\n function docHasTitleEvaluate() {\n var title = document.title;\n return !!sanitize_default(title);\n }\n var doc_has_title_evaluate_default = docHasTitleEvaluate;\n function avoidInlineSpacingEvaluate(node, options) {\n var overriddenProperties = options.cssProperties.filter(function(property) {\n if (node.style.getPropertyPriority(property) === 'important') {\n return property;\n }\n });\n if (overriddenProperties.length > 0) {\n this.data(overriddenProperties);\n return false;\n }\n return true;\n }\n var avoid_inline_spacing_evaluate_default = avoidInlineSpacingEvaluate;\n function ariaLabelledbyEvaluate(node, options, virtualNode) {\n try {\n return !!sanitize_default(arialabelledby_text_default(virtualNode));\n } catch (e) {\n return void 0;\n }\n }\n var aria_labelledby_evaluate_default = ariaLabelledbyEvaluate;\n function ariaLabelEvaluate(node, options, virtualNode) {\n return !!sanitize_default(_arialabelText(virtualNode));\n }\n var aria_label_evaluate_default = ariaLabelEvaluate;\n function duplicateIdEvaluate(node) {\n var id = node.getAttribute('id').trim();\n if (!id) {\n return true;\n }\n var root = get_root_node_default2(node);\n var matchingNodes = Array.from(root.querySelectorAll('[id=\"'.concat(escape_selector_default(id), '\"]'))).filter(function(foundNode) {\n return foundNode !== node;\n });\n if (matchingNodes.length) {\n this.relatedNodes(matchingNodes);\n }\n this.data(id);\n return matchingNodes.length === 0;\n }\n var duplicate_id_evaluate_default = duplicateIdEvaluate;\n function duplicateIdAfter(results) {\n var uniqueIds = [];\n return results.filter(function(r) {\n if (uniqueIds.indexOf(r.data) === -1) {\n uniqueIds.push(r.data);\n return true;\n }\n return false;\n });\n }\n var duplicate_id_after_default = duplicateIdAfter;\n function uniqueFrameTitleEvaluate(node, options, vNode) {\n var title = sanitize_default(vNode.attr('title')).toLowerCase();\n this.data(title);\n return true;\n }\n var unique_frame_title_evaluate_default = uniqueFrameTitleEvaluate;\n function uniqueFrameTitleAfter(results) {\n var titles = {};\n results.forEach(function(r) {\n titles[r.data] = titles[r.data] !== void 0 ? ++titles[r.data] : 0;\n });\n results.forEach(function(r) {\n r.result = !!titles[r.data];\n });\n return results;\n }\n var unique_frame_title_after_default = uniqueFrameTitleAfter;\n function skipLinkEvaluate(node) {\n var target = get_element_by_reference_default(node, 'href');\n if (target) {\n return _isVisibleToScreenReaders(target) || void 0;\n }\n return false;\n }\n var skip_link_evaluate_default = skipLinkEvaluate;\n var implicitAriaLiveRoles = [ 'alert', 'log', 'status' ];\n function regionEvaluate(node, options, virtualNode) {\n this.data({\n isIframe: [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName)\n });\n var regionlessNodes = cache_default.get('regionlessNodes', function() {\n return getRegionlessNodes(options);\n });\n return !regionlessNodes.includes(virtualNode);\n }\n function getRegionlessNodes(options) {\n var regionlessNodes = findRegionlessElms(axe._tree[0], options).map(function(vNode) {\n while (vNode.parent && !vNode.parent._hasRegionDescendant && vNode.parent.actualNode !== document.body) {\n vNode = vNode.parent;\n }\n return vNode;\n }).filter(function(vNode, index, array) {\n return array.indexOf(vNode) === index;\n });\n return regionlessNodes;\n }\n function findRegionlessElms(virtualNode, options) {\n var node = virtualNode.actualNode;\n if (get_role_default(virtualNode) === 'button' || isRegion(virtualNode, options) || [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName) || _isSkipLink(virtualNode.actualNode) && get_element_by_reference_default(virtualNode.actualNode, 'href') || !_isVisibleToScreenReaders(node)) {\n var vNode = virtualNode;\n while (vNode) {\n vNode._hasRegionDescendant = true;\n vNode = vNode.parent;\n }\n if ([ 'iframe', 'frame' ].includes(virtualNode.props.nodeName)) {\n return [ virtualNode ];\n }\n return [];\n } else if (node !== document.body && has_content_default(node, true) && !isShallowlyHidden(virtualNode)) {\n return [ virtualNode ];\n } else {\n return virtualNode.children.filter(function(_ref97) {\n var actualNode = _ref97.actualNode;\n return actualNode.nodeType === 1;\n }).map(function(vNode) {\n return findRegionlessElms(vNode, options);\n }).reduce(function(a2, b2) {\n return a2.concat(b2);\n }, []);\n }\n }\n function isShallowlyHidden(virtualNode) {\n return [ 'none', 'presentation' ].includes(get_role_default(virtualNode)) && !hasChildTextNodes(virtualNode);\n }\n function isRegion(virtualNode, options) {\n var node = virtualNode.actualNode;\n var role = get_role_default(virtualNode);\n var ariaLive = (node.getAttribute('aria-live') || '').toLowerCase().trim();\n var landmarkRoles2 = get_aria_roles_by_type_default('landmark');\n if ([ 'assertive', 'polite' ].includes(ariaLive) || implicitAriaLiveRoles.includes(role)) {\n return true;\n }\n if (landmarkRoles2.includes(role)) {\n return true;\n }\n if (options.regionMatcher && matches_default2(virtualNode, options.regionMatcher)) {\n return true;\n }\n return false;\n }\n function regionAfter(results) {\n var iframeResults = results.filter(function(r) {\n return r.data.isIframe;\n });\n results.forEach(function(r) {\n if (r.result || r.node.ancestry.length === 1) {\n return;\n }\n var frameAncestry = r.node.ancestry.slice(0, -1);\n var _iterator15 = _createForOfIteratorHelper(iframeResults), _step15;\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done; ) {\n var iframeResult = _step15.value;\n if (_matchAncestry(frameAncestry, iframeResult.node.ancestry)) {\n r.result = iframeResult.result;\n break;\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n });\n iframeResults.forEach(function(r) {\n if (!r.result) {\n r.result = true;\n }\n });\n return results;\n }\n var region_after_default = regionAfter;\n function normalizeFontWeight(weight) {\n switch (weight) {\n case 'lighter':\n return 100;\n\n case 'normal':\n return 400;\n\n case 'bold':\n return 700;\n\n case 'bolder':\n return 900;\n }\n weight = parseInt(weight);\n return !isNaN(weight) ? weight : 400;\n }\n function getTextContainer(elm) {\n var nextNode = elm;\n var outerText = elm.textContent.trim();\n var innerText = outerText;\n while (innerText === outerText && nextNode !== void 0) {\n var _i30 = -1;\n elm = nextNode;\n if (elm.children.length === 0) {\n return elm;\n }\n do {\n _i30++;\n innerText = elm.children[_i30].textContent.trim();\n } while (innerText === '' && _i30 + 1 < elm.children.length);\n nextNode = elm.children[_i30];\n }\n return elm;\n }\n function getStyleValues(node) {\n var style = window.getComputedStyle(getTextContainer(node));\n return {\n fontWeight: normalizeFontWeight(style.getPropertyValue('font-weight')),\n fontSize: parseInt(style.getPropertyValue('font-size')),\n isItalic: style.getPropertyValue('font-style') === 'italic'\n };\n }\n function isHeaderStyle(styleA, styleB, margins) {\n return margins.reduce(function(out, margin) {\n return out || (!margin.size || styleA.fontSize / margin.size > styleB.fontSize) && (!margin.weight || styleA.fontWeight - margin.weight > styleB.fontWeight) && (!margin.italic || styleA.isItalic && !styleB.isItalic);\n }, false);\n }\n function pAsHeadingEvaluate(node, options, virtualNode) {\n var siblings = Array.from(node.parentNode.children);\n var currentIndex = siblings.indexOf(node);\n options = options || {};\n var margins = options.margins || [];\n var nextSibling = siblings.slice(currentIndex + 1).find(function(elm) {\n return elm.nodeName.toUpperCase() === 'P';\n });\n var prevSibling = siblings.slice(0, currentIndex).reverse().find(function(elm) {\n return elm.nodeName.toUpperCase() === 'P';\n });\n var currStyle = getStyleValues(node);\n var nextStyle = nextSibling ? getStyleValues(nextSibling) : null;\n var prevStyle = prevSibling ? getStyleValues(prevSibling) : null;\n var optionsPassLength = options.passLength;\n var optionsFailLength = options.failLength;\n var headingLength = node.textContent.trim().length;\n var paragraphLength = nextSibling === null || nextSibling === void 0 ? void 0 : nextSibling.textContent.trim().length;\n if (headingLength > paragraphLength * optionsPassLength) {\n return true;\n }\n if (!nextStyle || !isHeaderStyle(currStyle, nextStyle, margins)) {\n return true;\n }\n var blockquote = find_up_virtual_default(virtualNode, 'blockquote');\n if (blockquote && blockquote.nodeName.toUpperCase() === 'BLOCKQUOTE') {\n return void 0;\n }\n if (prevStyle && !isHeaderStyle(currStyle, prevStyle, margins)) {\n return void 0;\n }\n if (headingLength > paragraphLength * optionsFailLength) {\n return void 0;\n }\n return false;\n }\n var p_as_heading_evaluate_default = pAsHeadingEvaluate;\n var separatorRegex = /[;,\\s]/;\n var validRedirectNumRegex = /^[0-9.]+$/;\n function metaRefreshEvaluate(node, options, virtualNode) {\n var _ref98 = options || {}, minDelay = _ref98.minDelay, maxDelay = _ref98.maxDelay;\n var content = (virtualNode.attr('content') || '').trim();\n var _content$split = content.split(separatorRegex), _content$split2 = _slicedToArray(_content$split, 1), redirectStr = _content$split2[0];\n if (!redirectStr.match(validRedirectNumRegex)) {\n return true;\n }\n var redirectDelay = parseFloat(redirectStr);\n this.data({\n redirectDelay: redirectDelay\n });\n if (typeof minDelay === 'number' && redirectDelay <= options.minDelay) {\n return true;\n }\n if (typeof maxDelay === 'number' && redirectDelay > options.maxDelay) {\n return true;\n }\n return false;\n }\n function internalLinkPresentEvaluate(node, options, virtualNode) {\n var links = query_selector_all_default(virtualNode, 'a[href]');\n return links.some(function(vLink) {\n return /^#[^/!]/.test(vLink.attr('href'));\n });\n }\n var internal_link_present_evaluate_default = internalLinkPresentEvaluate;\n var commons_exports = {};\n __export(commons_exports, {\n aria: function aria() {\n return aria_exports;\n },\n color: function color() {\n return color_exports;\n },\n dom: function dom() {\n return dom_exports;\n },\n forms: function forms() {\n return forms_exports;\n },\n matches: function matches() {\n return matches_default2;\n },\n math: function math() {\n return math_exports;\n },\n standards: function standards() {\n return standards_exports;\n },\n table: function table() {\n return table_exports;\n },\n text: function text() {\n return text_exports;\n },\n utils: function utils() {\n return utils_exports;\n }\n });\n var color_exports = {};\n __export(color_exports, {\n Color: function Color() {\n return color_default;\n },\n centerPointOfRect: function centerPointOfRect() {\n return center_point_of_rect_default;\n },\n elementHasImage: function elementHasImage() {\n return element_has_image_default;\n },\n elementIsDistinct: function elementIsDistinct() {\n return element_is_distinct_default;\n },\n filteredRectStack: function filteredRectStack() {\n return filtered_rect_stack_default;\n },\n flattenColors: function flattenColors() {\n return _flattenColors;\n },\n flattenShadowColors: function flattenShadowColors() {\n return _flattenShadowColors;\n },\n getBackgroundColor: function getBackgroundColor() {\n return _getBackgroundColor2;\n },\n getBackgroundStack: function getBackgroundStack() {\n return _getBackgroundStack;\n },\n getContrast: function getContrast() {\n return get_contrast_default;\n },\n getForegroundColor: function getForegroundColor() {\n return _getForegroundColor;\n },\n getOwnBackgroundColor: function getOwnBackgroundColor() {\n return get_own_background_color_default;\n },\n getRectStack: function getRectStack() {\n return get_rect_stack_default;\n },\n getStackingContext: function getStackingContext() {\n return _getStackingContext;\n },\n getStrokeColorsFromShadows: function getStrokeColorsFromShadows() {\n return _getStrokeColorsFromShadows;\n },\n getTextShadowColors: function getTextShadowColors() {\n return _getTextShadowColors;\n },\n hasValidContrastRatio: function hasValidContrastRatio() {\n return has_valid_contrast_ratio_default;\n },\n incompleteData: function incompleteData() {\n return incomplete_data_default;\n },\n parseTextShadows: function parseTextShadows() {\n return _parseTextShadows;\n },\n stackingContextToColor: function stackingContextToColor() {\n return _stackingContextToColor;\n }\n });\n function centerPointOfRect(rect) {\n if (rect.left > window.innerWidth) {\n return void 0;\n }\n if (rect.top > window.innerHeight) {\n return void 0;\n }\n var x = Math.min(Math.ceil(rect.left + rect.width / 2), window.innerWidth - 1);\n var y = Math.min(Math.ceil(rect.top + rect.height / 2), window.innerHeight - 1);\n return {\n x: x,\n y: y\n };\n }\n var center_point_of_rect_default = centerPointOfRect;\n function _getFonts(style) {\n return style.getPropertyValue('font-family').split(/[,;]/g).map(function(font) {\n return font.trim().toLowerCase();\n });\n }\n function elementIsDistinct(node, ancestorNode) {\n var nodeStyle = window.getComputedStyle(node);\n if (nodeStyle.getPropertyValue('background-image') !== 'none') {\n return true;\n }\n var hasBorder = [ 'border-bottom', 'border-top', 'outline' ].reduce(function(result, edge) {\n var borderClr = new color_default();\n borderClr.parseString(nodeStyle.getPropertyValue(edge + '-color'));\n return result || nodeStyle.getPropertyValue(edge + '-style') !== 'none' && parseFloat(nodeStyle.getPropertyValue(edge + '-width')) > 0 && borderClr.alpha !== 0;\n }, false);\n if (hasBorder) {\n return true;\n }\n var parentStyle = window.getComputedStyle(ancestorNode);\n if (_getFonts(nodeStyle)[0] !== _getFonts(parentStyle)[0]) {\n return true;\n }\n var hasStyle = [ 'text-decoration-line', 'text-decoration-style', 'font-weight', 'font-style', 'font-size' ].reduce(function(result, cssProp) {\n return result || nodeStyle.getPropertyValue(cssProp) !== parentStyle.getPropertyValue(cssProp);\n }, false);\n var tDec = nodeStyle.getPropertyValue('text-decoration');\n if (tDec.split(' ').length < 3) {\n hasStyle = hasStyle || tDec !== parentStyle.getPropertyValue('text-decoration');\n }\n return hasStyle;\n }\n var element_is_distinct_default = elementIsDistinct;\n function getRectStack2(elm) {\n var boundingStack = get_element_stack_default(elm);\n var filteredArr = get_text_element_stack_default(elm);\n if (!filteredArr || filteredArr.length <= 1) {\n return [ boundingStack ];\n }\n if (filteredArr.some(function(stack) {\n return stack === void 0;\n })) {\n return null;\n }\n filteredArr.splice(0, 0, boundingStack);\n return filteredArr;\n }\n var get_rect_stack_default = getRectStack2;\n function filteredRectStack(elm) {\n var rectStack = get_rect_stack_default(elm);\n if (rectStack && rectStack.length === 1) {\n return rectStack[0];\n }\n if (rectStack && rectStack.length > 1) {\n var boundingStack = rectStack.shift();\n var isSame;\n rectStack.forEach(function(rectList, index) {\n if (index === 0) {\n return;\n }\n var rectA = rectStack[index - 1], rectB = rectStack[index];\n isSame = rectA.every(function(element, elementIndex) {\n return element === rectB[elementIndex];\n }) || boundingStack.includes(elm);\n });\n if (!isSame) {\n incomplete_data_default.set('bgColor', 'elmPartiallyObscuring');\n return null;\n }\n return rectStack[0];\n }\n incomplete_data_default.set('bgColor', 'outsideViewport');\n return null;\n }\n var filtered_rect_stack_default = filteredRectStack;\n var nonSeparableBlendModes = [ 'hue', 'saturation', 'color', 'luminosity' ];\n var blendFunctions = {\n normal: function normal(Cb, Cs) {\n return Cs;\n },\n multiply: function multiply(Cb, Cs) {\n return Cs * Cb;\n },\n screen: function screen(Cb, Cs) {\n return Cb + Cs - Cb * Cs;\n },\n overlay: function overlay(Cb, Cs) {\n return this['hard-light'](Cs, Cb);\n },\n darken: function darken(Cb, Cs) {\n return Math.min(Cb, Cs);\n },\n lighten: function lighten(Cb, Cs) {\n return Math.max(Cb, Cs);\n },\n 'color-dodge': function colorDodge(Cb, Cs) {\n return Cb === 0 ? 0 : Cs === 1 ? 1 : Math.min(1, Cb / (1 - Cs));\n },\n 'color-burn': function colorBurn(Cb, Cs) {\n return Cb === 1 ? 1 : Cs === 0 ? 0 : 1 - Math.min(1, (1 - Cb) / Cs);\n },\n 'hard-light': function hardLight(Cb, Cs) {\n return Cs <= .5 ? this.multiply(Cb, 2 * Cs) : this.screen(Cb, 2 * Cs - 1);\n },\n 'soft-light': function softLight(Cb, Cs) {\n if (Cs <= .5) {\n return Cb - (1 - 2 * Cs) * Cb * (1 - Cb);\n } else {\n var D = Cb <= .25 ? ((16 * Cb - 12) * Cb + 4) * Cb : Math.sqrt(Cb);\n return Cb + (2 * Cs - 1) * (D - Cb);\n }\n },\n difference: function difference(Cb, Cs) {\n return Math.abs(Cb - Cs);\n },\n exclusion: function exclusion(Cb, Cs) {\n return Cb + Cs - 2 * Cb * Cs;\n },\n hue: function hue(Cb, Cs) {\n return Cs.setSaturation(Cb.getSaturation()).setLuminosity(Cb.getLuminosity());\n },\n saturation: function saturation(Cb, Cs) {\n return Cb.setSaturation(Cs.getSaturation()).setLuminosity(Cb.getLuminosity());\n },\n color: function color(Cb, Cs) {\n return Cs.setLuminosity(Cb.getLuminosity());\n },\n luminosity: function luminosity(Cb, Cs) {\n return Cb.setLuminosity(Cs.getLuminosity());\n }\n };\n function _flattenColors(sourceColor, backdrop) {\n var blendMode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'normal';\n var blendingResult = blend(backdrop, sourceColor, blendMode);\n var r = simpleAlphaCompositing(sourceColor.red, sourceColor.alpha, backdrop.red, backdrop.alpha, blendingResult.r * 255);\n var g2 = simpleAlphaCompositing(sourceColor.green, sourceColor.alpha, backdrop.green, backdrop.alpha, blendingResult.g * 255);\n var b2 = simpleAlphaCompositing(sourceColor.blue, sourceColor.alpha, backdrop.blue, backdrop.alpha, blendingResult.b * 255);\n var \\u03b1o = clamp2(sourceColor.alpha + backdrop.alpha * (1 - sourceColor.alpha), 0, 1);\n if (\\u03b1o === 0) {\n return new color_default(r, g2, b2, \\u03b1o);\n }\n var Cr = Math.round(r / \\u03b1o);\n var Cg = Math.round(g2 / \\u03b1o);\n var Cb = Math.round(b2 / \\u03b1o);\n return new color_default(Cr, Cg, Cb, \\u03b1o);\n }\n function simpleAlphaCompositing(Cs, \\u03b1s, Cb, \\u03b1b, blendingResult) {\n return \\u03b1s * (1 - \\u03b1b) * Cs + \\u03b1s * \\u03b1b * blendingResult + (1 - \\u03b1s) * \\u03b1b * Cb;\n }\n function clamp2(value, min, max2) {\n return Math.min(Math.max(min, value), max2);\n }\n function blend(Cb, Cs, blendMode) {\n if (nonSeparableBlendModes.includes(blendMode)) {\n return blendFunctions[blendMode](Cb, Cs);\n }\n var C = new color_default();\n [ 'r', 'g', 'b' ].forEach(function(channel) {\n C[channel] = blendFunctions[blendMode](Cb[channel], Cs[channel]);\n });\n return C;\n }\n function _flattenShadowColors(fgColor, bgColor) {\n var alpha = fgColor.alpha;\n var r = (1 - alpha) * bgColor.red + alpha * fgColor.red;\n var g2 = (1 - alpha) * bgColor.green + alpha * fgColor.green;\n var b2 = (1 - alpha) * bgColor.blue + alpha * fgColor.blue;\n var a2 = fgColor.alpha + bgColor.alpha * (1 - fgColor.alpha);\n return new color_default(r, g2, b2, a2);\n }\n function _getBackgroundStack(node) {\n var stacks = get_text_element_stack_default(node).map(function(stack) {\n stack = reduce_to_elements_below_floating_default(stack, node);\n stack = sortPageBackground(stack);\n return stack;\n });\n for (var index = 0; index < stacks.length; index++) {\n var stack = stacks[index];\n if (stack[0] !== node) {\n incomplete_data_default.set('bgColor', 'bgOverlap');\n return null;\n }\n if (index !== 0 && !shallowArraysEqual(stack, stacks[0])) {\n incomplete_data_default.set('bgColor', 'elmPartiallyObscuring');\n return null;\n }\n }\n return stacks[0] || null;\n }\n function sortPageBackground(elmStack) {\n var bodyIndex = elmStack.indexOf(document.body);\n var bgNodes = elmStack;\n var htmlBgColor = get_own_background_color_default(window.getComputedStyle(document.documentElement));\n if (bodyIndex > 1 && htmlBgColor.alpha === 0 && !element_has_image_default(document.documentElement)) {\n if (bodyIndex > 1) {\n bgNodes.splice(bodyIndex, 1);\n bgNodes.push(document.body);\n }\n var htmlIndex = bgNodes.indexOf(document.documentElement);\n if (htmlIndex > 0) {\n bgNodes.splice(htmlIndex, 1);\n bgNodes.push(document.documentElement);\n }\n }\n return bgNodes;\n }\n function shallowArraysEqual(a2, b2) {\n if (a2 === b2) {\n return true;\n }\n if (a2 === null || b2 === null) {\n return false;\n }\n if (a2.length !== b2.length) {\n return false;\n }\n for (var i = 0; i < a2.length; ++i) {\n if (a2[i] !== b2[i]) {\n return false;\n }\n }\n return true;\n }\n var SHADOW_STROKE_ALPHA = .54;\n var VISIBLE_SHADOW_MIN_PX = .5;\n var OPAQUE_STROKE_OFFSET_MIN_PX = 1.5;\n var edges = [ 'top', 'right', 'bottom', 'left' ];\n function _getStrokeColorsFromShadows(parsedShadows) {\n var _ref99 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref99$ignoreEdgeCoun = _ref99.ignoreEdgeCount, ignoreEdgeCount = _ref99$ignoreEdgeCoun === void 0 ? false : _ref99$ignoreEdgeCoun;\n var shadowMap = getShadowColorsMap(parsedShadows);\n var shadowsByColor = Object.entries(shadowMap).map(function(_ref100) {\n var _ref101 = _slicedToArray(_ref100, 2), colorStr = _ref101[0], sides = _ref101[1];\n var edgeCount = edges.filter(function(side) {\n return sides[side].length !== 0;\n }).length;\n return {\n colorStr: colorStr,\n sides: sides,\n edgeCount: edgeCount\n };\n });\n if (!ignoreEdgeCount && shadowsByColor.some(function(_ref102) {\n var edgeCount = _ref102.edgeCount;\n return edgeCount > 1 && edgeCount < 4;\n })) {\n return null;\n }\n return shadowsByColor.map(shadowGroupToColor).filter(function(shadow) {\n return shadow !== null;\n });\n }\n function getShadowColorsMap(parsedShadows) {\n var colorMap = {};\n var _iterator16 = _createForOfIteratorHelper(parsedShadows), _step16;\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done; ) {\n var _colorMap$colorStr;\n var _step16$value = _step16.value, colorStr = _step16$value.colorStr, pixels = _step16$value.pixels;\n (_colorMap$colorStr = colorMap[colorStr]) !== null && _colorMap$colorStr !== void 0 ? _colorMap$colorStr : colorMap[colorStr] = {\n top: [],\n right: [],\n bottom: [],\n left: []\n };\n var borders = colorMap[colorStr];\n var _pixels = _slicedToArray(pixels, 2), offsetX = _pixels[0], offsetY = _pixels[1];\n if (offsetX > VISIBLE_SHADOW_MIN_PX) {\n borders.right.push(offsetX);\n } else if (-offsetX > VISIBLE_SHADOW_MIN_PX) {\n borders.left.push(-offsetX);\n }\n if (offsetY > VISIBLE_SHADOW_MIN_PX) {\n borders.bottom.push(offsetY);\n } else if (-offsetY > VISIBLE_SHADOW_MIN_PX) {\n borders.top.push(-offsetY);\n }\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n return colorMap;\n }\n function shadowGroupToColor(_ref103) {\n var colorStr = _ref103.colorStr, sides = _ref103.sides, edgeCount = _ref103.edgeCount;\n if (edgeCount !== 4) {\n return null;\n }\n var strokeColor = new color_default();\n strokeColor.parseString(colorStr);\n var density = 0;\n var isSolid = true;\n edges.forEach(function(edge) {\n density += sides[edge].length / 4;\n isSolid && (isSolid = sides[edge].every(function(offset) {\n return offset > OPAQUE_STROKE_OFFSET_MIN_PX;\n }));\n });\n if (!isSolid) {\n strokeColor.alpha = 1 - Math.pow(SHADOW_STROKE_ALPHA, density);\n }\n return strokeColor;\n }\n function _parseTextShadows(textShadow) {\n var current = {\n pixels: []\n };\n var str = textShadow.trim();\n var shadows = [ current ];\n if (!str) {\n return [];\n }\n while (str) {\n var colorMatch = str.match(/^[a-z]+(\\([^)]+\\))?/i) || str.match(/^#[0-9a-f]+/i);\n var pixelMatch = str.match(/^([0-9.-]+)px/i) || str.match(/^(0)/);\n if (colorMatch) {\n assert_default(!current.colorStr, 'Multiple colors identified in text-shadow: '.concat(textShadow));\n str = str.replace(colorMatch[0], '').trim();\n current.colorStr = colorMatch[0];\n } else if (pixelMatch) {\n assert_default(current.pixels.length < 3, 'Too many pixel units in text-shadow: '.concat(textShadow));\n str = str.replace(pixelMatch[0], '').trim();\n var pixelUnit = parseFloat((pixelMatch[1][0] === '.' ? '0' : '') + pixelMatch[1]);\n current.pixels.push(pixelUnit);\n } else if (str[0] === ',') {\n assert_default(current.pixels.length >= 2, 'Missing pixel value in text-shadow: '.concat(textShadow));\n current = {\n pixels: []\n };\n shadows.push(current);\n str = str.substr(1).trim();\n } else {\n throw new Error('Unable to process text-shadows: '.concat(str));\n }\n }\n shadows.forEach(function(_ref104) {\n var pixels = _ref104.pixels;\n if (pixels.length === 2) {\n pixels.push(0);\n }\n });\n return shadows;\n }\n function _getTextShadowColors(node) {\n var _ref105 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref105.minRatio, maxRatio = _ref105.maxRatio, ignoreEdgeCount = _ref105.ignoreEdgeCount;\n var shadowColors = [];\n var style = window.getComputedStyle(node);\n var textShadow = style.getPropertyValue('text-shadow');\n if (textShadow === 'none') {\n return shadowColors;\n }\n var fontSizeStr = style.getPropertyValue('font-size');\n var fontSize = parseInt(fontSizeStr);\n assert_default(isNaN(fontSize) === false, 'Unable to determine font-size value '.concat(fontSizeStr));\n var thinShadows = [];\n var shadows = _parseTextShadows(textShadow);\n var _iterator17 = _createForOfIteratorHelper(shadows), _step17;\n try {\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done; ) {\n var shadow = _step17.value;\n var colorStr = shadow.colorStr || style.getPropertyValue('color');\n var _shadow$pixels = _slicedToArray(shadow.pixels, 3), offsetX = _shadow$pixels[0], offsetY = _shadow$pixels[1], _shadow$pixels$ = _shadow$pixels[2], blurRadius = _shadow$pixels$ === void 0 ? 0 : _shadow$pixels$;\n if (maxRatio && blurRadius >= fontSize * maxRatio) {\n continue;\n }\n if (minRatio && blurRadius < fontSize * minRatio) {\n thinShadows.push({\n colorStr: colorStr,\n pixels: shadow.pixels\n });\n continue;\n }\n if (thinShadows.length > 0) {\n var _strokeColors = _getStrokeColorsFromShadows(thinShadows, {\n ignoreEdgeCount: ignoreEdgeCount\n });\n if (_strokeColors === null) {\n return null;\n }\n shadowColors.push.apply(shadowColors, _toConsumableArray(_strokeColors));\n thinShadows.splice(0, thinShadows.length);\n }\n var _color3 = textShadowColor({\n colorStr: colorStr,\n offsetX: offsetX,\n offsetY: offsetY,\n blurRadius: blurRadius,\n fontSize: fontSize\n });\n shadowColors.push(_color3);\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n if (thinShadows.length > 0) {\n var strokeColors = _getStrokeColorsFromShadows(thinShadows, {\n ignoreEdgeCount: ignoreEdgeCount\n });\n if (strokeColors === null) {\n return null;\n }\n shadowColors.push.apply(shadowColors, _toConsumableArray(strokeColors));\n }\n return shadowColors;\n }\n function textShadowColor(_ref106) {\n var colorStr = _ref106.colorStr, offsetX = _ref106.offsetX, offsetY = _ref106.offsetY, blurRadius = _ref106.blurRadius, fontSize = _ref106.fontSize;\n if (offsetX > blurRadius || offsetY > blurRadius) {\n return new color_default(0, 0, 0, 0);\n }\n var shadowColor = new color_default();\n shadowColor.parseString(colorStr);\n shadowColor.alpha *= blurRadiusToAlpha(blurRadius, fontSize);\n return shadowColor;\n }\n function blurRadiusToAlpha(blurRadius, fontSize) {\n if (blurRadius === 0) {\n return 1;\n }\n var relativeBlur = blurRadius / fontSize;\n return .185 / (relativeBlur + .4);\n }\n function _getStackingContext(elm, elmStack) {\n var _elmStack;\n var virtualNode = get_node_from_tree_default(elm);\n if (virtualNode._stackingContext) {\n return virtualNode._stackingContext;\n }\n var stackingContext = [];\n var contextMap = new Map();\n elmStack = (_elmStack = elmStack) !== null && _elmStack !== void 0 ? _elmStack : _getBackgroundStack(elm);\n elmStack.forEach(function(bgElm) {\n var _stackingOrder2;\n var bgVNode = get_node_from_tree_default(bgElm);\n var bgColor = getOwnBackgroundColor2(bgVNode);\n var stackingOrder = bgVNode._stackingOrder.filter(function(_ref107) {\n var vNode = _ref107.vNode;\n return !!vNode;\n });\n stackingOrder.forEach(function(_ref108, index) {\n var _stackingOrder;\n var vNode = _ref108.vNode;\n var ancestorVNode2 = (_stackingOrder = stackingOrder[index - 1]) === null || _stackingOrder === void 0 ? void 0 : _stackingOrder.vNode;\n var context2 = addToStackingContext(contextMap, vNode, ancestorVNode2);\n if (index === 0 && !contextMap.get(vNode)) {\n stackingContext.unshift(context2);\n }\n contextMap.set(vNode, context2);\n });\n var ancestorVNode = (_stackingOrder2 = stackingOrder[stackingOrder.length - 1]) === null || _stackingOrder2 === void 0 ? void 0 : _stackingOrder2.vNode;\n var context = addToStackingContext(contextMap, bgVNode, ancestorVNode);\n if (!stackingOrder.length) {\n stackingContext.unshift(context);\n }\n context.bgColor = bgColor;\n });\n virtualNode._stackingContext = stackingContext;\n return stackingContext;\n }\n function _stackingContextToColor(context) {\n var _context$descendants;\n if (!((_context$descendants = context.descendants) !== null && _context$descendants !== void 0 && _context$descendants.length)) {\n var color2 = context.bgColor;\n color2.alpha *= context.opacity;\n return {\n color: color2,\n blendMode: context.blendMode\n };\n }\n var sourceColor = context.descendants.reduce(reduceToColor, createStackingContext2());\n var color = _flattenColors(sourceColor, context.bgColor, context.descendants[0].blendMode);\n color.alpha *= context.opacity;\n return {\n color: color,\n blendMode: context.blendMode\n };\n }\n function reduceToColor(backdropContext, sourceContext) {\n var backdrop;\n if (backdropContext instanceof color_default) {\n backdrop = backdropContext;\n } else {\n backdrop = _stackingContextToColor(backdropContext).color;\n }\n var sourceColor = _stackingContextToColor(sourceContext).color;\n return _flattenColors(sourceColor, backdrop, sourceContext.blendMode);\n }\n function createStackingContext2(vNode, ancestorContext) {\n var _vNode$getComputedSty;\n return {\n vNode: vNode,\n ancestor: ancestorContext,\n opacity: parseFloat((_vNode$getComputedSty = vNode === null || vNode === void 0 ? void 0 : vNode.getComputedStylePropertyValue('opacity')) !== null && _vNode$getComputedSty !== void 0 ? _vNode$getComputedSty : 1),\n bgColor: new color_default(0, 0, 0, 0),\n blendMode: normalizeBlendMode(vNode === null || vNode === void 0 ? void 0 : vNode.getComputedStylePropertyValue('mix-blend-mode')),\n descendants: []\n };\n }\n function normalizeBlendMode(blendmode) {\n return !!blendmode ? blendmode : void 0;\n }\n function addToStackingContext(contextMap, vNode, ancestorVNode) {\n var _contextMap$get;\n var ancestorContext = contextMap.get(ancestorVNode);\n var context = (_contextMap$get = contextMap.get(vNode)) !== null && _contextMap$get !== void 0 ? _contextMap$get : createStackingContext2(vNode, ancestorContext);\n if (ancestorContext && ancestorVNode !== vNode && !ancestorContext.descendants.includes(context)) {\n ancestorContext.descendants.unshift(context);\n }\n return context;\n }\n function getOwnBackgroundColor2(vNode) {\n var bgColor = new color_default();\n bgColor.parseString(vNode.getComputedStylePropertyValue('background-color'));\n return bgColor;\n }\n function _getBackgroundColor2(elm) {\n var bgElms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var shadowOutlineEmMax = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : .1;\n var vNode = get_node_from_tree_default(elm);\n var bgColorCache = vNode._cache.getBackgroundColor;\n if (bgColorCache) {\n bgElms.push.apply(bgElms, _toConsumableArray(bgColorCache.bgElms));\n incomplete_data_default.set('bgColor', bgColorCache.incompleteData);\n return bgColorCache.bgColor;\n }\n var bgColor = _getBackgroundColor(elm, bgElms, shadowOutlineEmMax);\n vNode._cache.getBackgroundColor = {\n bgColor: bgColor,\n bgElms: bgElms,\n incompleteData: incomplete_data_default.get('bgColor')\n };\n return bgColor;\n }\n function _getBackgroundColor(elm, bgElms, shadowOutlineEmMax) {\n var _getTextShadowColors2, _bgColors;\n var elmStack = _getBackgroundStack(elm);\n if (!elmStack) {\n return null;\n }\n var textRects = get_visible_child_text_rects_default(elm);\n var bgColors = (_getTextShadowColors2 = _getTextShadowColors(elm, {\n minRatio: shadowOutlineEmMax,\n ignoreEdgeCount: true\n })) !== null && _getTextShadowColors2 !== void 0 ? _getTextShadowColors2 : [];\n if (bgColors.length) {\n bgColors = [ {\n color: bgColors.reduce(_flattenShadowColors)\n } ];\n }\n for (var _i31 = 0; _i31 < elmStack.length; _i31++) {\n var bgElm = elmStack[_i31];\n var bgElmStyle = window.getComputedStyle(bgElm);\n if (element_has_image_default(bgElm, bgElmStyle)) {\n bgElms.push(bgElm);\n return null;\n }\n var bgColor = get_own_background_color_default(bgElmStyle);\n if (bgColor.alpha === 0) {\n continue;\n }\n if (bgElmStyle.getPropertyValue('display') !== 'inline' && !fullyEncompasses(bgElm, textRects)) {\n bgElms.push(bgElm);\n incomplete_data_default.set('bgColor', 'elmPartiallyObscured');\n return null;\n }\n bgElms.push(bgElm);\n if (bgColor.alpha === 1) {\n break;\n }\n }\n var stackingContext = _getStackingContext(elm, elmStack);\n bgColors = stackingContext.map(_stackingContextToColor).concat(bgColors);\n var pageBgs = getPageBackgroundColors(elm, elmStack.includes(document.body));\n (_bgColors = bgColors).unshift.apply(_bgColors, _toConsumableArray(pageBgs));\n if (bgColors.length === 0) {\n return new color_default(255, 255, 255, 1);\n }\n var blendedColor = bgColors.reduce(function(bgColor, fgColor) {\n return _flattenColors(fgColor.color, bgColor.color instanceof color_default ? bgColor.color : bgColor, fgColor.blendMode);\n });\n return _flattenColors(blendedColor.color instanceof color_default ? blendedColor.color : blendedColor, new color_default(255, 255, 255, 1));\n }\n function fullyEncompasses(node, rects) {\n rects = Array.isArray(rects) ? rects : [ rects ];\n var nodeRect = node.getBoundingClientRect();\n var right = nodeRect.right, bottom = nodeRect.bottom;\n var style = window.getComputedStyle(node);\n var overflow = style.getPropertyValue('overflow');\n if ([ 'scroll', 'auto' ].includes(overflow) || node instanceof window.HTMLHtmlElement) {\n right = nodeRect.left + node.scrollWidth;\n bottom = nodeRect.top + node.scrollHeight;\n }\n return rects.every(function(rect) {\n return rect.top >= nodeRect.top && rect.bottom <= bottom && rect.left >= nodeRect.left && rect.right <= right;\n });\n }\n function normalizeBlendMode2(blendmode) {\n return !!blendmode ? blendmode : void 0;\n }\n function getPageBackgroundColors(elm, stackContainsBody) {\n var pageColors = [];\n if (!stackContainsBody) {\n var html = document.documentElement;\n var body = document.body;\n var htmlStyle = window.getComputedStyle(html);\n var bodyStyle = window.getComputedStyle(body);\n var htmlBgColor = get_own_background_color_default(htmlStyle);\n var bodyBgColor = get_own_background_color_default(bodyStyle);\n var bodyBgColorApplies = bodyBgColor.alpha !== 0 && fullyEncompasses(body, elm.getBoundingClientRect());\n if (bodyBgColor.alpha !== 0 && htmlBgColor.alpha === 0 || bodyBgColorApplies && bodyBgColor.alpha !== 1) {\n pageColors.unshift({\n color: bodyBgColor,\n blendMode: normalizeBlendMode2(bodyStyle.getPropertyValue('mix-blend-mode'))\n });\n }\n if (htmlBgColor.alpha !== 0 && (!bodyBgColorApplies || bodyBgColorApplies && bodyBgColor.alpha !== 1)) {\n pageColors.unshift({\n color: htmlBgColor,\n blendMode: normalizeBlendMode2(htmlStyle.getPropertyValue('mix-blend-mode'))\n });\n }\n }\n return pageColors;\n }\n function getContrast(bgColor, fgColor) {\n if (!fgColor || !bgColor) {\n return null;\n }\n if (fgColor.alpha < 1) {\n fgColor = _flattenColors(fgColor, bgColor);\n }\n var bL = bgColor.getRelativeLuminance();\n var fL = fgColor.getRelativeLuminance();\n return (Math.max(fL, bL) + .05) / (Math.min(fL, bL) + .05);\n }\n var get_contrast_default = getContrast;\n function _getForegroundColor(node, _, bgColor) {\n var _bgColor;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var nodeStyle = window.getComputedStyle(node);\n var colorStack = [ function() {\n return getStrokeColor(nodeStyle, options);\n }, function() {\n return getTextColor(nodeStyle);\n }, function() {\n return _getTextShadowColors(node, {\n minRatio: 0\n });\n } ];\n var fgColors = [];\n for (var _i32 = 0, _colorStack = colorStack; _i32 < _colorStack.length; _i32++) {\n var colorFn = _colorStack[_i32];\n var _color4 = colorFn();\n if (!_color4) {\n continue;\n }\n fgColors = fgColors.concat(_color4);\n if (_color4.alpha === 1) {\n break;\n }\n }\n var fgColor = fgColors.reduce(function(source, backdrop) {\n return _flattenColors(source, backdrop);\n });\n (_bgColor = bgColor) !== null && _bgColor !== void 0 ? _bgColor : bgColor = _getBackgroundColor2(node, []);\n if (bgColor === null) {\n var reason = incomplete_data_default.get('bgColor');\n incomplete_data_default.set('fgColor', reason);\n return null;\n }\n var stackingContexts = _getStackingContext(node);\n var context = findNodeInContexts(stackingContexts, node);\n return _flattenColors(calculateBlendedForegroundColor(fgColor, context, stackingContexts), new color_default(255, 255, 255, 1));\n }\n function getTextColor(nodeStyle) {\n return new color_default().parseString(nodeStyle.getPropertyValue('-webkit-text-fill-color') || nodeStyle.getPropertyValue('color'));\n }\n function getStrokeColor(nodeStyle, _ref109) {\n var _ref109$textStrokeEmM = _ref109.textStrokeEmMin, textStrokeEmMin = _ref109$textStrokeEmM === void 0 ? 0 : _ref109$textStrokeEmM;\n var strokeWidth = parseFloat(nodeStyle.getPropertyValue('-webkit-text-stroke-width'));\n if (strokeWidth === 0) {\n return null;\n }\n var fontSize = nodeStyle.getPropertyValue('font-size');\n var relativeStrokeWidth = strokeWidth / parseFloat(fontSize);\n if (isNaN(relativeStrokeWidth) || relativeStrokeWidth < textStrokeEmMin) {\n return null;\n }\n var strokeColor = nodeStyle.getPropertyValue('-webkit-text-stroke-color');\n return new color_default().parseString(strokeColor);\n }\n function calculateBlendedForegroundColor(fgColor, context, stackingContexts) {\n while (context) {\n var _context$ancestor;\n if (context.opacity === 1 && context.ancestor) {\n context = context.ancestor;\n continue;\n }\n fgColor.alpha *= context.opacity;\n var stack = ((_context$ancestor = context.ancestor) === null || _context$ancestor === void 0 ? void 0 : _context$ancestor.descendants) || stackingContexts;\n if (context.opacity !== 1) {\n stack = stack.slice(0, stack.indexOf(context));\n }\n var bgColors = stack.map(_stackingContextToColor);\n if (!bgColors.length) {\n context = context.ancestor;\n continue;\n }\n var bgColor = bgColors.reduce(function(backdrop, source) {\n return _flattenColors(source.color, backdrop.color instanceof color_default ? backdrop.color : backdrop);\n }, {\n color: new color_default(0, 0, 0, 0),\n blendMode: 'normal'\n });\n fgColor = _flattenColors(fgColor, bgColor);\n context = context.ancestor;\n }\n return fgColor;\n }\n function findNodeInContexts(contexts, node) {\n var _iterator18 = _createForOfIteratorHelper(contexts), _step18;\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done; ) {\n var _context$vNode;\n var context = _step18.value;\n if (((_context$vNode = context.vNode) === null || _context$vNode === void 0 ? void 0 : _context$vNode.actualNode) === node) {\n return context;\n }\n var found = findNodeInContexts(context.descendants, node);\n if (found) {\n return found;\n }\n }\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n }\n function hasValidContrastRatio(bg, fg, fontSize, isBold) {\n var contrast2 = get_contrast_default(bg, fg);\n var isSmallFont = isBold && Math.ceil(fontSize * 72) / 96 < 14 || !isBold && Math.ceil(fontSize * 72) / 96 < 18;\n var expectedContrastRatio = isSmallFont ? 4.5 : 3;\n return {\n isValid: contrast2 > expectedContrastRatio,\n contrastRatio: contrast2,\n expectedContrastRatio: expectedContrastRatio\n };\n }\n var has_valid_contrast_ratio_default = hasValidContrastRatio;\n var forms_exports = {};\n __export(forms_exports, {\n isAriaCombobox: function isAriaCombobox() {\n return is_aria_combobox_default;\n },\n isAriaListbox: function isAriaListbox() {\n return is_aria_listbox_default;\n },\n isAriaRange: function isAriaRange() {\n return is_aria_range_default;\n },\n isAriaTextbox: function isAriaTextbox() {\n return is_aria_textbox_default;\n },\n isDisabled: function isDisabled() {\n return is_disabled_default;\n },\n isNativeSelect: function isNativeSelect() {\n return is_native_select_default;\n },\n isNativeTextbox: function isNativeTextbox() {\n return is_native_textbox_default;\n }\n });\n var disabledNodeNames = [ 'fieldset', 'button', 'select', 'input', 'textarea' ];\n function isDisabled(virtualNode) {\n var disabledState = virtualNode._isDisabled;\n if (typeof disabledState === 'boolean') {\n return disabledState;\n }\n var nodeName2 = virtualNode.props.nodeName;\n var ariaDisabled = virtualNode.attr('aria-disabled');\n if (disabledNodeNames.includes(nodeName2) && virtualNode.hasAttr('disabled')) {\n disabledState = true;\n } else if (ariaDisabled) {\n disabledState = ariaDisabled.toLowerCase() === 'true';\n } else if (virtualNode.parent) {\n disabledState = isDisabled(virtualNode.parent);\n } else {\n disabledState = false;\n }\n virtualNode._isDisabled = disabledState;\n return disabledState;\n }\n var is_disabled_default = isDisabled;\n function identicalLinksSamePurposeEvaluate(node, options, virtualNode) {\n var accText = text_exports.accessibleTextVirtual(virtualNode);\n var name = text_exports.sanitize(text_exports.removeUnicode(accText, {\n emoji: true,\n nonBmp: true,\n punctuations: true\n })).toLowerCase();\n if (!name) {\n return void 0;\n }\n var afterData = {\n name: name,\n urlProps: dom_exports.urlPropsFromAttribute(node, 'href')\n };\n this.data(afterData);\n this.relatedNodes([ node ]);\n return true;\n }\n var identical_links_same_purpose_evaluate_default = identicalLinksSamePurposeEvaluate;\n function isIdenticalObject(a2, b2) {\n if (!a2 || !b2) {\n return false;\n }\n var aProps = Object.getOwnPropertyNames(a2);\n var bProps = Object.getOwnPropertyNames(b2);\n if (aProps.length !== bProps.length) {\n return false;\n }\n var result = aProps.every(function(propName) {\n var aValue = a2[propName];\n var bValue = b2[propName];\n if (_typeof(aValue) !== _typeof(bValue)) {\n return false;\n }\n if (_typeof(aValue) === 'object' || _typeof(bValue) === 'object') {\n return isIdenticalObject(aValue, bValue);\n }\n return aValue === bValue;\n });\n return result;\n }\n function identicalLinksSamePurposeAfter(results) {\n if (results.length < 2) {\n return results;\n }\n var incompleteResults = results.filter(function(_ref110) {\n var result = _ref110.result;\n return result !== void 0;\n });\n var uniqueResults = [];\n var nameMap = {};\n var _loop8 = function _loop8(index) {\n var _currentResult$relate;\n var currentResult = incompleteResults[index];\n var _currentResult$data = currentResult.data, name = _currentResult$data.name, urlProps = _currentResult$data.urlProps;\n if (nameMap[name]) {\n return 1;\n }\n var sameNameResults = incompleteResults.filter(function(_ref111, resultNum) {\n var data = _ref111.data;\n return data.name === name && resultNum !== index;\n });\n var isSameUrl = sameNameResults.every(function(_ref112) {\n var data = _ref112.data;\n return isIdenticalObject(data.urlProps, urlProps);\n });\n if (sameNameResults.length && !isSameUrl) {\n currentResult.result = void 0;\n }\n currentResult.relatedNodes = [];\n (_currentResult$relate = currentResult.relatedNodes).push.apply(_currentResult$relate, _toConsumableArray(sameNameResults.map(function(node) {\n return node.relatedNodes[0];\n })));\n nameMap[name] = sameNameResults;\n uniqueResults.push(currentResult);\n };\n for (var index = 0; index < incompleteResults.length; index++) {\n if (_loop8(index)) {\n continue;\n }\n }\n return uniqueResults;\n }\n var identical_links_same_purpose_after_default = identicalLinksSamePurposeAfter;\n function getLevel(vNode) {\n var role = get_role_default(vNode);\n var headingRole = role && role.includes('heading');\n var ariaHeadingLevel = vNode.attr('aria-level');\n var ariaLevel = parseInt(ariaHeadingLevel, 10);\n var _ref113 = vNode.props.nodeName.match(/h(\\d)/) || [], _ref114 = _slicedToArray(_ref113, 2), headingLevel = _ref114[1];\n if (!headingRole) {\n return -1;\n }\n if (headingLevel && !ariaHeadingLevel) {\n return parseInt(headingLevel, 10);\n }\n if (isNaN(ariaLevel) || ariaLevel < 1) {\n if (headingLevel) {\n return parseInt(headingLevel, 10);\n }\n return 2;\n }\n if (ariaLevel) {\n return ariaLevel;\n }\n return -1;\n }\n function headingOrderEvaluate() {\n var headingOrder = cache_default.get('headingOrder');\n if (headingOrder) {\n return true;\n }\n var selector = 'h1, h2, h3, h4, h5, h6, [role=heading], iframe, frame';\n var vNodes = query_selector_all_filter_default(axe._tree[0], selector, _isVisibleToScreenReaders);\n headingOrder = vNodes.map(function(vNode) {\n return {\n ancestry: [ _getAncestry(vNode.actualNode) ],\n level: getLevel(vNode)\n };\n });\n this.data({\n headingOrder: headingOrder\n });\n cache_default.set('headingOrder', vNodes);\n return true;\n }\n var heading_order_evaluate_default = headingOrderEvaluate;\n function headingOrderAfter(results) {\n var headingOrder = getHeadingOrder(results);\n results.forEach(function(result) {\n result.result = getHeadingOrderOutcome(result, headingOrder);\n });\n return results;\n }\n function getHeadingOrderOutcome(result, headingOrder) {\n var _headingOrder$index$l, _headingOrder$index, _headingOrder$level, _headingOrder;\n var index = findHeadingOrderIndex(headingOrder, result.node.ancestry);\n var currLevel = (_headingOrder$index$l = (_headingOrder$index = headingOrder[index]) === null || _headingOrder$index === void 0 ? void 0 : _headingOrder$index.level) !== null && _headingOrder$index$l !== void 0 ? _headingOrder$index$l : -1;\n var prevLevel = (_headingOrder$level = (_headingOrder = headingOrder[index - 1]) === null || _headingOrder === void 0 ? void 0 : _headingOrder.level) !== null && _headingOrder$level !== void 0 ? _headingOrder$level : -1;\n if (index === 0) {\n return true;\n }\n if (currLevel === -1) {\n return void 0;\n }\n return currLevel - prevLevel <= 1;\n }\n function getHeadingOrder(results) {\n results = _toConsumableArray(results);\n results.sort(function(_ref115, _ref116) {\n var nodeA = _ref115.node;\n var nodeB = _ref116.node;\n return nodeA.ancestry.length - nodeB.ancestry.length;\n });\n var headingOrder = results.reduce(mergeHeadingOrder, []);\n return headingOrder.filter(function(_ref117) {\n var level = _ref117.level;\n return level !== -1;\n });\n }\n function mergeHeadingOrder(mergedHeadingOrder, result) {\n var _result$data;\n var frameHeadingOrder = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.headingOrder;\n var frameAncestry = shortenArray(result.node.ancestry, 1);\n if (!frameHeadingOrder) {\n return mergedHeadingOrder;\n }\n var normalizedHeadingOrder = frameHeadingOrder.map(function(heading) {\n return addFrameToHeadingAncestry(heading, frameAncestry);\n });\n var index = getFrameIndex(mergedHeadingOrder, frameAncestry);\n if (index === -1) {\n mergedHeadingOrder.push.apply(mergedHeadingOrder, _toConsumableArray(normalizedHeadingOrder));\n } else {\n mergedHeadingOrder.splice.apply(mergedHeadingOrder, [ index, 0 ].concat(_toConsumableArray(normalizedHeadingOrder)));\n }\n return mergedHeadingOrder;\n }\n function getFrameIndex(headingOrder, frameAncestry) {\n while (frameAncestry.length) {\n var index = findHeadingOrderIndex(headingOrder, frameAncestry);\n if (index !== -1) {\n return index;\n }\n frameAncestry = shortenArray(frameAncestry, 1);\n }\n return -1;\n }\n function findHeadingOrderIndex(headingOrder, ancestry) {\n return headingOrder.findIndex(function(heading) {\n return _matchAncestry(heading.ancestry, ancestry);\n });\n }\n function addFrameToHeadingAncestry(heading, frameAncestry) {\n var ancestry = frameAncestry.concat(heading.ancestry);\n return _extends({}, heading, {\n ancestry: ancestry\n });\n }\n function shortenArray(arr, spliceLength) {\n return arr.slice(0, arr.length - spliceLength);\n }\n function targetSizeEvaluate(node, options, vNode) {\n var minSize = (options === null || options === void 0 ? void 0 : options.minSize) || 24;\n var nodeRect = vNode.boundingClientRect;\n if (_rectHasMinimumSize(minSize * 10, nodeRect)) {\n this.data({\n messageKey: 'large',\n minSize: minSize\n });\n return true;\n }\n var hasMinimumSize = _rectHasMinimumSize.bind(null, minSize);\n var nearbyElms = _findNearbyElms(vNode);\n var overflowingContent = filterOverflowingContent(vNode, nearbyElms);\n var _filterByElmsOverlap = filterByElmsOverlap(vNode, nearbyElms), fullyObscuringElms = _filterByElmsOverlap.fullyObscuringElms, partialObscuringElms = _filterByElmsOverlap.partialObscuringElms;\n if (overflowingContent.length && (fullyObscuringElms.length || !hasMinimumSize(nodeRect))) {\n this.data({\n minSize: minSize,\n messageKey: 'contentOverflow'\n });\n this.relatedNodes(mapActualNodes(overflowingContent));\n return void 0;\n }\n if (fullyObscuringElms.length) {\n this.relatedNodes(mapActualNodes(fullyObscuringElms));\n this.data({\n messageKey: 'obscured'\n });\n return true;\n }\n var negativeOutcome = _isInTabOrder(vNode) ? false : void 0;\n if (!hasMinimumSize(nodeRect)) {\n this.data(_extends({\n minSize: minSize\n }, toDecimalSize(nodeRect)));\n return negativeOutcome;\n }\n var obscuredWidgets = filterFocusableWidgets(partialObscuringElms);\n if (!obscuredWidgets.length) {\n this.data(_extends({\n minSize: minSize\n }, toDecimalSize(nodeRect)));\n return true;\n }\n var largestInnerRect = getLargestUnobscuredArea(vNode, obscuredWidgets);\n if (!largestInnerRect) {\n this.data({\n minSize: minSize,\n messageKey: 'tooManyRects'\n });\n return void 0;\n }\n if (!hasMinimumSize(largestInnerRect)) {\n if (overflowingContent.length) {\n this.data({\n minSize: minSize,\n messageKey: 'contentOverflow'\n });\n this.relatedNodes(mapActualNodes(overflowingContent));\n return void 0;\n }\n var allTabbable = obscuredWidgets.every(_isInTabOrder);\n var messageKey = 'partiallyObscured'.concat(allTabbable ? '' : 'NonTabbable');\n this.data(_extends({\n messageKey: messageKey,\n minSize: minSize\n }, toDecimalSize(largestInnerRect)));\n this.relatedNodes(mapActualNodes(obscuredWidgets));\n return allTabbable ? negativeOutcome : void 0;\n }\n this.data(_extends({\n minSize: minSize\n }, toDecimalSize(largestInnerRect || nodeRect)));\n this.relatedNodes(mapActualNodes(obscuredWidgets));\n return true;\n }\n function filterOverflowingContent(vNode, nearbyElms) {\n return nearbyElms.filter(function(nearbyElm) {\n return !isEnclosedRect2(nearbyElm, vNode) && isDescendantNotInTabOrder2(vNode, nearbyElm);\n });\n }\n function filterByElmsOverlap(vNode, nearbyElms) {\n var fullyObscuringElms = [];\n var partialObscuringElms = [];\n var _iterator19 = _createForOfIteratorHelper(nearbyElms), _step19;\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done; ) {\n var vNeighbor = _step19.value;\n if (!isDescendantNotInTabOrder2(vNode, vNeighbor) && _hasVisualOverlap(vNode, vNeighbor) && getCssPointerEvents(vNeighbor) !== 'none') {\n if (isEnclosedRect2(vNode, vNeighbor)) {\n fullyObscuringElms.push(vNeighbor);\n } else {\n partialObscuringElms.push(vNeighbor);\n }\n }\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n return {\n fullyObscuringElms: fullyObscuringElms,\n partialObscuringElms: partialObscuringElms\n };\n }\n function getLargestUnobscuredArea(vNode, obscuredNodes) {\n var nodeRect = vNode.boundingClientRect;\n var obscuringRects = obscuredNodes.map(function(_ref118) {\n var rect = _ref118.boundingClientRect;\n return rect;\n });\n var unobscuredRects;\n try {\n unobscuredRects = _splitRects(nodeRect, obscuringRects);\n } catch (err2) {\n return null;\n }\n return getLargestRect2(unobscuredRects);\n }\n function getLargestRect2(rects, minSize) {\n return rects.reduce(function(rectA, rectB) {\n var rectAisMinimum = _rectHasMinimumSize(minSize, rectA);\n var rectBisMinimum = _rectHasMinimumSize(minSize, rectB);\n if (rectAisMinimum !== rectBisMinimum) {\n return rectAisMinimum ? rectA : rectB;\n }\n var areaA = rectA.width * rectA.height;\n var areaB = rectB.width * rectB.height;\n return areaA > areaB ? rectA : rectB;\n });\n }\n function filterFocusableWidgets(vNodes) {\n return vNodes.filter(function(vNode) {\n return get_role_type_default(vNode) === 'widget' && _isFocusable(vNode);\n });\n }\n function isEnclosedRect2(vNodeA, vNodeB) {\n var rectA = vNodeA.boundingClientRect;\n var rectB = vNodeB.boundingClientRect;\n return rectA.top >= rectB.top && rectA.left >= rectB.left && rectA.bottom <= rectB.bottom && rectA.right <= rectB.right;\n }\n function getCssPointerEvents(vNode) {\n return vNode.getComputedStylePropertyValue('pointer-events');\n }\n function toDecimalSize(rect) {\n return {\n width: Math.round(rect.width * 10) / 10,\n height: Math.round(rect.height * 10) / 10\n };\n }\n function isDescendantNotInTabOrder2(vAncestor, vNode) {\n return _contains(vAncestor, vNode) && !_isInTabOrder(vNode);\n }\n function mapActualNodes(vNodes) {\n return vNodes.map(function(_ref119) {\n var actualNode = _ref119.actualNode;\n return actualNode;\n });\n }\n var roundingMargin2 = .05;\n function targetOffsetEvaluate(node, options, vNode) {\n var minOffset = (options === null || options === void 0 ? void 0 : options.minOffset) || 24;\n if (_rectHasMinimumSize(minOffset * 10, vNode.boundingClientRect)) {\n this.data({\n messageKey: 'large',\n minOffset: minOffset\n });\n return true;\n }\n var closeNeighbors = [];\n var closestOffset = minOffset;\n var _iterator20 = _createForOfIteratorHelper(_findNearbyElms(vNode, minOffset)), _step20;\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done; ) {\n var vNeighbor = _step20.value;\n if (get_role_type_default(vNeighbor) !== 'widget' || !_isFocusable(vNeighbor)) {\n continue;\n }\n var offset = null;\n try {\n offset = _getOffset(vNode, vNeighbor, minOffset / 2);\n } catch (err2) {\n if (err2.message.startsWith('splitRects')) {\n this.data({\n messageKey: 'tooManyRects',\n closestOffset: 0,\n minOffset: minOffset\n });\n return void 0;\n }\n throw err2;\n }\n if (offset === null) {\n continue;\n }\n offset = roundToSingleDecimal(offset) * 2;\n if (offset + roundingMargin2 >= minOffset) {\n continue;\n }\n closestOffset = Math.min(closestOffset, offset);\n closeNeighbors.push(vNeighbor);\n }\n } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n if (closeNeighbors.length === 0) {\n this.data({\n closestOffset: closestOffset,\n minOffset: minOffset\n });\n return true;\n }\n this.relatedNodes(closeNeighbors.map(function(_ref120) {\n var actualNode = _ref120.actualNode;\n return actualNode;\n }));\n if (!closeNeighbors.some(_isInTabOrder)) {\n this.data({\n messageKey: 'nonTabbableNeighbor',\n closestOffset: closestOffset,\n minOffset: minOffset\n });\n return void 0;\n }\n this.data({\n closestOffset: closestOffset,\n minOffset: minOffset\n });\n return _isInTabOrder(vNode) ? false : void 0;\n }\n function roundToSingleDecimal(num) {\n return Math.round(num * 10) / 10;\n }\n function metaViewportScaleEvaluate(node, options, virtualNode) {\n var _ref121 = options || {}, _ref121$scaleMinimum = _ref121.scaleMinimum, scaleMinimum = _ref121$scaleMinimum === void 0 ? 2 : _ref121$scaleMinimum, _ref121$lowerBound = _ref121.lowerBound, lowerBound = _ref121$lowerBound === void 0 ? false : _ref121$lowerBound;\n var content = virtualNode.attr('content') || '';\n if (!content) {\n return true;\n }\n var result = content.split(/[;,]/).reduce(function(out, item) {\n var contentValue = item.trim();\n if (!contentValue) {\n return out;\n }\n var _contentValue$split = contentValue.split('='), _contentValue$split2 = _slicedToArray(_contentValue$split, 2), key = _contentValue$split2[0], value = _contentValue$split2[1];\n if (!key || !value) {\n return out;\n }\n var curatedKey = key.toLowerCase().trim();\n var curatedValue = value.toLowerCase().trim();\n if (curatedKey === 'maximum-scale' && curatedValue === 'yes') {\n curatedValue = 1;\n }\n if (curatedKey === 'maximum-scale' && parseFloat(curatedValue) < 0) {\n return out;\n }\n out[curatedKey] = curatedValue;\n return out;\n }, {});\n if (lowerBound && result['maximum-scale'] && parseFloat(result['maximum-scale']) < lowerBound) {\n return true;\n }\n if (!lowerBound && result['user-scalable'] === 'no') {\n this.data('user-scalable=no');\n return false;\n }\n var userScalableAsFloat = parseFloat(result['user-scalable']);\n if (!lowerBound && result['user-scalable'] && (userScalableAsFloat || userScalableAsFloat === 0) && userScalableAsFloat > -1 && userScalableAsFloat < 1) {\n this.data('user-scalable');\n return false;\n }\n if (result['maximum-scale'] && parseFloat(result['maximum-scale']) < scaleMinimum) {\n this.data('maximum-scale');\n return false;\n }\n return true;\n }\n var meta_viewport_scale_evaluate_default = metaViewportScaleEvaluate;\n function cssOrientationLockEvaluate(node, options, virtualNode, context) {\n var _ref122 = context || {}, _ref122$cssom = _ref122.cssom, cssom = _ref122$cssom === void 0 ? void 0 : _ref122$cssom;\n var _ref123 = options || {}, _ref123$degreeThresho = _ref123.degreeThreshold, degreeThreshold = _ref123$degreeThresho === void 0 ? 0 : _ref123$degreeThresho;\n if (!cssom || !cssom.length) {\n return void 0;\n }\n var isLocked = false;\n var relatedElements = [];\n var rulesGroupByDocumentFragment = groupCssomByDocument(cssom);\n var _loop9 = function _loop9() {\n var key = _Object$keys3[_i33];\n var _rulesGroupByDocument = rulesGroupByDocumentFragment[key], root = _rulesGroupByDocument.root, rules = _rulesGroupByDocument.rules;\n var orientationRules = rules.filter(isMediaRuleWithOrientation);\n if (!orientationRules.length) {\n return 1;\n }\n orientationRules.forEach(function(_ref124) {\n var cssRules = _ref124.cssRules;\n Array.from(cssRules).forEach(function(cssRule) {\n var locked = getIsOrientationLocked(cssRule);\n if (locked && cssRule.selectorText.toUpperCase() !== 'HTML') {\n var elms = Array.from(root.querySelectorAll(cssRule.selectorText)) || [];\n relatedElements = relatedElements.concat(elms);\n }\n isLocked = isLocked || locked;\n });\n });\n };\n for (var _i33 = 0, _Object$keys3 = Object.keys(rulesGroupByDocumentFragment); _i33 < _Object$keys3.length; _i33++) {\n if (_loop9()) {\n continue;\n }\n }\n if (!isLocked) {\n return true;\n }\n if (relatedElements.length) {\n this.relatedNodes(relatedElements);\n }\n return false;\n function groupCssomByDocument(cssObjectModel) {\n return cssObjectModel.reduce(function(out, _ref125) {\n var sheet = _ref125.sheet, root = _ref125.root, shadowId = _ref125.shadowId;\n var key = shadowId ? shadowId : 'topDocument';\n if (!out[key]) {\n out[key] = {\n root: root,\n rules: []\n };\n }\n if (!sheet || !sheet.cssRules) {\n return out;\n }\n var rules = Array.from(sheet.cssRules);\n out[key].rules = out[key].rules.concat(rules);\n return out;\n }, {});\n }\n function isMediaRuleWithOrientation(_ref126) {\n var type2 = _ref126.type, cssText = _ref126.cssText;\n if (type2 !== 4) {\n return false;\n }\n return /orientation:\\s*landscape/i.test(cssText) || /orientation:\\s*portrait/i.test(cssText);\n }\n function getIsOrientationLocked(_ref127) {\n var selectorText = _ref127.selectorText, style = _ref127.style;\n if (!selectorText || style.length <= 0) {\n return false;\n }\n var transformStyle = style.transform || style.webkitTransform || style.msTransform || false;\n if (!transformStyle && !style.rotate) {\n return false;\n }\n var transformDegrees = getTransformDegrees(transformStyle);\n var rotateDegrees = getRotationInDegrees('rotate', style.rotate);\n var degrees = transformDegrees + rotateDegrees;\n if (!degrees) {\n return false;\n }\n degrees = Math.abs(degrees);\n if (Math.abs(degrees - 180) % 180 <= degreeThreshold) {\n return false;\n }\n return Math.abs(degrees - 90) % 90 <= degreeThreshold;\n }\n function getTransformDegrees(transformStyle) {\n if (!transformStyle) {\n return 0;\n }\n var matches4 = transformStyle.match(/(rotate|rotateZ|rotate3d|matrix|matrix3d)\\(([^)]+)\\)(?!.*(rotate|rotateZ|rotate3d|matrix|matrix3d))/);\n if (!matches4) {\n return 0;\n }\n var _matches2 = _slicedToArray(matches4, 3), transformFn = _matches2[1], transformFnValue = _matches2[2];\n return getRotationInDegrees(transformFn, transformFnValue);\n }\n function getRotationInDegrees(transformFunction, transformFnValue) {\n switch (transformFunction) {\n case 'rotate':\n case 'rotateZ':\n return getAngleInDegrees(transformFnValue);\n\n case 'rotate3d':\n var _transformFnValue$spl = transformFnValue.split(',').map(function(value) {\n return value.trim();\n }), _transformFnValue$spl2 = _slicedToArray(_transformFnValue$spl, 4), z = _transformFnValue$spl2[2], angleWithUnit = _transformFnValue$spl2[3];\n if (parseInt(z) === 0) {\n return;\n }\n return getAngleInDegrees(angleWithUnit);\n\n case 'matrix':\n case 'matrix3d':\n return getAngleInDegreesFromMatrixTransform(transformFnValue);\n\n default:\n return 0;\n }\n }\n function getAngleInDegrees(angleWithUnit) {\n var _ref128 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref129 = _slicedToArray(_ref128, 1), unit = _ref129[0];\n if (!unit) {\n return 0;\n }\n var angle = parseFloat(angleWithUnit.replace(unit, ''));\n switch (unit) {\n case 'rad':\n return convertRadToDeg(angle);\n\n case 'grad':\n return convertGradToDeg(angle);\n\n case 'turn':\n return convertTurnToDeg(angle);\n\n case 'deg':\n default:\n return parseInt(angle);\n }\n }\n function getAngleInDegreesFromMatrixTransform(transformFnValue) {\n var values2 = transformFnValue.split(',');\n if (values2.length <= 6) {\n var _values = _slicedToArray(values2, 2), a2 = _values[0], b3 = _values[1];\n var radians = Math.atan2(parseFloat(b3), parseFloat(a2));\n return convertRadToDeg(radians);\n }\n var sinB = parseFloat(values2[8]);\n var b2 = Math.asin(sinB);\n var cosB = Math.cos(b2);\n var rotateZRadians = Math.acos(parseFloat(values2[0]) / cosB);\n return convertRadToDeg(rotateZRadians);\n }\n function convertRadToDeg(radians) {\n return Math.round(radians * (180 / Math.PI));\n }\n function convertGradToDeg(grad) {\n grad = grad % 400;\n if (grad < 0) {\n grad += 400;\n }\n return Math.round(grad / 400 * 360);\n }\n function convertTurnToDeg(turn) {\n return Math.round(360 / (1 / turn));\n }\n }\n var css_orientation_lock_evaluate_default = cssOrientationLockEvaluate;\n function noAutoplayAudioEvaluate(node, options) {\n if (!node.duration) {\n console.warn('axe.utils.preloadMedia did not load metadata');\n return void 0;\n }\n var _options$allowedDurat = options.allowedDuration, allowedDuration = _options$allowedDurat === void 0 ? 3 : _options$allowedDurat;\n var playableDuration = getPlayableDuration(node);\n if (playableDuration <= allowedDuration && !node.hasAttribute('loop')) {\n return true;\n }\n if (!node.hasAttribute('controls')) {\n return false;\n }\n return true;\n function getPlayableDuration(elm) {\n if (!elm.currentSrc) {\n return 0;\n }\n var playbackRange = getPlaybackRange(elm.currentSrc);\n if (!playbackRange) {\n return Math.abs(elm.duration - (elm.currentTime || 0));\n }\n if (playbackRange.length === 1) {\n return Math.abs(elm.duration - playbackRange[0]);\n }\n return Math.abs(playbackRange[1] - playbackRange[0]);\n }\n function getPlaybackRange(src) {\n var match = src.match(/#t=(.*)/);\n if (!match) {\n return;\n }\n var _match = _slicedToArray(match, 2), value = _match[1];\n var ranges = value.split(',');\n return ranges.map(function(range2) {\n if (/:/.test(range2)) {\n return convertHourMinSecToSeconds(range2);\n }\n return parseFloat(range2);\n });\n }\n function convertHourMinSecToSeconds(hhMmSs) {\n var parts = hhMmSs.split(':');\n var secs = 0;\n var mins = 1;\n while (parts.length > 0) {\n secs += mins * parseInt(parts.pop(), 10);\n mins *= 60;\n }\n return parseFloat(secs);\n }\n }\n var no_autoplay_audio_evaluate_default = noAutoplayAudioEvaluate;\n function frameTestedEvaluate(node, options) {\n return options.isViolation ? false : void 0;\n }\n var frame_tested_evaluate_default = frameTestedEvaluate;\n var joinStr = ' > ';\n function frameTestedAfter(results) {\n var iframes = {};\n return results.filter(function(result) {\n var frameResult = result.node.ancestry[result.node.ancestry.length - 1] !== 'html';\n if (frameResult) {\n var ancestry2 = result.node.ancestry.flat(Infinity).join(joinStr);\n iframes[ancestry2] = result;\n return true;\n }\n var ancestry = result.node.ancestry.slice(0, result.node.ancestry.length - 1).flat(Infinity).join(joinStr);\n if (iframes[ancestry]) {\n iframes[ancestry].result = true;\n }\n return false;\n });\n }\n var frame_tested_after_default = frameTestedAfter;\n function captionEvaluate(node, options, virtualNode) {\n var tracks = query_selector_all_default(virtualNode, 'track');\n var hasCaptions = tracks.some(function(vNode) {\n return (vNode.attr('kind') || '').toLowerCase() === 'captions';\n });\n return hasCaptions ? false : void 0;\n }\n var caption_evaluate_default = captionEvaluate;\n function structuredDlitemsEvaluate(node, options, virtualNode) {\n var children = virtualNode.children;\n if (!children || !children.length) {\n return false;\n }\n var hasDt = false, hasDd = false, nodeName2;\n for (var i = 0; i < children.length; i++) {\n nodeName2 = children[i].props.nodeName.toUpperCase();\n if (nodeName2 === 'DT') {\n hasDt = true;\n }\n if (hasDt && nodeName2 === 'DD') {\n return false;\n }\n if (nodeName2 === 'DD') {\n hasDd = true;\n }\n }\n return hasDt || hasDd;\n }\n var structured_dlitems_evaluate_default = structuredDlitemsEvaluate;\n function onlyListitemsEvaluate(node, options, virtualNode) {\n var hasNonEmptyTextNode = false;\n var atLeastOneListitem = false;\n var isEmpty2 = true;\n var badNodes = [];\n var badRoleNodes = [];\n var badRoles = [];\n virtualNode.children.forEach(function(vNode) {\n var actualNode = vNode.actualNode;\n if (actualNode.nodeType === 3 && actualNode.nodeValue.trim() !== '') {\n hasNonEmptyTextNode = true;\n return;\n }\n if (actualNode.nodeType !== 1 || !_isVisibleToScreenReaders(actualNode)) {\n return;\n }\n isEmpty2 = false;\n var isLi = actualNode.nodeName.toUpperCase() === 'LI';\n var role = get_role_default(vNode);\n var isListItemRole = role === 'listitem';\n if (!isLi && !isListItemRole) {\n badNodes.push(actualNode);\n }\n if (isLi && !isListItemRole) {\n badRoleNodes.push(actualNode);\n if (!badRoles.includes(role)) {\n badRoles.push(role);\n }\n }\n if (isListItemRole) {\n atLeastOneListitem = true;\n }\n });\n if (hasNonEmptyTextNode || badNodes.length) {\n this.relatedNodes(badNodes);\n return true;\n }\n if (isEmpty2 || atLeastOneListitem) {\n return false;\n }\n this.relatedNodes(badRoleNodes);\n this.data({\n messageKey: 'roleNotValid',\n roles: badRoles.join(', ')\n });\n return true;\n }\n var only_listitems_evaluate_default = onlyListitemsEvaluate;\n function onlyDlitemsEvaluate(node, options, virtualNode) {\n var ALLOWED_ROLES = [ 'definition', 'term', 'list' ];\n var base = {\n badNodes: [],\n hasNonEmptyTextNode: false\n };\n var content = virtualNode.children.reduce(function(vNodes, child) {\n var actualNode = child.actualNode;\n if (actualNode.nodeName.toUpperCase() === 'DIV' && get_role_default(actualNode) === null) {\n return vNodes.concat(child.children);\n }\n return vNodes.concat(child);\n }, []);\n var result = content.reduce(function(out, childNode) {\n var actualNode = childNode.actualNode;\n var tagName = actualNode.nodeName.toUpperCase();\n if (actualNode.nodeType === 1 && _isVisibleToScreenReaders(actualNode)) {\n var explicitRole2 = get_explicit_role_default(actualNode);\n if (tagName !== 'DT' && tagName !== 'DD' || explicitRole2) {\n if (!ALLOWED_ROLES.includes(explicitRole2)) {\n out.badNodes.push(actualNode);\n }\n }\n } else if (actualNode.nodeType === 3 && actualNode.nodeValue.trim() !== '') {\n out.hasNonEmptyTextNode = true;\n }\n return out;\n }, base);\n if (result.badNodes.length) {\n this.relatedNodes(result.badNodes);\n }\n return !!result.badNodes.length || result.hasNonEmptyTextNode;\n }\n function listitemEvaluate(node, options, virtualNode) {\n var parent = virtualNode.parent;\n if (!parent) {\n return void 0;\n }\n var parentNodeName = parent.props.nodeName;\n var parentRole = get_explicit_role_default(parent);\n if ([ 'presentation', 'none', 'list' ].includes(parentRole)) {\n return true;\n }\n if (parentRole && is_valid_role_default(parentRole)) {\n this.data({\n messageKey: 'roleNotValid'\n });\n return false;\n }\n return [ 'ul', 'ol', 'menu' ].includes(parentNodeName);\n }\n function invalidChildrenEvaluate(node) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n var relatedNodes = [];\n var issues = [];\n if (!virtualNode.children) {\n return void 0;\n }\n var vChildren = mapWithNested(virtualNode.children);\n while (vChildren.length) {\n var _vChild$actualNode;\n var _vChildren$shift = vChildren.shift(), vChild = _vChildren$shift.vChild, nested = _vChildren$shift.nested;\n if (options.divGroups && !nested && isDivGroup(vChild)) {\n if (!vChild.children) {\n return void 0;\n }\n var vGrandChildren = mapWithNested(vChild.children, true);\n vChildren.push.apply(vChildren, _toConsumableArray(vGrandChildren));\n continue;\n }\n var issue = getInvalidSelector(vChild, nested, options);\n if (!issue) {\n continue;\n }\n if (!issues.includes(issue)) {\n issues.push(issue);\n }\n if ((vChild === null || vChild === void 0 || (_vChild$actualNode = vChild.actualNode) === null || _vChild$actualNode === void 0 ? void 0 : _vChild$actualNode.nodeType) === 1) {\n relatedNodes.push(vChild.actualNode);\n }\n }\n if (issues.length === 0) {\n return false;\n }\n this.data({\n values: issues.join(', ')\n });\n this.relatedNodes(relatedNodes);\n return true;\n }\n function getInvalidSelector(vChild, nested, _ref130) {\n var _ref130$validRoles = _ref130.validRoles, validRoles = _ref130$validRoles === void 0 ? [] : _ref130$validRoles, _ref130$validNodeName = _ref130.validNodeNames, validNodeNames = _ref130$validNodeName === void 0 ? [] : _ref130$validNodeName;\n var _vChild$props = vChild.props, nodeName2 = _vChild$props.nodeName, nodeType = _vChild$props.nodeType, nodeValue = _vChild$props.nodeValue;\n var selector = nested ? 'div > ' : '';\n if (nodeType === 3 && nodeValue.trim() !== '') {\n return selector + '#text';\n }\n if (nodeType !== 1 || !_isVisibleToScreenReaders(vChild)) {\n return false;\n }\n var role = get_explicit_role_default(vChild);\n if (role) {\n return validRoles.includes(role) ? false : selector + '[role='.concat(role, ']');\n } else {\n return validNodeNames.includes(nodeName2) ? false : selector + nodeName2;\n }\n }\n function isDivGroup(vNode) {\n return vNode.props.nodeName === 'div' && get_explicit_role_default(vNode) === null;\n }\n function mapWithNested(vNodes) {\n var nested = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return vNodes.map(function(vChild) {\n return {\n vChild: vChild,\n nested: nested\n };\n });\n }\n function dlitemEvaluate(node) {\n var parent = get_composed_parent_default(node);\n var parentTagName = parent.nodeName.toUpperCase();\n var parentRole = get_explicit_role_default(parent);\n if (parentTagName === 'DIV' && [ 'presentation', 'none', null ].includes(parentRole)) {\n parent = get_composed_parent_default(parent);\n parentTagName = parent.nodeName.toUpperCase();\n parentRole = get_explicit_role_default(parent);\n }\n if (parentTagName !== 'DL') {\n return false;\n }\n if (!parentRole || [ 'presentation', 'none', 'list' ].includes(parentRole)) {\n return true;\n }\n return false;\n }\n var dlitem_evaluate_default = dlitemEvaluate;\n function xmlLangMismatchEvaluate(node, options, vNode) {\n var primaryLangValue = get_base_lang_default(vNode.attr('lang'));\n var primaryXmlLangValue = get_base_lang_default(vNode.attr('xml:lang'));\n return primaryLangValue === primaryXmlLangValue;\n }\n var xml_lang_mismatch_evaluate_default = xmlLangMismatchEvaluate;\n function validLangEvaluate(node, options, virtualNode) {\n var invalid = [];\n options.attributes.forEach(function(langAttr) {\n var langVal = virtualNode.attr(langAttr);\n if (typeof langVal !== 'string') {\n return;\n }\n var baselangVal = get_base_lang_default(langVal);\n var invalidLang = options.value ? !options.value.map(get_base_lang_default).includes(baselangVal) : !valid_langs_default(baselangVal);\n if (baselangVal !== '' && invalidLang || langVal !== '' && !sanitize_default(langVal)) {\n invalid.push(langAttr + '=\"' + virtualNode.attr(langAttr) + '\"');\n }\n });\n if (!invalid.length) {\n return false;\n }\n if (virtualNode.props.nodeName !== 'html' && !_hasLangText(virtualNode)) {\n return false;\n }\n this.data(invalid);\n return true;\n }\n var valid_lang_evaluate_default = validLangEvaluate;\n function hasValue(value) {\n return (value || '').trim() !== '';\n }\n function hasLangEvaluate(node, options, virtualNode) {\n var xhtml = typeof document !== 'undefined' ? is_xhtml_default(document) : false;\n if (options.attributes.includes('xml:lang') && options.attributes.includes('lang') && hasValue(virtualNode.attr('xml:lang')) && !hasValue(virtualNode.attr('lang')) && !xhtml) {\n this.data({\n messageKey: 'noXHTML'\n });\n return false;\n }\n var hasLang = options.attributes.some(function(name) {\n return hasValue(virtualNode.attr(name));\n });\n if (!hasLang) {\n this.data({\n messageKey: 'noLang'\n });\n return false;\n }\n return true;\n }\n var has_lang_evaluate_default = hasLangEvaluate;\n function landmarkIsUniqueEvaluate(node, options, virtualNode) {\n var role = get_role_default(node);\n var accessibleText2 = _accessibleTextVirtual(virtualNode);\n accessibleText2 = accessibleText2 ? accessibleText2.toLowerCase() : null;\n this.data({\n role: role,\n accessibleText: accessibleText2\n });\n this.relatedNodes([ node ]);\n return true;\n }\n var landmark_is_unique_evaluate_default = landmarkIsUniqueEvaluate;\n function landmarkIsUniqueAfter(results) {\n var uniqueLandmarks = [];\n return results.filter(function(currentResult) {\n var findMatch = function findMatch(someResult) {\n return currentResult.data.role === someResult.data.role && currentResult.data.accessibleText === someResult.data.accessibleText;\n };\n var matchedResult = uniqueLandmarks.find(findMatch);\n if (matchedResult) {\n matchedResult.result = false;\n matchedResult.relatedNodes.push(currentResult.relatedNodes[0]);\n return false;\n }\n uniqueLandmarks.push(currentResult);\n currentResult.relatedNodes = [];\n return true;\n });\n }\n var landmark_is_unique_after_default = landmarkIsUniqueAfter;\n function titleOnlyEvaluate(node, options, virtualNode) {\n var labelText2 = label_virtual_default2(virtualNode);\n var title = title_text_default(virtualNode);\n var ariaDescribedBy = virtualNode.attr('aria-describedby');\n return !labelText2 && !!(title || ariaDescribedBy);\n }\n var title_only_evaluate_default = titleOnlyEvaluate;\n function multipleLabelEvaluate(node) {\n var id = escape_selector_default(node.getAttribute('id'));\n var parent = node.parentNode;\n var root = get_root_node_default2(node);\n root = root.documentElement || root;\n var labels = Array.from(root.querySelectorAll('label[for=\"'.concat(id, '\"]')));\n if (labels.length) {\n labels = labels.filter(function(label3) {\n return !_isHiddenForEveryone(label3);\n });\n }\n while (parent) {\n if (parent.nodeName.toUpperCase() === 'LABEL' && labels.indexOf(parent) === -1) {\n labels.push(parent);\n }\n parent = parent.parentNode;\n }\n this.relatedNodes(labels);\n if (labels.length > 1) {\n var ATVisibleLabels = labels.filter(function(label3) {\n return _isVisibleToScreenReaders(label3);\n });\n if (ATVisibleLabels.length > 1) {\n return void 0;\n }\n var labelledby = idrefs_default(node, 'aria-labelledby');\n return !labelledby.includes(ATVisibleLabels[0]) ? void 0 : false;\n }\n return false;\n }\n var multiple_label_evaluate_default = multipleLabelEvaluate;\n function isStringContained(compare, compareWith) {\n var curatedCompareWith = curateString(compareWith);\n var curatedCompare = curateString(compare);\n if (!curatedCompareWith || !curatedCompare) {\n return false;\n }\n return curatedCompareWith.includes(curatedCompare);\n }\n function curateString(str) {\n var noUnicodeStr = remove_unicode_default(str, {\n emoji: true,\n nonBmp: true,\n punctuations: true\n });\n return sanitize_default(noUnicodeStr);\n }\n function labelContentNameMismatchEvaluate(node, options, virtualNode) {\n var _options$occurrenceTh;\n var pixelThreshold = options === null || options === void 0 ? void 0 : options.pixelThreshold;\n var occurrenceThreshold = (_options$occurrenceTh = options === null || options === void 0 ? void 0 : options.occurrenceThreshold) !== null && _options$occurrenceTh !== void 0 ? _options$occurrenceTh : options === null || options === void 0 ? void 0 : options.occuranceThreshold;\n var accText = accessible_text_default(node).toLowerCase();\n var visibleText = sanitize_default(subtree_text_default(virtualNode, {\n subtreeDescendant: true,\n ignoreIconLigature: true,\n pixelThreshold: pixelThreshold,\n occurrenceThreshold: occurrenceThreshold\n })).toLowerCase();\n if (!visibleText) {\n return true;\n }\n if (is_human_interpretable_default(accText) < 1 || is_human_interpretable_default(visibleText) < 1) {\n return void 0;\n }\n return isStringContained(visibleText, accText);\n }\n var label_content_name_mismatch_evaluate_default = labelContentNameMismatchEvaluate;\n function implicitEvaluate(node, options, virtualNode) {\n try {\n var label3 = closest_default(virtualNode, 'label');\n if (label3) {\n var implicitLabel = sanitize_default(_accessibleTextVirtual(label3, {\n inControlContext: true,\n startNode: virtualNode\n }));\n if (label3.actualNode) {\n this.relatedNodes([ label3.actualNode ]);\n }\n this.data({\n implicitLabel: implicitLabel\n });\n return !!implicitLabel;\n }\n return false;\n } catch (e) {\n return void 0;\n }\n }\n var implicit_evaluate_default = implicitEvaluate;\n function hiddenExplicitLabelEvaluate(node, options, virtualNode) {\n if (virtualNode.hasAttr('id')) {\n if (!virtualNode.actualNode) {\n return void 0;\n }\n var root = get_root_node_default2(node);\n var _id4 = escape_selector_default(node.getAttribute('id'));\n var label3 = root.querySelector('label[for=\"'.concat(_id4, '\"]'));\n if (label3 && !_isVisibleToScreenReaders(label3)) {\n var name;\n try {\n name = _accessibleTextVirtual(virtualNode).trim();\n } catch (e) {\n return void 0;\n }\n var isNameEmpty = name === '';\n return isNameEmpty;\n }\n }\n return false;\n }\n var hidden_explicit_label_evaluate_default = hiddenExplicitLabelEvaluate;\n function helpSameAsLabelEvaluate(node, options, virtualNode) {\n var labelText2 = label_virtual_default2(virtualNode), check = node.getAttribute('title');\n if (!labelText2) {\n return false;\n }\n if (!check) {\n check = '';\n if (node.getAttribute('aria-describedby')) {\n var ref = idrefs_default(node, 'aria-describedby');\n check = ref.map(function(thing) {\n return thing ? accessible_text_default(thing) : '';\n }).join('');\n }\n }\n return sanitize_default(check) === sanitize_default(labelText2);\n }\n var help_same_as_label_evaluate_default = helpSameAsLabelEvaluate;\n function explicitEvaluate(node, options, virtualNode) {\n var _this7 = this;\n if (!virtualNode.attr('id')) {\n return false;\n }\n if (!virtualNode.actualNode) {\n return void 0;\n }\n var root = get_root_node_default2(virtualNode.actualNode);\n var id = escape_selector_default(virtualNode.attr('id'));\n var labels = Array.from(root.querySelectorAll('label[for=\"'.concat(id, '\"]')));\n this.relatedNodes(labels);\n if (!labels.length) {\n return false;\n }\n try {\n return labels.some(function(label3) {\n if (!_isVisibleOnScreen(label3)) {\n return true;\n } else {\n var explicitLabel = sanitize_default(accessible_text_default(label3, {\n inControlContext: true,\n startNode: virtualNode\n }));\n _this7.data({\n explicitLabel: explicitLabel\n });\n return !!explicitLabel;\n }\n });\n } catch (e) {\n return void 0;\n }\n }\n var explicit_evaluate_default = explicitEvaluate;\n function duplicateImgLabelEvaluate(node, options, virtualNode) {\n if ([ 'none', 'presentation' ].includes(get_role_default(virtualNode))) {\n return false;\n }\n var parentVNode = closest_default(virtualNode, options.parentSelector);\n if (!parentVNode) {\n return false;\n }\n var visibleText = visible_virtual_default(parentVNode, true).toLowerCase();\n if (visibleText === '') {\n return false;\n }\n return visibleText === _accessibleTextVirtual(virtualNode).toLowerCase();\n }\n var duplicate_img_label_evaluate_default = duplicateImgLabelEvaluate;\n function altSpaceValueEvaluate(node, options, virtualNode) {\n var alt = virtualNode.attr('alt');\n var isOnlySpace = /^\\s+$/;\n return typeof alt === 'string' && isOnlySpace.test(alt);\n }\n var alt_space_value_evaluate_default = altSpaceValueEvaluate;\n function tabindexEvaluate(node, options, virtualNode) {\n var tabIndex = parseInt(virtualNode.attr('tabindex'), 10);\n return isNaN(tabIndex) ? true : tabIndex <= 0;\n }\n var tabindex_evaluate_default = tabindexEvaluate;\n function noFocusableContentEvaluate(node, options, virtualNode) {\n if (!virtualNode.children) {\n return void 0;\n }\n try {\n var focusableDescendants2 = getFocusableDescendants(virtualNode);\n if (!focusableDescendants2.length) {\n return true;\n }\n var notHiddenElements = focusableDescendants2.filter(usesUnreliableHidingStrategy);\n if (notHiddenElements.length > 0) {\n this.data({\n messageKey: 'notHidden'\n });\n this.relatedNodes(notHiddenElements);\n } else {\n this.relatedNodes(focusableDescendants2);\n }\n return false;\n } catch (e) {\n return void 0;\n }\n }\n function getFocusableDescendants(vNode) {\n if (!vNode.children) {\n if (vNode.props.nodeType === 1) {\n throw new Error('Cannot determine children');\n }\n return [];\n }\n var retVal = [];\n vNode.children.forEach(function(child) {\n if (get_role_type_default(child) === 'widget' && _isFocusable(child)) {\n retVal.push(child);\n } else {\n retVal.push.apply(retVal, _toConsumableArray(getFocusableDescendants(child)));\n }\n });\n return retVal;\n }\n function usesUnreliableHidingStrategy(vNode) {\n var tabIndex = parseInt(vNode.attr('tabindex'), 10);\n return !isNaN(tabIndex) && tabIndex < 0;\n }\n function landmarkIsTopLevelEvaluate(node) {\n var landmarks = get_aria_roles_by_type_default('landmark');\n var parent = get_composed_parent_default(node);\n var nodeRole = get_role_default(node);\n this.data({\n role: nodeRole\n });\n while (parent) {\n var role = parent.getAttribute('role');\n if (!role && parent.nodeName.toUpperCase() !== 'FORM') {\n role = implicit_role_default(parent);\n }\n if (role && landmarks.includes(role) && !(role === 'main' && nodeRole === 'complementary')) {\n return false;\n }\n parent = get_composed_parent_default(parent);\n }\n return true;\n }\n var landmark_is_top_level_evaluate_default = landmarkIsTopLevelEvaluate;\n function frameFocusableContentEvaluate(node, options, virtualNode) {\n if (!virtualNode.children) {\n return void 0;\n }\n try {\n return !virtualNode.children.some(function(child) {\n return focusableDescendants(child);\n });\n } catch (e) {\n return void 0;\n }\n }\n function focusableDescendants(vNode) {\n if (_isInTabOrder(vNode)) {\n return true;\n }\n if (!vNode.children) {\n if (vNode.props.nodeType === 1) {\n throw new Error('Cannot determine children');\n }\n return false;\n }\n return vNode.children.some(function(child) {\n return focusableDescendants(child);\n });\n }\n function focusableNotTabbableEvaluate(node, options, virtualNode) {\n var elementsThatCanBeDisabled = [ 'button', 'fieldset', 'input', 'select', 'textarea' ];\n var tabbableElements = virtualNode.tabbableElements;\n if (!tabbableElements || !tabbableElements.length) {\n return true;\n }\n var relatedNodes = tabbableElements.filter(function(vNode) {\n return !elementsThatCanBeDisabled.includes(vNode.props.nodeName);\n });\n this.relatedNodes(relatedNodes.map(function(vNode) {\n return vNode.actualNode;\n }));\n if (relatedNodes.length === 0 || is_modal_open_default()) {\n return true;\n }\n return relatedNodes.every(function(vNode) {\n var pointerEvents = vNode.getComputedStylePropertyValue('pointer-events');\n var width = parseInt(vNode.getComputedStylePropertyValue('width'));\n var height = parseInt(vNode.getComputedStylePropertyValue('height'));\n return vNode.actualNode.onfocus || (width === 0 || height === 0) && pointerEvents === 'none';\n }) ? void 0 : false;\n }\n var focusable_not_tabbable_evaluate_default = focusableNotTabbableEvaluate;\n function focusableNoNameEvaluate(node, options, virtualNode) {\n var tabIndex = virtualNode.attr('tabindex');\n var inFocusOrder = _isFocusable(virtualNode) && tabIndex > -1;\n if (!inFocusOrder) {\n return false;\n }\n try {\n return !_accessibleTextVirtual(virtualNode);\n } catch (e) {\n return void 0;\n }\n }\n var focusable_no_name_evaluate_default = focusableNoNameEvaluate;\n function focusableModalOpenEvaluate(node, options, virtualNode) {\n var tabbableElements = virtualNode.tabbableElements.map(function(_ref131) {\n var actualNode = _ref131.actualNode;\n return actualNode;\n });\n if (!tabbableElements || !tabbableElements.length) {\n return true;\n }\n if (is_modal_open_default()) {\n this.relatedNodes(tabbableElements);\n return void 0;\n }\n return true;\n }\n var focusable_modal_open_evaluate_default = focusableModalOpenEvaluate;\n function focusableElementEvaluate(node, options, virtualNode) {\n if (virtualNode.hasAttr('contenteditable') && isContenteditable(virtualNode)) {\n return true;\n }\n return _isInTabOrder(virtualNode);\n function isContenteditable(vNode) {\n var contenteditable = vNode.attr('contenteditable');\n if (contenteditable === 'true' || contenteditable === '') {\n return true;\n }\n if (contenteditable === 'false') {\n return false;\n }\n var ancestor = closest_default(virtualNode.parent, '[contenteditable]');\n if (!ancestor) {\n return false;\n }\n return isContenteditable(ancestor);\n }\n }\n var focusable_element_evaluate_default = focusableElementEvaluate;\n function focusableDisabledEvaluate(node, options, virtualNode) {\n var elementsThatCanBeDisabled = [ 'button', 'fieldset', 'input', 'select', 'textarea' ];\n var tabbableElements = virtualNode.tabbableElements;\n if (!tabbableElements || !tabbableElements.length) {\n return true;\n }\n var relatedNodes = tabbableElements.filter(function(vNode) {\n return elementsThatCanBeDisabled.includes(vNode.props.nodeName);\n });\n this.relatedNodes(relatedNodes.map(function(vNode) {\n return vNode.actualNode;\n }));\n if (relatedNodes.length === 0 || is_modal_open_default()) {\n return true;\n }\n return relatedNodes.every(function(vNode) {\n var pointerEvents = vNode.getComputedStylePropertyValue('pointer-events');\n var width = parseInt(vNode.getComputedStylePropertyValue('width'));\n var height = parseInt(vNode.getComputedStylePropertyValue('height'));\n return vNode.actualNode.onfocus || (width === 0 || height === 0) && pointerEvents === 'none';\n }) ? void 0 : false;\n }\n var focusable_disabled_evaluate_default = focusableDisabledEvaluate;\n function focusableContentEvaluate(node, options, virtualNode) {\n var tabbableElements = virtualNode.tabbableElements;\n if (!tabbableElements) {\n return false;\n }\n var tabbableContentElements = tabbableElements.filter(function(el) {\n return el !== virtualNode;\n });\n return tabbableContentElements.length > 0;\n }\n var focusable_content_evaluate_default = focusableContentEvaluate;\n function accesskeysEvaluate(node, options, vNode) {\n if (!_isHiddenForEveryone(vNode)) {\n this.data(vNode.attr('accesskey'));\n this.relatedNodes([ node ]);\n }\n return true;\n }\n var accesskeys_evaluate_default = accesskeysEvaluate;\n function accesskeysAfter(results) {\n var seen = {};\n return results.filter(function(r) {\n if (!r.data) {\n return false;\n }\n var key = r.data.toUpperCase();\n if (!seen[key]) {\n seen[key] = r;\n r.relatedNodes = [];\n return true;\n }\n seen[key].relatedNodes.push(r.relatedNodes[0]);\n return false;\n }).map(function(r) {\n r.result = !!r.relatedNodes.length;\n return r;\n });\n }\n var accesskeys_after_default = accesskeysAfter;\n function pageNoDuplicateEvaluate(node, options, virtualNode) {\n if (!options || !options.selector || typeof options.selector !== 'string') {\n throw new TypeError('page-no-duplicate requires options.selector to be a string');\n }\n var key = 'page-no-duplicate;' + options.selector;\n if (cache_default.get(key)) {\n this.data('ignored');\n return;\n }\n cache_default.set(key, true);\n var elms = query_selector_all_filter_default(axe._tree[0], options.selector, function(elm) {\n return _isVisibleToScreenReaders(elm);\n });\n if (typeof options.nativeScopeFilter === 'string') {\n elms = elms.filter(function(elm) {\n return elm.actualNode.hasAttribute('role') || !find_up_virtual_default(elm, options.nativeScopeFilter);\n });\n }\n if (typeof options.role === 'string') {\n elms = elms.filter(function(elm) {\n return get_role_default(elm) === options.role;\n });\n }\n this.relatedNodes(elms.filter(function(elm) {\n return elm !== virtualNode;\n }).map(function(elm) {\n return elm.actualNode;\n }));\n return elms.length <= 1;\n }\n var page_no_duplicate_evaluate_default = pageNoDuplicateEvaluate;\n function pageNoDuplicateAfter(results) {\n return results.filter(function(checkResult) {\n return checkResult.data !== 'ignored';\n });\n }\n var page_no_duplicate_after_default = pageNoDuplicateAfter;\n function matchesDefinitionEvaluate(_, options, virtualNode) {\n return matches_default2(virtualNode, options.matcher);\n }\n var matches_definition_evaluate_default = matchesDefinitionEvaluate;\n function hasTextContentEvaluate(node, options, virtualNode) {\n try {\n return sanitize_default(subtree_text_default(virtualNode)) !== '';\n } catch (e) {\n return void 0;\n }\n }\n function hasDescendant(node, options, virtualNode) {\n if (!options || !options.selector || typeof options.selector !== 'string') {\n throw new TypeError('has-descendant requires options.selector to be a string');\n }\n if (options.passForModal && is_modal_open_default()) {\n return true;\n }\n var matchingElms = query_selector_all_filter_default(virtualNode, options.selector, function(vNode) {\n return _isVisibleToScreenReaders(vNode);\n });\n this.relatedNodes(matchingElms.map(function(vNode) {\n return vNode.actualNode;\n }));\n return matchingElms.length > 0;\n }\n var has_descendant_evaluate_default = hasDescendant;\n function pageHasElmAfter(results) {\n var elmUsedAnywhere = results.some(function(frameResult) {\n return frameResult.result === true;\n });\n if (elmUsedAnywhere) {\n results.forEach(function(result) {\n result.result = true;\n });\n }\n return results;\n }\n var has_descendant_after_default = pageHasElmAfter;\n function attrNonSpaceContentEvaluate(node) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var vNode = arguments.length > 2 ? arguments[2] : undefined;\n if (!options.attribute || typeof options.attribute !== 'string') {\n throw new TypeError('attr-non-space-content requires options.attribute to be a string');\n }\n if (!vNode.hasAttr(options.attribute)) {\n this.data({\n messageKey: 'noAttr'\n });\n return false;\n }\n var attribute = vNode.attr(options.attribute);\n var attributeIsEmpty = !sanitize_default(attribute);\n if (attributeIsEmpty) {\n this.data({\n messageKey: 'emptyAttr'\n });\n return false;\n }\n return true;\n }\n var attr_non_space_content_evaluate_default = attrNonSpaceContentEvaluate;\n function autocompleteValidEvaluate(node, options, virtualNode) {\n var autocomplete2 = virtualNode.attr('autocomplete') || '';\n return is_valid_autocomplete_default(autocomplete2, options);\n }\n var autocomplete_valid_evaluate_default = autocompleteValidEvaluate;\n function autocompleteAppropriateEvaluate(node, options, virtualNode) {\n if (virtualNode.props.nodeName !== 'input') {\n return true;\n }\n var number = [ 'text', 'search', 'number', 'tel' ];\n var url = [ 'text', 'search', 'url' ];\n var allowedTypesMap = {\n bday: [ 'text', 'search', 'date' ],\n email: [ 'text', 'search', 'email' ],\n username: [ 'text', 'search', 'email' ],\n 'street-address': [ 'text' ],\n tel: [ 'text', 'search', 'tel' ],\n 'tel-country-code': [ 'text', 'search', 'tel' ],\n 'tel-national': [ 'text', 'search', 'tel' ],\n 'tel-area-code': [ 'text', 'search', 'tel' ],\n 'tel-local': [ 'text', 'search', 'tel' ],\n 'tel-local-prefix': [ 'text', 'search', 'tel' ],\n 'tel-local-suffix': [ 'text', 'search', 'tel' ],\n 'tel-extension': [ 'text', 'search', 'tel' ],\n 'cc-number': number,\n 'cc-exp': [ 'text', 'search', 'month', 'tel' ],\n 'cc-exp-month': number,\n 'cc-exp-year': number,\n 'cc-csc': number,\n 'transaction-amount': number,\n 'bday-day': number,\n 'bday-month': number,\n 'bday-year': number,\n 'new-password': [ 'text', 'search', 'password' ],\n 'current-password': [ 'text', 'search', 'password' ],\n url: url,\n photo: url,\n impp: url\n };\n if (_typeof(options) === 'object') {\n Object.keys(options).forEach(function(key) {\n if (!allowedTypesMap[key]) {\n allowedTypesMap[key] = [];\n }\n allowedTypesMap[key] = allowedTypesMap[key].concat(options[key]);\n });\n }\n var autocompleteAttr = virtualNode.attr('autocomplete');\n var autocompleteTerms = autocompleteAttr.split(/\\s+/g).map(function(term) {\n return term.toLowerCase();\n });\n var purposeTerm = autocompleteTerms[autocompleteTerms.length - 1];\n if (_autocomplete.stateTerms.includes(purposeTerm)) {\n return true;\n }\n var allowedTypes = allowedTypesMap[purposeTerm];\n var type2 = virtualNode.hasAttr('type') ? sanitize_default(virtualNode.attr('type')).toLowerCase() : 'text';\n type2 = valid_input_type_default().includes(type2) ? type2 : 'text';\n if (typeof allowedTypes === 'undefined') {\n return type2 === 'text';\n }\n return allowedTypes.includes(type2);\n }\n var autocomplete_appropriate_evaluate_default = autocompleteAppropriateEvaluate;\n var blockLike2 = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];\n function linkInTextBlockStyleEvaluate(node) {\n if (isBlock2(node)) {\n return false;\n }\n var parentBlock = get_composed_parent_default(node);\n while (parentBlock && parentBlock.nodeType === 1 && !isBlock2(parentBlock)) {\n parentBlock = get_composed_parent_default(parentBlock);\n }\n if (!parentBlock) {\n return void 0;\n }\n this.relatedNodes([ parentBlock ]);\n if (element_is_distinct_default(node, parentBlock)) {\n return true;\n }\n if (hasPseudoContent(node)) {\n this.data({\n messageKey: 'pseudoContent'\n });\n return void 0;\n }\n return false;\n }\n function isBlock2(elm) {\n var display2 = window.getComputedStyle(elm).getPropertyValue('display');\n return blockLike2.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';\n }\n function hasPseudoContent(node) {\n for (var _i34 = 0, _arr3 = [ 'before', 'after' ]; _i34 < _arr3.length; _i34++) {\n var pseudo = _arr3[_i34];\n var style = window.getComputedStyle(node, ':'.concat(pseudo));\n var content = style.getPropertyValue('content');\n if (content !== 'none') {\n return true;\n }\n }\n return false;\n }\n function getContrast2(color1, color2) {\n var c1lum = color1.getRelativeLuminance();\n var c2lum = color2.getRelativeLuminance();\n return (Math.max(c1lum, c2lum) + .05) / (Math.min(c1lum, c2lum) + .05);\n }\n var blockLike3 = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];\n function isBlock3(elm) {\n var display2 = window.getComputedStyle(elm).getPropertyValue('display');\n return blockLike3.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';\n }\n function linkInTextBlockEvaluate(node, options) {\n var requiredContrastRatio = options.requiredContrastRatio, allowSameColor = options.allowSameColor;\n if (isBlock3(node)) {\n return false;\n }\n var parentBlock = get_composed_parent_default(node);\n while (parentBlock && parentBlock.nodeType === 1 && !isBlock3(parentBlock)) {\n parentBlock = get_composed_parent_default(parentBlock);\n }\n if (!parentBlock) {\n return void 0;\n }\n this.relatedNodes([ parentBlock ]);\n var nodeColor = _getForegroundColor(node);\n var parentColor = _getForegroundColor(parentBlock);\n var nodeBackgroundColor = _getBackgroundColor2(node);\n var parentBackgroundColor = _getBackgroundColor2(parentBlock);\n var textContrast = nodeColor && parentColor ? getContrast2(nodeColor, parentColor) : void 0;\n if (textContrast) {\n textContrast = Math.floor(textContrast * 100) / 100;\n }\n if (textContrast && textContrast >= requiredContrastRatio) {\n return true;\n }\n var backgroundContrast = nodeBackgroundColor && parentBackgroundColor ? getContrast2(nodeBackgroundColor, parentBackgroundColor) : void 0;\n if (backgroundContrast) {\n backgroundContrast = Math.floor(backgroundContrast * 100) / 100;\n }\n if (backgroundContrast && backgroundContrast >= requiredContrastRatio) {\n return true;\n }\n if (!backgroundContrast) {\n var _incomplete_data_defa;\n var reason = (_incomplete_data_defa = incomplete_data_default.get('bgColor')) !== null && _incomplete_data_defa !== void 0 ? _incomplete_data_defa : 'bgContrast';\n this.data({\n messageKey: reason\n });\n incomplete_data_default.clear();\n return void 0;\n }\n if (!textContrast) {\n return void 0;\n }\n if (allowSameColor && textContrast === 1 && backgroundContrast === 1) {\n return true;\n }\n if (textContrast === 1 && backgroundContrast > 1) {\n this.data({\n messageKey: 'bgContrast',\n contrastRatio: backgroundContrast,\n requiredContrastRatio: requiredContrastRatio,\n nodeBackgroundColor: nodeBackgroundColor ? nodeBackgroundColor.toHexString() : void 0,\n parentBackgroundColor: parentBackgroundColor ? parentBackgroundColor.toHexString() : void 0\n });\n return false;\n }\n this.data({\n messageKey: 'fgContrast',\n contrastRatio: textContrast,\n requiredContrastRatio: requiredContrastRatio,\n nodeColor: nodeColor ? nodeColor.toHexString() : void 0,\n parentColor: parentColor ? parentColor.toHexString() : void 0\n });\n return false;\n }\n var link_in_text_block_evaluate_default = linkInTextBlockEvaluate;\n function colorContrastEvaluate(node, options, virtualNode) {\n var ignoreUnicode = options.ignoreUnicode, ignoreLength = options.ignoreLength, ignorePseudo = options.ignorePseudo, boldValue = options.boldValue, boldTextPt = options.boldTextPt, largeTextPt = options.largeTextPt, contrastRatio = options.contrastRatio, shadowOutlineEmMax = options.shadowOutlineEmMax, pseudoSizeThreshold = options.pseudoSizeThreshold;\n if (!_isVisibleOnScreen(node)) {\n this.data({\n messageKey: 'hidden'\n });\n return true;\n }\n var visibleText = visible_virtual_default(virtualNode, false, true);\n if (ignoreUnicode && textIsEmojis(visibleText)) {\n this.data({\n messageKey: 'nonBmp'\n });\n return void 0;\n }\n var nodeStyle = window.getComputedStyle(node);\n var fontSize = parseFloat(nodeStyle.getPropertyValue('font-size'));\n var fontWeight = nodeStyle.getPropertyValue('font-weight');\n var bold = parseFloat(fontWeight) >= boldValue || fontWeight === 'bold';\n var ptSize = Math.ceil(fontSize * 72) / 96;\n var isSmallFont = bold && ptSize < boldTextPt || !bold && ptSize < largeTextPt;\n var _ref132 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref132.expected, minThreshold = _ref132.minThreshold, maxThreshold = _ref132.maxThreshold;\n var pseudoElm = findPseudoElement(virtualNode, {\n ignorePseudo: ignorePseudo,\n pseudoSizeThreshold: pseudoSizeThreshold\n });\n if (pseudoElm) {\n this.data({\n fontSize: ''.concat((fontSize * 72 / 96).toFixed(1), 'pt (').concat(fontSize, 'px)'),\n fontWeight: bold ? 'bold' : 'normal',\n messageKey: 'pseudoContent',\n expectedContrastRatio: expected + ':1'\n });\n this.relatedNodes(pseudoElm.actualNode);\n return void 0;\n }\n var shadowColors = _getTextShadowColors(node, {\n minRatio: .001,\n maxRatio: shadowOutlineEmMax\n });\n if (shadowColors === null) {\n this.data({\n messageKey: 'complexTextShadows'\n });\n return void 0;\n }\n var bgNodes = [];\n var bgColor = _getBackgroundColor2(node, bgNodes, shadowOutlineEmMax);\n var fgColor = _getForegroundColor(node, false, bgColor, options);\n var contrast2 = null;\n var contrastContributor = null;\n var shadowColor = null;\n if (shadowColors.length === 0) {\n contrast2 = get_contrast_default(bgColor, fgColor);\n } else if (fgColor && bgColor) {\n shadowColor = [].concat(_toConsumableArray(shadowColors), [ bgColor ]).reduce(_flattenShadowColors);\n var fgBgContrast = get_contrast_default(bgColor, fgColor);\n var bgShContrast = get_contrast_default(bgColor, shadowColor);\n var fgShContrast = get_contrast_default(shadowColor, fgColor);\n contrast2 = Math.max(fgBgContrast, bgShContrast, fgShContrast);\n if (contrast2 !== fgBgContrast) {\n contrastContributor = bgShContrast > fgShContrast ? 'shadowOnBgColor' : 'fgOnShadowColor';\n }\n }\n var isValid = contrast2 > expected;\n if (typeof minThreshold === 'number' && (typeof contrast2 !== 'number' || contrast2 < minThreshold) || typeof maxThreshold === 'number' && (typeof contrast2 !== 'number' || contrast2 > maxThreshold)) {\n this.data({\n contrastRatio: contrast2\n });\n return true;\n }\n var truncatedResult = Math.floor(contrast2 * 100) / 100;\n var missing;\n if (bgColor === null) {\n missing = incomplete_data_default.get('bgColor');\n } else if (!isValid) {\n missing = contrastContributor;\n }\n var equalRatio = truncatedResult === 1;\n var shortTextContent = visibleText.length === 1;\n if (equalRatio) {\n missing = incomplete_data_default.set('bgColor', 'equalRatio');\n } else if (!isValid && shortTextContent && !ignoreLength) {\n missing = 'shortTextContent';\n }\n this.data({\n fgColor: fgColor ? fgColor.toHexString() : void 0,\n bgColor: bgColor ? bgColor.toHexString() : void 0,\n contrastRatio: truncatedResult,\n fontSize: ''.concat((fontSize * 72 / 96).toFixed(1), 'pt (').concat(fontSize, 'px)'),\n fontWeight: bold ? 'bold' : 'normal',\n messageKey: missing,\n expectedContrastRatio: expected + ':1',\n shadowColor: shadowColor ? shadowColor.toHexString() : void 0\n });\n if (fgColor === null || bgColor === null || equalRatio || shortTextContent && !ignoreLength && !isValid) {\n missing = null;\n incomplete_data_default.clear();\n this.relatedNodes(bgNodes);\n return void 0;\n }\n if (!isValid) {\n this.relatedNodes(bgNodes);\n }\n return isValid;\n }\n function findPseudoElement(vNode, _ref133) {\n var _ref133$pseudoSizeThr = _ref133.pseudoSizeThreshold, pseudoSizeThreshold = _ref133$pseudoSizeThr === void 0 ? .25 : _ref133$pseudoSizeThr, _ref133$ignorePseudo = _ref133.ignorePseudo, ignorePseudo = _ref133$ignorePseudo === void 0 ? false : _ref133$ignorePseudo;\n if (ignorePseudo) {\n return;\n }\n var rect = vNode.boundingClientRect;\n var minimumSize = rect.width * rect.height * pseudoSizeThreshold;\n do {\n var beforeSize = getPseudoElementArea(vNode.actualNode, ':before');\n var afterSize = getPseudoElementArea(vNode.actualNode, ':after');\n if (beforeSize + afterSize > minimumSize) {\n return vNode;\n }\n } while (vNode = vNode.parent);\n }\n var getPseudoElementArea = memoize_default(function getPseudoElementArea2(node, pseudo) {\n var style = window.getComputedStyle(node, pseudo);\n var matchPseudoStyle = function matchPseudoStyle(prop, value) {\n return style.getPropertyValue(prop) === value;\n };\n if (matchPseudoStyle('content', 'none') || matchPseudoStyle('display', 'none') || matchPseudoStyle('visibility', 'hidden') || matchPseudoStyle('position', 'absolute') === false) {\n return 0;\n }\n if (get_own_background_color_default(style).alpha === 0 && matchPseudoStyle('background-image', 'none')) {\n return 0;\n }\n var pseudoWidth = parseUnit(style.getPropertyValue('width'));\n var pseudoHeight = parseUnit(style.getPropertyValue('height'));\n if (pseudoWidth.unit !== 'px' || pseudoHeight.unit !== 'px') {\n return pseudoWidth.value === 0 || pseudoHeight.value === 0 ? 0 : Infinity;\n }\n return pseudoWidth.value * pseudoHeight.value;\n });\n function textIsEmojis(visibleText) {\n var options = {\n nonBmp: true\n };\n var hasUnicodeChars = has_unicode_default(visibleText, options);\n var hasNonUnicodeChars = sanitize_default(remove_unicode_default(visibleText, options)) === '';\n return hasUnicodeChars && hasNonUnicodeChars;\n }\n function parseUnit(str) {\n var unitRegex = /^([0-9.]+)([a-z]+)$/i;\n var _ref134 = str.match(unitRegex) || [], _ref135 = _slicedToArray(_ref134, 3), _ref135$ = _ref135[1], value = _ref135$ === void 0 ? '' : _ref135$, _ref135$2 = _ref135[2], unit = _ref135$2 === void 0 ? '' : _ref135$2;\n return {\n value: parseFloat(value),\n unit: unit.toLowerCase()\n };\n }\n var VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS = {\n ARTICLE: true,\n ASIDE: true,\n NAV: true,\n SECTION: true\n };\n var VALID_ROLES_FOR_SCROLLABLE_REGIONS = {\n alert: true,\n alertdialog: true,\n application: true,\n article: true,\n banner: false,\n complementary: true,\n contentinfo: true,\n dialog: true,\n form: true,\n log: true,\n main: true,\n navigation: true,\n region: true,\n search: false,\n status: true\n };\n function validScrollableTagName(node) {\n var nodeName2 = node.nodeName.toUpperCase();\n return VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS[nodeName2] || false;\n }\n function validScrollableRole(node, options) {\n var role = get_explicit_role_default(node);\n if (!role) {\n return false;\n }\n return VALID_ROLES_FOR_SCROLLABLE_REGIONS[role] || options.roles.includes(role) || false;\n }\n function validScrollableSemanticsEvaluate(node, options) {\n return validScrollableRole(node, options) || validScrollableTagName(node);\n }\n var valid_scrollable_semantics_evaluate_default = validScrollableSemanticsEvaluate;\n function unsupportedroleEvaluate(node, options, virtualNode) {\n var role = get_role_default(virtualNode, {\n dpub: true,\n fallback: true\n });\n var isUnsupported = is_unsupported_role_default(role);\n if (isUnsupported) {\n this.data(role);\n }\n return isUnsupported;\n }\n var unsupportedrole_evaluate_default = unsupportedroleEvaluate;\n function noImplicitExplicitLabelEvaluate(node, options, virtualNode) {\n var role = get_role_default(virtualNode, {\n noImplicit: true\n });\n this.data(role);\n var label3;\n var accText;\n try {\n label3 = sanitize_default(label_text_default(virtualNode)).toLowerCase();\n accText = sanitize_default(_accessibleTextVirtual(virtualNode)).toLowerCase();\n } catch (e) {\n return void 0;\n }\n if (!accText && !label3) {\n return false;\n }\n if (!accText && label3) {\n return void 0;\n }\n if (!accText.includes(label3)) {\n return void 0;\n }\n return false;\n }\n var no_implicit_explicit_label_evaluate_default = noImplicitExplicitLabelEvaluate;\n function isElementFocusableEvaluate(node, options, virtualNode) {\n return _isFocusable(virtualNode);\n }\n var is_element_focusable_evaluate_default = isElementFocusableEvaluate;\n function invalidroleEvaluate(node, options, virtualNode) {\n var allRoles = token_list_default(virtualNode.attr('role'));\n var allInvalid = allRoles.every(function(role) {\n return !is_valid_role_default(role.toLowerCase(), {\n allowAbstract: true\n });\n });\n if (allInvalid) {\n this.data(allRoles);\n return true;\n }\n return false;\n }\n var invalidrole_evaluate_default = invalidroleEvaluate;\n function hasWidgetRoleEvaluate(node) {\n var role = node.getAttribute('role');\n if (role === null) {\n return false;\n }\n var roleType = get_role_type_default(role);\n return roleType === 'widget' || roleType === 'composite';\n }\n var has_widget_role_evaluate_default = hasWidgetRoleEvaluate;\n function hasGlobalAriaAttributeEvaluate(node, options, virtualNode) {\n var globalAttrs = get_global_aria_attrs_default().filter(function(attr) {\n return virtualNode.hasAttr(attr);\n });\n this.data(globalAttrs);\n return globalAttrs.length > 0;\n }\n var has_global_aria_attribute_evaluate_default = hasGlobalAriaAttributeEvaluate;\n function nonePresentationOnElementWithNoImplicitRole(virtualNode, explicitRoles) {\n var hasImplicitRole = implicit_role_default(virtualNode);\n return !hasImplicitRole && explicitRoles.length === 2 && explicitRoles.includes('none') && explicitRoles.includes('presentation');\n }\n function fallbackroleEvaluate(node, options, virtualNode) {\n var explicitRoles = token_list_default(virtualNode.attr('role'));\n if (explicitRoles.length <= 1) {\n return false;\n }\n return nonePresentationOnElementWithNoImplicitRole(virtualNode, explicitRoles) ? void 0 : true;\n }\n var fallbackrole_evaluate_default = fallbackroleEvaluate;\n function deprecatedroleEvaluate(node, options, virtualNode) {\n var role = get_role_default(virtualNode, {\n dpub: true,\n fallback: true\n });\n var roleDefinition = standards_default.ariaRoles[role];\n if (!(roleDefinition !== null && roleDefinition !== void 0 && roleDefinition.deprecated)) {\n return false;\n }\n this.data(role);\n return true;\n }\n function brailleRoleDescriptionEquivalentEvaluate(node, options, virtualNode) {\n var _virtualNode$attr;\n var brailleRoleDesc = (_virtualNode$attr = virtualNode.attr('aria-brailleroledescription')) !== null && _virtualNode$attr !== void 0 ? _virtualNode$attr : '';\n if (sanitize_default(brailleRoleDesc) === '') {\n return true;\n }\n var roleDesc = virtualNode.attr('aria-roledescription');\n if (typeof roleDesc !== 'string') {\n this.data({\n messageKey: 'noRoleDescription'\n });\n return false;\n }\n if (sanitize_default(roleDesc) === '') {\n this.data({\n messageKey: 'emptyRoleDescription'\n });\n return false;\n }\n return true;\n }\n function brailleLabelEquivalentEvaluate(node, options, virtualNode) {\n var _virtualNode$attr2;\n var brailleLabel = (_virtualNode$attr2 = virtualNode.attr('aria-braillelabel')) !== null && _virtualNode$attr2 !== void 0 ? _virtualNode$attr2 : '';\n if (!brailleLabel.trim()) {\n return true;\n }\n try {\n return sanitize_default(_accessibleTextVirtual(virtualNode)) !== '';\n } catch (_unused) {\n return void 0;\n }\n }\n function ariaValidAttrValueEvaluate(node, options, virtualNode) {\n options = Array.isArray(options.value) ? options.value : [];\n var needsReview = '';\n var messageKey = '';\n var invalid = [];\n var aria = /^aria-/;\n var skipAttrs = [ 'aria-errormessage' ];\n var preChecks = {\n 'aria-controls': function ariaControls() {\n var hasPopup = [ 'false', null ].includes(virtualNode.attr('aria-haspopup')) === false;\n if (hasPopup) {\n needsReview = 'aria-controls=\"'.concat(virtualNode.attr('aria-controls'), '\"');\n messageKey = 'controlsWithinPopup';\n }\n return virtualNode.attr('aria-expanded') !== 'false' && virtualNode.attr('aria-selected') !== 'false' && hasPopup === false;\n },\n 'aria-current': function ariaCurrent(validValue) {\n if (!validValue) {\n needsReview = 'aria-current=\"'.concat(virtualNode.attr('aria-current'), '\"');\n messageKey = 'ariaCurrent';\n }\n return;\n },\n 'aria-owns': function ariaOwns() {\n return virtualNode.attr('aria-expanded') !== 'false';\n },\n 'aria-describedby': function ariaDescribedby(validValue) {\n if (!validValue) {\n needsReview = 'aria-describedby=\"'.concat(virtualNode.attr('aria-describedby'), '\"');\n messageKey = axe._tree && axe._tree[0]._hasShadowRoot ? 'noIdShadow' : 'noId';\n }\n return;\n },\n 'aria-labelledby': function ariaLabelledby(validValue) {\n if (!validValue) {\n needsReview = 'aria-labelledby=\"'.concat(virtualNode.attr('aria-labelledby'), '\"');\n messageKey = axe._tree && axe._tree[0]._hasShadowRoot ? 'noIdShadow' : 'noId';\n }\n }\n };\n virtualNode.attrNames.forEach(function(attrName) {\n if (skipAttrs.includes(attrName) || options.includes(attrName) || !aria.test(attrName)) {\n return;\n }\n var validValue;\n var attrValue = virtualNode.attr(attrName);\n try {\n validValue = validate_attr_value_default(virtualNode, attrName);\n } catch (e) {\n needsReview = ''.concat(attrName, '=\"').concat(attrValue, '\"');\n messageKey = 'idrefs';\n return;\n }\n if ((preChecks[attrName] ? preChecks[attrName](validValue) : true) && !validValue) {\n if (attrValue === '' && !isStringType(attrName)) {\n needsReview = attrName;\n messageKey = 'empty';\n } else {\n invalid.push(''.concat(attrName, '=\"').concat(attrValue, '\"'));\n }\n }\n });\n if (invalid.length) {\n this.data(invalid);\n return false;\n }\n if (needsReview) {\n this.data({\n messageKey: messageKey,\n needsReview: needsReview\n });\n return void 0;\n }\n return true;\n }\n function isStringType(attrName) {\n var _standards_default$ar;\n return ((_standards_default$ar = standards_default.ariaAttrs[attrName]) === null || _standards_default$ar === void 0 ? void 0 : _standards_default$ar.type) === 'string';\n }\n function ariaValidAttrEvaluate(node, options, virtualNode) {\n options = Array.isArray(options.value) ? options.value : [];\n var invalid = [];\n var aria = /^aria-/;\n virtualNode.attrNames.forEach(function(attr) {\n if (options.indexOf(attr) === -1 && aria.test(attr) && !validate_attr_default(attr)) {\n invalid.push(attr);\n }\n });\n if (invalid.length) {\n this.data(invalid);\n return false;\n }\n return true;\n }\n var aria_valid_attr_evaluate_default = ariaValidAttrEvaluate;\n function ariaUnsupportedAttrEvaluate(node, options, virtualNode) {\n var unsupportedAttrs = virtualNode.attrNames.filter(function(name) {\n var attribute = standards_default.ariaAttrs[name];\n if (!validate_attr_default(name)) {\n return false;\n }\n var unsupported = attribute.unsupported;\n if (_typeof(unsupported) !== 'object') {\n return !!unsupported;\n }\n return !matches_default2(node, unsupported.exceptions);\n });\n if (unsupportedAttrs.length) {\n this.data(unsupportedAttrs);\n return true;\n }\n return false;\n }\n var aria_unsupported_attr_evaluate_default = ariaUnsupportedAttrEvaluate;\n function ariaRoledescriptionEvaluate(node) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n var role = get_role_default(virtualNode);\n var supportedRoles = options.supportedRoles || [];\n if (supportedRoles.includes(role)) {\n return true;\n }\n if (role && role !== 'presentation' && role !== 'none') {\n return void 0;\n }\n return false;\n }\n var aria_roledescription_evaluate_default = ariaRoledescriptionEvaluate;\n function getMissingContext(virtualNode, ownGroupRoles, reqContext, includeElement) {\n var explicitRole2 = get_explicit_role_default(virtualNode);\n if (!reqContext) {\n reqContext = required_context_default(explicitRole2);\n }\n if (!reqContext) {\n return null;\n }\n var allowsGroup = reqContext.includes('group');\n var vNode = includeElement ? virtualNode : virtualNode.parent;\n while (vNode) {\n var role = get_role_default(vNode, {\n noPresentational: true\n });\n if (!role) {\n vNode = vNode.parent;\n } else if (role === 'group' && allowsGroup) {\n if (ownGroupRoles.includes(explicitRole2)) {\n reqContext.push(explicitRole2);\n }\n reqContext = reqContext.filter(function(r) {\n return r !== 'group';\n });\n vNode = vNode.parent;\n } else if (reqContext.includes(role)) {\n return null;\n } else {\n return reqContext;\n }\n }\n return reqContext;\n }\n function getAriaOwners(element) {\n var owners = [], o = null;\n while (element) {\n if (element.getAttribute('id')) {\n var _id5 = escape_selector_default(element.getAttribute('id'));\n var doc = get_root_node_default2(element);\n o = doc.querySelector('[aria-owns~='.concat(_id5, ']'));\n if (o) {\n owners.push(o);\n }\n }\n element = element.parentElement;\n }\n return owners.length ? owners : null;\n }\n function ariaRequiredParentEvaluate(node, options, virtualNode) {\n var ownGroupRoles = options && Array.isArray(options.ownGroupRoles) ? options.ownGroupRoles : [];\n var missingParents = getMissingContext(virtualNode, ownGroupRoles);\n if (!missingParents) {\n return true;\n }\n var owners = getAriaOwners(node);\n if (owners) {\n for (var _i35 = 0, l = owners.length; _i35 < l; _i35++) {\n missingParents = getMissingContext(get_node_from_tree_default(owners[_i35]), ownGroupRoles, missingParents, true);\n if (!missingParents) {\n return true;\n }\n }\n }\n this.data(missingParents);\n return false;\n }\n var aria_required_parent_evaluate_default = ariaRequiredParentEvaluate;\n function ariaRequiredChildrenEvaluate(node, options, virtualNode) {\n var reviewEmpty = options && Array.isArray(options.reviewEmpty) ? options.reviewEmpty : [];\n var explicitRole2 = get_explicit_role_default(virtualNode, {\n dpub: true\n });\n var required = required_owned_default(explicitRole2);\n if (required === null) {\n return true;\n }\n var ownedRoles = getOwnedRoles(virtualNode, required);\n var unallowed = ownedRoles.filter(function(_ref136) {\n var role = _ref136.role, vNode = _ref136.vNode;\n return vNode.props.nodeType === 1 && !required.includes(role);\n });\n if (unallowed.length) {\n this.relatedNodes(unallowed.map(function(_ref137) {\n var vNode = _ref137.vNode;\n return vNode;\n }));\n this.data({\n messageKey: 'unallowed',\n values: unallowed.map(function(_ref138) {\n var vNode = _ref138.vNode, attr = _ref138.attr;\n return getUnallowedSelector(vNode, attr);\n }).filter(function(selector, index, array) {\n return array.indexOf(selector) === index;\n }).join(', ')\n });\n return false;\n }\n if (hasRequiredChildren(required, ownedRoles)) {\n return true;\n }\n if (virtualNode.attr('aria-busy') === 'true') {\n this.data({\n messageKey: 'aria-busy'\n });\n return true;\n }\n this.data(required);\n if (reviewEmpty.includes(explicitRole2) && !ownedRoles.some(isContent)) {\n return void 0;\n }\n return false;\n }\n function getOwnedRoles(virtualNode, required) {\n var vNode;\n var ownedRoles = [];\n var ownedVirtual = get_owned_virtual_default(virtualNode);\n var _loop10 = function _loop10() {\n if (vNode.props.nodeType === 3) {\n ownedRoles.push({\n vNode: vNode,\n role: null\n });\n }\n if (vNode.props.nodeType !== 1 || !_isVisibleToScreenReaders(vNode)) {\n return 1;\n }\n var role = get_role_default(vNode, {\n noPresentational: true\n });\n var globalAriaAttr = getGlobalAriaAttr(vNode);\n var hasGlobalAriaOrFocusable = !!globalAriaAttr || _isFocusable(vNode);\n if (!role && !hasGlobalAriaOrFocusable || [ 'group', 'rowgroup' ].includes(role) && required.some(function(requiredRole) {\n return requiredRole === role;\n })) {\n ownedVirtual.push.apply(ownedVirtual, _toConsumableArray(vNode.children));\n } else if (role || hasGlobalAriaOrFocusable) {\n var attr = globalAriaAttr || 'tabindex';\n ownedRoles.push({\n role: role,\n attr: attr,\n vNode: vNode\n });\n }\n };\n while (vNode = ownedVirtual.shift()) {\n if (_loop10()) {\n continue;\n }\n }\n return ownedRoles;\n }\n function hasRequiredChildren(required, ownedRoles) {\n return ownedRoles.some(function(_ref139) {\n var role = _ref139.role;\n return role && required.includes(role);\n });\n }\n function getGlobalAriaAttr(vNode) {\n return get_global_aria_attrs_default().find(function(attr) {\n return vNode.hasAttr(attr);\n });\n }\n function getUnallowedSelector(vNode, attr) {\n var _vNode$props = vNode.props, nodeName2 = _vNode$props.nodeName, nodeType = _vNode$props.nodeType;\n if (nodeType === 3) {\n return '#text';\n }\n var role = get_explicit_role_default(vNode, {\n dpub: true\n });\n if (role) {\n return '[role='.concat(role, ']');\n }\n if (attr) {\n return nodeName2 + '['.concat(attr, ']');\n }\n return nodeName2;\n }\n function isContent(_ref140) {\n var vNode = _ref140.vNode;\n if (vNode.props.nodeType === 3) {\n return vNode.props.nodeValue.trim().length > 0;\n }\n return has_content_virtual_default(vNode, false, true);\n }\n function ariaRequiredAttrEvaluate(node) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n var role = get_explicit_role_default(virtualNode);\n var attrs = virtualNode.attrNames;\n var requiredAttrs = required_attr_default(role);\n if (Array.isArray(options[role])) {\n requiredAttrs = unique_array_default(options[role], requiredAttrs);\n }\n if (!role || !attrs.length || !requiredAttrs.length) {\n return true;\n }\n if (isStaticSeparator(virtualNode, role) || isClosedCombobox(virtualNode, role)) {\n return true;\n }\n var elmSpec = get_element_spec_default(virtualNode);\n var missingAttrs = requiredAttrs.filter(function(requiredAttr2) {\n return !virtualNode.attr(requiredAttr2) && !hasImplicitAttr(elmSpec, requiredAttr2);\n });\n if (missingAttrs.length) {\n this.data(missingAttrs);\n return false;\n }\n return true;\n }\n function isStaticSeparator(vNode, role) {\n return role === 'separator' && !_isFocusable(vNode);\n }\n function hasImplicitAttr(elmSpec, attr) {\n var _elmSpec$implicitAttr;\n return ((_elmSpec$implicitAttr = elmSpec.implicitAttrs) === null || _elmSpec$implicitAttr === void 0 ? void 0 : _elmSpec$implicitAttr[attr]) !== void 0;\n }\n function isClosedCombobox(vNode, role) {\n return role === 'combobox' && vNode.attr('aria-expanded') === 'false';\n }\n function ariaProhibitedAttrEvaluate(node) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n var elementsAllowedAriaLabel = (options === null || options === void 0 ? void 0 : options.elementsAllowedAriaLabel) || [];\n var nodeName2 = virtualNode.props.nodeName;\n var role = get_role_default(virtualNode, {\n chromium: true\n });\n var prohibitedList = listProhibitedAttrs(role, nodeName2, elementsAllowedAriaLabel);\n var prohibited = prohibitedList.filter(function(attrName) {\n if (!virtualNode.attrNames.includes(attrName)) {\n return false;\n }\n return sanitize_default(virtualNode.attr(attrName)) !== '';\n });\n if (prohibited.length === 0) {\n return false;\n }\n var messageKey = virtualNode.hasAttr('role') ? 'hasRole' : 'noRole';\n messageKey += prohibited.length > 1 ? 'Plural' : 'Singular';\n this.data({\n role: role,\n nodeName: nodeName2,\n messageKey: messageKey,\n prohibited: prohibited\n });\n var textContent = subtree_text_default(virtualNode, {\n subtreeDescendant: true\n });\n if (sanitize_default(textContent) !== '') {\n return void 0;\n }\n return true;\n }\n function listProhibitedAttrs(role, nodeName2, elementsAllowedAriaLabel) {\n var roleSpec = standards_default.ariaRoles[role];\n if (roleSpec) {\n return roleSpec.prohibitedAttrs || [];\n }\n if (!!role || elementsAllowedAriaLabel.includes(nodeName2)) {\n return [];\n }\n return [ 'aria-label', 'aria-labelledby' ];\n }\n function ariaLevelEvaluate(node, options, virtualNode) {\n var ariaHeadingLevel = virtualNode.attr('aria-level');\n var ariaLevel = parseInt(ariaHeadingLevel, 10);\n if (ariaLevel > 6) {\n return void 0;\n }\n return true;\n }\n var aria_level_evaluate_default = ariaLevelEvaluate;\n function ariaHiddenBodyEvaluate(node, options, virtualNode) {\n return virtualNode.attr('aria-hidden') !== 'true';\n }\n var aria_hidden_body_evaluate_default = ariaHiddenBodyEvaluate;\n function ariaErrormessageEvaluate(node, options, virtualNode) {\n options = Array.isArray(options) ? options : [];\n var errorMessageAttr = virtualNode.attr('aria-errormessage');\n var hasAttr = virtualNode.hasAttr('aria-errormessage');\n var invaid = virtualNode.attr('aria-invalid');\n var hasInvallid = virtualNode.hasAttr('aria-invalid');\n if (!hasInvallid || invaid === 'false') {\n return true;\n }\n function validateAttrValue2(attr) {\n if (attr.trim() === '') {\n return standards_default.ariaAttrs['aria-errormessage'].allowEmpty;\n }\n var idref;\n try {\n idref = attr && idrefs_default(virtualNode, 'aria-errormessage')[0];\n } catch (e) {\n this.data({\n messageKey: 'idrefs',\n values: token_list_default(attr)\n });\n return void 0;\n }\n if (idref) {\n if (!_isVisibleToScreenReaders(idref)) {\n this.data({\n messageKey: 'hidden',\n values: token_list_default(attr)\n });\n return false;\n }\n return idref.getAttribute('role') === 'alert' || idref.getAttribute('aria-live') === 'assertive' || idref.getAttribute('aria-live') === 'polite' || token_list_default(virtualNode.attr('aria-describedby')).indexOf(attr) > -1;\n }\n return;\n }\n if (options.indexOf(errorMessageAttr) === -1 && hasAttr) {\n this.data(token_list_default(errorMessageAttr));\n return validateAttrValue2.call(this, errorMessageAttr);\n }\n return true;\n }\n function ariaConditionalRowAttr(node) {\n var _invalidTableRowAttrs, _invalidTableRowAttrs2;\n var _ref141 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, invalidTableRowAttrs = _ref141.invalidTableRowAttrs;\n var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n var invalidAttrs = (_invalidTableRowAttrs = invalidTableRowAttrs === null || invalidTableRowAttrs === void 0 || (_invalidTableRowAttrs2 = invalidTableRowAttrs.filter) === null || _invalidTableRowAttrs2 === void 0 ? void 0 : _invalidTableRowAttrs2.call(invalidTableRowAttrs, function(invalidAttr) {\n return virtualNode.hasAttr(invalidAttr);\n })) !== null && _invalidTableRowAttrs !== void 0 ? _invalidTableRowAttrs : [];\n if (invalidAttrs.length === 0) {\n return true;\n }\n var owner = getRowOwner(virtualNode);\n var ownerRole = owner && get_role_default(owner);\n if (!ownerRole || ownerRole === 'treegrid') {\n return true;\n }\n var messageKey = 'row'.concat(invalidAttrs.length > 1 ? 'Plural' : 'Singular');\n this.data({\n messageKey: messageKey,\n invalidAttrs: invalidAttrs,\n ownerRole: ownerRole\n });\n return false;\n }\n function getRowOwner(virtualNode) {\n if (!virtualNode.parent) {\n return;\n }\n var rowOwnerQuery = 'table:not([role]), [role~=\"treegrid\"], [role~=\"table\"], [role~=\"grid\"]';\n return closest_default(virtualNode, rowOwnerQuery);\n }\n function ariaConditionalCheckboxAttr(node, options, virtualNode) {\n var _virtualNode$props = virtualNode.props, nodeName2 = _virtualNode$props.nodeName, type2 = _virtualNode$props.type;\n var ariaChecked = normalizeAriaChecked(virtualNode.attr('aria-checked'));\n if (nodeName2 !== 'input' || type2 !== 'checkbox' || !ariaChecked) {\n return true;\n }\n var checkState = getCheckState(virtualNode);\n if (ariaChecked === checkState) {\n return true;\n }\n this.data({\n messageKey: 'checkbox',\n checkState: checkState\n });\n return false;\n }\n function getCheckState(vNode) {\n if (vNode.props.indeterminate) {\n return 'mixed';\n }\n return vNode.props.checked ? 'true' : 'false';\n }\n function normalizeAriaChecked(ariaCheckedVal) {\n if (!ariaCheckedVal) {\n return '';\n }\n ariaCheckedVal = ariaCheckedVal.toLowerCase();\n if ([ 'mixed', 'true' ].includes(ariaCheckedVal)) {\n return ariaCheckedVal;\n }\n return 'false';\n }\n var conditionalRoleMap = {\n row: ariaConditionalRowAttr,\n checkbox: ariaConditionalCheckboxAttr\n };\n function ariaConditionalAttrEvaluate(node, options, virtualNode) {\n var role = get_role_default(virtualNode);\n if (!conditionalRoleMap[role]) {\n return true;\n }\n return conditionalRoleMap[role].call(this, node, options, virtualNode);\n }\n function ariaBusyEvaluate(node, options, virtualNode) {\n return virtualNode.attr('aria-busy') === 'true';\n }\n function ariaAllowedRoleEvaluate(node) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var virtualNode = arguments.length > 2 ? arguments[2] : undefined;\n var _options$allowImplici = options.allowImplicit, allowImplicit = _options$allowImplici === void 0 ? true : _options$allowImplici, _options$ignoredTags = options.ignoredTags, ignoredTags = _options$ignoredTags === void 0 ? [] : _options$ignoredTags;\n var nodeName2 = virtualNode.props.nodeName;\n if (ignoredTags.map(function(tag) {\n return tag.toLowerCase();\n }).includes(nodeName2)) {\n return true;\n }\n var unallowedRoles = get_element_unallowed_roles_default(virtualNode, allowImplicit);\n if (unallowedRoles.length) {\n this.data(unallowedRoles);\n if (!_isVisibleToScreenReaders(virtualNode)) {\n return void 0;\n }\n return false;\n }\n return true;\n }\n var aria_allowed_role_evaluate_default = ariaAllowedRoleEvaluate;\n function ariaAllowedAttrEvaluate(node, options, virtualNode) {\n var invalid = [];\n var role = get_role_default(virtualNode);\n var allowed = allowed_attr_default(role);\n if (Array.isArray(options[role])) {\n allowed = unique_array_default(options[role].concat(allowed));\n }\n var _iterator21 = _createForOfIteratorHelper(virtualNode.attrNames), _step21;\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done; ) {\n var attrName = _step21.value;\n if (validate_attr_default(attrName) && !allowed.includes(attrName)) {\n invalid.push(attrName);\n }\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n if (!invalid.length) {\n return true;\n }\n this.data(invalid.map(function(attrName) {\n return attrName + '=\"' + virtualNode.attr(attrName) + '\"';\n }));\n if (!role && !is_html_element_default(virtualNode) && !_isFocusable(virtualNode)) {\n return void 0;\n }\n return false;\n }\n function abstractroleEvaluate(node, options, virtualNode) {\n var abstractRoles = token_list_default(virtualNode.attr('role')).filter(function(role) {\n return get_role_type_default(role) === 'abstract';\n });\n if (abstractRoles.length > 0) {\n this.data(abstractRoles);\n return true;\n }\n return false;\n }\n var abstractrole_evaluate_default = abstractroleEvaluate;\n function xmlLangMismatchMatches(node) {\n var primaryLangValue = get_base_lang_default(node.getAttribute('lang'));\n var primaryXmlLangValue = get_base_lang_default(node.getAttribute('xml:lang'));\n return valid_langs_default(primaryLangValue) && valid_langs_default(primaryXmlLangValue);\n }\n var xml_lang_mismatch_matches_default = xmlLangMismatchMatches;\n function windowIsTopMatches(node) {\n return node.ownerDocument.defaultView.self === node.ownerDocument.defaultView.top;\n }\n var window_is_top_matches_default = windowIsTopMatches;\n function svgNamespaceMatches(node, virtualNode) {\n try {\n var nodeName2 = virtualNode.props.nodeName;\n if (nodeName2 === 'svg') {\n return true;\n }\n return !!closest_default(virtualNode, 'svg');\n } catch (e) {\n return false;\n }\n }\n var svg_namespace_matches_default = svgNamespaceMatches;\n function widgetNotInline(node, vNode) {\n return matchesFns.every(function(fn) {\n return fn(node, vNode);\n });\n }\n var matchesFns = [ function(node, vNode) {\n return isWidgetType(vNode);\n }, function(node, vNode) {\n return isNotAreaElement(vNode);\n }, function(node, vNode) {\n return !svg_namespace_matches_default(node, vNode);\n }, function(node, vNode) {\n return _isFocusable(vNode);\n }, function(node, vNode) {\n return _isInTabOrder(vNode) || !hasWidgetAncestorInTabOrder(vNode);\n }, function(node) {\n return !is_in_text_block_default(node, {\n noLengthCompare: true\n });\n } ];\n function isWidgetType(vNode) {\n return get_role_type_default(vNode) === 'widget';\n }\n function isNotAreaElement(vNode) {\n return vNode.props.nodeName !== 'area';\n }\n var hasWidgetAncestorInTabOrder = memoize_default(function hasWidgetAncestorInTabOrderMemoized(vNode) {\n if (!(vNode !== null && vNode !== void 0 && vNode.parent)) {\n return false;\n }\n if (isWidgetType(vNode.parent) && _isInTabOrder(vNode.parent)) {\n return true;\n }\n return hasWidgetAncestorInTabOrderMemoized(vNode.parent);\n });\n function tableOrGridRoleMatches(_, vNode) {\n var role = get_role_default(vNode);\n return [ 'treegrid', 'grid', 'table' ].includes(role);\n }\n function skipLinkMatches(node) {\n return _isSkipLink(node) && is_offscreen_default(node);\n }\n var skip_link_matches_default = skipLinkMatches;\n function scrollableRegionFocusableMatches(node, virtualNode) {\n return get_scroll_default(node, 13) !== void 0 && _isComboboxPopup(virtualNode) === false && isNoneEmptyElement(virtualNode);\n }\n function isNoneEmptyElement(vNode) {\n return query_selector_all_default(vNode, '*').some(function(elm) {\n return has_content_virtual_default(elm, true, true);\n });\n }\n function presentationRoleConflictMatches(node, virtualNode) {\n return implicit_role_default(virtualNode, {\n chromiumRoles: true\n }) !== null;\n }\n var presentation_role_conflict_matches_default = presentationRoleConflictMatches;\n function pAsHeadingMatches(node) {\n var children = Array.from(node.parentNode.childNodes);\n var nodeText = node.textContent.trim();\n var isSentence = /[.!?:;](?![.!?:;])/g;\n if (nodeText.length === 0 || (nodeText.match(isSentence) || []).length >= 2) {\n return false;\n }\n var siblingsAfter = children.slice(children.indexOf(node) + 1).filter(function(elm) {\n return elm.nodeName.toUpperCase() === 'P' && elm.textContent.trim() !== '';\n });\n return siblingsAfter.length !== 0;\n }\n var p_as_heading_matches_default = pAsHeadingMatches;\n function noExplicitNameRequired(node, virtualNode) {\n var role = get_explicit_role_default(virtualNode);\n if (!role || [ 'none', 'presentation' ].includes(role)) {\n return true;\n }\n var _ref142 = aria_roles_default[role] || {}, accessibleNameRequired = _ref142.accessibleNameRequired;\n if (accessibleNameRequired || _isFocusable(virtualNode)) {\n return true;\n }\n return false;\n }\n var no_explicit_name_required_matches_default = noExplicitNameRequired;\n var object_is_loaded_matches_default = function object_is_loaded_matches_default(node, vNode) {\n return [ no_explicit_name_required_matches_default, objectHasLoaded ].every(function(fn) {\n return fn(node, vNode);\n });\n };\n function objectHasLoaded(node) {\n var _node$ownerDocument;\n if (!(node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.createRange)) {\n return true;\n }\n var range2 = node.ownerDocument.createRange();\n range2.setStart(node, 0);\n range2.setEnd(node, node.childNodes.length);\n return range2.getClientRects().length === 0;\n }\n function notHtmlMatches(node, virtualNode) {\n return virtualNode.props.nodeName !== 'html';\n }\n var not_html_matches_default = notHtmlMatches;\n function noRoleMatches(node, vNode) {\n return !vNode.attr('role');\n }\n var no_role_matches_default = noRoleMatches;\n function noNegativeTabindexMatches(node, virtualNode) {\n var tabindex = parseInt(virtualNode.attr('tabindex'), 10);\n return isNaN(tabindex) || tabindex >= 0;\n }\n var no_negative_tabindex_matches_default = noNegativeTabindexMatches;\n function noNamingMethodMatches(node, virtualNode) {\n var _get_element_spec_def3 = get_element_spec_default(virtualNode), namingMethods = _get_element_spec_def3.namingMethods;\n if (namingMethods && namingMethods.length !== 0) {\n return false;\n }\n if (get_explicit_role_default(virtualNode) === 'combobox' && query_selector_all_default(virtualNode, 'input:not([type=\"hidden\"])').length) {\n return false;\n }\n if (_isComboboxPopup(virtualNode, {\n popupRoles: [ 'listbox' ]\n })) {\n return false;\n }\n return true;\n }\n var no_naming_method_matches_default = noNamingMethodMatches;\n function noEmptyRoleMatches(node, virtualNode) {\n if (!virtualNode.hasAttr('role')) {\n return false;\n }\n if (!virtualNode.attr('role').trim()) {\n return false;\n }\n return true;\n }\n var no_empty_role_matches_default = noEmptyRoleMatches;\n function noAutoplayAudioMatches(node) {\n if (!node.currentSrc) {\n return false;\n }\n if (node.hasAttribute('paused') || node.hasAttribute('muted')) {\n return false;\n }\n return true;\n }\n var no_autoplay_audio_matches_default = noAutoplayAudioMatches;\n function nestedInteractiveMatches(node, virtualNode) {\n var role = get_role_default(virtualNode);\n if (!role) {\n return false;\n }\n return !!standards_default.ariaRoles[role].childrenPresentational;\n }\n var nested_interactive_matches_default = nestedInteractiveMatches;\n function linkInTextBlockMatches(node) {\n var text = sanitize_default(node.innerText);\n var role = node.getAttribute('role');\n if (role && role !== 'link') {\n return false;\n }\n if (!text) {\n return false;\n }\n if (!_isVisibleOnScreen(node)) {\n return false;\n }\n return is_in_text_block_default(node);\n }\n var link_in_text_block_matches_default = linkInTextBlockMatches;\n function dataTableMatches(node) {\n return !is_data_table_default(node) && !_isFocusable(node);\n }\n var layout_table_matches_default = dataTableMatches;\n var excludedParentsForHeaderFooterLandmarks = [ 'article', 'aside', 'main', 'nav', 'section' ].join(',');\n function landmarkUniqueMatches(node, virtualNode) {\n return isLandmarkVirtual(virtualNode) && _isVisibleToScreenReaders(virtualNode);\n }\n function isLandmarkVirtual(vNode) {\n var landmarkRoles2 = get_aria_roles_by_type_default('landmark');\n var role = get_role_default(vNode);\n if (!role) {\n return false;\n }\n var nodeName2 = vNode.props.nodeName;\n if (nodeName2 === 'header' || nodeName2 === 'footer') {\n return isHeaderFooterLandmark(vNode);\n }\n if (nodeName2 === 'section' || nodeName2 === 'form') {\n var accessibleText2 = _accessibleTextVirtual(vNode);\n return !!accessibleText2;\n }\n return landmarkRoles2.indexOf(role) >= 0 || role === 'region';\n }\n function isHeaderFooterLandmark(headerFooterElement) {\n return !closest_default(headerFooterElement, excludedParentsForHeaderFooterLandmarks);\n }\n function landmarkHasBodyContextMatches(node, virtualNode) {\n var nativeScopeFilter = 'article, aside, main, nav, section';\n return node.hasAttribute('role') || !find_up_virtual_default(virtualNode, nativeScopeFilter);\n }\n var landmark_has_body_context_matches_default = landmarkHasBodyContextMatches;\n function labelMatches(node, virtualNode) {\n if (virtualNode.props.nodeName !== 'input' || virtualNode.hasAttr('type') === false) {\n return true;\n }\n var type2 = virtualNode.attr('type').toLowerCase();\n return [ 'hidden', 'image', 'button', 'submit', 'reset' ].includes(type2) === false;\n }\n var label_matches_default = labelMatches;\n function labelContentNameMismatchMatches(node, virtualNode) {\n var role = get_role_default(node);\n if (!role) {\n return false;\n }\n var widgetRoles = get_aria_roles_by_type_default('widget');\n var isWidgetType2 = widgetRoles.includes(role);\n if (!isWidgetType2) {\n return false;\n }\n var rolesWithNameFromContents = get_aria_roles_supporting_name_from_content_default();\n if (!rolesWithNameFromContents.includes(role)) {\n return false;\n }\n if (!sanitize_default(_arialabelText(virtualNode)) && !sanitize_default(arialabelledby_text_default(node))) {\n return false;\n }\n if (!sanitize_default(visible_virtual_default(virtualNode))) {\n return false;\n }\n return true;\n }\n var label_content_name_mismatch_matches_default = labelContentNameMismatchMatches;\n function isVisibleOnScreenMatches(node, virtualNode) {\n return _isVisibleOnScreen(virtualNode);\n }\n function hasVisibleTextMatches(node) {\n return _isVisibleOnScreen(node);\n }\n function isInitiatorMatches(node, virtualNode, context) {\n return context.initiator;\n }\n var is_initiator_matches_default = isInitiatorMatches;\n function insertedIntoFocusOrderMatches(node) {\n return inserted_into_focus_order_default(node);\n }\n var inserted_into_focus_order_matches_default = insertedIntoFocusOrderMatches;\n function identicalLinksSamePurposeMatches(node, virtualNode) {\n var hasAccName = !!_accessibleTextVirtual(virtualNode);\n if (!hasAccName) {\n return false;\n }\n var role = get_role_default(node);\n if (role && role !== 'link') {\n return false;\n }\n return true;\n }\n var identical_links_same_purpose_matches_default = identicalLinksSamePurposeMatches;\n function htmlNamespaceMatches(node, virtualNode) {\n return !svg_namespace_matches_default(node, virtualNode);\n }\n var html_namespace_matches_default = htmlNamespaceMatches;\n function headingMatches(node, virtualNode) {\n return get_role_default(virtualNode) === 'heading';\n }\n function hasImplicitChromiumRoleMatches(node, virtualNode) {\n return implicit_role_default(virtualNode, {\n chromium: true\n }) !== null;\n }\n var has_implicit_chromium_role_matches_default = hasImplicitChromiumRoleMatches;\n function frameTitleHasTextMatches(node) {\n var title = node.getAttribute('title');\n return !!sanitize_default(title);\n }\n var frame_title_has_text_matches_default = frameTitleHasTextMatches;\n function frameFocusableContentMatches(node, virtualNode, context) {\n var _context$size, _context$size2;\n return !context.initiator && !context.focusable && ((_context$size = context.size) === null || _context$size === void 0 ? void 0 : _context$size.width) * ((_context$size2 = context.size) === null || _context$size2 === void 0 ? void 0 : _context$size2.height) > 1;\n }\n var frame_focusable_content_matches_default = frameFocusableContentMatches;\n function duplicateIdMiscMatches(node) {\n var id = node.getAttribute('id').trim();\n var idSelector = '*[id=\"'.concat(escape_selector_default(id), '\"]');\n var idMatchingElms = Array.from(get_root_node_default2(node).querySelectorAll(idSelector));\n return !is_accessible_ref_default(node) && idMatchingElms.every(function(elm) {\n return !_isFocusable(elm);\n });\n }\n var duplicate_id_misc_matches_default = duplicateIdMiscMatches;\n function duplicateIdAriaMatches(node) {\n return is_accessible_ref_default(node);\n }\n var duplicate_id_aria_matches_default = duplicateIdAriaMatches;\n function duplicateIdActiveMatches(node) {\n var id = node.getAttribute('id').trim();\n var idSelector = '*[id=\"'.concat(escape_selector_default(id), '\"]');\n var idMatchingElms = Array.from(get_root_node_default2(node).querySelectorAll(idSelector));\n return !is_accessible_ref_default(node) && idMatchingElms.some(_isFocusable);\n }\n var duplicate_id_active_matches_default = duplicateIdActiveMatches;\n function dataTableMatches2(node) {\n return is_data_table_default(node);\n }\n var data_table_matches_default = dataTableMatches2;\n function dataTableLargeMatches(node) {\n if (is_data_table_default(node)) {\n var tableArray = to_grid_default(node);\n return tableArray.length >= 3 && tableArray[0].length >= 3 && tableArray[1].length >= 3 && tableArray[2].length >= 3;\n }\n return false;\n }\n var data_table_large_matches_default = dataTableLargeMatches;\n function colorContrastMatches(node, virtualNode) {\n var _virtualNode$props2 = virtualNode.props, nodeName2 = _virtualNode$props2.nodeName, inputType = _virtualNode$props2.type;\n if (nodeName2 === 'option') {\n return false;\n }\n if (nodeName2 === 'select' && !node.options.length) {\n return false;\n }\n var nonTextInput = [ 'hidden', 'range', 'color', 'checkbox', 'radio', 'image' ];\n if (nodeName2 === 'input' && nonTextInput.includes(inputType)) {\n return false;\n }\n if (is_disabled_default(virtualNode) || _isInert(virtualNode)) {\n return false;\n }\n var formElements = [ 'input', 'select', 'textarea' ];\n if (formElements.includes(nodeName2)) {\n var style = window.getComputedStyle(node);\n var textIndent = parseInt(style.getPropertyValue('text-indent'), 10);\n if (textIndent) {\n var rect = node.getBoundingClientRect();\n rect = {\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left + textIndent,\n right: rect.right + textIndent\n };\n if (!visually_overlaps_default(rect, node)) {\n return false;\n }\n }\n return true;\n }\n var nodeParentLabel = find_up_virtual_default(virtualNode, 'label');\n if (nodeName2 === 'label' || nodeParentLabel) {\n var labelNode = nodeParentLabel || node;\n var labelVirtual3 = nodeParentLabel ? get_node_from_tree_default(nodeParentLabel) : virtualNode;\n if (labelNode.htmlFor) {\n var doc = get_root_node_default2(labelNode);\n var explicitControl = doc.getElementById(labelNode.htmlFor);\n var explicitControlVirtual = explicitControl && get_node_from_tree_default(explicitControl);\n if (explicitControlVirtual && is_disabled_default(explicitControlVirtual)) {\n return false;\n }\n }\n var query = 'input:not([type=\"hidden\"],[type=\"image\"],[type=\"button\"],[type=\"submit\"],[type=\"reset\"]), select, textarea';\n var implicitControl = query_selector_all_default(labelVirtual3, query)[0];\n if (implicitControl && is_disabled_default(implicitControl)) {\n return false;\n }\n }\n var ariaLabelledbyControls = [];\n var ancestorNode = virtualNode;\n while (ancestorNode) {\n if (ancestorNode.props.id) {\n var virtualControls = get_accessible_refs_default(ancestorNode).filter(function(control) {\n return token_list_default(control.getAttribute('aria-labelledby') || '').includes(ancestorNode.props.id);\n }).map(function(control) {\n return get_node_from_tree_default(control);\n });\n ariaLabelledbyControls.push.apply(ariaLabelledbyControls, _toConsumableArray(virtualControls));\n }\n ancestorNode = ancestorNode.parent;\n }\n if (ariaLabelledbyControls.length > 0 && ariaLabelledbyControls.every(is_disabled_default)) {\n return false;\n }\n if (!hasRealTextChildren(virtualNode)) {\n return false;\n }\n var range2 = document.createRange();\n var childNodes = virtualNode.children;\n for (var index = 0; index < childNodes.length; index++) {\n var child = childNodes[index];\n if (child.actualNode.nodeType === 3 && sanitize_default(child.actualNode.nodeValue) !== '') {\n range2.selectNodeContents(child.actualNode);\n }\n }\n var rects = Array.from(range2.getClientRects());\n var clippingAncestors = get_overflow_hidden_ancestors_default(virtualNode);\n return rects.some(function(rect) {\n var overlaps = visually_overlaps_default(rect, node);\n if (!clippingAncestors.length) {\n return overlaps;\n }\n var withinOverflow = clippingAncestors.some(function(overflowNode) {\n return _rectsOverlap(rect, overflowNode.boundingClientRect);\n });\n return overlaps && withinOverflow;\n });\n }\n var color_contrast_matches_default = colorContrastMatches;\n var removeUnicodeOptions = {\n emoji: true,\n nonBmp: false,\n punctuations: true\n };\n function hasRealTextChildren(virtualNode) {\n var visibleText = visible_virtual_default(virtualNode, false, true);\n if (visibleText === '' || remove_unicode_default(visibleText, removeUnicodeOptions) === '') {\n return false;\n }\n return virtualNode.children.some(function(vChild) {\n return vChild.props.nodeName === '#text' && !_isIconLigature(vChild);\n });\n }\n function bypassMatches(node, virtualNode, context) {\n if (is_initiator_matches_default(node, virtualNode, context)) {\n return !!node.querySelector('a[href]');\n }\n return true;\n }\n var bypass_matches_default = bypassMatches;\n function autocompleteMatches(node, virtualNode) {\n var autocomplete2 = virtualNode.attr('autocomplete');\n if (!autocomplete2 || sanitize_default(autocomplete2) === '') {\n return false;\n }\n var nodeName2 = virtualNode.props.nodeName;\n if ([ 'textarea', 'input', 'select' ].includes(nodeName2) === false) {\n return false;\n }\n var excludedInputTypes = [ 'submit', 'reset', 'button', 'hidden' ];\n if (nodeName2 === 'input' && excludedInputTypes.includes(virtualNode.props.type)) {\n return false;\n }\n var ariaDisabled = virtualNode.attr('aria-disabled') || 'false';\n if (virtualNode.hasAttr('disabled') || ariaDisabled.toLowerCase() === 'true') {\n return false;\n }\n var role = virtualNode.attr('role');\n var tabIndex = virtualNode.attr('tabindex');\n if (tabIndex === '-1' && role) {\n var roleDef = standards_default.ariaRoles[role];\n if (roleDef === void 0 || roleDef.type !== 'widget') {\n return false;\n }\n }\n if (tabIndex === '-1' && virtualNode.actualNode && !_isVisibleOnScreen(virtualNode) && !_isVisibleToScreenReaders(virtualNode)) {\n return false;\n }\n return true;\n }\n var autocomplete_matches_default = autocompleteMatches;\n function ariaRequiredParentMatches(node, virtualNode) {\n var role = get_explicit_role_default(virtualNode);\n return !!required_context_default(role);\n }\n var aria_required_parent_matches_default = ariaRequiredParentMatches;\n function ariaRequiredChildrenMatches(node, virtualNode) {\n var role = get_explicit_role_default(virtualNode, {\n dpub: true\n });\n return !!required_owned_default(role);\n }\n var aria_required_children_matches_default = ariaRequiredChildrenMatches;\n function shouldMatchElement(el) {\n if (!el) {\n return true;\n }\n if (el.getAttribute('aria-hidden') === 'true') {\n return false;\n }\n return shouldMatchElement(get_composed_parent_default(el));\n }\n function ariaHiddenFocusMatches(node) {\n return shouldMatchElement(get_composed_parent_default(node));\n }\n var aria_hidden_focus_matches_default = ariaHiddenFocusMatches;\n function ariaHasAttrMatches(node, virtualNode) {\n var aria = /^aria-/;\n return virtualNode.attrNames.some(function(attr) {\n return aria.test(attr);\n });\n }\n var aria_has_attr_matches_default = ariaHasAttrMatches;\n function ariaAllowedRoleMatches(node, virtualNode) {\n return get_explicit_role_default(virtualNode, {\n dpub: true,\n fallback: true\n }) !== null;\n }\n var aria_allowed_role_matches_default = ariaAllowedRoleMatches;\n function ariaAllowedAttrMatches(node, virtualNode) {\n var aria = /^aria-/;\n var attrs = virtualNode.attrNames;\n if (attrs.length) {\n for (var _i36 = 0, l = attrs.length; _i36 < l; _i36++) {\n if (aria.test(attrs[_i36])) {\n return true;\n }\n }\n }\n return false;\n }\n var aria_allowed_attr_matches_default = ariaAllowedAttrMatches;\n var metadataFunctionMap = {\n 'abstractrole-evaluate': abstractrole_evaluate_default,\n 'accesskeys-after': accesskeys_after_default,\n 'accesskeys-evaluate': accesskeys_evaluate_default,\n 'alt-space-value-evaluate': alt_space_value_evaluate_default,\n 'aria-allowed-attr-evaluate': ariaAllowedAttrEvaluate,\n 'aria-allowed-attr-matches': aria_allowed_attr_matches_default,\n 'aria-allowed-role-evaluate': aria_allowed_role_evaluate_default,\n 'aria-allowed-role-matches': aria_allowed_role_matches_default,\n 'aria-busy-evaluate': ariaBusyEvaluate,\n 'aria-conditional-attr-evaluate': ariaConditionalAttrEvaluate,\n 'aria-conditional-checkbox-attr-evaluate': ariaConditionalCheckboxAttr,\n 'aria-conditional-row-attr-evaluate': ariaConditionalRowAttr,\n 'aria-errormessage-evaluate': ariaErrormessageEvaluate,\n 'aria-has-attr-matches': aria_has_attr_matches_default,\n 'aria-hidden-body-evaluate': aria_hidden_body_evaluate_default,\n 'aria-hidden-focus-matches': aria_hidden_focus_matches_default,\n 'aria-label-evaluate': aria_label_evaluate_default,\n 'aria-labelledby-evaluate': aria_labelledby_evaluate_default,\n 'aria-level-evaluate': aria_level_evaluate_default,\n 'aria-prohibited-attr-evaluate': ariaProhibitedAttrEvaluate,\n 'aria-required-attr-evaluate': ariaRequiredAttrEvaluate,\n 'aria-required-children-evaluate': ariaRequiredChildrenEvaluate,\n 'aria-required-children-matches': aria_required_children_matches_default,\n 'aria-required-parent-evaluate': aria_required_parent_evaluate_default,\n 'aria-required-parent-matches': aria_required_parent_matches_default,\n 'aria-roledescription-evaluate': aria_roledescription_evaluate_default,\n 'aria-unsupported-attr-evaluate': aria_unsupported_attr_evaluate_default,\n 'aria-valid-attr-evaluate': aria_valid_attr_evaluate_default,\n 'aria-valid-attr-value-evaluate': ariaValidAttrValueEvaluate,\n 'attr-non-space-content-evaluate': attr_non_space_content_evaluate_default,\n 'autocomplete-appropriate-evaluate': autocomplete_appropriate_evaluate_default,\n 'autocomplete-matches': autocomplete_matches_default,\n 'autocomplete-valid-evaluate': autocomplete_valid_evaluate_default,\n 'avoid-inline-spacing-evaluate': avoid_inline_spacing_evaluate_default,\n 'braille-label-equivalent-evaluate': brailleLabelEquivalentEvaluate,\n 'braille-roledescription-equivalent-evaluate': brailleRoleDescriptionEquivalentEvaluate,\n 'bypass-matches': bypass_matches_default,\n 'caption-evaluate': caption_evaluate_default,\n 'caption-faked-evaluate': caption_faked_evaluate_default,\n 'color-contrast-evaluate': colorContrastEvaluate,\n 'color-contrast-matches': color_contrast_matches_default,\n 'css-orientation-lock-evaluate': css_orientation_lock_evaluate_default,\n 'data-table-large-matches': data_table_large_matches_default,\n 'data-table-matches': data_table_matches_default,\n 'deprecatedrole-evaluate': deprecatedroleEvaluate,\n 'dlitem-evaluate': dlitem_evaluate_default,\n 'doc-has-title-evaluate': doc_has_title_evaluate_default,\n 'duplicate-id-active-matches': duplicate_id_active_matches_default,\n 'duplicate-id-after': duplicate_id_after_default,\n 'duplicate-id-aria-matches': duplicate_id_aria_matches_default,\n 'duplicate-id-evaluate': duplicate_id_evaluate_default,\n 'duplicate-id-misc-matches': duplicate_id_misc_matches_default,\n 'duplicate-img-label-evaluate': duplicate_img_label_evaluate_default,\n 'exists-evaluate': exists_evaluate_default,\n 'explicit-evaluate': explicit_evaluate_default,\n 'fallbackrole-evaluate': fallbackrole_evaluate_default,\n 'focusable-content-evaluate': focusable_content_evaluate_default,\n 'focusable-disabled-evaluate': focusable_disabled_evaluate_default,\n 'focusable-element-evaluate': focusable_element_evaluate_default,\n 'focusable-modal-open-evaluate': focusable_modal_open_evaluate_default,\n 'focusable-no-name-evaluate': focusable_no_name_evaluate_default,\n 'focusable-not-tabbable-evaluate': focusable_not_tabbable_evaluate_default,\n 'frame-focusable-content-evaluate': frameFocusableContentEvaluate,\n 'frame-focusable-content-matches': frame_focusable_content_matches_default,\n 'frame-tested-after': frame_tested_after_default,\n 'frame-tested-evaluate': frame_tested_evaluate_default,\n 'frame-title-has-text-matches': frame_title_has_text_matches_default,\n 'has-alt-evaluate': has_alt_evaluate_default,\n 'has-descendant-after': has_descendant_after_default,\n 'has-descendant-evaluate': has_descendant_evaluate_default,\n 'has-global-aria-attribute-evaluate': has_global_aria_attribute_evaluate_default,\n 'has-implicit-chromium-role-matches': has_implicit_chromium_role_matches_default,\n 'has-lang-evaluate': has_lang_evaluate_default,\n 'has-text-content-evaluate': hasTextContentEvaluate,\n 'has-widget-role-evaluate': has_widget_role_evaluate_default,\n 'heading-matches': headingMatches,\n 'heading-order-after': headingOrderAfter,\n 'heading-order-evaluate': heading_order_evaluate_default,\n 'help-same-as-label-evaluate': help_same_as_label_evaluate_default,\n 'hidden-content-evaluate': hidden_content_evaluate_default,\n 'hidden-explicit-label-evaluate': hidden_explicit_label_evaluate_default,\n 'html-namespace-matches': html_namespace_matches_default,\n 'html5-scope-evaluate': html5_scope_evaluate_default,\n 'identical-links-same-purpose-after': identical_links_same_purpose_after_default,\n 'identical-links-same-purpose-evaluate': identical_links_same_purpose_evaluate_default,\n 'identical-links-same-purpose-matches': identical_links_same_purpose_matches_default,\n 'implicit-evaluate': implicit_evaluate_default,\n 'inline-style-property-evaluate': inlineStyleProperty,\n 'inserted-into-focus-order-matches': inserted_into_focus_order_matches_default,\n 'internal-link-present-evaluate': internal_link_present_evaluate_default,\n 'invalid-children-evaluate': invalidChildrenEvaluate,\n 'invalidrole-evaluate': invalidrole_evaluate_default,\n 'is-element-focusable-evaluate': is_element_focusable_evaluate_default,\n 'is-initiator-matches': is_initiator_matches_default,\n 'is-on-screen-evaluate': is_on_screen_evaluate_default,\n 'is-visible-matches': hasVisibleTextMatches,\n 'is-visible-on-screen-matches': isVisibleOnScreenMatches,\n 'label-content-name-mismatch-evaluate': label_content_name_mismatch_evaluate_default,\n 'label-content-name-mismatch-matches': label_content_name_mismatch_matches_default,\n 'label-matches': label_matches_default,\n 'landmark-has-body-context-matches': landmark_has_body_context_matches_default,\n 'landmark-is-top-level-evaluate': landmark_is_top_level_evaluate_default,\n 'landmark-is-unique-after': landmark_is_unique_after_default,\n 'landmark-is-unique-evaluate': landmark_is_unique_evaluate_default,\n 'landmark-unique-matches': landmarkUniqueMatches,\n 'layout-table-matches': layout_table_matches_default,\n 'link-in-text-block-evaluate': link_in_text_block_evaluate_default,\n 'link-in-text-block-matches': link_in_text_block_matches_default,\n 'link-in-text-block-style-evaluate': linkInTextBlockStyleEvaluate,\n 'listitem-evaluate': listitemEvaluate,\n 'matches-definition-evaluate': matches_definition_evaluate_default,\n 'meta-refresh-evaluate': metaRefreshEvaluate,\n 'meta-viewport-scale-evaluate': meta_viewport_scale_evaluate_default,\n 'multiple-label-evaluate': multiple_label_evaluate_default,\n 'nested-interactive-matches': nested_interactive_matches_default,\n 'no-autoplay-audio-evaluate': no_autoplay_audio_evaluate_default,\n 'no-autoplay-audio-matches': no_autoplay_audio_matches_default,\n 'no-empty-role-matches': no_empty_role_matches_default,\n 'no-explicit-name-required-matches': no_explicit_name_required_matches_default,\n 'no-focusable-content-evaluate': noFocusableContentEvaluate,\n 'no-implicit-explicit-label-evaluate': no_implicit_explicit_label_evaluate_default,\n 'no-naming-method-matches': no_naming_method_matches_default,\n 'no-negative-tabindex-matches': no_negative_tabindex_matches_default,\n 'no-role-matches': no_role_matches_default,\n 'non-empty-if-present-evaluate': non_empty_if_present_evaluate_default,\n 'not-html-matches': not_html_matches_default,\n 'object-is-loaded-matches': object_is_loaded_matches_default,\n 'only-dlitems-evaluate': onlyDlitemsEvaluate,\n 'only-listitems-evaluate': only_listitems_evaluate_default,\n 'p-as-heading-evaluate': p_as_heading_evaluate_default,\n 'p-as-heading-matches': p_as_heading_matches_default,\n 'page-no-duplicate-after': page_no_duplicate_after_default,\n 'page-no-duplicate-evaluate': page_no_duplicate_evaluate_default,\n 'presentation-role-conflict-matches': presentation_role_conflict_matches_default,\n 'presentational-role-evaluate': presentationalRoleEvaluate,\n 'region-after': region_after_default,\n 'region-evaluate': regionEvaluate,\n 'same-caption-summary-evaluate': same_caption_summary_evaluate_default,\n 'scope-value-evaluate': scope_value_evaluate_default,\n 'scrollable-region-focusable-matches': scrollableRegionFocusableMatches,\n 'skip-link-evaluate': skip_link_evaluate_default,\n 'skip-link-matches': skip_link_matches_default,\n 'structured-dlitems-evaluate': structured_dlitems_evaluate_default,\n 'svg-namespace-matches': svg_namespace_matches_default,\n 'svg-non-empty-title-evaluate': svg_non_empty_title_evaluate_default,\n 'tabindex-evaluate': tabindex_evaluate_default,\n 'table-or-grid-role-matches': tableOrGridRoleMatches,\n 'target-offset-evaluate': targetOffsetEvaluate,\n 'target-size-evaluate': targetSizeEvaluate,\n 'td-has-header-evaluate': td_has_header_evaluate_default,\n 'td-headers-attr-evaluate': tdHeadersAttrEvaluate,\n 'th-has-data-cells-evaluate': th_has_data_cells_evaluate_default,\n 'title-only-evaluate': title_only_evaluate_default,\n 'unique-frame-title-after': unique_frame_title_after_default,\n 'unique-frame-title-evaluate': unique_frame_title_evaluate_default,\n 'unsupportedrole-evaluate': unsupportedrole_evaluate_default,\n 'valid-lang-evaluate': valid_lang_evaluate_default,\n 'valid-scrollable-semantics-evaluate': valid_scrollable_semantics_evaluate_default,\n 'widget-not-inline-matches': widgetNotInline,\n 'window-is-top-matches': window_is_top_matches_default,\n 'xml-lang-mismatch-evaluate': xml_lang_mismatch_evaluate_default,\n 'xml-lang-mismatch-matches': xml_lang_mismatch_matches_default\n };\n var metadata_function_map_default = metadataFunctionMap;\n function CheckResult(check) {\n this.id = check.id;\n this.data = null;\n this.relatedNodes = [];\n this.result = null;\n }\n var check_result_default = CheckResult;\n function createExecutionContext(spec) {\n if (typeof spec === 'string') {\n if (metadata_function_map_default[spec]) {\n return metadata_function_map_default[spec];\n }\n if (/^\\s*function[\\s\\w]*\\(/.test(spec)) {\n return new Function('return ' + spec + ';')();\n }\n throw new ReferenceError('Function ID does not exist in the metadata-function-map: '.concat(spec));\n }\n return spec;\n }\n function normalizeOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (Array.isArray(options) || _typeof(options) !== 'object') {\n options = {\n value: options\n };\n }\n return options;\n }\n function Check(spec) {\n if (spec) {\n this.id = spec.id;\n this.configure(spec);\n }\n }\n Check.prototype.enabled = true;\n Check.prototype.run = function run(node, options, context, resolve, reject) {\n options = options || {};\n var enabled = options.hasOwnProperty('enabled') ? options.enabled : this.enabled;\n var checkOptions = this.getOptions(options.options);\n if (enabled) {\n var checkResult = new check_result_default(this);\n var helper = check_helper_default(checkResult, options, resolve, reject);\n var result;\n try {\n result = this.evaluate.call(helper, node.actualNode, checkOptions, node, context);\n } catch (e) {\n if (node && node.actualNode) {\n e.errorNode = node_serializer_default.toSpec(node);\n }\n reject(e);\n return;\n }\n if (!helper.isAsync) {\n checkResult.result = result;\n resolve(checkResult);\n }\n } else {\n resolve(null);\n }\n };\n Check.prototype.runSync = function runSync(node, options, context) {\n options = options || {};\n var _options2 = options, _options2$enabled = _options2.enabled, enabled = _options2$enabled === void 0 ? this.enabled : _options2$enabled;\n if (!enabled) {\n return null;\n }\n var checkOptions = this.getOptions(options.options);\n var checkResult = new check_result_default(this);\n var helper = check_helper_default(checkResult, options);\n helper.async = function async() {\n throw new Error('Cannot run async check while in a synchronous run');\n };\n var result;\n try {\n result = this.evaluate.call(helper, node.actualNode, checkOptions, node, context);\n } catch (e) {\n if (node && node.actualNode) {\n e.errorNode = node_serializer_default.toSpec(node);\n }\n throw e;\n }\n checkResult.result = result;\n return checkResult;\n };\n Check.prototype.configure = function configure2(spec) {\n var _this8 = this;\n if (!spec.evaluate || metadata_function_map_default[spec.evaluate]) {\n this._internalCheck = true;\n }\n if (spec.hasOwnProperty('enabled')) {\n this.enabled = spec.enabled;\n }\n if (spec.hasOwnProperty('options')) {\n if (this._internalCheck) {\n this.options = normalizeOptions(spec.options);\n } else {\n this.options = spec.options;\n }\n }\n [ 'evaluate', 'after' ].filter(function(prop) {\n return spec.hasOwnProperty(prop);\n }).forEach(function(prop) {\n return _this8[prop] = createExecutionContext(spec[prop]);\n });\n };\n Check.prototype.getOptions = function getOptions(options) {\n if (this._internalCheck) {\n return deep_merge_default(this.options, normalizeOptions(options || {}));\n } else {\n return options || this.options;\n }\n };\n var check_default = Check;\n function RuleResult(rule) {\n this.id = rule.id;\n this.result = constants_default.NA;\n this.pageLevel = rule.pageLevel;\n this.impact = null;\n this.nodes = [];\n }\n var rule_result_default = RuleResult;\n function Rule(spec, parentAudit) {\n this._audit = parentAudit;\n this.id = spec.id;\n this.selector = spec.selector || '*';\n if (spec.impact) {\n assert_default(constants_default.impact.includes(spec.impact), 'Impact '.concat(spec.impact, ' is not a valid impact'));\n this.impact = spec.impact;\n }\n this.excludeHidden = typeof spec.excludeHidden === 'boolean' ? spec.excludeHidden : true;\n this.enabled = typeof spec.enabled === 'boolean' ? spec.enabled : true;\n this.pageLevel = typeof spec.pageLevel === 'boolean' ? spec.pageLevel : false;\n this.reviewOnFail = typeof spec.reviewOnFail === 'boolean' ? spec.reviewOnFail : false;\n this.any = spec.any || [];\n this.all = spec.all || [];\n this.none = spec.none || [];\n this.tags = spec.tags || [];\n this.preload = spec.preload ? true : false;\n this.actIds = spec.actIds;\n if (spec.matches) {\n this.matches = createExecutionContext(spec.matches);\n }\n }\n Rule.prototype.matches = function matches3() {\n return true;\n };\n Rule.prototype.gather = function gather(context) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var markStart = 'mark_gather_start_' + this.id;\n var markEnd = 'mark_gather_end_' + this.id;\n var markHiddenStart = 'mark_isVisibleToScreenReaders_start_' + this.id;\n var markHiddenEnd = 'mark_isVisibleToScreenReaders_end_' + this.id;\n if (options.performanceTimer) {\n performance_timer_default.mark(markStart);\n }\n var elements = _select(this.selector, context);\n if (this.excludeHidden) {\n if (options.performanceTimer) {\n performance_timer_default.mark(markHiddenStart);\n }\n elements = elements.filter(function(element) {\n return _isVisibleToScreenReaders(element);\n });\n if (options.performanceTimer) {\n performance_timer_default.mark(markHiddenEnd);\n performance_timer_default.measure('rule_' + this.id + '#gather_axe.utils.isVisibleToScreenReaders', markHiddenStart, markHiddenEnd);\n }\n }\n if (options.performanceTimer) {\n performance_timer_default.mark(markEnd);\n performance_timer_default.measure('rule_' + this.id + '#gather', markStart, markEnd);\n }\n return elements;\n };\n Rule.prototype.runChecks = function runChecks(type2, node, options, context, resolve, reject) {\n var self2 = this;\n var checkQueue = queue_default();\n this[type2].forEach(function(c4) {\n var check = self2._audit.checks[c4.id || c4];\n var option = get_check_option_default(check, self2.id, options);\n checkQueue.defer(function(res, rej) {\n check.run(node, option, context, res, rej);\n });\n });\n checkQueue.then(function(results) {\n results = results.filter(function(check) {\n return check;\n });\n resolve({\n type: type2,\n results: results\n });\n })['catch'](reject);\n };\n Rule.prototype.runChecksSync = function runChecksSync(type2, node, options, context) {\n var self2 = this;\n var results = [];\n this[type2].forEach(function(c4) {\n var check = self2._audit.checks[c4.id || c4];\n var option = get_check_option_default(check, self2.id, options);\n results.push(check.runSync(node, option, context));\n });\n results = results.filter(function(check) {\n return check;\n });\n return {\n type: type2,\n results: results\n };\n };\n Rule.prototype.run = function run2(context) {\n var _this9 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var resolve = arguments.length > 2 ? arguments[2] : undefined;\n var reject = arguments.length > 3 ? arguments[3] : undefined;\n if (options.performanceTimer) {\n this._trackPerformance();\n }\n var q = queue_default();\n var ruleResult = new rule_result_default(this);\n var nodes;\n try {\n nodes = this.gatherAndMatchNodes(context, options);\n } catch (error) {\n reject(new SupportError({\n cause: error,\n ruleId: this.id\n }));\n return;\n }\n if (options.performanceTimer) {\n this._logGatherPerformance(nodes);\n }\n nodes.forEach(function(node) {\n q.defer(function(resolveNode, rejectNode) {\n var checkQueue = queue_default();\n [ 'any', 'all', 'none' ].forEach(function(type2) {\n checkQueue.defer(function(res, rej) {\n _this9.runChecks(type2, node, options, context, res, rej);\n });\n });\n checkQueue.then(function(results) {\n var result = getResult(results);\n if (result) {\n result.node = new dq_element_default(node);\n ruleResult.nodes.push(result);\n if (_this9.reviewOnFail) {\n [ 'any', 'all' ].forEach(function(type2) {\n result[type2].forEach(function(checkResult) {\n if (checkResult.result === false) {\n checkResult.result = void 0;\n }\n });\n });\n result.none.forEach(function(checkResult) {\n if (checkResult.result === true) {\n checkResult.result = void 0;\n }\n });\n }\n }\n resolveNode();\n })['catch'](function(err2) {\n return rejectNode(err2);\n });\n });\n });\n q.defer(function(res) {\n return setTimeout(res, 0);\n });\n if (options.performanceTimer) {\n this._logRulePerformance();\n }\n q.then(function() {\n return resolve(ruleResult);\n })['catch'](function(error) {\n return reject(error);\n });\n };\n Rule.prototype.runSync = function runSync2(context) {\n var _this10 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (options.performanceTimer) {\n this._trackPerformance();\n }\n var ruleResult = new rule_result_default(this);\n var nodes;\n try {\n nodes = this.gatherAndMatchNodes(context, options);\n } catch (error) {\n throw new SupportError({\n cause: error,\n ruleId: this.id\n });\n }\n if (options.performanceTimer) {\n this._logGatherPerformance(nodes);\n }\n nodes.forEach(function(node) {\n var results = [];\n [ 'any', 'all', 'none' ].forEach(function(type2) {\n results.push(_this10.runChecksSync(type2, node, options, context));\n });\n var result = getResult(results);\n if (result) {\n result.node = node.actualNode ? new dq_element_default(node) : null;\n ruleResult.nodes.push(result);\n if (_this10.reviewOnFail) {\n [ 'any', 'all' ].forEach(function(type2) {\n result[type2].forEach(function(checkResult) {\n if (checkResult.result === false) {\n checkResult.result = void 0;\n }\n });\n });\n result.none.forEach(function(checkResult) {\n if (checkResult.result === true) {\n checkResult.result = void 0;\n }\n });\n }\n }\n });\n if (options.performanceTimer) {\n this._logRulePerformance();\n }\n return ruleResult;\n };\n Rule.prototype._trackPerformance = function _trackPerformance() {\n this._markStart = 'mark_rule_start_' + this.id;\n this._markEnd = 'mark_rule_end_' + this.id;\n this._markChecksStart = 'mark_runchecks_start_' + this.id;\n this._markChecksEnd = 'mark_runchecks_end_' + this.id;\n };\n Rule.prototype._logGatherPerformance = function _logGatherPerformance(nodes) {\n log_default('gather (', nodes.length, '):', performance_timer_default.timeElapsed() + 'ms');\n performance_timer_default.mark(this._markChecksStart);\n };\n Rule.prototype._logRulePerformance = function _logRulePerformance() {\n performance_timer_default.mark(this._markChecksEnd);\n performance_timer_default.mark(this._markEnd);\n performance_timer_default.measure('runchecks_' + this.id, this._markChecksStart, this._markChecksEnd);\n performance_timer_default.measure('rule_' + this.id, this._markStart, this._markEnd);\n };\n function getResult(results) {\n if (results.length) {\n var hasResults = false;\n var result = {};\n results.forEach(function(r) {\n var res = r.results.filter(function(_result) {\n return _result;\n });\n result[r.type] = res;\n if (res.length) {\n hasResults = true;\n }\n });\n if (hasResults) {\n return result;\n }\n return null;\n }\n }\n Rule.prototype.gatherAndMatchNodes = function gatherAndMatchNodes(context, options) {\n var _this11 = this;\n var markMatchesStart = 'mark_matches_start_' + this.id;\n var markMatchesEnd = 'mark_matches_end_' + this.id;\n var nodes = this.gather(context, options);\n if (options.performanceTimer) {\n performance_timer_default.mark(markMatchesStart);\n }\n nodes = nodes.filter(function(node) {\n return _this11.matches(node.actualNode, node, context);\n });\n if (options.performanceTimer) {\n performance_timer_default.mark(markMatchesEnd);\n performance_timer_default.measure('rule_' + this.id + '#matches', markMatchesStart, markMatchesEnd);\n }\n return nodes;\n };\n function findAfterChecks(rule) {\n return get_all_checks_default(rule).map(function(c4) {\n var check = rule._audit.checks[c4.id || c4];\n return check && typeof check.after === 'function' ? check : null;\n }).filter(Boolean);\n }\n function findCheckResults(nodes, checkID) {\n var checkResults = [];\n nodes.forEach(function(nodeResult) {\n var checks = get_all_checks_default(nodeResult);\n checks.forEach(function(checkResult) {\n if (checkResult.id === checkID) {\n checkResult.node = nodeResult.node;\n checkResults.push(checkResult);\n }\n });\n });\n return checkResults;\n }\n function filterChecks(checks) {\n return checks.filter(function(check) {\n return check.filtered !== true;\n });\n }\n function sanitizeNodes(result) {\n var checkTypes2 = [ 'any', 'all', 'none' ];\n var nodes = result.nodes.filter(function(detail) {\n var length = 0;\n checkTypes2.forEach(function(type2) {\n detail[type2] = filterChecks(detail[type2]);\n length += detail[type2].length;\n });\n return length > 0;\n });\n if (result.pageLevel && nodes.length) {\n nodes = [ nodes.reduce(function(a2, b2) {\n if (a2) {\n checkTypes2.forEach(function(type2) {\n a2[type2].push.apply(a2[type2], b2[type2]);\n });\n return a2;\n }\n }) ];\n }\n return nodes;\n }\n Rule.prototype.after = function after(result, options) {\n var _this12 = this;\n var afterChecks = findAfterChecks(this);\n var ruleID = this.id;\n afterChecks.forEach(function(check) {\n var beforeResults = findCheckResults(result.nodes, check.id);\n var checkOption = get_check_option_default(check, ruleID, options);\n var afterResults = check.after(beforeResults, checkOption.options);\n if (_this12.reviewOnFail) {\n afterResults.forEach(function(checkResult) {\n var changeAnyAllResults = (_this12.any.includes(checkResult.id) || _this12.all.includes(checkResult.id)) && checkResult.result === false;\n var changeNoneResult = _this12.none.includes(checkResult.id) && checkResult.result === true;\n if (changeAnyAllResults || changeNoneResult) {\n checkResult.result = void 0;\n }\n });\n }\n beforeResults.forEach(function(item) {\n delete item.node;\n if (afterResults.indexOf(item) === -1) {\n item.filtered = true;\n }\n });\n });\n result.nodes = sanitizeNodes(result);\n return result;\n };\n Rule.prototype.configure = function configure3(spec) {\n if (spec.hasOwnProperty('selector')) {\n this.selector = spec.selector;\n }\n if (spec.hasOwnProperty('excludeHidden')) {\n this.excludeHidden = typeof spec.excludeHidden === 'boolean' ? spec.excludeHidden : true;\n }\n if (spec.hasOwnProperty('enabled')) {\n this.enabled = typeof spec.enabled === 'boolean' ? spec.enabled : true;\n }\n if (spec.hasOwnProperty('pageLevel')) {\n this.pageLevel = typeof spec.pageLevel === 'boolean' ? spec.pageLevel : false;\n }\n if (spec.hasOwnProperty('reviewOnFail')) {\n this.reviewOnFail = typeof spec.reviewOnFail === 'boolean' ? spec.reviewOnFail : false;\n }\n if (spec.hasOwnProperty('any')) {\n this.any = spec.any;\n }\n if (spec.hasOwnProperty('all')) {\n this.all = spec.all;\n }\n if (spec.hasOwnProperty('none')) {\n this.none = spec.none;\n }\n if (spec.hasOwnProperty('tags')) {\n this.tags = spec.tags;\n }\n if (spec.hasOwnProperty('actIds')) {\n this.actIds = spec.actIds;\n }\n if (spec.hasOwnProperty('matches')) {\n this.matches = createExecutionContext(spec.matches);\n }\n if (spec.impact) {\n assert_default(constants_default.impact.includes(spec.impact), 'Impact '.concat(spec.impact, ' is not a valid impact'));\n this.impact = spec.impact;\n }\n };\n var import_dot2 = __toModule(require_doT());\n var dotRegex = /\\{\\{.+?\\}\\}/g;\n var Audit = function() {\n function Audit(audit) {\n _classCallCheck(this, Audit);\n this.lang = 'en';\n this.defaultConfig = audit;\n this.standards = standards_default;\n this._init();\n this._defaultLocale = null;\n }\n return _createClass(Audit, [ {\n key: '_setDefaultLocale',\n value: function _setDefaultLocale() {\n if (this._defaultLocale) {\n return;\n }\n var locale = {\n checks: {},\n rules: {},\n failureSummaries: {},\n incompleteFallbackMessage: '',\n lang: this.lang\n };\n var checkIDs = Object.keys(this.data.checks);\n for (var _i37 = 0; _i37 < checkIDs.length; _i37++) {\n var _id6 = checkIDs[_i37];\n var check = this.data.checks[_id6];\n var _check$messages = check.messages, pass = _check$messages.pass, fail = _check$messages.fail, incomplete = _check$messages.incomplete;\n locale.checks[_id6] = {\n pass: pass,\n fail: fail,\n incomplete: incomplete\n };\n }\n var ruleIDs = Object.keys(this.data.rules);\n for (var _i38 = 0; _i38 < ruleIDs.length; _i38++) {\n var _id7 = ruleIDs[_i38];\n var rule = this.data.rules[_id7];\n var description = rule.description, help = rule.help;\n locale.rules[_id7] = {\n description: description,\n help: help\n };\n }\n var failureSummaries = Object.keys(this.data.failureSummaries);\n for (var _i39 = 0; _i39 < failureSummaries.length; _i39++) {\n var type2 = failureSummaries[_i39];\n var failureSummary2 = this.data.failureSummaries[type2];\n var failureMessage = failureSummary2.failureMessage;\n locale.failureSummaries[type2] = {\n failureMessage: failureMessage\n };\n }\n locale.incompleteFallbackMessage = this.data.incompleteFallbackMessage;\n this._defaultLocale = locale;\n }\n }, {\n key: '_resetLocale',\n value: function _resetLocale() {\n var defaultLocale = this._defaultLocale;\n if (!defaultLocale) {\n return;\n }\n this.applyLocale(defaultLocale);\n }\n }, {\n key: '_applyCheckLocale',\n value: function _applyCheckLocale(checks) {\n var keys = Object.keys(checks);\n for (var _i40 = 0; _i40 < keys.length; _i40++) {\n var _id8 = keys[_i40];\n if (!this.data.checks[_id8]) {\n throw new Error('Locale provided for unknown check: \"'.concat(_id8, '\"'));\n }\n this.data.checks[_id8] = mergeCheckLocale(this.data.checks[_id8], checks[_id8]);\n }\n }\n }, {\n key: '_applyRuleLocale',\n value: function _applyRuleLocale(rules) {\n var keys = Object.keys(rules);\n for (var _i41 = 0; _i41 < keys.length; _i41++) {\n var _id9 = keys[_i41];\n if (!this.data.rules[_id9]) {\n throw new Error('Locale provided for unknown rule: \"'.concat(_id9, '\"'));\n }\n this.data.rules[_id9] = mergeRuleLocale(this.data.rules[_id9], rules[_id9]);\n }\n }\n }, {\n key: '_applyFailureSummaries',\n value: function _applyFailureSummaries(messages) {\n var keys = Object.keys(messages);\n for (var _i42 = 0; _i42 < keys.length; _i42++) {\n var _key8 = keys[_i42];\n if (!this.data.failureSummaries[_key8]) {\n throw new Error('Locale provided for unknown failureMessage: \"'.concat(_key8, '\"'));\n }\n this.data.failureSummaries[_key8] = mergeFailureMessage(this.data.failureSummaries[_key8], messages[_key8]);\n }\n }\n }, {\n key: 'applyLocale',\n value: function applyLocale(locale) {\n this._setDefaultLocale();\n if (locale.checks) {\n this._applyCheckLocale(locale.checks);\n }\n if (locale.rules) {\n this._applyRuleLocale(locale.rules);\n }\n if (locale.failureSummaries) {\n this._applyFailureSummaries(locale.failureSummaries, 'failureSummaries');\n }\n if (locale.incompleteFallbackMessage) {\n this.data.incompleteFallbackMessage = mergeFallbackMessage(this.data.incompleteFallbackMessage, locale.incompleteFallbackMessage);\n }\n if (locale.lang) {\n this.lang = locale.lang;\n }\n }\n }, {\n key: 'setAllowedOrigins',\n value: function setAllowedOrigins(allowedOrigins) {\n var defaultOrigin = getDefaultOrigin();\n this.allowedOrigins = [];\n var _iterator22 = _createForOfIteratorHelper(allowedOrigins), _step22;\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done; ) {\n var origin = _step22.value;\n if (origin === constants_default.allOrigins) {\n this.allowedOrigins = [ '*' ];\n return;\n } else if (origin !== constants_default.sameOrigin) {\n this.allowedOrigins.push(origin);\n } else if (defaultOrigin) {\n this.allowedOrigins.push(defaultOrigin);\n }\n }\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n }\n }, {\n key: '_init',\n value: function _init() {\n var audit = getDefaultConfiguration(this.defaultConfig);\n this.lang = audit.lang || 'en';\n this.reporter = audit.reporter;\n this.commands = {};\n this.rules = [];\n this.checks = {};\n this.brand = 'axe';\n this.application = 'axeAPI';\n this.tagExclude = [ 'experimental' ];\n this.noHtml = audit.noHtml;\n this.allowedOrigins = audit.allowedOrigins;\n unpackToObject(audit.rules, this, 'addRule');\n unpackToObject(audit.checks, this, 'addCheck');\n this.data = {};\n this.data.checks = audit.data && audit.data.checks || {};\n this.data.rules = audit.data && audit.data.rules || {};\n this.data.failureSummaries = audit.data && audit.data.failureSummaries || {};\n this.data.incompleteFallbackMessage = audit.data && audit.data.incompleteFallbackMessage || '';\n this._constructHelpUrls();\n }\n }, {\n key: 'registerCommand',\n value: function registerCommand(command) {\n this.commands[command.id] = command.callback;\n }\n }, {\n key: 'addRule',\n value: function addRule(spec) {\n if (spec.metadata) {\n this.data.rules[spec.id] = spec.metadata;\n }\n var rule = this.getRule(spec.id);\n if (rule) {\n rule.configure(spec);\n } else {\n this.rules.push(new Rule(spec, this));\n }\n }\n }, {\n key: 'addCheck',\n value: function addCheck(spec) {\n var metadata = spec.metadata;\n if (_typeof(metadata) === 'object') {\n this.data.checks[spec.id] = metadata;\n if (_typeof(metadata.messages) === 'object') {\n Object.keys(metadata.messages).filter(function(prop) {\n return metadata.messages.hasOwnProperty(prop) && typeof metadata.messages[prop] === 'string';\n }).forEach(function(prop) {\n if (metadata.messages[prop].indexOf('function') === 0) {\n metadata.messages[prop] = new Function('return ' + metadata.messages[prop] + ';')();\n }\n });\n }\n }\n if (this.checks[spec.id]) {\n this.checks[spec.id].configure(spec);\n } else {\n this.checks[spec.id] = new check_default(spec);\n }\n }\n }, {\n key: 'run',\n value: function run(context, options, resolve, reject) {\n this.normalizeOptions(options);\n dq_element_default.setRunOptions(options);\n axe._selectCache = [];\n var allRulesToRun = getRulesToRun(this.rules, context, options);\n var runNowRules = allRulesToRun.now;\n var runLaterRules = allRulesToRun.later;\n var nowRulesQueue = queue_default();\n runNowRules.forEach(function(rule) {\n nowRulesQueue.defer(getDefferedRule(rule, context, options));\n });\n var preloaderQueue = queue_default();\n if (runLaterRules.length) {\n preloaderQueue.defer(function(res) {\n _preload(options).then(function(assets) {\n return res(assets);\n })['catch'](function(err2) {\n console.warn('Couldn\\'t load preload assets: ', err2);\n res(void 0);\n });\n });\n }\n var queueForNowRulesAndPreloader = queue_default();\n queueForNowRulesAndPreloader.defer(nowRulesQueue);\n queueForNowRulesAndPreloader.defer(preloaderQueue);\n queueForNowRulesAndPreloader.then(function(nowRulesAndPreloaderResults) {\n var assetsFromQueue = nowRulesAndPreloaderResults.pop();\n if (assetsFromQueue && assetsFromQueue.length) {\n var assets = assetsFromQueue[0];\n if (assets) {\n context = _extends({}, context, assets);\n }\n }\n var nowRulesResults = nowRulesAndPreloaderResults[0];\n if (!runLaterRules.length) {\n axe._selectCache = void 0;\n resolve(nowRulesResults.filter(function(result) {\n return !!result;\n }));\n return;\n }\n var laterRulesQueue = queue_default();\n runLaterRules.forEach(function(rule) {\n var deferredRule = getDefferedRule(rule, context, options);\n laterRulesQueue.defer(deferredRule);\n });\n laterRulesQueue.then(function(laterRuleResults) {\n axe._selectCache = void 0;\n resolve(nowRulesResults.concat(laterRuleResults).filter(function(result) {\n return !!result;\n }));\n })['catch'](reject);\n })['catch'](reject);\n }\n }, {\n key: 'after',\n value: function after(results, options) {\n var rules = this.rules;\n return results.map(function(ruleResult) {\n var rule = find_by_default(rules, 'id', ruleResult.id);\n if (!rule) {\n throw new Error('Result for unknown rule. You may be running mismatch axe-core versions');\n }\n return rule.after(ruleResult, options);\n });\n }\n }, {\n key: 'getRule',\n value: function getRule(ruleId) {\n return this.rules.find(function(rule) {\n return rule.id === ruleId;\n });\n }\n }, {\n key: 'normalizeOptions',\n value: function normalizeOptions(options) {\n var audit = this;\n var tags = [];\n var ruleIds = [];\n audit.rules.forEach(function(rule) {\n ruleIds.push(rule.id);\n rule.tags.forEach(function(tag) {\n if (!tags.includes(tag)) {\n tags.push(tag);\n }\n });\n });\n if ([ 'object', 'string' ].includes(_typeof(options.runOnly))) {\n if (typeof options.runOnly === 'string') {\n options.runOnly = [ options.runOnly ];\n }\n if (Array.isArray(options.runOnly)) {\n var hasTag = options.runOnly.find(function(value) {\n return tags.includes(value);\n });\n var hasRule = options.runOnly.find(function(value) {\n return ruleIds.includes(value);\n });\n if (hasTag && hasRule) {\n throw new Error('runOnly cannot be both rules and tags');\n }\n if (hasRule) {\n options.runOnly = {\n type: 'rule',\n values: options.runOnly\n };\n } else {\n options.runOnly = {\n type: 'tag',\n values: options.runOnly\n };\n }\n }\n var only = options.runOnly;\n if (only.value && !only.values) {\n only.values = only.value;\n delete only.value;\n }\n if (!Array.isArray(only.values) || only.values.length === 0) {\n throw new Error('runOnly.values must be a non-empty array');\n }\n if ([ 'rule', 'rules' ].includes(only.type)) {\n only.type = 'rule';\n only.values.forEach(function(ruleId) {\n if (!ruleIds.includes(ruleId)) {\n throw new Error('unknown rule `' + ruleId + '` in options.runOnly');\n }\n });\n } else if ([ 'tag', 'tags', void 0 ].includes(only.type)) {\n only.type = 'tag';\n var unmatchedTags = only.values.filter(function(tag) {\n return !tags.includes(tag) && !/wcag2[1-3]a{1,3}/.test(tag);\n });\n if (unmatchedTags.length !== 0) {\n axe.log('Could not find tags `' + unmatchedTags.join('`, `') + '`');\n }\n } else {\n throw new Error('Unknown runOnly type \\''.concat(only.type, '\\''));\n }\n }\n if (_typeof(options.rules) === 'object') {\n Object.keys(options.rules).forEach(function(ruleId) {\n if (!ruleIds.includes(ruleId)) {\n throw new Error('unknown rule `' + ruleId + '` in options.rules');\n }\n });\n }\n return options;\n }\n }, {\n key: 'setBranding',\n value: function setBranding(branding) {\n var previous = {\n brand: this.brand,\n application: this.application\n };\n if (typeof branding === 'string') {\n this.application = branding;\n }\n if (branding && branding.hasOwnProperty('brand') && branding.brand && typeof branding.brand === 'string') {\n this.brand = branding.brand;\n }\n if (branding && branding.hasOwnProperty('application') && branding.application && typeof branding.application === 'string') {\n this.application = branding.application;\n }\n this._constructHelpUrls(previous);\n }\n }, {\n key: '_constructHelpUrls',\n value: function _constructHelpUrls() {\n var _this13 = this;\n var previous = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var version = (axe.version.match(/^[1-9][0-9]*\\.[0-9]+/) || [ 'x.y' ])[0];\n this.rules.forEach(function(rule) {\n if (!_this13.data.rules[rule.id]) {\n _this13.data.rules[rule.id] = {};\n }\n var metaData = _this13.data.rules[rule.id];\n if (typeof metaData.helpUrl !== 'string' || previous && metaData.helpUrl === getHelpUrl(previous, rule.id, version)) {\n metaData.helpUrl = getHelpUrl(_this13, rule.id, version);\n }\n });\n }\n }, {\n key: 'resetRulesAndChecks',\n value: function resetRulesAndChecks() {\n this._init();\n this._resetLocale();\n }\n } ]);\n }();\n var audit_default = Audit;\n function getDefaultOrigin() {\n if (window.origin && window.origin !== 'null') {\n return window.origin;\n }\n if (window.location && window.location.origin && window.location.origin !== 'null') {\n return window.location.origin;\n }\n }\n function getDefaultConfiguration(audit) {\n var config;\n if (audit) {\n config = _clone(audit);\n config.commons = audit.commons;\n } else {\n config = {};\n }\n config.reporter = config.reporter || null;\n config.noHtml = config.noHtml || false;\n if (!config.allowedOrigins) {\n var defaultOrigin = getDefaultOrigin();\n config.allowedOrigins = defaultOrigin ? [ defaultOrigin ] : [];\n }\n config.rules = config.rules || [];\n config.checks = config.checks || [];\n config.data = _extends({\n checks: {},\n rules: {}\n }, config.data);\n return config;\n }\n function unpackToObject(collection, audit, method) {\n var i, l;\n for (i = 0, l = collection.length; i < l; i++) {\n audit[method](collection[i]);\n }\n }\n var mergeCheckLocale = function mergeCheckLocale(a2, b2) {\n var pass = b2.pass, fail = b2.fail;\n if (typeof pass === 'string' && dotRegex.test(pass)) {\n pass = import_dot2['default'].compile(pass);\n }\n if (typeof fail === 'string' && dotRegex.test(fail)) {\n fail = import_dot2['default'].compile(fail);\n }\n return _extends({}, a2, {\n messages: {\n pass: pass || a2.messages.pass,\n fail: fail || a2.messages.fail,\n incomplete: _typeof(a2.messages.incomplete) === 'object' ? _extends({}, a2.messages.incomplete, b2.incomplete) : b2.incomplete\n }\n });\n };\n var mergeRuleLocale = function mergeRuleLocale(a2, b2) {\n var help = b2.help, description = b2.description;\n if (typeof help === 'string' && dotRegex.test(help)) {\n help = import_dot2['default'].compile(help);\n }\n if (typeof description === 'string' && dotRegex.test(description)) {\n description = import_dot2['default'].compile(description);\n }\n return _extends({}, a2, {\n help: help || a2.help,\n description: description || a2.description\n });\n };\n var mergeFailureMessage = function mergeFailureMessage(a2, b2) {\n var failureMessage = b2.failureMessage;\n if (typeof failureMessage === 'string' && dotRegex.test(failureMessage)) {\n failureMessage = import_dot2['default'].compile(failureMessage);\n }\n return _extends({}, a2, {\n failureMessage: failureMessage || a2.failureMessage\n });\n };\n var mergeFallbackMessage = function mergeFallbackMessage(a2, b2) {\n if (typeof b2 === 'string' && dotRegex.test(b2)) {\n b2 = import_dot2['default'].compile(b2);\n }\n return b2 || a2;\n };\n function getRulesToRun(rules, context, options) {\n var base = {\n now: [],\n later: []\n };\n var splitRules = rules.reduce(function(out, rule) {\n if (!rule_should_run_default(rule, context, options)) {\n return out;\n }\n if (rule.preload) {\n out.later.push(rule);\n return out;\n }\n out.now.push(rule);\n return out;\n }, base);\n return splitRules;\n }\n function getDefferedRule(rule, context, options) {\n if (options.performanceTimer) {\n performance_timer_default.mark('mark_rule_start_' + rule.id);\n }\n return function(resolve, reject) {\n rule.run(context, options, function(ruleResult) {\n resolve(ruleResult);\n }, function(err2) {\n if (!options.debug) {\n var errResult = Object.assign(new rule_result_default(rule), {\n result: constants_default.CANTTELL,\n description: 'An error occured while running this rule',\n message: err2.message,\n stack: err2.stack,\n error: err2,\n errorNode: err2.errorNode\n });\n resolve(errResult);\n } else {\n reject(err2);\n }\n });\n };\n }\n function getHelpUrl(_ref143, ruleId, version) {\n var brand = _ref143.brand, application = _ref143.application, lang = _ref143.lang;\n return constants_default.helpUrlBase + brand + '/' + (version || axe.version.substring(0, axe.version.lastIndexOf('.'))) + '/' + ruleId + '?application=' + encodeURIComponent(application) + (lang && lang !== 'en' ? '&lang=' + encodeURIComponent(lang) : '');\n }\n function setupGlobals(context) {\n var hasWindow = window && 'Node' in window && 'NodeList' in window;\n var hasDoc = !!document;\n if (hasWindow && hasDoc) {\n return;\n }\n if (!context || !context.ownerDocument) {\n throw new Error('Required \"window\" or \"document\" globals not defined and cannot be deduced from the context. Either set the globals before running or pass in a valid Element.');\n }\n if (!hasDoc) {\n cache_default.set('globalDocumentSet', true);\n document = context.ownerDocument;\n }\n if (!hasWindow) {\n cache_default.set('globalWindowSet', true);\n window = document.defaultView;\n }\n }\n function resetGlobals() {\n if (cache_default.get('globalDocumentSet')) {\n cache_default.set('globalDocumentSet', false);\n document = null;\n }\n if (cache_default.get('globalWindowSet')) {\n cache_default.set('globalWindowSet', false);\n window = null;\n }\n }\n function teardown() {\n resetGlobals();\n axe._memoizedFns.forEach(function(fn) {\n return fn.clear();\n });\n cache_default.clear();\n axe._tree = void 0;\n axe._selectorData = void 0;\n axe._selectCache = void 0;\n }\n var teardown_default = teardown;\n function runRules(context, options, resolve, reject) {\n try {\n context = new Context(context);\n axe._tree = context.flatTree;\n axe._selectorData = _getSelectorData(context.flatTree);\n } catch (e) {\n teardown_default();\n return reject(e);\n }\n var q = queue_default();\n var audit = axe._audit;\n if (options.performanceTimer) {\n performance_timer_default.auditStart();\n }\n if (context.frames.length && options.iframes !== false) {\n q.defer(function(res, rej) {\n _collectResultsFromFrames(context, options, 'rules', null, res, rej);\n });\n }\n q.defer(function(res, rej) {\n audit.run(context, options, res, rej);\n });\n q.then(function(data) {\n try {\n if (options.performanceTimer) {\n performance_timer_default.auditEnd();\n }\n var results = merge_results_default(data.map(function(res) {\n return {\n results: res\n };\n }));\n if (context.initiator) {\n results = audit.after(results, options);\n results.forEach(_publishMetaData);\n results = results.map(_finalizeRuleResult);\n }\n try {\n resolve(results, teardown_default);\n } catch (e) {\n teardown_default();\n log_default(e);\n }\n } catch (e) {\n teardown_default();\n reject(e);\n }\n })['catch'](function(e) {\n teardown_default();\n reject(e);\n });\n }\n function load(audit) {\n axe._audit = new audit_default(audit);\n }\n function runCommand(data, keepalive, callback) {\n var resolve = callback;\n var reject = function reject2(err2) {\n if (err2 instanceof Error === false) {\n err2 = new Error(err2);\n }\n callback(err2);\n };\n var context = data && data.context || {};\n if (context.hasOwnProperty('include') && !context.include.length) {\n context.include = [ document ];\n }\n var options = data && data.options || {};\n switch (data.command) {\n case 'rules':\n return runRules(context, options, function(results, cleanupFn) {\n results = node_serializer_default.mapRawResults(results);\n resolve(results);\n cleanupFn();\n }, reject);\n\n case 'cleanup-plugin':\n return cleanup_default(resolve, reject);\n\n default:\n if (axe._audit && axe._audit.commands && axe._audit.commands[data.command]) {\n return axe._audit.commands[data.command](data, callback);\n }\n }\n }\n if (window.top !== window) {\n _respondable.subscribe('axe.start', runCommand);\n _respondable.subscribe('axe.ping', function(data, keepalive, respond) {\n respond({\n axe: true\n });\n });\n }\n function Plugin(spec) {\n this._run = spec.run;\n this._collect = spec.collect;\n this._registry = {};\n spec.commands.forEach(function(command) {\n axe._audit.registerCommand(command);\n });\n }\n Plugin.prototype.run = function run3() {\n return this._run.apply(this, arguments);\n };\n Plugin.prototype.collect = function collect() {\n return this._collect.apply(this, arguments);\n };\n Plugin.prototype.cleanup = function cleanup2(done) {\n var q = axe.utils.queue();\n var that = this;\n Object.keys(this._registry).forEach(function(key) {\n q.defer(function(_done) {\n that._registry[key].cleanup(_done);\n });\n });\n q.then(done);\n };\n Plugin.prototype.add = function add(impl) {\n this._registry[impl.id] = impl;\n };\n function registerPlugin(plugin) {\n axe.plugins[plugin.id] = new Plugin(plugin);\n }\n var plugins_default = registerPlugin;\n function reset() {\n var audit = axe._audit;\n if (!audit) {\n throw new Error('No audit configured');\n }\n audit.resetRulesAndChecks();\n resetStandards();\n }\n var reset_default = reset;\n function runVirtualRule(ruleId, vNode) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n options.reporter = options.reporter || axe._audit.reporter || 'v1';\n axe._selectorData = {};\n if (!(vNode instanceof abstract_virtual_node_default)) {\n vNode = new serial_virtual_node_default(vNode);\n }\n var rule = _getRule(ruleId);\n if (!rule) {\n throw new Error('unknown rule `' + ruleId + '`');\n }\n rule = Object.create(rule, {\n excludeHidden: {\n value: false\n }\n });\n var context = {\n initiator: true,\n include: [ vNode ],\n exclude: [],\n frames: [],\n page: false,\n focusable: true,\n size: {},\n flatTree: []\n };\n var rawResults = rule.runSync(context, options);\n _publishMetaData(rawResults);\n _finalizeRuleResult(rawResults);\n var results = aggregate_result_default([ rawResults ]);\n results.violations.forEach(function(result) {\n return result.nodes.forEach(function(nodeResult) {\n nodeResult.failureSummary = failure_summary_default(nodeResult);\n });\n });\n return _extends({}, _getEnvironmentData(), results, {\n toolOptions: options\n });\n }\n function normalizeRunParams(_ref144) {\n var _ref146, _options$reporter, _axe$_audit;\n var _ref145 = _slicedToArray(_ref144, 3), context = _ref145[0], options = _ref145[1], callback = _ref145[2];\n var typeErr = new TypeError('axe.run arguments are invalid');\n if (!isContextSpec(context)) {\n if (callback !== void 0) {\n throw typeErr;\n }\n callback = options;\n options = context;\n context = document;\n }\n if (_typeof(options) !== 'object') {\n if (callback !== void 0) {\n throw typeErr;\n }\n callback = options;\n options = {};\n }\n if (typeof callback !== 'function' && callback !== void 0) {\n throw typeErr;\n }\n options = _clone(options);\n options.reporter = (_ref146 = (_options$reporter = options.reporter) !== null && _options$reporter !== void 0 ? _options$reporter : (_axe$_audit = axe._audit) === null || _axe$_audit === void 0 ? void 0 : _axe$_audit.reporter) !== null && _ref146 !== void 0 ? _ref146 : 'v1';\n return {\n context: context,\n options: options,\n callback: callback\n };\n }\n var noop2 = function noop2() {};\n function run4() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key9 = 0; _key9 < _len7; _key9++) {\n args[_key9] = arguments[_key9];\n }\n setupGlobals(args[0]);\n var _normalizeRunParams = normalizeRunParams(args), context = _normalizeRunParams.context, options = _normalizeRunParams.options, _normalizeRunParams$c = _normalizeRunParams.callback, callback = _normalizeRunParams$c === void 0 ? noop2 : _normalizeRunParams$c;\n var _getPromiseHandlers = getPromiseHandlers(callback), thenable = _getPromiseHandlers.thenable, resolve = _getPromiseHandlers.resolve, reject = _getPromiseHandlers.reject;\n try {\n assert_default(axe._audit, 'No audit configured');\n assert_default(!axe._running, 'Axe is already running. Use `await axe.run()` to wait for the previous run to finish before starting a new run.');\n } catch (e) {\n return handleError(e, callback);\n }\n axe._running = true;\n if (options.performanceTimer) {\n axe.utils.performanceTimer.start();\n }\n function handleRunRules(rawResults, teardown2) {\n var respond = function respond(results) {\n axe._running = false;\n teardown2();\n try {\n resolve(results);\n } catch (e) {\n axe.log(e);\n }\n };\n var wrappedReject = function wrappedReject(err2) {\n axe._running = false;\n teardown2();\n try {\n reject(err2);\n } catch (e) {\n axe.log(e);\n }\n };\n if (options.performanceTimer) {\n axe.utils.performanceTimer.end();\n }\n try {\n createReport(rawResults, options, respond, wrappedReject);\n } catch (err2) {\n wrappedReject(err2);\n }\n }\n function errorRunRules(err2) {\n if (options.performanceTimer) {\n axe.utils.performanceTimer.end();\n }\n axe._running = false;\n callback(err2);\n reject(err2);\n }\n axe._runRules(context, options, handleRunRules, errorRunRules);\n return thenable;\n }\n function getPromiseHandlers(callback) {\n var thenable, reject, resolve;\n if (typeof Promise === 'function' && callback === noop2) {\n thenable = new Promise(function(_resolve, _reject) {\n reject = _reject;\n resolve = _resolve;\n });\n } else {\n resolve = function resolve(result) {\n return callback(null, result);\n };\n reject = function reject(err2) {\n return callback(err2);\n };\n }\n return {\n thenable: thenable,\n reject: reject,\n resolve: resolve\n };\n }\n function createReport(rawResults, options, respond, reject) {\n var reporter = getReporter(options.reporter);\n var results = reporter(rawResults, options, respond, reject);\n if (results !== void 0) {\n respond(results);\n }\n }\n function handleError(err2, callback) {\n if (typeof callback === 'function' && callback !== noop2) {\n callback(err2.message);\n return;\n }\n throw err2;\n }\n function runPartial() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key10 = 0; _key10 < _len8; _key10++) {\n args[_key10] = arguments[_key10];\n }\n var _normalizeRunParams2 = normalizeRunParams(args), options = _normalizeRunParams2.options, context = _normalizeRunParams2.context;\n assert_default(axe._audit, 'Axe is not configured. Audit is missing.');\n assert_default(!axe._running, 'Axe is already running. Use `await axe.run()` to wait for the previous run to finish before starting a new run.');\n var contextObj = new Context(context, axe._tree);\n axe._tree = contextObj.flatTree;\n axe._selectorData = _getSelectorData(contextObj.flatTree);\n axe._running = true;\n options.elementRef = false;\n return new Promise(function(res, rej) {\n axe._audit.run(contextObj, options, res, rej);\n }).then(function(results) {\n results = node_serializer_default.mapRawResults(results);\n var frames = contextObj.frames.map(function(_ref147) {\n var node = _ref147.node;\n return node_serializer_default.toSpec(node);\n });\n var environmentData;\n if (contextObj.initiator) {\n environmentData = _getEnvironmentData();\n }\n axe._running = false;\n teardown_default();\n return {\n results: results,\n frames: frames,\n environmentData: environmentData\n };\n })['catch'](function(err2) {\n axe._running = false;\n teardown_default();\n return Promise.reject(err2);\n });\n }\n function finishRun(partialResults) {\n var _ref149, _options$reporter2, _axe$_audit2;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n options = _clone(options);\n var _ref148 = partialResults.find(function(r) {\n return r.environmentData;\n }) || {}, environmentData = _ref148.environmentData;\n axe._audit.normalizeOptions(options);\n options.reporter = (_ref149 = (_options$reporter2 = options.reporter) !== null && _options$reporter2 !== void 0 ? _options$reporter2 : (_axe$_audit2 = axe._audit) === null || _axe$_audit2 === void 0 ? void 0 : _axe$_audit2.reporter) !== null && _ref149 !== void 0 ? _ref149 : 'v1';\n setFrameSpec(partialResults);\n var results = merge_results_default(partialResults);\n results = axe._audit.after(results, options);\n results.forEach(_publishMetaData);\n results = results.map(_finalizeRuleResult);\n return createReport2(results, _extends({\n environmentData: environmentData\n }, options));\n }\n function setFrameSpec(partialResults) {\n var frameStack = [];\n var _iterator23 = _createForOfIteratorHelper(partialResults), _step23;\n try {\n for (_iterator23.s(); !(_step23 = _iterator23.n()).done; ) {\n var partialResult = _step23.value;\n var frameSpec = frameStack.shift();\n if (!partialResult) {\n continue;\n }\n partialResult.frameSpec = frameSpec !== null && frameSpec !== void 0 ? frameSpec : null;\n var frameSpecs = getMergedFrameSpecs(partialResult);\n frameStack.unshift.apply(frameStack, _toConsumableArray(frameSpecs));\n }\n } catch (err) {\n _iterator23.e(err);\n } finally {\n _iterator23.f();\n }\n }\n function getMergedFrameSpecs(_ref150) {\n var childFrameSpecs = _ref150.frames, parentFrameSpec = _ref150.frameSpec;\n if (!parentFrameSpec) {\n return childFrameSpecs;\n }\n return childFrameSpecs.map(function(childFrameSpec) {\n return node_serializer_default.mergeSpecs(childFrameSpec, parentFrameSpec);\n });\n }\n function createReport2(results, options) {\n return new Promise(function(resolve, reject) {\n var reporter = getReporter(options.reporter);\n reporter(results, options, resolve, reject);\n });\n }\n function setup(node) {\n if (axe._tree) {\n throw new Error('Axe is already setup. Call `axe.teardown()` before calling `axe.setup` again.');\n }\n if (node && _typeof(node.documentElement) === 'object' && _typeof(node.defaultView) === 'object') {\n node = node.documentElement;\n }\n setupGlobals(node);\n axe._tree = _getFlattenedTree(node);\n axe._selectorData = _getSelectorData(axe._tree);\n return axe._tree[0];\n }\n var setup_default = setup;\n var naReporter = function naReporter(results, options, callback) {\n console.warn('\"na\" reporter will be deprecated in axe v4.0. Use the \"v2\" reporter instead.');\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n var _options3 = options, environmentData = _options3.environmentData, toolOptions = _objectWithoutProperties(_options3, _excluded15);\n callback(_extends({}, _getEnvironmentData(environmentData), {\n toolOptions: toolOptions\n }, processAggregate(results, options)));\n };\n var na_default = naReporter;\n var noPassesReporter = function noPassesReporter(results, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n var _options4 = options, environmentData = _options4.environmentData, toolOptions = _objectWithoutProperties(_options4, _excluded16);\n options.resultTypes = [ 'violations' ];\n var _processAggregate = processAggregate(results, options), violations = _processAggregate.violations;\n callback(_extends({}, _getEnvironmentData(environmentData), {\n toolOptions: toolOptions,\n violations: violations\n }));\n };\n var no_passes_default = noPassesReporter;\n var rawReporter = function rawReporter(results, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!results || !Array.isArray(results)) {\n return callback(results);\n }\n var transformedResults = results.map(function(result) {\n var transformedResult = _extends({}, result);\n var types = [ 'passes', 'violations', 'incomplete', 'inapplicable' ];\n for (var _i43 = 0, _types = types; _i43 < _types.length; _i43++) {\n var type2 = _types[_i43];\n transformedResult[type2] = node_serializer_default.mapRawNodeResults(transformedResult[type2]);\n }\n return transformedResult;\n });\n callback(transformedResults);\n };\n var raw_default = rawReporter;\n var rawEnvReporter = function rawEnvReporter(results, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n var _options5 = options, environmentData = _options5.environmentData, toolOptions = _objectWithoutProperties(_options5, _excluded17);\n raw_default(results, toolOptions, function(raw) {\n var env = _getEnvironmentData(environmentData);\n callback({\n raw: raw,\n env: env\n });\n });\n };\n var raw_env_default = rawEnvReporter;\n var v1Reporter = function v1Reporter(results, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n var _options6 = options, environmentData = _options6.environmentData, toolOptions = _objectWithoutProperties(_options6, _excluded18);\n var out = processAggregate(results, options);\n var addFailureSummaries = function addFailureSummaries(result) {\n result.nodes.forEach(function(nodeResult) {\n nodeResult.failureSummary = failure_summary_default(nodeResult);\n });\n };\n out.incomplete.forEach(addFailureSummaries);\n out.violations.forEach(addFailureSummaries);\n callback(_extends({}, _getEnvironmentData(environmentData), {\n toolOptions: toolOptions\n }, out));\n };\n var v1_default = v1Reporter;\n var v2Reporter = function v2Reporter(results, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n var _options7 = options, environmentData = _options7.environmentData, toolOptions = _objectWithoutProperties(_options7, _excluded19);\n var out = processAggregate(results, options);\n callback(_extends({}, _getEnvironmentData(environmentData), {\n toolOptions: toolOptions\n }, out));\n };\n var v2_default = v2Reporter;\n var _thisWillBeDeletedDoNotUse = {\n base: {\n Audit: audit_default,\n CheckResult: check_result_default,\n Check: check_default,\n Context: Context,\n RuleResult: rule_result_default,\n Rule: Rule,\n metadataFunctionMap: metadata_function_map_default\n },\n public: {\n reporters: reporters\n },\n helpers: {\n failureSummary: failure_summary_default,\n incompleteFallbackMessage: incompleteFallbackMessage,\n processAggregate: processAggregate\n },\n utils: {\n setDefaultFrameMessenger: setDefaultFrameMessenger,\n cacheNodeSelectors: cacheNodeSelectors,\n getNodesMatchingExpression: getNodesMatchingExpression,\n convertSelector: _convertSelector\n },\n commons: {\n dom: {\n nativelyHidden: nativelyHidden,\n displayHidden: displayHidden,\n visibilityHidden: visibilityHidden,\n contentVisibiltyHidden: contentVisibiltyHidden,\n ariaHidden: ariaHidden,\n opacityHidden: opacityHidden,\n scrollHidden: scrollHidden,\n overflowHidden: overflowHidden,\n clipHidden: clipHidden,\n areaHidden: areaHidden,\n detailsHidden: detailsHidden\n }\n }\n };\n var exposed_for_testing_default = _thisWillBeDeletedDoNotUse;\n axe._thisWillBeDeletedDoNotUse = exposed_for_testing_default;\n axe.constants = constants_default;\n axe.log = log_default;\n axe.AbstractVirtualNode = abstract_virtual_node_default;\n axe.SerialVirtualNode = serial_virtual_node_default;\n axe.VirtualNode = virtual_node_default;\n axe._cache = cache_default;\n axe.imports = imports_exports;\n axe.cleanup = cleanup_default;\n axe.configure = configure_default;\n axe.frameMessenger = frameMessenger2;\n axe.getRules = get_rules_default;\n axe._load = load;\n axe.plugins = {};\n axe.registerPlugin = plugins_default;\n axe.hasReporter = hasReporter;\n axe.getReporter = getReporter;\n axe.addReporter = addReporter;\n axe.reset = reset_default;\n axe._runRules = runRules;\n axe.runVirtualRule = runVirtualRule;\n axe.run = run4;\n axe.setup = setup_default;\n axe.teardown = teardown_default;\n axe.runPartial = runPartial;\n axe.finishRun = finishRun;\n axe.commons = commons_exports;\n axe.utils = utils_exports;\n axe.addReporter('na', na_default);\n axe.addReporter('no-passes', no_passes_default);\n axe.addReporter('rawEnv', raw_env_default);\n axe.addReporter('raw', raw_default);\n axe.addReporter('v1', v1_default);\n axe.addReporter('v2', v2_default, true);\n })();\n 'use strict';\n axe._load({\n lang: 'en',\n data: {\n rules: {\n accesskeys: {\n description: 'Ensures every accesskey attribute value is unique',\n help: 'accesskey attribute value should be unique'\n },\n 'area-alt': {\n description: 'Ensures <area> elements of image maps have alternate text',\n help: 'Active <area> elements must have alternate text'\n },\n 'aria-allowed-attr': {\n description: 'Ensures an element\\'s role supports its ARIA attributes',\n help: 'Elements must only use supported ARIA attributes'\n },\n 'aria-allowed-role': {\n description: 'Ensures role attribute has an appropriate value for the element',\n help: 'ARIA role should be appropriate for the element'\n },\n 'aria-braille-equivalent': {\n description: 'Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent',\n help: 'aria-braille attributes must have a non-braille equivalent'\n },\n 'aria-command-name': {\n description: 'Ensures every ARIA button, link and menuitem has an accessible name',\n help: 'ARIA commands must have an accessible name'\n },\n 'aria-conditional-attr': {\n description: 'Ensures ARIA attributes are used as described in the specification of the element\\'s role',\n help: 'ARIA attributes must be used as specified for the element\\'s role'\n },\n 'aria-deprecated-role': {\n description: 'Ensures elements do not use deprecated roles',\n help: 'Deprecated ARIA roles must not be used'\n },\n 'aria-dialog-name': {\n description: 'Ensures every ARIA dialog and alertdialog node has an accessible name',\n help: 'ARIA dialog and alertdialog nodes should have an accessible name'\n },\n 'aria-hidden-body': {\n description: 'Ensures aria-hidden=\"true\" is not present on the document body.',\n help: 'aria-hidden=\"true\" must not be present on the document body'\n },\n 'aria-hidden-focus': {\n description: 'Ensures aria-hidden elements are not focusable nor contain focusable elements',\n help: 'ARIA hidden element must not be focusable or contain focusable elements'\n },\n 'aria-input-field-name': {\n description: 'Ensures every ARIA input field has an accessible name',\n help: 'ARIA input fields must have an accessible name'\n },\n 'aria-meter-name': {\n description: 'Ensures every ARIA meter node has an accessible name',\n help: 'ARIA meter nodes must have an accessible name'\n },\n 'aria-progressbar-name': {\n description: 'Ensures every ARIA progressbar node has an accessible name',\n help: 'ARIA progressbar nodes must have an accessible name'\n },\n 'aria-prohibited-attr': {\n description: 'Ensures ARIA attributes are not prohibited for an element\\'s role',\n help: 'Elements must only use permitted ARIA attributes'\n },\n 'aria-required-attr': {\n description: 'Ensures elements with ARIA roles have all required ARIA attributes',\n help: 'Required ARIA attributes must be provided'\n },\n 'aria-required-children': {\n description: 'Ensures elements with an ARIA role that require child roles contain them',\n help: 'Certain ARIA roles must contain particular children'\n },\n 'aria-required-parent': {\n description: 'Ensures elements with an ARIA role that require parent roles are contained by them',\n help: 'Certain ARIA roles must be contained by particular parents'\n },\n 'aria-roledescription': {\n description: 'Ensure aria-roledescription is only used on elements with an implicit or explicit role',\n help: 'aria-roledescription must be on elements with a semantic role'\n },\n 'aria-roles': {\n description: 'Ensures all elements with a role attribute use a valid value',\n help: 'ARIA roles used must conform to valid values'\n },\n 'aria-text': {\n description: 'Ensures role=\"text\" is used on elements with no focusable descendants',\n help: '\"role=text\" should have no focusable descendants'\n },\n 'aria-toggle-field-name': {\n description: 'Ensures every ARIA toggle field has an accessible name',\n help: 'ARIA toggle fields must have an accessible name'\n },\n 'aria-tooltip-name': {\n description: 'Ensures every ARIA tooltip node has an accessible name',\n help: 'ARIA tooltip nodes must have an accessible name'\n },\n 'aria-treeitem-name': {\n description: 'Ensures every ARIA treeitem node has an accessible name',\n help: 'ARIA treeitem nodes should have an accessible name'\n },\n 'aria-valid-attr-value': {\n description: 'Ensures all ARIA attributes have valid values',\n help: 'ARIA attributes must conform to valid values'\n },\n 'aria-valid-attr': {\n description: 'Ensures attributes that begin with aria- are valid ARIA attributes',\n help: 'ARIA attributes must conform to valid names'\n },\n 'audio-caption': {\n description: 'Ensures <audio> elements have captions',\n help: '<audio> elements must have a captions track'\n },\n 'autocomplete-valid': {\n description: 'Ensure the autocomplete attribute is correct and suitable for the form field',\n help: 'autocomplete attribute must be used correctly'\n },\n 'avoid-inline-spacing': {\n description: 'Ensure that text spacing set through style attributes can be adjusted with custom stylesheets',\n help: 'Inline text spacing must be adjustable with custom stylesheets'\n },\n blink: {\n description: 'Ensures <blink> elements are not used',\n help: '<blink> elements are deprecated and must not be used'\n },\n 'button-name': {\n description: 'Ensures buttons have discernible text',\n help: 'Buttons must have discernible text'\n },\n bypass: {\n description: 'Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content',\n help: 'Page must have means to bypass repeated blocks'\n },\n 'color-contrast-enhanced': {\n description: 'Ensures the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds',\n help: 'Elements must meet enhanced color contrast ratio thresholds'\n },\n 'color-contrast': {\n description: 'Ensures the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds',\n help: 'Elements must meet minimum color contrast ratio thresholds'\n },\n 'css-orientation-lock': {\n description: 'Ensures content is not locked to any specific display orientation, and the content is operable in all display orientations',\n help: 'CSS Media queries must not lock display orientation'\n },\n 'definition-list': {\n description: 'Ensures <dl> elements are structured correctly',\n help: '<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements'\n },\n dlitem: {\n description: 'Ensures <dt> and <dd> elements are contained by a <dl>',\n help: '<dt> and <dd> elements must be contained by a <dl>'\n },\n 'document-title': {\n description: 'Ensures each HTML document contains a non-empty <title> element',\n help: 'Documents must have <title> element to aid in navigation'\n },\n 'duplicate-id-active': {\n description: 'Ensures every id attribute value of active elements is unique',\n help: 'IDs of active elements must be unique'\n },\n 'duplicate-id-aria': {\n description: 'Ensures every id attribute value used in ARIA and in labels is unique',\n help: 'IDs used in ARIA and labels must be unique'\n },\n 'duplicate-id': {\n description: 'Ensures every id attribute value is unique',\n help: 'id attribute value must be unique'\n },\n 'empty-heading': {\n description: 'Ensures headings have discernible text',\n help: 'Headings should not be empty'\n },\n 'empty-table-header': {\n description: 'Ensures table headers have discernible text',\n help: 'Table header text should not be empty'\n },\n 'focus-order-semantics': {\n description: 'Ensures elements in the focus order have a role appropriate for interactive content',\n help: 'Elements in the focus order should have an appropriate role'\n },\n 'form-field-multiple-labels': {\n description: 'Ensures form field does not have multiple label elements',\n help: 'Form field must not have multiple label elements'\n },\n 'frame-focusable-content': {\n description: 'Ensures <frame> and <iframe> elements with focusable content do not have tabindex=-1',\n help: 'Frames with focusable content must not have tabindex=-1'\n },\n 'frame-tested': {\n description: 'Ensures <iframe> and <frame> elements contain the axe-core script',\n help: 'Frames should be tested with axe-core'\n },\n 'frame-title-unique': {\n description: 'Ensures <iframe> and <frame> elements contain a unique title attribute',\n help: 'Frames must have a unique title attribute'\n },\n 'frame-title': {\n description: 'Ensures <iframe> and <frame> elements have an accessible name',\n help: 'Frames must have an accessible name'\n },\n 'heading-order': {\n description: 'Ensures the order of headings is semantically correct',\n help: 'Heading levels should only increase by one'\n },\n 'hidden-content': {\n description: 'Informs users about hidden content.',\n help: 'Hidden content on the page should be analyzed'\n },\n 'html-has-lang': {\n description: 'Ensures every HTML document has a lang attribute',\n help: '<html> element must have a lang attribute'\n },\n 'html-lang-valid': {\n description: 'Ensures the lang attribute of the <html> element has a valid value',\n help: '<html> element must have a valid value for the lang attribute'\n },\n 'html-xml-lang-mismatch': {\n description: 'Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page',\n help: 'HTML elements with lang and xml:lang must have the same base language'\n },\n 'identical-links-same-purpose': {\n description: 'Ensure that links with the same accessible name serve a similar purpose',\n help: 'Links with the same name must have a similar purpose'\n },\n 'image-alt': {\n description: 'Ensures <img> elements have alternate text or a role of none or presentation',\n help: 'Images must have alternate text'\n },\n 'image-redundant-alt': {\n description: 'Ensure image alternative is not repeated as text',\n help: 'Alternative text of images should not be repeated as text'\n },\n 'input-button-name': {\n description: 'Ensures input buttons have discernible text',\n help: 'Input buttons must have discernible text'\n },\n 'input-image-alt': {\n description: 'Ensures <input type=\"image\"> elements have alternate text',\n help: 'Image buttons must have alternate text'\n },\n 'label-content-name-mismatch': {\n description: 'Ensures that elements labelled through their content must have their visible text as part of their accessible name',\n help: 'Elements must have their visible text as part of their accessible name'\n },\n 'label-title-only': {\n description: 'Ensures that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes',\n help: 'Form elements should have a visible label'\n },\n label: {\n description: 'Ensures every form element has a label',\n help: 'Form elements must have labels'\n },\n 'landmark-banner-is-top-level': {\n description: 'Ensures the banner landmark is at top level',\n help: 'Banner landmark should not be contained in another landmark'\n },\n 'landmark-complementary-is-top-level': {\n description: 'Ensures the complementary landmark or aside is at top level',\n help: 'Aside should not be contained in another landmark'\n },\n 'landmark-contentinfo-is-top-level': {\n description: 'Ensures the contentinfo landmark is at top level',\n help: 'Contentinfo landmark should not be contained in another landmark'\n },\n 'landmark-main-is-top-level': {\n description: 'Ensures the main landmark is at top level',\n help: 'Main landmark should not be contained in another landmark'\n },\n 'landmark-no-duplicate-banner': {\n description: 'Ensures the document has at most one banner landmark',\n help: 'Document should not have more than one banner landmark'\n },\n 'landmark-no-duplicate-contentinfo': {\n description: 'Ensures the document has at most one contentinfo landmark',\n help: 'Document should not have more than one contentinfo landmark'\n },\n 'landmark-no-duplicate-main': {\n description: 'Ensures the document has at most one main landmark',\n help: 'Document should not have more than one main landmark'\n },\n 'landmark-one-main': {\n description: 'Ensures the document has a main landmark',\n help: 'Document should have one main landmark'\n },\n 'landmark-unique': {\n help: 'Ensures landmarks are unique',\n description: 'Landmarks should have a unique role or role/label/title (i.e. accessible name) combination'\n },\n 'link-in-text-block': {\n description: 'Ensure links are distinguished from surrounding text in a way that does not rely on color',\n help: 'Links must be distinguishable without relying on color'\n },\n 'link-name': {\n description: 'Ensures links have discernible text',\n help: 'Links must have discernible text'\n },\n list: {\n description: 'Ensures that lists are structured correctly',\n help: '<ul> and <ol> must only directly contain <li>, <script> or <template> elements'\n },\n listitem: {\n description: 'Ensures <li> elements are used semantically',\n help: '<li> elements must be contained in a <ul> or <ol>'\n },\n marquee: {\n description: 'Ensures <marquee> elements are not used',\n help: '<marquee> elements are deprecated and must not be used'\n },\n 'meta-refresh-no-exceptions': {\n description: 'Ensures <meta http-equiv=\"refresh\"> is not used for delayed refresh',\n help: 'Delayed refresh must not be used'\n },\n 'meta-refresh': {\n description: 'Ensures <meta http-equiv=\"refresh\"> is not used for delayed refresh',\n help: 'Delayed refresh under 20 hours must not be used'\n },\n 'meta-viewport-large': {\n description: 'Ensures <meta name=\"viewport\"> can scale a significant amount',\n help: 'Users should be able to zoom and scale the text up to 500%'\n },\n 'meta-viewport': {\n description: 'Ensures <meta name=\"viewport\"> does not disable text scaling and zooming',\n help: 'Zooming and scaling must not be disabled'\n },\n 'nested-interactive': {\n description: 'Ensures interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies',\n help: 'Interactive controls must not be nested'\n },\n 'no-autoplay-audio': {\n description: 'Ensures <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio',\n help: '<video> or <audio> elements must not play automatically'\n },\n 'object-alt': {\n description: 'Ensures <object> elements have alternate text',\n help: '<object> elements must have alternate text'\n },\n 'p-as-heading': {\n description: 'Ensure bold, italic text and font-size is not used to style <p> elements as a heading',\n help: 'Styled <p> elements must not be used as headings'\n },\n 'page-has-heading-one': {\n description: 'Ensure that the page, or at least one of its frames contains a level-one heading',\n help: 'Page should contain a level-one heading'\n },\n 'presentation-role-conflict': {\n description: 'Elements marked as presentational should not have global ARIA or tabindex to ensure all screen readers ignore them',\n help: 'Ensure elements marked as presentational are consistently ignored'\n },\n region: {\n description: 'Ensures all page content is contained by landmarks',\n help: 'All page content should be contained by landmarks'\n },\n 'role-img-alt': {\n description: 'Ensures [role=\"img\"] elements have alternate text',\n help: '[role=\"img\"] elements must have an alternative text'\n },\n 'scope-attr-valid': {\n description: 'Ensures the scope attribute is used correctly on tables',\n help: 'scope attribute should be used correctly'\n },\n 'scrollable-region-focusable': {\n description: 'Ensure elements that have scrollable content are accessible by keyboard',\n help: 'Scrollable region must have keyboard access'\n },\n 'select-name': {\n description: 'Ensures select element has an accessible name',\n help: 'Select element must have an accessible name'\n },\n 'server-side-image-map': {\n description: 'Ensures that server-side image maps are not used',\n help: 'Server-side image maps must not be used'\n },\n 'skip-link': {\n description: 'Ensure all skip links have a focusable target',\n help: 'The skip-link target should exist and be focusable'\n },\n 'svg-img-alt': {\n description: 'Ensures <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text',\n help: '<svg> elements with an img role must have an alternative text'\n },\n tabindex: {\n description: 'Ensures tabindex attribute values are not greater than 0',\n help: 'Elements should not have tabindex greater than zero'\n },\n 'table-duplicate-name': {\n description: 'Ensure the <caption> element does not contain the same text as the summary attribute',\n help: 'tables should not have the same summary and caption'\n },\n 'table-fake-caption': {\n description: 'Ensure that tables with a caption use the <caption> element.',\n help: 'Data or header cells must not be used to give caption to a data table.'\n },\n 'target-size': {\n description: 'Ensure touch target have sufficient size and space',\n help: 'All touch targets must be 24px large, or leave sufficient space'\n },\n 'td-has-header': {\n description: 'Ensure that each non-empty data cell in a <table> larger than 3 by 3 has one or more table headers',\n help: 'Non-empty <td> elements in larger <table> must have an associated table header'\n },\n 'td-headers-attr': {\n description: 'Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table',\n help: 'Table cells that use the headers attribute must only refer to cells in the same table'\n },\n 'th-has-data-cells': {\n description: 'Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe',\n help: 'Table headers in a data table must refer to data cells'\n },\n 'valid-lang': {\n description: 'Ensures lang attributes have valid values',\n help: 'lang attribute must have a valid value'\n },\n 'video-caption': {\n description: 'Ensures <video> elements have captions',\n help: '<video> elements must have captions'\n }\n },\n checks: {\n abstractrole: {\n impact: 'serious',\n messages: {\n pass: 'Abstract roles are not used',\n fail: {\n singular: 'Abstract role cannot be directly used: ${data.values}',\n plural: 'Abstract roles cannot be directly used: ${data.values}'\n }\n }\n },\n 'aria-allowed-attr': {\n impact: 'critical',\n messages: {\n pass: 'ARIA attributes are used correctly for the defined role',\n fail: {\n singular: 'ARIA attribute is not allowed: ${data.values}',\n plural: 'ARIA attributes are not allowed: ${data.values}'\n },\n incomplete: 'Check that there is no problem if the ARIA attribute is ignored on this element: ${data.values}'\n }\n },\n 'aria-allowed-role': {\n impact: 'minor',\n messages: {\n pass: 'ARIA role is allowed for given element',\n fail: {\n singular: 'ARIA role ${data.values} is not allowed for given element',\n plural: 'ARIA roles ${data.values} are not allowed for given element'\n },\n incomplete: {\n singular: 'ARIA role ${data.values} must be removed when the element is made visible, as it is not allowed for the element',\n plural: 'ARIA roles ${data.values} must be removed when the element is made visible, as they are not allowed for the element'\n }\n }\n },\n 'aria-busy': {\n impact: 'serious',\n messages: {\n pass: 'Element has an aria-busy attribute',\n fail: 'Element uses aria-busy=\"true\" while showing a loader'\n }\n },\n 'aria-conditional-attr': {\n impact: 'serious',\n messages: {\n pass: 'ARIA attribute is allowed',\n fail: {\n checkbox: 'Remove aria-checked, or set it to \"${data.checkState}\" to match the real checkbox state',\n rowSingular: 'This attribute is supported with treegrid rows, but not ${data.ownerRole}: ${data.invalidAttrs}',\n rowPlural: 'These attributes are supported with treegrid rows, but not ${data.ownerRole}: ${data.invalidAttrs}'\n }\n }\n },\n 'aria-errormessage': {\n impact: 'critical',\n messages: {\n pass: 'aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique',\n fail: {\n singular: 'aria-errormessage value `${data.values}` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)',\n plural: 'aria-errormessage values `${data.values}` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)',\n hidden: 'aria-errormessage value `${data.values}` cannot reference a hidden element'\n },\n incomplete: {\n singular: 'ensure aria-errormessage value `${data.values}` references an existing element',\n plural: 'ensure aria-errormessage values `${data.values}` reference existing elements',\n idrefs: 'unable to determine if aria-errormessage element exists on the page: ${data.values}'\n }\n }\n },\n 'aria-hidden-body': {\n impact: 'critical',\n messages: {\n pass: 'No aria-hidden attribute is present on document body',\n fail: 'aria-hidden=true should not be present on the document body'\n }\n },\n 'aria-level': {\n impact: 'serious',\n messages: {\n pass: 'aria-level values are valid',\n incomplete: 'aria-level values greater than 6 are not supported in all screenreader and browser combinations'\n }\n },\n 'aria-prohibited-attr': {\n impact: 'serious',\n messages: {\n pass: 'ARIA attribute is allowed',\n fail: {\n hasRolePlural: '${data.prohibited} attributes cannot be used with role \"${data.role}\".',\n hasRoleSingular: '${data.prohibited} attribute cannot be used with role \"${data.role}\".',\n noRolePlural: '${data.prohibited} attributes cannot be used on a ${data.nodeName} with no valid role attribute.',\n noRoleSingular: '${data.prohibited} attribute cannot be used on a ${data.nodeName} with no valid role attribute.'\n },\n incomplete: {\n hasRoleSingular: '${data.prohibited} attribute is not well supported with role \"${data.role}\".',\n hasRolePlural: '${data.prohibited} attributes are not well supported with role \"${data.role}\".',\n noRoleSingular: '${data.prohibited} attribute is not well supported on a ${data.nodeName} with no valid role attribute.',\n noRolePlural: '${data.prohibited} attributes are not well supported on a ${data.nodeName} with no valid role attribute.'\n }\n }\n },\n 'aria-required-attr': {\n impact: 'critical',\n messages: {\n pass: 'All required ARIA attributes are present',\n fail: {\n singular: 'Required ARIA attribute not present: ${data.values}',\n plural: 'Required ARIA attributes not present: ${data.values}'\n }\n }\n },\n 'aria-required-children': {\n impact: 'critical',\n messages: {\n pass: {\n default: 'Required ARIA children are present',\n 'aria-busy': 'Element has an aria-busy attribute, so it is allowed to omit required children'\n },\n fail: {\n singular: 'Required ARIA child role not present: ${data.values}',\n plural: 'Required ARIA children role not present: ${data.values}',\n unallowed: 'Element has children which are not allowed: ${data.values}'\n },\n incomplete: {\n singular: 'Expecting ARIA child role to be added: ${data.values}',\n plural: 'Expecting ARIA children role to be added: ${data.values}'\n }\n }\n },\n 'aria-required-parent': {\n impact: 'critical',\n messages: {\n pass: 'Required ARIA parent role present',\n fail: {\n singular: 'Required ARIA parent role not present: ${data.values}',\n plural: 'Required ARIA parents role not present: ${data.values}'\n }\n }\n },\n 'aria-roledescription': {\n impact: 'serious',\n messages: {\n pass: 'aria-roledescription used on a supported semantic role',\n incomplete: 'Check that the aria-roledescription is announced by supported screen readers',\n fail: 'Give the element a role that supports aria-roledescription'\n }\n },\n 'aria-unsupported-attr': {\n impact: 'critical',\n messages: {\n pass: 'ARIA attribute is supported',\n fail: 'ARIA attribute is not widely supported in screen readers and assistive technologies: ${data.values}'\n }\n },\n 'aria-valid-attr-value': {\n impact: 'critical',\n messages: {\n pass: 'ARIA attribute values are valid',\n fail: {\n singular: 'Invalid ARIA attribute value: ${data.values}',\n plural: 'Invalid ARIA attribute values: ${data.values}'\n },\n incomplete: {\n noId: 'ARIA attribute element ID does not exist on the page: ${data.needsReview}',\n noIdShadow: 'ARIA attribute element ID does not exist on the page or is a descendant of a different shadow DOM tree: ${data.needsReview}',\n ariaCurrent: 'ARIA attribute value is invalid and will be treated as \"aria-current=true\": ${data.needsReview}',\n idrefs: 'Unable to determine if ARIA attribute element ID exists on the page: ${data.needsReview}',\n empty: 'ARIA attribute value is ignored while empty: ${data.needsReview}',\n controlsWithinPopup: 'Unable to determine if aria-controls referenced ID exists on the page while using aria-haspopup: ${data.needsReview}'\n }\n }\n },\n 'aria-valid-attr': {\n impact: 'critical',\n messages: {\n pass: 'ARIA attribute name is valid',\n fail: {\n singular: 'Invalid ARIA attribute name: ${data.values}',\n plural: 'Invalid ARIA attribute names: ${data.values}'\n }\n }\n },\n 'braille-label-equivalent': {\n impact: 'serious',\n messages: {\n pass: 'aria-braillelabel is used on an element with accessible text',\n fail: 'aria-braillelabel is used on an element with no accessible text',\n incomplete: 'Unable to compute accessible text'\n }\n },\n 'braille-roledescription-equivalent': {\n impact: 'serious',\n messages: {\n pass: 'aria-brailleroledescription is used on an element with aria-roledescription',\n fail: {\n noRoleDescription: 'aria-brailleroledescription is used on an element with no aria-roledescription',\n emptyRoleDescription: 'aria-brailleroledescription is used on an element with an empty aria-roledescription'\n }\n }\n },\n deprecatedrole: {\n impact: 'minor',\n messages: {\n pass: 'ARIA role is not deprecated',\n fail: 'The role used is deprecated: ${data}'\n }\n },\n fallbackrole: {\n impact: 'serious',\n messages: {\n pass: 'Only one role value used',\n fail: 'Use only one role value, since fallback roles are not supported in older browsers',\n incomplete: 'Use only role \\'presentation\\' or \\'none\\' since they are synonymous.'\n }\n },\n 'has-global-aria-attribute': {\n impact: 'minor',\n messages: {\n pass: {\n singular: 'Element has global ARIA attribute: ${data.values}',\n plural: 'Element has global ARIA attributes: ${data.values}'\n },\n fail: 'Element does not have global ARIA attribute'\n }\n },\n 'has-widget-role': {\n impact: 'minor',\n messages: {\n pass: 'Element has a widget role.',\n fail: 'Element does not have a widget role.'\n }\n },\n invalidrole: {\n impact: 'critical',\n messages: {\n pass: 'ARIA role is valid',\n fail: {\n singular: 'Role must be one of the valid ARIA roles: ${data.values}',\n plural: 'Roles must be one of the valid ARIA roles: ${data.values}'\n }\n }\n },\n 'is-element-focusable': {\n impact: 'minor',\n messages: {\n pass: 'Element is focusable.',\n fail: 'Element is not focusable.'\n }\n },\n 'no-implicit-explicit-label': {\n impact: 'serious',\n messages: {\n pass: 'There is no mismatch between a <label> and accessible name',\n incomplete: 'Check that the <label> does not need be part of the ARIA ${data} field\\'s name'\n }\n },\n unsupportedrole: {\n impact: 'critical',\n messages: {\n pass: 'ARIA role is supported',\n fail: 'The role used is not widely supported in screen readers and assistive technologies: ${data}'\n }\n },\n 'valid-scrollable-semantics': {\n impact: 'minor',\n messages: {\n pass: 'Element has valid semantics for an element in the focus order.',\n fail: 'Element has invalid semantics for an element in the focus order.'\n }\n },\n 'color-contrast-enhanced': {\n impact: 'serious',\n messages: {\n pass: 'Element has sufficient color contrast of ${data.contrastRatio}',\n fail: {\n default: 'Element has insufficient color contrast of ${data.contrastRatio} (foreground color: ${data.fgColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}',\n fgOnShadowColor: 'Element has insufficient color contrast of ${data.contrastRatio} between the foreground and shadow color (foreground color: ${data.fgColor}, text-shadow color: ${data.shadowColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}',\n shadowOnBgColor: 'Element has insufficient color contrast of ${data.contrastRatio} between the shadow color and background color (text-shadow color: ${data.shadowColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}'\n },\n incomplete: {\n default: 'Unable to determine contrast ratio',\n bgImage: 'Element\\'s background color could not be determined due to a background image',\n bgGradient: 'Element\\'s background color could not be determined due to a background gradient',\n imgNode: 'Element\\'s background color could not be determined because element contains an image node',\n bgOverlap: 'Element\\'s background color could not be determined because it is overlapped by another element',\n fgAlpha: 'Element\\'s foreground color could not be determined because of alpha transparency',\n elmPartiallyObscured: 'Element\\'s background color could not be determined because it\\'s partially obscured by another element',\n elmPartiallyObscuring: 'Element\\'s background color could not be determined because it partially overlaps other elements',\n outsideViewport: 'Element\\'s background color could not be determined because it\\'s outside the viewport',\n equalRatio: 'Element has a 1:1 contrast ratio with the background',\n shortTextContent: 'Element content is too short to determine if it is actual text content',\n nonBmp: 'Element content contains only non-text characters',\n pseudoContent: 'Element\\'s background color could not be determined due to a pseudo element'\n }\n }\n },\n 'color-contrast': {\n impact: 'serious',\n messages: {\n pass: {\n default: 'Element has sufficient color contrast of ${data.contrastRatio}',\n hidden: 'Element is hidden'\n },\n fail: {\n default: 'Element has insufficient color contrast of ${data.contrastRatio} (foreground color: ${data.fgColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}',\n fgOnShadowColor: 'Element has insufficient color contrast of ${data.contrastRatio} between the foreground and shadow color (foreground color: ${data.fgColor}, text-shadow color: ${data.shadowColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}',\n shadowOnBgColor: 'Element has insufficient color contrast of ${data.contrastRatio} between the shadow color and background color (text-shadow color: ${data.shadowColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}'\n },\n incomplete: {\n default: 'Unable to determine contrast ratio',\n bgImage: 'Element\\'s background color could not be determined due to a background image',\n bgGradient: 'Element\\'s background color could not be determined due to a background gradient',\n imgNode: 'Element\\'s background color could not be determined because element contains an image node',\n bgOverlap: 'Element\\'s background color could not be determined because it is overlapped by another element',\n complexTextShadows: 'Element\\'s contrast could not be determined because it uses complex text shadows',\n fgAlpha: 'Element\\'s foreground color could not be determined because of alpha transparency',\n elmPartiallyObscured: 'Element\\'s background color could not be determined because it\\'s partially obscured by another element',\n elmPartiallyObscuring: 'Element\\'s background color could not be determined because it partially overlaps other elements',\n outsideViewport: 'Element\\'s background color could not be determined because it\\'s outside the viewport',\n equalRatio: 'Element has a 1:1 contrast ratio with the background',\n shortTextContent: 'Element content is too short to determine if it is actual text content',\n nonBmp: 'Element content contains only non-text characters',\n pseudoContent: 'Element\\'s background color could not be determined due to a pseudo element'\n }\n }\n },\n 'link-in-text-block-style': {\n impact: 'serious',\n messages: {\n pass: 'Links can be distinguished from surrounding text by visual styling',\n incomplete: {\n default: 'Check if the link needs styling to distinguish it from nearby text',\n pseudoContent: 'Check if the link\\'s pseudo style is sufficient to distinguish it from the surrounding text'\n },\n fail: 'The link has no styling (such as underline) to distinguish it from the surrounding text'\n }\n },\n 'link-in-text-block': {\n impact: 'serious',\n messages: {\n pass: 'Links can be distinguished from surrounding text in some way other than by color',\n fail: {\n fgContrast: 'The link has insufficient color contrast of ${data.contrastRatio}:1 with the surrounding text. (Minimum contrast is ${data.requiredContrastRatio}:1, link text: ${data.nodeColor}, surrounding text: ${data.parentColor})',\n bgContrast: 'The link background has insufficient color contrast of ${data.contrastRatio} (Minimum contrast is ${data.requiredContrastRatio}:1, link background color: ${data.nodeBackgroundColor}, surrounding background color: ${data.parentBackgroundColor})'\n },\n incomplete: {\n default: 'Element\\'s foreground contrast ratio could not be determined',\n bgContrast: 'Element\\'s background contrast ratio could not be determined',\n bgImage: 'Element\\'s contrast ratio could not be determined due to a background image',\n bgGradient: 'Element\\'s contrast ratio could not be determined due to a background gradient',\n imgNode: 'Element\\'s contrast ratio could not be determined because element contains an image node',\n bgOverlap: 'Element\\'s contrast ratio could not be determined because of element overlap'\n }\n }\n },\n 'autocomplete-appropriate': {\n impact: 'serious',\n messages: {\n pass: 'the autocomplete value is on an appropriate element',\n fail: 'the autocomplete value is inappropriate for this type of input'\n }\n },\n 'autocomplete-valid': {\n impact: 'serious',\n messages: {\n pass: 'the autocomplete attribute is correctly formatted',\n fail: 'the autocomplete attribute is incorrectly formatted'\n }\n },\n accesskeys: {\n impact: 'serious',\n messages: {\n pass: 'Accesskey attribute value is unique',\n fail: 'Document has multiple elements with the same accesskey'\n }\n },\n 'focusable-content': {\n impact: 'serious',\n messages: {\n pass: 'Element contains focusable elements',\n fail: 'Element should have focusable content'\n }\n },\n 'focusable-disabled': {\n impact: 'serious',\n messages: {\n pass: 'No focusable elements contained within element',\n incomplete: 'Check if the focusable elements immediately move the focus indicator',\n fail: 'Focusable content should be disabled or be removed from the DOM'\n }\n },\n 'focusable-element': {\n impact: 'serious',\n messages: {\n pass: 'Element is focusable',\n fail: 'Element should be focusable'\n }\n },\n 'focusable-modal-open': {\n impact: 'serious',\n messages: {\n pass: 'No focusable elements while a modal is open',\n incomplete: 'Check that focusable elements are not tabbable in the current state'\n }\n },\n 'focusable-no-name': {\n impact: 'serious',\n messages: {\n pass: 'Element is not in tab order or has accessible text',\n fail: 'Element is in tab order and does not have accessible text',\n incomplete: 'Unable to determine if element has an accessible name'\n }\n },\n 'focusable-not-tabbable': {\n impact: 'serious',\n messages: {\n pass: 'No focusable elements contained within element',\n incomplete: 'Check if the focusable elements immediately move the focus indicator',\n fail: 'Focusable content should have tabindex=\"-1\" or be removed from the DOM'\n }\n },\n 'frame-focusable-content': {\n impact: 'serious',\n messages: {\n pass: 'Element does not have focusable descendants',\n fail: 'Element has focusable descendants',\n incomplete: 'Could not determine if element has descendants'\n }\n },\n 'landmark-is-top-level': {\n impact: 'moderate',\n messages: {\n pass: 'The ${data.role} landmark is at the top level.',\n fail: 'The ${data.role} landmark is contained in another landmark.'\n }\n },\n 'no-focusable-content': {\n impact: 'serious',\n messages: {\n pass: 'Element does not have focusable descendants',\n fail: {\n default: 'Element has focusable descendants',\n notHidden: 'Using a negative tabindex on an element inside an interactive control does not prevent assistive technologies from focusing the element (even with aria-hidden=\"true\")'\n },\n incomplete: 'Could not determine if element has descendants'\n }\n },\n 'page-has-heading-one': {\n impact: 'moderate',\n messages: {\n pass: 'Page has at least one level-one heading',\n fail: 'Page must have a level-one heading'\n }\n },\n 'page-has-main': {\n impact: 'moderate',\n messages: {\n pass: 'Document has at least one main landmark',\n fail: 'Document does not have a main landmark'\n }\n },\n 'page-no-duplicate-banner': {\n impact: 'moderate',\n messages: {\n pass: 'Document does not have more than one banner landmark',\n fail: 'Document has more than one banner landmark'\n }\n },\n 'page-no-duplicate-contentinfo': {\n impact: 'moderate',\n messages: {\n pass: 'Document does not have more than one contentinfo landmark',\n fail: 'Document has more than one contentinfo landmark'\n }\n },\n 'page-no-duplicate-main': {\n impact: 'moderate',\n messages: {\n pass: 'Document does not have more than one main landmark',\n fail: 'Document has more than one main landmark'\n }\n },\n tabindex: {\n impact: 'serious',\n messages: {\n pass: 'Element does not have a tabindex greater than 0',\n fail: 'Element has a tabindex greater than 0'\n }\n },\n 'alt-space-value': {\n impact: 'critical',\n messages: {\n pass: 'Element has a valid alt attribute value',\n fail: 'Element has an alt attribute containing only a space character, which is not ignored by all screen readers'\n }\n },\n 'duplicate-img-label': {\n impact: 'minor',\n messages: {\n pass: 'Element does not duplicate existing text in <img> alt text',\n fail: 'Element contains <img> element with alt text that duplicates existing text'\n }\n },\n 'explicit-label': {\n impact: 'critical',\n messages: {\n pass: 'Form element has an explicit <label>',\n fail: 'Form element does not have an explicit <label>',\n incomplete: 'Unable to determine if form element has an explicit <label>'\n }\n },\n 'help-same-as-label': {\n impact: 'minor',\n messages: {\n pass: 'Help text (title or aria-describedby) does not duplicate label text',\n fail: 'Help text (title or aria-describedby) text is the same as the label text'\n }\n },\n 'hidden-explicit-label': {\n impact: 'critical',\n messages: {\n pass: 'Form element has a visible explicit <label>',\n fail: 'Form element has explicit <label> that is hidden',\n incomplete: 'Unable to determine if form element has explicit <label> that is hidden'\n }\n },\n 'implicit-label': {\n impact: 'critical',\n messages: {\n pass: 'Form element has an implicit (wrapped) <label>',\n fail: 'Form element does not have an implicit (wrapped) <label>',\n incomplete: 'Unable to determine if form element has an implicit (wrapped} <label>'\n }\n },\n 'label-content-name-mismatch': {\n impact: 'serious',\n messages: {\n pass: 'Element contains visible text as part of it\\'s accessible name',\n fail: 'Text inside the element is not included in the accessible name'\n }\n },\n 'multiple-label': {\n impact: 'moderate',\n messages: {\n pass: 'Form field does not have multiple label elements',\n incomplete: 'Multiple label elements is not widely supported in assistive technologies. Ensure the first label contains all necessary information.'\n }\n },\n 'title-only': {\n impact: 'serious',\n messages: {\n pass: 'Form element does not solely use title attribute for its label',\n fail: 'Only title used to generate label for form element'\n }\n },\n 'landmark-is-unique': {\n impact: 'moderate',\n messages: {\n pass: 'Landmarks must have a unique role or role/label/title (i.e. accessible name) combination',\n fail: 'The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable'\n }\n },\n 'has-lang': {\n impact: 'serious',\n messages: {\n pass: 'The <html> element has a lang attribute',\n fail: {\n noXHTML: 'The xml:lang attribute is not valid on HTML pages, use the lang attribute.',\n noLang: 'The <html> element does not have a lang attribute'\n }\n }\n },\n 'valid-lang': {\n impact: 'serious',\n messages: {\n pass: 'Value of lang attribute is included in the list of valid languages',\n fail: 'Value of lang attribute not included in the list of valid languages'\n }\n },\n 'xml-lang-mismatch': {\n impact: 'moderate',\n messages: {\n pass: 'Lang and xml:lang attributes have the same base language',\n fail: 'Lang and xml:lang attributes do not have the same base language'\n }\n },\n dlitem: {\n impact: 'serious',\n messages: {\n pass: 'Description list item has a <dl> parent element',\n fail: 'Description list item does not have a <dl> parent element'\n }\n },\n listitem: {\n impact: 'serious',\n messages: {\n pass: 'List item has a <ul>, <ol> or role=\"list\" parent element',\n fail: {\n default: 'List item does not have a <ul>, <ol> parent element',\n roleNotValid: 'List item parent element has a role that is not role=\"list\"'\n }\n }\n },\n 'only-dlitems': {\n impact: 'serious',\n messages: {\n pass: 'dl element only has direct children that are allowed inside; <dt>, <dd>, or <div> elements',\n fail: 'dl element has direct children that are not allowed: ${data.values}'\n }\n },\n 'only-listitems': {\n impact: 'serious',\n messages: {\n pass: 'List element only has direct children that are allowed inside <li> elements',\n fail: 'List element has direct children that are not allowed: ${data.values}'\n }\n },\n 'structured-dlitems': {\n impact: 'serious',\n messages: {\n pass: 'When not empty, element has both <dt> and <dd> elements',\n fail: 'When not empty, element does not have at least one <dt> element followed by at least one <dd> element'\n }\n },\n caption: {\n impact: 'critical',\n messages: {\n pass: 'The multimedia element has a captions track',\n incomplete: 'Check that captions is available for the element'\n }\n },\n 'frame-tested': {\n impact: 'critical',\n messages: {\n pass: 'The iframe was tested with axe-core',\n fail: 'The iframe could not be tested with axe-core',\n incomplete: 'The iframe still has to be tested with axe-core'\n }\n },\n 'no-autoplay-audio': {\n impact: 'moderate',\n messages: {\n pass: '<video> or <audio> does not output audio for more than allowed duration or has controls mechanism',\n fail: '<video> or <audio> outputs audio for more than allowed duration and does not have a controls mechanism',\n incomplete: 'Check that the <video> or <audio> does not output audio for more than allowed duration or provides a controls mechanism'\n }\n },\n 'css-orientation-lock': {\n impact: 'serious',\n messages: {\n pass: 'Display is operable, and orientation lock does not exist',\n fail: 'CSS Orientation lock is applied, and makes display inoperable',\n incomplete: 'CSS Orientation lock cannot be determined'\n }\n },\n 'meta-viewport-large': {\n impact: 'minor',\n messages: {\n pass: '<meta> tag does not prevent significant zooming on mobile devices',\n fail: '<meta> tag limits zooming on mobile devices'\n }\n },\n 'meta-viewport': {\n impact: 'critical',\n messages: {\n pass: '<meta> tag does not disable zooming on mobile devices',\n fail: '${data} on <meta> tag disables zooming on mobile devices'\n }\n },\n 'target-offset': {\n impact: 'serious',\n messages: {\n pass: {\n default: 'Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px which is at least ${data.minOffset}px.',\n large: 'Target far exceeds the minimum size of ${data.minOffset}px.'\n },\n fail: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px.',\n incomplete: {\n default: 'Element with negative tabindex has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is this a target?',\n nonTabbableNeighbor: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is the neighbor a target?',\n tooManyRects: 'Could not get the target size because there are too many overlapping elements'\n }\n }\n },\n 'target-size': {\n impact: 'serious',\n messages: {\n pass: {\n default: 'Control has sufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)',\n obscured: 'Control is ignored because it is fully obscured and thus not clickable',\n large: 'Target far exceeds the minimum size of ${data.minSize}px.'\n },\n fail: {\n default: 'Target has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)',\n partiallyObscured: 'Target has insufficient size because it is partially obscured (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)'\n },\n incomplete: {\n default: 'Element with negative tabindex has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?',\n contentOverflow: 'Element size could not be accurately determined due to overflow content',\n partiallyObscured: 'Element with negative tabindex has insufficient size because it is partially obscured (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?',\n partiallyObscuredNonTabbable: 'Target has insufficient size because it is partially obscured by a neighbor with negative tabindex (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is the neighbor a target?',\n tooManyRects: 'Could not get the target size because there are too many overlapping elements'\n }\n }\n },\n 'header-present': {\n impact: 'serious',\n messages: {\n pass: 'Page has a heading',\n fail: 'Page does not have a heading'\n }\n },\n 'heading-order': {\n impact: 'moderate',\n messages: {\n pass: 'Heading order valid',\n fail: 'Heading order invalid',\n incomplete: 'Unable to determine previous heading'\n }\n },\n 'identical-links-same-purpose': {\n impact: 'minor',\n messages: {\n pass: 'There are no other links with the same name, that go to a different URL',\n incomplete: 'Check that links have the same purpose, or are intentionally ambiguous.'\n }\n },\n 'internal-link-present': {\n impact: 'serious',\n messages: {\n pass: 'Valid skip link found',\n fail: 'No valid skip link found'\n }\n },\n landmark: {\n impact: 'serious',\n messages: {\n pass: 'Page has a landmark region',\n fail: 'Page does not have a landmark region'\n }\n },\n 'meta-refresh-no-exceptions': {\n impact: 'minor',\n messages: {\n pass: '<meta> tag does not immediately refresh the page',\n fail: '<meta> tag forces timed refresh of page'\n }\n },\n 'meta-refresh': {\n impact: 'critical',\n messages: {\n pass: '<meta> tag does not immediately refresh the page',\n fail: '<meta> tag forces timed refresh of page (less than 20 hours)'\n }\n },\n 'p-as-heading': {\n impact: 'serious',\n messages: {\n pass: '<p> elements are not styled as headings',\n fail: 'Heading elements should be used instead of styled <p> elements',\n incomplete: 'Unable to determine if <p> elements are styled as headings'\n }\n },\n region: {\n impact: 'moderate',\n messages: {\n pass: 'All page content is contained by landmarks',\n fail: 'Some page content is not contained by landmarks'\n }\n },\n 'skip-link': {\n impact: 'moderate',\n messages: {\n pass: 'Skip link target exists',\n incomplete: 'Skip link target should become visible on activation',\n fail: 'No skip link target'\n }\n },\n 'unique-frame-title': {\n impact: 'serious',\n messages: {\n pass: 'Element\\'s title attribute is unique',\n fail: 'Element\\'s title attribute is not unique'\n }\n },\n 'duplicate-id-active': {\n impact: 'serious',\n messages: {\n pass: 'Document has no active elements that share the same id attribute',\n fail: 'Document has active elements with the same id attribute: ${data}'\n }\n },\n 'duplicate-id-aria': {\n impact: 'critical',\n messages: {\n pass: 'Document has no elements referenced with ARIA or labels that share the same id attribute',\n fail: 'Document has multiple elements referenced with ARIA with the same id attribute: ${data}'\n }\n },\n 'duplicate-id': {\n impact: 'minor',\n messages: {\n pass: 'Document has no static elements that share the same id attribute',\n fail: 'Document has multiple static elements with the same id attribute: ${data}'\n }\n },\n 'aria-label': {\n impact: 'serious',\n messages: {\n pass: 'aria-label attribute exists and is not empty',\n fail: 'aria-label attribute does not exist or is empty'\n }\n },\n 'aria-labelledby': {\n impact: 'serious',\n messages: {\n pass: 'aria-labelledby attribute exists and references elements that are visible to screen readers',\n fail: 'aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty',\n incomplete: 'ensure aria-labelledby references an existing element'\n }\n },\n 'avoid-inline-spacing': {\n impact: 'serious',\n messages: {\n pass: 'No inline styles with \\'!important\\' that affect text spacing has been specified',\n fail: {\n singular: 'Remove \\'!important\\' from inline style ${data.values}, as overriding this is not supported by most browsers',\n plural: 'Remove \\'!important\\' from inline styles ${data.values}, as overriding this is not supported by most browsers'\n }\n }\n },\n 'button-has-visible-text': {\n impact: 'critical',\n messages: {\n pass: 'Element has inner text that is visible to screen readers',\n fail: 'Element does not have inner text that is visible to screen readers',\n incomplete: 'Unable to determine if element has children'\n }\n },\n 'doc-has-title': {\n impact: 'serious',\n messages: {\n pass: 'Document has a non-empty <title> element',\n fail: 'Document does not have a non-empty <title> element'\n }\n },\n exists: {\n impact: 'minor',\n messages: {\n pass: 'Element does not exist',\n incomplete: 'Element exists'\n }\n },\n 'has-alt': {\n impact: 'critical',\n messages: {\n pass: 'Element has an alt attribute',\n fail: 'Element does not have an alt attribute'\n }\n },\n 'has-visible-text': {\n impact: 'minor',\n messages: {\n pass: 'Element has text that is visible to screen readers',\n fail: 'Element does not have text that is visible to screen readers',\n incomplete: 'Unable to determine if element has children'\n }\n },\n 'important-letter-spacing': {\n impact: 'serious',\n messages: {\n pass: 'Letter-spacing in the style attribute is not set to !important, or meets the minimum',\n fail: 'letter-spacing in the style attribute must not use !important, or be at ${data.minValue}em (current ${data.value}em)'\n }\n },\n 'important-line-height': {\n impact: 'serious',\n messages: {\n pass: 'line-height in the style attribute is not set to !important, or meets the minimum',\n fail: 'line-height in the style attribute must not use !important, or be at ${data.minValue}em (current ${data.value}em)'\n }\n },\n 'important-word-spacing': {\n impact: 'serious',\n messages: {\n pass: 'word-spacing in the style attribute is not set to !important, or meets the minimum',\n fail: 'word-spacing in the style attribute must not use !important, or be at ${data.minValue}em (current ${data.value}em)'\n }\n },\n 'is-on-screen': {\n impact: 'serious',\n messages: {\n pass: 'Element is not visible',\n fail: 'Element is visible'\n }\n },\n 'non-empty-alt': {\n impact: 'critical',\n messages: {\n pass: 'Element has a non-empty alt attribute',\n fail: {\n noAttr: 'Element has no alt attribute',\n emptyAttr: 'Element has an empty alt attribute'\n }\n }\n },\n 'non-empty-if-present': {\n impact: 'critical',\n messages: {\n pass: {\n default: 'Element does not have a value attribute',\n 'has-label': 'Element has a non-empty value attribute'\n },\n fail: 'Element has a value attribute and the value attribute is empty'\n }\n },\n 'non-empty-placeholder': {\n impact: 'serious',\n messages: {\n pass: 'Element has a placeholder attribute',\n fail: {\n noAttr: 'Element has no placeholder attribute',\n emptyAttr: 'Element has an empty placeholder attribute'\n }\n }\n },\n 'non-empty-title': {\n impact: 'serious',\n messages: {\n pass: 'Element has a title attribute',\n fail: {\n noAttr: 'Element has no title attribute',\n emptyAttr: 'Element has an empty title attribute'\n }\n }\n },\n 'non-empty-value': {\n impact: 'critical',\n messages: {\n pass: 'Element has a non-empty value attribute',\n fail: {\n noAttr: 'Element has no value attribute',\n emptyAttr: 'Element has an empty value attribute'\n }\n }\n },\n 'presentational-role': {\n impact: 'minor',\n messages: {\n pass: 'Element\\'s default semantics were overriden with role=\"${data.role}\"',\n fail: {\n default: 'Element\\'s default semantics were not overridden with role=\"none\" or role=\"presentation\"',\n globalAria: 'Element\\'s role is not presentational because it has a global ARIA attribute',\n focusable: 'Element\\'s role is not presentational because it is focusable',\n both: 'Element\\'s role is not presentational because it has a global ARIA attribute and is focusable',\n iframe: 'Using the \"title\" attribute on an ${data.nodeName} element with a presentational role behaves inconsistently between screen readers'\n }\n }\n },\n 'role-none': {\n impact: 'minor',\n messages: {\n pass: 'Element\\'s default semantics were overriden with role=\"none\"',\n fail: 'Element\\'s default semantics were not overridden with role=\"none\"'\n }\n },\n 'role-presentation': {\n impact: 'minor',\n messages: {\n pass: 'Element\\'s default semantics were overriden with role=\"presentation\"',\n fail: 'Element\\'s default semantics were not overridden with role=\"presentation\"'\n }\n },\n 'svg-non-empty-title': {\n impact: 'serious',\n messages: {\n pass: 'Element has a child that is a title',\n fail: {\n noTitle: 'Element has no child that is a title',\n emptyTitle: 'Element child title is empty'\n },\n incomplete: 'Unable to determine element has a child that is a title'\n }\n },\n 'caption-faked': {\n impact: 'serious',\n messages: {\n pass: 'The first row of a table is not used as a caption',\n fail: 'The first child of the table should be a caption instead of a table cell'\n }\n },\n 'html5-scope': {\n impact: 'moderate',\n messages: {\n pass: 'Scope attribute is only used on table header elements (<th>)',\n fail: 'In HTML 5, scope attributes may only be used on table header elements (<th>)'\n }\n },\n 'same-caption-summary': {\n impact: 'minor',\n messages: {\n pass: 'Content of summary attribute and <caption> are not duplicated',\n fail: 'Content of summary attribute and <caption> element are identical',\n incomplete: 'Unable to determine if <table> element has a caption'\n }\n },\n 'scope-value': {\n impact: 'critical',\n messages: {\n pass: 'Scope attribute is used correctly',\n fail: 'The value of the scope attribute may only be \\'row\\' or \\'col\\''\n }\n },\n 'td-has-header': {\n impact: 'critical',\n messages: {\n pass: 'All non-empty data cells have table headers',\n fail: 'Some non-empty data cells do not have table headers'\n }\n },\n 'td-headers-attr': {\n impact: 'serious',\n messages: {\n pass: 'The headers attribute is exclusively used to refer to other cells in the table',\n incomplete: 'The headers attribute is empty',\n fail: 'The headers attribute is not exclusively used to refer to other cells in the table'\n }\n },\n 'th-has-data-cells': {\n impact: 'serious',\n messages: {\n pass: 'All table header cells refer to data cells',\n fail: 'Not all table header cells refer to data cells',\n incomplete: 'Table data cells are missing or empty'\n }\n },\n 'hidden-content': {\n impact: 'minor',\n messages: {\n pass: 'All content on the page has been analyzed.',\n fail: 'There were problems analyzing the content on this page.',\n incomplete: 'There is hidden content on the page that was not analyzed. You will need to trigger the display of this content in order to analyze it.'\n }\n }\n },\n failureSummaries: {\n any: {\n failureMessage: function anonymous(it) {\n var out = 'Fix any of the following:';\n var arr1 = it;\n if (arr1) {\n var value, i1 = -1, l1 = arr1.length - 1;\n while (i1 < l1) {\n value = arr1[i1 += 1];\n out += '\\n ' + value.split('\\n').join('\\n ');\n }\n }\n return out;\n }\n },\n none: {\n failureMessage: function anonymous(it) {\n var out = 'Fix all of the following:';\n var arr1 = it;\n if (arr1) {\n var value, i1 = -1, l1 = arr1.length - 1;\n while (i1 < l1) {\n value = arr1[i1 += 1];\n out += '\\n ' + value.split('\\n').join('\\n ');\n }\n }\n return out;\n }\n }\n },\n incompleteFallbackMessage: 'axe couldn\\'t tell the reason. Time to break out the element inspector!'\n },\n rules: [ {\n id: 'accesskeys',\n impact: 'serious',\n selector: '[accesskey]',\n excludeHidden: false,\n tags: [ 'cat.keyboard', 'best-practice' ],\n all: [],\n any: [],\n none: [ 'accesskeys' ]\n }, {\n id: 'area-alt',\n impact: 'critical',\n selector: 'map area[href]',\n excludeHidden: false,\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag244', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.2.4.4', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ 'c487ae' ],\n all: [],\n any: [ {\n options: {\n attribute: 'alt'\n },\n id: 'non-empty-alt'\n }, 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'aria-allowed-attr',\n impact: 'critical',\n matches: 'aria-allowed-attr-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '5c01ea' ],\n all: [ {\n options: {\n validTreeRowAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-level' ]\n },\n id: 'aria-allowed-attr'\n } ],\n any: [],\n none: [ 'aria-unsupported-attr' ]\n }, {\n id: 'aria-allowed-role',\n impact: 'minor',\n excludeHidden: false,\n selector: '[role]',\n matches: 'aria-allowed-role-matches',\n tags: [ 'cat.aria', 'best-practice' ],\n all: [],\n any: [ {\n options: {\n allowImplicit: true,\n ignoredTags: []\n },\n id: 'aria-allowed-role'\n } ],\n none: []\n }, {\n id: 'aria-braille-equivalent',\n reviewOnFail: true,\n impact: 'serious',\n selector: '[aria-brailleroledescription], [aria-braillelabel]',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n all: [ 'braille-roledescription-equivalent', 'braille-label-equivalent' ],\n any: [],\n none: []\n }, {\n id: 'aria-command-name',\n impact: 'serious',\n selector: '[role=\"link\"], [role=\"button\"], [role=\"menuitem\"]',\n matches: 'no-naming-method-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ '97a4e1' ],\n all: [],\n any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'aria-conditional-attr',\n impact: 'serious',\n matches: 'aria-allowed-attr-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '5c01ea' ],\n all: [ {\n options: {\n invalidTableRowAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-level' ]\n },\n id: 'aria-conditional-attr'\n } ],\n any: [],\n none: []\n }, {\n id: 'aria-deprecated-role',\n impact: 'minor',\n selector: '[role]',\n matches: 'no-empty-role-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '674b10' ],\n all: [],\n any: [],\n none: [ 'deprecatedrole' ]\n }, {\n id: 'aria-dialog-name',\n impact: 'serious',\n selector: '[role=\"dialog\"], [role=\"alertdialog\"]',\n matches: 'no-naming-method-matches',\n tags: [ 'cat.aria', 'best-practice' ],\n all: [],\n any: [ 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'aria-hidden-body',\n impact: 'critical',\n selector: 'body',\n excludeHidden: false,\n matches: 'is-initiator-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag131', 'wcag412', 'EN-301-549', 'EN-9.1.3.1', 'EN-9.4.1.2' ],\n all: [],\n any: [ 'aria-hidden-body' ],\n none: []\n }, {\n id: 'aria-hidden-focus',\n impact: 'serious',\n selector: '[aria-hidden=\"true\"]',\n matches: 'aria-hidden-focus-matches',\n excludeHidden: false,\n tags: [ 'cat.name-role-value', 'wcag2a', 'wcag412', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '6cfa84' ],\n all: [ 'focusable-modal-open', 'focusable-disabled', 'focusable-not-tabbable' ],\n any: [],\n none: []\n }, {\n id: 'aria-input-field-name',\n impact: 'serious',\n selector: '[role=\"combobox\"], [role=\"listbox\"], [role=\"searchbox\"], [role=\"slider\"], [role=\"spinbutton\"], [role=\"textbox\"]',\n matches: 'no-naming-method-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ 'e086e5' ],\n all: [],\n any: [ 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: [ 'no-implicit-explicit-label' ]\n }, {\n id: 'aria-meter-name',\n impact: 'serious',\n selector: '[role=\"meter\"]',\n matches: 'no-naming-method-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag111', 'EN-301-549', 'EN-9.1.1.1' ],\n all: [],\n any: [ 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'aria-progressbar-name',\n impact: 'serious',\n selector: '[role=\"progressbar\"]',\n matches: 'no-naming-method-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag111', 'EN-301-549', 'EN-9.1.1.1' ],\n all: [],\n any: [ 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'aria-prohibited-attr',\n impact: 'serious',\n matches: 'aria-allowed-attr-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '5c01ea' ],\n all: [],\n any: [],\n none: [ {\n options: {\n elementsAllowedAriaLabel: [ 'applet', 'input' ]\n },\n id: 'aria-prohibited-attr'\n } ]\n }, {\n id: 'aria-required-attr',\n impact: 'critical',\n selector: '[role]',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '4e8ab6' ],\n all: [],\n any: [ 'aria-required-attr' ],\n none: []\n }, {\n id: 'aria-required-children',\n impact: 'critical',\n selector: '[role]',\n matches: 'aria-required-children-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1' ],\n actIds: [ 'bc4a75', 'ff89c9' ],\n all: [],\n any: [ {\n options: {\n reviewEmpty: [ 'doc-bibliography', 'doc-endnotes', 'grid', 'list', 'listbox', 'menu', 'menubar', 'table', 'tablist', 'tree', 'treegrid', 'rowgroup' ]\n },\n id: 'aria-required-children'\n } ],\n none: []\n }, {\n id: 'aria-required-parent',\n impact: 'critical',\n selector: '[role]',\n matches: 'aria-required-parent-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1' ],\n actIds: [ 'ff89c9' ],\n all: [],\n any: [ {\n options: {\n ownGroupRoles: [ 'listitem', 'treeitem' ]\n },\n id: 'aria-required-parent'\n } ],\n none: []\n }, {\n id: 'aria-roledescription',\n impact: 'serious',\n selector: '[aria-roledescription]',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2', 'deprecated' ],\n enabled: false,\n all: [],\n any: [ {\n options: {\n supportedRoles: [ 'button', 'img', 'checkbox', 'radio', 'combobox', 'menuitemcheckbox', 'menuitemradio' ]\n },\n id: 'aria-roledescription'\n } ],\n none: []\n }, {\n id: 'aria-roles',\n impact: 'critical',\n selector: '[role]',\n matches: 'no-empty-role-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '674b10' ],\n all: [],\n any: [],\n none: [ 'invalidrole', 'abstractrole', 'unsupportedrole' ]\n }, {\n id: 'aria-text',\n impact: 'serious',\n selector: '[role=text]',\n tags: [ 'cat.aria', 'best-practice' ],\n all: [],\n any: [ 'no-focusable-content' ],\n none: []\n }, {\n id: 'aria-toggle-field-name',\n impact: 'serious',\n selector: '[role=\"checkbox\"], [role=\"menuitemcheckbox\"], [role=\"menuitemradio\"], [role=\"radio\"], [role=\"switch\"], [role=\"option\"]',\n matches: 'no-naming-method-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ 'e086e5' ],\n all: [],\n any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: [ 'no-implicit-explicit-label' ]\n }, {\n id: 'aria-tooltip-name',\n impact: 'serious',\n selector: '[role=\"tooltip\"]',\n matches: 'no-naming-method-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n all: [],\n any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'aria-treeitem-name',\n impact: 'serious',\n selector: '[role=\"treeitem\"]',\n matches: 'no-naming-method-matches',\n tags: [ 'cat.aria', 'best-practice' ],\n all: [],\n any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'aria-valid-attr-value',\n impact: 'critical',\n matches: 'aria-has-attr-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '6a7281' ],\n all: [ {\n options: [],\n id: 'aria-valid-attr-value'\n }, 'aria-errormessage', 'aria-level' ],\n any: [],\n none: []\n }, {\n id: 'aria-valid-attr',\n impact: 'critical',\n matches: 'aria-has-attr-matches',\n tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '5f99a7' ],\n all: [],\n any: [ {\n options: [],\n id: 'aria-valid-attr'\n } ],\n none: []\n }, {\n id: 'audio-caption',\n impact: 'critical',\n selector: 'audio',\n enabled: false,\n excludeHidden: false,\n tags: [ 'cat.time-and-media', 'wcag2a', 'wcag121', 'EN-301-549', 'EN-9.1.2.1', 'section508', 'section508.22.a', 'deprecated' ],\n actIds: [ '2eb176', 'afb423' ],\n all: [],\n any: [],\n none: [ 'caption' ]\n }, {\n id: 'autocomplete-valid',\n impact: 'serious',\n matches: 'autocomplete-matches',\n tags: [ 'cat.forms', 'wcag21aa', 'wcag135', 'EN-301-549', 'EN-9.1.3.5', 'ACT' ],\n actIds: [ '73f2c2' ],\n all: [ {\n options: {\n stateTerms: [ 'none', 'false', 'true', 'disabled', 'enabled', 'undefined', 'null' ]\n },\n id: 'autocomplete-valid'\n } ],\n any: [],\n none: []\n }, {\n id: 'avoid-inline-spacing',\n impact: 'serious',\n selector: '[style]',\n matches: 'is-visible-on-screen-matches',\n tags: [ 'cat.structure', 'wcag21aa', 'wcag1412', 'EN-301-549', 'EN-9.1.4.12', 'ACT' ],\n actIds: [ '24afc2', '9e45ec', '78fd32' ],\n all: [ {\n options: {\n cssProperty: 'letter-spacing',\n minValue: .12\n },\n id: 'important-letter-spacing'\n }, {\n options: {\n cssProperty: 'word-spacing',\n minValue: .16\n },\n id: 'important-word-spacing'\n }, {\n options: {\n multiLineOnly: true,\n cssProperty: 'line-height',\n minValue: 1.5,\n normalValue: 1\n },\n id: 'important-line-height'\n } ],\n any: [],\n none: []\n }, {\n id: 'blink',\n impact: 'serious',\n selector: 'blink',\n excludeHidden: false,\n tags: [ 'cat.time-and-media', 'wcag2a', 'wcag222', 'section508', 'section508.22.j', 'TTv5', 'TT2.b', 'EN-301-549', 'EN-9.2.2.2' ],\n all: [],\n any: [],\n none: [ 'is-on-screen' ]\n }, {\n id: 'button-name',\n impact: 'critical',\n selector: 'button',\n matches: 'no-explicit-name-required-matches',\n tags: [ 'cat.name-role-value', 'wcag2a', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ '97a4e1', 'm6b1q3' ],\n all: [],\n any: [ 'button-has-visible-text', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n }, 'presentational-role' ],\n none: []\n }, {\n id: 'bypass',\n impact: 'serious',\n selector: 'html',\n pageLevel: true,\n matches: 'bypass-matches',\n reviewOnFail: true,\n tags: [ 'cat.keyboard', 'wcag2a', 'wcag241', 'section508', 'section508.22.o', 'TTv5', 'TT9.a', 'EN-301-549', 'EN-9.2.4.1' ],\n actIds: [ 'cf77f2', '047fe0', 'b40fd1', '3e12e1', 'ye5d6e' ],\n all: [],\n any: [ 'internal-link-present', {\n options: {\n selector: ':is(h1, h2, h3, h4, h5, h6):not([role]), [role=heading]'\n },\n id: 'header-present'\n }, {\n options: {\n selector: 'main, [role=main]'\n },\n id: 'landmark'\n } ],\n none: []\n }, {\n id: 'color-contrast-enhanced',\n impact: 'serious',\n matches: 'color-contrast-matches',\n excludeHidden: false,\n enabled: false,\n tags: [ 'cat.color', 'wcag2aaa', 'wcag146', 'ACT' ],\n actIds: [ '09o5cg' ],\n all: [],\n any: [ {\n options: {\n ignoreUnicode: true,\n ignoreLength: false,\n ignorePseudo: false,\n boldValue: 700,\n boldTextPt: 14,\n largeTextPt: 18,\n contrastRatio: {\n normal: {\n expected: 7,\n minThreshold: 4.5\n },\n large: {\n expected: 4.5,\n minThreshold: 3\n }\n },\n pseudoSizeThreshold: .25,\n shadowOutlineEmMax: .1,\n textStrokeEmMin: .03\n },\n id: 'color-contrast-enhanced'\n } ],\n none: []\n }, {\n id: 'color-contrast',\n impact: 'serious',\n matches: 'color-contrast-matches',\n excludeHidden: false,\n tags: [ 'cat.color', 'wcag2aa', 'wcag143', 'TTv5', 'TT13.c', 'EN-301-549', 'EN-9.1.4.3', 'ACT' ],\n actIds: [ 'afw4f7', '09o5cg' ],\n all: [],\n any: [ {\n options: {\n ignoreUnicode: true,\n ignoreLength: false,\n ignorePseudo: false,\n boldValue: 700,\n boldTextPt: 14,\n largeTextPt: 18,\n contrastRatio: {\n normal: {\n expected: 4.5\n },\n large: {\n expected: 3\n }\n },\n pseudoSizeThreshold: .25,\n shadowOutlineEmMax: .2,\n textStrokeEmMin: .03\n },\n id: 'color-contrast'\n } ],\n none: []\n }, {\n id: 'css-orientation-lock',\n impact: 'serious',\n selector: 'html',\n tags: [ 'cat.structure', 'wcag134', 'wcag21aa', 'EN-301-549', 'EN-9.1.3.4', 'experimental' ],\n actIds: [ 'b33eff' ],\n all: [ {\n options: {\n degreeThreshold: 2\n },\n id: 'css-orientation-lock'\n } ],\n any: [],\n none: [],\n preload: true\n }, {\n id: 'definition-list',\n impact: 'serious',\n selector: 'dl',\n matches: 'no-role-matches',\n tags: [ 'cat.structure', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1' ],\n all: [],\n any: [],\n none: [ 'structured-dlitems', {\n options: {\n validRoles: [ 'definition', 'term', 'listitem' ],\n validNodeNames: [ 'dt', 'dd' ],\n divGroups: true\n },\n id: 'only-dlitems'\n } ]\n }, {\n id: 'dlitem',\n impact: 'serious',\n selector: 'dd, dt',\n matches: 'no-role-matches',\n tags: [ 'cat.structure', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1' ],\n all: [],\n any: [ 'dlitem' ],\n none: []\n }, {\n id: 'document-title',\n impact: 'serious',\n selector: 'html',\n matches: 'is-initiator-matches',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag242', 'TTv5', 'TT12.a', 'EN-301-549', 'EN-9.2.4.2', 'ACT' ],\n actIds: [ '2779a5' ],\n all: [],\n any: [ 'doc-has-title' ],\n none: []\n }, {\n id: 'duplicate-id-active',\n impact: 'serious',\n selector: '[id]',\n matches: 'duplicate-id-active-matches',\n excludeHidden: false,\n tags: [ 'cat.parsing', 'wcag2a-obsolete', 'wcag411', 'deprecated' ],\n enabled: false,\n actIds: [ '3ea0c8' ],\n all: [],\n any: [ 'duplicate-id-active' ],\n none: []\n }, {\n id: 'duplicate-id-aria',\n impact: 'critical',\n selector: '[id]',\n matches: 'duplicate-id-aria-matches',\n excludeHidden: false,\n tags: [ 'cat.parsing', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],\n reviewOnFail: true,\n actIds: [ '3ea0c8' ],\n all: [],\n any: [ 'duplicate-id-aria' ],\n none: []\n }, {\n id: 'duplicate-id',\n impact: 'minor',\n selector: '[id]',\n matches: 'duplicate-id-misc-matches',\n excludeHidden: false,\n tags: [ 'cat.parsing', 'wcag2a-obsolete', 'wcag411', 'deprecated' ],\n enabled: false,\n actIds: [ '3ea0c8' ],\n all: [],\n any: [ 'duplicate-id' ],\n none: []\n }, {\n id: 'empty-heading',\n impact: 'minor',\n selector: 'h1, h2, h3, h4, h5, h6, [role=\"heading\"]',\n matches: 'heading-matches',\n tags: [ 'cat.name-role-value', 'best-practice' ],\n actIds: [ 'ffd0e9' ],\n all: [],\n any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'empty-table-header',\n impact: 'minor',\n selector: 'th:not([role]), [role=\"rowheader\"], [role=\"columnheader\"]',\n tags: [ 'cat.name-role-value', 'best-practice' ],\n all: [],\n any: [ 'has-visible-text' ],\n none: []\n }, {\n id: 'focus-order-semantics',\n impact: 'minor',\n selector: 'div, h1, h2, h3, h4, h5, h6, [role=heading], p, span',\n matches: 'inserted-into-focus-order-matches',\n tags: [ 'cat.keyboard', 'best-practice', 'experimental' ],\n all: [],\n any: [ {\n options: [],\n id: 'has-widget-role'\n }, {\n options: {\n roles: [ 'tooltip' ]\n },\n id: 'valid-scrollable-semantics'\n } ],\n none: []\n }, {\n id: 'form-field-multiple-labels',\n impact: 'moderate',\n selector: 'input, select, textarea',\n matches: 'label-matches',\n tags: [ 'cat.forms', 'wcag2a', 'wcag332', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.3.3.2' ],\n all: [],\n any: [],\n none: [ 'multiple-label' ]\n }, {\n id: 'frame-focusable-content',\n impact: 'serious',\n selector: 'html',\n matches: 'frame-focusable-content-matches',\n tags: [ 'cat.keyboard', 'wcag2a', 'wcag211', 'TTv5', 'TT4.a', 'EN-301-549', 'EN-9.2.1.1' ],\n actIds: [ 'akn7bn' ],\n all: [],\n any: [ 'frame-focusable-content' ],\n none: []\n }, {\n id: 'frame-tested',\n impact: 'critical',\n selector: 'html, frame, iframe',\n tags: [ 'cat.structure', 'best-practice', 'review-item' ],\n all: [ {\n options: {\n isViolation: false\n },\n id: 'frame-tested'\n } ],\n any: [],\n none: []\n }, {\n id: 'frame-title-unique',\n impact: 'serious',\n selector: 'frame[title], iframe[title]',\n matches: 'frame-title-has-text-matches',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag412', 'TTv5', 'TT12.d', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '4b1c6c' ],\n all: [],\n any: [],\n none: [ 'unique-frame-title' ],\n reviewOnFail: true\n }, {\n id: 'frame-title',\n impact: 'serious',\n selector: 'frame, iframe',\n matches: 'no-negative-tabindex-matches',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag412', 'section508', 'section508.22.i', 'TTv5', 'TT12.d', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ 'cae760' ],\n all: [],\n any: [ {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n }, 'aria-label', 'aria-labelledby', 'presentational-role' ],\n none: []\n }, {\n id: 'heading-order',\n impact: 'moderate',\n selector: 'h1, h2, h3, h4, h5, h6, [role=heading]',\n matches: 'heading-matches',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [],\n any: [ 'heading-order' ],\n none: []\n }, {\n id: 'hidden-content',\n impact: 'minor',\n selector: '*',\n excludeHidden: false,\n tags: [ 'cat.structure', 'best-practice', 'experimental', 'review-item' ],\n all: [],\n any: [ 'hidden-content' ],\n none: []\n }, {\n id: 'html-has-lang',\n impact: 'serious',\n selector: 'html',\n matches: 'is-initiator-matches',\n tags: [ 'cat.language', 'wcag2a', 'wcag311', 'TTv5', 'TT11.a', 'EN-301-549', 'EN-9.3.1.1', 'ACT' ],\n actIds: [ 'b5c3f8' ],\n all: [],\n any: [ {\n options: {\n attributes: [ 'lang', 'xml:lang' ]\n },\n id: 'has-lang'\n } ],\n none: []\n }, {\n id: 'html-lang-valid',\n impact: 'serious',\n selector: 'html[lang]:not([lang=\"\"]), html[xml\\\\:lang]:not([xml\\\\:lang=\"\"])',\n tags: [ 'cat.language', 'wcag2a', 'wcag311', 'TTv5', 'TT11.a', 'EN-301-549', 'EN-9.3.1.1', 'ACT' ],\n actIds: [ 'bf051a' ],\n all: [],\n any: [],\n none: [ {\n options: {\n attributes: [ 'lang', 'xml:lang' ]\n },\n id: 'valid-lang'\n } ]\n }, {\n id: 'html-xml-lang-mismatch',\n impact: 'moderate',\n selector: 'html[lang][xml\\\\:lang]',\n matches: 'xml-lang-mismatch-matches',\n tags: [ 'cat.language', 'wcag2a', 'wcag311', 'EN-301-549', 'EN-9.3.1.1', 'ACT' ],\n actIds: [ '5b7ae0' ],\n all: [ 'xml-lang-mismatch' ],\n any: [],\n none: []\n }, {\n id: 'identical-links-same-purpose',\n impact: 'minor',\n selector: 'a[href], area[href], [role=\"link\"]',\n excludeHidden: false,\n enabled: false,\n matches: 'identical-links-same-purpose-matches',\n tags: [ 'cat.semantics', 'wcag2aaa', 'wcag249' ],\n actIds: [ 'b20e66' ],\n all: [ 'identical-links-same-purpose' ],\n any: [],\n none: []\n }, {\n id: 'image-alt',\n impact: 'critical',\n selector: 'img',\n matches: 'no-explicit-name-required-matches',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'section508', 'section508.22.a', 'TTv5', 'TT7.a', 'TT7.b', 'EN-301-549', 'EN-9.1.1.1', 'ACT' ],\n actIds: [ '23a2a8' ],\n all: [],\n any: [ 'has-alt', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n }, 'presentational-role' ],\n none: [ 'alt-space-value' ]\n }, {\n id: 'image-redundant-alt',\n impact: 'minor',\n selector: 'img',\n tags: [ 'cat.text-alternatives', 'best-practice' ],\n all: [],\n any: [],\n none: [ {\n options: {\n parentSelector: 'button, [role=button], a[href], p, li, td, th'\n },\n id: 'duplicate-img-label'\n } ]\n }, {\n id: 'input-button-name',\n impact: 'critical',\n selector: 'input[type=\"button\"], input[type=\"submit\"], input[type=\"reset\"]',\n matches: 'no-explicit-name-required-matches',\n tags: [ 'cat.name-role-value', 'wcag2a', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ '97a4e1' ],\n all: [],\n any: [ 'non-empty-if-present', {\n options: {\n attribute: 'value'\n },\n id: 'non-empty-value'\n }, 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n }, 'presentational-role' ],\n none: []\n }, {\n id: 'input-image-alt',\n impact: 'critical',\n selector: 'input[type=\"image\"]',\n matches: 'no-explicit-name-required-matches',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT7.a', 'EN-301-549', 'EN-9.1.1.1', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ '59796f' ],\n all: [],\n any: [ {\n options: {\n attribute: 'alt'\n },\n id: 'non-empty-alt'\n }, 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'label-content-name-mismatch',\n impact: 'serious',\n matches: 'label-content-name-mismatch-matches',\n tags: [ 'cat.semantics', 'wcag21a', 'wcag253', 'EN-301-549', 'EN-9.2.5.3', 'experimental' ],\n actIds: [ '2ee8b8' ],\n all: [],\n any: [ {\n options: {\n pixelThreshold: .1,\n occurrenceThreshold: 3\n },\n id: 'label-content-name-mismatch'\n } ],\n none: []\n }, {\n id: 'label-title-only',\n impact: 'serious',\n selector: 'input, select, textarea',\n matches: 'label-matches',\n tags: [ 'cat.forms', 'best-practice' ],\n all: [],\n any: [],\n none: [ 'title-only' ]\n }, {\n id: 'label',\n impact: 'critical',\n selector: 'input, textarea',\n matches: 'label-matches',\n tags: [ 'cat.forms', 'wcag2a', 'wcag412', 'section508', 'section508.22.n', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ 'e086e5' ],\n all: [],\n any: [ 'implicit-label', 'explicit-label', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n }, {\n options: {\n attribute: 'placeholder'\n },\n id: 'non-empty-placeholder'\n }, 'presentational-role' ],\n none: [ 'hidden-explicit-label' ]\n }, {\n id: 'landmark-banner-is-top-level',\n impact: 'moderate',\n selector: 'header:not([role]), [role=banner]',\n matches: 'landmark-has-body-context-matches',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [],\n any: [ 'landmark-is-top-level' ],\n none: []\n }, {\n id: 'landmark-complementary-is-top-level',\n impact: 'moderate',\n selector: 'aside:not([role]), [role=complementary]',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [],\n any: [ 'landmark-is-top-level' ],\n none: []\n }, {\n id: 'landmark-contentinfo-is-top-level',\n impact: 'moderate',\n selector: 'footer:not([role]), [role=contentinfo]',\n matches: 'landmark-has-body-context-matches',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [],\n any: [ 'landmark-is-top-level' ],\n none: []\n }, {\n id: 'landmark-main-is-top-level',\n impact: 'moderate',\n selector: 'main:not([role]), [role=main]',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [],\n any: [ 'landmark-is-top-level' ],\n none: []\n }, {\n id: 'landmark-no-duplicate-banner',\n impact: 'moderate',\n selector: 'header:not([role]), [role=banner]',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [],\n any: [ {\n options: {\n selector: 'header:not([role]), [role=banner]',\n role: 'banner'\n },\n id: 'page-no-duplicate-banner'\n } ],\n none: []\n }, {\n id: 'landmark-no-duplicate-contentinfo',\n impact: 'moderate',\n selector: 'footer:not([role]), [role=contentinfo]',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [],\n any: [ {\n options: {\n selector: 'footer:not([role]), [role=contentinfo]',\n role: 'contentinfo'\n },\n id: 'page-no-duplicate-contentinfo'\n } ],\n none: []\n }, {\n id: 'landmark-no-duplicate-main',\n impact: 'moderate',\n selector: 'main:not([role]), [role=main]',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [],\n any: [ {\n options: {\n selector: 'main:not([role]), [role=\\'main\\']'\n },\n id: 'page-no-duplicate-main'\n } ],\n none: []\n }, {\n id: 'landmark-one-main',\n impact: 'moderate',\n selector: 'html',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [ {\n options: {\n selector: 'main:not([role]), [role=\\'main\\']',\n passForModal: true\n },\n id: 'page-has-main'\n } ],\n any: [],\n none: []\n }, {\n id: 'landmark-unique',\n impact: 'moderate',\n selector: '[role=banner], [role=complementary], [role=contentinfo], [role=main], [role=navigation], [role=region], [role=search], [role=form], form, footer, header, aside, main, nav, section',\n tags: [ 'cat.semantics', 'best-practice' ],\n matches: 'landmark-unique-matches',\n all: [],\n any: [ 'landmark-is-unique' ],\n none: []\n }, {\n id: 'link-in-text-block',\n impact: 'serious',\n selector: 'a[href], [role=link]',\n matches: 'link-in-text-block-matches',\n excludeHidden: false,\n tags: [ 'cat.color', 'wcag2a', 'wcag141', 'TTv5', 'TT13.a', 'EN-301-549', 'EN-9.1.4.1' ],\n all: [],\n any: [ {\n options: {\n requiredContrastRatio: 3,\n allowSameColor: true\n },\n id: 'link-in-text-block'\n }, 'link-in-text-block-style' ],\n none: []\n }, {\n id: 'link-name',\n impact: 'serious',\n selector: 'a[href]',\n tags: [ 'cat.name-role-value', 'wcag2a', 'wcag244', 'wcag412', 'section508', 'section508.22.a', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.2.4.4', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ 'c487ae' ],\n all: [],\n any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: [ 'focusable-no-name' ]\n }, {\n id: 'list',\n impact: 'serious',\n selector: 'ul, ol',\n matches: 'no-role-matches',\n tags: [ 'cat.structure', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1' ],\n all: [],\n any: [],\n none: [ {\n options: {\n validRoles: [ 'listitem' ],\n validNodeNames: [ 'li' ]\n },\n id: 'only-listitems'\n } ]\n }, {\n id: 'listitem',\n impact: 'serious',\n selector: 'li',\n matches: 'no-role-matches',\n tags: [ 'cat.structure', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1' ],\n all: [],\n any: [ 'listitem' ],\n none: []\n }, {\n id: 'marquee',\n impact: 'serious',\n selector: 'marquee',\n excludeHidden: false,\n tags: [ 'cat.parsing', 'wcag2a', 'wcag222', 'TTv5', 'TT2.b', 'EN-301-549', 'EN-9.2.2.2' ],\n all: [],\n any: [],\n none: [ 'is-on-screen' ]\n }, {\n id: 'meta-refresh-no-exceptions',\n impact: 'minor',\n selector: 'meta[http-equiv=\"refresh\"][content]',\n excludeHidden: false,\n enabled: false,\n tags: [ 'cat.time-and-media', 'wcag2aaa', 'wcag224', 'wcag325' ],\n actIds: [ 'bisz58' ],\n all: [],\n any: [ {\n options: {\n minDelay: 72e3,\n maxDelay: false\n },\n id: 'meta-refresh-no-exceptions'\n } ],\n none: []\n }, {\n id: 'meta-refresh',\n impact: 'critical',\n selector: 'meta[http-equiv=\"refresh\"][content]',\n excludeHidden: false,\n tags: [ 'cat.time-and-media', 'wcag2a', 'wcag221', 'TTv5', 'TT8.a', 'EN-301-549', 'EN-9.2.2.1' ],\n actIds: [ 'bc659a', 'bisz58' ],\n all: [],\n any: [ {\n options: {\n minDelay: 0,\n maxDelay: 72e3\n },\n id: 'meta-refresh'\n } ],\n none: []\n }, {\n id: 'meta-viewport-large',\n impact: 'minor',\n selector: 'meta[name=\"viewport\"]',\n matches: 'is-initiator-matches',\n excludeHidden: false,\n tags: [ 'cat.sensory-and-visual-cues', 'best-practice' ],\n all: [],\n any: [ {\n options: {\n scaleMinimum: 5,\n lowerBound: 2\n },\n id: 'meta-viewport-large'\n } ],\n none: []\n }, {\n id: 'meta-viewport',\n impact: 'critical',\n selector: 'meta[name=\"viewport\"]',\n matches: 'is-initiator-matches',\n excludeHidden: false,\n tags: [ 'cat.sensory-and-visual-cues', 'wcag2aa', 'wcag144', 'EN-301-549', 'EN-9.1.4.4', 'ACT' ],\n actIds: [ 'b4f0c3' ],\n all: [],\n any: [ {\n options: {\n scaleMinimum: 2\n },\n id: 'meta-viewport'\n } ],\n none: []\n }, {\n id: 'nested-interactive',\n impact: 'serious',\n matches: 'nested-interactive-matches',\n tags: [ 'cat.keyboard', 'wcag2a', 'wcag412', 'TTv5', 'TT6.a', 'EN-301-549', 'EN-9.4.1.2' ],\n actIds: [ '307n5z' ],\n all: [],\n any: [ 'no-focusable-content' ],\n none: []\n }, {\n id: 'no-autoplay-audio',\n impact: 'moderate',\n excludeHidden: false,\n selector: 'audio[autoplay], video[autoplay]',\n matches: 'no-autoplay-audio-matches',\n reviewOnFail: true,\n tags: [ 'cat.time-and-media', 'wcag2a', 'wcag142', 'TTv5', 'TT2.a', 'EN-301-549', 'EN-9.1.4.2', 'ACT' ],\n actIds: [ '80f0bf' ],\n preload: true,\n all: [ {\n options: {\n allowedDuration: 3\n },\n id: 'no-autoplay-audio'\n } ],\n any: [],\n none: []\n }, {\n id: 'object-alt',\n impact: 'serious',\n selector: 'object[data]',\n matches: 'object-is-loaded-matches',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'section508', 'section508.22.a', 'EN-301-549', 'EN-9.1.1.1' ],\n actIds: [ '8fc3b6' ],\n all: [],\n any: [ 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n }, 'presentational-role' ],\n none: []\n }, {\n id: 'p-as-heading',\n impact: 'serious',\n selector: 'p',\n matches: 'p-as-heading-matches',\n tags: [ 'cat.semantics', 'wcag2a', 'wcag131', 'EN-301-549', 'EN-9.1.3.1', 'experimental' ],\n all: [ {\n options: {\n margins: [ {\n weight: 150,\n italic: true\n }, {\n weight: 150,\n size: 1.15\n }, {\n italic: true,\n size: 1.15\n }, {\n size: 1.4\n } ],\n passLength: 1,\n failLength: .5\n },\n id: 'p-as-heading'\n } ],\n any: [],\n none: []\n }, {\n id: 'page-has-heading-one',\n impact: 'moderate',\n selector: 'html',\n tags: [ 'cat.semantics', 'best-practice' ],\n all: [ {\n options: {\n selector: 'h1:not([role], [aria-level]), :is(h1, h2, h3, h4, h5, h6):not([role])[aria-level=1], [role=heading][aria-level=1]',\n passForModal: true\n },\n id: 'page-has-heading-one'\n } ],\n any: [],\n none: []\n }, {\n id: 'presentation-role-conflict',\n impact: 'minor',\n selector: 'img[alt=\\'\\'], [role=\"none\"], [role=\"presentation\"]',\n matches: 'has-implicit-chromium-role-matches',\n tags: [ 'cat.aria', 'best-practice', 'ACT' ],\n actIds: [ '46ca7f' ],\n all: [],\n any: [],\n none: [ 'is-element-focusable', 'has-global-aria-attribute' ]\n }, {\n id: 'region',\n impact: 'moderate',\n selector: 'body *',\n tags: [ 'cat.keyboard', 'best-practice' ],\n all: [],\n any: [ {\n options: {\n regionMatcher: 'dialog, [role=dialog], [role=alertdialog], svg'\n },\n id: 'region'\n } ],\n none: []\n }, {\n id: 'role-img-alt',\n impact: 'serious',\n selector: '[role=\\'img\\']:not(img, area, input, object)',\n matches: 'html-namespace-matches',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'section508', 'section508.22.a', 'TTv5', 'TT7.a', 'EN-301-549', 'EN-9.1.1.1', 'ACT' ],\n actIds: [ '23a2a8' ],\n all: [],\n any: [ 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'scope-attr-valid',\n impact: 'moderate',\n selector: 'td[scope], th[scope]',\n tags: [ 'cat.tables', 'best-practice' ],\n all: [ 'html5-scope', {\n options: {\n values: [ 'row', 'col', 'rowgroup', 'colgroup' ]\n },\n id: 'scope-value'\n } ],\n any: [],\n none: []\n }, {\n id: 'scrollable-region-focusable',\n impact: 'serious',\n selector: '*:not(select,textarea)',\n matches: 'scrollable-region-focusable-matches',\n tags: [ 'cat.keyboard', 'wcag2a', 'wcag211', 'wcag213', 'TTv5', 'TT4.a', 'EN-301-549', 'EN-9.2.1.1', 'EN-9.2.1.3' ],\n actIds: [ '0ssw9k' ],\n all: [],\n any: [ 'focusable-content', 'focusable-element' ],\n none: []\n }, {\n id: 'select-name',\n impact: 'critical',\n selector: 'select',\n tags: [ 'cat.forms', 'wcag2a', 'wcag412', 'section508', 'section508.22.n', 'TTv5', 'TT5.c', 'EN-301-549', 'EN-9.4.1.2', 'ACT' ],\n actIds: [ 'e086e5' ],\n all: [],\n any: [ 'implicit-label', 'explicit-label', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n }, 'presentational-role' ],\n none: [ 'hidden-explicit-label' ]\n }, {\n id: 'server-side-image-map',\n impact: 'minor',\n selector: 'img[ismap]',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag211', 'section508', 'section508.22.f', 'TTv5', 'TT4.a', 'EN-301-549', 'EN-9.2.1.1' ],\n all: [],\n any: [],\n none: [ 'exists' ]\n }, {\n id: 'skip-link',\n impact: 'moderate',\n selector: 'a[href^=\"#\"], a[href^=\"/#\"]',\n matches: 'skip-link-matches',\n tags: [ 'cat.keyboard', 'best-practice' ],\n all: [],\n any: [ 'skip-link' ],\n none: []\n }, {\n id: 'svg-img-alt',\n impact: 'serious',\n selector: '[role=\"img\"], [role=\"graphics-symbol\"], svg[role=\"graphics-document\"]',\n matches: 'svg-namespace-matches',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'section508', 'section508.22.a', 'TTv5', 'TT7.a', 'EN-301-549', 'EN-9.1.1.1', 'ACT' ],\n actIds: [ '7d6734' ],\n all: [],\n any: [ 'svg-non-empty-title', 'aria-label', 'aria-labelledby', {\n options: {\n attribute: 'title'\n },\n id: 'non-empty-title'\n } ],\n none: []\n }, {\n id: 'tabindex',\n impact: 'serious',\n selector: '[tabindex]',\n tags: [ 'cat.keyboard', 'best-practice' ],\n all: [],\n any: [ 'tabindex' ],\n none: []\n }, {\n id: 'table-duplicate-name',\n impact: 'minor',\n selector: 'table',\n tags: [ 'cat.tables', 'best-practice' ],\n all: [],\n any: [],\n none: [ 'same-caption-summary' ]\n }, {\n id: 'table-fake-caption',\n impact: 'serious',\n selector: 'table',\n matches: 'data-table-matches',\n tags: [ 'cat.tables', 'experimental', 'wcag2a', 'wcag131', 'section508', 'section508.22.g', 'EN-301-549', 'EN-9.1.3.1' ],\n all: [ 'caption-faked' ],\n any: [],\n none: []\n }, {\n id: 'target-size',\n impact: 'serious',\n selector: '*',\n enabled: false,\n matches: 'widget-not-inline-matches',\n tags: [ 'cat.sensory-and-visual-cues', 'wcag22aa', 'wcag258' ],\n all: [],\n any: [ {\n options: {\n minSize: 24\n },\n id: 'target-size'\n }, {\n options: {\n minOffset: 24\n },\n id: 'target-offset'\n } ],\n none: []\n }, {\n id: 'td-has-header',\n impact: 'critical',\n selector: 'table',\n matches: 'data-table-large-matches',\n tags: [ 'cat.tables', 'experimental', 'wcag2a', 'wcag131', 'section508', 'section508.22.g', 'TTv5', 'TT14.b', 'EN-301-549', 'EN-9.1.3.1' ],\n all: [ 'td-has-header' ],\n any: [],\n none: []\n }, {\n id: 'td-headers-attr',\n impact: 'serious',\n selector: 'table',\n matches: 'table-or-grid-role-matches',\n tags: [ 'cat.tables', 'wcag2a', 'wcag131', 'section508', 'section508.22.g', 'TTv5', 'TT14.b', 'EN-301-549', 'EN-9.1.3.1' ],\n actIds: [ 'a25f45' ],\n all: [ 'td-headers-attr' ],\n any: [],\n none: []\n }, {\n id: 'th-has-data-cells',\n impact: 'serious',\n selector: 'table',\n matches: 'data-table-matches',\n tags: [ 'cat.tables', 'wcag2a', 'wcag131', 'section508', 'section508.22.g', 'TTv5', 'TT14.b', 'EN-301-549', 'EN-9.1.3.1' ],\n actIds: [ 'd0f69e' ],\n all: [ 'th-has-data-cells' ],\n any: [],\n none: []\n }, {\n id: 'valid-lang',\n impact: 'serious',\n selector: '[lang]:not(html), [xml\\\\:lang]:not(html)',\n tags: [ 'cat.language', 'wcag2aa', 'wcag312', 'TTv5', 'TT11.b', 'EN-301-549', 'EN-9.3.1.2', 'ACT' ],\n actIds: [ 'de46e4' ],\n all: [],\n any: [],\n none: [ {\n options: {\n attributes: [ 'lang', 'xml:lang' ]\n },\n id: 'valid-lang'\n } ]\n }, {\n id: 'video-caption',\n impact: 'critical',\n selector: 'video',\n tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag122', 'section508', 'section508.22.a', 'TTv5', 'TT17.a', 'EN-301-549', 'EN-9.1.2.2' ],\n actIds: [ 'eac66b' ],\n all: [],\n any: [],\n none: [ 'caption' ]\n } ],\n checks: [ {\n id: 'abstractrole',\n evaluate: 'abstractrole-evaluate'\n }, {\n id: 'aria-allowed-attr',\n evaluate: 'aria-allowed-attr-evaluate',\n options: {\n validTreeRowAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-level' ]\n }\n }, {\n id: 'aria-allowed-role',\n evaluate: 'aria-allowed-role-evaluate',\n options: {\n allowImplicit: true,\n ignoredTags: []\n }\n }, {\n id: 'aria-busy',\n evaluate: 'aria-busy-evaluate',\n deprecated: true\n }, {\n id: 'aria-conditional-attr',\n evaluate: 'aria-conditional-attr-evaluate',\n options: {\n invalidTableRowAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded', 'aria-level' ]\n }\n }, {\n id: 'aria-errormessage',\n evaluate: 'aria-errormessage-evaluate'\n }, {\n id: 'aria-hidden-body',\n evaluate: 'aria-hidden-body-evaluate'\n }, {\n id: 'aria-level',\n evaluate: 'aria-level-evaluate'\n }, {\n id: 'aria-prohibited-attr',\n evaluate: 'aria-prohibited-attr-evaluate',\n options: {\n elementsAllowedAriaLabel: [ 'applet', 'input' ]\n }\n }, {\n id: 'aria-required-attr',\n evaluate: 'aria-required-attr-evaluate'\n }, {\n id: 'aria-required-children',\n evaluate: 'aria-required-children-evaluate',\n options: {\n reviewEmpty: [ 'doc-bibliography', 'doc-endnotes', 'grid', 'list', 'listbox', 'menu', 'menubar', 'table', 'tablist', 'tree', 'treegrid', 'rowgroup' ]\n }\n }, {\n id: 'aria-required-parent',\n evaluate: 'aria-required-parent-evaluate',\n options: {\n ownGroupRoles: [ 'listitem', 'treeitem' ]\n }\n }, {\n id: 'aria-roledescription',\n evaluate: 'aria-roledescription-evaluate',\n options: {\n supportedRoles: [ 'button', 'img', 'checkbox', 'radio', 'combobox', 'menuitemcheckbox', 'menuitemradio' ]\n }\n }, {\n id: 'aria-unsupported-attr',\n evaluate: 'aria-unsupported-attr-evaluate'\n }, {\n id: 'aria-valid-attr-value',\n evaluate: 'aria-valid-attr-value-evaluate',\n options: []\n }, {\n id: 'aria-valid-attr',\n evaluate: 'aria-valid-attr-evaluate',\n options: []\n }, {\n id: 'braille-label-equivalent',\n evaluate: 'braille-label-equivalent-evaluate'\n }, {\n id: 'braille-roledescription-equivalent',\n evaluate: 'braille-roledescription-equivalent-evaluate'\n }, {\n id: 'deprecatedrole',\n evaluate: 'deprecatedrole-evaluate'\n }, {\n id: 'fallbackrole',\n evaluate: 'fallbackrole-evaluate'\n }, {\n id: 'has-global-aria-attribute',\n evaluate: 'has-global-aria-attribute-evaluate'\n }, {\n id: 'has-widget-role',\n evaluate: 'has-widget-role-evaluate',\n options: []\n }, {\n id: 'invalidrole',\n evaluate: 'invalidrole-evaluate'\n }, {\n id: 'is-element-focusable',\n evaluate: 'is-element-focusable-evaluate'\n }, {\n id: 'no-implicit-explicit-label',\n evaluate: 'no-implicit-explicit-label-evaluate'\n }, {\n id: 'unsupportedrole',\n evaluate: 'unsupportedrole-evaluate'\n }, {\n id: 'valid-scrollable-semantics',\n evaluate: 'valid-scrollable-semantics-evaluate',\n options: {\n roles: [ 'tooltip' ]\n }\n }, {\n id: 'color-contrast-enhanced',\n evaluate: 'color-contrast-evaluate',\n options: {\n ignoreUnicode: true,\n ignoreLength: false,\n ignorePseudo: false,\n boldValue: 700,\n boldTextPt: 14,\n largeTextPt: 18,\n contrastRatio: {\n normal: {\n expected: 7,\n minThreshold: 4.5\n },\n large: {\n expected: 4.5,\n minThreshold: 3\n }\n },\n pseudoSizeThreshold: .25,\n shadowOutlineEmMax: .1,\n textStrokeEmMin: .03\n }\n }, {\n id: 'color-contrast',\n evaluate: 'color-contrast-evaluate',\n options: {\n ignoreUnicode: true,\n ignoreLength: false,\n ignorePseudo: false,\n boldValue: 700,\n boldTextPt: 14,\n largeTextPt: 18,\n contrastRatio: {\n normal: {\n expected: 4.5\n },\n large: {\n expected: 3\n }\n },\n pseudoSizeThreshold: .25,\n shadowOutlineEmMax: .2,\n textStrokeEmMin: .03\n }\n }, {\n id: 'link-in-text-block-style',\n evaluate: 'link-in-text-block-style-evaluate'\n }, {\n id: 'link-in-text-block',\n evaluate: 'link-in-text-block-evaluate',\n options: {\n requiredContrastRatio: 3,\n allowSameColor: true\n }\n }, {\n id: 'autocomplete-appropriate',\n evaluate: 'autocomplete-appropriate-evaluate',\n deprecated: true\n }, {\n id: 'autocomplete-valid',\n evaluate: 'autocomplete-valid-evaluate',\n options: {\n stateTerms: [ 'none', 'false', 'true', 'disabled', 'enabled', 'undefined', 'null' ]\n }\n }, {\n id: 'accesskeys',\n evaluate: 'accesskeys-evaluate',\n after: 'accesskeys-after'\n }, {\n id: 'focusable-content',\n evaluate: 'focusable-content-evaluate'\n }, {\n id: 'focusable-disabled',\n evaluate: 'focusable-disabled-evaluate'\n }, {\n id: 'focusable-element',\n evaluate: 'focusable-element-evaluate'\n }, {\n id: 'focusable-modal-open',\n evaluate: 'focusable-modal-open-evaluate'\n }, {\n id: 'focusable-no-name',\n evaluate: 'focusable-no-name-evaluate'\n }, {\n id: 'focusable-not-tabbable',\n evaluate: 'focusable-not-tabbable-evaluate'\n }, {\n id: 'frame-focusable-content',\n evaluate: 'frame-focusable-content-evaluate'\n }, {\n id: 'landmark-is-top-level',\n evaluate: 'landmark-is-top-level-evaluate'\n }, {\n id: 'no-focusable-content',\n evaluate: 'no-focusable-content-evaluate'\n }, {\n id: 'page-has-heading-one',\n evaluate: 'has-descendant-evaluate',\n after: 'has-descendant-after',\n options: {\n selector: 'h1:not([role], [aria-level]), :is(h1, h2, h3, h4, h5, h6):not([role])[aria-level=1], [role=heading][aria-level=1]',\n passForModal: true\n }\n }, {\n id: 'page-has-main',\n evaluate: 'has-descendant-evaluate',\n after: 'has-descendant-after',\n options: {\n selector: 'main:not([role]), [role=\\'main\\']',\n passForModal: true\n }\n }, {\n id: 'page-no-duplicate-banner',\n evaluate: 'page-no-duplicate-evaluate',\n after: 'page-no-duplicate-after',\n options: {\n selector: 'header:not([role]), [role=banner]',\n role: 'banner'\n }\n }, {\n id: 'page-no-duplicate-contentinfo',\n evaluate: 'page-no-duplicate-evaluate',\n after: 'page-no-duplicate-after',\n options: {\n selector: 'footer:not([role]), [role=contentinfo]',\n role: 'contentinfo'\n }\n }, {\n id: 'page-no-duplicate-main',\n evaluate: 'page-no-duplicate-evaluate',\n after: 'page-no-duplicate-after',\n options: {\n selector: 'main:not([role]), [role=\\'main\\']'\n }\n }, {\n id: 'tabindex',\n evaluate: 'tabindex-evaluate'\n }, {\n id: 'alt-space-value',\n evaluate: 'alt-space-value-evaluate'\n }, {\n id: 'duplicate-img-label',\n evaluate: 'duplicate-img-label-evaluate',\n options: {\n parentSelector: 'button, [role=button], a[href], p, li, td, th'\n }\n }, {\n id: 'explicit-label',\n evaluate: 'explicit-evaluate'\n }, {\n id: 'help-same-as-label',\n evaluate: 'help-same-as-label-evaluate'\n }, {\n id: 'hidden-explicit-label',\n evaluate: 'hidden-explicit-label-evaluate'\n }, {\n id: 'implicit-label',\n evaluate: 'implicit-evaluate'\n }, {\n id: 'label-content-name-mismatch',\n evaluate: 'label-content-name-mismatch-evaluate',\n options: {\n pixelThreshold: .1,\n occurrenceThreshold: 3\n }\n }, {\n id: 'multiple-label',\n evaluate: 'multiple-label-evaluate'\n }, {\n id: 'title-only',\n evaluate: 'title-only-evaluate'\n }, {\n id: 'landmark-is-unique',\n evaluate: 'landmark-is-unique-evaluate',\n after: 'landmark-is-unique-after'\n }, {\n id: 'has-lang',\n evaluate: 'has-lang-evaluate',\n options: {\n attributes: [ 'lang', 'xml:lang' ]\n }\n }, {\n id: 'valid-lang',\n evaluate: 'valid-lang-evaluate',\n options: {\n attributes: [ 'lang', 'xml:lang' ]\n }\n }, {\n id: 'xml-lang-mismatch',\n evaluate: 'xml-lang-mismatch-evaluate'\n }, {\n id: 'dlitem',\n evaluate: 'dlitem-evaluate'\n }, {\n id: 'listitem',\n evaluate: 'listitem-evaluate'\n }, {\n id: 'only-dlitems',\n evaluate: 'invalid-children-evaluate',\n options: {\n validRoles: [ 'definition', 'term', 'listitem' ],\n validNodeNames: [ 'dt', 'dd' ],\n divGroups: true\n }\n }, {\n id: 'only-listitems',\n evaluate: 'invalid-children-evaluate',\n options: {\n validRoles: [ 'listitem' ],\n validNodeNames: [ 'li' ]\n }\n }, {\n id: 'structured-dlitems',\n evaluate: 'structured-dlitems-evaluate'\n }, {\n id: 'caption',\n evaluate: 'caption-evaluate'\n }, {\n id: 'frame-tested',\n evaluate: 'frame-tested-evaluate',\n after: 'frame-tested-after',\n options: {\n isViolation: false\n }\n }, {\n id: 'no-autoplay-audio',\n evaluate: 'no-autoplay-audio-evaluate',\n options: {\n allowedDuration: 3\n }\n }, {\n id: 'css-orientation-lock',\n evaluate: 'css-orientation-lock-evaluate',\n options: {\n degreeThreshold: 2\n }\n }, {\n id: 'meta-viewport-large',\n evaluate: 'meta-viewport-scale-evaluate',\n options: {\n scaleMinimum: 5,\n lowerBound: 2\n }\n }, {\n id: 'meta-viewport',\n evaluate: 'meta-viewport-scale-evaluate',\n options: {\n scaleMinimum: 2\n }\n }, {\n id: 'target-offset',\n evaluate: 'target-offset-evaluate',\n options: {\n minOffset: 24\n }\n }, {\n id: 'target-size',\n evaluate: 'target-size-evaluate',\n options: {\n minSize: 24\n }\n }, {\n id: 'header-present',\n evaluate: 'has-descendant-evaluate',\n after: 'has-descendant-after',\n options: {\n selector: ':is(h1, h2, h3, h4, h5, h6):not([role]), [role=heading]'\n }\n }, {\n id: 'heading-order',\n evaluate: 'heading-order-evaluate',\n after: 'heading-order-after'\n }, {\n id: 'identical-links-same-purpose',\n evaluate: 'identical-links-same-purpose-evaluate',\n after: 'identical-links-same-purpose-after'\n }, {\n id: 'internal-link-present',\n evaluate: 'internal-link-present-evaluate'\n }, {\n id: 'landmark',\n evaluate: 'has-descendant-evaluate',\n options: {\n selector: 'main, [role=main]'\n }\n }, {\n id: 'meta-refresh-no-exceptions',\n evaluate: 'meta-refresh-evaluate',\n options: {\n minDelay: 72e3,\n maxDelay: false\n }\n }, {\n id: 'meta-refresh',\n evaluate: 'meta-refresh-evaluate',\n options: {\n minDelay: 0,\n maxDelay: 72e3\n }\n }, {\n id: 'p-as-heading',\n evaluate: 'p-as-heading-evaluate',\n options: {\n margins: [ {\n weight: 150,\n italic: true\n }, {\n weight: 150,\n size: 1.15\n }, {\n italic: true,\n size: 1.15\n }, {\n size: 1.4\n } ],\n passLength: 1,\n failLength: .5\n }\n }, {\n id: 'region',\n evaluate: 'region-evaluate',\n after: 'region-after',\n options: {\n regionMatcher: 'dialog, [role=dialog], [role=alertdialog], svg'\n }\n }, {\n id: 'skip-link',\n evaluate: 'skip-link-evaluate'\n }, {\n id: 'unique-frame-title',\n evaluate: 'unique-frame-title-evaluate',\n after: 'unique-frame-title-after'\n }, {\n id: 'duplicate-id-active',\n evaluate: 'duplicate-id-evaluate',\n after: 'duplicate-id-after'\n }, {\n id: 'duplicate-id-aria',\n evaluate: 'duplicate-id-evaluate',\n after: 'duplicate-id-after'\n }, {\n id: 'duplicate-id',\n evaluate: 'duplicate-id-evaluate',\n after: 'duplicate-id-after'\n }, {\n id: 'aria-label',\n evaluate: 'aria-label-evaluate'\n }, {\n id: 'aria-labelledby',\n evaluate: 'aria-labelledby-evaluate'\n }, {\n id: 'avoid-inline-spacing',\n evaluate: 'avoid-inline-spacing-evaluate',\n options: {\n cssProperties: [ 'line-height', 'letter-spacing', 'word-spacing' ]\n }\n }, {\n id: 'button-has-visible-text',\n evaluate: 'has-text-content-evaluate'\n }, {\n id: 'doc-has-title',\n evaluate: 'doc-has-title-evaluate'\n }, {\n id: 'exists',\n evaluate: 'exists-evaluate'\n }, {\n id: 'has-alt',\n evaluate: 'has-alt-evaluate'\n }, {\n id: 'has-visible-text',\n evaluate: 'has-text-content-evaluate'\n }, {\n id: 'important-letter-spacing',\n evaluate: 'inline-style-property-evaluate',\n options: {\n cssProperty: 'letter-spacing',\n minValue: .12\n }\n }, {\n id: 'important-line-height',\n evaluate: 'inline-style-property-evaluate',\n options: {\n multiLineOnly: true,\n cssProperty: 'line-height',\n minValue: 1.5,\n normalValue: 1\n }\n }, {\n id: 'important-word-spacing',\n evaluate: 'inline-style-property-evaluate',\n options: {\n cssProperty: 'word-spacing',\n minValue: .16\n }\n }, {\n id: 'is-on-screen',\n evaluate: 'is-on-screen-evaluate'\n }, {\n id: 'non-empty-alt',\n evaluate: 'attr-non-space-content-evaluate',\n options: {\n attribute: 'alt'\n }\n }, {\n id: 'non-empty-if-present',\n evaluate: 'non-empty-if-present-evaluate'\n }, {\n id: 'non-empty-placeholder',\n evaluate: 'attr-non-space-content-evaluate',\n options: {\n attribute: 'placeholder'\n }\n }, {\n id: 'non-empty-title',\n evaluate: 'attr-non-space-content-evaluate',\n options: {\n attribute: 'title'\n }\n }, {\n id: 'non-empty-value',\n evaluate: 'attr-non-space-content-evaluate',\n options: {\n attribute: 'value'\n }\n }, {\n id: 'presentational-role',\n evaluate: 'presentational-role-evaluate'\n }, {\n id: 'role-none',\n evaluate: 'matches-definition-evaluate',\n deprecated: true,\n options: {\n matcher: {\n attributes: {\n role: 'none'\n }\n }\n }\n }, {\n id: 'role-presentation',\n evaluate: 'matches-definition-evaluate',\n deprecated: true,\n options: {\n matcher: {\n attributes: {\n role: 'presentation'\n }\n }\n }\n }, {\n id: 'svg-non-empty-title',\n evaluate: 'svg-non-empty-title-evaluate'\n }, {\n id: 'caption-faked',\n evaluate: 'caption-faked-evaluate'\n }, {\n id: 'html5-scope',\n evaluate: 'html5-scope-evaluate'\n }, {\n id: 'same-caption-summary',\n evaluate: 'same-caption-summary-evaluate'\n }, {\n id: 'scope-value',\n evaluate: 'scope-value-evaluate',\n options: {\n values: [ 'row', 'col', 'rowgroup', 'colgroup' ]\n }\n }, {\n id: 'td-has-header',\n evaluate: 'td-has-header-evaluate'\n }, {\n id: 'td-headers-attr',\n evaluate: 'td-headers-attr-evaluate'\n }, {\n id: 'th-has-data-cells',\n evaluate: 'th-has-data-cells-evaluate'\n }, {\n id: 'hidden-content',\n evaluate: 'hidden-content-evaluate'\n } ]\n });\n})(typeof window === 'object' ? window : this);"],"names":["axeFunction","window","global","document","axe","_typeof","module","SupportError","error","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","_excluded6","_excluded7","_excluded8","_excluded9","_excluded10","_excluded11","_excluded12","_excluded13","_excluded14","_excluded15","_excluded16","_excluded17","_excluded18","_excluded19","_toArray","arr","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","_defineProperty","obj","key","value","_toPropertyKey","_construct","t","e","r","_isNativeReflectConstruct","o","p","_setPrototypeOf","_callSuper","_getPrototypeOf","_possibleConstructorReturn","self","call","_assertThisInitialized","_inherits","subClass","superClass","_classPrivateFieldInitSpec","privateMap","_checkPrivateRedeclaration","_classPrivateMethodInitSpec","privateSet","privateCollection","_classPrivateFieldGet","s","a","_assertClassBrand","_classPrivateFieldSet","n","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","sourceSymbolKeys","sourceKeys","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","iter","_arrayLikeToArray","_extends","_slicedToArray","_iterableToArrayLimit","l","u","f","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","_createForOfIteratorHelper","allowArrayLike","it","F","_e","normalCompletion","didErr","err","step","_e2","minLen","len","arr2","_Class_brand","_path","_space","_r","_g","_b","_red","_green","_blue","_Class3_brand","__create","__defProp","__getProtoOf","__hasOwnProp","__getOwnPropNames","__getOwnPropDesc","__defNormalProp","__markAsModule","__commonJS","cb","mod","__export","all","name","__exportStar","desc","_iterator","_step","_loop","__toModule","__publicField","require_noop","exports","require_is_value","_undefined","val","require_normalize_options","isValue","forEach","create","process2","src","opts1","result","options","require_is_implemented","sign","require_shim","require_sign","require_to_integer","abs","floor","require_to_pos_integer","toInteger","max2","require_resolve_length","toPosInt","optsLength","fnLength","isAsync","length","require_valid_callable","fn","require_valid_value","require_iterate","callable","bind","keys","objPropertyIsEnumerable","method","defVal","list","thisArg","compareFn","index","require_for_each","require_registered_extensions","require_is_implemented2","assign","require_is_implemented3","require_shim2","object","require_keys","require_shim3","dest","require_assign","require_is_object","map","require_custom","isObject","captureStackTrace","message","err2","code","ext","require_mixin","defineProperty","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","sourceObject","symbol","require_define_length","test","arg1","arg2","generate","mixin","cache2","args","require_is","require_is2","possibleTypes","require_is3","require_is4","isPrototype","require_is5","isFunction","classRe","functionToString","require_is_implemented4","str","require_shim4","indexOf","searchString","require_contains","require_d","isPlainFunction","normalizeOpts","contains3","d2","dscr","c4","w","get2","set2","require_event_emitter","apply","defineProperties","hasOwnProperty2","on","once","off","emit","methods","descriptors","base","type2","listener","data","_once","self2","listeners","candidate","require_is_implemented5","from","require_is_implemented6","require_implementation","naiveFallback","require_global_this","require_is_implemented7","global2","validTypes","Symbol2","require_is_symbol","require_validate_symbol","isSymbol","require_generate_name","objPrototype","created","postfix","ie11BugWorkaround","require_standard_symbols","NativeSymbol","SymbolPolyfill","require_symbol_registry","validateSymbol","registry","require_polyfill","generateName","setupStandardSymbols","setupSymbolRegistry","HiddenSymbol","isNativeSafe","description","require_es6_symbol","require_is_arguments","objToString","id","require_is_function","isFunctionStringTag","require_is_string","require_shim5","iteratorSymbol","isArguments","validValue","isString2","isArray","arrayLike","mapFn","Context2","j","iterator","getIterator","require_from","require_to_array","require_resolve_resolve","toArray2","slice","resolveArgs","resolve","resolvers","require_resolve_normalize","userNormalizer","normalizer","require_configure_map","customError","defineLength","ee","resolveResolve","resolveNormalize","_on","original","conf","memLength","del","_clear","extDel","extGet","extHas","getListeners","setListeners","deleteListeners","memoized","arg","oldCache","require_plain","extensions","configure4","resolveLength","extFn","require_primitive","require_get_primitive_fixed","currentLength","require_is_implemented8","numberIsNaN","require_shim6","require_is_nan","require_e_index_of","objHasOwnProperty","searchElement","fromIndex","require_get","lastId","path","require_get_1","argsMap","require_get_fixed","require_map","targetObj","require_next_tick","ensureCallable","byObserver","Observer","node","queue2","currentQueue","callback","require_async","aFrom","objectMap","nextTick","tbi","waiting","currentCallback","currentContext","currentArgs","last2","context","origCb","cb2","args2","cb3","require_primitive_set","require_is_callable","require_validate_stringifiable","isCallable","stringifiable","require_validate_stringifiable_value","ensureValue","require_safe_to_string","require_to_short_string_representation","safeToString","reNewLine","string","_char","require_is_promise","isPromise","require_promise","primitiveSet","ensureString","toShortString","supportedModes","mode","promises","ignore","promise","isFailed","onSuccess","count","onFailure","resolvedMode","nextTickFailure","require_dispose","dispose","resultArray","require_max_timeout","require_valid_timeout","maxTimeout","require_max_age","timeout","noop3","min","maxAge","timeouts","preFetchAge","preFetchTimeouts","require_lru_queue","limit","size","oldIndex","nuIndex","require_max","toPosInteger","lruQueue","hit","require_ref_counter","require_memoizee","plain","require_utils","isIdentStart","isIdent","isHex","escapeIdentifier","chr","charCode","extraCharCode","escapeStr","replacement","require_parser_context","utils_1","parseCssSelector","pos","pseudos","attrEqualityMods","ruleNestingOperators","substitutesEnabled","getStr","quote","escapeTable","esc","hex","getIdent","skipWhitespace","parse3","res","parseSelector","selector","parseSingleSelector","rule","parseRule","currentRule","op","attr","operator","attrValue","pseudoName","pseudo","require_render","renderEntity","entity","currentEntity","parts","cn","require_lib","parser_context_1","render_1","CssSelectorParser3","CssSelectorParser4","_i","_a","pseudos_1","pseudos_2","pseudos_3","pseudos_4","operators","operators_1","operators_2","mods","mods_1","mods_2","require_es6_promise","factory","objectOrFunction","x","_isArray","vertxNext","customSchedulerFn","asap","flush","scheduleFlush","setScheduler","scheduleFn","setAsap","asapFn","browserWindow","browserGlobal","BrowserMutationObserver","isNode2","isWorker","useNextTick","useVertxTimer","useSetTimeout","useMutationObserver","iterations","observer","useMessageChannel","channel","globalSetTimeout","attemptVertx","vertx","then","onFulfillment","onRejection","parent","child","PROMISE_ID","makePromise","_state","invokeCallback","subscribe2","resolve$1","PENDING","FULFILLED","REJECTED","selfFulfillment","cannotReturnOwn","tryThen","then$$1","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","promise2","sealed","fulfill","reason","reject","handleOwnThenable","handleMaybeThenable","maybeThenable","publishRejection","publish","_subscribers","subscribers","settled","detail","hasCallback","succeeded","initializePromise","resolver","nextId","validationError","Enumerator","Enumerator2","input","entry","resolve$$1","_then","didError","Promise$1","resolve$$12","state","enumerator","entries","race","resolve2","reject2","_","reject$1","needsResolver","needsNew","Promise2","constructor","polyfill","local","P","promiseToString","require_typedarray","MAX_ARRAY_LENGTH","ECMAScript","opts","ophop","v","p2","LN2","log2","pow","round","clamp3","minimum","getOwnPropNames","defineProp","configureProperties","makeArrayAccessors","makeArrayAccessor","as_signed","bits","as_unsigned","packI8","n2","unpackI8","bytes","packU8","unpackU8","packU8Clamped","packI16","unpackI16","packU16","unpackU16","packI32","unpackI32","packU32","unpackU32","packIEEE754","ebits","fbits","bias","roundToEven","fl","unpackIEEE754","b2","unpackF64","packF64","unpackF32","packF32","ArrayBuffer","ArrayBufferView","makeConstructor","bytesPerElement","pack","unpack","_ctor","buffer","byteOffset","array","sequence","offset","byteLength","tmp","start","end","Int8Array","Uint8Array2","Uint8ClampedArray2","Int16Array","Uint16Array","Int32Array","Uint32Array3","Float32Array","Float64Array","IS_BIG_ENDIAN","u16array","u8array","DataView","makeGetter","arrayType","littleEndian","uint8Array","makeSetter","typeArray","byteArray","byteView","require_weakmap_polyfill","hasDefine","WeakMap2","genId","checkInstance","methodName","prefix","rand","require_global","check","require_fails","exec","require_function_bind_native","fails","require_function_apply","NATIVE_BIND","FunctionPrototype","require_function_uncurry_this","uncurryThisWithBind","require_classof_raw","uncurryThis","toString","stringSlice","require_function_uncurry_this_clause","classofRaw","require_document_all","documentAll","IS_HTMLDDA","require_is_callable2","$documentAll","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","NASHORN_BUG","V","require_create_property_descriptor","bitmap","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","$TypeError","require_to_indexed_object","IndexedObject","requireObjectCoercible","require_is_object2","require_path","require_get_built_in","aFunction","variable","namespace","require_object_is_prototype_of","require_engine_user_agent","require_engine_v8_version","userAgent","Deno","versions","v8","match","version","require_symbol_constructor_detection","V8_VERSION","$String","require_use_symbol_as_uid","NATIVE_SYMBOL","require_is_symbol2","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","require_try_to_string","require_a_callable","tryToString","require_get_method","aCallable","func","require_ordinary_to_primitive","pref","require_is_pure","require_define_global_property","require_shared_store","defineGlobalProperty","SHARED","store","require_shared","IS_PURE","require_to_object","require_has_own_property","toObject","require_uid","require_well_known_symbol","shared","hasOwn2","uid","WellKnownSymbolsStore","createWellKnownSymbol","require_to_primitive","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","require_to_property_key","toPrimitive","require_document_create_element","document2","EXISTS","require_ie8_dom_define","DESCRIPTORS","createElement","require_object_get_own_property_descriptor","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","O","require_is_forced","isForced","feature","detection","normalize","POLYFILL","NATIVE","require_function_bind_context","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","anObject","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","require_export","createNonEnumerableProperty","wrapConstructor","NativeConstructor","Wrapper","a2","TARGET","GLOBAL","STATIC","PROTO","nativeSource","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","require_es_object_has_own","$","require_has_own","require_has_own2","require_has_own3","require_shared_key","require_correct_prototype_getter","require_object_get_prototype_of","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","require_math_trunc","ceil","require_to_integer_or_infinity","trunc","number","require_to_absolute_index","toIntegerOrInfinity","integer","require_to_length","require_length_of_array_like","toLength","require_array_includes","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","require_hidden_keys","require_object_keys_internal","hiddenKeys","push","names","require_enum_bug_keys","require_object_keys","internalObjectKeys","enumBugKeys","require_object_to_array","objectGetPrototypeOf","objectKeys","propertyIsEnumerable","IE_BUG","TO_ENTRIES","IE_WORKAROUND","require_es_object_values","$values","require_values","require_values2","require_values3","require_to_string_tag_support","TO_STRING_TAG","require_classof","TO_STRING_TAG_SUPPORT","CORRECT_ARGUMENTS","tryGet","tag","require_to_string","require_string_multibyte","charAt","charCodeAt","CONVERT_TO_STRING","S","position","first","second","require_weak_map_basic_detection","require_internal_state","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","TypeError2","has","enforce","getterFor","TYPE","metadata","STATE","require_function_name","getDescriptor","PROPER","require_object_define_properties","Properties","require_html","require_object_create","definePropertiesModule","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument2","temp","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","activeXDocument","_NullProtoObject","require_define_built_in","require_iterators_core","getPrototypeOf","defineBuiltIn","ITERATOR","BUGGY_SAFARI_ITERATORS","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","require_object_to_string","require_set_to_string_tag","TAG","SET_METHOD","require_iterators","require_iterator_create_constructor","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","next","ENUMERABLE_NEXT","require_function_uncurry_this_accessor","require_a_possible_prototype","require_object_set_prototype_of","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","setter","proto","require_iterator_define","FunctionName","createIteratorConstructor","setPrototypeOf","IteratorsCore","PROPER_FUNCTION_NAME","CONFIGURABLE_FUNCTION_NAME","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","KEY","require_create_iter_result_object","done","require_es_string_iterator","InternalStateModule","defineIterator","createIterResultObject","STRING_ITERATOR","setInternalState","getInternalState","iterated","point","require_iterator_close","kind","innerResult","innerError","require_call_with_safe_iteration_closing","iteratorClose","require_is_array_iterator_method","ArrayPrototype","require_inspect_source","require_is_constructor","inspectSource","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","require_create_property","propertyKey","require_get_iterator_method","require_get_iterator","getIteratorMethod","usingIterator","iteratorMethod","require_array_from","callWithSafeIterationClosing","isArrayIteratorMethod","isConstructor","createProperty","$Array","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","require_check_correctness_of_iteration","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","require_es_array_from","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","require_from2","require_from3","require_from4","require_doT","doT3","doNotSkipEncoded","encodeHTMLRules","matchHTML","m3","startend","skip","resolveDefs","block","def","m4","param","rw","unescape","tmpl","cse","needhtmlencode","sid","indv","elsecase","iterate","vname","iname","definitions","constants","definition","priority","group","constants_default","log","log_default","whitespaceRegex","AbstractVirtualNode","className","classAttr","abstract_virtual_node_default","utils_exports","dq_element_default","aggregate_default","aggregate_checks_default","aggregate_node_results_default","aggregate_result_default","are_styles_set_default","assert_default","check_helper_default","_clone","closest_default","_collectResultsFromFrames","_contains","_convertSelector","css_parser_default","deep_merge_default","escape_selector_default","extend_meta_data_default","_filterHtmlAttrs","_finalizeRuleResult","find_by_default","get_all_checks_default","_getAncestry","get_base_lang_default","get_check_message_default","get_check_option_default","_getEnvironmentData","_getFlattenedTree","_getFrameContexts","get_friendly_uri_end_default","get_node_attributes_default","get_node_from_tree_default","_getPreloadConfig","get_root_node_default","_getRule","get_scroll_default","get_scroll_state_default","_getSelector","_getSelectorData","_getShadowSelector","_getStandards","get_stylesheet_factory_default","get_xpath_default","inject_style_default","is_hidden_default","is_html_element_default","_isNodeInContext","is_shadow_root_default","valid_langs_default","is_xhtml_default","_matchAncestry","_matches","_matchesExpression","element_matches_default","memoize_default","merge_results_default","_nodeLookup","node_serializer_default","node_sorter_default","parse_crossorigin_stylesheet_default","parse_sameorigin_stylesheet_default","parse_stylesheet_default","performance_timer_default","_pollyfillElementsFromPoint","_preload","preload_cssom_default","preload_media_default","process_message_default","_publishMetaData","query_selector_all_default","query_selector_all_filter_default","queue_default","_respondable","rule_should_run_default","_select","_sendCommandToFrame","set_scroll_state_default","_shadowSelect","_shadowSelectAll","_shouldPreload","to_array_default","token_list_default","unique_array_default","uuid_default","valid_input_type_default","_validLangs","aggregate","values2","initial","sorting","CANTTELL_PRIO","FAIL_PRIO","checkMap","checkTypes","anyAllNone","functor","out","aggregateChecks","nodeResOriginal","nodeResult","priorities","impacts","ruleResult","_ref","checkType","checkResult","aggregateNodeResults","nodeResults","resultList","groupName","impactGroup","impactList","failure","copyToGroup","resultObject","subResult","resultCopy","resultGroup","aggregateResult","results","areStylesSet","styles","stopAt","styl","att","assert","bool","toArray","thing","escapeSelector","codeUnit","firstCodeUnit","isMostlyNumbers","splitString","splitIndex","trimRight","uriParser","url","protocol","domain","port","query","hash","_splitString","_splitString2","_splitString3","_splitString4","_url$split","_url$split2","_splitString5","_splitString6","_splitString7","_splitString8","_splitString9","_splitString10","getFriendlyUriEnd","uri","currentDomain","_options$maxLength","maxLength","_uriParser","pathEnd","lastDotIndex","getNodeAttributes","matchesSelector","candidates","import_memoizee","memoizeImplementation","isXHTML","doc","generateSelector2","elm","stack","item","ignoredAttributes","MAXATTRIBUTELENGTH","attrCharsRegex","newlineChars","escapeAttribute","getAttributeNameValue","at","atnv","friendly","countSort","filterAttributes","domTree","currentLevel","_loop2","cl","ind","uncommonClasses","selectorData","retVal","classData","tagData","getNthChildString","siblings","hasMatchingSiblings","sibling","nthChild","getElmId","getBaseSelector","xhtml","uncommonAttributes","attData","getThreeLeastCommonFeatures","features","clss","atts","feat","generateSelector","_options$toRoot","toRoot","similar","generateAncestry","nodeName2","getXPathArray","element","xpathToString","xpathArray","getXpath","_cache","cache","validateKey","creator","validateCreator","cache_default","getNodeFromTree","vNode","CACHE_KEY","truncate","getSource","DqElement","_this$spec$selector","_this$_virtualNode","spec","_cache_default$get","_this$spec$source","frame","parentFrame","_ref2","elementRef","absolutePaths","checkHelper","_data","nodes","dqElm","cloneRecused","seen","_window","_window2","out2","import_css_selector_parser","parser","expressions","expression","matchesTag","exp","matchesClasses","matchesAttributes","nodeAtt","matchesId","matchesPseudos","matchExpression","escapeRegExp","to2","reUnescape","convertAttributes","attributeKey","attributeValue","regexp","convertClasses","classes","convertPseudos","convertExpressions","newExp","optimizedMatchesExpression","matchAnyParent","machedExpression","closest","noop","funcGuard","queue","tasks","started","remaining","completeQueue","complete","defaultFail","failed","createResolve","abort","msg","pop","task","q","defer","uuid","_rng","_crypto","_rnds8","_rnds","BufferClass","_byteToHex","_hexToByte","parse","buf","ii","oct","unparse","bth","_seedBytes","_nodeId","_clockseq","_lastMSecs","_lastNSecs","v1","clockseq","msecs","nsecs","dt","tl","tmh","v4","rnds","errorTypes","stringifyMessage","_ref3","topic","channelId","messageId","keepalive","getSource2","parseMessage","dataString","isRespondableMessage","_data2","buildErrorObject","postedMessage","errorName","ErrConstructor","application","assertIsParentWindow","win","assetNotGlobalWindow","assertIsFrameWindow","channels","storeReplyHandler","replyHandler","sendToParent","getReplyHandler","deleteReplyHandler","messageIds","createMessageId","uuid2","isNewMessage","postMessage","allowedOrigins","origin","processError","createResponder","originIsAllowed","messageHandler","_ref4","topicHandler","responder","callReplyHandler","_ref5","frameMessenger","handler","messageEvent","setDefaultFrameMessenger","respondable2","closeHandler","postMessage2","topicHandlers","messageListener","_ref6","open","post","close","parameters","_parameters$options$p","_parameters$options","pingWaitTime","callAxeStart","_parameters$options$f","_parameters$options2","frameWaitTime","customSerializer","nodeSerializer","serializer","runOptions","_customSerializer","cloneLimitedDqElement","nodeSpec","parentFrameSpec","_customSerializer2","rawResults","rawResult","_ref7","_i2","_arr","_ref8","relatedNodes","fromFrame2","hasAncestry","hasXpath","hasSelectors","getAllChecks","findBy","pushFrame","resultSet","frameSpec","checks","spliceNodes","firstFromFrame","_i3","resultSort","nodeIndexSort","normalizeResult","mergeResults","frameResults","mergedResult","frameResult","getFrameSpec","nodeA","nodeB","nodeIndexesA","nodeIndexesB","_i4","indexA","indexB","parentContent","command","parameter","frames","_ref9","frameElement","rej","params","otherVNode","deepMerge","_len","sources","_key","_i5","_Object$keys","extendMetaData","prop","possibleShadowRoots","isShadowRoot","dom_exports","_createGrid","find_elms_in_context_default","_findNearbyElms","find_up_default","find_up_virtual_default","focus_disabled_default","get_composed_parent_default","get_element_by_reference_default","get_element_coordinates_default","get_element_stack_default","get_modal_dialog_default","get_overflow_hidden_ancestors_default","get_root_node_default2","get_scroll_offset_default","get_tabbable_elements_default","get_target_rects_default","get_target_size_default","get_text_element_stack_default","get_viewport_size_default","get_visible_child_text_rects_default","has_content_default","has_content_virtual_default","_hasLangText","idrefs_default","inserted_into_focus_order_default","_isCurrentPageLink","_isFocusable","is_html5_default","_isHiddenForEveryone","is_hidden_with_css_default","_isInTabOrder","is_in_text_block_default","_isInert","is_modal_open_default","_isMultiline","is_natively_focusable_default","is_node_default","is_offscreen_default","is_opaque_default","_isSkipLink","is_visible_default","_isVisibleOnScreen","_isVisibleToScreenReaders","is_visual_content_default","reduce_to_elements_below_floating_default","shadow_elements_from_point_default","url_props_from_attribute_default","_visuallyContains","visually_overlaps_default","_visuallySort","getRootNode","findElmsInContext","_ref10","_ref10$elm","root","escapedValue","findUpVirtual","findUp","_rectsOverlap","rect1","rect2","getOverflowHiddenAncestors","ancestors","overflow","clipRegex","clipPathRegex","nativelyHidden","displayHidden","visibilityHidden","_ref11","isAncestor","contentVisibiltyHidden","_ref12","ariaHidden","opacityHidden","scrollHidden","scroll","elHeight","elWidth","overflowHidden","_ref13","rect","hasPositionedAncestorBetween","nodeRect","clipHidden","matchesClip","matchesClipPath","areaHidden","visibleFunction","mapEl","mapElName","mapElRootNode","refs","ref","detailsHidden","_vNode$parent","firstSummary","ancestor","hiddenMethods","_ref14","skipAncestors","_ref14$isAncestor","isHiddenSelf","isHiddenAncestors","getComposedParent","parentNode","getScrollOffset","docElement","body","getElementCoordinates","scrollOffset","xOffset","yOffset","coords","getViewportSize","noParentScrolled","isOffscreen","_ref15","_nodeLookup2","domNode","leftBoundary","dir","hiddenMethods2","isVisibleOnScreenVirtual","_getBoundingRect","rectA","rectB","top","right","bottom","left","_isPointInRect","_ref16","_ref17","y","math_exports","_getIntersectionRect","_getOffset","_getRectCenter","_hasVisualOverlap","_rectHasMinimumSize","_splitRects","leftX","rightX","topY","bottomY","_ref18","width","height","roundingMargin","minSize","_ref19","vTarget","vNeighbor","minRadiusNeighbour","targetRects","neighborRects","targetBoundingBox","targetCenter","minDistance","_iterator2","_step2","closestPoint","getClosestPoint","distance2","pointDistance","neighborTargetSize","neighborBoundingBox","neighborCenter","centerDistance","pointA","pointB","vNodeA","vNodeB","outerRect","overlapRects","uniqueRects","_iterator3","_step3","_loop3","overlapRect","rects","inputRect","splitRect","clipRect","yAligned","xAligned","between","isEnclosedRect","computeRect","num","baseRect","ROOT_LEVEL","DEFAULT_LEVEL","FLOAT_LEVEL","POSITION_LEVEL","nodeIndex","rootGrid","parentVNode","_rootGrid","virtual_node_default","createStackingContext","Grid","addNodeToGrid","subGrid","treeWalker","_vNode","createStackingOrder","scrollRegionParent","findScrollRegionParent","grid","_subGrid","isStackingContext","zIndex","transform","mixBlendMode","filter","perspective","clipPath","mask","maskImage","maskBorder","willChange","contain","isFlexOrGridContainer","display2","treeOrder","stackingOrder","_ref20","stackLevel2","stackLevel","getStackLevel","getRealZIndex","checkedNodes","virtualNode","overflowHiddenNodes","clientRect","_vNode$_grid","visibleRect","overflowNode","gridRect","gridCell","container","_ref21","_this$cells","_row","rowIndex","colIndex","row","gridPosition","_gridPosition","loopNegativeIndexMatrix","gridRow","col","_ref22","margin","matrix","_matrix$_negativeInde","_i6","startOffset","endOffset","_index","_matrix$_index","_vNode$_grid2","selfIsFixed","hasFixedPosition","neighbors","vNeighbors","_iterator4","_step4","getModalDialog","_dialogs$find","dialogs","modalDialog","dialog","_getNodeFromGrid","_ref23","getNodeFromGrid","viewRect","cols","cells","_i7","intersection","_ref24","isInertSelf","isInertAncestors","allowedDisabledNodeNames","isDisabledAttrAllowed","focusDisabled","_nodeLookup3","fieldsetDisabled","angularSkipLinkRegex","angularRouterLinkRegex","anchor","_window$location","href","hostname","pathname","currentPageUrl","getElementByReference","fragment","_i8","aNode","bNode","boundaries","boundary","_window$Node","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","docPosition","DOMOrder","isDescendant","aPosition","getPositionOrder","bPosition","isFloated","floatStyle","floated","getRectStack","recursed","center","floorX","floorY","gridCellNode","rectX","rectY","gridContainer","getElementStack","getTabbableElements","nodeAndDescendents","tabbableElements","isFocusable2","tabIndex","isNativelyFocusable","_nodeLookup4","_nodeLookup5","tabindex","_nodeLookup6","getTargetRects","overlappingVNodes","isDescendantNotInTabOrder","obscuringRects","_ref25","vAncestor","getTargetSize","getLargestRect","rectAisMinimum","rectBisMinimum","areaA","areaB","text_exports","accessible_text_default","_accessibleTextVirtual","_autocomplete","form_control_value_default","_formControlValueMethods","has_unicode_default","is_human_interpretable_default","_isIconLigature","is_valid_autocomplete_default","label_default","label_text_default","label_virtual_default2","native_element_type_default","_nativeTextAlternative","native_text_methods_default","remove_unicode_default","sanitize_default","subtree_text_default","title_text_default","unsupported_default","visible_default","visible_text_nodes_default","visible_virtual_default","idrefs","accessibleText","arialabelledbyText","_nodeLookup7","accessibleName","accessibleNameAdd","arialabelledby_text_default","_arialabelText","_nodeLookup8","ariaAttrs","aria_attrs_default","ariaRoles","aria_roles_default","dpubRoles","dpub_roles_default","graphicsRoles","graphics_roles_default","htmlElms","html_elms_default","cssColors","css_colors_default","originals","standards","configureStandards","config","propName","resetStandards","standards_default","isUnsupportedRole","role","roleDefinition","is_unsupported_role_default","isValidRole","_ref26","allowAbstract","_ref26$flagUnsupporte","flagUnsupported","isRoleUnsupported","is_valid_role_default","getExplicitRole","_ref27","fallback","abstracts","dpub","roleAttr","roleList","firstValidRole","get_explicit_role_default","getElementsByContentType","get_elements_by_content_type_default","getGlobalAriaAttrs","attrName","get_global_aria_attrs_default","toGrid","table","rows","rowLength","columnIndex","cellLength","colSpan","rowspanAttr","rowspanValue","rowSpan","to_grid_default","getCellPosition","cell","tableGrid","get_cell_position_default","_getScope","_nodeLookup9","scope","headerRow","headerCol","isColumnHeader","is_column_header_default","isRowHeader","is_row_header_default","sanitize","getSectioningElementSelector","hasAccessibleName","ariaLabelledby","ariaLabel","implicitHtmlRoles","sectioningElement","emptyAlt","hasGlobalAria","suggestionsSourceElement","listElement","implicit_html_roles_default","fromPrimative","someString","matcher","matcherType","pattern","from_primative_default","hasAccessibleName2","has_accessible_name_default","fromFunction","getValue","from_function_default","attributes","attributes_default","condition","explicitRole","explicit_role_default","implicitRole","implicit_role_default","implicit_role_default2","nodeName","node_name_default","properties","properties_default","semanticRole","get_role_default","semantic_role_default","matchers","fromDefinition","definitionItem","matcherName","matchMethod","from_definition_default","matches2","matches_default","matches_default2","getElementSpec","_ref28","_ref28$noMatchAccessi","noMatchAccessibleName","standard","variant","variantName","_variant$variantName","matches4","matchProperties","_i9","_propName","get_element_spec_default","implicitRole2","_ref29","chromium","_get_element_spec_def","chromiumRole","inheritsPresentationChain","getInheritedRole","explicitRoleOptions","parentNodeNames","parentRole","hasConflictResolution","resolveImplicitRole","_ref30","implicitRole3","presentationalRole","resolveRole","_ref31","noImplicit","roleOptions","_nodeLookup10","explicitRole2","getRole","_ref32","noPresentational","alwaysTitleElements","titleText","_nodeLookup11","namedFromContents","_ref33","strict","roleDef","named_from_contents_default","getOwnedVirtual","actualNode","children","owns","get_owned_virtual_default","isVisibleToScreenReadersVirtual","visibleVirtual","screenReader","noRecursing","_nodeLookup12","visibleMethod","visible2","_child$props","nodeType","nodeValue","nonTextInputTypes","isNativeTextbox","is_native_textbox_default","isNativeSelect","is_native_select_default","isAriaTextbox","is_aria_textbox_default","isAriaListbox","is_aria_listbox_default","isAriaCombobox","is_aria_combobox_default","rangeRoles","isAriaRange","is_aria_range_default","controlValueRoles","nativeTextboxValue","nativeSelectValue","ariaTextboxValue","ariaListboxValue","ariaComboboxValue","ariaRangeValue","formControlValue","unsupportedRoles","valueMethods","valueString","accName","_nodeLookup13","_nodeLookup14","selectedOptions","option","_nodeLookup15","_nodeLookup16","selected","owned","_nodeLookup17","listbox","_nodeLookup18","valueNow","subtreeText","alreadyProcessed2","_context","inControlContext","inLabelledByContext","_get_element_spec_def2","contentTypes","subtreeDescendant","contentText","appendAccessibleText","phrasingElements","contentTextAdd","labelText","labelContext","explicitLabels","getExplicitLabels","implicitLabel","labels","label3","text","defaultButtonValues","nativeTextMethods","_ref34","_ref35","descendantText","attrText","_ref36","nodeNames2","textMethods","findTextMethods","elmSpec","getUnicodeNonBmpRegExp","getPunctuationRegExp","getSupplementaryPrivateUseRegExp","getCategoryFormatRegExp","emoji_regex_default","hasUnicode","emoji","nonBmp","punctuations","textVNode","differenceThreshold","occurrenceThreshold","canvasContext","canvas","fonts","style","fontFamily","font","fontSize","fontStyle","firstChar","diff","compareData","pixel","compareWith","differences","expectedWidth","totalWidth","_char2","actualWidth","pixelDifference","sizeDifference","prepareContext","shouldIgnoreHidden","shouldIgnoreIconLigature","computationSteps","textNodeValue","_context$occurrenceTh","ignoreIconLigature","pixelThreshold","virtualnode","removeUnicode","isHumanInterpretable","isEmpty","isNonDigitCharacter","isSymbolicText","isUnicodeOrPunctuation","symbolicText","noUnicodeStr","isValidAutocomplete","autocompleteValue","_ref37","_ref37$looseTyped","looseTyped","_ref37$stateTerms","stateTerms","_ref37$locations","locations","_ref37$qualifiers","qualifiers","_ref37$standaloneTerm","standaloneTerms","_ref37$qualifiedTerms","qualifiedTerms","autocompleteTerms","purposeTerm","labelVirtual","label_virtual_default","visible","labelVirtual2","label","nativeElementType","visibleTextNodes","parentVisible","getVisibleChildTextRects","clientRects","textNode","contentRects","getContentRects","isOutsideNodeBounds","filterHiddenRects","range2","centerPoint","visibleRects","contentRect","getTextElementStack","visualRoles","isVisualContent","_nodeLookup19","hiddenTextElms","hasChildTextNodes","_ref38","hasContentVirtual","noRecursion","ignoreAria","hasContent","insertedIntoFocusOrder","isHiddenWithCSS","descendentVisibilityValue","_nodeLookup20","_isHiddenWithCSS","displayValue","HIDDEN_VISIBILITY_VALUES","visibilityValue","isHTML5","getRoleType","_window3","get_role_type_default","walkDomNode","blockLike","isBlock","getBlockParent","parentBlock","isInTextBlock","virtualParent","parentText","widgetText","inBrBlock","currNode","isModalOpen","modalPercent","definiteModals","viewport","percentWidth","percentHeight","points","stacks","_loop4","modalElement","_i10","_ret","lastLineEnd","lineCount","_iterator5","_step5","isNode","cacheKey","incompleteData","incomplete_data_default","elementHasImage","graphicNodes","bgImageStyle","hasBgImage","hasGradient","element_has_image_default","imports_exports","import_from2","Color","import_css_selector_parser2","import_dot","import_memoizee2","import_es6_promise","import_typedarray","import_has_own","import_values","import_from","output","nextKey","predicate","k","currentElement","fun","search","flat","depth","acc","cur","multiplyMatrices","A","B","B_cols","product","ret","_iterator6","_step6","_i11","isString","type","toPrecision","precision","integerLength","p10","parseFunction","isFunctionRegex","isNumberRegex","$0","last","interpolate","interpolateInv","mapRange","parseCoordGrammar","coordGrammars","coordGrammar2","util","Hooks","name2","env","hooks","defaults","WHITES","getWhite","adapt$1","W1","W2","XYZ","ε$4","_ColorSpace","_options$coords","_ref39","_options$white","_options$formats","_this$formats$functio","_this$formats","_this$formats2","_coords","white2","format","_getPath","_ref40","_ref40$epsilon","epsilon","coordMeta","meta","_meta$range","_this$formats$functio2","_processFormat","space","_ref41","myPath","otherPath","connectionSpace","connectionSpaceIndex","_i12","_i13","_i14","_ref42","_range2$min","_iterator7","_step7","alias","argType","_len2","alternatives","_key2","workingSpace","coordType","coord","_ref$split","_ref$split2","_ref43","normalizedCoord","_meta$name","_meta","coordFormats","_ref151","_ref152","outputType","fromRange","toRange","suffix","_coordFormats$i","_space2","ColorSpace","XYZ_D65","RGBColorSpace","_ColorSpace2","_options$referred","_this","_options$toBase","_options$fromBase","rgb","xyz","parse2","_String","alpha","_iterator8","_step8","_loop5","colorSpec","_colorSpec$ids","argCount","_ret2","didYouMean","_ColorSpace$registry$","cssId","_iterator9","_step9","_loop6","_alpha","_ref44","_coords$i","_ref45","providedType","coordName","_ret3","_iterator10","_step10","formatId","color","_color$alpha","getColor","getAll","get","_ColorSpace$resolveCo","setAll","set","_ColorSpace$resolveCo2","XYZ_D50","ε$3","ε3$1","κ$1","white$1","lab","Lab","constrain","angle","adjust","arc","angles","_angles$map","_angles$map2","a1","angleDiff","lch","_Lab","L","hue","ε2","LCH","_LCH","Lightness","Chroma","Hue","Gfactor","π$1","r2d","d2r$1","deltaE2000","sample","_ref46","_ref46$kL","kL","_ref46$kC","kC","_ref46$kH","kH","_lab$from","_lab$from2","L1","b1","C1","_lab$from3","_lab$from4","L2","C2","Cbar","C7","G","adash1","adash2","Cdash1","Cdash2","h1","h2","ΔL","ΔC","hdiff","hsum","habs","Δh","ΔH","Ldash","Cdash","Cdash7","hdash","lsq","SL","SC","T","SH","Δθ","RC","RT","dE","ε$2","inGamut","_ref47","_ref47$epsilon","clone2","toGamut","_ref48","_ref48$method","_ref48$space","spaceColor","to","clipped","mapSpace","coordId","mappedColor","bounds","low","high","clipped2","deltaE2","_bounds","_bounds$i","_ref49","inGamut2","serialize","_ref51","_color$space$getForma","_ref50","_ref50$precision","_ref50$format","_ref50$inGamut","inGamut$1","customOptions","_format$ids","strAlpha","toXYZ_M$5","fromXYZ_M$5","REC2020Linear","α","β","REC2020","RGB","toXYZ_M$4","fromXYZ_M$4","P3Linear","toXYZ_M$3","fromXYZ_M$3","sRGBLinear","KEYWORDS","coordGrammar","coordGrammarNumber","sRGB","rgba","component","_ref52","_ref52$collapse","collapse","collapsible","P3","_i15","_arr2","_display","_ref53","_ref53$space","fallbackColor","distance","color1","color2","coords1","coords2","c12","c22","equals","getLuminance","setLuminance","register$2","Color3","luminance","contrastWCAG21","Y1","Y2","_ref54","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","loClip","deltaYmin","scaleBoW","loBoWoffset","scaleWoB","fclamp","Y","linearize","contrastAPCA","background","foreground","C","Sapc","R","_foreground$coords","lumTxt","_background$coords","lumBg","Ytxt","Ybg","BoW","contrastMichelson","_ref55","denom","max","contrastWeber","_ref56","contrastLstar","ε$1","ε3","κ","white","lab_d65","phi","contrastDeltaPhi","Lstr1","Lstr2","deltaPhiStar","contrast2","contrastMethods","contrast","_o","algorithm","rest","algorithms","uv","_getAll","_getAll2","X","Z","xy","_getAll3","_getAll4","sum","register$1","chromaticity","deltaE76","π","d2r","deltaECMC","_ref57","_ref57$l","_ref57$c","_lab$from5","_lab$from6","_lch$from","_lch$from2","H1","_lab$from7","_lab$from8","Δa","Δb","H2","C4","Yw$1","XYZ_Abs_D65","AbsXYZ","b$1","g","n$1","ninv$1","c1$2","c2$2","c3$2","pinv","d","d0","XYZtoCone_M","ConetoXYZ_M","ConetoIab_M","IabtoCone_M","Jzazbz","_XYZ","Xa","Ya","Za","Xm","Ym","LMS","PQLMS","_multiplyMatrices","_multiplyMatrices2","Iz","az","bz","Jz","Jzazbz2","_Jzazbz","_multiplyMatrices3","_multiplyMatrices4","jzczhz","jzazbz","_jzazbz","jzczhz2","deltaEJz","_jzczhz$from","_jzczhz$from2","Jz1","Cz1","Hz1","_jzczhz$from3","_jzczhz$from4","Jz2","Cz2","Hz2","ΔJ","c1$1","c2$1","c3$1","m1","m2","im1","im2","XYZtoLMS_M$1","LMStoIPT_M","IPTtoLMS_M","LMStoXYZ_M$1","ictcp","LMStoICtCp","ICtCp","ICtCptoLMS","deltaEITP","_ictcp$from","_ictcp$from2","I1","T1","P1","_ictcp$from3","_ictcp$from4","I2","T2","P2","XYZtoLMS_M","LMStoXYZ_M","LMStoLab_M","LabtoLMS_M","OKLab","LMSg","OKLab2","deltaEOK","_OKLab$from","_OKLab$from2","_OKLab$from3","_OKLab$from4","deltaEMethods","deltaE","_o2","_o2$method","lighten","amount","lightness","darken","variations","mix","_ref58","_ref59","_o3","outputSpace","premultiplied","range","steps","colorRange","isRange","_colorRange$rangeArgs","_options","maxDeltaE","deltaEMethod","_options$steps","steps2","_options$maxSteps","maxSteps","rangeOptions","_ref60","totalDelta","actualSteps","maxDelta","ΔΕ","_i16","prev","_color","options2","progression","rangeArgs","_ref61","θ1","θ2","_adjust","_adjust2","register","interpolation","HSL","_rgb","g2","h","hsl","_hsl","HSV","_hsl2","hsv","_hsv","hwb","_hsv2","hwb2","_hwb","gray","toXYZ_M$2","fromXYZ_M$2","A98Linear","a98rgb","toXYZ_M$1","fromXYZ_M$1","ProPhotoLinear","Et","Et2","prophoto","oklch","oklab","_oklab","oklch2","_oklch","Yw","ninv","m","minv","c1","c2","c3","rec2100Pq","b","c","scale","rec2100Hlg","CATs","adapt","defineCAT","_ref62","_multiplyMatrices5","_multiplyMatrices6","ρs","γs","βs","_multiplyMatrices7","_multiplyMatrices8","ρd","γd","βd","scale2","scaled_cone_M","adapt_M","toXYZ_M","fromXYZ_M","ACEScg","ε","ACES_min_nonzero","ACES_cc_max","acescc","spaces","_this2","_len3","_key3","_i17","_loop7","_len4","_key4","_len5","_key5","_o$instance","returns","ret2","_len6","_key6","_i18","_Object$keys2","addSpaceAccessors","_space$aliases","propId","_this3","property","receiver","_ColorSpace$resolveCo3","_ColorSpace$resolveCo4","hexRegex","hslRegex","Color2","red","green","blue","clamp","redString","greenString","blueString","colorString","unit","radToDeg","turnToDeg","prototypeArrayFrom","_color2","rSRGB","gSRGB","bSRGB","_add","colorEntires","_colorEntires$sort","_colorEntires$sort2","Cmin","Cmid","Cmax","color_default","rad","turn","getOwnBackgroundColor","elmStyle","bgColor","opacity","get_own_background_color_default","isOpaque","firstPageLink","generateFirstPageLink","link","clipRegex2","clipPathRegex2","isClipped","isAreaVisible","_ref63","isVisible","_window$Node2","cacheName","_ref64","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","ariaHiddenValue","parent2","visible3","scrollableWithZeroHeight","scrollableWithZeroWidth","posAbsoluteOverflowHiddenAndSmall","reduceToElementsBelowFloating","elements","targetNode","floatingPositions","finalElements","targetFound","currentNode","parentScrollAncestor","getScrollAncestor","nextScrollAncestor","contains2","boundingRect","shadowElementsFromPoint","nodeX","nodeY","shadowStack","urlPropsFromAttribute","attribute","parser2","parserPathname","_getPathnameOrFilenam","getPathnameOrFilename","filename","getPort","getSearchPairs","getHashRoute","excludePorts","searchStr","pairs","pair","_pair$split","_pair$split2","_key7","_pair$split2$","hashRegex","hasMatch","_hasMatch","matchedStr","visuallyOverlaps","parentRect","parentTop","parentLeft","parentScrollArea","nodeIndex2","VirtualNode","_abstract_virtual_nod","shadowId","_this4","_this$actualNode","_id","attrs","tokenList","idsKey","getNodesMatchingExpression","selectorMap","_i19","isGlobalSelector","nodeSet","_matchingNodes$nodes","matchingNodes","findMatchingNodes","matchedNodes","isComplexSelector","_selectorMap$idsKey$e","_selectorMap$exp$tag","cachedNodes","getSharedValues","_selectorMap$Class","_cachedNodes","_i20","_selectorMap","_cachedNodes2","cacheSelector","cacheNodeSelectors","hasShadowRoot","tree","flattenTree","getSlotChildren","createNode","realArray","reduceShadowDOM","replacements","getBaseLang","lang","failureSummary","nodeData","failingChecks","failure_summary_default","incompleteFallbackMessage","resultKeys","processAggregate","serialElm","trimElementSpec","normalizeRelatedNodes","resultKey","checkRes","relatedNode","_elmSpec$source","_elmSpec$element","_elmSpec$selector","_elmSpec$ancestry","_elmSpec$xpath","dataRegex","substitute","regex","replace","processMessage","str2","_str","getCheckMessage","checkId","getCheckOption","ruleID","ruleCheckOption","checkOption","enabled","_win$location","getTestEnvironment","navigator2","innerHeight","innerWidth","_ref65","getOrientation","_ref66","screen","createFrameContext","_ref67","focusable","page","frameFocusable","getBoundingSize","_int","normalizeContext","contextSpec","isContextObject","assert2","objectHasOwn","isContextProp","include","normalizeContextList","exclude","isContextSpec","selectorList","normalizedList","isArrayLike","_i21","normalizedSelector","normalizeContextSelector","isLabelledFramesSelector","assertLabelledFrameSelector","isLabelledShadowDomSelector","normalizeFrameSelectors","frameSelectors","normalizedSelectors","_iterator11","_step11","assertLabelledShadowDomSelector","isShadowSelector","contextList","fromFrameSelector","fromShadowDomSelector","parseSelectorArray","_i22","pushUniqueFrameSelector","nodeList","selectorArray","frameSelector","frameContext","Context","flatTree","_spec","_spec2","_spec3","_spec4","_this5","getRootNode2","pushUniqueFrame","isPageContext","validateContext","_ref68","_ref69","selectors","_i23","_Context","_ref70","ruleId","_ref71","getScroll","overflowX","overflowY","scrollableX","isScrollable","scrollableY","overflowProp","getElmScrollRecursive","scrolls","getScrollState","windowScroll","getStyleSheetFactory","dynamicDoc","_options$isCrossOrigi","isCrossOrigin","_options$isLink","isLink","styleSheet","injectStyle","head","isHidden","hidden","isHtmlElement","_node$props$nodeName","_node$props","_ref72","_ref72$include","_ref72$exclude","filterInclude","filterExcluded","deepestInclude","getDeepest","deepestExclude","collection","deepest","_iterator12","_step12","ancestryA","ancestryB","selectorA","ancestorIndex","selectorB","selectorIndex","nodeSorter","parseSameOriginStylesheet","sheet","importedUrls","rules","cssImportRules","cssImportUrlsNotAlreadyImported","importUrl","cssRuleIndex","newPriority","isCrossOriginRequest","nonImportCSSRules","parseStylesheet","isSameOrigin","isSameOriginStylesheet","parseCrossOriginStylesheet","request","event","performanceTimer","now","originalTime","lastRecordedTime","markName","measureName","startMark","endMark","logMeasure","req2","axeStart","measures","measure","req","usePointer","cssProp","cssDisableVal","previousPointerEvents","uniqueArray","arr1","elem","createLocalVariables","vNodes","anyLevel","thisLevel","parentShadowId","recycledLocalVariable","matchExpressions","recycledLocalVariables","_currentLevel$anyLeve","_currentLevel$thisLev","childOnly","childAny","combinedLength","added","_i24","_currentLevel$anyLeve2","_currentLevel$anyLeve3","_currentLevel$anyLeve4","querySelectorAllFilter","preloadCssom","_ref73","_ref73$treeRoot","treeRoot","rootNodes","getAllRootNodesInTree","convertDataToStylesheet","getCssomForAllRootNodes","assets","flattenAssets","ids","_ref74","rootNode","sheets","getStylesheetsOfRootNode","rootIndex","parseOptions","sheetIndex","getStylesheetsFromDocumentFragment","getStylesheetsFromDocument","filterStylesheetsWithSameHref","filerStyleAndLinkAttributesInDocumentFragment","stylesheet","filterMediaIsPrint","linkHref","linkRel","isStyle","media","hrefs","preloadMedia","_ref75","_ref75$treeRoot","mediaVirtualNodes","_ref76","sourceWithSrc","_ref77","isMediaElementReady","onMediaReady","preloadFunctionsMap","_getPreloadConfig2","preloadTimeout","asset","preloadAssets","isValidPreloadObject","preloadObj","_constants_default$pr","areRequestedAssetsValid","checksData","rulesData","shouldBeTrue","extender","shouldBeFalse","getIncompleteReason","checkData","messages","getDefaultMsg","sourceData","querySelectorAll","matchTags","runOnly","matching","defaultExclude","ruleShouldRun","ruleOptions","filterAttrs","attributes2","outerHTML","setNodeAttributes","attributeMatches","outerIncludes","getOuterIncludes","isInContext","getContextFilter","_i25","mergeArrayUniques","includes","_i26","setScroll","setScrollState","scrollState","_ref79","selectorArr","selectRecursive","selectorStr","selectAllRecursive","_ref80","_ref81","restSelector","elms","_iterator13","_step13","validInputTypes","langs","isValidLang","_i27","langArray","codes","_char3","newLang","SerialVirtualNode","_abstract_virtual_nod2","serialNode","_this6","normaliseProps","normaliseAttrs","_this$_attrs$attrName","nodeNamesToTypes","nodeTypeToName","nodeNames","_serialNode$nodeName","_ref82","_serialNode$nodeType","_ref83","_ref83$attributes","attrMap","mappedName","serial_virtual_node_default","cleanup","cleanupErrors","flattenedTree","cleanup_default","reporters","defaultReporter","hasReporter","reporterName","getReporter","reporter","addReporter","isDefault","configure","audit","specVersion","_specVersion$split","_specVersion$split2","canary","_version$split$map","_version$split$map2","major","minor","patch","_axe$version$split","_axe$version$split2","axeVersion","axeCanary","_axeVersion$split$map","_axeVersion$split$map2","axeMajor","axeMinor","axePatch","modifiedRules","configure_default","frameMessenger2","frameHandler","getRules","tags","matchingRules","ruleData","matchingRule","rd","get_rules_default","hiddenContentEvaluate","allowlist","parentStyle","hidden_content_evaluate_default","table_exports","get_all_cells_default","get_headers_default","is_data_cell_default","is_data_table_default","is_header_default","traverse_default","getAllCells","tableElm","cellIndex","traverseForHeaders","headerType","startCell","colspan","rowspan","rowStart","colStart","rowEnd","colEnd","headers","tableCell","getHeaders","header","rowHeaders","colHeaders","isDataCell","isDataTable","childIndex","childLength","hasBorder","sampleRow","bgImage","isHeader","_id2","traverseTable","traverse","startPos","thHasDataCellsEvaluate","reffedHeaders","headers2","hasCell","th_has_data_cells_evaluate_default","tdHeadersAttrEvaluate","reviewCells","badCells","isSelf","notOfTable","headersAttr","aria_exports","allowed_attr_default","get_accessible_refs_default","get_element_unallowed_roles_default","get_roles_by_type_default","get_roles_with_name_from_contents_default","implicit_nodes_default","is_accessible_ref_default","is_aria_role_allowed_on_element_default","_isComboboxPopup","label_default2","lookup_table_default","required_attr_default","required_context_default","required_owned_default","validate_attr_default","validate_attr_value_default","allowedAttr","idRefsRegex","cacheIdRefs","idRefs","refAttrs","_id3","_i28","_iterator14","_step14","token","_i29","getAccessibleRefs","_idRefs$get","idRefsByRoot","isAriaRoleAllowedOnElement","dpubRoles2","landmarkRoles","getRoleSegments","roles","nodeRoles","getElementUnallowedRoles","allowImplicit","_nodeLookup21","roleSegments","roleIsAllowed","getAriaRolesByType","roleName","get_aria_roles_by_type_default","getRolesByType","roleType","getAriaRolesSupportingNameFromContent","get_aria_roles_supporting_name_from_content_default","getRolesWithNameFromContents","isNull","isNotNull","lookupTable","_ref84","_ref85","_ref86","_ref87","_ref88","_ref89","hasImplicitListitemRole","_ref90","_ref91","withinOptionList","_ref92","_ref93","implicitNodes","implicit","isAccessibleRef","_popupRoles","_ref94","popupRoles","vParent","nearestParentWithRole","isCombobox","ownedCombobox","label2","requiredAttr","requiredContext","requiredOwned","validateAttrValue","attrInfo","minValue","validateAttr","attrDefinition","tdHasHeaderEvaluate","hasHeaders","td_has_header_evaluate_default","scopeValueEvaluate","scope_value_evaluate_default","same_caption_summary_evaluate_default","sameCaptionSummaryEvaluate","summary","captionNode","isCaptionNode","caption","html5ScopeEvaluate","html5_scope_evaluate_default","captionFakedEvaluate","firstRow","curr","caption_faked_evaluate_default","svgNonEmptyTitleEvaluate","titleNode","_ref95","titleText2","svg_non_empty_title_evaluate_default","standards_exports","presentationalRoleEvaluate","messageKey","nonEmptyIfPresentEvaluate","non_empty_if_present_evaluate_default","isOnScreenEvaluate","is_on_screen_evaluate_default","inlineStyleProperty","cssProperty","absoluteValues","maxValue","_options$normalValue","normalValue","noImportant","multiLineOnly","declaredPropValue","getNumberValue","_ref96","computedStyle","cssPropValue","parsedValue","hasAltEvaluate","has_alt_evaluate_default","existsEvaluate","exists_evaluate_default","docHasTitleEvaluate","title","doc_has_title_evaluate_default","avoidInlineSpacingEvaluate","overriddenProperties","avoid_inline_spacing_evaluate_default","ariaLabelledbyEvaluate","aria_labelledby_evaluate_default","ariaLabelEvaluate","aria_label_evaluate_default","duplicateIdEvaluate","foundNode","duplicate_id_evaluate_default","duplicateIdAfter","uniqueIds","duplicate_id_after_default","uniqueFrameTitleEvaluate","unique_frame_title_evaluate_default","uniqueFrameTitleAfter","titles","unique_frame_title_after_default","skipLinkEvaluate","skip_link_evaluate_default","implicitAriaLiveRoles","regionEvaluate","regionlessNodes","getRegionlessNodes","findRegionlessElms","isRegion","isShallowlyHidden","_ref97","ariaLive","landmarkRoles2","regionAfter","iframeResults","frameAncestry","_iterator15","_step15","iframeResult","region_after_default","normalizeFontWeight","weight","getTextContainer","nextNode","outerText","innerText","_i30","getStyleValues","isHeaderStyle","styleA","styleB","margins","pAsHeadingEvaluate","currentIndex","nextSibling","prevSibling","currStyle","nextStyle","prevStyle","optionsPassLength","optionsFailLength","headingLength","paragraphLength","blockquote","p_as_heading_evaluate_default","separatorRegex","validRedirectNumRegex","metaRefreshEvaluate","_ref98","minDelay","maxDelay","_content$split","_content$split2","redirectStr","redirectDelay","internalLinkPresentEvaluate","links","vLink","internal_link_present_evaluate_default","commons_exports","color_exports","forms_exports","center_point_of_rect_default","element_is_distinct_default","filtered_rect_stack_default","_flattenColors","_flattenShadowColors","_getBackgroundColor2","_getBackgroundStack","get_contrast_default","_getForegroundColor","get_rect_stack_default","_getStackingContext","_getStrokeColorsFromShadows","_getTextShadowColors","has_valid_contrast_ratio_default","_parseTextShadows","_stackingContextToColor","centerPointOfRect","_getFonts","elementIsDistinct","ancestorNode","nodeStyle","edge","borderClr","hasStyle","tDec","getRectStack2","boundingStack","filteredArr","filteredRectStack","rectStack","isSame","rectList","elementIndex","nonSeparableBlendModes","blendFunctions","Cb","Cs","D","sourceColor","backdrop","blendMode","blendingResult","blend","simpleAlphaCompositing","αo","clamp2","Cr","Cg","αs","αb","fgColor","sortPageBackground","shallowArraysEqual","elmStack","bodyIndex","bgNodes","htmlBgColor","htmlIndex","SHADOW_STROKE_ALPHA","VISIBLE_SHADOW_MIN_PX","OPAQUE_STROKE_OFFSET_MIN_PX","edges","parsedShadows","_ref99","_ref99$ignoreEdgeCoun","ignoreEdgeCount","shadowMap","getShadowColorsMap","shadowsByColor","_ref100","_ref101","colorStr","sides","edgeCount","side","_ref102","shadowGroupToColor","shadow","colorMap","_iterator16","_step16","_colorMap$colorStr","_step16$value","pixels","borders","_pixels","offsetX","offsetY","_ref103","strokeColor","density","isSolid","textShadow","shadows","colorMatch","pixelMatch","pixelUnit","_ref104","_ref105","minRatio","maxRatio","shadowColors","fontSizeStr","thinShadows","_iterator17","_step17","_shadow$pixels","_shadow$pixels$","blurRadius","_strokeColors","_color3","textShadowColor","strokeColors","_ref106","shadowColor","blurRadiusToAlpha","relativeBlur","_elmStack","stackingContext","contextMap","bgElm","_stackingOrder2","bgVNode","getOwnBackgroundColor2","_ref107","_ref108","_stackingOrder","ancestorVNode2","context2","addToStackingContext","ancestorVNode","_context$descendants","reduceToColor","createStackingContext2","backdropContext","sourceContext","ancestorContext","_vNode$getComputedSty","normalizeBlendMode","blendmode","_contextMap$get","bgElms","shadowOutlineEmMax","bgColorCache","_getBackgroundColor","_getTextShadowColors2","_bgColors","textRects","bgColors","_i31","bgElmStyle","fullyEncompasses","pageBgs","getPageBackgroundColors","blendedColor","normalizeBlendMode2","stackContainsBody","pageColors","htmlStyle","bodyStyle","bodyBgColor","bodyBgColorApplies","getContrast","bL","fL","_bgColor","colorStack","getStrokeColor","getTextColor","fgColors","_i32","_colorStack","colorFn","_color4","stackingContexts","findNodeInContexts","calculateBlendedForegroundColor","_ref109","_ref109$textStrokeEmM","textStrokeEmMin","strokeWidth","relativeStrokeWidth","_context$ancestor","contexts","_iterator18","_step18","_context$vNode","found","hasValidContrastRatio","bg","fg","isBold","isSmallFont","expectedContrastRatio","is_disabled_default","disabledNodeNames","isDisabled","disabledState","ariaDisabled","identicalLinksSamePurposeEvaluate","accText","afterData","identical_links_same_purpose_evaluate_default","isIdenticalObject","aProps","bProps","aValue","bValue","identicalLinksSamePurposeAfter","incompleteResults","_ref110","uniqueResults","nameMap","_loop8","_currentResult$relate","currentResult","_currentResult$data","urlProps","sameNameResults","_ref111","resultNum","isSameUrl","_ref112","identical_links_same_purpose_after_default","getLevel","headingRole","ariaHeadingLevel","ariaLevel","_ref113","_ref114","headingLevel","headingOrderEvaluate","headingOrder","heading_order_evaluate_default","headingOrderAfter","getHeadingOrder","getHeadingOrderOutcome","_headingOrder$index$l","_headingOrder$index","_headingOrder$level","_headingOrder","findHeadingOrderIndex","currLevel","prevLevel","_ref115","_ref116","mergeHeadingOrder","_ref117","level","mergedHeadingOrder","_result$data","frameHeadingOrder","shortenArray","normalizedHeadingOrder","heading","addFrameToHeadingAncestry","getFrameIndex","ancestry","spliceLength","targetSizeEvaluate","hasMinimumSize","nearbyElms","overflowingContent","filterOverflowingContent","_filterByElmsOverlap","filterByElmsOverlap","fullyObscuringElms","partialObscuringElms","mapActualNodes","negativeOutcome","toDecimalSize","obscuredWidgets","filterFocusableWidgets","largestInnerRect","getLargestUnobscuredArea","allTabbable","nearbyElm","isEnclosedRect2","isDescendantNotInTabOrder2","_iterator19","_step19","getCssPointerEvents","obscuredNodes","_ref118","unobscuredRects","getLargestRect2","_ref119","roundingMargin2","targetOffsetEvaluate","minOffset","closeNeighbors","closestOffset","_iterator20","_step20","roundToSingleDecimal","_ref120","metaViewportScaleEvaluate","_ref121","_ref121$scaleMinimum","scaleMinimum","_ref121$lowerBound","lowerBound","contentValue","_contentValue$split","_contentValue$split2","curatedKey","curatedValue","userScalableAsFloat","meta_viewport_scale_evaluate_default","cssOrientationLockEvaluate","_ref122","_ref122$cssom","cssom","_ref123","_ref123$degreeThresho","degreeThreshold","isLocked","relatedElements","rulesGroupByDocumentFragment","groupCssomByDocument","_loop9","_Object$keys3","_i33","_rulesGroupByDocument","orientationRules","isMediaRuleWithOrientation","_ref124","cssRules","cssRule","locked","getIsOrientationLocked","cssObjectModel","_ref125","_ref126","cssText","_ref127","selectorText","transformStyle","transformDegrees","getTransformDegrees","rotateDegrees","getRotationInDegrees","degrees","_matches2","transformFn","transformFnValue","transformFunction","getAngleInDegrees","_transformFnValue$spl","_transformFnValue$spl2","z","angleWithUnit","getAngleInDegreesFromMatrixTransform","_ref128","_ref129","convertRadToDeg","convertGradToDeg","convertTurnToDeg","_values","b3","radians","sinB","cosB","rotateZRadians","grad","css_orientation_lock_evaluate_default","noAutoplayAudioEvaluate","_options$allowedDurat","allowedDuration","playableDuration","getPlayableDuration","playbackRange","getPlaybackRange","_match","ranges","convertHourMinSecToSeconds","hhMmSs","secs","mins","no_autoplay_audio_evaluate_default","frameTestedEvaluate","frame_tested_evaluate_default","joinStr","frameTestedAfter","iframes","ancestry2","frame_tested_after_default","captionEvaluate","tracks","hasCaptions","caption_evaluate_default","structuredDlitemsEvaluate","hasDt","hasDd","structured_dlitems_evaluate_default","onlyListitemsEvaluate","hasNonEmptyTextNode","atLeastOneListitem","isEmpty2","badNodes","badRoleNodes","badRoles","isLi","isListItemRole","only_listitems_evaluate_default","onlyDlitemsEvaluate","ALLOWED_ROLES","childNode","tagName","listitemEvaluate","parentNodeName","invalidChildrenEvaluate","issues","vChildren","mapWithNested","_vChild$actualNode","_vChildren$shift","vChild","nested","isDivGroup","vGrandChildren","issue","getInvalidSelector","_ref130","_ref130$validRoles","validRoles","_ref130$validNodeName","validNodeNames","_vChild$props","dlitemEvaluate","parentTagName","dlitem_evaluate_default","xmlLangMismatchEvaluate","primaryLangValue","primaryXmlLangValue","xml_lang_mismatch_evaluate_default","validLangEvaluate","invalid","langAttr","langVal","baselangVal","invalidLang","valid_lang_evaluate_default","hasValue","hasLangEvaluate","hasLang","has_lang_evaluate_default","landmarkIsUniqueEvaluate","accessibleText2","landmark_is_unique_evaluate_default","landmarkIsUniqueAfter","uniqueLandmarks","findMatch","someResult","matchedResult","landmark_is_unique_after_default","titleOnlyEvaluate","labelText2","ariaDescribedBy","title_only_evaluate_default","multipleLabelEvaluate","ATVisibleLabels","labelledby","multiple_label_evaluate_default","isStringContained","compare","curatedCompareWith","curateString","curatedCompare","labelContentNameMismatchEvaluate","_options$occurrenceTh","visibleText","label_content_name_mismatch_evaluate_default","implicitEvaluate","implicit_evaluate_default","hiddenExplicitLabelEvaluate","_id4","isNameEmpty","hidden_explicit_label_evaluate_default","helpSameAsLabelEvaluate","help_same_as_label_evaluate_default","explicitEvaluate","_this7","explicitLabel","explicit_evaluate_default","duplicateImgLabelEvaluate","duplicate_img_label_evaluate_default","altSpaceValueEvaluate","alt","isOnlySpace","alt_space_value_evaluate_default","tabindexEvaluate","tabindex_evaluate_default","noFocusableContentEvaluate","focusableDescendants2","getFocusableDescendants","notHiddenElements","usesUnreliableHidingStrategy","landmarkIsTopLevelEvaluate","landmarks","nodeRole","landmark_is_top_level_evaluate_default","frameFocusableContentEvaluate","focusableDescendants","focusableNotTabbableEvaluate","elementsThatCanBeDisabled","pointerEvents","focusable_not_tabbable_evaluate_default","focusableNoNameEvaluate","inFocusOrder","focusable_no_name_evaluate_default","focusableModalOpenEvaluate","_ref131","focusable_modal_open_evaluate_default","focusableElementEvaluate","isContenteditable","contenteditable","focusable_element_evaluate_default","focusableDisabledEvaluate","focusable_disabled_evaluate_default","focusableContentEvaluate","tabbableContentElements","focusable_content_evaluate_default","accesskeysEvaluate","accesskeys_evaluate_default","accesskeysAfter","accesskeys_after_default","pageNoDuplicateEvaluate","page_no_duplicate_evaluate_default","pageNoDuplicateAfter","page_no_duplicate_after_default","matchesDefinitionEvaluate","matches_definition_evaluate_default","hasTextContentEvaluate","hasDescendant","matchingElms","has_descendant_evaluate_default","pageHasElmAfter","elmUsedAnywhere","has_descendant_after_default","attrNonSpaceContentEvaluate","attributeIsEmpty","attr_non_space_content_evaluate_default","autocompleteValidEvaluate","autocomplete2","autocomplete_valid_evaluate_default","autocompleteAppropriateEvaluate","allowedTypesMap","autocompleteAttr","term","allowedTypes","autocomplete_appropriate_evaluate_default","blockLike2","linkInTextBlockStyleEvaluate","isBlock2","hasPseudoContent","_i34","_arr3","getContrast2","c1lum","c2lum","blockLike3","isBlock3","linkInTextBlockEvaluate","requiredContrastRatio","allowSameColor","nodeColor","parentColor","nodeBackgroundColor","parentBackgroundColor","textContrast","backgroundContrast","_incomplete_data_defa","link_in_text_block_evaluate_default","colorContrastEvaluate","ignoreUnicode","ignoreLength","ignorePseudo","boldValue","boldTextPt","largeTextPt","contrastRatio","pseudoSizeThreshold","textIsEmojis","fontWeight","bold","ptSize","_ref132","expected","minThreshold","maxThreshold","pseudoElm","findPseudoElement","contrastContributor","fgBgContrast","bgShContrast","fgShContrast","isValid","truncatedResult","missing","equalRatio","shortTextContent","_ref133","_ref133$pseudoSizeThr","_ref133$ignorePseudo","minimumSize","beforeSize","getPseudoElementArea","afterSize","matchPseudoStyle","pseudoWidth","parseUnit","pseudoHeight","hasUnicodeChars","hasNonUnicodeChars","unitRegex","_ref134","_ref135","_ref135$","_ref135$2","VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS","VALID_ROLES_FOR_SCROLLABLE_REGIONS","validScrollableTagName","validScrollableRole","validScrollableSemanticsEvaluate","valid_scrollable_semantics_evaluate_default","unsupportedroleEvaluate","isUnsupported","unsupportedrole_evaluate_default","noImplicitExplicitLabelEvaluate","no_implicit_explicit_label_evaluate_default","isElementFocusableEvaluate","is_element_focusable_evaluate_default","invalidroleEvaluate","allRoles","allInvalid","invalidrole_evaluate_default","hasWidgetRoleEvaluate","has_widget_role_evaluate_default","hasGlobalAriaAttributeEvaluate","globalAttrs","has_global_aria_attribute_evaluate_default","nonePresentationOnElementWithNoImplicitRole","explicitRoles","hasImplicitRole","fallbackroleEvaluate","fallbackrole_evaluate_default","deprecatedroleEvaluate","brailleRoleDescriptionEquivalentEvaluate","_virtualNode$attr","brailleRoleDesc","roleDesc","brailleLabelEquivalentEvaluate","_virtualNode$attr2","brailleLabel","ariaValidAttrValueEvaluate","needsReview","aria","skipAttrs","preChecks","hasPopup","isStringType","_standards_default$ar","ariaValidAttrEvaluate","aria_valid_attr_evaluate_default","ariaUnsupportedAttrEvaluate","unsupportedAttrs","unsupported","aria_unsupported_attr_evaluate_default","ariaRoledescriptionEvaluate","supportedRoles","aria_roledescription_evaluate_default","getMissingContext","ownGroupRoles","reqContext","includeElement","allowsGroup","getAriaOwners","owners","_id5","ariaRequiredParentEvaluate","missingParents","_i35","aria_required_parent_evaluate_default","ariaRequiredChildrenEvaluate","reviewEmpty","required","ownedRoles","getOwnedRoles","unallowed","_ref136","_ref137","_ref138","getUnallowedSelector","hasRequiredChildren","isContent","ownedVirtual","_loop10","globalAriaAttr","getGlobalAriaAttr","hasGlobalAriaOrFocusable","requiredRole","_ref139","_vNode$props","_ref140","ariaRequiredAttrEvaluate","requiredAttrs","isStaticSeparator","isClosedCombobox","missingAttrs","requiredAttr2","hasImplicitAttr","_elmSpec$implicitAttr","ariaProhibitedAttrEvaluate","elementsAllowedAriaLabel","prohibitedList","listProhibitedAttrs","prohibited","textContent","roleSpec","ariaLevelEvaluate","aria_level_evaluate_default","ariaHiddenBodyEvaluate","aria_hidden_body_evaluate_default","ariaErrormessageEvaluate","errorMessageAttr","hasAttr","invaid","hasInvallid","validateAttrValue2","idref","ariaConditionalRowAttr","_invalidTableRowAttrs","_invalidTableRowAttrs2","_ref141","invalidTableRowAttrs","invalidAttrs","invalidAttr","owner","getRowOwner","ownerRole","rowOwnerQuery","ariaConditionalCheckboxAttr","_virtualNode$props","ariaChecked","normalizeAriaChecked","checkState","getCheckState","ariaCheckedVal","conditionalRoleMap","ariaConditionalAttrEvaluate","ariaBusyEvaluate","ariaAllowedRoleEvaluate","_options$allowImplici","_options$ignoredTags","ignoredTags","unallowedRoles","aria_allowed_role_evaluate_default","ariaAllowedAttrEvaluate","allowed","_iterator21","_step21","abstractroleEvaluate","abstractRoles","abstractrole_evaluate_default","xmlLangMismatchMatches","xml_lang_mismatch_matches_default","windowIsTopMatches","window_is_top_matches_default","svgNamespaceMatches","svg_namespace_matches_default","widgetNotInline","matchesFns","isWidgetType","isNotAreaElement","hasWidgetAncestorInTabOrder","hasWidgetAncestorInTabOrderMemoized","tableOrGridRoleMatches","skipLinkMatches","skip_link_matches_default","scrollableRegionFocusableMatches","isNoneEmptyElement","presentationRoleConflictMatches","presentation_role_conflict_matches_default","pAsHeadingMatches","nodeText","isSentence","siblingsAfter","p_as_heading_matches_default","noExplicitNameRequired","_ref142","accessibleNameRequired","no_explicit_name_required_matches_default","object_is_loaded_matches_default","objectHasLoaded","_node$ownerDocument","notHtmlMatches","not_html_matches_default","noRoleMatches","no_role_matches_default","noNegativeTabindexMatches","no_negative_tabindex_matches_default","noNamingMethodMatches","_get_element_spec_def3","namingMethods","no_naming_method_matches_default","noEmptyRoleMatches","no_empty_role_matches_default","noAutoplayAudioMatches","no_autoplay_audio_matches_default","nestedInteractiveMatches","nested_interactive_matches_default","linkInTextBlockMatches","link_in_text_block_matches_default","dataTableMatches","layout_table_matches_default","excludedParentsForHeaderFooterLandmarks","landmarkUniqueMatches","isLandmarkVirtual","isHeaderFooterLandmark","headerFooterElement","landmarkHasBodyContextMatches","nativeScopeFilter","landmark_has_body_context_matches_default","labelMatches","label_matches_default","labelContentNameMismatchMatches","widgetRoles","isWidgetType2","rolesWithNameFromContents","label_content_name_mismatch_matches_default","isVisibleOnScreenMatches","hasVisibleTextMatches","isInitiatorMatches","is_initiator_matches_default","insertedIntoFocusOrderMatches","inserted_into_focus_order_matches_default","identicalLinksSamePurposeMatches","hasAccName","identical_links_same_purpose_matches_default","htmlNamespaceMatches","html_namespace_matches_default","headingMatches","hasImplicitChromiumRoleMatches","has_implicit_chromium_role_matches_default","frameTitleHasTextMatches","frame_title_has_text_matches_default","frameFocusableContentMatches","_context$size","_context$size2","frame_focusable_content_matches_default","duplicateIdMiscMatches","idSelector","idMatchingElms","duplicate_id_misc_matches_default","duplicateIdAriaMatches","duplicate_id_aria_matches_default","duplicateIdActiveMatches","duplicate_id_active_matches_default","dataTableMatches2","data_table_matches_default","dataTableLargeMatches","tableArray","data_table_large_matches_default","colorContrastMatches","_virtualNode$props2","inputType","nonTextInput","formElements","textIndent","nodeParentLabel","labelNode","labelVirtual3","explicitControl","explicitControlVirtual","implicitControl","ariaLabelledbyControls","virtualControls","control","hasRealTextChildren","childNodes","clippingAncestors","overlaps","withinOverflow","color_contrast_matches_default","removeUnicodeOptions","bypassMatches","bypass_matches_default","autocompleteMatches","excludedInputTypes","autocomplete_matches_default","ariaRequiredParentMatches","aria_required_parent_matches_default","ariaRequiredChildrenMatches","aria_required_children_matches_default","shouldMatchElement","ariaHiddenFocusMatches","aria_hidden_focus_matches_default","ariaHasAttrMatches","aria_has_attr_matches_default","ariaAllowedRoleMatches","aria_allowed_role_matches_default","ariaAllowedAttrMatches","_i36","aria_allowed_attr_matches_default","metadataFunctionMap","metadata_function_map_default","CheckResult","check_result_default","createExecutionContext","normalizeOptions","Check","checkOptions","helper","_options2","_options2$enabled","_this8","check_default","RuleResult","rule_result_default","Rule","parentAudit","markStart","markEnd","markHiddenStart","markHiddenEnd","checkQueue","_this9","resolveNode","rejectNode","getResult","_this10","hasResults","_result","_this11","markMatchesStart","markMatchesEnd","findAfterChecks","findCheckResults","checkID","checkResults","filterChecks","sanitizeNodes","checkTypes2","_this12","afterChecks","beforeResults","afterResults","changeAnyAllResults","changeNoneResult","import_dot2","dotRegex","Audit","locale","checkIDs","_i37","_id6","_check$messages","pass","fail","incomplete","ruleIDs","_i38","_id7","help","failureSummaries","_i39","failureSummary2","failureMessage","defaultLocale","_i40","_id8","mergeCheckLocale","_i41","_id9","mergeRuleLocale","_i42","_key8","mergeFailureMessage","mergeFallbackMessage","defaultOrigin","getDefaultOrigin","_iterator22","_step22","getDefaultConfiguration","unpackToObject","allRulesToRun","getRulesToRun","runNowRules","runLaterRules","nowRulesQueue","getDefferedRule","preloaderQueue","queueForNowRulesAndPreloader","nowRulesAndPreloaderResults","assetsFromQueue","nowRulesResults","laterRulesQueue","deferredRule","laterRuleResults","ruleIds","hasTag","hasRule","only","unmatchedTags","branding","previous","_this13","metaData","getHelpUrl","audit_default","splitRules","errResult","_ref143","brand","setupGlobals","hasWindow","hasDoc","resetGlobals","teardown","teardown_default","runRules","load","runCommand","cleanupFn","respond","Plugin","_done","impl","registerPlugin","plugin","plugins_default","reset","reset_default","runVirtualRule","normalizeRunParams","_ref144","_ref146","_options$reporter","_axe$_audit","_ref145","typeErr","noop2","run4","_len7","_key9","_normalizeRunParams","_normalizeRunParams$c","_getPromiseHandlers","getPromiseHandlers","handleError","handleRunRules","teardown2","wrappedReject","createReport","errorRunRules","_resolve","_reject","runPartial","_len8","_key10","_normalizeRunParams2","contextObj","_ref147","environmentData","finishRun","partialResults","_ref149","_options$reporter2","_axe$_audit2","_ref148","setFrameSpec","createReport2","frameStack","_iterator23","_step23","partialResult","frameSpecs","getMergedFrameSpecs","_ref150","childFrameSpecs","childFrameSpec","setup","setup_default","naReporter","_options3","toolOptions","na_default","noPassesReporter","_options4","_processAggregate","violations","no_passes_default","rawReporter","transformedResults","transformedResult","types","_i43","_types","raw_default","rawEnvReporter","_options5","raw","raw_env_default","v1Reporter","_options6","addFailureSummaries","v1_default","v2Reporter","_options7","v2_default","_thisWillBeDeletedDoNotUse","exposed_for_testing_default","i1","l1","this"],"mappings":"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CACP,EACD,kBAAmB,CACjB,YAAa,qEACb,KAAM,6CACP,EACD,gBAAiB,CACf,YAAa,yCACb,KAAM,6CACP,EACD,qBAAsB,CACpB,YAAa,+EACb,KAAM,+CACP,EACD,uBAAwB,CACtB,YAAa,gGACb,KAAM,gEACP,EACD,MAAO,CACL,YAAa,wCACb,KAAM,sDACP,EACD,cAAe,CACb,YAAa,wCACb,KAAM,oCACP,EACD,OAAQ,CACN,YAAa,gHACb,KAAM,gDACP,EACD,0BAA2B,CACzB,YAAa,oHACb,KAAM,6DACP,EACD,iBAAkB,CAChB,YAAa,kHACb,KAAM,4DACP,EACD,uBAAwB,CACtB,YAAa,6HACb,KAAM,qDACP,EACD,kBAAmB,CACjB,YAAa,iDACb,KAAM,wHACP,EACD,OAAQ,CACN,YAAa,yDACb,KAAM,oDACP,EACD,iBAAkB,CAChB,YAAa,kEACb,KAAM,0DACP,EACD,sBAAuB,CACrB,YAAa,gEACb,KAAM,uCACP,EACD,oBAAqB,CACnB,YAAa,wEACb,KAAM,4CACP,EACD,eAAgB,CACd,YAAa,6CACb,KAAM,mCACP,EACD,gBAAiB,CACf,YAAa,yCACb,KAAM,8BACP,EACD,qBAAsB,CACpB,YAAa,8CACb,KAAM,uCACP,EACD,wBAAyB,CACvB,YAAa,sFACb,KAAM,6DACP,EACD,6BAA8B,CAC5B,YAAa,2DACb,KAAM,kDACP,EACD,0BAA2B,CACzB,YAAa,uFACb,KAAM,yDACP,EACD,eAAgB,CACd,YAAa,oEACb,KAAM,uCACP,EACD,qBAAsB,CACpB,YAAa,yEACb,KAAM,2CACP,EACD,cAAe,CACb,YAAa,gEACb,KAAM,qCACP,EACD,gBAAiB,CACf,YAAa,wDACb,KAAM,4CACP,EACD,iBAAkB,CAChB,YAAa,sCACb,KAAM,+CACP,EACD,gBAAiB,CACf,YAAa,mDACb,KAAM,2CACP,EACD,kBAAmB,CACjB,YAAa,qEACb,KAAM,+DACP,EACD,yBAA0B,CACxB,YAAa,gHACb,KAAM,uEACP,EACD,+BAAgC,CAC9B,YAAa,0EACb,KAAM,sDACP,EACD,YAAa,CACX,YAAa,+EACb,KAAM,iCACP,EACD,sBAAuB,CACrB,YAAa,mDACb,KAAM,2DACP,EACD,oBAAqB,CACnB,YAAa,8CACb,KAAM,0CACP,EACD,kBAAmB,CACjB,YAAa,4DACb,KAAM,wCACP,EACD,8BAA+B,CAC7B,YAAa,qHACb,KAAM,wEACP,EACD,mBAAoB,CAClB,YAAa,iJACb,KAAM,2CACP,EACD,MAAO,CACL,YAAa,yCACb,KAAM,gCACP,EACD,+BAAgC,CAC9B,YAAa,8CACb,KAAM,6DACP,EACD,sCAAuC,CACrC,YAAa,8DACb,KAAM,mDACP,EACD,oCAAqC,CACnC,YAAa,mDACb,KAAM,kEACP,EACD,6BAA8B,CAC5B,YAAa,4CACb,KAAM,2DACP,EACD,+BAAgC,CAC9B,YAAa,uDACb,KAAM,wDACP,EACD,oCAAqC,CACnC,YAAa,4DACb,KAAM,6DACP,EACD,6BAA8B,CAC5B,YAAa,qDACb,KAAM,sDACP,EACD,oBAAqB,CACnB,YAAa,2CACb,KAAM,wCACP,EACD,kBAAmB,CACjB,KAAM,+BACN,YAAa,4FACd,EACD,qBAAsB,CACpB,YAAa,4FACb,KAAM,wDACP,EACD,YAAa,CACX,YAAa,sCACb,KAAM,kCACP,EACD,KAAM,CACJ,YAAa,8CACb,KAAM,gFACP,EACD,SAAU,CACR,YAAa,8CACb,KAAM,mDACP,EACD,QAAS,CACP,YAAa,0CACb,KAAM,wDACP,EACD,6BAA8B,CAC5B,YAAa,sEACb,KAAM,kCACP,EACD,eAAgB,CACd,YAAa,sEACb,KAAM,iDACP,EACD,sBAAuB,CACrB,YAAa,gEACb,KAAM,4DACP,EACD,gBAAiB,CACf,YAAa,2EACb,KAAM,0CACP,EACD,qBAAsB,CACpB,YAAa,wJACb,KAAM,yCACP,EACD,oBAAqB,CACnB,YAAa,0IACb,KAAM,yDACP,EACD,aAAc,CACZ,YAAa,gDACb,KAAM,4CACP,EACD,eAAgB,CACd,YAAa,wFACb,KAAM,kDACP,EACD,uBAAwB,CACtB,YAAa,mFACb,KAAM,yCACP,EACD,6BAA8B,CAC5B,YAAa,qHACb,KAAM,mEACP,EACD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","x_google_ignoreList":[0]} |